Skip to content

Add: "Using Static Data" guide#283

Open
SentientTurtle wants to merge 4 commits into
esi:mainfrom
SentientTurtle:main
Open

Add: "Using Static Data" guide#283
SentientTurtle wants to merge 4 commits into
esi:mainfrom
SentientTurtle:main

Conversation

@SentientTurtle
Copy link
Copy Markdown
Contributor

The current info page for the Static Data Export, under 'Services and Resources' has a few tips.

Adding more of these probably warrants such guides/tips/other info being split off into a dedicated page under 'Guides and Examples'

This PR is a first draft at such a page, migrating the "Celestial Names" guide and "Security Offices" tip into the new "Using Static Data" guide, and adding new sections on TypeLists, Remote Skill injection/"Skills on Demand", and the usage of data relating to wormhole systems.

Proposed scope would be small guides for things that are unintuitive about the static data because of unstated logic or "magic constants" that cannot be derived from the SDE.

This PR also includes a slight tweak to the 'System Security' page, clarifying that page's applicability to both ESI and SDE.

Specific feedback requests:

  • The section on "Remote Skill Injection"/"Skills on Demand" is currently named "Remote Skills". I'm not fond of this section title, but neither the (semi)official title nor colloquial names for the feature seem very widely known or consistently used. 😔
  • Ordering of the sections within the page. Currently has a loose "alphabetical, grouped roughly by related or dependant topics" ordering. (e.g. the skills section follows after the typelist section) If this order doesn't feel logical it should be changed.
  • The example code snippet for TypeLists doesn't strictly follow the logic described in the text; A consequence of implementing the rules in Python while keeping the code easy to read. Not sure if this makes the section more confusing.

+ minor fix to system-security.md
@SentientTurtle SentientTurtle requested review from a team as code owners May 7, 2026 21:57
@fc-pinky
Copy link
Copy Markdown
Contributor

fc-pinky commented May 8, 2026

Very nice work! Thank you for taking this on!

My only comment is in the Python snippet, as that isnt completely how typeLists work. I will give some example code Monday about that if nobody did so before me :)

Btw tldr, an item in the includedTypes but in the excludedGroup is still on the list. Worded differently: includedTypes wins from excludedGroups, and includedGroups wins from excludedCategoried.

But it might be easier to understand with code :)

Edit: on second look, it might just be easier to give an example how to resolve all types in a typeList, rather than "is this type in the list". That might be the more common case people will work from. And makes checking for items in a list more trivial.

Comment thread docs/guides/staticdata.md Outdated
Co-authored-by: Patric Stout (Fenris Creations) <patric@ccpgames.com>
(typelist.excludedCategoryIDs is None or item_categoryid not in typelist.excludedCategoryIDs)
and (typelist.excludedGroupIDs is None or item_groupid not in typelist.excludedGroupIDs)
and (typelist.excludedTypeIDs is None or item_typeid not in typelist.excludedTypeIDs)
) No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you mind if we also update this example to match the above text? Just so they are singing the same song :)

Comment thread docs/guides/staticdata.md Outdated
3. Look up the mapRegions information for the system's region -> Region `11000030` ("F-R00030") has wormholeClassID `6`
4. Look up the mapSecondarySuns information, searching for the entry with solarSystemID `31002487` -> This system contains Secondary Sun #`40486155`, whose typeID is `30574` "Magnetar"

Solarsystem "J105934" (SolarSystemID `31002487`) is a Class 6 Magnatar wormhole system. No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Solarsystem "J105934" (SolarSystemID `31002487`) is a Class 6 Magnatar wormhole system.
Solarsystem "J105934" (SolarSystemID `31002487`) is a Class 6 Magnetar wormhole system.

Comment thread docs/guides/system-security.md Outdated
Not to be confused with the `securityClass` field, which is a string value with unknown meaning.

In-game, the security status (also known as security level) is shown with 1 decimal place precision, from -1.0 to 1.0. In the SDE, it is given with full precision and needs to be rounded to 1 decimal place to match the in-game display.
In-game, the security status (also known as security level) is shown with 1 decimal place precision, from -1.0 to 1.0. In the APIs it is given with full precision and needs to be rounded to 1 decimal place to match the in-game display.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why just APIs? It's still the case for the SDE.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intended message was that the info applies to both ESI and the SDE. The SDE is not an API, but I couldn't find a more fitting term at the time.

Perhaps "Game data" is best, or just "the SDE and ESI".
(Will roll any such change into a pending commit)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"the SDE and ESI" is clearest I think

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants