summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/System.c4g/Curses.c
diff options
context:
space:
mode:
Diffstat (limited to 'TemplePushing.c4s/System.c4g/Curses.c')
-rw-r--r--TemplePushing.c4s/System.c4g/Curses.c33
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)