def register_hero_warrior(): sprite = Sprite.HERO_WARRIOR portrait_icon_sprite = PortraitIconSprite.HERO_WARRIOR player_sprite_sheet = SpriteSheet( "resources/graphics/enemy_sprite_sheet_3.png") original_sprite_size = (32, 32) scaled_sprite_size = (48, 48) x = 6 indices_by_dir = { Direction.DOWN: [(x + i, 4) for i in range(3)], Direction.LEFT: [(x + i, 5) for i in range(3)], Direction.RIGHT: [(x + i, 6) for i in range(3)], Direction.UP: [(x + i, 7) for i in range(3)] } sprite_position_relative_to_entity = (-8, -16) register_entity_sprite_map(sprite, player_sprite_sheet, original_sprite_size, scaled_sprite_size, indices_by_dir, sprite_position_relative_to_entity) register_portrait_icon_sprite_path( portrait_icon_sprite, 'resources/graphics/portrait_warrior_hero.png') entity_speed = 0.105 description = "A sturdy melee fighter, the warrior can stand his ground against any foe, and thrives when there " \ "are enemies all around." hero_data = HeroData(sprite, portrait_icon_sprite, _get_initial_player_state_warrior(), entity_speed, PLAYER_ENTITY_SIZE, description) register_hero_data(HERO_ID, hero_data) register_hero_upgrade_effect(HeroUpgradeId.WARRIOR_RETRIBUTION, _apply_retribution_talent) register_buff_effect(BUFF_RETRIBUTION, BuffedFromRetribution) register_buff_text(BUFF_RETRIBUTION, "Retribution")
def register_hero_god(): sprite = Sprite.HERO_GOD portrait_icon_sprite = PortraitIconSprite.HERO_GOD player_sprite_sheet = SpriteSheet("resources/graphics/player.gif") original_sprite_size = (32, 48) scaled_sprite_size = (60, 60) indices_by_dir = { Direction.DOWN: [(0, 0), (1, 0), (2, 0), (3, 0)], Direction.LEFT: [(0, 1), (1, 1), (2, 1), (3, 1)], Direction.RIGHT: [(0, 2), (1, 2), (2, 2), (3, 2)], Direction.UP: [(0, 3), (1, 3), (2, 3), (3, 3)] } sprite_position_relative_to_entity = (-15, -30) register_entity_sprite_map(sprite, player_sprite_sheet, original_sprite_size, scaled_sprite_size, indices_by_dir, sprite_position_relative_to_entity) register_portrait_icon_sprite_path( portrait_icon_sprite, 'resources/graphics/player_portrait.gif') entity_speed = 0.5 hero_data = HeroData(sprite, portrait_icon_sprite, _get_initial_player_state_god(), entity_speed, PLAYER_ENTITY_SIZE, "God mode...") register_hero_data(HERO_ID, hero_data) _register_kill_everything_ability()
def register_hero_mage(): sprite = Sprite.HERO_MAGE portrait_icon_sprite = PortraitIconSprite.HERO_MAGE player_sprite_sheet = SpriteSheet("resources/graphics/player.gif") original_sprite_size = (32, 48) scaled_sprite_size = (60, 60) indices_by_dir = { Direction.DOWN: [(0, 0), (1, 0), (2, 0), (3, 0)], Direction.LEFT: [(0, 1), (1, 1), (2, 1), (3, 1)], Direction.RIGHT: [(0, 2), (1, 2), (2, 2), (3, 2)], Direction.UP: [(0, 3), (1, 3), (2, 3), (3, 3)] } sprite_position_relative_to_entity = (-15, -30) register_entity_sprite_map(sprite, player_sprite_sheet, original_sprite_size, scaled_sprite_size, indices_by_dir, sprite_position_relative_to_entity) register_portrait_icon_sprite_path( portrait_icon_sprite, 'resources/graphics/player_portrait.gif') entity_speed = 0.105 description = "A ranged spellcaster that is explosive but fragile, the mage can take down " \ "large groups of enemies effectively, as long as she can keep her distance..." hero_data = HeroData(sprite, portrait_icon_sprite, _get_initial_player_state_mage(), entity_speed, PLAYER_ENTITY_SIZE, description) register_hero_data(HERO_ID, hero_data) register_ui_icon_sprite_path(UiIconSprite.TALENT_LIGHT_FOOTED, "resources/graphics/boots_of_haste.png")
def register_hero_rogue(): sprite = Sprite.HERO_ROGUE portrait_icon_sprite = PortraitIconSprite.HERO_ROGUE player_sprite_sheet = SpriteSheet("resources/graphics/enemy_sprite_sheet_3.png") original_sprite_size = (32, 32) scaled_sprite_size = (48, 48) x = 0 indices_by_dir = { Direction.DOWN: [(x + i, 4) for i in range(3)], Direction.LEFT: [(x + i, 5) for i in range(3)], Direction.RIGHT: [(x + i, 6) for i in range(3)], Direction.UP: [(x + i, 7) for i in range(3)] } sprite_position_relative_to_entity = (-8, -16) register_entity_sprite_map(sprite, player_sprite_sheet, original_sprite_size, scaled_sprite_size, indices_by_dir, sprite_position_relative_to_entity) register_portrait_icon_sprite_path(portrait_icon_sprite, 'resources/graphics/portrait_rogue_hero.png') entity_speed = 0.105 description = "[ADVANCED] A flexible melee assassin, the rogue can dish out large amounts of damage and is " \ "especially effective at singling out powerful enemies." hero_data = HeroData(sprite, portrait_icon_sprite, _get_initial_player_state_rogue(), entity_speed, PLAYER_ENTITY_SIZE, description) register_hero_data(HERO_ID, hero_data)