From da20b779cf5eb4fcf1c64428a2e6113a2e70362d Mon Sep 17 00:00:00 2001 From: Waverunner Date: Wed, 16 Apr 2014 18:51:32 -0400 Subject: [PATCH] Temporarily Fixes #442: Position secured cant be removed The problem related to doSelfBuff always calling and thinking that the position secured buff wanted to be added all the time, which isn't the case. Right now I added a hasBuff check to doSelfBuff for the position secured buff which will remove the buff. I didn't want to flat out just remove a buff no matter what command was called because that would affect any buffs that wanted to be refreshed and not removed. --- scripts/commands/co_position_secured.py | 14 -------------- scripts/commands/combat/co_position_secured.py | 9 +++++++++ src/services/combat/CombatService.java | 5 ++++- 3 files changed, 13 insertions(+), 15 deletions(-) delete mode 100644 scripts/commands/co_position_secured.py create mode 100644 scripts/commands/combat/co_position_secured.py diff --git a/scripts/commands/co_position_secured.py b/scripts/commands/co_position_secured.py deleted file mode 100644 index a2165915..00000000 --- a/scripts/commands/co_position_secured.py +++ /dev/null @@ -1,14 +0,0 @@ -import sys - -def setup(): - return - -def run(core, actor, target, commandString): - - if actor.hasBuff('co_position_secured'): - core.buffService.removeBuffFromCreature(actor, actor.getBuffByName('co_position_secured')) - else: - core.buffService.addBuffToCreature(actor, 'co_position_secured') - - return - \ No newline at end of file diff --git a/scripts/commands/combat/co_position_secured.py b/scripts/commands/combat/co_position_secured.py new file mode 100644 index 00000000..84e13b7a --- /dev/null +++ b/scripts/commands/combat/co_position_secured.py @@ -0,0 +1,9 @@ +from resources.objects import Buff +import sys + +def setup(core, actor, target, command): + return + +def run(core, actor, target, commandString): + return + \ No newline at end of file diff --git a/src/services/combat/CombatService.java b/src/services/combat/CombatService.java index 87bfcd31..a033b91a 100644 --- a/src/services/combat/CombatService.java +++ b/src/services/combat/CombatService.java @@ -1242,7 +1242,10 @@ public class CombatService implements INetworkDispatch { return; } - core.buffService.addBuffToCreature(creature, command.getBuffNameSelf()); + if (creature.hasBuff("co_position_secured")) + core.buffService.removeBuffFromCreatureByName(creature, "co_position_secured"); + else + core.buffService.addBuffToCreature(creature, command.getBuffNameSelf(), creature); StartTask startTask = new StartTask(actionCounter, creature.getObjectID(), command.getCommandCRC(), CRC.StringtoCRC(command.getCooldownGroup()), command.getCooldown()); ObjControllerMessage objController2 = new ObjControllerMessage(0x0B, startTask);