diff options
Diffstat (limited to 'TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Script.c')
| -rw-r--r-- | TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Script.c | 35 |
1 files changed, 35 insertions, 0 deletions
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); } |
