from BaseClasses import Item import random class Bow(Item): def __init__(self): super(Bow, self).__init__('Bow', True, code=0x0B) class Book(Item): def __init__(self): super(Book, self).__init__('Book of Mudora', True, code=0x1D) class Hammer(Item): def __init__(self): super(Hammer, self).__init__('Hammer', True, code=0x09) class Hookshot(Item): def __init__(self): super(Hookshot, self).__init__('Hookshot', True, code=0x0A) class Mirror(Item): def __init__(self): super(Mirror, self).__init__('Magic Mirror', True, code=0x1A) class Ocarina(Item): def __init__(self): super(Ocarina, self).__init__('Ocarina', True, code=0x14) class Boots(Item): def __init__(self): super(Boots, self).__init__('Pegasus Boots', True, code=0x4B) class Glove(Item): def __init__(self): super(Glove, self).__init__('Power Glove', True, code=0x1B) class Cape(Item): def __init__(self): super(Cape, self).__init__('Cape', True, code=0x19) class Mushroom(Item): def __init__(self): super(Mushroom, self).__init__('Mushroom', True, code=0x29) class Shovel(Item): def __init__(self): super(Shovel, self).__init__('Shovel', True, code=0x13) class Lamp(Item): def __init__(self): super(Lamp, self).__init__('Lamp', True, code=0x12) class Powder(Item): def __init__(self): super(Powder, self).__init__('Magic Powder', True, code=0x0D) class Pearl(Item): def __init__(self): super(Pearl, self).__init__('Moon Pearl', True, code=0x1F) class Somaria(Item): def __init__(self): super(Somaria, self).__init__('Cane of Somaria', True, code=0x15) class FireRod(Item): def __init__(self): super(FireRod, self).__init__('Fire Rod', True, code=0x07) class Flippers(Item): def __init__(self): super(Flippers, self).__init__('Flippers', True, code=0x1E) class IceRod(Item): def __init__(self): super(IceRod, self).__init__('Ice Rod', True, code=0x08) class Mitts(Item): def __init__(self): super(Mitts, self).__init__("Titans Mitts", True, code=0x1C) class Ether(Item): def __init__(self): super(Ether, self).__init__('Ether', True, code=0x10) class Bombos(Item): def __init__(self): super(Bombos, self).__init__('Bombos', True, code=0x0F) class Quake(Item): def __init__(self): super(Quake, self).__init__('Quake', True, code=0x11) class Bottle(Item): def __init__(self): 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, code=0x50) class TemperedSword(Item): def __init__(self): super(TemperedSword, self).__init__('Tempered Sword', True, code=0x02) class FighterSword(Item): def __init__(self): super(FighterSword, self).__init__('Fighter Sword', True, code=0x49) class GoldenSword(Item): def __init__(self): super(GoldenSword, self).__init__('GoldenSword', True, code=0x03) class ProgressiveSword(Item): def __init__(self): super(ProgressiveSword, self).__init__('Progressive Sword', True, code=0x5E) class ProgressiveGlove(Item): def __init__(self): super(ProgressiveGlove, self).__init__('Progressive Glove', True, code=0x61) class SilverArrows(Item): def __init__(self): super(SilverArrows, self).__init__('Silver Arrows', True, code=0x58) class GreenPendant(Item): def __init__(self): 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, code=[0x02, 0x34, 0x60, 0x00, 0x69, 0x02]) class BluePendant(Item): def __init__(self): 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, code=0x6A) class Crystal1(Item): def __init__(self): 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, code=[0x10, 0x34, 0x64, 0x40, 0x79, 0x06]) class Crystal3(Item): def __init__(self): 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, code=[0x20, 0x34, 0x64, 0x40, 0x6D, 0x06]) class Crystal5(Item): def __init__(self): 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, code=[0x01, 0x34, 0x64, 0x40, 0x6F, 0x06]) class Crystal7(Item): def __init__(self): 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, code=0x43) class Arrows10(Item): def __init__(self): super(Arrows10, self).__init__('Arrows (10)', False, code=0x44) class ArrowUpgrade10(Item): def __init__(self): super(ArrowUpgrade10, self).__init__('Arrow Upgrade (+10)', False, code=0x54) class ArrowUpgrade5(Item): def __init__(self): super(ArrowUpgrade5, self).__init__('Arrow Upgrade (+5)', False, code=0x53) class SingleBomb(Item): def __init__(self): super(SingleBomb, self).__init__('Single Bomb', False, code=0x27) class Bombs3(Item): def __init__(self): super(Bombs3, self).__init__('Bombs (3)', False, code=0x28) class BombUpgrade10(Item): def __init__(self): super(BombUpgrade10, self).__init__('Bomb Upgrade (+10)', False, code=0x52) class BombUpgrade5(Item): def __init__(self): super(BombUpgrade5, self).__init__('Bomb Upgrade (+5)', False, code=0x51) class BlueMail(Item): def __init__(self): super(BlueMail, self).__init__('Blue Mail', False, code=0x22) class RedMail(Item): def __init__(self): super(RedMail, self).__init__('Red Mail', False, code=0x23) class ProgressiveArmor(Item): def __init__(self): super(ProgressiveArmor, self).__init__('Progressive Armor', False, code=0x60) class BlueBoomerang(Item): def __init__(self): super(BlueBoomerang, self).__init__('Blue Boomerang', False, code=0x0C) class RedBoomerang(Item): def __init__(self): super(RedBoomerang, self).__init__('Red Boomerang', False, code=0x2A) class BlueShield(Item): def __init__(self): super(BlueShield, self).__init__('Blue Shield', False, code=0x04) class RedShield(Item): def __init__(self): super(RedShield, self).__init__('Red Shield', False, code=0x05) class MirrorShield(Item): def __init__(self): super(MirrorShield, self).__init__('Mirror Shield', False, code=0x06) class ProgressiveShield(Item): def __init__(self): super(ProgressiveShield, self).__init__('Progressive Shield', False, code=0x5F) class Net(Item): def __init__(self): super(Net, self).__init__('Bug Catching Net', False, code=0x21) class Byrna(Item): def __init__(self): super(Byrna, self).__init__('Cane of Byrna', False, code=0x18) class HeartContainer(Item): def __init__(self): super(HeartContainer, self).__init__('Boss Heart Container', False, code=0x3E) class SancHeart(Item): def __init__(self): super(SancHeart, self).__init__('Sanctuary Heart Container', False, code=0x3F) class PieceOfHeart(Item): def __init__(self): super(PieceOfHeart, self).__init__('Piece of Heart', False, code=0x17) class Rupee(Item): def __init__(self): super(Rupee, self).__init__('Rupee (1)', False, code=0x34) class Rupees5(Item): def __init__(self): super(Rupees5, self).__init__('Rupees (5)', False, code=0x35) class Rupees20(Item): def __init__(self): super(Rupees20, self).__init__('Rupees (20)', False, code=0x36) class Rupees50(Item): def __init__(self): super(Rupees50, self).__init__('Rupees (50)', False, code=0x41) class Rupees100(Item): def __init__(self): super(Rupees100, self).__init__('Rupees (100)', False, code=0x40) class Rupees300(Item): def __init__(self): super(Rupees300, self).__init__('Rupees (300)', False, code=0x46) class HalfMagic(Item): def __init__(self): 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, 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, code=0x24) class EPBigKey(Item): def __init__(self): 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, code=0x25) class EPMap(Item): def __init__(self): 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, code=0x24) class DPBigKey(Item): def __init__(self): 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, code=0x25) class DPMap(Item): def __init__(self): 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, code=0x24) class THBigKey(Item): def __init__(self): 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, code=0x25) class THMap(Item): def __init__(self): 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, code=0x24) class ESBigKey(Item): def __init__(self): super(ESBigKey, self).__init__('Big Key (Escape)', False, True, code=0x32) class ESMap(Item): def __init__(self): super(ESMap, self).__init__('Map (Escape)', False, code=0x33) class ATSmallKey(Item): def __init__(self): super(ATSmallKey, self).__init__('Small Key (Agahnims Tower)', False, True, code=0x24) class PDSmallKey(Item): def __init__(self): 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, code=0x32) class PDCompass(Item): def __init__(self): 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, code=0x33) class TTSmallKey(Item): def __init__(self): 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, code=0x32) class TTCompass(Item): def __init__(self): super(TTCompass, self).__init__('Compass (Thieves Town)', False, code=0x25) class TTMap(Item): def __init__(self): 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, code=0x24) class SWBigKey(Item): def __init__(self): 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, code=0x25) class SWMap(Item): def __init__(self): 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, code=0x24) class SPBigKey(Item): def __init__(self): 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, code=0x25) class SPMap(Item): def __init__(self): 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, code=0x24) class IPBigKey(Item): def __init__(self): 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, code=0x25) class IPMap(Item): def __init__(self): 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, code=0x24) class MMBigKey(Item): def __init__(self): 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, code=0x25) class MMMap(Item): def __init__(self): 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, code=0x24) class TRBigKey(Item): def __init__(self): 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, code=0x25) class TRMap(Item): def __init__(self): 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, code=0x24) class GTBigKey(Item): def __init__(self): 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, code=0x25) class GTMap(Item): def __init__(self): super(GTMap, self).__init__('Map (Ganons Tower)', False, code=0x33)