summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/System.c4g
diff options
context:
space:
mode:
authorMittendrein Markus <maxmitti@gmx.net>2016-02-14 19:34:59 +0100
committerMittendrein Markus <maxmitti@gmx.net>2016-02-14 19:34:59 +0100
commit7e1c1bdb78b297f66e475b831fb8ba44e711ad2f (patch)
tree97bf758b556a54005a5fc36635a2bdb0aba0d023 /TemplePushing.c4s/System.c4g
parent6b028f2aef6e0d2996660bf7f9f7b72eeea86042 (diff)
downloadtempelschubsen-7e1c1bdb78b297f66e475b831fb8ba44e711ad2f.tar.gz
tempelschubsen-7e1c1bdb78b297f66e475b831fb8ba44e711ad2f.zip
Make Invisibility and Gravity spells last 720 frames and append 360 frames when stacking
Diffstat (limited to 'TemplePushing.c4s/System.c4g')
-rw-r--r--TemplePushing.c4s/System.c4g/Gravity.c14
-rw-r--r--TemplePushing.c4s/System.c4g/Invisibility.c14
2 files changed, 26 insertions, 2 deletions
diff --git a/TemplePushing.c4s/System.c4g/Gravity.c b/TemplePushing.c4s/System.c4g/Gravity.c
index f20b898..c1ebd42 100644
--- a/TemplePushing.c4s/System.c4g/Gravity.c
+++ b/TemplePushing.c4s/System.c4g/Gravity.c
@@ -46,3 +46,17 @@ func DoStop(object pObj, object pCaller)
return 0;
}
+
+func FxFloatPSpellStart(pClonk, iEffectNumber, iTemp)
+{
+ if(iTemp) return;
+ var ret = _inherited(pClonk, iEffectNumber, iTemp, ...);
+ EffectVar(0,pClonk,iEffectNumber) = 360;
+ return ret;
+}
+
+private func FxFloatPSpellAdd(object pTarget, int iNumber)
+{
+ // Effekt übernehmen
+ EffectVar(0, pTarget, iNumber) += 180;
+}
diff --git a/TemplePushing.c4s/System.c4g/Invisibility.c b/TemplePushing.c4s/System.c4g/Invisibility.c
index 28bba9d..e3291a7 100644
--- a/TemplePushing.c4s/System.c4g/Invisibility.c
+++ b/TemplePushing.c4s/System.c4g/Invisibility.c
@@ -11,8 +11,18 @@ public func Activate(object pCaster, object pCaster2)
// Magie kann man hoeren, ganz klar ;)
Sound("Magic*");
// Zauberer unsichtbar machen (20sec)
- AddEffect("InvisPSpell", pCaster, 200, 700, 0, GetID());
+ AddEffect("InvisPSpell", pCaster, 200, 720, 0, GetID());
// Fertig - das Zauberobjekt wird nun nicht mehr gebraucht
RemoveObject();
return 1;
-} \ No newline at end of file
+}
+
+protected func FxInvisPSpellAdd(object pTarget, int iEffectNumber, string szNewEffect, int iNewTimer)
+{
+ // Effekt aufrechnen: Rest vom alten Timer ermitteln
+ var iOldTimer = GetEffect(0, pTarget, iEffectNumber, 3) - GetEffect(0, pTarget, iEffectNumber, 6);
+ // Diesen Effekt mit neuem Timer weiterführen
+ ChangeEffect(0, pTarget, iEffectNumber, szNewEffect, iOldTimer + 360);
+ // Fertig
+ return(1);
+}