Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
6Dragons 4.3 bugfixes
Feb 5, 2017, 8:28 am
By Vladaar
Bug in violence_update( )
Jan 28, 2017, 3:54 pm
By Sadiq
Bug in mobile_update( )
Jan 25, 2017, 4:19 pm
By GatewaySysop
Bug (another one) in disarm( )
Jan 20, 2017, 5:16 pm
By GatewaySysop
Bug in format_obj_to_char( )
Jan 13, 2017, 10:01 am
By Remcon
LOP Heroes Edition
Author: Vladaar
Submitted by: Vladaar
Heroes sound extras
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.3
Author: Vladaar
Submitted by: Vladaar
Memwatch
Author: Johan Lindh
Submitted by: Vladaar
Beastmaster 6D sound files
Author: Vladaar
Submitted by: Vladaar
Users Online
CommonCrawl, Yahoo!, Bing

Members: 0
Guests: 9
Stats
Files
Topics
Posts
Members
Newest Member
476
3,695
19,209
602
ServerFailure
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » 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, 1:15 am   Last edited Jan 12, 2017, 1:17 am by GatewaySysop
Go to the top of the page
Go to the bottom of the page

GatewaySysop
Conjurer
GroupMembers
Posts360
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, 2: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, 9:45 am
Go to the top of the page
Go to the bottom of the page

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