summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d
diff options
context:
space:
mode:
authorJan <>2015-02-02 17:58:18 +0100
committerJan <_>2015-07-10 17:51:43 +0200
commitca61c54b9bd69af897e4cc9d4385137fb56fd11a (patch)
treea4363f466cea6de48ca81fadc08273d58698d2ff /TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d
parent32a9632fbca3dd7a88bd3154b84a3773af39c276 (diff)
downloadtempelschubsen-ca61c54b9bd69af897e4cc9d4385137fb56fd11a.tar.gz
tempelschubsen-ca61c54b9bd69af897e4cc9d4385137fb56fd11a.zip
TemplePushingBeta.c4s
Diffstat (limited to 'TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d')
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/ActMap.txt15
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DefCore.txt11
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Graphics.pngbin0 -> 2192 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Graphics.pngbin0 -> 1686 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Particle.txt15
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Graphics.pngbin0 -> 1686 bytes
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Particle.txt15
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Script.c167
11 files changed, 227 insertions, 0 deletions
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
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/Graphics.png
Binary files 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
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark.c4d/Graphics.png
Binary files 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
--- /dev/null
+++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Shot.c4d/LightningSpark2.c4d/Graphics.png
Binary files 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<GetVertexNum()-1)
+ {
+ DrawParticleLine ("LightningSpark", GetVertex(i)-GetX(), GetVertex(i, 1)-GetY(),
+ GetVertex(i+1)-GetX(), GetVertex(i+1,1)-GetY(), 6, 60, RGB(250,100,0));
+ DrawParticleLine ("LightningSpark", GetVertex(i)-GetX(), GetVertex(i, 1)-GetY(),
+ GetVertex(i+1)-GetX(), GetVertex(i+1,1)-GetY(), 3, 25, RGB(250,050,025));
+ i++;
+
+ //CreateParticle("PSpark", RandomX(-3,4), RandomX(-1,2), RandomX(-2,1), RandomX(-1,2), RandomX(10,20), RGB(250,020,010));
+ //CreateParticle("PSpark", RandomX(-3,3), RandomX(-2,2), RandomX(-2,2), RandomX(-2,2), RandomX(20,50), RGB(250,050,020));
+
+
+ }
+}
+
+/* Bewegung */
+
+private func Advance()
+{
+ // Einschlag
+ var iVtx = GetVertexNum()-1, iVtxX = GetVertex(iVtx, 0), iVtxY = GetVertex(iVtx, 1);
+ if (GBackSolid(iVtxX-GetX(), iVtxY-GetY() ))
+ return(Remove());
+
+ // Neuen Eckpunkt
+ if (!AddVertex( iVtxX+iAdvX+RandomX(-5,5), iVtxY+iAdvY+RandomX(-5,5)))
+ return(Remove());
+
+ SetPosition(GetVertex(GetVertexNum()), GetVertex(GetVertexNum(), 1));
+
+ // Im Wasser?
+ if (GBackLiquid(iVtxX-GetX(), iVtxY-GetY() ))
+ {
+ var obj;
+ // Alle Lebewesen in der Nähe bekommen was ab
+ while (obj = FindObject( 0, iVtxX-GetX()-400, iVtxY-GetY()-400, 800, 800, OCF_Alive(), 0,0, NoContainer(),obj ) )
+ {
+ if(!PathFree(iVtxX, iVtxY, GetX(obj), GetY(obj))) continue;
+ if(!GBackLiquid(GetX(obj)-GetX(), GetY(obj)-GetY())) continue;
+ obj->~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<GetVertexNum()-1)
+ {
+ Explode(2,this());
+ DrawParticleLine ("Blast", GetVertex(i)-GetX(), GetVertex(i, 1)-GetY(),
+ GetVertex(i+1)-GetX(), GetVertex(i+1,1)-GetY(), 6, 60, RGB(255,100,000));
+ DrawParticleLine ("Blast", GetVertex(i)-GetX(), GetVertex(i, 1)-GetY(),
+ GetVertex(i+1)-GetX(), GetVertex(i+1,1)-GetY(), 3, 25, RGB(250,150,155));
+ i++;
+ }
+
+ RemoveObject();
+}