From 2def67d7f5a70473141977e5be755424eb320298 Mon Sep 17 00:00:00 2001 From: Mittendrein Markus Date: Wed, 10 Feb 2016 14:23:02 +0100 Subject: Rework ice needles --- .../AdditionalSpells.c4d/IceNeedles.c4d/Script.c | 89 ++++++---------------- 1 file changed, 25 insertions(+), 64 deletions(-) (limited to 'TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/Script.c') 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"; } -- cgit v1.2.3-54-g00ecf