summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d
diff options
context:
space:
mode:
Diffstat (limited to 'TemplePushing.c4s/CliffPushing.c4d/Rules.c4d')
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DefCore.txt9
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Graphics.pngbin0 -> 6847 bytes
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Script.c7
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DefCore.txt9
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Graphics.pngbin0 -> 7358 bytes
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Script.c7
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DefCore.txt9
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Graphics.pngbin0 -> 6841 bytes
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Script.c5
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DefCore.txt9
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Graphics.pngbin0 -> 10487 bytes
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/ActMap.txt4
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DefCore.txt12
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Graphics.pngbin0 -> 206 bytes
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Script.c177
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DefCore.txt8
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Graphics.pngbin0 -> 9715 bytes
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Script.c29
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DefCore.txt9
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Graphics.pngbin0 -> 10487 bytes
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DefCore.txt8
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Graphics.pngbin0 -> 9715 bytes
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Script.c21
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DefCore.txt9
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Graphics.pngbin0 -> 5838 bytes
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Script.c28
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/ActMap.txt4
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DefCore.txt12
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Graphics.pngbin0 -> 206 bytes
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Script.c177
-rw-r--r--TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Title.txt2
61 files changed, 593 insertions, 0 deletions
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DefCore.txt
new file mode 100644
index 0000000..0342fe5
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DefCore.txt
@@ -0,0 +1,9 @@
+[DefCore]
+id=FRRN
+Version=4,9,8
+Name=Armageddon
+Category=C4D_StaticBack|C4D_Rule
+MaxUserSelect=1
+Width=1
+Height=1
+Picture=0,0,64,64
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescDE.txt
new file mode 100644
index 0000000..ecf7b67
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescDE.txt
@@ -0,0 +1 @@
+Lässt es Feuer regnen und sichert den Nachschub an Terra-Flints. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescUS.txt
new file mode 100644
index 0000000..98c639e
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/DescUS.txt
@@ -0,0 +1 @@
+Let fire rains and creates flints in the inventory of each clonk. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Graphics.png
new file mode 100644
index 0000000..30e20a2
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Script.c
new file mode 100644
index 0000000..e037351
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Armageddon.c4d/Script.c
@@ -0,0 +1,7 @@
+/*-- Feuerregen --*/
+
+#strict
+
+protected func Activate(iPlr) {
+ MessageWindow(GetDesc(),iPlr);
+}
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DefCore.txt
new file mode 100644
index 0000000..ed84dcf
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DefCore.txt
@@ -0,0 +1,9 @@
+[DefCore]
+id=DTHM
+Version=4,9,8
+Name=Deathmatch
+Category=C4D_StaticBack|C4D_Rule
+MaxUserSelect=1
+Width=1
+Height=1
+Picture=0,0,64,64
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescDE.txt
new file mode 100644
index 0000000..70921c2
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescDE.txt
@@ -0,0 +1 @@
+Jeder Spieler muss versuchen 10 Gegner zu töten, damit sein Team gewinnt. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescUS.txt
new file mode 100644
index 0000000..c1eba93
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/DescUS.txt
@@ -0,0 +1 @@
+That player wich kills 10 enemys wins the game. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Graphics.png
new file mode 100644
index 0000000..2bfe0a4
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Script.c
new file mode 100644
index 0000000..cbb211d
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Deathmatch.c4d/Script.c
@@ -0,0 +1,7 @@
+/*-- Deathmatch --*/
+
+#strict
+
+protected func Activate(iPlr) {
+ MessageWindow(GetDesc(),iPlr);
+}
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescDE.txt
new file mode 100644
index 0000000..bf4504d
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescDE.txt
@@ -0,0 +1 @@
+Regelobjekte bestimmen den Spielablauf und bieten in Einzelfällen Sonderoptionen. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescUS.txt
new file mode 100644
index 0000000..022d0bf
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/DescUS.txt
@@ -0,0 +1 @@
+Rule objects affect general game play and in some cases offer special options. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DefCore.txt
new file mode 100644
index 0000000..1ddf7c5
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DefCore.txt
@@ -0,0 +1,9 @@
+[DefCore]
+id=FYPG
+Version=4,9,8
+Name=Friendly Pushing
+Category=C4D_StaticBack|C4D_Rule
+MaxUserSelect=1
+Width=1
+Height=1
+Picture=0,0,64,64
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescDE.txt
new file mode 100644
index 0000000..729840e
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescDE.txt
@@ -0,0 +1 @@
+Clonks können befreundete Spieler schubsen \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescUS.txt
new file mode 100644
index 0000000..6b5d08d
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/DescUS.txt
@@ -0,0 +1 @@
+Clonks can push allied players. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Graphics.png
new file mode 100644
index 0000000..d97f792
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Names.txt
new file mode 100644
index 0000000..34d3e41
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Teamschubsen
+US:Friendly Pushing \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Script.c
new file mode 100644
index 0000000..fb43957
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/FriendlyPushing.c4d/Script.c
@@ -0,0 +1,5 @@
+/*-- Friendly Pushing --*/
+
+#strict
+
+protected func Activate(int plr) { MessageWindow(GetDesc(), plr); }
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DefCore.txt
new file mode 100644
index 0000000..f57caf8
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DefCore.txt
@@ -0,0 +1,9 @@
+[DefCore]
+id=MSPW
+Version=4,9,8
+Name=MagicSpawnpoints
+Category=C4D_StaticBack|C4D_Rule
+MaxUserSelect=1
+Width=1
+Height=1
+Picture=0,0,64,64
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescDE.txt
new file mode 100644
index 0000000..4370091
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescDE.txt
@@ -0,0 +1 @@
+Im Spiel finden sich Spawnpoints, die als sicherer Nachschub an Schriftrollen dienen. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescUS.txt
new file mode 100644
index 0000000..f1ebe61
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/DescUS.txt
@@ -0,0 +1 @@
+Creates some spawnpoints in the game wich are creating scrolls. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Graphics.png
new file mode 100644
index 0000000..351d65c
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/ActMap.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/ActMap.txt
new file mode 100644
index 0000000..f29cad6
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/ActMap.txt
@@ -0,0 +1,4 @@
+[Action]
+Name=Invis
+Facet=10,0,10,10
+NextAction=Hold
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DefCore.txt
new file mode 100644
index 0000000..8016aaa
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DefCore.txt
@@ -0,0 +1,12 @@
+[DefCore]
+id=MSPN
+Name=MagicSpawnpoint
+Version=4,9,5
+Category=25165825
+Width=10
+Height=10
+Offset=-5,-5
+Picture=0,0,10,10
+Timer=5
+TimerCall=Timer
+Collectible=1 \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescDE.txt
new file mode 100644
index 0000000..9124f18
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescDE.txt
@@ -0,0 +1 @@
+Lässt Schriftrollen als Nachschub erscheinen. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescUS.txt
new file mode 100644
index 0000000..ea35e3e
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/DescUS.txt
@@ -0,0 +1 @@
+Spawns scrolls. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Graphics.png
new file mode 100644
index 0000000..c5f3687
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Names.txt
new file mode 100644
index 0000000..a0ef292
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Magischer Spawnpunkt
+US:Magic Spawnpoint \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Script.c
new file mode 100644
index 0000000..4466a3a
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicSpawnpoint.c4d/Script.c
@@ -0,0 +1,177 @@
+/*-- Magic Spawnpoint --*/
+
+#strict
+
+local initialized, angle, player, spawntimer,WpID;
+
+func IsWaypoint() { return(1); }
+
+global func PlaceSpawnpoint(id idObj, int iX, int iY, int timer)
+{
+ var spwn = CreateObject(MSPN, iX, iY, -1);
+ spwn->CreateContents(idObj);
+ if(timer)
+ spwn->LocalN("spawntimer") = timer;
+ return(spwn);
+}
+
+protected func Initialize()
+{
+ if(Random(14)) WpID=SCRL;
+ else WpID=OGBT;
+ // Standardtimer = 1000 Frames
+ spawntimer = 1000;
+ SetClrModulation(RGBa(0,0,0,255));
+}
+
+protected func Timer()
+{
+ if(!player) player = CreateArray();
+ // Noch nicht initialisiert?
+ if(!initialized)
+ // Ein Inhaltsobjekt?
+ if(Contents())
+ // Initialisieren
+ return(Initialized());
+ // Kein Inhalt?
+ if(!Contents())
+ {
+ return(CreateContents(WpID));
+ }
+ // Tolle Effekt starten
+ angle += 10;
+ if(angle >= 360) angle = 0;
+ SetObjDrawTransform(1000, 0,0,0, 1000, Sin(angle, 8)*1000 - 2000,0, 1);
+ if(Random(2)) CreateParticle("NoGravSpark", RandomX(-5,5), RandomX(5,10), 0, -5, 25, RGBa(210, 210, 255, 100));
+ // Alle Timer runterzählen
+ DecreaseTimer();
+}
+
+private func Initialized()
+{
+ // Unsichtbar werden
+ SetAction("Invis");
+ // Objekt als Layer auflegen
+ SetGraphics(0, 0, GetID(Contents()), 1, 1);
+ // Transformation
+ SetObjDrawTransform(1000, 0,0,0, 1000, -5000,0, 1);
+ // Sammeleffekt starten
+// AddEffect("Collect", this(), 1, 3, this());
+ // Objekt(e) erzeugen
+ // Waffen-Bleiben-Regel
+//player = CreateArray();
+ // Initialisiert
+ initialized = true;
+}
+
+/* Timer runterzählen */
+
+private func DecreaseTimer()
+{
+ // Waffen-Bleiben-Regel
+ if(FindObject(WPST))
+ {
+ for(var i=0 ; i < GetPlayerCount() ; i++)
+ // Spielertimer runterzählen
+ {
+ if(player[GetPlayerByIndex(i)])
+ player[GetPlayerByIndex(i)] -= 5;
+ if(player[GetPlayerByIndex(i)] <= 0 && !(Local() & 2**GetPlayerByIndex(i)))
+ {
+ // Spieler kann das Objekt wieder einsammeln
+ player[GetPlayerByIndex(i)] = 0;
+ Local() += 2**GetPlayerByIndex(i);
+ }
+ }
+ }
+ else
+ {
+ // Timer runterzählen
+ player[0] -= 5;
+ if(player[0] <= 0)
+ {
+ // Objekt ist wieder da
+ player[0] = 0;
+ Local() = true;
+ SetVisibility(VIS_All());
+ }
+ }
+}
+
+/* Einsammel-Effekte */
+/*
+public func FxCollectTimer()
+{
+ // Ist ein Clonk hier? -> Einsammeln lassen
+ var pObj;
+ for(var pClonk in FindObjects(Find_AtPoint(), Find_OCF(OCF_CrewMember()), Find_OCF(OCF_CrewMember()), Find_NoContainer()))
+ if(CheckCollect(GetOwner(pClonk)))
+ {
+ pObj = FindContents();
+ // Kann der Clonk einsammeln?
+ Collect(pObj, pClonk);
+ if(Contained(pObj) == this()) RemoveObject(pObj);
+ else
+ {
+ Sound("Grab", 0, pClonk, 0, GetOwner(pClonk)+1);
+ Collected(GetOwner(pClonk));
+ }
+ }
+}*/
+
+public func RejectEntrance(object pClonk)
+{
+ // Objekt ist ein Clonk?
+ if(!(GetOCF(pClonk) & OCF_CrewMember) && !(pClonk->~CanCollectFromSpawnpoints())) return(1);
+ // Ich hab Contents?
+ if(!Contents()) return(1);
+ // Darf einsammeln
+ if(CheckCollect(GetOwner(pClonk)))
+ {
+ var pObj = Contents();
+ // Kann der Clonk einsammeln?
+ if(ObjectCount(0, 0, 0, 0, 0, 0, 0, 0, pClonk) >= 1)
+ return(1);
+
+ Collect(pObj, pClonk);
+ CreateContents(WpID);
+ Initialized();
+ if(Contained(pObj) == this()) RemoveObject(pObj);
+ else
+ {
+ Sound("Grab", 0, pClonk, 0, GetOwner(pClonk)+1);
+ Collected(GetOwner(pClonk));
+ }
+ }
+ return(1);
+}
+
+private func CheckCollect(int iPlr) // Überprüft, ob ein Spieler das Objekt einsammeln darf
+{
+ // Waffen-Bleiben-Regel
+ if(FindObject(WPST))
+ return(Local() & 2**iPlr);
+ else
+ return(Local());
+}
+
+private func Collected(int iPlr) // Regelt, dass ein Spieler das Objekt einsammelt
+{
+ // Waffen-Bleiben-Regel
+ if(FindObject(WPST))
+ {
+ // Spielertimer hochsetzen
+ player[iPlr] = spawntimer;
+ // Nicht mehr sichtbar für den Spieler
+ Local() -= 2**iPlr;
+ }
+ else
+ {
+ // Timer hochsetzen
+ player[0] = spawntimer;
+ // Nicht mehr einsammelbar
+ Local() = false;
+ // Nicht mehr sichtbar
+ SetVisibility(VIS_God());
+ }
+}
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DefCore.txt
new file mode 100644
index 0000000..f7f528c
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DefCore.txt
@@ -0,0 +1,8 @@
+[DefCore]
+id=SMGC
+Version=4,9,8
+Name=SymbolMagic
+Category=C4D_StaticBack
+Width=1
+Height=1
+Picture=0,0,64,64
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescDE.txt
new file mode 100644
index 0000000..e8257be
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescDE.txt
@@ -0,0 +1 @@
+Anstatt Gegenständen erscheinen nur Schriftrollen \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescUS.txt
new file mode 100644
index 0000000..f2b1ba6
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/DescUS.txt
@@ -0,0 +1 @@
+Instead of objects spawnpoints contents just scrolls \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Graphics.png
new file mode 100644
index 0000000..0fa62b6
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Names.txt
new file mode 100644
index 0000000..8e9cb1f
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/MagicalPushing.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Magisches Schubsen
+US:Magical Push
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Names.txt
new file mode 100644
index 0000000..9d875f8
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Magischer Spawnpunktspawner
+US:Magic Spawnpoint Spawner
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Script.c
new file mode 100644
index 0000000..d1e7b39
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/MagicSpawnpoints.c4d/Script.c
@@ -0,0 +1,29 @@
+/*-- Magische Spawnpoints --*/
+
+#strict
+
+protected func Activate(iPlr) {
+ MessageWindow(GetDesc(),iPlr);
+}
+
+func Initialize()
+{
+ SetGamma(RGB(5,5,10),RGB(80,80,150),RGB(200,200,255));
+ RemoveAll(SPNP);
+ CreateObject(MSPN,550,282);
+ CreateObject(MSPN,603,205);
+ CreateObject(MSPN,682,282);
+ CreateObject(MSPN,784,227);
+ CreateObject(MSPN,912,168);
+ CreateObject(MSPN,1040,120);
+ CreateObject(MSPN,651,449);
+ CreateObject(MSPN,432,438);
+ CreateObject(MSPN,170,118);
+ CreateObject(MSPN,299,170);
+ CreateObject(MSPN,435,230);
+ CreateObject(MSPN,1175,290);
+ CreateObject(MSPN,105,380);
+ CreateObject(MSPN,910,400);
+ CreateObject(MSPN,560,610);
+ return(1);
+} \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DefCore.txt
new file mode 100644
index 0000000..4515779
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DefCore.txt
@@ -0,0 +1,9 @@
+[DefCore]
+id=JSTS
+Version=4,9,8
+Name=JustScrolls
+Category=C4D_StaticBack|C4D_Rule
+MaxUserSelect=1
+Width=1
+Height=1
+Picture=0,0,64,64
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescDE.txt
new file mode 100644
index 0000000..96cfed2
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescDE.txt
@@ -0,0 +1 @@
+In den Spawnpoints erscheinen nur Schriftrollen. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescUS.txt
new file mode 100644
index 0000000..4fb171e
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/DescUS.txt
@@ -0,0 +1 @@
+Spawnpoints contents just magic scrolls. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Graphics.png
new file mode 100644
index 0000000..351d65c
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DefCore.txt
new file mode 100644
index 0000000..f7f528c
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DefCore.txt
@@ -0,0 +1,8 @@
+[DefCore]
+id=SMGC
+Version=4,9,8
+Name=SymbolMagic
+Category=C4D_StaticBack
+Width=1
+Height=1
+Picture=0,0,64,64
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescDE.txt
new file mode 100644
index 0000000..e8257be
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescDE.txt
@@ -0,0 +1 @@
+Anstatt Gegenständen erscheinen nur Schriftrollen \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescUS.txt
new file mode 100644
index 0000000..f2b1ba6
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/DescUS.txt
@@ -0,0 +1 @@
+Instead of objects spawnpoints contents just scrolls \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Graphics.png
new file mode 100644
index 0000000..0fa62b6
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Names.txt
new file mode 100644
index 0000000..8e9cb1f
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/MagicalPushing.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Magisches Schubsen
+US:Magical Push
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Names.txt
new file mode 100644
index 0000000..ac705b1
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Nur Schriftrollen
+US:Only scrolls \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Script.c
new file mode 100644
index 0000000..43af0ec
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/OnlyScrolls.c4d/Script.c
@@ -0,0 +1,21 @@
+/*-- Nur Schriftrollen --*/
+
+#strict
+
+protected func Activate(iPlr) {
+ MessageWindow(GetDesc(),iPlr);
+}
+
+func Initialize()
+{
+SetGamma(RGB(5,5,10),RGB(80,80,150),RGB(200,200,255));
+ var pObj;
+ if (!FindObject(SPNP)) SPWN->Initialize();
+ while (pObj = FindObject(SPNP,0,0,0,0,0,0,0,0,pObj))
+ {
+ pObj->Initialize();
+ RemoveObject(FindContents(0,pObj));
+ CreateContents(SCRL,pObj);
+ }
+return(10);
+}
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DefCore.txt
new file mode 100644
index 0000000..41af2f9
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DefCore.txt
@@ -0,0 +1,9 @@
+[DefCore]
+id=SPWN
+Version=4,9,8
+Name=Spawnpoint Spawner
+Category=C4D_StaticBack|C4D_Rule
+MaxUserSelect=1
+Width=1
+Height=1
+Picture=0,0,64,64
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescDE.txt
new file mode 100644
index 0000000..3c5c1ff
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescDE.txt
@@ -0,0 +1 @@
+Im Spiel finden sich Spawnpoints, die als sicherer Nachschub an Waffen und Tränken dienen. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescUS.txt
new file mode 100644
index 0000000..7a978dc
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/DescUS.txt
@@ -0,0 +1 @@
+Creates some spawnpoints in the game wich are creating weapons and potions. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Graphics.png
new file mode 100644
index 0000000..1543a79
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Names.txt
new file mode 100644
index 0000000..86138a6
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Spawnpointspawner
+US:Spawnpoint Spawner
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Script.c
new file mode 100644
index 0000000..a762af8
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Script.c
@@ -0,0 +1,28 @@
+/*-- Spawnpoints --*/
+
+#strict
+
+protected func Activate(iPlr) {
+ MessageWindow(GetDesc(),iPlr);
+}
+
+func Initialize()
+{
+ RemoveAll(MSPN);
+ CreateObject(SPNP,550,282);
+ CreateObject(SPNP,603,205);
+ CreateObject(SPNP,682,282);
+ CreateObject(SPNP,784,227);
+ CreateObject(SPNP,912,168);
+ CreateObject(SPNP,1040,120);
+ CreateObject(SPNP,651,449);
+ CreateObject(SPNP,432,438);
+ CreateObject(SPNP,170,118);
+ CreateObject(SPNP,299,170);
+ CreateObject(SPNP,435,230);
+ CreateObject(SPNP,1175,290);
+ CreateObject(SPNP,105,380);
+ CreateObject(SPNP,910,400);
+ CreateObject(SPNP,560,610);
+ return(1);
+} \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/ActMap.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/ActMap.txt
new file mode 100644
index 0000000..f29cad6
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/ActMap.txt
@@ -0,0 +1,4 @@
+[Action]
+Name=Invis
+Facet=10,0,10,10
+NextAction=Hold
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DefCore.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DefCore.txt
new file mode 100644
index 0000000..d95cd88
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DefCore.txt
@@ -0,0 +1,12 @@
+[DefCore]
+id=SPNP
+Name=Spawnpoint
+Version=4,9,5
+Category=25165825
+Width=10
+Height=10
+Offset=-5,-5
+Picture=0,0,10,10
+Timer=5
+TimerCall=Timer
+Collectible=1 \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescDE.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescDE.txt
new file mode 100644
index 0000000..b469ce9
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescDE.txt
@@ -0,0 +1 @@
+Lässt Gegenstände als Nachschub erscheinen. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescUS.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescUS.txt
new file mode 100644
index 0000000..3308b95
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/DescUS.txt
@@ -0,0 +1 @@
+Spawns objects. \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Graphics.png b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Graphics.png
new file mode 100644
index 0000000..c5f3687
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Names.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Names.txt
new file mode 100644
index 0000000..c6a1143
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Spawnpunkt
+US:Spawnpoint \ No newline at end of file
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Script.c b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Script.c
new file mode 100644
index 0000000..6172d25
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Spawnpoints.c4d/Spawnpoint.c4d/Script.c
@@ -0,0 +1,177 @@
+/*-- Spawnpoint --*/
+
+#strict
+
+local initialized, angle, player, spawntimer,WpID;
+
+func IsWaypoint() { return(1); }
+
+global func PlaceSpawnpoint(id idObj, int iX, int iY, int timer)
+{
+ var spwn = CreateObject(SPNP, iX, iY, -1);
+ spwn->CreateContents(idObj);
+ if(timer)
+ spwn->LocalN("spawntimer") = timer;
+ return(spwn);
+}
+
+protected func Initialize()
+{
+ if(Random(4)) WpID = [FLNT,SCRL,SFLN,ROCK];
+ else WpID = [EFLN,STFN,FBMP];
+ // Standardtimer = 750 Frames
+ spawntimer = 750;
+ SetClrModulation(RGBa(0,0,0,255));
+}
+
+protected func Timer()
+{
+ if(!player) player = CreateArray();
+ // Noch nicht initialisiert?
+ if(!initialized)
+ // Ein Inhaltsobjekt?
+ if(Contents())
+ // Initialisieren
+ return(Initialized());
+ // Kein Inhalt?
+ if(!Contents())
+ {
+ return(CreateContents(WpID[Random(GetLength(WpID))]));
+ }
+ // Tolle Effekt starten
+ angle += 10;
+ if(angle >= 360) angle = 0;
+ SetObjDrawTransform(1000, 0,0,0, 1000, Sin(angle, 8)*1000 - 2000,0, 1);
+ if(Random(2)) CreateParticle("NoGravSpark", RandomX(-5,5), RandomX(5,10), 0, -5, 25, RGBa(210, 210, 255, 100));
+ // Alle Timer runterzählen
+ DecreaseTimer();
+}
+
+private func Initialized()
+{
+ // Unsichtbar werden
+ SetAction("Invis");
+ // Objekt als Layer auflegen
+ SetGraphics(0, 0, GetID(Contents()), 1, 1);
+ // Transformation
+ SetObjDrawTransform(1000, 0,0,0, 1000, -5000,0, 1);
+ // Sammeleffekt starten
+// AddEffect("Collect", this(), 1, 3, this());
+ // Objekt(e) erzeugen
+ // Waffen-Bleiben-Regel
+//player = CreateArray();
+ // Initialisiert
+ initialized = true;
+}
+
+/* Timer runterzählen */
+
+private func DecreaseTimer()
+{
+ // Waffen-Bleiben-Regel
+ if(FindObject(WPST))
+ {
+ for(var i=0 ; i < GetPlayerCount() ; i++)
+ // Spielertimer runterzählen
+ {
+ if(player[GetPlayerByIndex(i)])
+ player[GetPlayerByIndex(i)] -= 5;
+ if(player[GetPlayerByIndex(i)] <= 0 && !(Local() & 2**GetPlayerByIndex(i)))
+ {
+ // Spieler kann das Objekt wieder einsammeln
+ player[GetPlayerByIndex(i)] = 0;
+ Local() += 2**GetPlayerByIndex(i);
+ }
+ }
+ }
+ else
+ {
+ // Timer runterzählen
+ player[0] -= 5;
+ if(player[0] <= 0)
+ {
+ // Objekt ist wieder da
+ player[0] = 0;
+ Local() = true;
+ SetVisibility(VIS_All());
+ }
+ }
+}
+
+/* Einsammel-Effekte */
+/*
+public func FxCollectTimer()
+{
+ // Ist ein Clonk hier? -> Einsammeln lassen
+ var pObj;
+ for(var pClonk in FindObjects(Find_AtPoint(), Find_OCF(OCF_CrewMember()), Find_OCF(OCF_CrewMember()), Find_NoContainer()))
+ if(CheckCollect(GetOwner(pClonk)))
+ {
+ pObj = FindContents();
+ // Kann der Clonk einsammeln?
+ Collect(pObj, pClonk);
+ if(Contained(pObj) == this()) RemoveObject(pObj);
+ else
+ {
+ Sound("Grab", 0, pClonk, 0, GetOwner(pClonk)+1);
+ Collected(GetOwner(pClonk));
+ }
+ }
+}*/
+
+public func RejectEntrance(object pClonk)
+{
+ // Objekt ist ein Clonk?
+ if(!(GetOCF(pClonk) & OCF_CrewMember) && !(pClonk->~CanCollectFromSpawnpoints())) return(1);
+ // Ich hab Contents?
+ if(!Contents()) return(1);
+ // Darf einsammeln
+ if(CheckCollect(GetOwner(pClonk)))
+ {
+ var pObj = Contents();
+ // Kann der Clonk einsammeln?
+ if(ObjectCount(0, 0, 0, 0, 0, 0, 0, 0, pClonk) >= 1)
+ return(1);
+
+ Collect(pObj, pClonk);
+ CreateContents(WpID[Random(GetLength(WpID))]);
+ Initialized();
+ if(Contained(pObj) == this()) RemoveObject(pObj);
+ else
+ {
+ Sound("Grab", 0, pClonk, 0, GetOwner(pClonk)+1);
+ Collected(GetOwner(pClonk));
+ }
+ }
+ return(1);
+}
+
+private func CheckCollect(int iPlr) // Überprüft, ob ein Spieler das Objekt einsammeln darf
+{
+ // Waffen-Bleiben-Regel
+ if(FindObject(WPST))
+ return(Local() & 2**iPlr);
+ else
+ return(Local());
+}
+
+private func Collected(int iPlr) // Regelt, dass ein Spieler das Objekt einsammelt
+{
+ // Waffen-Bleiben-Regel
+ if(FindObject(WPST))
+ {
+ // Spielertimer hochsetzen
+ player[iPlr] = spawntimer;
+ // Nicht mehr sichtbar für den Spieler
+ Local() -= 2**iPlr;
+ }
+ else
+ {
+ // Timer hochsetzen
+ player[0] = spawntimer;
+ // Nicht mehr einsammelbar
+ Local() = false;
+ // Nicht mehr sichtbar
+ SetVisibility(VIS_God());
+ }
+}
diff --git a/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Title.txt b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Title.txt
new file mode 100644
index 0000000..0cec1dc
--- /dev/null
+++ b/TemplePushing.c4s/CliffPushing.c4d/Rules.c4d/Title.txt
@@ -0,0 +1,2 @@
+DE:Regeln
+US:Rules