summaryrefslogtreecommitdiff
path: root/src/game-server/abilitycomponent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game-server/abilitycomponent.cpp')
-rw-r--r--src/game-server/abilitycomponent.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/game-server/abilitycomponent.cpp b/src/game-server/abilitycomponent.cpp
index c8610b5a..eac5f1c5 100644
--- a/src/game-server/abilitycomponent.cpp
+++ b/src/game-server/abilitycomponent.cpp
@@ -120,6 +120,11 @@ void AbilityComponent::useAbilityOnBeing(Entity &user, int id, Entity *b)
if (ability.abilityInfo->target != AbilityManager::TARGET_BEING)
return;
+ if (ability.abilityInfo->autoconsume) {
+ ability.currentPoints = 0;
+ signal_ability_changed.emit(id);
+ }
+
//tell script engine to cast the spell
Script *script = ScriptManager::currentState();
script->prepare(ability.abilityInfo->useCallback);
@@ -143,6 +148,11 @@ void AbilityComponent::useAbilityOnPoint(Entity &user, int id, int x, int y)
if (ability.abilityInfo->target != AbilityManager::TARGET_POINT)
return;
+ if (ability.abilityInfo->autoconsume) {
+ ability.currentPoints = 0;
+ signal_ability_changed.emit(id);
+ }
+
//tell script engine to cast the spell
Script *script = ScriptManager::currentState();
script->prepare(ability.abilityInfo->useCallback);