From 6573021f13f21f11a981439bdf2dc8070f25b68c Mon Sep 17 00:00:00 2001 From: Mittendrein Markus Date: Sun, 14 Feb 2016 23:04:19 +0100 Subject: Show selector for deflection and stoneshield, but only if targets are available --- .../AdditionalSpells.c4d/Deflection.c4d/Script.c | 4 ++- TemplePushing.c4s/System.c4g/Stoneshield.c | 30 ++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 TemplePushing.c4s/System.c4g/Stoneshield.c (limited to 'TemplePushing.c4s') diff --git a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Deflection.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Deflection.c4d/Script.c index e1740ff..fcaac0d 100644 --- a/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Deflection.c4d/Script.c +++ b/TemplePushing.c4s/Misc.c4d/AdditionalSpells.c4d/Deflection.c4d/Script.c @@ -8,7 +8,9 @@ func Activate(pCaster,pRealcaster) if(!pClonk) pClonk=pCaster; // Auswählen wenn möglich - if (pCaster->~DoSpellSelect(this,300)) return 1; + var selector; + if ((selector = pClonk->~DoSpellSelect(this,300,pCaster)) && selector->CountTargets() > 1) return 1; + if (selector) RemoveObject(selector); // Clonk kann nicht auswählen: Clonk bekommst selbst ein Schild if (SelectorTarget(pClonk)) diff --git a/TemplePushing.c4s/System.c4g/Stoneshield.c b/TemplePushing.c4s/System.c4g/Stoneshield.c new file mode 100644 index 0000000..885b921 --- /dev/null +++ b/TemplePushing.c4s/System.c4g/Stoneshield.c @@ -0,0 +1,30 @@ +/*-- Show selector, but only if targets are available --*/ +#strict 2 +#appendto MSSH + +func Activate(pCaster,pRealcaster) +{ + var pClonk=pRealcaster; + if(!pClonk) pClonk=pCaster; + + var pCombo; + // Stein verlängert die Wirkungsdauer + if (pCombo = FindContents(ROCK, pCaster)) + { + fRock = true; + RemoveObject(pCombo); + } + + // Auswählen wenn möglich + var selector; + if ((selector = pClonk->~DoSpellSelect(this,300,pCaster)) && (selector->CountTargets() > 1 || !SelectorTarget(pClonk))) return 1; + if (selector) RemoveObject(selector); + + // Clonk kann nicht auswählen: Clonk bekommst selbst ein Schild + if (SelectorTarget(pClonk)) + return(ActivateTarget(pClonk, pClonk)); + + // ansonsten geth nich + RemoveObject(); + return(0); +} -- cgit v1.2.3-54-g00ecf