summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d
diff options
context:
space:
mode:
Diffstat (limited to 'TemplePushing.c4s/Rules.c4d/Extinguisher.c4d')
-rw-r--r--TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/ActMap.txt7
-rw-r--r--TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DefCore.txt10
-rw-r--r--TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Graphics.pngbin0 -> 6308 bytes
-rw-r--r--TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Script.c35
7 files changed, 56 insertions, 0 deletions
diff --git a/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/ActMap.txt b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/ActMap.txt
new file mode 100644
index 0000000..8a13109
--- /dev/null
+++ b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/ActMap.txt
@@ -0,0 +1,7 @@
+[Action]
+Name=IsOnFire
+Delay=1
+Length=1
+FacetBase=1
+NextAction=IsOnFire
+EndCall=DoExtinguish \ No newline at end of file
diff --git a/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DefCore.txt b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DefCore.txt
new file mode 100644
index 0000000..626702c
--- /dev/null
+++ b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DefCore.txt
@@ -0,0 +1,10 @@
+[DefCore]
+id=_ETG
+Version=4,9,8
+Name=Extinguisher
+Category=C4D_StaticBack|C4D_Rule
+Timer=5
+TimerCall=Check
+Width=1
+Height=1
+Picture=0,0,64,64
diff --git a/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DescDE.txt b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DescDE.txt
new file mode 100644
index 0000000..f8cae0d
--- /dev/null
+++ b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DescDE.txt
@@ -0,0 +1 @@
+Sorgt dafür, dass brennende Objekte nach einiger Zeit gelöscht werden. \ No newline at end of file
diff --git a/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DescUS.txt b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DescUS.txt
new file mode 100644
index 0000000..0c93c3f
--- /dev/null
+++ b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/DescUS.txt
@@ -0,0 +1 @@
+Extinguishes burning objects after a while. \ No newline at end of file
diff --git a/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Graphics.png b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Graphics.png
new file mode 100644
index 0000000..6b89fed
--- /dev/null
+++ b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Graphics.png
Binary files differ
diff --git a/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Names.txt b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Names.txt
new file mode 100644
index 0000000..2466655
--- /dev/null
+++ b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Names.txt
@@ -0,0 +1,2 @@
+DE:Löscher
+US:Extinguisher
diff --git a/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Script.c b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Script.c
new file mode 100644
index 0000000..b776159
--- /dev/null
+++ b/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Script.c
@@ -0,0 +1,35 @@
+/*-- Extinguisher --*/
+
+#strict 2
+
+private func Check()
+{
+ if (!ActIdle()) return;
+ for (var obj in FindObjects(Find_OCF(OCF_OnFire)))
+ {
+ if (!FindObject2(Find_ID(GetID()), Find_Action("IsOnFire"), Find_ActionTarget(obj), Find_OCF(OCF_Alive)))
+ {
+ var extinguisher = CreateObject(GetID(), 0, 0, NO_OWNER);
+ extinguisher->SetAction("IsOnFire", obj);
+ }
+ }
+}
+
+private func DoExtinguish()
+{
+ var target = GetActionTarget();
+ if (!target || !target->GetAlive())
+ {
+ RemoveObject();
+ return;
+ }
+
+ if (GetActTime() > 200)
+ {
+ target->Extinguish();
+ RemoveObject();
+ return;
+ }
+}
+
+protected func Activate(int player) { MessageWindow(GetDesc(), player); }