Fix: SE023 Problem: Hero can throw/fire welded weapons. Even worse, they remain wielded causing all sort of consequential problems, including segmentaion violations if they are destroyed. Thanks to Mik Clarke and Samuel for help in finding and debugging this problem. Compatible with: Slash'EM 0.0.5E6 and 0.0.5E6F1 Author: J. Ali Harlow, ali@avrc.city.ac.uk Date: 18 Nov 1999 *** src/dothrow.c.orig Mon Nov 1 12:47:57 1999 --- src/dothrow.c Thu Nov 18 10:27:07 1999 *************** *** 76,81 **** --- 76,86 ---- } u_wipe_engr(2); + if(obj == uwep && welded(obj)) { + weldmsg(obj); + return(1); + } + /* WAC Multiple shots due to expertise or nice weapon*/ /* KMH, balance patch -- new macro */ if(is_blade(obj) && (objects[obj->otyp].oc_dir & PIERCE)) { *************** *** 159,168 **** if (uswapwep) return(1); /* unwielded, died, rewielded */ } } else if(obj == uwep) { - if(welded(obj)) { - weldmsg(obj); - return(1); - } if(obj->quan > 1L) setworn(otmp = splitobj(obj, 1L), W_WEP); /* not setuwep; do not change unweapon */ --- 164,169 ----