In server/skills.c is a suspicious calculation: throw_ob->stats.wc = 25-dex_bonus[op->stats.Dex?dex_bonus[op->stats.Dex]:0]-thaco_bonus[eff_str]-skill->level; Essentially it calculates: dex_bonus[dex_bonus[Dex]] This can't be correct because 1. dex_bonus[] contains some negative values so it may access dex_bonus[-1] 2. dex_bonus[1] == -3 so "Dex ? dex_bonus[Dex] : 0" is not a sensible (monotonic increasing) function 3. dex_bonus maps "Dex" into "Wc" so "dex_bonus[Wc]" is incorrect A possible solution could be throw_ob->stats.wc = 25-dex_bonus[op->stats.Dex]-thaco_bonus[eff_str]-skill->level; Is this the intended behavior? _______________________________________________ crossfire-devel mailing list crossfire-devel at lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel