From a0cc90249be45331233f4eceb5c83114f20e33a5 Mon Sep 17 00:00:00 2001 From: Marechal-l Date: Fri, 10 Jun 2022 20:25:28 +0200 Subject: [PATCH] Add keyItems, regions and rules --- worlds/dark_souls_3/__init__.py | 43 +- worlds/dark_souls_3/data/items_data.py | 614 +++++++++------------ worlds/dark_souls_3/data/locations_data.py | 36 +- 3 files changed, 315 insertions(+), 378 deletions(-) diff --git a/worlds/dark_souls_3/__init__.py b/worlds/dark_souls_3/__init__.py index b40abfa0b6..b026fb9eda 100644 --- a/worlds/dark_souls_3/__init__.py +++ b/worlds/dark_souls_3/__init__.py @@ -254,17 +254,33 @@ class DarkSouls3World(World): state.has("Cinders of a Lord - Aldrich", self.player) and\ state.has("Cinders of a Lord - Lothric Prince", self.player) + itempool_len = self.item_name_to_id.__len__() + total_required_locations = self.location_name_to_id.__len__() + + # Fill item pool with the remaining + for i in range(itempool_len, total_required_locations): + self.world.itempool += [self.create_item("Soul of an Intrepid Hero")] + def generate_output(self, output_directory: str): - for region in self.world.get_regions(self.player): - print(region) - - locations_dict = {} + itemsId = [] + itemsAddress = [] + locationsId = [] + locationsAddress = [] + locationsTarget = [] for location in self.world.get_filled_locations(self.player): + locationsAddress.append(dictionary_table[location.name]) + locationsId.append(location.address) if location.item.player == self.player: - print(location) + locationsTarget.append(item_dictionary_table[location.item.name]) else: - locations_dict[dictionary_table[location.name]] = 0 + locationsTarget.append(0) + + for location in self.world.get_filled_locations(): + if location.item.player == self.player: + itemsId.append(location.item.code) + itemsAddress.append(item_dictionary_table[location.item.name]) + data = { "options": { @@ -275,7 +291,11 @@ class DarkSouls3World(World): "seed": self.world.seed_name, # to verify the server's multiworld "slot": self.world.player_name[self.player], # to connect to server "base_id": self.base_id, # to merge location and items lists - "locations": json.dumps(locations_dict) + "locationsId": locationsId, + "locationsAddress": locationsAddress, + "locationsTarget": locationsTarget, + "itemsId": itemsId, + "itemsAddress": itemsAddress } # generate the file @@ -302,8 +322,15 @@ class DarkSouls3World(World): # The following two dicts are required for the generation to know which # items exist. They could be generated from json or something else. They can # include events, but don't have to since events will be placed manually. - item_name_to_id = {name: id for id, name in enumerate(DarkSouls3Location.get_item_name_to_id(), base_id)} + item_name_to_id = {name: id for id, name in enumerate(DarkSouls3Item.get_item_name_to_id(), base_id)} location_name_to_id = {name: id for id, name in enumerate(DarkSouls3Location.get_item_name_to_id(), base_id)} + for name in item_dictionary_table.keys(): + if name in weapons_table and randint(0, 100) < 33: + value = randint(1, 10) + old = item_dictionary_table[name] + item_dictionary_table[name] += value + print(name + str(" +") + str(value) + str(" - ") + str(old) + str(" - ") + str(item_dictionary_table[name])) + diff --git a/worlds/dark_souls_3/data/items_data.py b/worlds/dark_souls_3/data/items_data.py index 67cfff1c21..739516aafa 100644 --- a/worlds/dark_souls_3/data/items_data.py +++ b/worlds/dark_souls_3/data/items_data.py @@ -1,133 +1,45 @@ # Regular expression to parse the Python list https://regex101.com/r/XdtiLR/2 # List of location https://darksouls3.wiki.fextralife.com/Locations -cemetery_of_ash_table = { -} -fire_link_shrine_table = { - "Fire Keeper Robe": 0x140D9CE8, - "Fire Keeper Gloves": 0x140DA0D0, - "Fire Keeper Skirt": 0x140DA4B8, - "Estus Ring": 0x200050DC, - "Fire Keeper Soul": 0x40000186, - "Covetous Silver Serpent Ring": 0x20004FB0, +weapons_table = { "Broken Straight Sword": 0x001EF9B0, # Multiple "East-West Shield": 0x0142B930, -} - -high_wall_of_lothric = { "Deep Battle Axe": 0x0006AFA54, "Club": 0x007A1200, - "Deserter Trousers": 0x126265B8, "Claymore": 0x005BDBA0, - "Binoculars": 0x40000173, "Longbow": 0x00D689E0, "Mail Breaker": 0x002DEDD0, "Broadsword": 0x001ED2A0, "Silver Eagle Kite Shield": 0x014418C0, "Astora's Straight Sword": 0x002191C0, - "Cell Key": 0x400007DA, "Rapier": 0x002E14E0, "Lucerne": 0x0098BD90, - "Small Lothric Banner": 0x40000836 -} - -undead_settlement_table = { "Small Leather Shield": 0x01315410, "Whip": 0x00B71B00, "Reinforced Club": 0x007A8730, "Blue Wooden Shield": 0x0143F1B0, - - "Cleric Hat": 0x11D905C0, - "Cleric Blue Robe": 0x11D909A8, - "Cleric Gloves": 0x11D90D90, - "Cleric Trousers": 0x11D91178, - - "Mortician's Ashes": 0x4000083B, # Shop "Caestus": 0x00A7FFD0, "Plank Shield": 0x01346150, - "Flame Stoneplate Ring": 0x20004E52, "Caduceus Round Shield": 0x01341330, - "Fire Clutch Ring": 0x2000501E, "Partizan": 0x0089C970, - - "Red Hilted Halberd": 0x009AB960, "Saint's Talisman": 0x00CACA10, "Irithyll Straight Sword": 0x0020A760, "Large Club": 0x007AFC60, - "Northern Helm": 0x116E3600, - "Northern Armor": 0x116E39E8, - "Northern Gloves": 0x116E3DD0, - "Northern Trousers": 0x116E41B8, - "Flynn's Ring": 0x2000503C, - "Mirrah Chain Mail": 0x14B575A8, - "Mirrah Chain Gloves": 0x14B57990, - "Mirrah Chain Leggings": 0x14B57D78, - "Chloranthy Ring": 0x20004E2A, - "Loincloth": 0x148F57D8, "Wargod Wooden Shield": 0x0144DC10, - - "Loretta's Bone": 0x40000846, -} - -road_of_sacrifice_table = { - "Brigand Twindaggers": 0x00F50E60, - - "Brigand Hood": 0x148009E0, - "Brigand Armor": 0x14800DC8, - "Brigand Gauntlets": 0x148011B0, - "Brigand Trousers": 0x14801598, - - "Butcher Knife": 0x006BE130, - "Brigand Axe": 0x006B1DE0, - "Braille Divine Tome of Carim": 0x40000847, # Shop - "Morne's Ring": 0x20004F1A, - "Twin Dragon Greatshield": 0x01513820, - "Heretic's Staff": 0x00C8F550, - - "Sorcerer Hood": 0x11C9C380, - "Sorcerer Robe": 0x11C9C768, - "Sorcerer Gloves": 0x11C9CB50, - "Sorcerer Trousers": 0x11C9CF38, - - "Sage Ring": 0x20004F38, - - "Fallen Knight Helm": 0x1121EAC0, - "Fallen Knight Armor": 0x1121EEA8, - "Fallen Knight Gauntlets": 0x1121F290, - "Fallen Knight Trousers": 0x1121F678, - - "Conjurator Hood": 0x149E8E60, - "Conjurator Robe": 0x149E9248, - "Conjurator Manchettes": 0x149E9630, - "Conjurator Boots": 0x149E9A18, - - "Great Swamp Pyromancy Tome": 0x4000084F, # Shop - - "Great Club": 0x007B4A80, - "Exile Greatsword": 0x005DD770, - - "Farron Coal ": 0x40000837, # Shop - - "Sellsword Twinblades": 0x00F42400, - "Sellsword Helm": 0x11481060, - "Sellsword Armor": 0x11481448, - "Sellsword Gauntlet": 0x11481830, - "Sellsword Trousers": 0x11481C18, - + "Grass Crest Shield": 0x01437C80, "Golden Falcon Shield": 0x01354BB0, - "Herald Helm": 0x114FB180, - "Herald Armor": 0x114FB568, - "Herald Gloves": 0x114FB950, - "Herald Trousers": 0x114FBD38, + "Brigand Twindaggers": 0x00F50E60, + "Butcher Knife": 0x006BE130, + "Brigand Axe": 0x006B1DE0, + "Twin Dragon Greatshield": 0x01513820, + "Heretic's Staff": 0x00C8F550, + "Great Club": 0x007B4A80, + "Exile Greatsword": 0x005DD770, + "Sellsword Twinblades": 0x00F42400, - "Grass Crest Shield": 0x01437C80, -} - -cathedral_of_the_deep_table = { - "Paladin's Ashes": 0x4000083D, #Shop "Spider Shield": 0x01435570, "Crest Shield": 0x01430750, "Notched Whip": 0x00B7DE50, @@ -135,15 +47,114 @@ cathedral_of_the_deep_table = { "Executioner's Greatsword": 0x0021DFE0, "Curse Ward Greatshield": 0x01518640, "Saint-tree Bellvine": 0x00C9DFB0, - "Poisonbite Ring": 0x20004E8E, - - "Lloyd's Sword Ring": 0x200050B4, - "Seek Guidance": 0x40360420, - - "Aldrich's Sapphire": 0x20005096, - "Deep Braille Divine Tome": 0x40000860, # Shop - "Saint Bident": 0x008C1360, + "Drang Hammers": 0x00F61FD0, + "Spiked Shield": 0x01426B10, + "Barbed Straight Sword": 0x0021B8D0, + "Arbalest": 0x00D662D0, + + "Sunlight Talisman": 0x00CA54E0, + "Greatsword": 0x005C50D0, + "Stone Parma": 0x01443FD0, + "Black Bow of Pharis": 0x00D7E970, + "Great Axe": 0x006B9310, # Multiple + "Dragon Crest Shield": 0x01432E60, + "Black Blade": 0x004CC070, + + "Chaos Blade": 0x004C9960, + "Blacksmith Hammer": 0x007E57C0, + + "Shield of Want": 0x0144B500, + "Dragonrider Bow": 0x00D6B0F0, + "White Hair Talisman": 0x00CAF120, + "Izalith Staff": 0x00C96A80, + "Fume Ultra Greatsword": 0x0060E4B0, + "Black Iron Greatshield": 0x0150EA00, + "Black Knight Sword": 0x005F5E10, + + "Yorshka's Spear": 0x008C3A70, + "Witchtree Branch": 0x00C94370, + "Smough's Great Hammer": 0x007E30B0, + "Painting Guardian's Curved Sword": 0x003E6890, + "Dragonslayer Greatbow": 0x00CF8500, + "Golden Ritual Spear": 0x00C83200, + "Great Magic Shield": 0x40144F38, + "Pickaxe": 0x007DE290, + "Eleonora": 0x006CCB90, + "Court Sorcerer's Staff": 0x00C91C60, + "Greatshield of Glory": 0x01515F30, + "Sacred Bloom Shield": 0x013572C0, + + "Avelyn": 0x00D6FF10, + "Witch's Locks": 0x00B7B740, + "Crystal Chime": 0x00CA2DD0, + "Golden Wing Crest Shield": 0x0143CAA0, + "Sage's Crystal Staff": 0x00C8CE40, + "Onikiri and Ubadachi": 0x00F58390, + "Black Knight Glaive": 0x009AE070, + "Ricard's Rapier": 0x002E3BF0, + "Ancient Dragon Greatshield": 0x013599D0, + "Drakeblood Greatsword": 0x00609690, + "Dragonslayer Spear": 0x008CAFA0, + "Greatlance": 0x008A8CC0, + "Sniper Crossbow": 0x00D83790, + "Spirit Tree Crest Shield": 0x014466E0, + "Caitha's Chime": 0x00CA06C0, + "Sunlight Straight Sword": 0x00203230, + "Claw": 0x00A7D8C0, +} + +goods_table = { + "Fire Keeper Soul": 0x40000186, + "Binoculars": 0x40000173, + "Loretta's Bone": 0x40000846, + "Soul of an Intrepid Hero": 0x4000019D, +} + +armor_table = { + "Fire Keeper Robe": 0x140D9CE8, + "Fire Keeper Gloves": 0x140DA0D0, + "Fire Keeper Skirt": 0x140DA4B8, + "Deserter Trousers": 0x126265B8, + "Cleric Hat": 0x11D905C0, + "Cleric Blue Robe": 0x11D909A8, + "Cleric Gloves": 0x11D90D90, + "Cleric Trousers": 0x11D91178, + "Northern Helm": 0x116E3600, + "Northern Armor": 0x116E39E8, + "Northern Gloves": 0x116E3DD0, + "Northern Trousers": 0x116E41B8, + "Mirrah Chain Mail": 0x14B575A8, + "Mirrah Chain Gloves": 0x14B57990, + "Mirrah Chain Leggings": 0x14B57D78, + "Loincloth": 0x148F57D8, + + "Brigand Hood": 0x148009E0, + "Brigand Armor": 0x14800DC8, + "Brigand Gauntlets": 0x148011B0, + "Brigand Trousers": 0x14801598, + "Sorcerer Hood": 0x11C9C380, + "Sorcerer Robe": 0x11C9C768, + "Sorcerer Gloves": 0x11C9CB50, + "Sorcerer Trousers": 0x11C9CF38, + "Fallen Knight Helm": 0x1121EAC0, + "Fallen Knight Armor": 0x1121EEA8, + "Fallen Knight Gauntlets": 0x1121F290, + "Fallen Knight Trousers": 0x1121F678, + "Conjurator Hood": 0x149E8E60, + "Conjurator Robe": 0x149E9248, + "Conjurator Manchettes": 0x149E9630, + "Conjurator Boots": 0x149E9A18, + + "Sellsword Helm": 0x11481060, + "Sellsword Armor": 0x11481448, + "Sellsword Gauntlet": 0x11481830, + "Sellsword Trousers": 0x11481C18, + "Herald Helm": 0x114FB180, + "Herald Armor": 0x114FB568, + "Herald Gloves": 0x114FB950, + "Herald Trousers": 0x114FBD38, + "Maiden Hood": 0x14BD12E0, "Maiden Robe": 0x14BD16C8, "Maiden Gloves": 0x14BD1AB0, @@ -151,236 +162,171 @@ cathedral_of_the_deep_table = { "Drang Armor": 0x154E0C28, "Drang Gauntlets": 0x154E1010, "Drang Shoes": 0x154E13F8, - "Drang Hammers": 0x00F61FD0, - "Deep Ring": 0x20004F60, - "Archdeacon White Crown": 0x13EF1480, "Archdeacon Holy Garb": 0x13EF1868, "Archdeacon Skirt": 0x13EF2038, - "Spiked Shield": 0x01426B10, - "Barbed Straight Sword": 0x0021B8D0, - - "Arbalest": 0x00D662D0, "Helm of Thorns": 0x15B8D800, "Armor of Thorns": 0x15B8DBE8, "Gauntlets of Thorns": 0x15B8DFD0, "Leggings of Thorns": 0x15B8E3B8, - "Small Doll": 0x400007D5, -} - -farron_keep_table = { - "Ragged Mask": 0x148F4C20, - "Iron Flesh": 0x40251430, - "Golden Scroll": 0x4000085C, - "Antiquated Dress": 0x15D76068, "Antiquated Gloves": 0x15D76450, "Antiquated Skirt": 0x15D76838, - - "Sunlight Talisman": 0x00CA54E0, - "Wolf's Blood Swordgrass": 0x4000016E, - "Greatsword": 0x005C50D0, - - "Sage's Coal": 0x40000838, # Shop #Unique - "Stone Parma": 0x01443FD0, - "Sage's Scroll": 0x40000854, + "Ragged Mask": 0x148F4C20, "Crown of Dusk": 0x15D75C80, - - "Lingering Dragoncrest Ring": 0x20004F2E, "Pharis's Hat": 0x1487AB00, - "Black Bow of Pharis": 0x00D7E970, - - "Dreamchaser's Ashes": 0x4000083C, # Shop #Unique - "Great Axe": 0x006B9310, # Multiple - "Dragon Crest Shield": 0x01432E60, - "Lightning Spear": 0x40362B30, - "Atonement": 0x4039ADA0, - "Great Magic Weapon": 0x40140118, - "Cinders of a Lord - Abyss Watcher": 0x4000084B, -} - -catacombs_of_carthus_table = { - "Carthus Pyromancy Tome": 0x40000850, - "Carthus Milkring": 0x20004FE2, - "Grave Warden's Ashes": 0x4000083E, - "Knight Slayer's Ring": 0x20005000, - "Carthus Bloodring": 0x200050FA, - "Grave Warden Pyromancy Tome": 0x40000853, "Old Sage's Blindfold": 0x11945BA0, - "Witch's Ring": 0x20004F11, - "Black Blade": 0x004CC070, -} -smouldering_lake_table = { - "Shield of Want": 0x0144B500, - "Speckled Stoneplate Ring": 0x20004E7A, - "Dragonrider Bow": 0x00D6B0F0, - "Lightning Stake": 0x40389C30, - "Izalith Pyromancy Tome": 0x40000851, - "Black Knight Sword": 0x005F5E10, - "Quelana Pyromancy Tome": 0x40000852, - "Toxic Mist": 0x4024F108, - "White Hair Talisman": 0x00CAF120, - "Izalith Staff": 0x00C96A80, - "Sacred Flame": 0x40284880, - "Fume Ultra Greatsword": 0x0060E4B0, - "Black Iron Greatshield": 0x0150EA00, -} - -irithyll_of_the_boreal_valley_table = { - "Dorhys' Gnawing": 0x40363EB8, - "Witchtree Branch": 0x00C94370, - "Magic Clutch Ring": 0x2000500A, - "Ring of the Sun's First Born": 0x20004F1B, - "Roster of Knights": 0x4000006C, - "Chameleon": 0x4014ACF8, - "Pontiff's Right Eye": 0x2000510E, - - "Yorshka's Spear": 0x008C3A70, - "Great Heal": 0x40356FB0, - - "Smough's Great Hammer": 0x007E30B0, - "Leo Ring": 0x20004EE8, - "Greirat's Ashes": 0x4000083F, - "Excrement-covered Ashes": 0x40000862, - - "Dark Stoneplate Ring": 0x20004E70, - "Easterner's Ashes": 0x40000868, - "Painting Guardian's Curved Sword": 0x003E6890, "Painting Guardian Hood": 0x156C8CC0, "Painting Guardian Gown": 0x156C90A8, "Painting Guardian Gloves": 0x156C9490, "Painting Guardian Waistcloth": 0x156C9878, - "Dragonslayer Greatbow": 0x00CF8500, - "Reversal Ring": 0x20005104, "Brass Helm": 0x1501BD00, "Brass Armor": 0x1501C0E8, "Brass Gauntlets": 0x1501C4D0, "Brass Leggings": 0x1501C8B8, - "Ring of Favor": 0x20004E3E, - "Golden Ritual Spear": 0x00C83200, -} - -irithyll_dungeon_table = { - "Bellowing Dragoncrest Ring": 0x20004F07, - "Jailbreaker's Key": 0x400007D7, - "Prisoner Chief's Ashes": 0x40000863, "Old Sorcerer Hat": 0x1496ED40, "Old Sorcerer Coat": 0x1496F128, "Old Sorcerer Gauntlets": 0x1496F510, "Old Sorcerer Boots": 0x1496F8F8, - "Great Magic Shield": 0x40144F38, - - "Dragon Torso Stone": 0x4000017A, - "Lightning Blade": 0x4036C770, - "Profaned Coal": 0x4000083A, - "Xanthous Ashes": 0x40000864, - "Old Cell Key": 0x400007DC, - "Pickaxe": 0x007DE290, - "Profaned Flame": 0x402575D8, - "Covetous Gold Serpent Ring": 0x20004FA6, - "Jailer's Key Ring": 0x400007D8, - "Dusk Crown Ring": 0x20004F4C, - "Dark Clutch Ring": 0x20005028, - "Path of the Dragon Gesture": 0x40002346, -} - -profaned_capital_table = { - "Cursebite Ring": 0x20004E98, "Court Sorcerer Hood": 0x11BA8140, "Court Sorcerer Robe": 0x11BA8528, "Court Sorcerer Gloves": 0x11BA8910, "Court Sorcerer Trousers": 0x11BA8CF8, - "Wrath of the Gods": 0x4035E0F8, - "Logan's Scroll": 0x40000855, - "Eleonora": 0x006CCB90, - "Court Sorcerer's Staff": 0x00C91C60, - "Greatshield of Glory": 0x01515F30, - "Storm Ruler": 0x006132D0, - "Cinders of a Lord - Yhorm the Giant": 0x4000084D, -} - -anor_londo_table = { - "Giant's Coal": 0x40000839, - "Sun Princess Ring": 0x20004FBA, - "Aldrich's Ruby": 0x2000508C, - "Cinders of a Lord - Aldrich": 0x4000084C, -} - -lothric_castle_table = { - "Hood of Prayer": 0x13AA6A60, - "Robe of Prayer": 0x13AA6E48, - "Skirt of Prayer": 0x13AA7618, - - "Sacred Bloom Shield": 0x013572C0, - "Winged Knight Helm": 0x12EBAE40, - "Winged Knight Armor": 0x12EBB228, - "Winged Knight Gauntlets": 0x12EBB610, - "Winged Knight Leggings": 0x12EBB9F8, - - "Greatlance": 0x008A8CC0, - "Sniper Crossbow": 0x00D83790, - "Spirit Tree Crest Shield": 0x014466E0, - "Red Tearstone Ring": 0x20004ECA, - "Caitha's Chime": 0x00CA06C0, - "Braille Divine Tome of Lothric": 0x40000848, - "Knight's Ring": 0x20004FEC, - "Sunlight Straight Sword": 0x00203230, - "Grand Archives Key": 0x400007DE, -} - -consumed_king_garden_table = { - "Dragonscale Ring": 0x2000515E, - "Shadow Mask": 0x14D3F640, - "Shadow Garb": 0x14D3FA28, - "Shadow Gauntlets": 0x14D3FE10, - "Shadow Leggings": 0x14D401F8, - "Claw": 0x00A7D8C0, -} - -grand_archives_table = { - "Avelyn": 0x00D6FF10, - "Witch's Locks": 0x00B7B740, - "Power Within": 0x40253B40, - "Scholar Ring": 0x20004EB6, - "Soul Stream": 0x4018B820, - "Fleshbite Ring": 0x20004EA2, - "Crystal Chime": 0x00CA2DD0, - "Golden Wing Crest Shield": 0x0143CAA0, - "Sage's Crystal Staff": 0x00C8CE40, - "Onikiri and Ubadachi": 0x00F58390, - "Hunter's Ring": 0x20004FF6, - "Divine Pillars of Light": 0x4038C340, - "Cinders of a Lord - Lothric Prince": 0x4000084E, -} - -untended_graves_table = { - "Ashen Estus Ring": 0x200050E6, - "Black Knight Glaive": 0x009AE070, - "Hornet Ring": 0x20004F9C, - "Chaos Blade": 0x004C9960, - "Blacksmith Hammer": 0x007E57C0, - "Eyes of a Fire Keeper": 0x4000085A, - "Coiled Sword Fragment": 0x4000015F, -} - -archdragon_peak_table = { - "Lightning Clutch Ring": 0x20005014, - "Ancient Dragon Greatshield": 0x013599D0, - "Ring of Steel Protection": 0x20004E48, - "Calamity Ring": 0x20005078, - "Drakeblood Greatsword": 0x00609690, - "Dragonslayer Spear": 0x008CAFA0, - - "Thunder Stoneplate Ring": 0x20004E5C, - "Great Magic Barrier": 0x40365628, - "Dragon Chaser's Ashes": 0x40000867, - "Twinkling Dragon Torso Stone": 0x40000184, "Dragonslayer Helm": 0x158B1140, "Dragonslayer Armor": 0x158B1528, "Dragonslayer Gauntlets": 0x158B1910, "Dragonslayer Leggings": 0x158B1CF8, - "Ricard's Rapier": 0x002E3BF0, + + "Hood of Prayer": 0x13AA6A60, + "Robe of Prayer": 0x13AA6E48, + "Skirt of Prayer": 0x13AA7618, + "Winged Knight Helm": 0x12EBAE40, + "Winged Knight Armor": 0x12EBB228, + "Winged Knight Gauntlets": 0x12EBB610, + "Winged Knight Leggings": 0x12EBB9F8, + "Shadow Mask": 0x14D3F640, + "Shadow Garb": 0x14D3FA28, + "Shadow Gauntlets": 0x14D3FE10, + "Shadow Leggings": 0x14D401F8, +} + +rings_table = { + "Estus Ring": 0x200050DC, + "Covetous Silver Serpent Ring": 0x20004FB0, + "Fire Clutch Ring": 0x2000501E, + "Flame Stoneplate Ring": 0x20004E52, + "Flynn's Ring": 0x2000503C, + "Chloranthy Ring": 0x20004E2A, + + "Morne's Ring": 0x20004F1A, + "Sage Ring": 0x20004F38, + "Aldrich's Sapphire": 0x20005096, + "Lloyd's Sword Ring": 0x200050B4, + "Poisonbite Ring": 0x20004E8E, + "Deep Ring": 0x20004F60, + "Lingering Dragoncrest Ring": 0x20004F2E, + "Carthus Milkring": 0x20004FE2, + "Witch's Ring": 0x20004F11, + "Knight Slayer's Ring": 0x20005000, + "Carthus Bloodring": 0x200050FA, + + "Speckled Stoneplate Ring": 0x20004E7A, + "Magic Clutch Ring": 0x2000500A, + "Ring of the Sun's First Born": 0x20004F1B, + "Pontiff's Right Eye": 0x2000510E, "Leo Ring": 0x20004EE8, + "Dark Stoneplate Ring": 0x20004E70, + "Reversal Ring": 0x20005104, + "Ring of Favor": 0x20004E3E, + "Bellowing Dragoncrest Ring": 0x20004F07, + "Covetous Gold Serpent Ring": 0x20004FA6, + "Dusk Crown Ring": 0x20004F4C, + "Dark Clutch Ring": 0x20005028, + "Cursebite Ring": 0x20004E98, + "Sun Princess Ring": 0x20004FBA, + "Aldrich's Ruby": 0x2000508C, + "Scholar Ring": 0x20004EB6, + "Fleshbite Ring": 0x20004EA2, + "Hunter's Ring": 0x20004FF6, + "Ashen Estus Ring": 0x200050E6, + "Hornet Ring": 0x20004F9C, + "Lightning Clutch Ring": 0x20005014, + "Ring of Steel Protection": 0x20004E48, + "Calamity Ring": 0x20005078, + "Thunder Stoneplate Ring": 0x20004E5C, + "Knight's Ring": 0x20004FEC, + "Red Tearstone Ring": 0x20004ECA, + "Dragonscale Ring": 0x2000515E, +} + +spells_table = { + "Seek Guidance": 0x40360420, + "Lightning Spear": 0x40362B30, + "Atonement": 0x4039ADA0, + "Great Magic Weapon": 0x40140118, + "Iron Flesh": 0x40251430, + "Lightning Stake": 0x40389C30, + "Toxic Mist": 0x4024F108, + "Sacred Flame": 0x40284880, + "Dorhys' Gnawing": 0x40363EB8, + "Chameleon": 0x4014ACF8, + "Great Heal": 0x40356FB0, + "Lightning Blade": 0x4036C770, + "Profaned Flame": 0x402575D8, + "Wrath of the Gods": 0x4035E0F8, + "Power Within": 0x40253B40, + "Soul Stream": 0x4018B820, + "Divine Pillars of Light": 0x4038C340, + "Great Magic Barrier": 0x40365628, + +} + +key_items_table = { + "Cell Key": 0x400007DA, + "Small Lothric Banner": 0x40000836, + "Mortician's Ashes": 0x4000083B, + "Braille Divine Tome of Carim": 0x40000847, # Shop + "Great Swamp Pyromancy Tome": 0x4000084F, # Shop + "Farron Coal ": 0x40000837, # Shop + "Paladin's Ashes": 0x4000083D, #Shop + "Deep Braille Divine Tome": 0x40000860, # Shop + "Small Doll": 0x400007D5, + "Golden Scroll": 0x4000085C, + "Sage's Coal": 0x40000838, # Shop #Unique + "Sage's Scroll": 0x40000854, + "Dreamchaser's Ashes": 0x4000083C, # Shop #Unique + "Cinders of a Lord - Abyss Watcher": 0x4000084B, + "Cinders of a Lord - Yhorm the Giant": 0x4000084D, + "Cinders of a Lord - Aldrich": 0x4000084C, + "Grand Archives Key": 0x400007DE, + "Basin of Vows": 0x40000845, + "Cinders of a Lord - Lothric Prince": 0x4000084E, + "Carthus Pyromancy Tome": 0x40000850, + "Grave Warden's Ashes": 0x4000083E, + "Grave Warden Pyromancy Tome": 0x40000853, + "Quelana Pyromancy Tome": 0x40000852, + "Izalith Pyromancy Tome": 0x40000851, + "Roster of Knights": 0x4000006C, + "Greirat's Ashes": 0x4000083F, + "Excrement-covered Ashes": 0x40000862, + "Easterner's Ashes": 0x40000868, + "Prisoner Chief's Ashes": 0x40000863, + "Jailbreaker's Key": 0x400007D7, + "Dragon Torso Stone": 0x4000017A, + "Profaned Coal": 0x4000083A, + "Xanthous Ashes": 0x40000864, + "Old Cell Key": 0x400007DC, + "Jailer's Key Ring": 0x400007D8, + "Path of the Dragon Gesture": 0x40002346, + "Logan's Scroll": 0x40000855, + "Storm Ruler": 0x006132D0, + "Giant's Coal": 0x40000839, + "Eyes of a Fire Keeper": 0x4000085A, + "Coiled Sword Fragment": 0x4000015F, + "Dragon Chaser's Ashes": 0x40000867, + "Twinkling Dragon Torso Stone": 0x40000184, + "Braille Divine Tome of Lothric": 0x40000848, + "Wolf's Blood Swordgrass": 0x4000016E, } heals_table = { @@ -408,66 +354,4 @@ heals_table = { "Undead Bone Shard #9": 0x4000085F, } -weapons_table = { - 0x0006AFA54, - 0x007A1200, - 0x005BDBA0, - 0x00D689E0, - 0x002DEDD0, - 0x001ED2A0, - 0x002E14E0, - 0x0098BD90, - 0x00B71B00, - 0x007A8730, - 0x00A7FFD0, - 0x0089C970, - 0x009AB960, - 0x0020A760, - 0x007AFC60, - 0x00F50E60, - 0x006BE130, - 0x006B1DE0, - 0x007B4A80, - 0x005DD770, - 0x00F42400, - 0x00B7DE50, - 0x005C9EF0, - 0x0021DFE0, - 0x00F61FD0, - 0x0021B8D0, - 0x00D662D0, - 0x4000016E, - 0x005C50D0, - 0x00D7E970, - 0x006B9310, - 0x004CC070, - 0x00D6B0F0, - 0x005F5E10, - 0x0060E4B0, - 0x008C3A70, - 0x007E30B0, - 0x003E6890, - 0x00CF8500, - 0x00C83200, - 0x007DE290, - 0x00C91C60, - 0x006132D0, - 0x008A8CC0, - 0x00D83790, - 0x00203230, - 0x00A7D8C0, - 0x00D6FF10, - 0x00C8CE40, - 0x00F58390, - 0x009AE070, - 0x004C9960, - 0x007E57C0, - 0x00609690, - 0x008CAFA0, - 0x002E3BF0 -} - -item_dictionary_table = {**cemetery_of_ash_table, ** fire_link_shrine_table, **high_wall_of_lothric, **undead_settlement_table, **road_of_sacrifice_table, - **cathedral_of_the_deep_table, **farron_keep_table, **catacombs_of_carthus_table, **smouldering_lake_table, **irithyll_of_the_boreal_valley_table, - **irithyll_dungeon_table, **profaned_capital_table, **anor_londo_table, **lothric_castle_table, **consumed_king_garden_table, - **grand_archives_table, **untended_graves_table, **archdragon_peak_table} +item_dictionary_table = {**weapons_table, **armor_table, **rings_table, **spells_table, **key_items_table, **goods_table} diff --git a/worlds/dark_souls_3/data/locations_data.py b/worlds/dark_souls_3/data/locations_data.py index 19b0bbd9c9..d0071d5dab 100644 --- a/worlds/dark_souls_3/data/locations_data.py +++ b/worlds/dark_souls_3/data/locations_data.py @@ -33,7 +33,9 @@ high_wall_of_lothric = { "Rapier": 0x002E14E0, "Lucerne": 0x0098BD90, "Small Lothric Banner": 0x40000836, - "Basin of Vows": 0x40000845 + "Basin of Vows": 0x40000845, + "Soul of the Dancer": 0x400002CA, + "Soul of Boreal Valley Vordt": 0x400002CF, } undead_settlement_table = { @@ -54,7 +56,7 @@ undead_settlement_table = { "Caduceus Round Shield": 0x01341330, "Fire Clutch Ring": 0x2000501E, "Partizan": 0x0089C970, - + "Bloodbite Ring": 0x20004E84, "Red Hilted Halberd": 0x009AB960, "Saint's Talisman": 0x00CACA10, @@ -65,9 +67,11 @@ undead_settlement_table = { "Northern Gloves": 0x116E3DD0, "Northern Trousers": 0x116E41B8, "Flynn's Ring": 0x2000503C, - "Mirrah Chain Mail": 0x14B575A8, - "Mirrah Chain Gloves": 0x14B57990, - "Mirrah Chain Leggings": 0x14B57D78, + + "Mirrah Vest": 0x15204568, + "Mirrah Gloves": 0x15204950, + "Mirrah Trousers": 0x15204D38, + "Chloranthy Ring": 0x20004E2A, "Loincloth": 0x148F57D8, "Wargod Wooden Shield": 0x0144DC10, @@ -128,6 +132,7 @@ road_of_sacrifice_table = { "Herald Trousers": 0x114FBD38, "Grass Crest Shield": 0x01437C80, + "Soul of a Crystal Sage": 0x400002CB, } cathedral_of_the_deep_table = { @@ -170,6 +175,8 @@ cathedral_of_the_deep_table = { "Gauntlets of Thorns": 0x15B8DFD0, "Leggings of Thorns": 0x15B8E3B8, "Small Doll": 0x400007D5, + "Soul of the Deacons of the Deep": 0x400002D9, + } farron_keep_table = { @@ -206,6 +213,8 @@ farron_keep_table = { "Atonement": 0x4039ADA0, "Great Magic Weapon": 0x40140118, "Cinders of a Lord - Abyss Watcher": 0x4000084B, + "Soul of the Blood of the Wolf": 0x400002CD, + "Soul of a Stray Demon": 0x400002E7, } catacombs_of_carthus_table = { @@ -218,6 +227,8 @@ catacombs_of_carthus_table = { "Old Sage's Blindfold": 0x11945BA0, "Witch's Ring": 0x20004F11, "Black Blade": 0x004CC070, + "Soul of High Lord Wolnir": 0x400002D6, + "Soul of a Demon": 0x400002E3, } smouldering_lake_table = { @@ -234,6 +245,8 @@ smouldering_lake_table = { "Sacred Flame": 0x40284880, "Fume Ultra Greatsword": 0x0060E4B0, "Black Iron Greatshield": 0x0150EA00, + "Soul of the Old Demon King": 0x400002D0, + } irithyll_of_the_boreal_valley_table = { @@ -268,6 +281,8 @@ irithyll_of_the_boreal_valley_table = { "Brass Leggings": 0x1501C8B8, "Ring of Favor": 0x20004E3E, "Golden Ritual Spear": 0x00C83200, + "Soul of Pontiff Sulyvahn": 0x400002D4, + } irithyll_dungeon_table = { @@ -307,6 +322,8 @@ profaned_capital_table = { "Greatshield of Glory": 0x01515F30, "Storm Ruler": 0x006132D0, "Cinders of a Lord - Yhorm the Giant": 0x4000084D, + "Soul of Yhorm the Giant": 0x400002DC, + } anor_londo_table = { @@ -314,6 +331,8 @@ anor_londo_table = { "Sun Princess Ring": 0x20004FBA, "Aldrich's Ruby": 0x2000508C, "Cinders of a Lord - Aldrich": 0x4000084C, + "Soul of Aldrich": 0x400002D5, + } lothric_castle_table = { @@ -336,6 +355,8 @@ lothric_castle_table = { "Knight's Ring": 0x20004FEC, "Sunlight Straight Sword": 0x00203230, "Grand Archives Key": 0x400007DE, + "Soul of Dragonslayer Armour": 0x400002D1, + } consumed_king_garden_table = { @@ -345,6 +366,7 @@ consumed_king_garden_table = { "Shadow Gauntlets": 0x14D3FE10, "Shadow Leggings": 0x14D401F8, "Claw": 0x00A7D8C0, + "Soul of Consumed Oceiros": 0x400002CE, } grand_archives_table = { @@ -361,6 +383,7 @@ grand_archives_table = { "Hunter's Ring": 0x20004FF6, "Divine Pillars of Light": 0x4038C340, "Cinders of a Lord - Lothric Prince": 0x4000084E, + "Soul of the Twin Princes": 0x400002DB, } untended_graves_table = { @@ -371,6 +394,7 @@ untended_graves_table = { "Blacksmith Hammer": 0x007E57C0, "Eyes of a Fire Keeper": 0x4000085A, "Coiled Sword Fragment": 0x4000015F, + "Soul of Champion Gundyr": 0x400002C8, } archdragon_peak_table = { @@ -390,6 +414,8 @@ archdragon_peak_table = { "Dragonslayer Gauntlets": 0x158B1910, "Dragonslayer Leggings": 0x158B1CF8, "Ricard's Rapier": 0x002E3BF0, + "Soul of the Nameless King": 0x400002D2, + } key_items_list = {