Skip to content

Add: "Using Static Data" guide#283

Merged
Nohus merged 4 commits into
esi:mainfrom
SentientTurtle:main
May 22, 2026
Merged

Add: "Using Static Data" guide#283
Nohus merged 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>
Comment thread snippets/examples/staticdata-typelist.py Outdated
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

@fc-pinky
Copy link
Copy Markdown
Contributor

This PR keeps on growing :D

Content-wise, I have spotted no issues. The examples for typelist are overly verbose and can be made much smaller, but it is not wrong, so I am fine with it.

I leave it to @Nohus to approve and merge if he too has no further objections :)

Tnx for your effort here!

@Nohus Nohus merged commit 6fa403d into esi:main May 22, 2026
1 check passed
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