Release EDDI 3.3 - Bring your cockpit to life

The system Oodgolf CQ-G d10-3 return 0 bodies, and system.scoopable=false. But the game already know the star is a F.
Another app i'm using identify it as a scoopable system.
What is happening? What am i doing wrong?
 
The system Oodgolf CQ-G d10-3 return 0 bodies, and system.scoopable=false. But the game already know the star is a F.
Another app i'm using identify it as a scoopable system.
What is happening? What am i doing wrong?
Hmm, I just checked EDSM (where EDDI gets data from if you haven't scanned it) and there is only the main star.

I tried {SystemDetails("Oodgolf CQ-G d10-3").scoopable} and it says 'true'.
I tried {SystemDetails("Oodgolf CQ-G d10-3").totalbodies} and it says 'zero', but that's because I have not scanned it myself (you have to do a discovery scan to get the number of bodies). Using .bodies will not give a number, as that variable is an array of the bodies in the system. You would have to use .bodies[0].name just to get the name of the first body (the star).

What is the code you are using to get those results?
 
What is the code you are using to get those results?
Code:
{set DebugSystem to SystemDetails("Eifaif WQ-B b47-0")}
{if len(DebugSystem.systemname) > 0:
    The System {DebugSystem.systemname} is {if !DebugSystem.scoopable: not} scoopable.
    Num of bodies: {len(DebugSystem.bodies)}:
    {for aBody in DebugSystem.bodies:
        {if aBody.bodyType.invariantName = 'Star':
            {if aBody.mainstar:
                The main star
            |else:
                The star
            }
            {aBody.shortname}, class {aBody.stellarclass}
            {if aBody.scoopable: is scoopable}.
        |else:
            {aBody.bodyType.invariantName} {aBody.shortname}.
        }
    }
}

It now gives me 3 bodies, and being scoopable, but i entered in that system then, so perhaps it depends on this.... still, a system shouldn't have at least 1 body (the main star in the map)?

I'll report back if it will happens again (two times, today, but the first one i wasn't ready to dig in it, as i was still writing the Ship FSD script).
 
Code:
{set DebugSystem to SystemDetails("Eifaif WQ-B b47-0")}
{if len(DebugSystem.systemname) > 0:
    The System {DebugSystem.systemname} is {if !DebugSystem.scoopable: not} scoopable.
    Num of bodies: {len(DebugSystem.bodies)}:
    {for aBody in DebugSystem.bodies:
        {if aBody.bodyType.invariantName = 'Star':
            {if aBody.mainstar:
                The main star
            |else:
                The star
            }
            {aBody.shortname}, class {aBody.stellarclass}
            {if aBody.scoopable: is scoopable}.
        |else:
            {aBody.bodyType.invariantName} {aBody.shortname}.
        }
    }
}

It now gives me 3 bodies, and being scoopable, but i entered in that system then, so perhaps it depends on this.... still, a system shouldn't have at least 1 body (the main star in the map)?

I'll report back if it will happens again (two times, today, but the first one i wasn't ready to dig in it, as i was still writing the Ship FSD script).
Hmm, that is strange. Well, I just tried your script, and again with the first system you mentioned above too (Oodgolf CQ-G d10-3), and they both worked as expected. I also tested them out with my 'System Exploration Report' script, and that confirms I've not been to either of those systems, so EDDI must be getting the data from EDSM for me.
 
ok, when that will happen again i'll try to log everything i can, before and after going in the system.
If you all have any suggestion about how to "dump" all the relevant infos, i'm willing to follow :)
 
ok, when that will happen again i'll try to log everything i can, before and after going in the system.
If you all have any suggestion about how to "dump" all the relevant infos, i'm willing to follow :)
Systems are defined as scoopable by whether they contain a scoopable body. I suspect the answer here is that we do not create a body for the main star when you target the system (since we lack a name for the main star and since the body name acts as our primary identifier). I think I'll add a secondary identifier based on whether the body is a main star (which should allow us to add an un-named main star to the system).

The short term solution will need to be be to capture event.starclass from the Next jump event (using SetState()) and to react to that in your Ship FSD script.
 
Last edited:
These two lines:
Code:
{set DebugSystem to SystemDetails("Eifaif WQ-B b47-0")}
{dump(DebugSystem)}
makes EDDI hangs for about 20 seconds, and then it crashes silently (nothing written in the log or output file).

I understand that's a lot to dump, but perhaps it shouldn't crash :)
 
There's a way to add a newline in what Log() outputs?

I tried {Log("NewLine\n\rNewLine")} but it doesn't works.
I've just investigated this, as I like a challenge, and I had no idea if I could get it to work. 😊
It seems it's not too difficult after all. Try this code: {Log(cat("test", char("10"), "code"))}
The char("10") is ASCII code for a new line feed. By using it with cat() it gets converted to the line feed before being sent to the log, making it work:
Code:
2022-05-13T23:48:05 [Info] Log:function test
code
I first tried {Log("test{char('10')}code")}, but this only sends that line to the log, without converting the ASCII first.

I'm not sure how useful you may find this, but at least you can get it to work. 👍

Edit: I just realised you can do something similar for the speecresponder.out file. Adding a {char("10")} to your script will put the line feed into the output.
Code:
Some test
{char("10")}
code
Some test code becomes:
Code:
Some test 
 code
 
Last edited:
There's a way to add a newline in what Log() outputs?

I tried {Log("NewLine\n\rNewLine")} but it doesn't works.
I'm afraid that the dump() method doesn't appear to be capable of rendering complex object values.
Try reflection instead?

Example (with some filtering to clean up the outputs):
Code:
{set Reflect(obj) to:
    {for key, value in obj:
        {if find(key, "k__BackingField") = -1 && find(key, "_") != 0:
            {if type(value) = "map":
                {_ This is a key, value object that should probably be inspected separately }
                {_ Careful with looping - it is possible to crash the program if you loop too much and consume too many resources from your PC}
                {PrintValue(key, value, "object")}
            |else:
                {PrintValue(key, value, type(value))}
            }
        }
    }
}

{set PrintValue(key, value, valueType) to:
    {if value:
        {key}: {value} ({valueType})
        {char("10")}    
    }
}

{set DebugSystem to SystemDetails("Eifaif WQ-B b47-0")}
{Reflect(DebugSystem)}
{Reflect(DebugSystem.bodies)}
{Reflect(DebugSystem.bodies[0])}
 
Last edited:
How do i access the various properties of each element of body.solidcompositions?
I tried with
Code:
    {for DebugComposition in DebugSystem.solidcompositions:
        {DebugComposition.composition           }
        {DebugComposition.percent               }
        {DebugComposition.localizedComposition  }
        {DebugComposition.invariantComposition  }
    }
but it doesn't even loop once....
 
How do i access the various properties of each element of body.solidcompositions?
I tried with
Code:
    {for DebugComposition in DebugSystem.solidcompositions:
        {DebugComposition.composition           }
        {DebugComposition.percent               }
        {DebugComposition.localizedComposition  }
        {DebugComposition.invariantComposition  }
    }
but it doesn't even loop once....
Hmm, it may be your set up. What is your other code that sets up 'DebugSystem'?

I just tried this, and it (kind of) works:
Code:
{set reportBody to BodyDetails("Kokobii A 1", "Kokobii")}

{for comp in reportBody.solidcompositions:
    {comp.composition}
    {comp.localizedComposition}
    {comp.invariantComposition}
    {comp.percent},
}
This results in:
Rock Rock Rock 0, Metal Metal Metal 0, Ice Ice Ice 0,
So I'm not sure the percentages work, but at least the compositions part does. This means your code should work, and this is why I think it may be your setup that's the problem, or maybe the body you are trying to get compositions for, just doesn't have any? 🤷‍♂️ 😆
 
Hmm, it may be your set up. What is your other code that sets up 'DebugSystem'?

I just tried this, and it (kind of) works:
Code:
{set reportBody to BodyDetails("Kokobii A 1", "Kokobii")}

{for comp in reportBody.solidcompositions:
    {comp.composition}
    {comp.localizedComposition}
    {comp.invariantComposition}
    {comp.percent},
}
This results in:

So I'm not sure the percentages work, but at least the compositions part does. This means your code should work, and this is why I think it may be your setup that's the problem, or maybe the body you are trying to get compositions for, just doesn't have any? 🤷‍♂️ 😆
Hmm... from EDSM data, I'm currently getting Rock Rock Rock 67.21, Metal Metal Metal 32.79, Ice Ice Ice 0,. Re-running our journal parsing test returns green too. Perhaps this is a body that you recently scanned / updated for EDSM?
 
this is why I think it may be your setup that's the problem
Yes..... writing code at 1 AM after a day in the office (writing code) leads to some problem :D.


I'm not sure how useful you may find this, but at least you can get it to work
To answer to this also:

I'm writing a debigging script that write a ..... MASSIVE log of the system.
_LOG_SYSTEM
Code:
{if len(DebugSystem.systemname) = 0:
    {set DebugSystem to SystemDetails("Eifaif WQ-B b47-0")}
}

{if len(DebugSystem.systemname) > 0:
    {set DebugLog to cat( char('10'), char('10')) }
    {set DebugLog to cat( DebugLog, '|================== REPORT OF ', DebugSystem.systemname, '=================='  , char('10') ) }  {_ General information (string) _}
    {set DebugLog to cat( DebugLog, '| Event       : ', DebugEvent.type                                             , char('10') ) }  {_ The event from which i called the log (or the reason i needed it) _}
    {set DebugLog to cat( DebugLog, '| System type : ', DebugSysType                                                , char('10') ) }  {_ System, NextSystem, eddi context System, etc _}
    {set DebugLog to cat( DebugLog, '|-+----------------------ASTRONOMICAL DATA--------------------------: '        , char('10') ) }
    {set DebugLog to cat( DebugLog, '| | EDSMID                  : ', DebugSystem.EDSMID                            , char('10') ) }  {_ The ID in EDSM (long?) _}
    {set DebugLog to cat( DebugLog, '| | x                       : ', DebugSystem.x                                 , char('10') ) }  {_ X co-ordinate for this system (decimal?) _}
    {set DebugLog to cat( DebugLog, '| | y                       : ', DebugSystem.y                                 , char('10') ) }  {_ Y co-ordinate for this system (decimal?) _}
    {set DebugLog to cat( DebugLog, '| | z                       : ', DebugSystem.z                                 , char('10') ) }  {_ Z co-ordinate for this system (decimal?) _}
    {set DebugLog to cat( DebugLog, '| | systemAddress           : ', DebugSystem.systemAddress                     , char('10') ) }  {_ Unique 64 bit id value for system (long?) _}
    {set DebugLog to cat( DebugLog, '| | bodies                  : ',                      len(DebugSystem.bodies)  , char('10') ) }  {_ Details of bodies (stars/planets/moons), kept sorted by ID (ImmutableList<Body>) _}
    {set DebugLog to cat( DebugLog, '| | scoopable               : ', DebugSystem.scoopable                         , char('10') ) }  {_ True if any star in the system is scoopable (bool) _}
    {set DebugLog to cat( DebugLog, '| | Reserve                 : ', DebugSystem.Reserve                           , char('10') ) }  {_ The reserve level applicable to the system's rings (ReserveLevel) _}
    {set DebugLog to cat( DebugLog, '| | reserves                : ', DebugSystem.reserves                          , char('10') ) }  {_ (string) _}
    {set DebugLog to cat( DebugLog, '|-+------------------------------------------------------------------ '        , char('10') ) }
    {set DebugLog to cat( DebugLog, '|'                                                                             , char('10') ) }
    {set DebugLog to cat( DebugLog, '|-+----------------------Populated system data----------------------: '        , char('10') ) }
    {set DebugLog to cat( DebugLog, '| | population              : ', DebugSystem.population                        , char('10') ) }  {_ (long?) _}
    {set DebugLog to cat( DebugLog, '| | primaryeconomy          : ', DebugSystem.primaryeconomy                    , char('10') ) }  {_ (string) _}
    {set DebugLog to cat( DebugLog, '| | Economies               : ',                   len(DebugSystem.Economies)  , char('10') ) }  {_ (List<Economy>) _}
    {set DebugLog to cat( DebugLog, '| | securityLevel           : ', DebugSystem.securityLevel                     , char('10') ) }  {_ The system's security level (SecurityLevel) _}
    {set DebugLog to cat( DebugLog, '| | security                : ', DebugSystem.security                          , char('10') ) }  {_ The system's security level (localized name) (string) _}
    {set DebugLog to cat( DebugLog, '| | Power                   : ', DebugSystem.Power                             , char('10') ) }  {_ The powerplay power exerting influence within the system (null if contested) (Power) _}
    {set DebugLog to cat( DebugLog, '| | power                   : ', DebugSystem.power                             , char('10') ) }  {_ (string) _}
    {set DebugLog to cat( DebugLog, '| | powerState              : ', DebugSystem.powerState                        , char('10') ) }  {_ The state of powerplay within the system  (PowerplayState) _}
    {set DebugLog to cat( DebugLog, '| | powerstate              : ', DebugSystem.powerstate                        , char('10') ) }  {_ (string) _}
    {set DebugLog to cat( DebugLog, '| | state                   : ', DebugSystem.state                             , char('10') ) }  {_ (string) _}
    {set DebugLog to cat( DebugLog, '|-+------------------------------------------------------------------ '        , char('10') ) }
    {set DebugLog to cat( DebugLog, '|'                                                                             , char('10') ) }
    {set DebugLog to cat( DebugLog, '|-+----------------------Faction details----------------------------: '        , char('10') ) }
    {set DebugLog to cat( DebugLog, '| | Faction                 : ', DebugSystem.Faction                           , char('10') ) }  {_ (Faction) _}
    {set DebugLog to cat( DebugLog, '| | factions                : ',                    len(DebugSystem.factions)  , char('10') ) }  {_ (List<Faction>) _}
    {set DebugLog to cat( DebugLog, '| | faction                 : ', DebugSystem.faction                           , char('10') ) }  {_ [Obsolete("Please use Faction instead")] (string) _}
    {set DebugLog to cat( DebugLog, '| | allegiance              : ', DebugSystem.allegiance                        , char('10') ) }  {_ [Obsolete("Please use Faction.Allegiance instead")] (string) _}
    {set DebugLog to cat( DebugLog, '| | government              : ', DebugSystem.government                        , char('10') ) }  {_ [Obsolete("Please use Faction.Government instead")] (string) _}
    {set DebugLog to cat( DebugLog, '| | conflicts               : ',                   len(DebugSystem.conflicts)  , char('10') ) }  {_ (List<Conflict>) _}
    {set DebugLog to cat( DebugLog, '| | stations                : ',                    len(DebugSystem.stations)  , char('10') ) }  {_ Details of stations (List<Station>) _}
    {set DebugLog to cat( DebugLog, '| | planetarystations       : ',           len(DebugSystem.planetarystations)  , char('10') ) }  {_ Summary info for stations (List<Station>) _}
    {set DebugLog to cat( DebugLog, '| | orbitalstations         : ',             len(DebugSystem.orbitalstations)  , char('10') ) }  {_ (List<Station>) _}
    {set DebugLog to cat( DebugLog, '| | requirespermit          : ', DebugSystem.requirespermit                    , char('10') ) }  {_ Whether this system requires a permit for visiting  (bool) _}
    {set DebugLog to cat( DebugLog, '| | permitname              : ', DebugSystem.permitname                        , char('10') ) }  {_ The name of the permit required for visiting this system, if any  (string) _}
    {set DebugLog to cat( DebugLog, '|-+------------------------------------------------------------------ '        , char('10') ) }
    {set DebugLog to cat( DebugLog, '|'                                                                             , char('10') ) }
    {set DebugLog to cat( DebugLog, '|-+----------------------Other data---------------------------------: '        , char('10') ) }
    {set DebugLog to cat( DebugLog, '| | signalSources           : ',               len(DebugSystem.signalSources)  , char('10') ) }  {_ Types of signals detected within the system (List<string>) _}
    {set DebugLog to cat( DebugLog, '| | carriersignalsources    : ',        len(DebugSystem.carriersignalsources)  , char('10') ) }  {_ Signals filtered to only return results with a carrier callsign  (List<string>) _}
    {set DebugLog to cat( DebugLog, '| | isgreen                 : ', DebugSystem.isgreen                           , char('10') ) }  {_ Whether the system is a "green" system for exploration (containing all FSD synthesis elements)  (bool) _}
    {set DebugLog to cat( DebugLog, '| | isgold                  : ', DebugSystem.isgold                            , char('10') ) }  {_ Whether the system is a "gold" system for exploration (containing all elements available from planetary surfaces)  (bool) _}
    {set DebugLog to cat( DebugLog, '| | estimatedvalue          : ', DebugSystem.estimatedvalue                    , char('10') ) }  {_ Number of visits (long) _}
    {set DebugLog to cat( DebugLog, '| | visits                  : ', DebugSystem.visits                            , char('10') ) }  {_ Number of visits (int) _}
    {set DebugLog to cat( DebugLog, '| | lastvisit               : ', DebugSystem.lastvisit                         , char('10') ) }  {_ Time of last visit (DateTime?) _}
    {set DebugLog to cat( DebugLog, '| | visitLog                : ', DebugSystem.visitLog                          , char('10') ) }  {_ Visit log (readonly SortedSet<DateTime>) _}
    {set DebugLog to cat( DebugLog, '| | lastVisitSeconds        : ', DebugSystem.lastVisitSeconds                  , char('10') ) }  {_ Time of last visit, expressed as a Unix timestamp in seconds (long?) _}
    {set DebugLog to cat( DebugLog, '| | comment                 : ', DebugSystem.comment                           , char('10') ) }  {_ comment on this starsystem (string) _}
    {set DebugLog to cat( DebugLog, '| | distancefromhome        : ', DebugSystem.distancefromhome                  , char('10') ) }  {_ distance from home (decimal?) _}
    {set DebugLog to cat( DebugLog, '| | systemScanCompleted     : ', DebugSystem.systemScanCompleted               , char('10') ) }  {_ Whether a system scan has already been completed for this system in the current play session (bool) _}
    {set DebugLog to cat( DebugLog, '| | materialsAvailable      : ', DebugSystem.materialsAvailable                , char('10') ) }  {_ Not intended to be user facing - materials available within the system (HashSet<Material>) _}
    {set DebugLog to cat( DebugLog, '| | surfaceelements         : ', DebugSystem.surfaceelements                   , char('10') ) }  {_ Not intended to be user facing - materials available from system bodies (HashSet<string>) _}
    {set DebugLog to cat( DebugLog, '| | totalbodies             : ', DebugSystem.totalbodies                       , char('10') ) }  {_ Discoverable bodies as reported by a discovery scan "honk" (int) _}
    {set DebugLog to cat( DebugLog, '| | scannedbodies           : ', DebugSystem.scannedbodies                     , char('10') ) }  {_ (int) _}
    {set DebugLog to cat( DebugLog, '| | mappedbodies            : ', DebugSystem.mappedbodies                      , char('10') ) }  {_ (int) _}
    {set DebugLog to cat( DebugLog, '| | updatedat               : ', DebugSystem.updatedat                         , char('10') ) }  {_ Not intended to be user facing - the last time the information present changed (long?) _}
    {set DebugLog to cat( DebugLog, '| | lastupdated             : ', DebugSystem.lastupdated                       , char('10') ) }  {_ Not intended to be user facing - the last time the data about this system was obtained from remote repository (DateTime) _}
    {set DebugLog to cat( DebugLog, '|-+------------------------------------------------------------------ '        , char('10') ) }
    {set DebugLog to cat( DebugLog, '|'                                                                             , char('10') ) }
    {set DebugLog to cat( DebugLog, '|-+----------------------Deprecated properties----------------------: '        , char('10') ) }
    {set DebugLog to cat( DebugLog, '| | name                    : ', DebugSystem.name                              , char('10') ) }  {_ [Obsolete("Please use systemname instead.")] (string) _}
    {set DebugLog to cat( DebugLog, '|-+------------------------------------------------------------------ '        , char('10') ) }
    {set DebugLog to cat( DebugLog, '|'                                                                             , char('10') ) }
    {set DebugLog to cat( DebugLog, '|-+:::::::::::::::::::::::::: BODIES :::::::::::::::::::::::::: '              , char('10') ) }
    {for DebugBody in DebugSystem.bodies: {F('_LOG_BODY')} }
    {set DebugLog to cat( DebugLog, '================================ END REPORT ================================'  , char('10') ) }
    {set DebugLog to cat( DebugLog, char('10'), char('10')) }
    {Log(DebugLog)}
}

_LOG_BODY
Code:
{if len(DebugBody.bodyname) > 0:
    {if    DebugBody.bodyType.invariantName = 'Star':        {set DebugBodyType to "*"}
    |elif  DebugBody.bodyType.invariantName = 'Planet':        {set DebugBodyType to "o"}
    |elif  DebugBody.bodyType.invariantName = 'Moon':        {set DebugBodyType to "°"}
    |else:                                                    {set DebugBodyType to "?"}
    }
    {set DebugLog to cat( DebugLog, '| :................ REPORT OF ', DebugBody.shortname, '............'      , char('10') ) }  {_ the name of the body _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' bodyId                          : ' , DebugBody.bodyId                                    , char('10') ) }  {_ The ID of this body in the star system (long?)                                                                                                                                                              _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' EDSMID                          : ' , DebugBody.EDSMID                                    , char('10') ) }  {_ The ID of this body in EDSM (long?)                                                                                                                                                                         _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' bodytype                        : ' , DebugBody.bodytype                                  , char('10') ) }  {_ The localized type of the body  (string) [Obsolete("For use with Cottle. Please use bodyType instead.")]                                                                                                    _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' bodyType                        : ' , DebugBody.bodyType                                  , char('10') ) }  {_ The body type of the body (e.g. Star or Planet) [JsonProperty("Type")] (BodyType)                                                                                                                           _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' bodyname                        : ' , DebugBody.bodyname                                  , char('10') ) }  {_ The name of the body [PublicAPI, JsonProperty("name"), JsonRequired] (string)                                                                                                                               _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' shortname                       : ' , DebugBody.shortname                                 , char('10') ) }  {_ The short name of the body /(string)                                                                                                                                                                        _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' systemname                      : ' , DebugBody.systemname                                , char('10') ) }  {_ The name of the system in which the body resides (string)                                                                                                                                                   _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' systemAddress                   : ' , DebugBody.systemAddress                             , char('10') ) }  {_ Unique 64 bit id value for system (long?)                                                                                                                                                                   _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' distance                        : ' , DebugBody.distance                                  , char('10') ) }  {_ The distance of the body from the arrival star, in light seconds  (decimal?)                                                                                                                                _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' temperature                     : ' , DebugBody.temperature                               , char('10') ) }  {_ The surface temperature of the body, in Kelvin (decimal?)                                                                                                                                                   _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' radius                          : ' , DebugBody.radius                                    , char('10') ) }  {_ The radius of the body, in km (decimal?)                                                                                                                                                                    _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' rings                           : ' ,                               len(DebugBody.rings)  , char('10') ) }  {_ The body's rings (List<Ring>)                                                                                                                                                                               _}
    {set DebugLog to cat( DebugLog, '| :.................Scan data .............................'                                                       , char('10') ) }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' alreadydiscovered               : ' , DebugBody.alreadydiscovered                         , char('10') ) }  {_ Whether we're the first commander to discover this body (bool?)                                                                                                                                             _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' scanned                         : ' , DebugBody.scanned                                   , char('10') ) }  {_ When we scanned this object, if we have (DateTime) (DateTime?)                                                                                                                                              _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' alreadymapped                   : ' , DebugBody.alreadymapped                             , char('10') ) }  {_ Whether we're the first commander to map this body (bool?)                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' mapped                          : ' , DebugBody.mapped                                    , char('10') ) }  {_ When we mapped this object, if we have (DateTime) (DateTime?)                                                                                                                                               _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' mappedEfficiently               : ' , DebugBody.mappedEfficiently                         , char('10') ) }  {_ Whether we received an efficiency bonus when mapping this body (bool)                                                                                                                                       _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' estimatedvalue                  : ' , DebugBody.estimatedvalue                            , char('10') ) }  {_ The estimated value of the body /(long)                                                                                                                                                                     _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' maxestimatedvalue               : ' , DebugBody.maxestimatedvalue                         , char('10') ) }  {_ The estimated maximum value of the body /(long)                                                                                                                                                             _}
    {set DebugLog to cat( DebugLog, '| :.................Orbital characteristics ...............'                                                       , char('10') ) }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' periapsis                       : ' , DebugBody.periapsis                                 , char('10') ) }  {_ The argument of periapsis, in degrees (decimal?)                                                                                                                                                            _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' tilt                            : ' , DebugBody.tilt                                      , char('10') ) }  {_ The axial tilt, in degrees (decimal?)                                                                                                                                                                       _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' eccentricity                    : ' , DebugBody.eccentricity                              , char('10') ) }  {_ The orbital eccentricity of the planet (decimal?)                                                                                                                                                           _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' inclination                     : ' , DebugBody.inclination                               , char('10') ) }  {_ The orbital inclination of the body, in degrees (decimal?)                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' orbitalperiod                   : ' , DebugBody.orbitalperiod                             , char('10') ) }  {_ The orbital period of the body, in days (decimal?)                                                                                                                                                          _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' rotationalperiod                : ' , DebugBody.rotationalperiod                          , char('10') ) }  {_ The rotational period of the body, in days (decimal?)                                                                                                                                                       _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' semimajoraxis                   : ' , DebugBody.semimajoraxis                             , char('10') ) }  {_ The semi-major axis of the body, in light seconds (decimal?)                                                                                                                                                _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' parents                         : ' ,                             len(DebugBody.parents)  , char('10') ) }  {_ The parent bodies to this body, if any (List<IDictionary<string,)                                                                                                                                           _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' density                         : ' , DebugBody.density                                   , char('10') ) }  {_  Density in Kg per cubic meter  /(decimal?)                                                                                                                                                                 _}
    {set DebugLog to cat( DebugLog, '| :.................Additional calculated statistics ......'                                                       , char('10') ) }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' massprobability                 : ' , DebugBody.massprobability                           , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' radiusprobability               : ' , DebugBody.radiusprobability                         , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' tempprobability                 : ' , DebugBody.tempprobability                           , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' orbitalperiodprobability        : ' , DebugBody.orbitalperiodprobability                  , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' semimajoraxisprobability        : ' , DebugBody.semimajoraxisprobability                  , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' eccentricityprobability         : ' , DebugBody.eccentricityprobability                   , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' inclinationprobability          : ' , DebugBody.inclinationprobability                    , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' periapsisprobability            : ' , DebugBody.periapsisprobability                      , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' rotationalperiodprobability     : ' , DebugBody.rotationalperiodprobability               , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' tiltprobability                 : ' , DebugBody.tiltprobability                           , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' densityprobability              : ' , DebugBody.densityprobability                        , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| :.................Star-specific items .................'                                                         , char('10') ) }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' age                             : ' , DebugBody.age                                       , char('10') ) }  {_ The age of the body, in millions of years (long?)                                                                                                                                                           _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' mainstar                        : ' , DebugBody.mainstar                                  , char('10') ) }  {_ If this body is the main star /(bool?)                                                                                                                                                                      _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' stellarclass                    : ' , DebugBody.stellarclass                              , char('10') ) }  {_ The stellar class of the star (string)                                                                                                                                                                      _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' stellarsubclass                 : ' , DebugBody.stellarsubclass                           , char('10') ) }  {_ The stellar subclass of the star (0-9) (int?)                                                                                                                                                               _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' luminosityclass                 : ' , DebugBody.luminosityclass                           , char('10') ) }  {_ The Luminosity Class of the Star (since 2.4) (string)                                                                                                                                                       _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' solarmass                       : ' , DebugBody.solarmass                                 , char('10') ) }  {_ The solar mass of the star (decimal?)                                                                                                                                                                       _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' absolutemagnitude               : ' , DebugBody.absolutemagnitude                         , char('10') ) }  {_ The absolute magnitude of the star  (decimal?)                                                                                                                                                              _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' starClass                       : ' , DebugBody.starClass                                 , char('10') ) }  {_ Class information about the star  (StarClass)                                                                                                                                                               _}
    {set DebugLog to cat( DebugLog, '| :.................Additional calculated star information '                                                       , char('10') ) }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' scoopable                       : ' , DebugBody.scoopable                                 , char('10') ) }  {_ (bool)                                                                                                                                                                                                      _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' chromaticity                    : ' , DebugBody.chromaticity                              , char('10') ) }  {_ (string)                                                                                                                                                                                                    _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' luminosity                      : ' , DebugBody.luminosity                                , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' solarradius                     : ' , DebugBody.solarradius                               , char('10') ) }  {_ The solar radius of the star, compared to Sol /(decimal?)                                                                                                                                                   _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' estimatedhabzoneinner           : ' , DebugBody.estimatedhabzoneinner                     , char('10') ) }  {_ Minimum estimated single-star habitable zone (target black body temperature of 315°K / 42°C / 107°F or less, radius in km) /(decimal?)                                                                      _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' estimatedhabzoneouter           : ' , DebugBody.estimatedhabzoneouter                     , char('10') ) }  {_ Maximum estimated single-star habitable zone (target black body temperature of 223.15°K / -50°C / -58°F or more, radius in km) /(decimal?)                                                                  _}
    {set DebugLog to cat( DebugLog, '| :.................Additional calculated star statistics .'                                                       , char('10') ) }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' ageprobability                  : ' , DebugBody.ageprobability                            , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' absolutemagnitudeprobability    : ' , DebugBody.absolutemagnitudeprobability              , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' estimateStarValue               : ' , DebugBody.estimateStarValue                         , char('10') ) }  {_ (long)                                                                                                                                                                                                      _}
    {set DebugLog to cat( DebugLog, '| :.................Body-specific items ...................'                                                       , char('10') ) }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' atmosphereclass             (c) : ' ,                   DebugBody.atmosphereclass.edname  , char('10') ) }  {_ The atmosphere class (AtmosphereClass)                                                                                                                                                                      _}
    {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     : basename                  : ' , DebugBody.atmosphereclass.basename                  , char('10') ) }  {_  (string)                                                                                                                                                                                                   _}
    {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     : invariantName             : ' , DebugBody.atmosphereclass.invariantName             , char('10') ) }  {_  (string)                                                                                                                                                                                                   _}
    {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     : localizedName             : ' , DebugBody.atmosphereclass.localizedName             , char('10') ) }  {_  (string)                                                                                                                                                                                                   _}
    {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     : name                      : ' , DebugBody.atmosphereclass.name                      , char('10') ) }  {_  [Obsolete: Please be explicit and use localizedName or invariantName] (string)                                                                                                                             _}
    {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     : composition               : ' , DebugBody.atmosphereclass.composition               , char('10') ) }  {_  same as localizedName (string)                                                                                                                                                                             _}
    {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     : percent                   : ' , DebugBody.atmosphereclass.percent                   , char('10') ) }  {_  Percent share of the atmosphere (decimal)                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     : localizedComposition      : ' , DebugBody.atmosphereclass.localizedComposition      , char('10') ) }  {_  (Not intended to be user facing) same as localizedName (string)                                                                                                                                            _}
    {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     : invariantComposition      : ' , DebugBody.atmosphereclass.invariantComposition      , char('10') ) }  {_                                   same as invariantName (string)                                                                                                                                            _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' atmosphere                      : ' , DebugBody.atmosphere                                , char('10') ) }  {_ The atmosphere (string) [Obsolete("Please use AtmosphereClass instead")]                                                                                                                                    _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' atmospherecompositions      (c) : ' ,              len(DebugBody.atmospherecompositions)  , char('10') ) }  {_ The atmosphere's composition (List<AtmosphereComposition>)                                                                                                                                                  _}
    {for DebugComposition in DebugBody.atmospherecompositions:
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  composition              : ' , DebugComposition.composition                        , char('10') ) }  {_  Atmosphere Composition [Obsolete("Please use localizedComposition or invariantComposition")] (string)  _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  percent                  : ' , DebugComposition.percent                            , char('10') ) }  {_  Percent share of the atmosphere (decimal)                                                              _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  localizedComposition     : ' , DebugComposition.localizedComposition               , char('10') ) }  {_  Not intended to be user facing (string)                                                                _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  invariantComposition     : ' , DebugComposition.invariantComposition               , char('10') ) }  {_ (string)                                                                                                _}
    }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' landable                        : ' , DebugBody.landable                                  , char('10') ) }  {_ If this body can be landed upon (bool?)                                                                                                                                                                     _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' tidallylocked                   : ' , DebugBody.tidallylocked                             , char('10') ) }  {_ If this body is tidally locked (bool?)                                                                                                                                                                      _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' earthmass                       : ' , DebugBody.earthmass                                 , char('10') ) }  {_ The earth mass of the planet (decimal?)                                                                                                                                                                     _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' gravity                         : ' , DebugBody.gravity                                   , char('10') ) }  {_ The gravity of the planet, in G's (decimal?)                                                                                                                                                                _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' pressure                        : ' , DebugBody.pressure                                  , char('10') ) }  {_ The pressure at the surface of the planet, in Earth atmospheres (decimal?)                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' terraformstate                  : ' , DebugBody.terraformstate                            , char('10') ) }  {_ The terraform state (localized name) (string) [Obsolete("Please use TerraformState instead")]                                                                                                               _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' terraformState              (c) : ' ,                           DebugBody.terraformState  , char('10') ) }  {_ The terraform state (TerraformState)                                                                                                                                                                        _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' planettype                      : ' , DebugBody.planettype                                , char('10') ) }  {_ The planet type (localized name) (string) [Obsolete("Please use PlanetClass instead")]                                                                                                                      _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' planetClass                 (c) : ' ,                              DebugBody.planetClass  , char('10') ) }  {_ The planet type (PlanetClass)                                                                                                                                                                               _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' volcanism                   (c) : ' ,                                DebugBody.volcanism  , char('10') ) }  {_ The volcanism (Volcanism)                                                                                                                            _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' solidcompositions           (c) : ' ,                   len(DebugBody.solidcompositions)  , char('10') ) }  {_ The solid body composition of the body (List<SolidComposition>)                                                                                                                                             _}
    {for DebugComposition in DebugBody.solidcompositions:
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  composition              : ' , DebugComposition.composition                        , char('10') ) }  {_ SolidComposition : Body Solid Composition [Obsolete("Please use localizedComposition or invariantComposition")] (string)  _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  percent                  : ' , DebugComposition.percent                            , char('10') ) }  {_ Percent share of the solid body (decimal)                                                                                 _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  localizedComposition     : ' , DebugComposition.localizedComposition               , char('10') ) }  {_ Not intended to be user facing (string)                                                                                   _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  invariantComposition     : ' , DebugComposition.invariantComposition               , char('10') ) }  {_ (string)                                                                                                                  _}
    }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' materials                   (c) : ' ,                           len(DebugBody.materials)  , char('10') ) }  {_ The materials present at the surface of the body (List<MaterialPresence>)                                                                                                                                   _}
    {for DebugMaterial in DebugBody.materials:
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  name                     : ' , DebugMaterial.name                              , char('10') ) }  {_ MaterialPresence: Presence of a material (string)                                                                                                                                                           _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  category                 : ' , DebugMaterial.category                          , char('10') ) }  {_ (string)                                                                                                                                                                                                    _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  rarity                   : ' , DebugMaterial.rarity                            , char('10') ) }  {_ (string)                                                                                                                                                                                                    _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  percentage               : ' , DebugMaterial.percentage                        , char('10') ) }  {_ (decimal)                                                                                                                                                                                                   _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  definition               : ' , DebugMaterial.definition                        , char('10') ) }  {_ Not intended to be user facing (Material)                                                                                                                                                                   _}
        {set DebugLog to cat( DebugLog, '|   ' , DebugBodyType, '     :  material                 : ' , DebugMaterial.material                          , char('10') ) }  {_ [Obsolete("We merged this with MaterialPercentage (which is now gone) but old scripts used different keys for the material's name so put them both here")] (string)                                         _}
    }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' reserves                        : ' , DebugBody.reserves                                  , char('10') ) }  {_ The reserve level (localized name) (string) [Obsolete("Please use reserveLevel instead")]                                                                                                                   _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' reserveLevel                    : ' , DebugBody.reserveLevel                              , char('10') ) }  {_ The reserve level (ReserveLevel)                                                                                                                                                                            _}
    {set DebugLog to cat( DebugLog, '| :.................Additional calculated planet and moon statistics '                                             , char('10') ) }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' gravityprobability              : ' , DebugBody.gravityprobability                        , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' pressureprobability             : ' , DebugBody.pressureprobability                       , char('10') ) }  {_ (decimal?)                                                                                                                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' solarday                        : ' , DebugBody.solarday                                  , char('10') ) }  {_ The duration of a solar day on the body, in Earth days (decimal?)                                                                                                                                           _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' solarsurfacevelocity            : ' , DebugBody.solarsurfacevelocity                      , char('10') ) }  {_ The ground speed of the parent body's shadow on the surface of the body in meters per second (decimal?)                                                                                                     _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' estimateBodyValue               : ' , DebugBody.estimateBodyValue                         , char('10') ) }  {_ (long)                                                                                                                                                                                                      _}
    {set DebugLog to cat( DebugLog, '| :.................Miscellaneous and legacy properties and methods '                                              , char('10') ) }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' updatedat                       : ' , DebugBody.updatedat                                 , char('10') ) }  {_  the last time the information present changed (in the data source)  (long?)                                                                                                                                _}
    {set DebugLog to cat( DebugLog, '| :.................Deprecated properties (preserved for backwards compatibility)'                                 , char('10') ) }
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' name                            : ' , DebugBody.name                                      , char('10') ) }  {_ This is a key for legacy json files that cannot be changed without breaking backwards compatibility. [JsonIgnore, Obsolete("Please use bodyname instead.")] (string)                                        _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' type                            : ' , DebugBody.type                                      , char('10') ) }  {_ [JsonIgnore, Obsolete("Please use bodytype instead - type creates a collision with Event.type.")] (string)                                                                                                  _}
    {set DebugLog to cat( DebugLog, '| : ' , DebugBodyType, ' Type                            : ' , DebugBody.Type                                      , char('10') ) }  {_ [JsonIgnore, Obsolete("Please use bodyType instead")] (BodyType)                                                                                                                                            _}

}

The idea is to understand what are the data the game passes, and what are the data in the objects to stop asking about them here ( .....and ... here i am, still :D :D ) so i can make some of my scripts work as i want.
I'm picking the code fomr github and with a bit of regex search and replace building these scripts.


Thanks for your help (to both of you)
 
Hmm... from EDSM data, I'm currently getting Rock Rock Rock 67.21, Metal Metal Metal 32.79, Ice Ice Ice 0,. Re-running our journal parsing test returns green too. Perhaps this is a body that you recently scanned / updated for EDSM?
Hmm, no, Kokobii is my home system, and I fully scanned it years ago. But that may be the problem. It's possible I scanned it all so long ago that not all data was present/received. Or something along those lines anyway. I might have to give the nav buoy a scan and see if that clears things up.... 😊
 
Hmm, no, Kokobii is my home system, and I fully scanned it years ago. But that may be the problem. It's possible I scanned it all so long ago that not all data was present/received. Or something along those lines anyway. I might have to give the nav buoy a scan and see if that clears things up.... 😊
Ok, so I scanned the Kokobii nav beacon, but I'm still getting zero for the composition percentages. @T'kael any ideas what could be going wrong?
 
Ok, so I scanned the Kokobii nav beacon, but I'm still getting zero for the composition percentages. @T'kael any ideas what could be going wrong?
I find that a little baffling, but if you dm me your logs and journals then I'd be happy to take a look and see if I can find a way to replicate what you're seeing.

EDIT: I think I've found and corrected an issue with deserializing some kinds of data stored in the local database. Should be fixed for the next release.
 
Last edited:
I'm a bit lost (again) in understanding how exploration data works.

This is a script i use to log some explorations relevant data:


Code:
{_ Test systems _}
{if len(DebugSystem.systemname) = 0:
    { set DebugSystem to SystemDetails("Eifaic LX-W c4-0")}
    {_ set DebugEvent to 'TEST BUTTON' }
}

{_ the word "Planet" here means "not a Star" _}
{set known_bodyTotal         to len(DebugSystem.bodies)}
{set honk_bodyTotal          to DebugSystem.totalbodies}
{set FSS_bodyTotal           to DebugSystem.scannedbodies}
{set DSS_bodyTotal           to DebugSystem.mappedbodies}
{set DSS_planetCount         to 0}    {_ mapped by me _}
{set DSS_alreadyCount        to 0}    {_ alreadu mapped _}
{set FSS_starCount           to 0}
{set FSS_planetCount         to 0}
{set known_starCount         to 0}
{set known_planetCount       to 0}
{set FirstDSS_planetCount    to 0}
{set Valuable_planetCount    to 0}

{for CurBody in DebugSystem.bodies:
    {if CurBody.bodyType.invariantName = 'Star':
        {if CurBody.scanned:            {set FSS_starCount to FSS_starCount + 1} }
        {if CurBody.alreadydiscovered:    {set known_starCount to known_starCount + 1} }
    |else:
        {if CurBody.scanned:            {set FSS_planetCount to FSS_planetCount + 1} }
        {if CurBody.mapped:                {set DSS_planetCount to DSS_planetCount + 1} }
        {if CurBody.alreadydiscovered:    {set known_planetCount to known_planetCount + 1} }
        {if CurBody.alreadymapped:        {set DSS_alreadyCount to DSS_alreadyCount + 1} }
        {if CurBody.terraformState.invariantName != 'Not terraformable':
            {set Valuable_planetCount to Valuable_planetCount + 1}
            {if !CurBody.alreadymapped:    {set FirstDSS_planetCount to FirstDSS_planetCount + 1} }
        }
    } {_ end if body type}
} {_ end for }

{set DebugLog to cat( char('10'), char('10'), 'Exploration report of ', DebugSystem.systemname, ' from ', DebugEvent, ' event.', char('10')) }
{set DebugLog to cat( DebugLog, '|=========================================================|'  , char('10') ) }
{set DebugLog to cat( DebugLog, '|         | ' ,          'known'                ,  ' |  ',             'FSS'             , '  |  ',          'DSS'                , '  | ' ,         'honkd'              ,  ' |  ',               '1st'                , '  | ' ,              'value'               ,  ' |'  , char('10') ) }
{set DebugLog to cat( DebugLog, '|  bodies |  ', format(known_bodyTotal  ,'i:D3'), '  |  ', format(FSS_bodyTotal  ,'i:D3'), '  |  ', format(DSS_bodyTotal  ,'i:D3'), '  |  ', format(honk_bodyTotal,'i:D3'), '  |  ',               '   '                , '  |  ',               '   '                , '  |'  , char('10') ) }
{set DebugLog to cat( DebugLog, '|   stars |  ', format(known_starCount  ,'i:D3'), '  |  ', format(FSS_starCount  ,'i:D3'), '  |  ',          '   '                , '  |  ',          '   '               , '  |  ',               '   '                , '  |  ',               '   '                , '  |'  , char('10') ) }
{set DebugLog to cat( DebugLog, '| planets |  ', format(known_planetCount,'i:D3'), '  |  ', format(FSS_planetCount,'i:D3'), '  |', format(DSS_planetCount,'i:D3'),'/',format(DSS_alreadyCount,'i:D3'), '|  ',          '   '               , '  |  ', format(FirstDSS_planetCount,'i:D3'), '  |  ', format(Valuable_planetCount,'i:D3'), '  |'  , char('10') ) }
{set DebugLog to cat( DebugLog, '|=========================================================|'  , char('10') ) }
{Log(DebugLog)}


It produces these logs (in chronoligal order):
Code:
Exploration report of Preou Aihm IE-K c8-0 from Jumped event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  009  |  000  |  000  |  000  |       |       |
|   stars |  001  |  000  |       |       |       |       |
| planets |  008  |  000  |000/008|       |  000  |  000  |
|=========================================================|

Exploration report of Preou Aihm IE-K c8-0 from Star scanned event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  009  |  001  |  000  |  000  |       |       |
|   stars |  001  |  001  |       |       |       |       |
| planets |  008  |  000  |000/008|       |  000  |  000  |
|=========================================================|

Exploration report of Preou Aihm IE-K c8-0 from Discovery scan event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  009  |  001  |  000  |  009  |       |       |
|   stars |  001  |  001  |       |       |       |       |
| planets |  008  |  000  |000/008|       |  000  |  000  |
|=========================================================|

Exploration report of Preou Aihm IE-K c8-0 from System scan complete event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  009  |  009  |  000  |  009  |       |       |
|   stars |  001  |  001  |       |       |       |       |
| planets |  008  |  008  |000/001|       |  000  |  000  |
|=========================================================|
My questions are:
1) Why mappedbodies is always 0?
2) Why alreadymapped is true for each body until they are scanned? shouldn't be instead always false (or null), if it is not possibile to have it already correct (true for already mapped bodies, false for the others)?
 
Following my own question, this system was different:
Code:
Exploration report of Preou Aihm SW-E c11-0 from Jumped event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  001  |  000  |  000  |  000  |       |       |
|   stars |  001  |  000  |       |       |       |       |
| planets |  000  |  000  |000/000|       |  000  |  000  |
|=========================================================|

Exploration report of Preou Aihm SW-E c11-0 from Star scanned event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  001  |  001  |  000  |  000  |       |       |
|   stars |  001  |  001  |       |       |       |       |
| planets |  000  |  000  |000/000|       |  000  |  000  |
|=========================================================|

Exploration report of Preou Aihm SW-E c11-0 from Discovery scan event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  001  |  001  |  000  |  010  |       |       |
|   stars |  001  |  001  |       |       |       |       |
| planets |  000  |  000  |000/000|       |  000  |  000  |
|=========================================================|

Exploration report of Preou Aihm SW-E c11-0 from System scan complete event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  010  |  010  |  000  |  010  |       |       |
|   stars |  001  |  001  |       |       |       |       |
| planets |  009  |  009  |000/000|       |  000  |  000  |
|=========================================================|
Although this was also an already discovered system, here there's no alreadymapped bodies, and also system.bodies was not "complete" until the scan complete.

What's the logic behind these differences?
 
I'm a bit lost (again) in understanding how exploration data works.

This is a script i use to log some explorations relevant data:


Code:
{_ Test systems _}
{if len(DebugSystem.systemname) = 0:
    { set DebugSystem to SystemDetails("Eifaic LX-W c4-0")}
    {_ set DebugEvent to 'TEST BUTTON' }
}

{_ the word "Planet" here means "not a Star" _}
{set known_bodyTotal         to len(DebugSystem.bodies)}
{set honk_bodyTotal          to DebugSystem.totalbodies}
{set FSS_bodyTotal           to DebugSystem.scannedbodies}
{set DSS_bodyTotal           to DebugSystem.mappedbodies}
{set DSS_planetCount         to 0}    {_ mapped by me _}
{set DSS_alreadyCount        to 0}    {_ alreadu mapped _}
{set FSS_starCount           to 0}
{set FSS_planetCount         to 0}
{set known_starCount         to 0}
{set known_planetCount       to 0}
{set FirstDSS_planetCount    to 0}
{set Valuable_planetCount    to 0}

{for CurBody in DebugSystem.bodies:
    {if CurBody.bodyType.invariantName = 'Star':
        {if CurBody.scanned:            {set FSS_starCount to FSS_starCount + 1} }
        {if CurBody.alreadydiscovered:    {set known_starCount to known_starCount + 1} }
    |else:
        {if CurBody.scanned:            {set FSS_planetCount to FSS_planetCount + 1} }
        {if CurBody.mapped:                {set DSS_planetCount to DSS_planetCount + 1} }
        {if CurBody.alreadydiscovered:    {set known_planetCount to known_planetCount + 1} }
        {if CurBody.alreadymapped:        {set DSS_alreadyCount to DSS_alreadyCount + 1} }
        {if CurBody.terraformState.invariantName != 'Not terraformable':
            {set Valuable_planetCount to Valuable_planetCount + 1}
            {if !CurBody.alreadymapped:    {set FirstDSS_planetCount to FirstDSS_planetCount + 1} }
        }
    } {_ end if body type}
} {_ end for }

{set DebugLog to cat( char('10'), char('10'), 'Exploration report of ', DebugSystem.systemname, ' from ', DebugEvent, ' event.', char('10')) }
{set DebugLog to cat( DebugLog, '|=========================================================|'  , char('10') ) }
{set DebugLog to cat( DebugLog, '|         | ' ,          'known'                ,  ' |  ',             'FSS'             , '  |  ',          'DSS'                , '  | ' ,         'honkd'              ,  ' |  ',               '1st'                , '  | ' ,              'value'               ,  ' |'  , char('10') ) }
{set DebugLog to cat( DebugLog, '|  bodies |  ', format(known_bodyTotal  ,'i:D3'), '  |  ', format(FSS_bodyTotal  ,'i:D3'), '  |  ', format(DSS_bodyTotal  ,'i:D3'), '  |  ', format(honk_bodyTotal,'i:D3'), '  |  ',               '   '                , '  |  ',               '   '                , '  |'  , char('10') ) }
{set DebugLog to cat( DebugLog, '|   stars |  ', format(known_starCount  ,'i:D3'), '  |  ', format(FSS_starCount  ,'i:D3'), '  |  ',          '   '                , '  |  ',          '   '               , '  |  ',               '   '                , '  |  ',               '   '                , '  |'  , char('10') ) }
{set DebugLog to cat( DebugLog, '| planets |  ', format(known_planetCount,'i:D3'), '  |  ', format(FSS_planetCount,'i:D3'), '  |', format(DSS_planetCount,'i:D3'),'/',format(DSS_alreadyCount,'i:D3'), '|  ',          '   '               , '  |  ', format(FirstDSS_planetCount,'i:D3'), '  |  ', format(Valuable_planetCount,'i:D3'), '  |'  , char('10') ) }
{set DebugLog to cat( DebugLog, '|=========================================================|'  , char('10') ) }
{Log(DebugLog)}


It produces these logs (in chronoligal order):
Code:
Exploration report of Preou Aihm IE-K c8-0 from Jumped event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  009  |  000  |  000  |  000  |       |       |
|   stars |  001  |  000  |       |       |       |       |
| planets |  008  |  000  |000/008|       |  000  |  000  |
|=========================================================|

Exploration report of Preou Aihm IE-K c8-0 from Star scanned event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  009  |  001  |  000  |  000  |       |       |
|   stars |  001  |  001  |       |       |       |       |
| planets |  008  |  000  |000/008|       |  000  |  000  |
|=========================================================|

Exploration report of Preou Aihm IE-K c8-0 from Discovery scan event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  009  |  001  |  000  |  009  |       |       |
|   stars |  001  |  001  |       |       |       |       |
| planets |  008  |  000  |000/008|       |  000  |  000  |
|=========================================================|

Exploration report of Preou Aihm IE-K c8-0 from System scan complete event.
|=========================================================|
|         | known |  FSS  |  DSS  | honkd |  1st  | value |
|  bodies |  009  |  009  |  000  |  009  |       |       |
|   stars |  001  |  001  |       |       |       |       |
| planets |  008  |  008  |000/001|       |  000  |  000  |
|=========================================================|
My questions are:
1) Why mappedbodies is always 0?
2) Why alreadymapped is true for each body until they are scanned? shouldn't be instead always false (or null), if it is not possibile to have it already correct (true for already mapped bodies, false for the others)?
Hmm, I tried this using my home system of Kokobii, and it's working fine as far as I can tell...

1) It reports the correct number of bodies I've mapped, so in my case your code is working for 'mappedbodies'.
2) 'alreadymapped' counts if it's been mapped by anyone, not just yourself. If the system has been fully mapped by other commanders, then they will all be 'true'.
 
Top Bottom