SL2 Analyzer
Read a FromSoftware .sl2 save and report what is in it
Loading...
Searching...
No Matches
progress.py File Reference

Go to the source code of this file.

Namespaces

namespace  sl2
 
namespace  sl2.progress
 

Functions

 sl2.progress.find_boss_souls (goods)
 Pull the likely boss / lord souls out of a goods list.
 
 sl2.progress.load_boss_soul_map (base_dir, subdir)
 
 sl2.progress.load_boss_route (base_dir, subdir)
 
 sl2.progress.attach_defeated_bosses (ch, base_dir)
 Attach a bosses defeat floor to a non-DS2 character from the boss souls / remembrances it still holds, plus endgame progression.
 
 sl2.progress.find_key_goods (goods)
 Pull key / progression items out of a goods list (DS1 keeps keys here).
 

Variables

dict sl2.progress.GENERIC_SOULS
 Ordinary soul consumables that are NOT boss souls.
 
dict sl2.progress.DS1_PROGRESSION
 DS1 progression goods that gate the world but do not read as "keys".
 
dict sl2.progress.BOSS_SOUL_DB_DIR
 Per-game folder holding a boss-soul → boss-name table (boss_souls.json).
 
dict sl2.progress._BOSS_SOUL_CACHE = {}
 Load a game's boss-soul → boss-name table.
 
dict sl2.progress._BOSS_ROUTE_CACHE = {}
 Load a game's route graph (boss_route.json): boss name → [gate area, [bosses that must die first]].
 
dict sl2.progress.BOSS_PREREQ
 Endgame-only progression prereqs: a proven-dead boss (key) implies its mandatory predecessors (values) are dead too, tagged gate.
 
dict sl2.progress.MANDATORY_BOSSES
 Bosses that CANNOT be skipped to finish the game, so reaching NG+ proves every one of them dead at least once (tag clear).
 
 sl2.progress.DS3_LORDS
 The four Lords of Cinder, boss name → the name on the Firelink throne.
 
str sl2.progress.DS3_CINDER_ITEM = "Cinders of a Lord"
 The one item id (any lord's) that sits in the inventory between killing a Lord of Cinder and offering the ashes at the throne.