diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2019-01-07 20:45:24 +0100 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2019-01-23 23:50:09 +0100 |
| commit | 93226e98639dd95f7e4e3ed5637a671edd63e984 (patch) | |
| tree | 775f8eec6c7c1d4ea8036963e735d6e5f92e028a | |
| parent | 1b3cf52588f2a52ebed76f63716f588138f7cc1f (diff) | |
| download | tempelschubsen-93226e98639dd95f7e4e3ed5637a671edd63e984.tar.gz tempelschubsen-93226e98639dd95f7e4e3ed5637a671edd63e984.zip | |
Fix rare disappearing of curse scroll when activating without possible target
| -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) |
