Hmm, ich hab nen Item, bei dem unt i1 nicht geht, wenns an erster Stelle im
Inv ist. (Selbiges natuerlich mit unt i2 und zweiter Stelle ... ;-))
Das Besondere an dem Item ist nur, dass es die Long mittels einer Query
ueberschreibt.
Set(P_LONG, #'GetLong, F_QUERY_METHOD);
string GetLong()
{
debug_msg("sunrise", QueryProp(P_AMOUNT));
switch (QueryProp(P_AMOUNT))
{
case 1:
return "Ein gewoehnlicher Ginsterzweig. Wenn Du mehrere davon "
"haettest, koenntest Du einen einfachen Besen daraus machen.";
default:
return "Ganz gewoehnliche Ginsterzweige. Man kann ganz einfache "
"Besen aus ihnen binden.";
}
}
Die Funktion wird nicht aufgerufen.
/d/berge/sunrise/riesengebirge/obj/ginsterzweig.c
-._.-._S
Naja, das andere Besondere ist, dass es ein Unit ist. Und wenn ich den Code
in std/unit::id() richtig verstehe, koennen Units keine 'ix' Notation. Wenn
man das Inventar mittels 'inv -nr auflistet, wird fuer Geld auch keine Nummer
angezeigt, weil da im player/viewcmd.c ein Check auf IsMoney() drin ist. Da
der Ginsterzweig zwar ein Unit aber kein Geld ist, bekommt es bei der
Inventarliste eine Nummer, kann aber darueber nicht angesprochen werden.
Warum Units aber generell keine 'ix' ids haben, weiss ich nicht.
H.
|