From 1e70ca8757d35d156dc0bf3571b3e25b70c17ef6 Mon Sep 17 00:00:00 2001 From: LLCoolDave Date: Sat, 20 May 2017 14:06:32 +0200 Subject: [PATCH] Items: Added Item codes. Dungeon specific items do not seem to work yet, reverted to vanilla items. --- Items.py | 241 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 122 insertions(+), 119 deletions(-) diff --git a/Items.py b/Items.py index 04ae8ebe..377a99cd 100644 --- a/Items.py +++ b/Items.py @@ -1,601 +1,604 @@ from BaseClasses import Item +import random class Bow(Item): def __init__(self): - super(Bow, self).__init__('Bow', True) + super(Bow, self).__init__('Bow', True, code=0x0B) class Book(Item): def __init__(self): - super(Book, self).__init__('Book of Mudora', True) + super(Book, self).__init__('Book of Mudora', True, code=0x1D) class Hammer(Item): def __init__(self): - super(Hammer, self).__init__('Hammer', True) + super(Hammer, self).__init__('Hammer', True, code=0x09) class Hookshot(Item): def __init__(self): - super(Hookshot, self).__init__('Hookshot', True) + super(Hookshot, self).__init__('Hookshot', True, code=0x0A) class Mirror(Item): def __init__(self): - super(Mirror, self).__init__('Magic Mirror', True) + super(Mirror, self).__init__('Magic Mirror', True, code=0x1A) class Ocarina(Item): def __init__(self): - super(Ocarina, self).__init__('Ocarina', True) + super(Ocarina, self).__init__('Ocarina', True, code=0x14) class Boots(Item): def __init__(self): - super(Boots, self).__init__('Pegasus Boots', True) + super(Boots, self).__init__('Pegasus Boots', True, code=0x4B) class Glove(Item): def __init__(self): - super(Glove, self).__init__('Power Glove', True) + super(Glove, self).__init__('Power Glove', True, code=0x1B) class Cape(Item): def __init__(self): - super(Cape, self).__init__('Cape', True) + super(Cape, self).__init__('Cape', True, code=0x19) class Mushroom(Item): def __init__(self): - super(Mushroom, self).__init__('Mushroom', True) + super(Mushroom, self).__init__('Mushroom', True, code=0x29) class Shovel(Item): def __init__(self): - super(Shovel, self).__init__('Shovel', True) + super(Shovel, self).__init__('Shovel', True, code=0x13) class Lamp(Item): def __init__(self): - super(Lamp, self).__init__('Lamp', True) + super(Lamp, self).__init__('Lamp', True, code=0x12) class Powder(Item): def __init__(self): - super(Powder, self).__init__('Magic Powder', True) + super(Powder, self).__init__('Magic Powder', True, code=0x0D) class Pearl(Item): def __init__(self): - super(Pearl, self).__init__('Moon Pearl', True) + super(Pearl, self).__init__('Moon Pearl', True, code=0x1F) class Somaria(Item): def __init__(self): - super(Somaria, self).__init__('Cane of Somaria', True) + super(Somaria, self).__init__('Cane of Somaria', True, code=0x15) class FireRod(Item): def __init__(self): - super(FireRod, self).__init__('Fire Rod', True) + super(FireRod, self).__init__('Fire Rod', True, code=0x07) class Flippers(Item): def __init__(self): - super(Flippers, self).__init__('Flippers', True) + super(Flippers, self).__init__('Flippers', True, code=0x1E) class IceRod(Item): def __init__(self): - super(IceRod, self).__init__('Ice Rod', True) + super(IceRod, self).__init__('Ice Rod', True, code=0x08) class Mitts(Item): def __init__(self): - super(Mitts, self).__init__("Titans Mitts", True) + super(Mitts, self).__init__("Titans Mitts", True, code=0x1C) class Ether(Item): def __init__(self): - super(Ether, self).__init__('Ether', True) + super(Ether, self).__init__('Ether', True, code=0x0F) class Bombos(Item): def __init__(self): - super(Bombos, self).__init__('Bombos', True) + super(Bombos, self).__init__('Bombos', True, code=0x10) class Quake(Item): def __init__(self): - super(Quake, self).__init__('Quake', True) + super(Quake, self).__init__('Quake', True, code=0x11) class Bottle(Item): def __init__(self): - super(Bottle, self).__init__('Bottle', True) + super(Bottle, self).__init__('Bottle', True, code=[0x16, 0x2B, 0x2C, 0x2D, 0x3C, 0x3D, 0x48][random.randint(0, 6)]) class MasterSword(Item): def __init__(self): - super(MasterSword, self).__init__('Master Sword', True) + super(MasterSword, self).__init__('Master Sword', True, code=0x50) class TemperedSword(Item): def __init__(self): - super(TemperedSword, self).__init__('Tempered Sword', True) + super(TemperedSword, self).__init__('Tempered Sword', True, code=0x02) class FighterSword(Item): def __init__(self): - super(FighterSword, self).__init__('Fighter Sword', True) + super(FighterSword, self).__init__('Fighter Sword', True, code=0x49) class GoldenSword(Item): def __init__(self): - super(GoldenSword, self).__init__('GoldenSword', True) + super(GoldenSword, self).__init__('GoldenSword', True, code=0x03) class ProgressiveSword(Item): def __init__(self): - super(ProgressiveSword, self).__init__('Progressive Sword', True) + super(ProgressiveSword, self).__init__('Progressive Sword', True, code=0x5E) class ProgressiveGlove(Item): def __init__(self): - super(ProgressiveGlove, self).__init__('Progressive Glove', True) + super(ProgressiveGlove, self).__init__('Progressive Glove', True, code=0x61) class SilverArrows(Item): def __init__(self): - super(SilverArrows, self).__init__('Silver Arrows', True) + super(SilverArrows, self).__init__('Silver Arrows', True, code=0x58) class GreenPendant(Item): def __init__(self): - super(GreenPendant, self).__init__('Green Pendant', True) + super(GreenPendant, self).__init__('Green Pendant', True, code=[0x04, 0x38, 0x60, 0x00, 0x69, 0x01]) class RedPendant(Item): def __init__(self): - super(RedPendant, self).__init__('Red Pendant', True) + super(RedPendant, self).__init__('Red Pendant', True, code=[0x02, 0x34, 0x60, 0x00, 0x69, 0x02]) class BluePendant(Item): def __init__(self): - super(BluePendant, self).__init__('Blue Pendant', True) + super(BluePendant, self).__init__('Blue Pendant', True, code=[0x01, 0x32, 0x60, 0x00, 0x69, 0x03]) class Triforce(Item): def __init__(self): - super(Triforce, self).__init__('Triforce', True) + super(Triforce, self).__init__('Triforce', True, code=0x6A) class Crystal1(Item): def __init__(self): - super(Crystal1, self).__init__('Crystal 1', True) + super(Crystal1, self).__init__('Crystal 1', True, code=[0x02, 0x34, 0x64, 0x40, 0x7F, 0x06]) class Crystal2(Item): def __init__(self): - super(Crystal2, self).__init__('Crystal 2', True) + super(Crystal2, self).__init__('Crystal 2', True, code=[0x10, 0x34, 0x64, 0x40, 0x79, 0x06]) class Crystal3(Item): def __init__(self): - super(Crystal3, self).__init__('Crystal 3', True) + super(Crystal3, self).__init__('Crystal 3', True, code=[0x40, 0x34, 0x64, 0x40, 0x6C, 0x06]) class Crystal4(Item): def __init__(self): - super(Crystal4, self).__init__('Crystal 4', True) + super(Crystal4, self).__init__('Crystal 4', True, code=[0x20, 0x34, 0x64, 0x40, 0x6D, 0x06]) class Crystal5(Item): def __init__(self): - super(Crystal5, self).__init__('Crystal 5', True) + super(Crystal5, self).__init__('Crystal 5', True, code=[0x04, 0x34, 0x64, 0x40, 0x6E, 0x06]) class Crystal6(Item): def __init__(self): - super(Crystal6, self).__init__('Crystal 6', True) + super(Crystal6, self).__init__('Crystal 6', True, code=[0x01, 0x34, 0x64, 0x40, 0x6F, 0x06]) class Crystal7(Item): def __init__(self): - super(Crystal7, self).__init__('Crystal 7', True) + super(Crystal7, self).__init__('Crystal 7', True, code=[0x08, 0x34, 0x64, 0x40, 0x7C, 0x06]) class SingleArrow(Item): def __init__(self): - super(SingleArrow, self).__init__('Single Arrow', False) + super(SingleArrow, self).__init__('Single Arrow', False, code=0x43) class Arrows10(Item): def __init__(self): - super(Arrows10, self).__init__('Arrows (10)', False) + super(Arrows10, self).__init__('Arrows (10)', False, code=0x44) class ArrowUpgrade10(Item): def __init__(self): - super(ArrowUpgrade10, self).__init__('Arrow Upgrade (+10)', False) + super(ArrowUpgrade10, self).__init__('Arrow Upgrade (+10)', False, code=0x54) class ArrowUpgrade5(Item): def __init__(self): - super(ArrowUpgrade5, self).__init__('Arrow Upgrade (+10)', False) + super(ArrowUpgrade5, self).__init__('Arrow Upgrade (+5)', False, code=0x53) class SingleBomb(Item): def __init__(self): - super(SingleBomb, self).__init__('Single Bomb', False) + super(SingleBomb, self).__init__('Single Bomb', False, code=0x27) class Bombs3(Item): def __init__(self): - super(Bombs3, self).__init__('Bombs (3)', False) + super(Bombs3, self).__init__('Bombs (3)', False, code=0x28) class BombUpgrade10(Item): def __init__(self): - super(BombUpgrade10, self).__init__('Bomb Upgrade (+10)', False) + super(BombUpgrade10, self).__init__('Bomb Upgrade (+10)', False, code=0x52) class BombUpgrade5(Item): def __init__(self): - super(BombUpgrade5, self).__init__('Bomb Upgrade (+5)', False) + super(BombUpgrade5, self).__init__('Bomb Upgrade (+5)', False, code=0x51) class BlueMail(Item): def __init__(self): - super(BlueMail, self).__init__('Blue Mail', False) + super(BlueMail, self).__init__('Blue Mail', False, code=0x22) class RedMail(Item): def __init__(self): - super(RedMail, self).__init__('Red Mail', False) + super(RedMail, self).__init__('Red Mail', False, code=0x23) class ProgressiveArmor(Item): def __init__(self): - super(ProgressiveArmor, self).__init__('Progressive Armor', False) + super(ProgressiveArmor, self).__init__('Progressive Armor', False, code=0x60) class BlueBoomerang(Item): def __init__(self): - super(BlueBoomerang, self).__init__('Blue Boomerang', False) + super(BlueBoomerang, self).__init__('Blue Boomerang', False, code=0x0C) class RedBoomerang(Item): def __init__(self): - super(RedBoomerang, self).__init__('Red Boomerang', False) + super(RedBoomerang, self).__init__('Red Boomerang', False, code=0x2A) class BlueShield(Item): def __init__(self): - super(BlueShield, self).__init__('Blue Shield', False) + super(BlueShield, self).__init__('Blue Shield', False, code=0x04) class RedShield(Item): def __init__(self): - super(RedShield, self).__init__('Red Shield', False) + super(RedShield, self).__init__('Red Shield', False, code=0x05) class MirrorShield(Item): def __init__(self): - super(MirrorShield, self).__init__('Mirror Shield', False) + super(MirrorShield, self).__init__('Mirror Shield', False, code=0x06) class ProgressiveShield(Item): def __init__(self): - super(ProgressiveShield, self).__init__('Progressive Shield', False) + super(ProgressiveShield, self).__init__('Progressive Shield', False, code=0x5F) class Net(Item): def __init__(self): - super(Net, self).__init__('Bug Catching Net', False) + super(Net, self).__init__('Bug Catching Net', False, code=0x21) class Byrna(Item): def __init__(self): - super(Byrna, self).__init__('Cane of Byrna', False) + super(Byrna, self).__init__('Cane of Byrna', False, code=0x18) class HeartContainer(Item): def __init__(self): - super(HeartContainer, self).__init__('Boss Heart Container', False) + super(HeartContainer, self).__init__('Boss Heart Container', False, code=0x3E) class SancHeart(Item): def __init__(self): - super(SancHeart, self).__init__('Sanctuary Heart Container', False) + super(SancHeart, self).__init__('Sanctuary Heart Container', False, code=0x3F) class PieceOfHeart(Item): def __init__(self): - super(PieceOfHeart, self).__init__('Piece of Heart', False) + super(PieceOfHeart, self).__init__('Piece of Heart', False, code=0x17) class Rupee(Item): def __init__(self): - super(Rupee, self).__init__('Rupee (1)', False) + super(Rupee, self).__init__('Rupee (1)', False, code=0x34) class Rupees5(Item): def __init__(self): - super(Rupees5, self).__init__('Rupees (5)', False) + super(Rupees5, self).__init__('Rupees (5)', False, code=0x35) class Rupees20(Item): def __init__(self): - super(Rupees20, self).__init__('Rupees (20)', False) + super(Rupees20, self).__init__('Rupees (20)', False, code=0x36) class Rupees50(Item): def __init__(self): - super(Rupees50, self).__init__('Rupees (50)', False) + super(Rupees50, self).__init__('Rupees (50)', False, code=0x41) class Rupees100(Item): def __init__(self): - super(Rupees100, self).__init__('Rupees (100)', False) + super(Rupees100, self).__init__('Rupees (100)', False, code=0x40) class Rupees300(Item): def __init__(self): - super(Rupees300, self).__init__('Rupees (300)', False) + super(Rupees300, self).__init__('Rupees (300)', False, code=0x46) class HalfMagic(Item): def __init__(self): - super(HalfMagic, self).__init__('Magic Upgrade (1/2)', True) # can be required to beat mothula in an open seed in very very rare circumstance + super(HalfMagic, self).__init__('Magic Upgrade (1/2)', True, code=0x4E) # can be required to beat mothula in an open seed in very very rare circumstance class QuarterMagic(Item): def __init__(self): - super(QuarterMagic, self).__init__('Magic Upgrade (1/4)', True) # can be required to beat mothula in an open seed in very very rare circumstance + super(QuarterMagic, self).__init__('Magic Upgrade (1/4)', True, code=0x4F) # can be required to beat mothula in an open seed in very very rare circumstance +# ToDo Use dungeons specific items once they work correctly + class EPSmallKey(Item): def __init__(self): - super(EPSmallKey, self).__init__('Small Key (Eastern Palace)', False, True) + super(EPSmallKey, self).__init__('Small Key (Eastern Palace)', False, True, code=0x24) class EPBigKey(Item): def __init__(self): - super(EPBigKey, self).__init__('Big Key (Eastern Palace)', False, True) + super(EPBigKey, self).__init__('Big Key (Eastern Palace)', False, True, code=0x32) class EPCompass(Item): def __init__(self): - super(EPCompass, self).__init__('Compass (Eastern Palace)', False) + super(EPCompass, self).__init__('Compass (Eastern Palace)', False, code=0x25) class EPMap(Item): def __init__(self): - super(EPMap, self).__init__('Map (Eastern Palace)', False) + super(EPMap, self).__init__('Map (Eastern Palace)', False, code=0x33) class DPSmallKey(Item): def __init__(self): - super(DPSmallKey, self).__init__('Small Key (Desert Palace)', False, True) + super(DPSmallKey, self).__init__('Small Key (Desert Palace)', False, True, code=0x24) class DPBigKey(Item): def __init__(self): - super(DPBigKey, self).__init__('Big Key (Desert Palace)', False, True) + super(DPBigKey, self).__init__('Big Key (Desert Palace)', False, True, code=0x32) class DPCompass(Item): def __init__(self): - super(DPCompass, self).__init__('Compass (Desert Palace)', False) + super(DPCompass, self).__init__('Compass (Desert Palace)', False, code=0x25) class DPMap(Item): def __init__(self): - super(DPMap, self).__init__('Map (Desert Palace)', False) + super(DPMap, self).__init__('Map (Desert Palace)', False, code=0x33) class THSmallKey(Item): def __init__(self): - super(THSmallKey, self).__init__('Small Key (Tower of Hera)', False, True) + super(THSmallKey, self).__init__('Small Key (Tower of Hera)', False, True, code=0x24) class THBigKey(Item): def __init__(self): - super(THBigKey, self).__init__('Big Key (Tower of Hera)', False, True) + super(THBigKey, self).__init__('Big Key (Tower of Hera)', False, True, code=0x32) class THCompass(Item): def __init__(self): - super(THCompass, self).__init__('Compass (Tower of Hera)', False) + super(THCompass, self).__init__('Compass (Tower of Hera)', False, code=0x25) class THMap(Item): def __init__(self): - super(THMap, self).__init__('Map (Tower of Hera)', False) + super(THMap, self).__init__('Map (Tower of Hera)', False, code=0x33) class ESSmallKey(Item): def __init__(self): - super(ESSmallKey, self).__init__('Small Key (Escape)', False, True) + super(ESSmallKey, self).__init__('Small Key (Escape)', False, True, code=0x24) class ESBigKey(Item): def __init__(self): - super(ESBigKey, self).__init__('Big Key (Escape)', False, True) + super(ESBigKey, self).__init__('Big Key (Escape)', False, True, code=0x32) class ESMap(Item): def __init__(self): - super(ESMap, self).__init__('Map (Escape)', False) + super(ESMap, self).__init__('Map (Escape)', False, code=0x33) class ATSmallKey(Item): def __init__(self): - super(ATSmallKey, self).__init__('Small Key (Aghanims Tower)', False, True) + super(ATSmallKey, self).__init__('Small Key (Aghanims Tower)', False, True, code=0x24) class PDSmallKey(Item): def __init__(self): - super(PDSmallKey, self).__init__('Small Key (Palace of Darkness)', False, True) + super(PDSmallKey, self).__init__('Small Key (Palace of Darkness)', False, True, code=0x24) class PDBigKey(Item): def __init__(self): - super(PDBigKey, self).__init__('Big Key (Palace of Darkness)', False, True) + super(PDBigKey, self).__init__('Big Key (Palace of Darkness)', False, True, code=0x32) class PDCompass(Item): def __init__(self): - super(PDCompass, self).__init__('Compass (Palace of Darkness)', False) + super(PDCompass, self).__init__('Compass (Palace of Darkness)', False, code=0x25) class PDMap(Item): def __init__(self): - super(PDMap, self).__init__('Map (Palace of Darkness)', False) + super(PDMap, self).__init__('Map (Palace of Darkness)', False, code=0x33) class TTSmallKey(Item): def __init__(self): - super(TTSmallKey, self).__init__('Small Key (Thieves Town)', False, True) + super(TTSmallKey, self).__init__('Small Key (Thieves Town)', False, True, code=0x24) class TTBigKey(Item): def __init__(self): - super(TTBigKey, self).__init__('Big Key (Thieves Town)', False, True) + super(TTBigKey, self).__init__('Big Key (Thieves Town)', False, True, code=0x32) class TTCompass(Item): def __init__(self): - super(TTCompass, self).__init__('Compass (Thieves Town)', False) + super(TTCompass, self).__init__('Compass (Thieves Town)', False, code=0x25) class TTMap(Item): def __init__(self): - super(TTMap, self).__init__('Map (Thieves Town)', False) + super(TTMap, self).__init__('Map (Thieves Town)', False, code=0x33) class SWSmallKey(Item): def __init__(self): - super(SWSmallKey, self).__init__('Small Key (Skull Woods)', False, True) + super(SWSmallKey, self).__init__('Small Key (Skull Woods)', False, True, code=0x24) class SWBigKey(Item): def __init__(self): - super(SWBigKey, self).__init__('Big Key (Skull Woods)', False, True) + super(SWBigKey, self).__init__('Big Key (Skull Woods)', False, True, code=0x32) class SWCompass(Item): def __init__(self): - super(SWCompass, self).__init__('Compass (Skull Woods)', False) + super(SWCompass, self).__init__('Compass (Skull Woods)', False, code=0x25) class SWMap(Item): def __init__(self): - super(SWMap, self).__init__('Map (Skull Woods)', False) + super(SWMap, self).__init__('Map (Skull Woods)', False, code=0x33) class SPSmallKey(Item): def __init__(self): - super(SPSmallKey, self).__init__('Small Key (Swamp Palace)', False, True) + super(SPSmallKey, self).__init__('Small Key (Swamp Palace)', False, True, code=0x24) class SPBigKey(Item): def __init__(self): - super(SPBigKey, self).__init__('Big Key (Swamp Palace)', False, True) + super(SPBigKey, self).__init__('Big Key (Swamp Palace)', False, True, code=0x32) class SPCompass(Item): def __init__(self): - super(SPCompass, self).__init__('Compass (Swamp Palace)', False) + super(SPCompass, self).__init__('Compass (Swamp Palace)', False, code=0x25) class SPMap(Item): def __init__(self): - super(SPMap, self).__init__('Map (Swamp Palace)', False) + super(SPMap, self).__init__('Map (Swamp Palace)', False, code=0x33) class IPSmallKey(Item): def __init__(self): - super(IPSmallKey, self).__init__('Small Key (Ice Palace)', False, True) + super(IPSmallKey, self).__init__('Small Key (Ice Palace)', False, True, code=0x24) class IPBigKey(Item): def __init__(self): - super(IPBigKey, self).__init__('Big Key (Ice Palace)', False, True) + super(IPBigKey, self).__init__('Big Key (Ice Palace)', False, True, code=0x32) class IPCompass(Item): def __init__(self): - super(IPCompass, self).__init__('Compass (Ice Palace)', False) + super(IPCompass, self).__init__('Compass (Ice Palace)', False, code=0x25) class IPMap(Item): def __init__(self): - super(IPMap, self).__init__('Map (Ice Palace)', False) + super(IPMap, self).__init__('Map (Ice Palace)', False, code=0x33) class MMSmallKey(Item): def __init__(self): - super(MMSmallKey, self).__init__('Small Key (Misery Mire)', False, True) + super(MMSmallKey, self).__init__('Small Key (Misery Mire)', False, True, code=0x24) class MMBigKey(Item): def __init__(self): - super(MMBigKey, self).__init__('Big Key (Misery Mire)', False, True) + super(MMBigKey, self).__init__('Big Key (Misery Mire)', False, True, code=0x32) class MMCompass(Item): def __init__(self): - super(MMCompass, self).__init__('Compass (Misery Mire)', False) + super(MMCompass, self).__init__('Compass (Misery Mire)', False, code=0x25) class MMMap(Item): def __init__(self): - super(MMMap, self).__init__('Map (Misery Mire)', False) + super(MMMap, self).__init__('Map (Misery Mire)', False, code=0x33) class TRSmallKey(Item): def __init__(self): - super(TRSmallKey, self).__init__('Small Key (Turtle Rock)', False, True) + super(TRSmallKey, self).__init__('Small Key (Turtle Rock)', False, True, code=0x24) class TRBigKey(Item): def __init__(self): - super(TRBigKey, self).__init__('Big Key (Turtle Rock)', False, True) + super(TRBigKey, self).__init__('Big Key (Turtle Rock)', False, True, code=0x32) class TRCompass(Item): def __init__(self): - super(TRCompass, self).__init__('Compass (Turtle Rock)', False) + super(TRCompass, self).__init__('Compass (Turtle Rock)', False, code=0x25) class TRMap(Item): def __init__(self): - super(TRMap, self).__init__('Map (Turtle Rock)', False) + super(TRMap, self).__init__('Map (Turtle Rock)', False, code=0x33) class GTSmallKey(Item): def __init__(self): - super(GTSmallKey, self).__init__('Small Key (Ganons Tower)', False, True) + super(GTSmallKey, self).__init__('Small Key (Ganons Tower)', False, True, code=0x24) class GTBigKey(Item): def __init__(self): - super(GTBigKey, self).__init__('Big Key (Ganons Tower)', False, True) + super(GTBigKey, self).__init__('Big Key (Ganons Tower)', False, True, code=0x32) class GTCompass(Item): def __init__(self): - super(GTCompass, self).__init__('Compass (Ganons Tower)', False) + super(GTCompass, self).__init__('Compass (Ganons Tower)', False, code=0x25) class GTMap(Item): def __init__(self): - super(GTMap, self).__init__('Map (Ganons Tower)', False) \ No newline at end of file + super(GTMap, self).__init__('Map (Ganons Tower)', False, code=0x33)