From e07fef401e91b26f8b0f43382017603ad20c2a3f Mon Sep 17 00:00:00 2001 From: Mittendrein Markus Date: Thu, 3 Mar 2016 23:31:53 +0100 Subject: Make clonks invincible for 50 frames after relaunch --- TemplePushing.c4s/Script.c | 2 ++ TemplePushing.c4s/System.c4g/FindObjectsLayer.c | 33 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 TemplePushing.c4s/System.c4g/FindObjectsLayer.c (limited to 'TemplePushing.c4s') diff --git a/TemplePushing.c4s/Script.c b/TemplePushing.c4s/Script.c index 54e1ec3..ac18165 100644 --- a/TemplePushing.c4s/Script.c +++ b/TemplePushing.c4s/Script.c @@ -607,6 +607,8 @@ func LaunchClonk(int player, object clonk, bool relaunch) clonk->SetCrewEnabled(false); clonk->SetCrewEnabled(true); clonk->Schedule("SelectCrew(GetOwner(), this, true)", 20); + clonk->SetObjectLayer(clonk); + clonk->Schedule("SetObjectLayer(0)", 50); } // Respawn effects diff --git a/TemplePushing.c4s/System.c4g/FindObjectsLayer.c b/TemplePushing.c4s/System.c4g/FindObjectsLayer.c new file mode 100644 index 0000000..178a7b7 --- /dev/null +++ b/TemplePushing.c4s/System.c4g/FindObjectsLayer.c @@ -0,0 +1,33 @@ +#strict 2 + +global func FindObjects() +{ + return _inherited(Find_And(Find_Layer(GetObjectLayer(this)), ...)); +} + +global func FindObject2() +{ + return _inherited(Find_And(Find_Layer(GetObjectLayer(this)), ...)); +} + +global func FindObject(a, b, c, d, e, f, g, h, i, object findNext) +{ + var ret = findNext, layer = GetObjectLayer(this); + for(;;) + { + ret = _inherited(a, b, c, d, e, f, g, h, i, ret); + if (GetObjectLayer(ret) == layer) return ret; + if (ret == 0) return 0; + } +} + +global func FindObjectOwner(a, b, c, d, e, f, g, h, i, object findNext) +{ + var ret = findNext, layer = GetObjectLayer(this); + for(;;) + { + ret = _inherited(a, b, c, d, e, f, g, h, i, ret); + if (GetObjectLayer(ret) == layer) return ret; + if (ret == 0) return 0; + } +} -- cgit v1.2.3-54-g00ecf