summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/Script.c
diff options
context:
space:
mode:
authorMittendrein Markus <maxmitti@gmx.net>2016-02-10 14:23:02 +0100
committerMittendrein Markus <maxmitti@gmx.net>2016-02-10 22:57:21 +0100
commit2def67d7f5a70473141977e5be755424eb320298 (patch)
treeaa08a53c8624795c7101c2b31d0465affbc2ca71 /TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/Script.c
parentb4434b1981860e9412fb25239d612960008bb81c (diff)
downloadtempelschubsen-2def67d7f5a70473141977e5be755424eb320298.tar.gz
tempelschubsen-2def67d7f5a70473141977e5be755424eb320298.zip
Rework ice needles
Diffstat (limited to 'TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/Script.c')
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/Script.c89
1 files changed, 25 insertions, 64 deletions
diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/Script.c
index eba7696..71ba257 100644
--- a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/Script.c
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/Script.c
@@ -1,80 +1,41 @@
-/* Ice Needles */
+#strict 2
-#strict
-
-
-func Activate(pCaster,pRealcaster)
+func Activate(object pCaster, object pRealcaster)
{
-Sound("Magic",0,pCaster);
- var pClonk;
- if(pRealcaster) pClonk=pRealcaster;
- else pClonk=pCaster;
+ if(!pRealcaster)
+ {
+ pRealcaster = pCaster;
+ }
- // Zielen wenn möglich
- if (pClonk->~DoSpellAim(this(), pCaster)) return(1);
-
- var angle=-90;
- if(GetDir(pClonk) == DIR_Right()) angle=90;
- ActivateAngle(pClonk,angle);
- RemoveObject();
- return(1);
+ if(pRealcaster->~DoSpellAim(this, pCaster))
+ {
+ return 1;
+ }
+
+ var angle = 90 * (GetDir(pRealcaster)* 2 - 1);
+ ActivateAngle(pRealcaster, angle);
+ Sound("Magic", 0, pCaster);
+ RemoveObject();
+ return 1;
}
-// Aktivierung nach Zielen (iAngle: -90=links; 0=oben; +90=rechts)
public func ActivateAngle(object pCaller, int iAngle)
{
- for(var cnt=0;cnt<3;cnt++)
+ for(var i = 0; i < 3; ++i)
{
- var f=CreateObject(ICNA,AbsX(GetX(pCaller))+Cos(iAngle-90,13),AbsY(GetY(pCaller))+Sin(iAngle-90,13),GetOwner(pCaller));
- f->Activate(pCaller,iAngle);
- }
-
- AddEffect("RecallMFCSAiming",pCaller,20,1,0,GetID(),iAngle);
-
- // Objekt löschen
- RemoveObject();
- return(1);
+ CreateObject(ICNA, AbsX(GetX(pCaller) + Sin(iAngle, 13)), AbsY(GetY(pCaller) - Cos(iAngle, 13)), GetOwner(pCaller))->Activate(pCaller, iAngle + (i - 1) * 5);
+ }
+
+ RemoveObject();
+ return 1;
}
public func HoldAimer(pCaller)
{
- return(true);
-}
-
-protected func FxRecallICNAAimingStart(pTarget,iEffectNumber,bTemp,par1){
-EffectVar(0,pTarget,iEffectNumber)=par1;
-EffectVar(1,pTarget,iEffectNumber)=0;
-EffectVar(2,pTarget,iEffectNumber)=0;
-return(1);}
-
-protected func FxRecallICNAAimingTimer(pTarget,iEffectNumber)
-{
- if(GetAction(pTarget) eq "Magic")return(0);
-
- if(!EffectVar(1,pTarget,iEffectNumber))
- {
- pTarget->~DoMagic(ICNA);
- EffectVar(1,pTarget,iEffectNumber)=1;
- }
-
- if(!EffectVar(2,pTarget,iEffectNumber) && GetAction(pTarget) eq "AimMagic")
- {
- var pAimer=FindObject(AIMR,0,0,0,0,0,0,pTarget,NoContainer());
- if(pAimer)
- {
- LocalN("iAngle",pAimer)=EffectVar(0,pTarget,iEffectNumber);
- LocalN("pArrow",pAimer)->~UpdateAngle(EffectVar(0,pTarget,iEffectNumber));
- pAimer->~UpdateAngle(EffectVar(0,pTarget,iEffectNumber));
- pTarget->~AimingAngle(EffectVar(0,pTarget,iEffectNumber));
- EffectVar(2,pTarget,iEffectNumber)=1;
- }
- }
- if(!WildcardMatch(GetAction(pTarget),"*Magic*") && !WildcardMatch(GetAction(pTarget),"*Aim*"))return(-1);
-
- if(EffectVar(2,pTarget,iEffectNumber) && EffectVar(1,pTarget,iEffectNumber))return(-1);
+ return true;
}
/* Zaubercombo */
-public func GetSpellClass(object pMage) { return(WATR); }
-public func GetSpellCombo(pMage) { return ("444"); } // (1: Backward; 2: Down; 3: Forward; 4: Throw; 5: Jump; 6: Dig)
+public func GetSpellClass(object pMage) { return WATR; }
+public func GetSpellCombo(pMage) { return "444"; }