summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/System.c4g/Clonk.c
diff options
context:
space:
mode:
Diffstat (limited to 'TemplePushing.c4s/System.c4g/Clonk.c')
-rw-r--r--TemplePushing.c4s/System.c4g/Clonk.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/TemplePushing.c4s/System.c4g/Clonk.c b/TemplePushing.c4s/System.c4g/Clonk.c
index d28032a..d94381c 100644
--- a/TemplePushing.c4s/System.c4g/Clonk.c
+++ b/TemplePushing.c4s/System.c4g/Clonk.c
@@ -55,15 +55,22 @@ protected func ControlSpecial()
Find_InRect(-20 + GetDir() * 29, 0, 12, 10),
Find_OCF(OCF_Alive),
Find_Hostile(GetOwner()),
- Find_Not(Find_Action("Tumble")),
- Find_Not(Find_Effect("StoneShieldPSpell")));
+ Find_Not(Find_Action("Tumble")));
if (GetLength(clonks) == 0) return 0;
// Randomly select clonk to be pushed
var target = clonks[Random(GetLength(clonks))];
- Fling(target, -1 + GetDir() * 2, -1);
- target->SetKiller(GetOwner());
+ var effect;
+ if(effect = GetEffect("StoneShieldPSpell", target))
+ {
+ EffectCall(target, effect, "Damage", -3000, FX_Call_EngGetPunched);
+ }
+ else
+ {
+ Fling(target, -1 + GetDir() * 2, -1);
+ target->SetKiller(GetOwner());
+ }
return 1;
}