Esempio n. 1
0
def register_zuls_aegis():
    _register_ability()
    register_buff_effect(BUFF_TYPE_STUNNED, StunnedFromAegis)
    item_type = ItemType.ZULS_AEGIS
    effect = ItemEffect()
    register_custom_effect_item(
        item_type=item_type,
        item_level=7,
        ui_icon_sprite=UiIconSprite.ITEM_ZULS_AEGIS,
        sprite=Sprite.ITEM_ZULS_AEGIS,
        image_file_path="resources/graphics/item_zuls_aegis.png",
        item_equipment_category=ItemEquipmentCategory.OFF_HAND,
        name="Zul's Aegis",
        custom_effect=effect,
        stat_modifier_intervals=[
            StatModifierInterval(HeroStat.ARMOR, [3]),
            StatModifierInterval(HeroStat.BLOCK_AMOUNT, [6]),
            StatModifierInterval(HeroStat.DAMAGE, [0.12]),
            StatModifierInterval(HeroStat.MANA_ON_KILL, [1])
        ],
        custom_description=[
            "On block: stun attacker for " +
            "{:.1f}".format(STUN_DURATION / 1000) + "s",
            "Active: " + ABILITY_DESCRIPTION
        ],
        is_unique=True,
        active_ability_type=ABILITY_TYPE)
def register_necklace_of_suffering_item():
    register_custom_effect_item(
        item_type=ITEM_TYPE,
        ui_icon_sprite=UiIconSprite.ITEM_NECKLACE_OF_SUFFERING,
        sprite=Sprite.ITEM_NECKLACE_OF_SUFFERING,
        image_file_path="resources/graphics/item_necklace_of_suffering.png",
        item_equipment_category=ItemEquipmentCategory.NECK,
        name="Necklace of Suffering",
        item_effect=ItemEffect())
    register_buff_effect(BUFF_TYPE, BuffEffect)
def register_rod_of_lightning_item():
    item_type = ItemType.ROD_OF_LIGHTNING
    register_custom_effect_item(
        item_type=item_type,
        ui_icon_sprite=UiIconSprite.ITEM_ROD_OF_LIGHTNING,
        sprite=Sprite.ITEM_ROD_OF_LIGHTNING,
        image_file_path="resources/graphics/item_rod_of_lightning.png",
        item_equipment_category=ItemEquipmentCategory.MAIN_HAND,
        name="Rod of Lightning",
        item_effect=ItemEffect(item_type))
def register_wizards_cowl():
    item_type = ItemType.WIZARDS_COWL
    effect = ItemEffect(item_type)
    register_custom_effect_item(
        item_type=item_type,
        ui_icon_sprite=UiIconSprite.ITEM_WIZARDS_COWL,
        sprite=Sprite.ITEM_WIZARDS_COWL,
        image_file_path="resources/graphics/item_wizards_cowl.png",
        item_equipment_category=ItemEquipmentCategory.HEAD,
        name="Wizard's Cowl",
        item_effect=effect
    )
def register_skull_shield_item():
    item_type = ItemType.SKULL_SHIELD
    effect = ItemEffect(item_type)
    register_custom_effect_item(
        item_type=item_type,
        ui_icon_sprite=UiIconSprite.ITEM_SKULL_SHIELD,
        sprite=Sprite.ITEM_SKULL_SHIELD,
        image_file_path="resources/graphics/item_skull_shield.png",
        item_equipment_category=ItemEquipmentCategory.OFF_HAND,
        name="Skull shield",
        item_effect=effect
    )
Esempio n. 6
0
def register_wizards_cowl():
    item_type = ItemType.WIZARDS_COWL
    register_custom_effect_item(
        item_type=item_type,
        item_level=5,
        ui_icon_sprite=UiIconSprite.ITEM_WIZARDS_COWL,
        sprite=Sprite.ITEM_WIZARDS_COWL,
        image_file_path="resources/graphics/item_wizards_cowl.png",
        item_equipment_category=ItemEquipmentCategory.HEAD,
        name="Wizard's cowl",
        custom_effect=(ItemEffect()),
        stat_modifier_intervals=[],
        custom_description=["On kill: restore " + str(MANA_ON_KILL) + " mana"])
def register_blessed_shield_item():
    register_custom_effect_item(
        item_type=ITEM_TYPE,
        item_level=3,
        ui_icon_sprite=UiIconSprite.ITEM_BLESSED_SHIELD,
        sprite=Sprite.ITEM_BLESSED_SHIELD,
        image_file_path="resources/graphics/item_blessed_shield.png",
        item_equipment_category=ItemEquipmentCategory.OFF_HAND,
        name="Blessed shield",
        custom_description=["On block: gain " + str(HEALING_AMOUNT) + " health"],
        stat_modifier_intervals=[StatModifierInterval(HeroStat.ARMOR, [2]),
                                 StatModifierInterval(HeroStat.BLOCK_AMOUNT, [5, 6, 7])],
        custom_effect=ItemEffect()
    )
Esempio n. 8
0
def register_stone_amulet_item():
    register_buff_effect(BUFF_TYPE, ProtectedByStoneAmulet)
    register_buff_text(BUFF_TYPE, "Protected")

    item_type = ItemType.STONE_AMULET
    register_custom_effect_item(
        item_type=item_type,
        ui_icon_sprite=UiIconSprite.ITEM_STONE_AMULET,
        sprite=Sprite.ITEM_STONE_AMULET,
        image_file_path="resources/graphics/item_stone_amulet.png",
        item_equipment_category=ItemEquipmentCategory.NECK,
        name="Stone Amulet",
        item_effect=ItemEffect(item_type)
    )
Esempio n. 9
0
def register_freezing_gauntlet_item():
    register_custom_effect_item(
        item_type=ITEM_TYPE,
        item_level=6,
        ui_icon_sprite=UiIconSprite.ITEM_FREEZING_GAUNTLET,
        sprite=Sprite.ITEM_FREEZING_GAUNTLET,
        image_file_path="resources/graphics/item_freezing_gauntlet.png",
        item_equipment_category=ItemEquipmentCategory.OFF_HAND,
        name="Freezing gauntlet",
        custom_description=["Slows your targets by " + str(int(SLOW_AMOUNT * 100)) + "% for " \
                            + "{:.1f}".format(SLOW_DURATION / 1000) + "s"],
        stat_modifier_intervals=[],
        custom_effect=ItemEffect()
    )

    register_buff_effect(BUFF_TYPE, DebuffedByFreezingGauntlet)
Esempio n. 10
0
def register_rod_of_lightning_item():
    item_type = ItemType.ROD_OF_LIGHTNING
    register_custom_effect_item(
        item_type=item_type,
        item_level=4,
        ui_icon_sprite=UiIconSprite.ITEM_ROD_OF_LIGHTNING,
        sprite=Sprite.ITEM_ROD_OF_LIGHTNING,
        image_file_path="resources/graphics/item_rod_of_lightning.png",
        item_equipment_category=ItemEquipmentCategory.MAIN_HAND,
        name="Lightning rod",
        custom_description=[
            "Periodically deals " + str(MIN_DMG) + "-" + str(MAX_DMG) +
            " magic damage to nearby enemies"
        ],
        stat_modifier_intervals=[],
        custom_effect=ItemEffect())
Esempio n. 11
0
def register_blood_amulet():
    item_type = ItemType.BLOOD_AMULET
    register_custom_effect_item(
        item_type=item_type,
        item_level=4,
        ui_icon_sprite=UiIconSprite.ITEM_BLOOD_AMULET,
        sprite=Sprite.ITEM_BLOOD_AMULET,
        image_file_path="resources/graphics/item_blood_amulet.png",
        item_equipment_category=ItemEquipmentCategory.NECK,
        name="Blood amulet",
        custom_effect=ItemEffect(),
        stat_modifier_intervals=[],
        custom_description=[
            str(int(PROC_CHANCE * 100)) + "% on kill: gain " +
            str(HEALTH_ON_KILL_AMOUNT) + " health"
        ])
Esempio n. 12
0
def register_necklace_of_suffering_item():
    register_custom_effect_item(
        item_type=ITEM_TYPE,
        item_level=6,
        ui_icon_sprite=UiIconSprite.ITEM_NECKLACE_OF_SUFFERING,
        sprite=Sprite.ITEM_NECKLACE_OF_SUFFERING,
        image_file_path="resources/graphics/item_necklace_of_suffering.png",
        item_equipment_category=ItemEquipmentCategory.NECK,
        name="Necklace of Domination",
        custom_description=[
            "Any time you lose health, gain +" + str(int(BUFF_DAMAGE * 100)) +
            "% damage for " + "{:.0f}".format(BUFF_DURATION / 1000) + "s"
        ],
        custom_effect=ItemEffect(),
        stat_modifier_intervals=[StatModifierInterval(HeroStat.DAMAGE, [0.1])],
        is_unique=True)
    register_buff_effect(BUFF_TYPE, BuffEffect)
Esempio n. 13
0
def register_cleaver_item():
    register_custom_effect_item(
        item_type=ITEM_TYPE,
        item_level=7,
        ui_icon_sprite=UiIconSprite.ITEM_CLEAVER,
        sprite=Sprite.ITEM_CLEAVER,
        image_file_path="resources/graphics/item_cleaver.png",
        item_equipment_category=ItemEquipmentCategory.MAIN_HAND,
        name="The Cleaver",
        custom_effect=ItemEffect(),
        custom_description=[str(
            int(PROC_CHANCE * 100)) + "% on hit: cause enemy to bleed, taking " + str(TOTAL_DAMAGE) + \
                            " physical damage over " + "{:.0f}".format(BUFF_DURATION / 1000) + "s"],
        stat_modifier_intervals=[StatModifierInterval(HeroStat.PHYSICAL_DAMAGE, [0.41])],
        is_unique=True
    )
    register_buff_effect(BUFF_TYPE, BuffEffect)
Esempio n. 14
0
def register_lich_armor_item():
    _register_ability()
    register_custom_effect_item(
        item_type=ItemType.LICH_ARMOR,
        item_level=8,
        ui_icon_sprite=UiIconSprite.ITEM_LICH_ARMOR,
        sprite=Sprite.ITEM_LICH_ARMOR,
        image_file_path="resources/graphics/item_lich_armor.png",
        item_equipment_category=ItemEquipmentCategory.CHEST,
        name=ITEM_NAME,
        custom_description=["25% of damage taken is instead drained from your mana",
                            "Active: " + ABILITY_DESCRIPTION],
        custom_effect=ItemEffect(),
        stat_modifier_intervals=[StatModifierInterval(HeroStat.MAX_MANA, [30]),
                                 StatModifierInterval(HeroStat.MAGIC_RESIST_CHANCE, [0.05])],
        is_unique=True,
        active_ability_type=ABILITY_TYPE
    )
Esempio n. 15
0
def register_stone_amulet_item():
    register_buff_effect(BUFF_TYPE, ProtectedByStoneAmulet)
    register_buff_text(BUFF_TYPE, "Protected")

    item_type = ItemType.STONE_AMULET
    register_custom_effect_item(
        item_type=item_type,
        item_level=5,
        ui_icon_sprite=UiIconSprite.ITEM_STONE_AMULET,
        sprite=Sprite.ITEM_STONE_AMULET,
        image_file_path="resources/graphics/item_stone_amulet.png",
        item_equipment_category=ItemEquipmentCategory.NECK,
        name="Stone amulet",
        custom_description=[str(int(PROC_CHANCE * 100)) + "% on kill: gain " + str(ARMOR_BONUS) + " armor for " +
                            "{:.0f}".format(BUFF_DURATION / 1000) + "s"],
        stat_modifier_intervals=[],
        custom_effect=ItemEffect()
    )
Esempio n. 16
0
def register_thiefs_mask_item():
    register_custom_effect_item(
        item_type=ItemType.THIEFS_MASK,
        ui_icon_sprite=UiIconSprite.ITEM_THIEFS_MASK,
        sprite=Sprite.ITEM_THIEFS_MASK,
        image_file_path="resources/graphics/item_thiefs_mask.png",
        item_equipment_category=ItemEquipmentCategory.HEAD,
        name="Mask of Thieves",
        custom_description=[
            "On dodge: gain " + str(MANA_ON_DODGE_AMOUNT) + " mana"
        ],
        custom_effect=ItemEffect(),
        stat_modifier_intervals=[
            StatModifierInterval(HeroStat.DODGE_CHANCE, [0.09]),
            StatModifierInterval(HeroStat.DAMAGE, [0.12]),
            StatModifierInterval(HeroStat.MANA_REGEN, [0.05])
        ],
        is_unique=True)
Esempio n. 17
0
def register_skull_shield_item():
    item_type = ItemType.SKULL_SHIELD
    register_custom_effect_item(
        item_type=item_type,
        item_level=5,
        ui_icon_sprite=UiIconSprite.ITEM_SKULL_SHIELD,
        sprite=Sprite.ITEM_SKULL_SHIELD,
        image_file_path="resources/graphics/item_skull_shield.png",
        item_equipment_category=ItemEquipmentCategory.OFF_HAND,
        name="Skull shield",
        custom_description=[
            "On block: deal " + str(DAMAGE_AMOUNT) +
            " magic damage to attacker"
        ],
        stat_modifier_intervals=[
            StatModifierInterval(HeroStat.ARMOR, [2]),
            StatModifierInterval(HeroStat.BLOCK_AMOUNT, [6, 7, 8])
        ],
        custom_effect=(ItemEffect()))
Esempio n. 18
0
def register_healing_wand_item():
    item_type = ItemType.HEALING_WAND
    register_custom_effect_item(
        item_type=item_type,
        item_level=4,
        ui_icon_sprite=UiIconSprite.ITEM_HEALING_WAND,
        sprite=Sprite.ITEM_HEALING_WAND,
        image_file_path="resources/graphics/item_healing_wand.png",
        item_equipment_category=ItemEquipmentCategory.MAIN_HAND,
        name="Healing wand",
        custom_description=[
            "When you damage an enemy, gain +" + str(HEALTH_REGEN_BONUS) +
            " health regen for " + "{:.0f}".format(BUFF_DURATION / 1000) + "s"
        ],
        stat_modifier_intervals=[],
        custom_effect=ItemEffect())

    register_buff_effect(BUFF_TYPE, BuffedByHealingWand)
    register_buff_text(BUFF_TYPE, "Healing wand")
Esempio n. 19
0
def register_goats_ring():
    item_type = ItemType.GOATS_RING
    proc_chance = 0.2
    register_custom_effect_item(
        item_type=item_type,
        item_level=5,
        ui_icon_sprite=UiIconSprite.ITEM_GOATS_RING,
        sprite=Sprite.ITEM_GOATS_RING,
        image_file_path="resources/graphics/item_goats_ring.png",
        item_equipment_category=ItemEquipmentCategory.RING,
        name="The Goat's Curse",
        custom_effect=ItemEffect(proc_chance),
        stat_modifier_intervals=[],
        custom_description=["Whenever you damage an enemy, there is a  " +
                            str(int(proc_chance * 100)) + "% chance that it will be cursed and take " +
                            str(TOTAL_DAMAGE) + " magic damage over " + "{:.0f}".format(DURATION / 1000) + "s"],
        is_unique=True
    )
    register_buff_effect(BUFF_TYPE, DebuffedByGoatsRing)
def register_rod_of_lightning_item():
    _register_ability()
    item_type = ItemType.ROD_OF_LIGHTNING
    register_custom_effect_item(
        item_type=item_type,
        item_level=4,
        ui_icon_sprite=UiIconSprite.ITEM_ROD_OF_LIGHTNING,
        sprite=Sprite.ITEM_ROD_OF_LIGHTNING,
        image_file_path="resources/graphics/item_rod_of_lightning.png",
        item_equipment_category=ItemEquipmentCategory.MAIN_HAND,
        name=ITEM_NAME,
        custom_description=[
            "Periodically deals " + str(MIN_DMG) + "-" + str(MAX_DMG) +
            " magic damage to one nearby enemy",
            "Active: " + ABILITY_DESCRIPTION
        ],
        stat_modifier_intervals=[],
        custom_effect=ItemEffect(),
        is_unique=True,
        active_ability_type=ABILITY_TYPE)
Esempio n. 21
0
def register_winged_helmet_item():
    _register_buff()
    _register_ability()

    register_custom_effect_item(
        item_type=ItemType.WINGED_HELMET,
        ui_icon_sprite=UiIconSprite.ITEM_WINGED_HELMET,
        sprite=Sprite.ITEM_WINGED_HELMET,
        image_file_path="resources/graphics/item_winged_helmet.png",
        item_equipment_category=ItemEquipmentCategory.HEAD,
        name=ITEM_NAME,
        stat_modifier_intervals=[
            StatModifierInterval(HeroStat.ARMOR, [3]),
            StatModifierInterval(HeroStat.MOVEMENT_SPEED, [0.18])
        ],
        custom_effect=AbstractItemEffect(),
        custom_description=["Active: " + ABILITY_DESCRIPTION],
        item_level=6,
        is_unique=True,
        active_ability_type=ABILITY_TYPE)
Esempio n. 22
0
def register_candle_item():
    _register_buff()
    _register_ability()

    register_custom_effect_item(
        item_type=ItemType.CANDLE,
        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=ITEM_NAME,
        stat_modifier_intervals=[
            StatModifierInterval(HeroStat.MAGIC_RESIST_CHANCE, [0.12]),
            StatModifierInterval(HeroStat.MAX_MANA, [10]),
            StatModifierInterval(HeroStat.MANA_REGEN, [0.1])
        ],
        custom_effect=AbstractItemEffect(),
        custom_description=["Active: " + ABILITY_DESCRIPTION],
        item_level=3,
        is_unique=True,
        active_ability_type=ABILITY_TYPE)
Esempio n. 23
0
def register_whip_item():
    _register_buff()
    _register_ability()

    register_custom_effect_item(
        item_type=ItemType.WHIP,
        ui_icon_sprite=UiIconSprite.ITEM_WHIP,
        sprite=Sprite.ITEM_WHIP,
        image_file_path="resources/graphics/item_whip.png",
        item_equipment_category=ItemEquipmentCategory.MAIN_HAND,
        name=ITEM_NAME,
        stat_modifier_intervals=[
            StatModifierInterval(HeroStat.PHYSICAL_DAMAGE, [0.18]),
            StatModifierInterval(HeroStat.LIFE_STEAL, [0.07]),
            StatModifierInterval(HeroStat.LIFE_ON_KILL, [1])
        ],
        custom_effect=AbstractItemEffect(),
        custom_description=["Active: " + ABILITY_DESCRIPTION],
        item_level=5,
        is_unique=True,
        active_ability_type=ABILITY_TYPE)
Esempio n. 24
0
def register_blood_amulet():
    _register_buff()
    item_type = ItemType.BLOOD_AMULET

    register_custom_effect_item(
        item_type=item_type,
        item_level=4,
        ui_icon_sprite=UiIconSprite.ITEM_BLOOD_AMULET,
        sprite=Sprite.ITEM_BLOOD_AMULET,
        image_file_path="resources/graphics/item_blood_amulet.png",
        item_equipment_category=ItemEquipmentCategory.NECK,
        name=ITEM_NAME,
        custom_effect=ItemEffect(),
        stat_modifier_intervals=[StatModifierInterval(HeroStat.HEALTH_REGEN, [0.2]),
                                 StatModifierInterval(HeroStat.MAX_MANA, [7]),
                                 StatModifierInterval(HeroStat.MAX_HEALTH, [9])],
        custom_description=[str(int(PROC_CHANCE * 100)) + "% on kill: gain +" + str(
            int(BUFF_LIFE_STEAL_BONUS * 100)) + "% lifesteal and " + str(
            int(BUFF_DAMAGE * 100)) + " attack power for " + "{:.0f}".format(DURATION / 1000) + "s."],
        is_unique=True
    )
Esempio n. 25
0
def register_noble_defender():
    item_type = ItemType.NOBLE_DEFENDER
    register_custom_effect_item(
        item_type=item_type,
        item_level=6,
        ui_icon_sprite=UiIconSprite.ITEM_NOBLE_DEFENDER,
        sprite=Sprite.ITEM_NOBLE_DEFENDER,
        image_file_path="resources/graphics/item_noble_defender.png",
        item_equipment_category=ItemEquipmentCategory.OFF_HAND,
        name="Noble defender",
        custom_description=[
            "When you are attacked, your movement speed is slowed by {:.0f}".
            format(SLOW_AMOUNT * 100) + "% for " +
            "{:.1f}".format(SLOW_DURATION / 1000) + "s"
        ],
        stat_modifier_intervals=[
            StatModifierInterval(HeroStat.ARMOR, [4]),
            StatModifierInterval(HeroStat.BLOCK_AMOUNT, [8, 9, 10])
        ],
        custom_effect=ItemEffect())

    register_buff_effect(BUFF_TYPE_SLOWED, SlowedFromNobleDefender)