Player abilities with cooldowns and mana

Ability ext

Ability represents a player ability with cooldown, optional mana cost, and BossBar display.

from bridge.extensions import Ability

Constructor

Ability(name, description="", cooldown=0, use_cost=0,
        cooldown_msg="§cAbility on cooldown!", display_bossbar=False)

Methods

use(player)

Try to use the ability. Checks can_use, then fires on_use.

set_mana_store(mana_store)

Link a ManaStore for mana cost checking.


Decorators

@ability.on_use

fireball = Ability("Fireball", cooldown=5, use_cost=20)

@fireball.on_use
async def cast(player):
    player.send_message("§c🔥 Fireball!")

@ability.can_use

@fireball.can_use
def check(player):
    return player.health > 5  # must have >5 HP