Bug in disarm( )
< Newer Topic
:: Older Topic >
Pages:<< prev 1 next >>
#1 Jan 12, 2017 3:15 am
Last edited Jan 12, 2017 3:17 am by GatewaySysop
Conjurer
GroupMembers
Posts413
JoinedMar 7, 2005
Yeah so another thing I stumbled on while doing some play testing. Wanted to create a character with a bladed stump for a weapon, so as to allow stabbing / backstabbing type damage and the like, obviously not wanting it removable. So I set the item_noremove flag but, to my surprise, the mobile could still be disarmed (no pun intended) in combat.
Seems to me that if you can't remove the item from yourself, you probably shouldn't be able to be disarmed of it either.
A little peek reveals the problem, that there is no accounting for the item_noremove object flag, in the disarm( ) function.
In skills.c, you'll find disarm( ), likely just above do_disarm( ), and in particular this piece:
Probably ought to make a slight modification like so:
And that is that.
Seems to me that if you can't remove the item from yourself, you probably shouldn't be able to be disarmed of it either.
A little peek reveals the problem, that there is no accounting for the item_noremove object flag, in the disarm( ) function.
In skills.c, you'll find disarm( ), likely just above do_disarm( ), and in particular this piece:
if ( check_grip( ch, victim ) ) { learn_from_failure( ch, gsn_disarm ); return; }
Probably ought to make a slight modification like so:
if ( check_grip( ch, victim ) || IS_OBJ_STAT( obj, ITEM_NOREMOVE ) )
{
learn_from_failure( ch, gsn_disarm );
return;
}
And that is that.
#3 Jan 13, 2017 11:45 am
Geomancer
GroupAdministrators
Posts1,917
JoinedJul 26, 2005
i remember as a player we did that on noremove weapons so we could remove them and drop them lol
Pages:<< prev 1 next >>