From ca61c54b9bd69af897e4cc9d4385137fb56fd11a Mon Sep 17 00:00:00 2001 From: Jan <> Date: Mon, 2 Feb 2015 17:58:18 +0100 Subject: TemplePushingBeta.c4s --- .../AdditionalSpells.c4d/Eisnadeln.c4d/DefCore.txt | 8 + .../AdditionalSpells.c4d/Eisnadeln.c4d/DescDE.txt | 1 + .../AdditionalSpells.c4d/Eisnadeln.c4d/DescUS.txt | 1 + .../Eisnadeln.c4d/Eisnadeln.c4d/ActMap.txt | 7 + .../Eisnadeln.c4d/Eisnadeln.c4d/DefCore.txt | 20 +++ .../Eisnadeln.c4d/Eisnadeln.c4d/DescDE.txt | 1 + .../Eisnadeln.c4d/Eisnadeln.c4d/DescUS.txt | 1 + .../Eisnadeln.c4d/FSSpark.c4d/Graphics.png | Bin 0 -> 1468 bytes .../Eisnadeln.c4d/FSSpark.c4d/Particle.txt | 14 ++ .../Eisnadeln.c4d/Eisnadeln.c4d/Graphics.png | Bin 0 -> 345 bytes .../MaterialParticle.c4d/Graphics.png | Bin 0 -> 409 bytes .../MaterialParticle.c4d/Particle.txt | 14 ++ .../MaterialParticle2.c4d/Graphics.png | Bin 0 -> 339 bytes .../MaterialParticle2.c4d/Particle.txt | 16 ++ .../Eisnadeln.c4d/Eisnadeln.c4d/Script.c | 176 +++++++++++++++++++++ .../Eisnadeln.c4d/Graphics.png | Bin 0 -> 4517 bytes .../AdditionalSpells.c4d/Eisnadeln.c4d/Names.txt | 2 + .../AdditionalSpells.c4d/Eisnadeln.c4d/Script.c | 125 +++++++++++++++ .../AdditionalSpells.c4d/Lavashot.c4d/DefCore.txt | 10 ++ .../AdditionalSpells.c4d/Lavashot.c4d/DescDE.txt | 1 + .../AdditionalSpells.c4d/Lavashot.c4d/DescUS.txt | 1 + .../AdditionalSpells.c4d/Lavashot.c4d/Graphics.png | Bin 0 -> 2192 bytes .../AdditionalSpells.c4d/Lavashot.c4d/Names.txt | 2 + .../AdditionalSpells.c4d/Lavashot.c4d/Script.c | 41 +++++ .../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 +++++++++++++++++++ .../Misc.c4d/AdditionalSpells.c4d/Names.txt | 2 + .../Misc.c4d/ModSnowball.c4d/DefCore.txt | 17 ++ .../Misc.c4d/ModSnowball.c4d/DescDE.txt | 1 + .../Misc.c4d/ModSnowball.c4d/DescUS.txt | 1 + .../Misc.c4d/ModSnowball.c4d/Graphics.png | Bin 0 -> 2493 bytes .../Misc.c4d/ModSnowball.c4d/Names.txt | 2 + .../Misc.c4d/ModSnowball.c4d/Script.c | 59 +++++++ TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c | 65 ++++---- .../Misc.c4d/SetupMenu.c4d/StringTblDE.txt | 12 +- .../Misc.c4d/SetupMenu.c4d/StringTblUS.txt | 12 +- .../Misc.c4d/Symbols.c4d/Back.c4d/DefCore.txt | 6 + .../Misc.c4d/Symbols.c4d/Back.c4d/Graphics.png | Bin 0 -> 2862 bytes .../Misc.c4d/Symbols.c4d/Back.c4d/Names.txt | 2 + .../Misc.c4d/Symbols.c4d/Done.c4d/DefCore.txt | 6 + .../Misc.c4d/Symbols.c4d/Done.c4d/Graphics.png | Bin 0 -> 4172 bytes .../Misc.c4d/Symbols.c4d/Done.c4d/Names.txt | 2 + .../Misc.c4d/Symbols.c4d/Kill.c4d/DefCore.txt | 6 + .../Misc.c4d/Symbols.c4d/Kill.c4d/Graphics.png | Bin 0 -> 8994 bytes .../Misc.c4d/Symbols.c4d/Kill.c4d/Names.txt | 2 + .../Misc.c4d/Symbols.c4d/Relaunch.c4d/DefCore.txt | 6 + .../Misc.c4d/Symbols.c4d/Relaunch.c4d/Graphics.png | Bin 0 -> 9076 bytes .../Misc.c4d/Symbols.c4d/Relaunch.c4d/Names.txt | 2 + .../Misc.c4d/Symbols.c4d/Teams.c4d/DefCore.txt | 8 + .../Misc.c4d/Symbols.c4d/Teams.c4d/Graphics.png | Bin 0 -> 16625 bytes .../Misc.c4d/Symbols.c4d/Teams.c4d/Names.txt | 2 + .../Misc.c4d/TeamSymbols.c4d/DefCore.txt | 8 - .../Misc.c4d/TeamSymbols.c4d/Graphics.png | Bin 16625 -> 0 bytes .../Misc.c4d/TeamSymbols.c4d/Names.txt | 2 - 63 files changed, 835 insertions(+), 56 deletions(-) create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DefCore.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescDE.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescUS.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/ActMap.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DefCore.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescDE.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescUS.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Particle.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Particle.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Particle.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Script.c create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Names.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Script.c create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DefCore.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescDE.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescUS.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Names.txt create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Script.c 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 create mode 100644 TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Names.txt create mode 100644 TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DefCore.txt create mode 100644 TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DescDE.txt create mode 100644 TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/DescUS.txt create mode 100644 TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Names.txt create mode 100644 TemplePushing.c4s/Misc.c4d/ModSnowball.c4d/Script.c create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/DefCore.txt create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Names.txt create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/DefCore.txt create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Names.txt create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/DefCore.txt create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Names.txt create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/DefCore.txt create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Names.txt create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/DefCore.txt create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Graphics.png create mode 100644 TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Names.txt delete mode 100644 TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/DefCore.txt delete mode 100644 TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Graphics.png delete mode 100644 TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Names.txt (limited to 'TemplePushing.c4s/Misc.c4d') diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DefCore.txt new file mode 100644 index 0000000..214c847 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=ICNL +Name=Eisnadeln +Version=4,9,5,4 +Category=131073 +Picture=0,0,64,64 +Value=12 +Components=ICRS=3;IICE=2; \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescDE.txt new file mode 100644 index 0000000..e7fbadb --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescDE.txt @@ -0,0 +1 @@ +Schießt Eisnadeln vom Zauberer weg. \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescUS.txt new file mode 100644 index 0000000..f56d320 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/DescUS.txt @@ -0,0 +1 @@ +Shoots ice needles in the selected direction. \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/ActMap.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/ActMap.txt new file mode 100644 index 0000000..7dec40a --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/ActMap.txt @@ -0,0 +1,7 @@ +[Action] +Name=Fly +Procedure=FLOAT +Length=1 +Delay=1 +NextAction=Fly +FacetBase=1 diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DefCore.txt new file mode 100644 index 0000000..13db5ff --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DefCore.txt @@ -0,0 +1,20 @@ +[DefCore] +id=ICNA +Name=Eisnadel +Version=4,9,5 +Category=4 +MaxUserSelect=10 +Width=12 +Height=3 +Offset=-6,-1 +Value=10 +Mass=10 +Timer=2 +TimerCall=Check +Vertices=1 +VertexX=1 +VertexFriction=20 +Rotate=1 + +[Physical] +Float=500 \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescDE.txt new file mode 100644 index 0000000..a5ea66e --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescDE.txt @@ -0,0 +1 @@ +Frostig. \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescUS.txt new file mode 100644 index 0000000..8cbca28 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/DescUS.txt @@ -0,0 +1 @@ +Very cold. \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Graphics.png new file mode 100644 index 0000000..d598ba4 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Particle.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Particle.txt new file mode 100644 index 0000000..b6f0130 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/FSSpark.c4d/Particle.txt @@ -0,0 +1,14 @@ +[Particle] +Name=FSSpark +MaxCount=2000 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +Face=0,0,32,32,-16,-16 +Delay=0 +Repeats=6 +GravityAcc=0 +AlphaFade=4 +Additive=1 +Attach=1 +RByV=1 \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Graphics.png new file mode 100644 index 0000000..b00b2f5 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Graphics.png new file mode 100644 index 0000000..7fd2df2 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Particle.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Particle.txt new file mode 100644 index 0000000..61c3b8b --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle.c4d/Particle.txt @@ -0,0 +1,14 @@ +[Particle] +Name=MaterialParticle +MaxCount=350 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +CollisionFn=Die +Face=0,0,28,43,-15,-5 +Repeats=10 +GravityAcc=70 +RByV=1 +Delay=175 +VertexCount=1 +AlphaFade=0 \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Graphics.png new file mode 100644 index 0000000..ba84750 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Particle.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Particle.txt new file mode 100644 index 0000000..63d5355 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/MaterialParticle2.c4d/Particle.txt @@ -0,0 +1,16 @@ +[Particle] +Name=MaterialParticle2 +MaxCount=3500 +InitFn=StdInit +ExecFn=StdExec +DrawFn=Std +CollisionFn=Die +Face=0,0,28,43,-15,-5 +Repeats=1 +GravityAcc=0 +RByV=1 +Delay=0 +VertexCount=1 +AlphaFade=4 +Additive=1 +Attach=1 \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Script.c new file mode 100644 index 0000000..98f3eaf --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Eisnadeln.c4d/Eisnadeln.c4d/Script.c @@ -0,0 +1,176 @@ +/*-- Eislanze --*/ + +#strict +static const ICNA_Speed=50; + +local timer; +local iOldX, iOldY; +local Gift; +local iAngle; +local Caster; +local Randi; + +func Initialize() { +Gift=0; + timer=0; + return(1); +} + +public func Activate(pCaster,Angle) +{ + SetAction("Fly"); + var xDir,yDir; +// SetR(Angle-100+RandomX(0,20)); + iAngle = Angle-10+RandomX(0,20); + SetR(iAngle-90); + Caster = pCaster; +// xDir=Cos(iAngle-90,ICNA_Speed); +// yDir=Sin(iAngle-90,ICNA_Speed); +// SetXDir(xDir+RandomX(-10,10)); +// SetYDir(yDir+RandomX(-10,10)); +// iOldX = GetX(); iOldY = GetY(); +} + +protected func Hit() +{ + if(CheckHit()) return(); + CastParticles("MaterialParticle",20,50,0,0,20,60,RGB(50,120,255),RGB(00,120,255)); + if(!Random(3)) RemoveObject(); + if(GetR() > 180) iAngle = iAngle-iAngle*2; + if(GetR() < 180) iAngle = iAngle+iAngle*2; + var iMinAngleDiff = 360, iTargetAngle = iAngle; + var pObj; + while (pObj = FindObject(0, Sin(iAngle, 200)-200/2, -Cos(iAngle, 200)-200/2, 200, 200, OCF_CrewMember, 0,0, NoContainer(), pObj)) + { + if (!GetAlive(pObj)) continue; + if(pObj == Caster) continue; + if(!PathFree(GetX(),GetY(),GetX(pObj),GetY(pObj))) continue; + var iThisTargetAngle = Angle(GetX(), GetY(), GetX(pObj), GetY(pObj)); + if (iThisTargetAngle > 180) iThisTargetAngle -= 360; + if (Abs(iThisTargetAngle - iAngle) < iMinAngleDiff) + { + iMinAngleDiff = Abs(iThisTargetAngle - iAngle); + iTargetAngle = iThisTargetAngle; + } + } + iAngle = BoundBy(iTargetAngle, iAngle-Randi, iAngle+Randi); +} + +protected func Check() +{ +//CheckCrash(this()); +// SetXDir(Cos(GetR(), 245000) * 2, 0, 100000); +// SetYDir(Sin(GetR(), 245000) * 2, 0, 100000); + Randi = RandomX(0,20); + SetR(iAngle); + SetXDir(Sin(iAngle, 50)); + SetYDir(-Cos(iAngle, 50)); + + // SetXDir(Sin(iAngle, 80)); + // SetYDir(-Cos(iAngle, 80)); + + var iMinAngleDiff = 360, iTargetAngle = iAngle; + var pObj; + while (pObj = FindObject(0, Sin(iAngle, 200)-200/2, -Cos(iAngle, 200)-200/2, 200, 200, OCF_CrewMember, 0,0, NoContainer(), pObj)) + { + if (!GetAlive(pObj)) continue; + if(pObj == Caster) continue; + if(!PathFree(GetX(),GetY(),GetX(pObj),GetY(pObj))) continue; + var iThisTargetAngle = Angle(GetX(), GetY(), GetX(pObj), GetY(pObj)); + if (iThisTargetAngle > 180) iThisTargetAngle -= 360; + if (Abs(iThisTargetAngle - iAngle) < iMinAngleDiff) + { + iMinAngleDiff = Abs(iThisTargetAngle - iAngle); + iTargetAngle = iThisTargetAngle; + } + } + iAngle = BoundBy(iTargetAngle, iAngle-Randi, iAngle+Randi); + + if(++timer > 100)RemoveObject(); + //if(!GetR() == iAngle-90){ + //if(GetR() < iAngle-90) SetRDir(1); + //if(GetR() > iAngle-90) SetRDir(-1); + //} + //if(GetR() == iAngle-80+RandomX(0,20)) SetRDir(0); + if(ObjectDistance(this(),pObj) < 40) SetR(iAngle-90); + +if(!Gift==1) + { + // CreateParticle("PSpark",0,0,0,0,20,RGBa(0,RandomX(100,120),RandomX(160,255),90)); + CreateParticle("PSpark",0,0,0,0,180,RGBa(0,RandomX(100,120),RandomX(160,255),120)); + CreateParticle("FSSpark",0,0,0,0,150,RGB(0,RandomX(100,120),RandomX(160,255))); + //CreateParticle("PSpark",-GetXDir()/5,-GetYDir()/5,0,0,40,RGB(0,RandomX(100,120),RandomX(160,255))); + //CreateParticle("PSpark",-GetXDir()/2,-GetYDir()/2,0,0,40,RGB(0,RandomX(100,120),RandomX(160,255))); + CreateParticle("MaterialParticle2",0,0,RandomX(2,-2)-GetXDir()/2,RandomX(2,-2)-GetYDir()/2,250,RGB(0,RandomX(100,120),RandomX(160,255))); + } +else +{ + CreateParticle("FSSpark",0,0,0,0,150,RGB(100,255,0)); + CreateParticle("PSpark",0,0,0,0,180,RGBa(100,255,0,120)); + CreateParticle("MaterialParticle2",0,0,RandomX(2,-2)-GetXDir()/2,RandomX(2,-2)-GetYDir()/2,250,RGB(100,255,0)); + } + // Auf Treffer prüfen + CheckHit(); + iOldX = GetX(); iOldY = GetY(); +/* var pClonk=0; + while(pClonk=FindObject(0,0,-1,0,0,OCF_Alive(),0,0,NoContainer(),pClonk)) + { + if(!ObjectCount(NTMG))if(Hostile(GetOwner(),GetOwner(pClonk)))continue; + Punch(pClonk,4); + RemoveObject(); + }*/ +} + +private func CheckHit() +{ + // Nur wenn schon passende Werte da sind + if(!iOldX && !iOldY) return(); + // Distance zur letzten Position berechnen + var iXDist = GetX()-iOldX; + var iYDist = GetY()-iOldY; + // Treffer-Überprüfung + var iSteps = Abs(iXDist/4); + if(Abs(GetXDir())~DoSpellAim(this())) return(1); + + var angle=-90; + if(GetDir(pClonk) == DIR_Right()) angle=90; + ActivateAngle(pClonk,angle); + RemoveObject(); + return(1); +} + +// Aktivierung nach Zielen (iAngle: -90=links; 0=oben; +90=rechts) +public func ActivateAngle(object pCaller, int iAngle) + { + //var pEffer = CreateObject(_WE_,0,0,GetOwner(this())); + //GetTarget(object pTarget,int Interval, string Element, int ElementNumber, int R, int G, int B, int a) + //pEffer -> GetTarget(pCaller,0, "Water", 0, 100, 100, 255, 120); + var WasserF = FindContents(WBRL,pCaller); + if(WasserF) + { + RemoveObject(WasserF); + CreateContents(FLNT,this()); + } + if(!FindContents(FLNT,this())) + { + for(var cnt=0;cnt<3;cnt++) + { + var f=CreateObject(ICNA,AbsX(GetX(pCaller))+Cos(iAngle-90,13),AbsY(GetY(pCaller))+Sin(iAngle-90,13),GetOwner(pCaller)); + f->Activate(pCaller,iAngle); + if(Combo==1) f->LocalN("Gift",f)=1; + var combo = FindContents(ICE1,pCaller); + if(combo) + { + RemoveObject(combo); + f->CreateContents(ROCK); + } + } + AddEffect("RecallMFCSAiming",pCaller,20,1,0,GetID(),iAngle); + + // Objekt löschen + RemoveObject(); + return(1); + } + if(FindContents(FLNT,this())) + { + for(var cnt=0;cnt<6;cnt++) + { + var f=CreateObject(ICNA,AbsX(GetX(pCaller))+Cos(iAngle-90,13),AbsY(GetY(pCaller))+Sin(iAngle-90,13),GetOwner(pCaller)); + f->Activate(pCaller,iAngle); + if(Combo==1) f->LocalN("Gift",f)=1; + var combo1 = FindContents(ICE1,pCaller); + if(combo1) + { + RemoveObject(combo1); + f->CreateContents(ROCK); + } + } + AddEffect("RecallMFCSAiming",pCaller,20,1,0,GetID(),iAngle); + + // Objekt löschen + 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); +} + +/* 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) diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DefCore.txt new file mode 100644 index 0000000..92b2cae --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DefCore.txt @@ -0,0 +1,10 @@ +[DefCore] +id=LAVS +Version=4,0,2 +Name=Lavastoß +Category=131072 +Width=1 +Height=1 +Value=25 +Components=IBON=2; +Picture=0,0,40,40 diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescDE.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescDE.txt new file mode 100644 index 0000000..45fcbe1 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescDE.txt @@ -0,0 +1 @@ +Entzündet getroffende Lebewesen. diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescUS.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescUS.txt new file mode 100644 index 0000000..068fb1b --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/DescUS.txt @@ -0,0 +1 @@ +Sets animals and clonks on fire. diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Graphics.png new file mode 100644 index 0000000..4a566f5 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Names.txt new file mode 100644 index 0000000..f90356d --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Lavaschuss +US:Lavashot diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Script.c new file mode 100644 index 0000000..40c23c1 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Lavashot.c4d/Script.c @@ -0,0 +1,41 @@ +/*-- Lavaschuss --*/ + +#strict + +func Activate(pCaster,pRealcaster) { + var pClonk; + if(pRealcaster) pClonk=pRealcaster; + else pClonk=pCaster; + + var iResult; + if (iResult = CheckEffect("Blast", 0, 125)) return(iResult!=-1 && RemoveObject()); + + // Zielen wenn möglich + if (pClonk->~DoSpellAim(this())) return(1); + + // Schuss erzeugen + var obj = CreateObject(_LVS, 0, 0, GetOwner(pClonk)); + obj->Launch(pClonk, GetDir(pClonk), GetX(pClonk), GetY(pClonk), 0); + Sound("Inflame"); + RemoveObject(); + return(1); +} + +// Aktivierung nach Zielen (iAngle: -90=links; 0=oben; +90=rechts) +public func ActivateAngle(object pCaller, int iAngle) + { + // Schuss erzeugen + var obj = CreateObject(_LVS, 0, 0, GetOwner(pCaller)); + obj->Launch(pCaller,GetDir(pCaller), GetX(pCaller), GetY(pCaller), (900-iAngle*10)); + Sound("Inflame"); + + // Objekt löschen + RemoveObject(); + return(1); + } + +// Zielspruch (für Artefaktzauber) +public func IsAimerSpell() { return(1); } + +public func GetSpellClass(object pMage) { return(FIRE); } +public func GetSpellCombo(pMage) { return ("445"); } // (1: Backward; 2: Down; 3: Forward; 4: Throw; 5: Jump; 6: Dig) 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 Abbruch + if (GetPlrDownDouble(GetOwner(thrower))) + // Nur Ablegen in der Luft mit Befehlsrichtung? Luftwurf erlauben! + if (proc ne "FLIGHT" || GetComDir(thrower) == COMD_None) + return(0); + + // Ablegen im stehenden Hangeln -> Abbruch + if (proc eq "HANGLE" && comd == COMD_None) + return(0); + + // Ablegen im Schwimmen / Klettern -> Abbruch + if (proc eq "SWIM" || proc eq "SCALE") + return(0); + + // Wurfrichtung rausfinden + var dir; + // Nach Befehlsrichtung, wenn sinnvolle Werte vorhanden + if (comd == COMD_Left() || comd == COMD_Right()) { + if (comd == COMD_Left()) dir = -1; + if (comd == COMD_Right()) dir = +1; + } + // sonst nach Blickrichtung + else { + if (GetDir(thrower) == DIR_Left()) dir = -1; + else dir = +1; + } + + // Wurfgeschwindigkeiten berechnen + var x_dir = dir * GetPhysical("Throw", 0, thrower)/1000 + GetXDir(thrower) / 3; + var y_dir = -30; + + if (!x_dir) return(0); + + // Position anpassen + SetPosition(GetX() + x_dir / 5, GetY() - 2 + GetYDir(thrower) / 2); + + // Geschwindigkeit setzen + SetXDir(x_dir); + SetYDir(y_dir); + + Sound("Arrow"); +} + +func IsAlchemContainer() { return(true); } +func AlchemProcessTime() { return(100); } diff --git a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c index 0577e73..4b2fee5 100644 --- a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c +++ b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c @@ -3,7 +3,7 @@ #strict 2 static const - SETTING_Deathmatch = 0, SETTING_Extinguisher = 1, SETTING_FriendlyPushing = 2, SETTING_RotateInJump = 3, + SETTING_Deathmatch = 0, SETTING_SuddenDeath = 1, SETTING_Extinguisher = 2, SETTING_RotateInJump = 3, SETTING_RelaunchesInc = 4, SETTING_RelaunchesDec = 5, SETTING_DeathmatchScoreInc = 6, SETTING_DeathmatchScoreDec = 7, SETTING_Ambience = 8; @@ -13,7 +13,7 @@ local clonk, setupPlayer; // Selected values local section, mode; -local extinguisherEnabled, friendlyPushingEnabled, rotateInJumpEnabled; +local extinguisherEnabled, suddendeathEnabled, rotateInJumpEnabled; local ambienceEnabled; local numRelaunches; local deathmatchEnabled, deathmatchWinScore; @@ -28,10 +28,11 @@ protected func Initialize() section = Sections[0]; Modes = [ - [MODE_Classic, "$ModeClassic$", ROCK], - [MODE_SuddenDeath, "$ModeSuddenDeath$", SDDT], - [MODE_Magic, "$ModeMagic$", SMGC], - [MODE_Apocalyptic, "$ModeApocalyptic$", APCE]]; + [MODE_Classic, "$ModeClassic$", CLSC], + [MODE_Magic, "$ModeMagic$", MLPG], + [MODE_Knightly, "$ModeKnightly$", MKNI], + [MODE_Apocalyptic, "$ModeApocalyptic$", APCE], + [MODE_Festive, "$ModeFestive$", FSTV]]; } private func ShowSetup() @@ -70,13 +71,12 @@ private func ShowModeMenu() CheckPreselect(m[0] == mode, menuItemIndex++); } - clonk->AddMenuItem("$Back$", "ShowSectionMenu()", ROCK); + clonk->AddMenuItem("$Back$", "ShowSectionMenu()", SBCK); } private func SelectMode(int selectedMode) { mode = selectedMode; - if (mode == MODE_SuddenDeath) deathmatchEnabled = false; ShowMessage(); ShowSettingsMenu(); @@ -89,20 +89,17 @@ private func ShowSettingsMenu(bool preselect, int selectedSetting) var menuItemIndex = 0; // Deathmatch entry - if (mode != MODE_SuddenDeath) - { - AddOptionMenuItem(GetName(0, DTHM), deathmatchEnabled, "SelectSetting(SETTING_Deathmatch)", DTHM); - CheckPreselect(preselect && selectedSetting == SETTING_Deathmatch, menuItemIndex++); - } - + AddOptionMenuItem(GetName(0, DTHM), deathmatchEnabled, "SelectSetting(SETTING_Deathmatch)", DTHM); + CheckPreselect(preselect && selectedSetting == SETTING_Deathmatch, menuItemIndex++); + + // Sudden Death entry + AddOptionMenuItem(GetName(0, SDDT), suddendeathEnabled, "SelectSetting(SETTING_SuddenDeath)", SDDT); + CheckPreselect(preselect && selectedSetting == SETTING_SuddenDeath, menuItemIndex++); + // Extinguisher entry AddOptionMenuItem(GetName(0, _ETG), extinguisherEnabled, "SelectSetting(SETTING_Extinguisher)", _ETG); CheckPreselect(preselect && selectedSetting == SETTING_Extinguisher, menuItemIndex++); - - // "Friendly Pushing" entry - AddOptionMenuItem(GetName(0, FYPG), friendlyPushingEnabled, "SelectSetting(SETTING_FriendlyPushing)", FYPG); - CheckPreselect(preselect && selectedSetting == SETTING_FriendlyPushing, menuItemIndex++); - + // "Turn in jump" entry AddOptionMenuItem(GetName(0, RIJP), rotateInJumpEnabled, "SelectSetting(SETTING_RotateInJump)", RIJP); CheckPreselect(preselect && selectedSetting == SETTING_RotateInJump, menuItemIndex++); @@ -113,22 +110,22 @@ private func ShowSettingsMenu(bool preselect, int selectedSetting) if (!deathmatchEnabled) { - clonk->AddMenuItem("$Relaunches$ +", "SelectSetting(SETTING_RelaunchesInc)", SKUL); + clonk->AddMenuItem("$Relaunches$ +", "SelectSetting(SETTING_RelaunchesInc)", SREL); CheckPreselect(preselect && selectedSetting == SETTING_RelaunchesInc, menuItemIndex++); - clonk->AddMenuItem("$Relaunches$ -", "SelectSetting(SETTING_RelaunchesDec)", SKUL); + clonk->AddMenuItem("$Relaunches$ -", "SelectSetting(SETTING_RelaunchesDec)", SREL); CheckPreselect(preselect && selectedSetting == SETTING_RelaunchesDec, menuItemIndex++); } else { - clonk->AddMenuItem("$Kills$ +", "SelectSetting(SETTING_DeathmatchScoreInc)", SWOR); + clonk->AddMenuItem("$Kills$ +", "SelectSetting(SETTING_DeathmatchScoreInc)", SKIL); CheckPreselect(preselect && selectedSetting == SETTING_DeathmatchScoreInc, menuItemIndex++); - clonk->AddMenuItem("$Kills$ -", "SelectSetting(SETTING_DeathmatchScoreDec)", SWOR); + clonk->AddMenuItem("$Kills$ -", "SelectSetting(SETTING_DeathmatchScoreDec)", SKIL); CheckPreselect(preselect && selectedSetting == SETTING_DeathmatchScoreDec, menuItemIndex++); } - clonk->AddMenuItem("$Done$", "SetupDone()", GOLD); + clonk->AddMenuItem("$Done$", "SetupDone()", SDNE); CheckPreselect(!preselect, menuItemIndex++); - clonk->AddMenuItem("$Back$", "ShowModeMenu()", ROCK); + clonk->AddMenuItem("$Back$", "ShowModeMenu()", SBCK); } private func SelectSetting(int selectedSetting) @@ -137,13 +134,13 @@ private func SelectSetting(int selectedSetting) { deathmatchEnabled = !deathmatchEnabled; } - else if (selectedSetting == SETTING_Extinguisher) + else if (selectedSetting == SETTING_SuddenDeath) { - extinguisherEnabled = !extinguisherEnabled; + suddendeathEnabled = !suddendeathEnabled; } - else if (selectedSetting == SETTING_FriendlyPushing) + else if (selectedSetting == SETTING_Extinguisher) { - friendlyPushingEnabled = !friendlyPushingEnabled; + extinguisherEnabled = !extinguisherEnabled; } else if (selectedSetting == SETTING_RotateInJump) { @@ -212,7 +209,7 @@ private func ShowMessage() { Message("@%s", 0, GetMessage()); } private func GetMessage() { - var msgSection = Format("$Landscape$: %s", GetName(0, section)); + var msgSection = Format("$Landscape$: {{%i}} %s", section, GetName(0, section)); var msgMode; for (var m in Modes) @@ -227,17 +224,17 @@ private func GetMessage() var msgWinScore; if (!deathmatchEnabled) { - msgWinScore = Format("{{SKUL}} $Relaunches$: %d", numRelaunches); + msgWinScore = Format("{{SREL}} $Relaunches$: %d", numRelaunches); } else { - msgWinScore = Format("{{SWOR}} %s: %d $Kills$", GetName(0, DTHM), deathmatchWinScore); + msgWinScore = Format("{{SKIL}} %s: %d $Kills$", GetName(0, DTHM), deathmatchWinScore); } var msgExtinguisher = Format("{{_ETG}} %s: %s", GetName(0, _ETG), IIf(extinguisherEnabled, "$Enabled$", "$Disabled$")); - var msgFriendlyPushing = Format("{{FYPG}} %s: %s", GetName(0, FYPG), IIf(friendlyPushingEnabled, "$Enabled$", "$Disabled$")); + var msgSuddenDeath = Format("{{SDDT}} %s: %s", GetName(0, SDDT), IIf(suddendeathEnabled, "$Enabled$", "$Disabled$")); var msgRotateInJump = Format("{{RIJP}} %s: %s", GetName(0, RIJP), IIf(rotateInJumpEnabled, "$Enabled$", "$Disabled$")); var msgAmbience = Format("{{SABC}} $Ambience$: %s", IIf(ambienceEnabled, "$Enabled$", "$Disabled$")); - return Format("%s|%s|%s|%s|%s|%s|%s", msgSection, msgMode, msgWinScore, msgExtinguisher, msgFriendlyPushing, msgRotateInJump, msgAmbience); + return Format("%s|%s|%s|%s|%s|%s|%s", msgSection, msgMode, msgWinScore, msgExtinguisher, msgSuddenDeath, msgRotateInJump, msgAmbience); } \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblDE.txt b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblDE.txt index bd28a61..bca11b8 100644 --- a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblDE.txt +++ b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblDE.txt @@ -1,13 +1,13 @@ -ModeClassic=Klassisches Schubsen -ModeSuddenDeath=Sudden Death -ModeMagic=Magisches Schubsen -ModeApocalyptic=Apokalyptisches Schubsen +ModeClassic=Klassisch +ModeMagic=Magisch +ModeKnightly=Mittelalterlich +ModeApocalyptic=Apokalyptisch +ModeFestive=Winterlich Back=Zurück Done=Fertig Relaunches=Relaunches Kills=Kills -SectionClassic=Klassisch -Landscape=Landschaft +Landscape=Sektion Mode=Modus Enabled=Aktiviert Disabled=Deaktiviert diff --git a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblUS.txt b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblUS.txt index cd1f9c1..fc24d29 100644 --- a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblUS.txt +++ b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/StringTblUS.txt @@ -1,13 +1,13 @@ -ModeClassic=Classic Pushing -ModeSuddenDeath=Sudden Death -ModeMagic=Magical Pushing -ModeApocalyptic=Apocalyptical Pushing +ModeClassic=Classic +ModeMagic=Magical +ModeKnightly=Medieval +ModeApocalyptic=Apocalyptical +ModeFestive=Winterly Back=Back Done=Done Relaunches=Relaunches Kills=Kills -SectionClassic=Classic -Landscape=Landscape +Landscape=Section Mode=Mode Enabled=Enabled Disabled=Disabled diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/DefCore.txt new file mode 100644 index 0000000..a787540 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/DefCore.txt @@ -0,0 +1,6 @@ +[DefCore] +id=SBCK +Name=SymbolBack +Version=4,9,5 +Category=C4D_StaticBack +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Graphics.png new file mode 100644 index 0000000..6962715 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Names.txt new file mode 100644 index 0000000..dac0462 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Back.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Zurück +US:Back diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/DefCore.txt new file mode 100644 index 0000000..8be962d --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/DefCore.txt @@ -0,0 +1,6 @@ +[DefCore] +id=SDNE +Name=SymbolDone +Version=4,9,5 +Category=C4D_StaticBack +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Graphics.png new file mode 100644 index 0000000..6b1e72c Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Names.txt new file mode 100644 index 0000000..c269c1e --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Done.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Fertig +US:Done diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/DefCore.txt new file mode 100644 index 0000000..5d0200a --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/DefCore.txt @@ -0,0 +1,6 @@ +[DefCore] +id=SKIL +Name=SymbolForKill +Version=4,9,5 +Category=C4D_StaticBack +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Graphics.png new file mode 100644 index 0000000..ce75ea1 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Names.txt new file mode 100644 index 0000000..261742e --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Kill.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Relaunch +US:Relaunch diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/DefCore.txt new file mode 100644 index 0000000..de0a9a1 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/DefCore.txt @@ -0,0 +1,6 @@ +[DefCore] +id=SREL +Name=SymbolForRelaunch +Version=4,9,5 +Category=C4D_StaticBack +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Graphics.png new file mode 100644 index 0000000..70c091a Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Names.txt new file mode 100644 index 0000000..261742e --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Relaunch.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Relaunch +US:Relaunch diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/DefCore.txt new file mode 100644 index 0000000..8668e4b --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/DefCore.txt @@ -0,0 +1,8 @@ +[DefCore] +id=TMS1 +Version=4,9,8 +Name=TeamSymbols +Category=C4D_StaticBack +Width=1 +Height=1 +Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Graphics.png new file mode 100644 index 0000000..bcce561 Binary files /dev/null and b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Graphics.png differ diff --git a/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Names.txt new file mode 100644 index 0000000..cdbcf76 --- /dev/null +++ b/TemplePushing.c4s/Misc.c4d/Symbols.c4d/Teams.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Teamsymbole +US:Team Symbols \ No newline at end of file diff --git a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/DefCore.txt b/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/DefCore.txt deleted file mode 100644 index 8668e4b..0000000 --- a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/DefCore.txt +++ /dev/null @@ -1,8 +0,0 @@ -[DefCore] -id=TMS1 -Version=4,9,8 -Name=TeamSymbols -Category=C4D_StaticBack -Width=1 -Height=1 -Picture=0,0,64,64 diff --git a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Graphics.png b/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Graphics.png deleted file mode 100644 index bcce561..0000000 Binary files a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Graphics.png and /dev/null differ diff --git a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Names.txt b/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Names.txt deleted file mode 100644 index cdbcf76..0000000 --- a/TemplePushing.c4s/Misc.c4d/TeamSymbols.c4d/Names.txt +++ /dev/null @@ -1,2 +0,0 @@ -DE:Teamsymbole -US:Team Symbols \ No newline at end of file -- cgit v1.2.3-54-g00ecf