Fix: SE003 Problem: Armour class wraps Compatible with: Slash'EM 0.0.5E3 (and some earlier) Obsoleted by: Slash'EM 0.0.5E4 Author: J. Ali Harlow, ali@avrc.city.ac.uk Date: 2 Aug 1999 *** src/do_wear.c.orig Tue Jul 27 16:15:23 1999 --- src/do_wear.c Mon Aug 2 12:00:33 1999 *************** *** 1598,1607 **** --- 1598,1611 ---- #ifdef OVL0 + #define SCHAR_MIN (-128) + #define SCHAR_LIM 127 + void find_ac() { register int uac = 10; + schar tmp; if (Upolyd) uac = mons[u.umonnum].ac; if(uarm) uac -= ARM_BONUS(uarm); if(uarmc) uac -= ARM_BONUS(uarmc); *************** *** 1641,1648 **** if (Role_if(PM_DOPPELGANGER) && !uarm) uac -= (u.ulevel / 4) + 1; if (Role_if(PM_HUMAN_WEREWOLF) && !uarm) uac -= (u.ulevel / 4) + 1; ! if(uac != u.uac){ ! u.uac = uac; flags.botl = 1; } } --- 1645,1653 ---- if (Role_if(PM_DOPPELGANGER) && !uarm) uac -= (u.ulevel / 4) + 1; if (Role_if(PM_HUMAN_WEREWOLF) && !uarm) uac -= (u.ulevel / 4) + 1; ! tmp = uacSCHAR_LIM?SCHAR_LIM:uac; ! if(tmp != u.uac){ ! u.uac = tmp; flags.botl = 1; } }