b·020415

Std/living/skills

15. Apr 2002, 16:51:18
Bug
NewArchon

HR Image

Wahrscheinlich seit dem aktivieren des Skills 'beweglichkeit'
wurde dieser falsch zugeordnet - statt als defendskill wurde
er als angriffsskill gewertet, obwohl er korrekt den typ SM_DEFEND
zugeordnet war.

dieser fehler konnte auftreten, weil dem skill kein im feld item 
kein wert ("") zugeordnet war. ich habe dort jetzt item="misc"
zugeordnet. jetzt ist der skill korrekt als defendskill eingetragen

der fehler liegt aber eigentlich nicht in der anmeldung des skills
sondern in /std/living/skills.c in der Funktion SetActiveSkill()
hier werden alle skills (angriff/verteidigung), die automatisch
ausgefuehrt werden koennen in einem array gespeichert, welches
spaeter nur aufgrund des im feld item gespeicherten wert
durchgesehen wird, ist der dort gespeicherte wert "", wird automatisch
von einem angriffskill ausgegangen, ohne zu testen, ob der typ
SM_DEFEND gesetzt ist

while((i=member_array("", att_def_items))>-1) {   // 'itemlose' Attack-Skills
      active[CS_ATTACK] += ([ att_def_skill[i] : ({
        SM->QueryProp(att_def_skill[i], P_SM_STAT),
        SM->QueryProp(att_def_skill[i], P_SM_FACTOR),
        SM->QueryProp(att_def_skill[i], P_SM_MAGIC) }) ]);
      att_def_items[i]=0;
}

Archon

Start » Magierhandbuch » Todo » b·020415 Letzte Generierung: 06.12.2002, 12:54
Email an: mud@wl.mud.de
Valid HTML 4.01!