def make_player(x: int, y: int, player: Optional[Player] = None) -> List[Any]: if player is None: player = Player() return [ Display(0x0040), player, Position(x, y), ]
def make_weapon(x: int, y: int) -> List[Any]: return [ Display( code=0x0029, color=0xFF999999, draw_order=-1, ), Item(name="weapon upgrade", ), Equipment.WEAPON, Position(x, y), ]
def make_teleport_scroll(x: int, y: int) -> List[Any]: return [ Display( code=0x003F, color=0xFF6600FF, draw_order=-1, ), Item(name="teleport scroll", ), TeleportScroll(), Position(x, y), ]
def make_fire_scroll(x: int, y: int) -> List[Any]: return [ Display( code=0x003F, color=0xFFFF6600, draw_order=-1, ), Item(name="fire scroll", ), FireScroll(), Position(x, y), ]
def make_armour(x: int, y: int) -> List[Any]: return [ Display( code=0x005B, color=0xFF999999, draw_order=-1, ), Item(name="armour upgrade", ), Equipment.ARMOUR, Position(x, y), ]
def make_healing_potion(x: int, y: int) -> List[Any]: return [ Display( code=0x0021, color=0xFFFF0066, draw_order=-1, ), Item(name="healing potion", ), HealingPotion(), Position(x, y), ]
def make_smoke_bomb(x: int, y: int) -> List[Any]: return [ Display( code=0x0021, color=0xFF00FF66, draw_order=-1, ), Item(name="smoke bomb", ), SmokeBomb(), Position(x, y), ]
def make_trap(x: int, y: int, factory: Callable[[int, int], List[Any]]) -> List[Any]: return [ Display( code=0x005E, color=0xFF999999, draw_order=-2, ), Trap(factory), Position(x, y), ]
def make_officer(x: int, y: int) -> List[Any]: return [ Display( code=0x0034, color=0xFFFFFF00, ), Monster( name="junior officer", threat=[3], defend=4, health=2, ), Position(x, y), ]
def make_defender(x: int, y: int) -> List[Any]: return [ Display( code=0x006B, color=0xFF00FF00, ), Monster( name="knight", threat=[2], defend=4, health=1, ), Position(x, y), ]
def make_elite_officer(x: int, y: int) -> List[Any]: return [ Display( code=0x0033, color=0xFFFFFF00, ), Monster( name="senior officer", threat=[6], defend=5, health=3, ), Position(x, y), ]
def make_soldier(x: int, y: int) -> List[Any]: return [ Display( code=0x0073, color=0xFFFFFFFF, ), Monster( name="soldier", threat=[2], defend=1, health=1, ), Position(x, y), ]
def make_elite_soldier(x: int, y: int) -> List[Any]: return [ Display( code=0x0053, color=0xFFFFFFFF, ), Monster( name="elite soldier", threat=[5], defend=2, health=2, article="an", ), Position(x, y), ]
def make_archer(x: int, y: int) -> List[Any]: return [ Display( code=0x0061, color=0xFF00FFFF, ), Monster( name="archer", threat=[2, 5], defend=1, health=1, article="an", ), Position(x, y), ]
def make_assassin(x: int, y: int) -> List[Any]: return [ Display( code=0x0063, color=0xFF666666, ), Monster( name="cutthroat", threat=[5], defend=1, health=1, ), Assassin(), Position(x, y), ]
def make_elite_defender(x: int, y: int) -> List[Any]: return [ Display( code=0x004B, color=0xFF00FF00, ), Monster( name="elite knight", threat=[5], defend=5, health=2, article="an", ), Position(x, y), ]
def make_elite_assassin(x: int, y: int) -> List[Any]: return [ Display( code=0x0043, color=0xFF666666, ), Monster( name="elite cutthroat", threat=[8], defend=2, health=2, article="an", ), Assassin(), Position(x, y), ]
def make_mid_boss(x: int, y: int) -> List[Any]: return [ Display( code=0x0032, color=0xFFFFFF00, ), Monster( name="militia commander", threat=[9, 5], defend=4, health=4, article="the", ), Position(x, y), Boss(), CanTaunt(), ]
def make_end_boss(x: int, y: int) -> List[Any]: return [ Display( code=0x0031, color=0xFFFFFF00, ), Monster( name="militia captain", threat=[11, 5], defend=5, health=5, article="the", ), Position(x, y), Boss(), CanTaunt(), ]
def make_stairs(x: int, y: int) -> List[Any]: return [ Display(0x003E, draw_order=-2), Stairs(), Position(x, y), ]