Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
Bug in disarm( )
Nov 12, 2017, 6:54 pm
By GatewaySysop
Bug in will_fall( )
Oct 23, 2017, 1:35 am
By GatewaySysop
Bug in do_zap( ), do_brandish( )
Oct 18, 2017, 1:52 pm
By GatewaySysop
Bug in get_exp_worth( )
Oct 10, 2017, 1:26 am
By GatewaySysop
Bug in do_drag( )
Oct 8, 2017, 12:40 am
By GatewaySysop
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, DotBot, Yahoo!

Members: 0
Guests: 8
Stats
Files
Topics
Posts
Members
Newest Member
476
3,704
19,231
608
LAntorcha
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
Posts367
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,857
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 >>