P_ATTACK_BUSY ============= NAME ---- :: P_ATTACK_BUSY "attack_busy" DEFINIERT IN ------------ :: /sys/living/combat.h BESCHREIBUNG ------------ :: Ueber diese Property kann festgestellt werden, ob ein Spieler noch Spezialwaffen (zB Flammenkugel) einsetzen kann. Ist der Wert bei Abfrage ungleich 0, dann darf der Spieler in dieser Runde keine Aktion mehr durchfuehren. Mit SetProp(P_ATTACK_BUSY, 1) wird eine Aktion verbraucht. Intern wird relativ fein gerechnet, ein SetProp(P_ATTACK_BUSY, x) wird in das Abziehen von x*100 Punkten umgerechnet. Der Wert freier Aktionen pro Runde berechnet sich wie folgt: Spieler: 100 + QuerySkillAttribute(SA_SPEED) Seher: Spieler + 200 + QueryProp(P_LEVEL) Das Maximum liegt bei 500. Damit betraegt die Anzahl der moeglichen Aktionen pro Runde: Wert/100, also maximal 5 Aktionen pro Runde. Zaubersprueche zaehlen im Normalfall auch als eine Aktion. BEMERKUNGEN ----------- :: Benutzt man P_ATTACK_BUSY fuer eine sich nicht sofort verbrauchende Sache, kann ein Seher dieses Objekt im Normalfall dreimal pro Runde benutzen. Wenn ungewollt, muss das ueber einen Zeitmarker selbst verhindert werden. BEISPIELE --------- :: (Code eines Objektes ist in /doc/beispiele/testobjekte/attack_busy_sensitive_testobj.c) // einfacher Test auf ATTACK_BUSY und anschliessendes Setzen if (this_player()->QueryProp(P_ATTACK_BUSY)) { write("Du hast dafuer momentan einfach nicht mehr die Puste.\n"); return 1; } this_player()->SetProp(P_ATTACK_BUSY, 1); 7. Mar 2011 Gloinson