From ca61c54b9bd69af897e4cc9d4385137fb56fd11a Mon Sep 17 00:00:00 2001 From: Jan <> Date: Mon, 2 Feb 2015 17:58:18 +0100 Subject: TemplePushingBeta.c4s --- .../Lavashot.c4d/Shot.c4d/ActMap.txt | 15 ++ .../Lavashot.c4d/Shot.c4d/DefCore.txt | 11 ++ .../Lavashot.c4d/Shot.c4d/DescDE.txt | 1 + .../Lavashot.c4d/Shot.c4d/DescUS.txt | 1 + .../Lavashot.c4d/Shot.c4d/Graphics.png | Bin 0 -> 2192 bytes .../Shot.c4d/LightningSpark.c4d/Graphics.png | Bin 0 -> 1686 bytes .../Shot.c4d/LightningSpark.c4d/Particle.txt | 15 ++ .../Shot.c4d/LightningSpark2.c4d/Graphics.png | Bin 0 -> 1686 bytes .../Shot.c4d/LightningSpark2.c4d/Particle.txt | 15 ++ .../Lavashot.c4d/Shot.c4d/Names.txt | 2 + .../Lavashot.c4d/Shot.c4d/Script.c | 167 +++++++++++++++++++++ 11 files changed, 227 insertions(+) create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/ActMap.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DefCore.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescDE.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescUS.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Particle.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Particle.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Names.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c (limited to 'TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d') diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/ActMap.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/ActMap.txt new file mode 100644 index 0000000..12e0a38 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/ActMap.txt @@ -0,0 +1,15 @@ +[Action] +Name=Advance +Procedure=NONE +Delay=1 +NextAction=Advance +StartCall=Advance + +[Action] +Name=Connect +Procedure=NONE +Length=30 +Delay=1 +EndCall=Remove +PhaseCall=Sparkle + \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DefCore.txt new file mode 100644 index 0000000..662d677 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DefCore.txt @@ -0,0 +1,11 @@ +[DefCore] +id=_LVS +Name=Lavaschuss +Version=4,9,5 +Category=1 +Width=1 +Height=1 +Mass=1 +Picture=0,0,40,40 +Vertices=0 + \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescDE.txt new file mode 100644 index 0000000..05309b0 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescDE.txt @@ -0,0 +1 @@ +Heiße Entladung. diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescUS.txt new file mode 100644 index 0000000..9d565c4 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescUS.txt @@ -0,0 +1 @@ +Flaming discharge. diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Graphics.png new file mode 100644 index 0000000..4a566f5 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Graphics.png new file mode 100644 index 0000000..255f4f7 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Particle.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Particle.txt new file mode 100644 index 0000000..77dc4e1 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Particle.txt @@ -0,0 +1,15 @@ +[Particle] +Name=LightningSpark +MaxCount=10000 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +#CollisionFn=Stop +Face=0,0,26,26,-13,-13 +Repeats=1 +GravityAcc=0 +AlphaFade=100 +#VertexCount=1 +#VertexY=-50 +Additive=1 +Attach=1 diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Graphics.png new file mode 100644 index 0000000..255f4f7 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Particle.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Particle.txt new file mode 100644 index 0000000..5242de2 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Particle.txt @@ -0,0 +1,15 @@ +[Particle] +Name=LightningSpark2 +MaxCount=10000 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +#CollisionFn=Stop +Face=0,0,26,26,-13,-13 +Repeats=1 +GravityAcc=0 +AlphaFade=10 +#VertexCount=1 +#VertexY=-50 +Additive=1 +Attach=1 diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Names.txt new file mode 100644 index 0000000..546785a --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Blitz +US:Lightning diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c new file mode 100644 index 0000000..06c981f --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c @@ -0,0 +1,167 @@ +/*-- Lavaschuss --*/ + +#strict + +/* Locals */ + +local iAdvX, iVarX, // Bewegung / Abweichung X + iAdvY, iVarY; // Bewegung / Abweichung Y +local pCaster; + +func Initialize() { + //Killtrace Effect + AddEffect("KillTraceHelper",this(),175,0,this(),GetID(this())); + } + +/* Aktivierung */ + +public func Activate(iStartX, iStartY, iAdvanceX, iRandomX, iAdvanceY, iRandomY) +{ + // Startposition + AddVertex(iStartX,iStartY); + // Bewegungsverhalten + iAdvX=iAdvanceX; iVarX=iRandomX; + iAdvY=iAdvanceY; iVarY=iRandomY; + // Aktion setzen + SetAction("Advance"); + // Geräusch + if (!Random(5)) Sound("Inflame"); + return(1); +} + +public func Launch(pClonk, iDir, iX, iY, iAngle) +{ + pCaster=pClonk; + var XDir; + XDir = Cos(iAngle, 10, 10); +// if (iDir == DIR_Left()) XDir = -Cos(iAngle, 10, 10); +// else (XDir = +Cos(iAngle, 10, 10)); + Activate(iX, iY, XDir, 0, -Sin(iAngle, 10, 10)); + return(1); +} + +private func Timer() +{ + + var i=0; + var pObject = FindObject(0,-2,-2,4,4,OCF_Inflammable); + if(pObject) + if(pObject != pCaster) { + //Nicht benötigt, macht Query Catch Blow + //if(GetEffect("KillSymbols",pObject)) SetKillSymbols(pObject,GetEffect("KillSymbols",pObject),DFLM,GetEffect("KillTraceHelper",this())); + Incinerate(pObject); + } + // Partikel-Effekt + while(i~LightningStrike(); + Punch(obj, 20); + //Regelt Query Catch Blow + //if(GetEffect("KillSymbols",obj)) SetKillSymbols(obj,GetEffect("KillSymbols",obj),_LVS); + + + DrawParticleLine ("LightningSpark2", iVtxX-GetX(), iVtxY-GetY(), + GetX(obj)-GetX(), GetY(obj)-GetY(), 6, 60, RGB(255,010,055)); + DrawParticleLine ("LightningSpark2", iVtxX-GetX(), iVtxY-GetY(), + GetX(obj)-GetX(), GetY(obj)-GetY(), 3, 25, RGB(250,050,055)); + } + return(Remove()); + } + + // Objektanziehung + iVtx = GetVertexNum()-1; iVtxX = GetVertex(iVtx, 0); iVtxY = GetVertex(iVtx, 1); + var obj; + if (iVtx>7) + while (obj = FindObject( 0, iVtxX-GetX()-25, iVtxY-GetY()-25, 50, 50, OCF_Alive(), 0,0, NoContainer(),obj ) ) + { + if(obj==pCaster) continue; + if(!PathFree(iVtxX, iVtxY, GetX(obj), GetY(obj))) continue; + Attraction(obj); + break; + } + + Timer(); + // Weiter + return(); +} + +/* Effekte */ + +private func Sparkle() +{ + Timer(); + var iVtx = GetVertexNum()-1, iVtxX = GetVertex(iVtx, 0), iVtxY = GetVertex(iVtx, 1); + + return(1); +} + +/* Anziehung */ + +private func Attraction(obj) +{ + // Einschlag in Objekt + AddVertex( GetVertex(0,0,obj)+GetX(obj), + GetVertex(0,1,obj)+GetY(obj) ); + obj->~LightningStrike(); + SetAction("Connect"); + Punch(obj, 20); + Incinerate(obj); + //Übernimmt QueryCatchBlow + //if(GetEffect("KillSymbols",obj)) SetKillSymbols(obj,GetEffect("KillSymbols",obj),_LVS,GetEffect("KillTraceHelper",this())); +} + +/* Ende */ + +private func Remove() +{ + var i=0; + // Nachleuchten + while(i