diff options
| -rw-r--r-- | TemplePushing.c4s/System.c4g/Curses.c | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/TemplePushing.c4s/System.c4g/Curses.c b/TemplePushing.c4s/System.c4g/Curses.c index 27f0e9e..07ae7e6 100644 --- a/TemplePushing.c4s/System.c4g/Curses.c +++ b/TemplePushing.c4s/System.c4g/Curses.c @@ -7,23 +7,22 @@ public func Activate(pCaster,pRealcaster) { - var pClonk=pRealcaster; - if(!pClonk) pClonk=pCaster; - if (!pClonk) return(1); - - pCasterClonk = pClonk; // Caster speichern, damit es sich unter keinen Umständen selber wählen kann - // Auswählen wenn möglich - if (pClonk->~DoSpellSelect(this(), 300, pCaster)) return(1); - - var pTarget; - // Clonk kann nicht auswählen: nächsten Gegner verfluchen - while(pTarget=FindObject(0,-300,-300,150,150,OCF_CrewMember,0,0,NoContainer(),pTarget)) - if(SelectorTarget(pTarget)) - return(ActivateTarget(pTarget)); - - // ansonsten geht nich - RemoveObject(); - return(0); + var pClonk=pRealcaster; + if (!pClonk) pClonk = pCaster; + if (!pClonk) return 1; + + pCasterClonk = pClonk; // Caster speichern, damit es sich unter keinen Umständen selber wählen kann + // Auswählen wenn möglich + if (pClonk->~DoSpellSelect(this, 300, pCaster)) return 1; + + // Clonk kann nicht auswählen: nächsten Gegner verfluchen + for (var pTarget in FindObjects(Find_OCF(OCF_CrewMember), Find_Distance(300), Find_NoContainer(), Find_Exclude(pClonk))) + if (SelectorTarget(pTarget)) + return ActivateTarget(pClonk, pTarget); + + // ansonsten geht nich + RemoveObject(); + return 0; } public func ActivateTarget(object pCaller, object pTarget) |
