def register_novice_wand_item(): register_randomized_stat_modifying_item( item_type=ItemType.NOVICE_WAND, ui_icon_sprite=UiIconSprite.ITEM_NOVICE_WAND, sprite=Sprite.ITEM_NOVICE_WAND, image_file_path="resources/graphics/item_novice_wand.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Novice wand", stat_modifier_intervals={HeroStat.MANA_REGEN: [0.25]})
def register_soldiers_helmet_item(): register_randomized_stat_modifying_item( item_type=ItemType.SOLDIERS_HELMET, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_SOLDIERS_HELMET, sprite=Sprite.ITEM_SOLDIERS_HELMET, image_file_path="resources/graphics/item_soldiers_helmet.png", item_equipment_category=ItemEquipmentCategory.HEAD, name="Soldier's helmet", stat_modifier_intervals={HeroStat.ARMOR: [2]})
def register_ring_of_power_item(): register_randomized_stat_modifying_item( item_type=ItemType.RING_OF_POWER, item_level=5, ui_icon_sprite=UiIconSprite.ITEM_RING_OF_POWER, sprite=Sprite.ITEM_RING_OF_POWER, image_file_path="resources/graphics/item_ring_of_power.png", item_equipment_category=ItemEquipmentCategory.RING, name="Force ring", stat_modifier_intervals={HeroStat.DAMAGE: [0.1, 0.11, 0.12, 0.13]})
def register_warlocks_cowl_item(): register_randomized_stat_modifying_item( item_type=ItemType.WARLOCKS_COWL, item_level=5, ui_icon_sprite=UiIconSprite.ITEM_WARLOCKS_COWL, sprite=Sprite.ITEM_WARLOCKS_COWL, image_file_path="resources/graphics/item_warlocks_cowl.png", item_equipment_category=ItemEquipmentCategory.HEAD, name="Warlock's cowl", stat_modifier_intervals={HeroStat.LIFE_STEAL: [0.08, 0.09, 0.1]})
def register_wooden_sword_item(): register_randomized_stat_modifying_item( item_type=ItemType.WOODEN_SWORD, item_level=1, ui_icon_sprite=UiIconSprite.ITEM_WOODEN_SWORD, sprite=Sprite.ITEM_WOODEN_SWORD, image_file_path="resources/graphics/item_wooden_sword.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Wooden sword", stat_modifier_intervals={HeroStat.PHYSICAL_DAMAGE: [0.04, 0.05, 0.06]})
def register_knights_armor(): register_randomized_stat_modifying_item( item_type=ItemType.KNIGHTS_ARMOR, item_level=3, ui_icon_sprite=UiIconSprite.ITEM_KNIGHTS_ARMOR, sprite=Sprite.ITEM_KNIGHTS_ARMOR, image_file_path="resources/graphics/item_knights_armor.png", item_equipment_category=ItemEquipmentCategory.CHEST, name="Knight's armor", stat_modifier_intervals={HeroStat.ARMOR: [2]})
def register_amulet_of_mana_item(): register_randomized_stat_modifying_item( item_type=ItemType.AMULET_OF_MANA, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_AMULET_OF_MANA, sprite=Sprite.ITEM_AMULET_OF_MANA, image_file_path="resources/graphics/item_amulet.png", item_equipment_category=ItemEquipmentCategory.NECK, name="Arcane amulet", stat_modifier_intervals={HeroStat.MANA_REGEN: [0.5, 0.6, 0.7, 0.8]})
def register_bronze_ring_item(): register_randomized_stat_modifying_item( item_type=ItemType.BRONZE_RING, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_BRONZE_RING, sprite=Sprite.ITEM_BRONZE_RING, image_file_path="resources/graphics/item_bronze_ring.png", item_equipment_category=ItemEquipmentCategory.RING, name="Bronze ring", stat_modifier_intervals={HeroStat.MAX_MANA: [8, 9, 10, 11, 12]})
def register_leather_cowl_item(): register_randomized_stat_modifying_item( item_type=ItemType.LEATHER_COWL, item_level=1, ui_icon_sprite=UiIconSprite.ITEM_LEATHER_COWL, sprite=Sprite.ITEM_LEATHER_COWL, image_file_path="resources/graphics/item_leather_cowl.png", item_equipment_category=ItemEquipmentCategory.HEAD, name="Leather cowl", stat_modifier_intervals=[StatModifierInterval(HeroStat.ARMOR, [1])])
def register_skull_staff_item(): register_randomized_stat_modifying_item( item_type=ItemType.SKULL_STAFF, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_SKULL_STAFF, sprite=Sprite.ITEM_SKULL_STAFF, image_file_path="resources/graphics/item_skullstaff.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Skull staff", stat_modifier_intervals={HeroStat.LIFE_STEAL: [0.07, 0.08, 0.09, 0.1]})
def register_elite_armor(): register_randomized_stat_modifying_item( item_type=ItemType.ELITE_ARMOR, item_level=5, ui_icon_sprite=UiIconSprite.ITEM_ELITE_ARMOR, sprite=Sprite.ITEM_ELITE_ARMOR, image_file_path="resources/graphics/item_elite_armor.png", item_equipment_category=ItemEquipmentCategory.CHEST, name="Elite armor", stat_modifier_intervals={HeroStat.ARMOR: [3]})
def register_wand_item(): register_randomized_stat_modifying_item( item_type=ItemType.WAND, item_level=3, ui_icon_sprite=UiIconSprite.ITEM_WAND, sprite=Sprite.ITEM_WAND, image_file_path="resources/graphics/item_wand.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Wizard's wand", stat_modifier_intervals={HeroStat.MANA_REGEN: [0.2, 0.3, 0.4], HeroStat.MAX_MANA: [10, 12, 13, 13, 14, 15]} )
def register_molten_axe_item(): register_randomized_stat_modifying_item( item_type=ItemType.MOLTEN_AXE, item_level=7, ui_icon_sprite=UiIconSprite.ITEM_MOLTEN_AXE, sprite=Sprite.ITEM_MOLTEN_AXE, image_file_path="resources/graphics/item_molten_axe.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Molten axe", stat_modifier_intervals={HeroStat.PHYSICAL_DAMAGE: interval(0.5, 0.7, 0.01)} )
def register_orb_of_life_item(): register_randomized_stat_modifying_item( item_type=ItemType.ORB_OF_LIFE, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_ORB_OF_LIFE, sprite=Sprite.ITEM_ORB_OF_LIFE, image_file_path="resources/graphics/item_orb_of_life.png", item_equipment_category=ItemEquipmentCategory.OFF_HAND, name="Nature's orb", stat_modifier_intervals={HeroStat.LIFE_STEAL: [0.04, 0.05, 0.06, 0.07, 0.08]} )
def register_fire_wand_item(): register_randomized_stat_modifying_item( item_type=ItemType.FIRE_WAND, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_FIRE_WAND, sprite=Sprite.ITEM_FIRE_WAND, image_file_path="resources/graphics/item_fire_wand.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Fire wand", stat_modifier_intervals={HeroStat.MAGIC_DAMAGE: [0.09, 0.1, 0.11]} )
def register_blue_robe_item(): register_randomized_stat_modifying_item( item_type=ItemType.BLUE_ROBE, item_level=3, ui_icon_sprite=UiIconSprite.ITEM_BLUE_ROBE, sprite=Sprite.ITEM_BLUE_ROBE, image_file_path="resources/graphics/item_blue_robe.png", item_equipment_category=ItemEquipmentCategory.CHEST, name="Blue robe", stat_modifier_intervals={HeroStat.MANA_REGEN: [0.3, 0.4]} )
def register_practice_sword_item(): register_randomized_stat_modifying_item( item_type=ItemType.PRACTICE_SWORD, ui_icon_sprite=UiIconSprite.ITEM_PRACTICE_SWORD, sprite=Sprite.ITEM_PRACTICE_SWORD, image_file_path="resources/graphics/item_practice_sword.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Practice sword", stat_modifier_intervals=[ StatModifierInterval(HeroStat.PHYSICAL_DAMAGE, [0.03]) ])
def register_warlords_armor_item(): register_randomized_stat_modifying_item( item_type=ItemType.WARLORDS_ARMOR, item_level=7, ui_icon_sprite=UiIconSprite.ITEM_WARLORDS_ARMOR, sprite=Sprite.ITEM_WARLORDS_ARMOR, image_file_path="resources/graphics/item_warlords_armor.png", item_equipment_category=ItemEquipmentCategory.CHEST, name="Warlord's armor", stat_modifier_intervals=[StatModifierInterval(HeroStat.ARMOR, [4])], )
def register_blessed_chalice_item(): register_randomized_stat_modifying_item( item_type=ItemType.BLESSED_CHALICE, item_level=5, ui_icon_sprite=UiIconSprite.ITEM_BLESSED_CHALICE, sprite=Sprite.ITEM_BLESSED_CHALICE, image_file_path="resources/graphics/item_blessed_chalice.png", item_equipment_category=ItemEquipmentCategory.OFF_HAND, name="Blessed chalice", stat_modifier_intervals={HeroStat.HEALTH_REGEN: [1, 1.2, 1.4, 1.6, 1.8, 2]} )
def register_orb_of_wisdom_item(): register_randomized_stat_modifying_item( item_type=ItemType.ORB_OF_WISDOM, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_ORB_OF_WISDOM, sprite=Sprite.ITEM_ORB_OF_WISDOM, image_file_path="resources/graphics/item_orb_of_wisdom.png", item_equipment_category=ItemEquipmentCategory.OFF_HAND, name="Arcane orb", stat_modifier_intervals={ HeroStat.MANA_REGEN: [0.5, 0.6, 0.7, 0.8, 0.9, 1] })
def register_messengers_hat_item(): register_randomized_stat_modifying_item( item_type=ItemType.MESSENGERS_HAT, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_MESSENGERS_HAT, sprite=Sprite.ITEM_MESSENGERS_HAT, image_file_path="resources/graphics/item_messengers_hat.png", item_equipment_category=ItemEquipmentCategory.HEAD, name="Messenger hat", stat_modifier_intervals=[ StatModifierInterval(HeroStat.MOVEMENT_SPEED, [0.2]) ])
def register_royal_dagger_item(): register_randomized_stat_modifying_item( item_type=ItemType.ROYAL_DAGGER, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_ROYAL_DAGGER, sprite=Sprite.ITEM_ROYAL_DAGGER, image_file_path="resources/graphics/item_royal_dagger.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Royal dagger", stat_modifier_intervals={ HeroStat.PHYSICAL_DAMAGE: interval(0.25, 0.35, 0.01) })
def register_orb_of_the_magi_item(): register_randomized_stat_modifying_item( item_type=ItemType.ORB_OF_THE_MAGI, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_ORB_OF_THE_MAGI, sprite=Sprite.ITEM_ORB_OF_THE_MAGI, image_file_path="resources/graphics/item_orb_of_the_magi.png", item_equipment_category=ItemEquipmentCategory.OFF_HAND, name="Wizard's orb", stat_modifier_intervals={ HeroStat.MAGIC_DAMAGE: [0.1, 0.11, 0.12, 0.13, 0.14, 0.15] })
def register_candle_item(): register_randomized_stat_modifying_item( item_type=ItemType.CANDLE, item_level=3, ui_icon_sprite=UiIconSprite.ITEM_CANDLE, sprite=Sprite.ITEM_CANDLE, image_file_path="resources/graphics/item_candle.png", item_equipment_category=ItemEquipmentCategory.OFF_HAND, name="Candle", stat_modifier_intervals={ HeroStat.MAGIC_RESIST_CHANCE: [0.14, 0.15, 0.16] })
def register_royal_sword_item(): register_randomized_stat_modifying_item( item_type=ItemType.ROYAL_SWORD, item_level=5, ui_icon_sprite=UiIconSprite.ITEM_ROYAL_SWORD, sprite=Sprite.ITEM_ROYAL_SWORD, image_file_path="resources/graphics/item_royal_sword.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Royal sword", stat_modifier_intervals=[StatModifierInterval(HeroStat.PHYSICAL_DAMAGE, interval(0.25, 0.35, 0.01)), StatModifierInterval(HeroStat.ARMOR, [1])] )
def register_druids_ring_item(): register_randomized_stat_modifying_item( item_type=ItemType.DRUIDS_RING, item_level=6, ui_icon_sprite=UiIconSprite.ITEM_DRUIDS_RING, sprite=Sprite.ITEM_DRUIDS_RING, image_file_path="resources/graphics/item_druids_ring.png", item_equipment_category=ItemEquipmentCategory.RING, name="Druid ring", stat_modifier_intervals={HeroStat.MANA_REGEN: [0.4, 0.5, 0.6, 0.7, 0.8], HeroStat.HEALTH_REGEN: [0.4, 0.5, 0.6, 0.7, 0.8]} )
def register_hatchet_item(): register_randomized_stat_modifying_item( item_type=ItemType.HATCHET, item_level=2, ui_icon_sprite=UiIconSprite.ITEM_HATCHET, sprite=Sprite.ITEM_HATCHET, image_file_path="resources/graphics/item_hatchet.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Hatchet", stat_modifier_intervals={ HeroStat.PHYSICAL_DAMAGE: interval(0.1, 0.15, 0.01) })
def register_elven_armor(): register_randomized_stat_modifying_item( item_type=ItemType.ELVEN_ARMOR, item_level=4, ui_icon_sprite=UiIconSprite.ITEM_ELVEN_ARMOR, sprite=Sprite.ITEM_ELVEN_ARMOR, image_file_path="resources/graphics/item_elven_armor.png", item_equipment_category=ItemEquipmentCategory.CHEST, name="Elven armor", stat_modifier_intervals={ HeroStat.ARMOR: [1], HeroStat.MANA_REGEN: [0.4, 0.5, 0.6] })
def register_desert_blade_item(): register_randomized_stat_modifying_item( item_level=7, item_type=ItemType.DESERT_BLADE, ui_icon_sprite=UiIconSprite.ITEM_DESERT_BLADE, sprite=Sprite.ITEM_DESERT_BLADE, image_file_path="resources/graphics/item_desert_blade.png", item_equipment_category=ItemEquipmentCategory.MAIN_HAND, name="Desert blade", stat_modifier_intervals={ HeroStat.PHYSICAL_DAMAGE: interval(0.4, 0.45, 0.01), HeroStat.DODGE_CHANCE: interval(0.03, 0.06, 0.01) })
def register_wooden_shield(): register_randomized_stat_modifying_item( item_type=ItemType.WOODEN_SHIELD, item_level=1, ui_icon_sprite=UiIconSprite.ITEM_WOODEN_SHIELD, sprite=Sprite.ITEM_WOODEN_SHIELD, image_file_path="resources/graphics/item_wooden_shield.png", item_equipment_category=ItemEquipmentCategory.OFF_HAND, name="Wooden shield", stat_modifier_intervals=[ StatModifierInterval(HeroStat.ARMOR, [1]), StatModifierInterval(HeroStat.BLOCK_AMOUNT, [3]) ])