diff --git a/worlds/pokemon_platinum/TODO.md b/worlds/pokemon_platinum/TODO.md index bd53b5688351..36b5fcbf0b88 100644 --- a/worlds/pokemon_platinum/TODO.md +++ b/worlds/pokemon_platinum/TODO.md @@ -1,31 +1,33 @@ ## JSON - Full list of items and what flag triggers them (items.json) - ```json - { - "tag": "ITEM_LOCATION_DESC", - "long_description": "Location - Item by Pond", - "location": "LOCATION_ROUTE", - "item_flag": "0", - "vanilla_item": 1 - } - ``` +```json +{ + "tag": "ITEM_RAVAGED_PASS_LUCK_INCENSE", + "long_description": "Ravaged Pass - Left Item behind Surf", + "location": "LOCATION_RAVAGED_PASS", + "item_flag": "0x402", + "vanilla_item": 251, + "requirements": ["HM_SURF", "HM_ROCK_SMASH"] +} +``` - Full list of all hidden items and what flag triggers them (hidden_items.json) - ```json - { - "tag": "HIDDEN_ITEM_LOCATION_DESC", - "long_description":"Location - Hidden Item near Stairs", - "location": "LOCATION_ROUTE", - "item_flag": "0", - "vanilla_item": 1 - } - ``` +```json +{ + "tag": "HIDDEN_ITEM_VICTORY_ROAD_2F_RARE_CANDY", + "long_description":"Victory Road 2F - Hidden Item near Ace Trainer Omar", + "location": "LOCATION_VICTORY_ROAD_2F", + "item_flag": "0x34E", + "vanilla_item": 50, + "requirements": ["HM_STRENGTH", "HM_ROCK_SMASH"] +} +``` - Full list of locations and where they connect to (connections.json) - Please treat each and every map change as a connection for now. We may optimize this later to group them into access sections instead of just marking every connection for generation speed. I prefer full accuracy first, optimize later. ```json { - "tag": "LOCATION_ROUTE201", + "tag": "LOCATION_ROUTE_201", "connections": ["LOCATION_VERITY_LAKEFRONT", "LOCATION_TWINLEAF_TOWN", "LOCATION_SANDGEM_TOWN"], - "access_requirements": [""] + "requirements": [""] } ``` - Trigger Flags, think NPC/Button/Door activations that cause things to unlock (triggers.json) @@ -33,16 +35,18 @@ { "tag": "TRIGGER_OREBURGH_MINES_ROARK", "location": "LOCATION_OREBURGH_MINES_LOWER", - "trigger_flag": 0, - "trigger_group": "EVENT" + "trigger_flag": "", + "trigger_group": "EVENT", + "requirements": [""] } ``` - Full list of ALL trainers in the game and where they are located (trainers.json) ```json { - "tag": "TRAINER_LASS_NAME", - "location": "LOCATION_TAG", - "trigger_flag": 0 + "tag": "TRAINER_ACE_TRAINER_OMAR", + "location": "LOCATION_VICTORY_ROAD_", + "trigger_flag": "0x630", + "requirements": ["HM_STRENGTH", "HM_ROCK_SMASH"] } ``` ## ROM Patches diff --git a/worlds/pokemon_platinum/options.py b/worlds/pokemon_platinum/options.py index 1eeef5574fe5..11713521aaa5 100644 --- a/worlds/pokemon_platinum/options.py +++ b/worlds/pokemon_platinum/options.py @@ -127,6 +127,10 @@ class DarkCavesRequireFlash(DefaultOnToggle): display_name = "Require Flash" +class FoggyRoutesRequireDefog(DefaultOnToggle): + display_name = "Require Defog" + + class EliteFourRequirement(Choice): """ Sets the requirements to challenge the elite four diff --git a/worlds/pokemon_platinum/statics.py b/worlds/pokemon_platinum/statics.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/worlds/pokemon_platinum/structs.py b/worlds/pokemon_platinum/structs.py index 50967a7444ea..c9db077059d0 100644 --- a/worlds/pokemon_platinum/structs.py +++ b/worlds/pokemon_platinum/structs.py @@ -59,6 +59,7 @@ class ItemEntry: item_flag: int vanilla_item: int classification: str + requirements: list[str] class TriggerEntry: @@ -72,3 +73,4 @@ class TrainerEntry: tag: str location: str flag: int +