diff options
Diffstat (limited to 'TemplePushing.c4s/System.c4g/Curses.c')
| -rw-r--r-- | TemplePushing.c4s/System.c4g/Curses.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/TemplePushing.c4s/System.c4g/Curses.c b/TemplePushing.c4s/System.c4g/Curses.c new file mode 100644 index 0000000..7a1e86f --- /dev/null +++ b/TemplePushing.c4s/System.c4g/Curses.c @@ -0,0 +1,30 @@ +/*-- Prevent Curse Scrolls from vanishing --*/ + +#strict 2 + +#appendto CAHE + +local pCasterClonk; + +public func Activate(pCaster,pRealcaster) +{ + var pClonk; + if(pRealcaster) pClonk=pRealcaster; + else pClonk=pCaster; + + 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)) 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 + var iResult; + if (iResult = CheckEffect("*Curse*", 0, 125)) return(iResult!=-1 && RemoveObject()); + + return(0); +} |
