Ok, so I wanted to get disarm working for some mobs. Great for body guards and the likes. Makes it really unfair.
So, for fote in fight.c find the comment "Check for disarm, trip, parry, and dodge."
Below that there should be:
if (dt>= TYPE-HIT)
and right below that will be the old function for disarm. Just nuke it and put this in its place:
if( IS_NPC( ch ) && IS_SET( ch->defenses, DFND_DISARM ) && number_percent( ) < UMIN( 60, 2 *
victim->top_level ) )
// log_string("trying to disarm"
disarm( ch, victim );
I should say it works for me.
Big thanks to Keb for giving me a hand on this.
**EDIT It looks like this could actually be a bug. The orginal code is it set to ch->attacks. Just tossing it out there.