summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/Rules.c4d/Extinguisher.c4d/Script.c
blob: b776159cf74adab1aaedc6b9e4c5f24a85506a6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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); }