notify_fail() ans Spielerobjekt durchreichen
Da der Rueckgabewert 0 in Spellbooks mehrdeutig ist, benutzen wir ein
neues #define NICHT_ZUSTAENDIG, um bei return aus dem Spellbook
mitzuteilen, dass die Spellfunktion sich nicht zustaendig fuehlt.
Die Spellbookfunktion sollte dafuer keine direkte Nachricht geschickt
aber eventuell ein notify_fail() gesetzt haben.
diff --git a/std/spellbook.c b/std/spellbook.c
index 24f824f..cda78bb 100644
--- a/std/spellbook.c
+++ b/std/spellbook.c
@@ -390,12 +390,12 @@
// Spruch ausfuehren.
res=(int)call_other(this_object(),fname,caster,ski);
}
- // TODO: Wenn die ausgefuehrte Spellfunktion eine 0 zurueckgibt, sollen jetzt
- // noch notify_fails zum Zuge kommen koennen. Daher in diesem Fall auch 0
- // zurueckgeben.
if (!res || !caster)
return 1;
+ if(res==NICHT_ZUSTAENDIG)
+ return 0;
+
if (!(ski[SI_NO_ATTACK_BUSY]&NO_ATTACK_BUSY_QUERY))
{
if (!ski[SI_ATTACK_BUSY_AMOUNT])