diff options
| author | Mittendrein Markus <maxmitti@gmx.net> | 2016-02-10 14:23:02 +0100 |
|---|---|---|
| committer | Mittendrein Markus <maxmitti@gmx.net> | 2016-02-10 22:57:21 +0100 |
| commit | 2def67d7f5a70473141977e5be755424eb320298 (patch) | |
| tree | aa08a53c8624795c7101c2b31d0465affbc2ca71 /TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/IceNeedles.c4d/Script.c | |
| parent | b4434b1981860e9412fb25239d612960008bb81c (diff) | |
| download | tempelschubsen-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.c | 89 |
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"; } |
