From f5a80c493dcefbc8f45987b8fd454d974f739cf7 Mon Sep 17 00:00:00 2001 From: Jan <> Date: Mon, 2 Feb 2015 17:05:03 +0100 Subject: TemplePushBeta.c4s --- TemplePushing.c4s/System.c4g/Clonk.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 TemplePushing.c4s/System.c4g/Clonk.c (limited to 'TemplePushing.c4s/System.c4g/Clonk.c') diff --git a/TemplePushing.c4s/System.c4g/Clonk.c b/TemplePushing.c4s/System.c4g/Clonk.c new file mode 100644 index 0000000..2308576 --- /dev/null +++ b/TemplePushing.c4s/System.c4g/Clonk.c @@ -0,0 +1,27 @@ +#strict 2 +#appendto CLNK + +protected func ControlSpecial() +{ + [$Push$|Image=CXIV] + + if (GetAction() != "Walk") return 0; + + // Use action "Throw" starting with phase 3 + SetAction("Throw"); + SetPhase(3); + + // Find clonks in range + var clonks = FindObjects( + Find_ID(CLNK), + Find_InRect(-10 + GetDir() * 20, 0, 10, 10), + Find_OCF(OCF_Alive), + // Only include allied players' clonks if "friendly pushing" rule is present + Find_Or(Find_Func(FindObject(FYPG)), Find_Hostile(GetOwner()))); + + if (GetLength(clonks) == 0) return 0; + + // Randomly select clonk to be pushed + Fling(clonks[Random(GetLength(clonks))], -1 + GetDir() * 2, -1); + return 1; +} -- cgit v1.2.3-54-g00ecf