diff options
Diffstat (limited to 'TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d')
8 files changed, 111 insertions, 0 deletions
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DefCore.txt new file mode 100644 index 0000000..09eaa86 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=_FWV +Version=4,9,8 +Name=Frostwave +Category=C4D_Magic +Value=18 +Components=IICE=4 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescDE.txt new file mode 100644 index 0000000..0f080c4 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescDE.txt @@ -0,0 +1 @@ +Sendet eine Frostwelle aus, die Gegner wegschleudert und einfriert.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescUS.txt new file mode 100644 index 0000000..956f6c4 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/DescUS.txt @@ -0,0 +1 @@ +Casts an frostwave which flings enemys away.
\ No newline at end of file diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..4519567 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Names.txt new file mode 100644 index 0000000..8615e7c --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Frostwelle +US:Frost wave diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Script.c new file mode 100644 index 0000000..142a8cb --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Script.c @@ -0,0 +1,86 @@ +#strict + +func Activate(pCaster,pRealcaster) { + var pClonk, pComboObj; + if(pRealcaster) pClonk=pRealcaster; + else pClonk=pCaster; + + var iNum = AddEffect("FrostwaveNSpell",0,130,1,0,GetID(),0,GetX(pCaster),GetY(pCaster),pClonk); + if (iNum <= 0) return (iNum<0, RemoveObject()); + Sound("MgWind*"); + RemoveObject(); + return(1); +} + +func FxFrostwaveNSpellStart(object pTarget, int iNumber, int iTemp, int iAngle, int iX, int iY, object pCaller) { + if(iTemp) return(); + + // Radius anpassen + EffectVar(1,pTarget,iNumber) = 20; + + // Position + EffectVar(2,pTarget,iNumber) = iX; + EffectVar(3,pTarget,iNumber) = iY; + + // Zauberer + EffectVar(4,pTarget,iNumber) = pCaller; + EffectVar(6,pTarget,iNumber) = GetController(pCaller); + + // Kombo + var pCombo = FindContents(ICE1, pCaller); + if (pCombo) + { + EffectVar(5,pTarget,iNumber) = true; + RemoveObject(pCombo); + } +} + +func FxFrostwaveNSpellTimer(object pTarget, int iNumber, int iTime) { + + var iRaduis = EffectVar(1,pTarget,iNumber); + // löschen falls schon zu weit + if(iRaduis >= EffectCall(pTarget,iNumber,"MaxRange")) return(-1); + + // Position + var iX = EffectVar(2,pTarget,iNumber); + var iY = EffectVar(3,pTarget,iNumber); + + // Kombo? + var dwSearchOCF = OCF_Alive; + if (EffectVar(5,pTarget,iNumber)) dwSearchOCF += OCF_Collectible; + + // Effekt! + CreateParticle("FrostWave",iX,iY, RandomX(-1,1),RandomX(-1,1), 400+10*iRaduis,RGB(255,255,255)); +var obj; + + var angle; + // Alle Gegner wegschleudern + while(obj = FindObject(0, -iRaduis-5+iX,-iRaduis-5+iY,iRaduis*2+10,iRaduis*2+10, dwSearchOCF, 0,0, NoContainer(), obj)) + { + if(obj == Contained()) continue; + if(Inside(Distance(GetX(obj), GetY(obj), iX, iY), iRaduis-5, iRaduis+5)) + { + angle=Angle(iX, iY, GetX(obj), GetY(obj) ); + if(GetAlive(obj)) + { + obj->SetKiller(EffectVar(6,pTarget,iNumber)); + Fling(obj, Sin(angle, 80)/9, -Cos(angle, 80)/9); + if(!Frozen(obj)) Freeze(obj, EffectVar(4,pTarget,iNumber)); + } + else + { + SetXDir(Sin(angle, 50), obj); SetYDir(-Cos(angle, 50), obj); + SetController(GetController(EffectVar(4,pTarget,iNumber)),obj); + } + } + } + + EffectVar(1,pTarget,iNumber)+=8; +} + +func FxFrostwaveNSpellMaxRange() { return(75); } + +/* Zaubercombo */ + +public func GetSpellClass(object pMage) { return(WATR); } +public func GetSpellCombo(pMage) { return ("335"); } // (1: Backward; 2: Down; 3: Forward; 4: Throw; 5: Jump; 6: Dig) diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..b4a8989 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Graphics.png diff --git a/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Particle.txt b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Particle.txt new file mode 100644 index 0000000..56ed2c0 --- /dev/null +++ b/TemplePushing.c4s/CliffPushing.c4d/Extra.c4d/Frostwave.c4d/Wave.c4d/Particle.txt @@ -0,0 +1,13 @@ +[Particle] +Name=FrostWave +MaxCount=350 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +Face=0,0,64,64,-32,-32 +GravityAcc=0 +RByV=1 +AlphaFade=5 +Delay=0 +Additive=1 +Repeats=1 |
