diff --git a/data/in/chests.json b/data/in/chests.json index 6aedee3..2992bbd 100644 --- a/data/in/chests.json +++ b/data/in/chests.json @@ -3540,7 +3540,7 @@ "clearance": "Silver", "region": { "linear": "11", - "open": "open5" + "open": "openCursedTemple" }, "reward": [ [ @@ -3548,23 +3548,6 @@ "Ancient Earth", 4 ] - ], - "condition": [ - [ - "item", - "Heat", - 1 - ], - [ - "item", - "Cold", - 1 - ], - [ - "item", - "Cursed Coin", - 1 - ] ] }, "Maroon: Cursed Temple Lower": { @@ -3576,7 +3559,7 @@ "clearance": "Silver", "region": { "linear": "11", - "open": "open5" + "open": "openCursedTemple" }, "reward": [ [ @@ -3584,23 +3567,6 @@ "Bright Bracer", 1 ] - ], - "condition": [ - [ - "item", - "Heat", - 1 - ], - [ - "item", - "Cold", - 1 - ], - [ - "item", - "Cursed Coin", - 1 - ] ] }, "Maroon: Cursed Temple Treasure Room": { @@ -3612,7 +3578,7 @@ "clearance": "Bronze", "region": { "linear": "11", - "open": "open5" + "open": "openCursedTemple" }, "reward": [ [ @@ -3620,23 +3586,6 @@ "Broken Sword", 1 ] - ], - "condition": [ - [ - "item", - "Heat", - 1 - ], - [ - "item", - "Cold", - 1 - ], - [ - "item", - "Cursed Coin", - 1 - ] ] }, "Maroon: Maroon Cave 1": { diff --git a/data/in/dlc/enemies/bosses.json b/data/in/dlc/enemies/bosses.json new file mode 100644 index 0000000..4368c2e --- /dev/null +++ b/data/in/dlc/enemies/bosses.json @@ -0,0 +1,192 @@ +{ + "enemies": { + "Illegal Coordinator": { + "name": "Illegal Coordinator", + "id": "autumn-rh.turret_boss-quest_naval", + "level": 63, + "firstEncounter": { + "region": { + "linear": "23", + "open": "open2" + }, + "condition": [ + [ "quest", "Wet Work" ], + [ "item", "Wave", 1 ], + [ "item", "Azure Archipelago Pass", 1 ] + ] + }, + "area": "autumn-area" + }, + "Tremmy": { + "name": "Tremmy", + "id": "autumn-fall.runbot-tremor", + "level": 67, + "firstEncounter": { + "region": { + "linear": "23", + "open": "open20" + }, + "condition": [ + [ "item", "Tremor Engine", 4 ], + [ "item", "Humming Razor", 1 ], + [ "item", "Shock", 1 ], + [ "region", "open", "open10.Right" ], + [ "region", "open", "open16" ], + [ "item", "Azure Archipelago Pass", 1 ] + ] + }, + "area": "rhombus-sqr" + }, + "Distillizer": { + "name": "Distillizer", + "id": "heat.special.heat-golem-booze", + "level": 67, + "firstEncounter": { + "region": { + "linear": "11", + "open": "open5" + }, + "condition": [ + [ "quest", "Steamy Booze" ], + [ "quest", "Steamy Challenge" ], + [ "item", "Cold" ], + [ "region", "open", "openDLC_Beach" ], + [ "or", + [ "var", "allowBoosterGrinding", "off" ], + [ "and", + [ "var", "allowBoosterGrinding", "on" ], + [ "item", "Everlasting Amber" ], + [ "or", + [ "quest", "New Metal" ], + [ "region", "open", "open16" ], + [ "region", "open", "open10.Infested" ], + [ "and", + [ "region", "open", "open10.Right" ], + [ "region", "open", "open10.Left" ] + ] + ] + ] + ], + [ "item", "Azure Archipelago Pass", 1 ] + ] + }, + "area": "heat-village" + }, + "Toxovolt": { + "name": "Toxovolt", + "id": "jungle.special.ghost-toxic", + "level": 68, + "firstEncounter": { + "region": { + "open": "open10" + }, + "condition": [ + [ "quest", "Rooting for Power" ], + [ "region", "open", "openDLC_Beach" ], + [ "item", "Cold", 1 ], + [ "item", "Wave", 1 ], + [ "item", "Azure Archipelago Pass", 1 ] + ] + }, + "area": "jungle" + }, + "Papaboss the Younger": { + "name": "Papaboss the Younger", + "id": "jungle.special.parrot-gangster-boss-1", + "level": 69, + "firstEncounter": { + "region": { + "linear": "3", + "open": "open3" + }, + "condition": [ + [ "quest", "In Cawhoofs" ], + [ "region", "open", "open20" ], + [ "item", "Azure Archipelago Pass", 1 ] + ] + }, + "area": "jungle-city" + }, + "Hillcart": { + "name": "Hillcart", + "id": "rhombus.meerkat-delorean", + "level": 72, + "firstEncounter": { + "region": { + "linear": "23", + "open": "open20" + }, + "condition": [ + [ "item", "Azure Archipelago Pass", 1 ] + ] + }, + "area": "rhombus-sqr" + }, + "The Goatfather": { + "name": "The Goatfather", + "id": "cold.goat-father-2", + "level": 72, + "firstEncounter": { + "region": { + "linear": "3", + "open": "open3" + }, + "condition": [ + [ "quest", "In Cawhoofs" ], + [ "region", "open", "open20" ], + [ "item", "Azure Archipelago Pass", 1 ] + ] + }, + "area": "rhombus-sqr" + }, + "Guardian Statue": { + "name": "Guardian Statue", + "id": "final.guardian", + "level": 74, + "firstEncounter": { + "region": { + "open": "openDLC_DungeonEntry" + } + }, + "area": "final-dng" + }, + "Gynthar": { + "name": "Gynthar", + "id": "final.gynthar", + "level": 75, + "firstEncounter": { + "region": { + "open": "openDLC_DungeonB2_L" + } + }, + "area": "final-dng" + }, + "Di'orbis": { + "name": "Di'orbis", + "id": "final.god-neutral", + "level": 77, + "firstEncounter": { + "region": { + "open": "openDLC_DungeonBoss" + } + }, + "area": "final-dng" + }, + "Son of the Beach": { + "name": "Son of the Beach", + "id": "beach.ape-beach", + "level": 79, + "firstEncounter": { + "region": { + "linear": "23", + "open": "openDLC_Beach" + }, + "condition": [ + [ "region", "open", "open15.1" ], + [ "item", "Azure Archipelago Pass", 1 ] + ] + }, + "area": "beach" + } + } +} diff --git a/data/in/dlc/enemies/grind.json b/data/in/dlc/enemies/grind.json new file mode 100644 index 0000000..8872af4 --- /dev/null +++ b/data/in/dlc/enemies/grind.json @@ -0,0 +1,140 @@ +{ + "enemies": { + "Echinoignis": { + "name": "Echinoignis", + "id": "beach.sea-star-heat", + "level": 66, + "region": { + "open": "openDLC_Beach" + }, + "area": "beach" + }, + "Echinonix": { + "name": "Echinonix", + "id": "beach.sea-star-cold", + "level": 66, + "region": { + "open": "openDLC_Beach" + }, + "area": "beach" + }, + "Echinofulgur": { + "name": "Echinofulgur", + "id": "beach.sea-star-shock", + "level": 66, + "region": { + "open": "openDLC_Beach" + }, + "area": "beach" + }, + "Echinofluctus": { + "name": "Echinofluctus", + "id": "beach.sea-star-wave", + "level": 66, + "region": { + "open": "openDLC_Beach" + }, + "area": "beach" + }, + "Salteric": { + "name": "Salteric", + "id": "beach.special.blob-salt", + "level": 67, + "region": { + "open": "openDLC_Beach" + }, + "area": "beach" + }, + "Balooneer": { + "name": "Balooneer", + "id": "beach.fish", + "level": 68, + "region": { + "open": "openDLC_Beach" + }, + "area": "beach" + }, + "K'im": { + "name": "K'im", + "id": "beach.worm", + "level": 70, + "region": { + "open": "openDLC_Beach" + }, + "area": "beach" + }, + "Trigenbu": { + "name": "Trigenbu", + "id": "beach.turtle-man", + "level": 71, + "region": { + "open": "openDLC_Beach" + }, + "area": "beach" + }, + + "Heat Crystalid": { + "name": "Heat Crystalid", + "id": "final.crystal-heat", + "level": 71, + "region": { + "open": "openDLC_DungeonEntry" + }, + "area": "final-dng" + }, + "Cold Crystalid": { + "name": "Cold Crystalid", + "id": "final.crystal-cold", + "level": 71, + "region": { + "open": "openDLC_DungeonEntry" + }, + "area": "final-dng" + }, + "Shock Crystalid": { + "name": "Shock Crystalid", + "id": "final.crystal-shock", + "level": 71, + "region": { + "open": "openDLC_DungeonEntry" + }, + "area": "final-dng" + }, + "Wave Crystalid": { + "name": "Wave Crystalid", + "id": "final.crystal-wave", + "level": 71, + "region": { + "open": "openDLC_DungeonEntry" + }, + "area": "final-dng" + }, + "Hummagnum": { + "name": "Hummagnum", + "id": "final.colibri", + "level": 72, + "region": { + "open": "openDLC_DungeonEntry" + }, + "area": "final-dng" + }, + "Mizree": { + "name": "Mizree", + "id": "guest.firespirit", + "level": 73, + "region": { + "open": "openDLC_DungeonEntry" + }, + "area": "final-dng" + }, + "Beearbot": { + "name": "Beearbot", + "id": "guest.honeybear", + "level": 73, + "region": { + "open": "openDLC_DungeonEntry" + }, + "area": "final-dng" + } + } +} diff --git a/data/in/dlc/enemies/master.json b/data/in/dlc/enemies/master.json new file mode 100644 index 0000000..42acbd0 --- /dev/null +++ b/data/in/dlc/enemies/master.json @@ -0,0 +1,6 @@ +{ + "_includes": [ + "grind.json", + "bosses.json" + ] +} diff --git a/data/in/dlc/master.json b/data/in/dlc/master.json index b403dcf..0b2c448 100644 --- a/data/in/dlc/master.json +++ b/data/in/dlc/master.json @@ -7,13 +7,14 @@ "regions.json", "shops.json", "item-pools.json", + "enemies/master.json", "prog-items/master.json" ], "_comment": "Checks that are found only in DLC areas", "dungeons": [ "final-dng" ], "keyringItems": [ "Ku'lero Key" ], "_global": { - "/botanics|cutscenes|chests|quests|regions|item-pools|shops/": { + "/botanics|cutscenes|chests|quests|regions|item-pools|shops|enemies/": { "*": { "metadata": { "dlc": true diff --git a/data/in/enemies/bosses.json b/data/in/enemies/bosses.json new file mode 100644 index 0000000..f2c1137 --- /dev/null +++ b/data/in/enemies/bosses.json @@ -0,0 +1,353 @@ +{ + "enemies": { + "Hillkat Bandleader": { + "name": "Hillkat Bandleader", + "id": "meerkat-special-command-1", + "level": 13, + "firstEncounter": { + "region": { + "open": "open3" + }, + "condition": [ + [ "quest", "Digging for Data" ] + ] + }, + "area": "autumn-area" + }, + "Blue Hedgehag": { + "name": "Blue Hedgehag", + "id": "minibosses.blue-hedge", + "level": 15, + "firstEncounter": { + "region": { + "open": "open3" + } + }, + "area": "autumn-area" + }, + "Infected Digmo": { + "name": "Infected Digmo", + "id": "mine-diggingbot-cold", + "level": 19, + "firstEncounter": { + "region": { + "open": "open4.5" + } + }, + "area": "cold-dng" + }, + "Peng King Dakara": { + "name": "Peng King Dakara", + "id": "minibosses.penguin-rapper", + "level": 21, + "firstEncounter": { + "region": { + "open": "open3" + }, + "condition": [ + [ "item", "Heat" ] + ] + }, + "area": "bergen-trails" + }, + "X01 Driller H.F.S.": { + "name": "X01 Driller H.F.S.", + "id": "boss-driller", + "level": 21, + "firstEncounter": { + "region": { + "open": "open4.8" + } + }, + "area": "cold-dng" + }, + "Ti'im": { + "name": "Ti'im", + "id": "heat.sandworm-boss", + "level": 26, + "firstEncounter": { + "region": { + "open": "open6" + } + }, + "area": "heat-area" + }, + "Cursed Sharkster": { + "name": "Cursed Sharkster", + "id": "minibosses.cursed-sandshark", + "level": 30, + "firstEncounter": { + "region": { + "open": "openCursedTemple" + } + }, + "area": "heat-area" + }, + "Pinzo'jrahrrrn": { + "name": "Pinzo'jrahrrrn", + "id": "heat.antlion", + "level": 28, + "firstEncounter": { + "region": { + "open": "open7.1" + } + }, + "area": "heat-dng" + }, + "Master Magmoth": { + "name": "Master Magmoth", + "id": "heat.megamoth", + "level": 30, + "firstEncounter": { + "region": { + "open": "open7.8" + } + }, + "area": "heat-dng" + }, + "Guard Billston": { + "name": "Guard Billston", + "id": "heat.special.guard-hostile-mustache", + "level": 33, + "firstEncounter": { + "region": { + "open": "open5" + }, + "condition": [ + [ "quest", "Shady Thief" ], + [ "item", "Red Flame Shade" ], + [ "item", "Heat", 1 ], + [ "item", "Cold", 1 ] + ] + }, + "area": "heat-area" + }, + "Hologram Frobbit": { + "name": "Hologram Frobbit", + "id": "daft-frobbit", + "level": 36, + "firstEncounter": { + "region": { + "linear": "20", + "open": "open9" + }, + "condition": [ + [ "item", "Heat" ], + [ "item", "Cold" ] + ] + }, + "area": "autumn-fall" + }, + "Smelter Digmo": { + "name": "Smelter Digmo", + "id": "cold.mine-diggingbot-quest", + "level": 36, + "firstEncounter": { + "region": { + "linear": "20", + "open": "open9" + }, + "condition": [ + [ "item", "Red Flame Shade", 1 ], + [ "item", "Heat", 1 ], + [ "item", "Cold", 1 ], + [ "region", "open", "open4.5" ], + [ "quest", "Bull Grab" ] + ] + }, + "area": "cold-dng" + }, + "Blazehoof": { + "name": "Blazehoof", + "id": "autumn-fall.buffalo-fire-quest", + "level": 37, + "firstEncounter": { + "region": { + "linear": "20", + "open": "open9" + }, + "condition": [ + [ "quest", "Intensive Tree Care" ], + [ "item", "Heat" ], + [ "item", "Cold" ] + ] + }, + "area": "autumn-fall" + }, + "Plasma Phantom": { + "name": "Plasma Phantom", + "id": "jungle.shockboss", + "level": 44, + "firstEncounter": { + "region": { + "open": "open13.1" + } + }, + "area": "shock-dng" + }, + "Sir Blobus Starnikus": { + "name": "Sir Blobus Starnikus", + "id": "jungle.waveboss", + "level": 44, + "firstEncounter": { + "region": { + "open": "open14.5" + } + }, + "area": "wave-dng" + }, + "Tiefsee Angler": { + "name": "Tiefsee Angler", + "id": "minibosses.deep-fish", + "level": 46, + "firstEncounter": { + "region": { + "open": "open10.Grove" + }, + "condition": [ + [ "item", "Wave", 1 ], + [ "item", "Shock", 1 ] + ] + }, + "area": "jungle" + }, + "Son of the East": { + "name": "Son of the East", + "id": "jungle.ape-boss", + "level": 46, + "firstEncounter": { + "region": { + "open": "open15.1" + } + }, + "area": "tree-dng" + }, + "Ancient Guardian": { + "name": "Ancient Guardian", + "id": "jungle.whale-boss", + "level": 46, + "firstEncounter": { + "region": { + "open": "open15.3" + } + }, + "area": "tree-dng" + }, + "Karotto Fruitseeker": { + "name": "Karotto Fruitseeker", + "id": "jungle.special.snowman-jungle-boss", + "level": 47, + "firstEncounter": { + "region": { + "linear": "23", + "open": "open10" + }, + "condition": [ + [ "item", "Purple Bolt Shade", 1 ], + [ "item", "Azure Drop Shade", 1 ], + [ "item", "Shock", 1 ], + [ "item", "Wave", 1 ], + [ "quest", "Tropical Chill" ] + ] + }, + "area": "jungle" + }, + "Buff Bloomy": { + "name": "Buff Bloomy", + "id": "jungle.special.powerplant-quest-1", + "level": 47, + "firstEncounter": { + "region": { + "linear": "23", + "open": "open10" + }, + "condition": [ + [ "item", "Purple Bolt Shade", 1 ], + [ "item", "Azure Drop Shade", 1 ], + [ "item", "Wave" ], + [ "quest", "Lakeside Escort" ] + ] + }, + "area": "jungle" + }, + "Twilight Master": { + "name": "Twilight Master", + "id": "forest.samurai-boss", + "level": 51, + "firstEncounter": { + "region": { + "open": "open17" + } + }, + "area": "forest" + }, + "King Kaktorro": { + "name": "King Kaktorro", + "id": "heat.special.sandman-1", + "level": 57, + "firstEncounter": { + "region": { + "linear": "11", + "open": "open5" + }, + "condition": [ + [ "quest", "Hot Trail" ], + [ "item", "Wave", 1 ], + [ "item", "Meteor Shade", 1 ] + ] + }, + "area": "heat-area" + }, + "DON'T USE THIS": { + "name": "DON'T USE THIS", + "id": "guest.glitch-boss", + "level": 58, + "firstEncounter": { + "region": { + "linear": "31", + "open": "open16" + }, + "condition": [ + [ "item", "Heat", 1 ], + [ "item", "Cold", 1 ], + [ "item", "Wave", 1 ], + [ "item", "Shock", 1 ] + ] + }, + "area": "heat-area" + }, + "Designer": { + "name": "Designer", + "id": "boss.designer-2", + "level": 60, + "firstEncounter": { + "region": { + "open": "open18" + } + }, + "area": "arid" + }, + "The Creator": { + "name": "The Creator", + "id": "boss.elephant", + "level": 60, + "firstEncounter": { + "region": { + "open": "open18" + } + }, + "area": "arid-dng-2" + }, + "Pandza Mk. II": { + "name": "Pandza Mk. II", + "id": "minibosses.panda-boss", + "level": 62, + "firstEncounter": { + "region": { + "open": "open20" + } + }, + "area": "forest" + } + } +} diff --git a/data/in/enemies/grind.json b/data/in/enemies/grind.json new file mode 100644 index 0000000..760c08e --- /dev/null +++ b/data/in/enemies/grind.json @@ -0,0 +1,723 @@ +{ + "enemies": { + "Hedgehag": { + "name": "Hedgehag", + "id": "hedgehog", + "level": 4, + "region": { + "open": "open3" + }, + "boosted": { + "level": 55, + "booster": "Rise Booster" + }, + "area": "autumn-area" + }, + "Rockin' Hillkat": { + "name": "Rockin' Hillkat", + "id": "meerkat", + "level": 5, + "region": { + "open": "open3" + }, + "boosted": { + "level": 55, + "booster": "Rise Booster" + }, + "area": "autumn-area" + }, + "Mad Bovine": { + "name": "Mad Bovine", + "id": "buffalo", + "level": 6, + "region": { + "open": "open3" + }, + "boosted": { + "level": 56, + "booster": "Rise Booster" + }, + "area": "autumn-area" + }, + "Old Hedgehag": { + "name": "Old Hedgehag", + "id": "hedgehog-alt", + "level": 9, + "region": { + "open": "open3" + }, + "boosted": { + "level": 57, + "booster": "Rise Booster" + }, + "area": "autumn-area" + }, + "Flamin' Hillkat": { + "name": "Flamin' Hillkat", + "id": "meerkat-alt", + "level": 10, + "region": { + "open": "open3" + }, + "boosted": { + "level": 57, + "booster": "Rise Booster" + }, + "area": "autumn-area" + }, + "Red Eyed Bovine": { + "name": "Red Eyed Bovine", + "id": "buffalo-alt", + "level": 12, + "region": { + "open": "open3" + }, + "boosted": { + "level": 58, + "booster": "Rise Booster" + }, + "area": "autumn-area" + }, + + "Young Frobbit": { + "name": "Young Frobbit", + "id": "gray-frobbit", + "level": 13, + "region": { + "open": "open3" + }, + "boosted": { + "level": 58, + "booster": "Trail Booster" + }, + "area": "bergen-trails" + }, + "White Frobbit": { + "name": "White Frobbit", + "id": "frobbit", + "level": 15, + "region": { + "open": "open3" + }, + "boosted": { + "level": 60, + "booster": "Trail Booster" + }, + "area": "bergen-trails" + }, + "Seafly": { + "name": "Seafly", + "id": "seahorse", + "level": 16, + "region": { + "open": "open3" + }, + "boosted": { + "level": 59, + "booster": "Trail Booster" + }, + "area": "bergen-trails" + }, + "Pengpeng": { + "name": "Pengpeng", + "id": "penguin", + "level": 17, + "region": { + "open": "open3" + }, + "boosted": { + "level": 59, + "booster": "Trail Booster" + }, + "area": "bergen-trails" + }, + "Horny Goat": { + "name": "Horny Goat", + "id": "goat", + "level": 17, + "region": { + "open": "open3" + }, + "boosted": { + "level": 60, + "booster": "Trail Booster" + }, + "area": "bergen-trails" + }, + "Karotto": { + "name": "Karotto", + "id": "snowman", + "level": 18, + "region": { + "open": "open3" + }, + "boosted": { + "level": 60, + "booster": "Trail Booster" + }, + "area": "bergen-trails" + }, + + "Fleazer": { + "name": "Fleazer", + "id": "mine-coldbug", + "level": 18, + "firstEncounter": { + "region": { + "open": "open4.2" + } + }, + "grind": { + "region": { + "open": "open4.4" + } + }, + "boosted": { + "level": 60, + "booster": "Trail Booster" + }, + "area": "cold-dng" + }, + "Carritrich": { + "name": "Carritrich", + "id": "mine-runbot", + "level": 18, + "firstEncounter": { + "region": { + "open": "open4.2" + } + }, + "grind": { + "region": { + "open": "open4.4" + } + }, + "boosted": { + "level": 60, + "booster": "Trail Booster" + }, + "area": "cold-dng" + }, + "Kamikatze": { + "name": "Kamikatze", + "id": "mine-kamikatze", + "level": 18, + "firstEncounter": { + "region": { + "open": "open4.2" + } + }, + "grind": { + "region": { + "open": "open4.4" + } + }, + "boosted": { + "level": 60, + "booster": "Trail Booster" + }, + "area": "cold-dng" + }, + "Digmo": { + "name": "Digmo", + "id": "mine-diggingbot", + "level": 19, + "firstEncounter": { + "region": { + "open": "open4.4" + } + }, + "grind": { + "region": { + "open": "open4.6" + } + }, + "boosted": { + "level": 60, + "booster": "Trail Booster" + }, + "area": "cold-dng" + }, + + "Pinceron": { + "name": "Pinceron", + "id": "heat.scorpion", + "level": 23, + "region": { + "open": "open5" + }, + "boosted": { + "level": 61, + "booster": "Valley Booster" + }, + "area": "heat-area" + }, + "Sharkster": { + "name": "Sharkster", + "id": "heat.sandshark", + "level": 24, + "region": { + "open": "open5" + }, + "boosted": { + "level": 61, + "booster": "Valley Booster" + }, + "area": "heat-area" + }, + "Vulturbine": { + "name": "Vulturbine", + "id": "heat.volturbine", + "level": 24, + "region": { + "open": "open5" + }, + "boosted": { + "level": 61, + "booster": "Valley Booster" + }, + "area": "heat-area" + }, + "Drillertoise": { + "name": "Drillertoise", + "id": "heat.drillertoise", + "level": 25, + "region": { + "open": "open5" + }, + "boosted": { + "level": 61, + "booster": "Valley Booster" + }, + "area": "heat-area" + }, + "Tim": { + "name": "Tim", + "id": "heat.sandworm", + "level": 25, + "region": { + "open": "open5" + }, + "boosted": { + "level": 62, + "booster": "Valley Booster" + }, + "area": "heat-area" + }, + "Boss Pincer": { + "name": "Boss Pincer", + "id": "heat.scorpion-alt", + "level": 26, + "region": { + "open": "open5" + }, + "boosted": { + "level": 62, + "booster": "Valley Booster" + }, + "area": "heat-area" + }, + + "Trijelly": { + "name": "Trijelly", + "id": "heat.jellyfish", + "level": 27, + "firstEncounter": { + "region": { + "open": "open7.2" + } + }, + "grind": { + "region": { + "open": "open7.6" + } + }, + "boosted": { + "level": 62, + "booster": "Valley Booster" + }, + "area": "heat-dng" + }, + "Pada Moth": { + "name": "Pada Moth", + "id": "heat.moth", + "level": 27, + "firstEncounter": { + "region": { + "open": "open7.2" + } + }, + "grind": { + "region": { + "open": "open7.6" + } + }, + "boosted": { + "level": 62, + "booster": "Valley Booster" + }, + "area": "heat-dng" + }, + "Darth Moth": { + "name": "Darth Moth", + "id": "heat.darth-moth", + "level": 28, + "firstEncounter": { + "region": { + "open": "open7.6" + } + }, + "grind": { + "region": { + "open": "open7.7" + } + }, + "boosted": { + "level": 62, + "booster": "Valley Booster" + }, + "area": "heat-dng" + }, + "Magmanizer": { + "name": "Magmanizer", + "id": "heat.heat-golem", + "level": 28, + "firstEncounter": { + "region": { + "open": "open7.5" + } + }, + "grind": { + "region": { + "open": "open7.6" + } + }, + "boosted": { + "level": 62, + "booster": "Valley Booster" + }, + "area": "heat-dng" + }, + + "Radical Hedgehag": { + "name": "Radical Hedgehag", + "id": "autumn-fall.hedgehog-fall", + "level": 32, + "region": { + "open": "open8" + }, + "boosted": { + "level": 62, + "booster": "Fall Booster" + }, + "area": "autumn-fall" + }, + "Chillin' Hillkat": { + "name": "Chillin' Hillkat", + "id": "autumn-fall.meerkat-fall", + "level": 34, + "region": { + "open": "open8" + }, + "boosted": { + "level": 62, + "booster": "Fall Booster" + }, + "area": "autumn-fall" + }, + "Fallfly": { + "name": "Fallfly", + "id": "autumn-fall.seahorse-fall", + "level": 35, + "region": { + "open": "open8" + }, + "boosted": { + "level": 62, + "booster": "Fall Booster" + }, + "area": "autumn-fall" + }, + "Ivory Bovine": { + "name": "Ivory Bovine", + "id": "autumn-fall.buffalo-fall", + "level": 36, + "region": { + "open": "open8" + }, + "boosted": { + "level": 62, + "booster": "Fall Booster" + }, + "area": "autumn-fall" + }, + + "Neutral Virus": { + "name": "Neutral Virus", + "id": "arid.virus-neutral", + "level": 38, + "region": { + "open": "open16" + }, + "area": "arid" + }, + "Heat Virus": { + "name": "Heat Virus", + "id": "arid.virus-heat", + "level": 38, + "region": { + "open": "open16" + }, + "area": "arid" + }, + "Cold Virus": { + "name": "Cold Virus", + "id": "arid.virus-cold", + "level": 38, + "region": { + "open": "open16" + }, + "area": "arid" + }, + + "Argeby": { + "name": "Argeby", + "id": "jungle.plant", + "level": 37, + "region": { + "open": "open10" + }, + "boosted": { + "level": 63, + "booster": "Garden Booster" + }, + "area": "jungle" + }, + "Gelleric": { + "name": "Gelleric", + "id": "jungle.blob", + "level": 38, + "region": { + "open": "open10" + }, + "boosted": { + "level": 63, + "booster": "Garden Booster" + }, + "area": "jungle" + }, + "Papagun": { + "name": "Papagun", + "id": "jungle.parrot", + "level": 38, + "region": { + "open": "open10" + }, + "boosted": { + "level": 63, + "booster": "Garden Booster" + }, + "area": "jungle" + }, + "Angler": { + "name": "Angler", + "id": "jungle.fish", + "level": 39, + "region": { + "open": "open10.Grove" + }, + "boosted": { + "level": 63, + "booster": "Garden Booster" + }, + "area": "jungle" + }, + "Shokat": { + "name": "Shokat", + "id": "jungle.shockcat", + "level": 40, + "firstEncounter": { + "region": { + "open": "open10" + } + }, + "grind": { + "region": { + "open": "open10.Mid" + } + }, + "boosted": { + "level": 63, + "booster": "Garden Booster" + }, + "area": "jungle" + }, + "Behesloth": { + "name": "Behesloth", + "id": "jungle.sloth", + "level": 42, + "region": { + "open": "open10.Infested" + }, + "boosted": { + "level": 63, + "booster": "Garden Booster" + }, + "area": "jungle" + }, + + "Jelleric": { + "name": "Jelleric", + "id": "jungle.blob-wave", + "level": 42, + "firstEncounter": { + "region": { + "open": "open10.Left" + } + }, + "grind": { + "region": { + "open": "open14.1" + } + }, + "boosted": { + "level": 63, + "booster": "Garden Booster" + }, + "area": "wave-dng" + }, + "Ocubepus": { + "name": "Ocubepus", + "id": "jungle.octopus", + "level": 42, + "region": { + "open": "open14.1" + }, + "boosted": { + "level": 63, + "booster": "Garden Booster" + }, + "area": "wave-dng" + }, + "Blue Ray": { + "name": "Blue Ray", + "id": "jungle.blueray", + "level": 44, + "region": { + "open": "open14.1" + }, + "boosted": { + "level": 64, + "booster": "Garden Booster" + }, + "area": "wave-dng" + }, + + "Rob0ck": { + "name": "Rob0ck", + "id": "jungle.chicken", + "level": 42, + "region": { + "open": "open10.Right" + }, + "boosted": { + "level": 63, + "booster": "Garden Booster" + }, + "area": "shock-dng" + }, + "Powerplant": { + "name": "Powerplant", + "id": "jungle.powerplant", + "level": 43, + "firstEncounter": { + "region": { + "open": "open10.Right" + } + }, + "grind": { + "region": { + "open": "open13.1" + } + }, + "boosted": { + "level": 64, + "booster": "Garden Booster" + }, + "area": "shock-dng" + }, + "Ectovolt": { + "name": "Ectovolt", + "id": "jungle.ghost", + "level": 44, + "firstEncounter": { + "region": { + "open": "open10.Right" + } + }, + "grind": { + "region": { + "open": "open13.1" + } + }, + "boosted": { + "level": 64, + "booster": "Garden Booster" + }, + "area": "shock-dng" + }, + + "Sun Beetle": { + "name": "Sun Beetle", + "id": "forest.bug-samurai-heat", + "level": 51, + "region": { + "open": "open16" + }, + "boosted": { + "level": 65, + "booster": "Ridge Booster" + }, + "area": "forest" + }, + "Moon Beetle": { + "name": "Moon Beetle", + "id": "forest.bug-samurai-shock", + "level": 51, + "region": { + "open": "open16" + }, + "boosted": { + "level": 65, + "booster": "Ridge Booster" + }, + "area": "forest" + }, + "Pandza": { + "name": "Pandza", + "id": "forest.panda", + "level": 51, + "region": { + "open": "open16" + }, + "boosted": { + "level": 65, + "booster": "Ridge Booster" + }, + "area": "forest" + }, + "Aranetarda": { + "name": "Aranetarda", + "id": "forest.spider", + "level": 52, + "region": { + "open": "open16" + }, + "boosted": { + "level": 65, + "booster": "Ridge Booster" + }, + "area": "forest" + } + } +} diff --git a/data/in/enemies/master.json b/data/in/enemies/master.json new file mode 100644 index 0000000..42acbd0 --- /dev/null +++ b/data/in/enemies/master.json @@ -0,0 +1,6 @@ +{ + "_includes": [ + "grind.json", + "bosses.json" + ] +} diff --git a/data/in/items.json b/data/in/items.json index 9047e5b..8044ab8 100644 --- a/data/in/items.json +++ b/data/in/items.json @@ -995,6 +995,7 @@ "id": 322 }, "Infinity Spiral Drill": { + "providesLevels": false, "id": 323 }, "Stone of Truth": { @@ -1013,9 +1014,11 @@ "id": 328 }, "Burglar's Rope": { + "providesLevels": false, "id": 329 }, "Excalibro": { + "providesLevels": false, "id": 330 }, "Snack Mix": { @@ -1907,6 +1910,7 @@ "id": 633 }, "Singularity Drill": { + "providesLevels": false, "id": 634 }, "Rift Spore": { @@ -1994,6 +1998,7 @@ "id": 664 }, "Lis'mita Cap": { + "providesLevels": false, "id": 665 }, "Enlightened Halo": { diff --git a/data/in/master.json b/data/in/master.json index d7245ff..729d25b 100644 --- a/data/in/master.json +++ b/data/in/master.json @@ -11,6 +11,7 @@ "botanics.json", "prog-items/master.json", "groups/master.json", + "enemies/master.json", "dlc/master.json", "vars.json", "item-pools/master.json" @@ -21,740 +22,6 @@ "modes": [ "linear", "open" ], "defaultMode": "open", "dungeons": [ "cold-dng", "heat-dng", "shock-dng", "wave-dng", "tree-dng" ], - "enemyData": { - "regularEnemies": { - "hedgehog": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "hedgehog-alt": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "meerkat": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1.5 - }, - "meerkat-alt": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "buffalo": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3.5 - }, - "buffalo-alt": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3.5 - }, - "frobbit": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "gray-frobbit": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "seahorse": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1.5 - }, - "penguin": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 2 - }, - "goat": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3 - }, - "snowman": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 5 - }, - "mine-coldbug": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 0.8 - }, - "mine-runbot": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3 - }, - "mine-diggingbot": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 6 - }, - "mine-kamikatze": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3 - }, - "heat.scorpion": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 2 - }, - "heat.scorpion-alt": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 2 - }, - "heat.sandshark": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 2.5 - }, - "heat.sandworm": { - "elements": [ - 1, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 5.5 - }, - "heat.drillertoise": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3 - }, - "heat.volturbine": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3 - }, - "heat.moth": { - "elements": [ - -1, - 0, - 0, - 0 - ], - "mapElements": "pole", - "endurance": 1.5 - }, - "heat.heat-golem": { - "elements": [ - 0, - 1, - 0, - 0 - ], - "mapElements": "waterBubblePanel", - "endurance": 6 - }, - "heat.jellyfish": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3 - }, - "heat.darth-moth": { - "elements": [ - -1, - 0, - 0, - 0 - ], - "mapElements": "pole", - "endurance": 3 - }, - "autumn-fall.buffalo-fall": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1.5 - }, - "autumn-fall.hedgehog-fall": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "autumn-fall.meerkat-fall": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1.5 - }, - "autumn-fall.seahorse-fall": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1.5 - }, - "jungle.shockcat": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1.5 - }, - "jungle.parrot": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 2.5 - }, - "jungle.sloth": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 6 - }, - "jungle.fish": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 2.5 - }, - "jungle.plant": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 2 - }, - "jungle.blob": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "jungle.blob-wave": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "jungle.powerplant": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 4 - }, - "jungle.chicken": { - "elements": [ - 0, - 0, - 0, - 1 - ], - "mapElements": "waveTeleport", - "endurance": 3 - }, - "jungle.octopus": { - "elements": [ - 0, - 0, - 1, - 0 - ], - "mapElements": "magnet", - "endurance": 3 - }, - "jungle.blueray": { - "elements": [ - 0, - 0, - 1, - 0 - ], - "mapElements": "teslaCoil", - "endurance": 4 - }, - "jungle.ghost": { - "elements": [ - 0, - 0, - 0, - 1 - ], - "mapElements": "compressor", - "endurance": 4 - }, - "forest.bug-samurai-heat": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3.5 - }, - "forest.bug-samurai-shock": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3.5 - }, - "forest.panda": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 5.5 - }, - "forest.spider": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "arid.virus-cold": { - "elements": [ - 1, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 2 - }, - "arid.virus-heat": { - "elements": [ - 0, - 1, - 0, - 0 - ], - "mapElements": "", - "endurance": 2 - }, - "arid.virus-neutral": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "arid.rhino": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 5 - }, - "arid.shredder-cold": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 4 - }, - "arid.shredder-heat": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 4 - }, - "arid.shredder-shock": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 4 - }, - "arid.shredder-wave": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 4 - }, - "arid.dice-mage": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 5 - }, - "beach.sea-star-cold": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "beach.sea-star-heat": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "beach.sea-star-shock": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "beach.sea-star-wave": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "beach.fish": { - "elements": [ - 0, - 1, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "beach.turtle-man": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 2.5 - }, - "beach.worm": { - "elements": [ - 1, - 1, - 0, - 0 - ], - "mapElements": "", - "endurance": 3 - }, - "final.crystal-cold": { - "elements": [ - 1, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "final.crystal-heat": { - "elements": [ - 0, - 1, - 0, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "final.crystal-shock": { - "elements": [ - 0, - 0, - 0, - 1 - ], - "mapElements": "", - "endurance": 1 - }, - "final.crystal-wave": { - "elements": [ - 0, - 0, - 1, - 0 - ], - "mapElements": "", - "endurance": 1 - }, - "final.colibri": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 2.5 - }, - "final.ele-pillar-cold": { - "elements": [ - 1, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 3 - }, - "final.ele-pillar-heat": { - "elements": [ - 0, - 1, - 0, - 0 - ], - "mapElements": "", - "endurance": 3 - }, - "final.ele-pillar-shock": { - "elements": [ - 0, - 0, - 0, - 1 - ], - "mapElements": "", - "endurance": 3 - }, - "final.ele-pillar-wave": { - "elements": [ - 0, - 0, - 1, - 0 - ], - "mapElements": "", - "endurance": 3 - }, - "guest.firespirit": { - "elements": [ - 0, - 1, - 0, - 0 - ], - "mapElements": "", - "endurance": 6 - }, - "guest.honeybear": { - "elements": [ - 0, - 0, - 0, - 0 - ], - "mapElements": "", - "endurance": 6 - } - } - }, "mwconstants": { "BASE_ID": 3235824000, "BASE_NORMAL_LOCATION_ID": 3235824100 diff --git a/data/in/regions.json b/data/in/regions.json index 51ee2f8..b768d9e 100644 --- a/data/in/regions.json +++ b/data/in/regions.json @@ -331,7 +331,7 @@ "condition": [ [ "item", "Blue Ice Shade", 1 ] ] - }, + }, { "from": "open2", "to": "open5", @@ -340,6 +340,15 @@ [ "var", "rhombusHubUnlock" ] ] }, + { + "from": "open5", + "to": "openCursedTemple", + "condition": [ + [ "item", "Heat", 1 ], + [ "item", "Cold", 1 ], + [ "item", "Cursed Coin", 1 ] + ] + }, { "from": "open5", "to": "open6", diff --git a/data/out/data.json b/data/out/data.json index 1d8affe..3cd1292 100644 --- a/data/out/data.json +++ b/data/out/data.json @@ -5134,6 +5134,311 @@ } } }, + "enemies": { + "hedgehog": { + "kill": 3235825012 + }, + "meerkat": { + "kill": 3235825013 + }, + "buffalo": { + "kill": 3235825014 + }, + "hedgehog-alt": { + "kill": 3235825015 + }, + "meerkat-alt": { + "kill": 3235825016 + }, + "buffalo-alt": { + "kill": 3235825017 + }, + "gray-frobbit": { + "kill": 3235825018 + }, + "frobbit": { + "kill": 3235825019 + }, + "seahorse": { + "kill": 3235825020 + }, + "penguin": { + "kill": 3235825021 + }, + "goat": { + "kill": 3235825022 + }, + "snowman": { + "kill": 3235825023 + }, + "mine-coldbug": { + "kill": 3235825024 + }, + "mine-runbot": { + "kill": 3235825025 + }, + "mine-kamikatze": { + "kill": 3235825026 + }, + "mine-diggingbot": { + "kill": 3235825027 + }, + "heat.scorpion": { + "kill": 3235825028 + }, + "heat.sandshark": { + "kill": 3235825029 + }, + "heat.volturbine": { + "kill": 3235825030 + }, + "heat.drillertoise": { + "kill": 3235825031 + }, + "heat.sandworm": { + "kill": 3235825032 + }, + "heat.scorpion-alt": { + "kill": 3235825033 + }, + "heat.jellyfish": { + "kill": 3235825034 + }, + "heat.moth": { + "kill": 3235825035 + }, + "heat.darth-moth": { + "kill": 3235825036 + }, + "heat.heat-golem": { + "kill": 3235825037 + }, + "autumn-fall.hedgehog-fall": { + "kill": 3235825038 + }, + "autumn-fall.meerkat-fall": { + "kill": 3235825039 + }, + "autumn-fall.seahorse-fall": { + "kill": 3235825040 + }, + "autumn-fall.buffalo-fall": { + "kill": 3235825041 + }, + "arid.virus-neutral": { + "kill": 3235825042 + }, + "arid.virus-heat": { + "kill": 3235825043 + }, + "arid.virus-cold": { + "kill": 3235825044 + }, + "jungle.plant": { + "kill": 3235825045 + }, + "jungle.blob": { + "kill": 3235825046 + }, + "jungle.parrot": { + "kill": 3235825047 + }, + "jungle.fish": { + "kill": 3235825048 + }, + "jungle.shockcat": { + "kill": 3235825049 + }, + "jungle.sloth": { + "kill": 3235825050 + }, + "jungle.blob-wave": { + "kill": 3235825051 + }, + "jungle.octopus": { + "kill": 3235825052 + }, + "jungle.blueray": { + "kill": 3235825053 + }, + "jungle.chicken": { + "kill": 3235825054 + }, + "jungle.powerplant": { + "kill": 3235825055 + }, + "jungle.ghost": { + "kill": 3235825056 + }, + "forest.bug-samurai-heat": { + "kill": 3235825057 + }, + "forest.bug-samurai-shock": { + "kill": 3235825058 + }, + "forest.panda": { + "kill": 3235825059 + }, + "forest.spider": { + "kill": 3235825060 + }, + "meerkat-special-command-1": { + "kill": 3235825061 + }, + "minibosses.blue-hedge": { + "kill": 3235825062 + }, + "mine-diggingbot-cold": { + "kill": 3235825063 + }, + "minibosses.penguin-rapper": { + "kill": 3235825064 + }, + "boss-driller": { + "kill": 3235825065 + }, + "heat.sandworm-boss": { + "kill": 3235825066 + }, + "minibosses.cursed-sandshark": { + "kill": 3235825067 + }, + "heat.antlion": { + "kill": 3235825068 + }, + "heat.megamoth": { + "kill": 3235825069 + }, + "heat.special.guard-hostile-mustache": { + "kill": 3235825070 + }, + "daft-frobbit": { + "kill": 3235825071 + }, + "cold.mine-diggingbot-quest": { + "kill": 3235825072 + }, + "autumn-fall.buffalo-fire-quest": { + "kill": 3235825073 + }, + "jungle.shockboss": { + "kill": 3235825074 + }, + "jungle.waveboss": { + "kill": 3235825075 + }, + "minibosses.deep-fish": { + "kill": 3235825076 + }, + "jungle.ape-boss": { + "kill": 3235825077 + }, + "jungle.whale-boss": { + "kill": 3235825078 + }, + "jungle.special.snowman-jungle-boss": { + "kill": 3235825079 + }, + "jungle.special.powerplant-quest-1": { + "kill": 3235825080 + }, + "forest.samurai-boss": { + "kill": 3235825081 + }, + "heat.special.sandman-1": { + "kill": 3235825082 + }, + "guest.glitch-boss": { + "kill": 3235825083 + }, + "boss.designer-2": { + "kill": 3235825084 + }, + "boss.elephant": { + "kill": 3235825085 + }, + "minibosses.panda-boss": { + "kill": 3235825086 + }, + "beach.sea-star-heat": { + "kill": 3235825087 + }, + "beach.sea-star-cold": { + "kill": 3235825088 + }, + "beach.sea-star-shock": { + "kill": 3235825089 + }, + "beach.sea-star-wave": { + "kill": 3235825090 + }, + "beach.special.blob-salt": { + "kill": 3235825091 + }, + "beach.fish": { + "kill": 3235825092 + }, + "beach.worm": { + "kill": 3235825093 + }, + "beach.turtle-man": { + "kill": 3235825094 + }, + "final.crystal-heat": { + "kill": 3235825095 + }, + "final.crystal-cold": { + "kill": 3235825096 + }, + "final.crystal-shock": { + "kill": 3235825097 + }, + "final.crystal-wave": { + "kill": 3235825098 + }, + "final.colibri": { + "kill": 3235825099 + }, + "guest.firespirit": { + "kill": 3235825100 + }, + "guest.honeybear": { + "kill": 3235825101 + }, + "autumn-rh.turret_boss-quest_naval": { + "kill": 3235825102 + }, + "autumn-fall.runbot-tremor": { + "kill": 3235825103 + }, + "heat.special.heat-golem-booze": { + "kill": 3235825104 + }, + "jungle.special.ghost-toxic": { + "kill": 3235825105 + }, + "jungle.special.parrot-gangster-boss-1": { + "kill": 3235825106 + }, + "rhombus.meerkat-delorean": { + "kill": 3235825107 + }, + "cold.goat-father-2": { + "kill": 3235825108 + }, + "final.guardian": { + "kill": 3235825109 + }, + "final.gynthar": { + "kill": 3235825110 + }, + "final.god-neutral": { + "kill": 3235825111 + }, + "beach.ape-beach": { + "kill": 3235825112 + } + }, "botanics": { "Autumn-Ground-1": 3235824920, "Autumn-Ground-2": 3235824921, diff --git a/data/out/locations.json b/data/out/locations.json index 500a96d..edccdff 100644 --- a/data/out/locations.json +++ b/data/out/locations.json @@ -1009,5 +1009,106 @@ "Botanics: Alpha Keen Sprout": 3235825004, "Botanics: Beta Keen Sprout": 3235825005, "Botanics: Alpha Fossil Stone": 3235825006, - "Botanics: Beta Fossil Stone": 3235825007 + "Botanics: Beta Fossil Stone": 3235825007, + "Monster Fibula: Hedgehag": 3235825012, + "Monster Fibula: Rockin' Hillkat": 3235825013, + "Monster Fibula: Mad Bovine": 3235825014, + "Monster Fibula: Old Hedgehag": 3235825015, + "Monster Fibula: Flamin' Hillkat": 3235825016, + "Monster Fibula: Red Eyed Bovine": 3235825017, + "Monster Fibula: Young Frobbit": 3235825018, + "Monster Fibula: White Frobbit": 3235825019, + "Monster Fibula: Seafly": 3235825020, + "Monster Fibula: Pengpeng": 3235825021, + "Monster Fibula: Horny Goat": 3235825022, + "Monster Fibula: Karotto": 3235825023, + "Monster Fibula: Fleazer": 3235825024, + "Monster Fibula: Carritrich": 3235825025, + "Monster Fibula: Kamikatze": 3235825026, + "Monster Fibula: Digmo": 3235825027, + "Monster Fibula: Pinceron": 3235825028, + "Monster Fibula: Sharkster": 3235825029, + "Monster Fibula: Vulturbine": 3235825030, + "Monster Fibula: Drillertoise": 3235825031, + "Monster Fibula: Tim": 3235825032, + "Monster Fibula: Boss Pincer": 3235825033, + "Monster Fibula: Trijelly": 3235825034, + "Monster Fibula: Pada Moth": 3235825035, + "Monster Fibula: Darth Moth": 3235825036, + "Monster Fibula: Magmanizer": 3235825037, + "Monster Fibula: Radical Hedgehag": 3235825038, + "Monster Fibula: Chillin' Hillkat": 3235825039, + "Monster Fibula: Fallfly": 3235825040, + "Monster Fibula: Ivory Bovine": 3235825041, + "Monster Fibula: Neutral Virus": 3235825042, + "Monster Fibula: Heat Virus": 3235825043, + "Monster Fibula: Cold Virus": 3235825044, + "Monster Fibula: Argeby": 3235825045, + "Monster Fibula: Gelleric": 3235825046, + "Monster Fibula: Papagun": 3235825047, + "Monster Fibula: Angler": 3235825048, + "Monster Fibula: Shokat": 3235825049, + "Monster Fibula: Behesloth": 3235825050, + "Monster Fibula: Jelleric": 3235825051, + "Monster Fibula: Ocubepus": 3235825052, + "Monster Fibula: Blue Ray": 3235825053, + "Monster Fibula: Rob0ck": 3235825054, + "Monster Fibula: Powerplant": 3235825055, + "Monster Fibula: Ectovolt": 3235825056, + "Monster Fibula: Sun Beetle": 3235825057, + "Monster Fibula: Moon Beetle": 3235825058, + "Monster Fibula: Pandza": 3235825059, + "Monster Fibula: Aranetarda": 3235825060, + "Monster Fibula: Hillkat Bandleader": 3235825061, + "Monster Fibula: Blue Hedgehag": 3235825062, + "Monster Fibula: Infected Digmo": 3235825063, + "Monster Fibula: Peng King Dakara": 3235825064, + "Monster Fibula: X01 Driller H.F.S.": 3235825065, + "Monster Fibula: Ti'im": 3235825066, + "Monster Fibula: Cursed Sharkster": 3235825067, + "Monster Fibula: Pinzo'jrahrrrn": 3235825068, + "Monster Fibula: Master Magmoth": 3235825069, + "Monster Fibula: Guard Billston": 3235825070, + "Monster Fibula: Hologram Frobbit": 3235825071, + "Monster Fibula: Smelter Digmo": 3235825072, + "Monster Fibula: Blazehoof": 3235825073, + "Monster Fibula: Plasma Phantom": 3235825074, + "Monster Fibula: Sir Blobus Starnikus": 3235825075, + "Monster Fibula: Tiefsee Angler": 3235825076, + "Monster Fibula: Son of the East": 3235825077, + "Monster Fibula: Ancient Guardian": 3235825078, + "Monster Fibula: Karotto Fruitseeker": 3235825079, + "Monster Fibula: Buff Bloomy": 3235825080, + "Monster Fibula: Twilight Master": 3235825081, + "Monster Fibula: King Kaktorro": 3235825082, + "Monster Fibula: DON'T USE THIS": 3235825083, + "Monster Fibula: Designer": 3235825084, + "Monster Fibula: The Creator": 3235825085, + "Monster Fibula: Pandza Mk. II": 3235825086, + "Monster Fibula: Echinoignis": 3235825087, + "Monster Fibula: Echinonix": 3235825088, + "Monster Fibula: Echinofulgur": 3235825089, + "Monster Fibula: Echinofluctus": 3235825090, + "Monster Fibula: Salteric": 3235825091, + "Monster Fibula: Balooneer": 3235825092, + "Monster Fibula: K'im": 3235825093, + "Monster Fibula: Trigenbu": 3235825094, + "Monster Fibula: Heat Crystalid": 3235825095, + "Monster Fibula: Cold Crystalid": 3235825096, + "Monster Fibula: Shock Crystalid": 3235825097, + "Monster Fibula: Wave Crystalid": 3235825098, + "Monster Fibula: Hummagnum": 3235825099, + "Monster Fibula: Mizree": 3235825100, + "Monster Fibula: Beearbot": 3235825101, + "Monster Fibula: Illegal Coordinator": 3235825102, + "Monster Fibula: Tremmy": 3235825103, + "Monster Fibula: Distillizer": 3235825104, + "Monster Fibula: Toxovolt": 3235825105, + "Monster Fibula: Papaboss the Younger": 3235825106, + "Monster Fibula: Hillcart": 3235825107, + "Monster Fibula: The Goatfather": 3235825108, + "Monster Fibula: Guardian Statue": 3235825109, + "Monster Fibula: Gynthar": 3235825110, + "Monster Fibula: Di'orbis": 3235825111, + "Monster Fibula: Son of the Beach": 3235825112 } \ No newline at end of file diff --git a/src/item-data.model.ts b/src/item-data.model.ts index f7fd87a..aa3324e 100644 --- a/src/item-data.model.ts +++ b/src/item-data.model.ts @@ -3,6 +3,7 @@ export interface WorldData { quests: RawQuests; shops: RawShops; botanics: Record; + enemies: Record; descriptions: { [itemId: number]: { [locale: string]: string } }; markers: { [area: string]: MarkerInfo[] } } @@ -57,6 +58,10 @@ export type RawShops = { unlocks: RawShopUnlocks; } +export interface RawEnemy { + kill: number; +} + export interface ItemInfo { icon: string; label: string; diff --git a/src/patches/enemy.ts b/src/patches/enemy.ts new file mode 100644 index 0000000..b0a8c10 --- /dev/null +++ b/src/patches/enemy.ts @@ -0,0 +1,15 @@ +import type MwRandomizer from "../plugin"; + +export function patch(plugin: MwRandomizer) { + sc.Combat.inject({ + notifyCombatantDefeated(combatant, resolveDefeat, notifyArena) { + this.parent(combatant, resolveDefeat, notifyArena); + if (combatant instanceof ig.ENTITY.Enemy) { + let enemy = sc.randoData.enemies[combatant.enemyName]; + if (enemy && !sc.multiworld.localCheckedLocations.has(enemy.kill)) { + sc.multiworld.reallyCheckLocation(enemy.kill); + } + } + } + }); +} diff --git a/src/patches/index.ts b/src/patches/index.ts index bd885e9..21f9567 100644 --- a/src/patches/index.ts +++ b/src/patches/index.ts @@ -3,6 +3,7 @@ import type MwRandomizer from "../plugin"; import { patch as patchMwModel } from "./multiworld-model"; import { patch as patchBotanics } from "./botanics"; import { patch as patchChest } from "./chest"; +import { patch as patchEnemies } from "./enemy"; import { patch as patchEntities } from "./entity"; import { patch as patchEvent } from "./event"; import { patch as patchMarquee } from "./marquee"; @@ -22,6 +23,7 @@ export function applyPatches(plugin: MwRandomizer) { patchBotanics(plugin); patchChest(plugin); patchEntities(plugin); + patchEnemies(plugin); patchEvent(plugin); patchMarquee(plugin); patchGui(plugin);