Login
User Name:

Password:



Register

Forgot your password?
Overland with Bitmaps
Jul 4, 2025 11:57 pm
By Samson
void nanny_get_new_race -- comm.c
Mar 13, 2025 7:08 am
By Elwood
IPv6
Jan 25, 2025 10:45 pm
By Samson
mudstrlcpy and mudstrlcat
Jan 18, 2025 5:23 pm
By Samson
I3 and IMC
Jan 17, 2025 9:35 pm
By Samson
SWFotEFUSS 1.5.3
Author: Various
Submitted by: Samson
SWRFUSS 1.4.3
Author: Various
Submitted by: Samson
SmaugFUSS 1.9.8
Author: Various
Submitted by: Samson
AFKMud 2.5.2
Author: AFKMud Team
Submitted by: Samson
SmaugFUSS 1.9.7
Author: Various
Submitted by: Samson
Users Online
Anthropic, Amazonbot, AhrefsBot, Bing

Members: 0
Guests: 7
Stats
Files
Topics
Posts
Members
Newest Member
507
3,812
19,725
594
Bardecome

» SmaugMuds » Codebases » SmaugFUSS » Bug in disarm( )
Forum Rules | Mark all | Recent Posts

Bug in disarm( )
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Jan 12, 2017 3:15 am   Last edited Jan 12, 2017 3:17 am by GatewaySysop
Go to the top of the page
Go to the bottom of the page

GatewaySysop
Conjurer
GroupMembers
Posts429
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. :facepalm:

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. :huh:

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. :imp:


Post is unread #2 Jan 12, 2017 4:47 pm   
Go to the top of the page
Go to the bottom of the page

Sadiq
Fledgling
GroupMembers
Posts24
JoinedJan 7, 2010

 
Nice catch! :smile:

Post is unread #3 Jan 13, 2017 11:45 am   
Go to the top of the page
Go to the bottom of the page

Remcon
Geomancer
GroupAdministrators
Posts1,992
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 >>