def component(name): # TODO: Change this into a proper factory component_map = { "PLAYER" : Fighter(hp=80, defense=5, power=7, magic=5), #"PLAYER" : Fighter(hp=99999, defense=99999, power=99999, magic=99999), "ORC" : Fighter(hp=10, defense=0, power=3, xp=35), "TROLL" : Fighter(hp=16, defense=1, power=4, xp=100), "BASIC" : BasicMonster(), "INVENTORY" : Inventory(26), "EQUIPMENT" : Equipment(), "PURSE" : Purse() } return component_map[name]
def make(self, level, boss): monster = Entity( 0, 0, 'w', tcod.purple, 'Goblin Warlock', True, render_order=RenderOrder.ACTOR, fighter=super().get_fighter(level), purse=Purse(initial=random.randint(6 * level, 9 * level)), level=level, ai=SummonerMonster(summon='goblin', chance=20)) return monster
def make(self, level, boss): monster = Entity( 0, 0, 'g', tcod.dark_green, 'Goblin Warrior', True, render_order=RenderOrder.ACTOR, fighter=super().get_fighter(level), purse=Purse(initial=random.randint(2 * level, 6 * level)), level=level, ai=BasicMonster()) return monster
def make(self, level, boss): monster = Entity( 0, 0, 'T', tcod.dark_red, 'Troll Chief', True, render_order=RenderOrder.ACTOR, fighter=super().get_fighter(level), purse=Purse(initial=random.randint(6 * level, 9 * level)), level=level, ai=BasicMonster()) return monster
def make(self, level, boss): monster = Entity( 0, 0, 'S', tcod.light_red, 'Troll Shaman', True, render_order=RenderOrder.ACTOR, fighter=super().get_fighter(level), purse=Purse(initial=random.randint(4 * level, 8 * level)), level=level, ai=SummonerMonster(summon='troll', chance=25)) return monster
def make(self, level, boss): monster = Entity( 0, 0, 'D', tcod.cyan, 'Elder Dragon', True, render_order=RenderOrder.ACTOR, fighter=super().get_fighter(level), purse=Purse(initial=random.randint(98 * level, 135 * level)), level=level, boss=boss, ai=BasicMonster()) return monster
def make(self, level, boss): monster = Entity( 0, 0, 'D', tcod.dark_green, 'Green Dragon', True, render_order=RenderOrder.ACTOR, fighter=super().get_fighter(level), purse=Purse(initial=random.randint(12 * level, 24 * level)), level=level, boss=boss, ai=BasicMonster()) return monster