Archipelago/Items.py

605 lines
15 KiB
Python

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=0x0F)
class Bombos(Item):
def __init__(self):
super(Bombos, self).__init__('Bombos', True, code=0x10)
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)