Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
Couple bugs
Dec 12, 2017, 5:42 pm
By Remcon
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
LOP 1.45
Author: Remcon
Submitted 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
Users Online
CommonCrawl, DotBot

Members: 0
Guests: 10
Stats
Files
Topics
Posts
Members
Newest Member
477
3,705
19,232
608
LAntorcha
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Bugfix Lists » SWFOTE FUSS Bugfix List » [Bug] Object vnum ifchecks ar...
Forum Rules | Mark all | Recent Posts

[Bug] Object vnum ifchecks are not recognizing multiple objects
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Feb 5, 2006, 1:51 pm
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,639
JoinedJan 1, 2002

Bug: Object vnum ifchecks are not recognizing multiple objects
Danger: Low - Affected programs will not fire.
Found by: Caius
Fixed by: Caius

---

mud_prog.c, mprog_do_ifcheck

Locate the "ovnumcarry" section, and find:
      for( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
         if( can_see_obj( mob, pObj ) && pObj->pIndexData->vnum == vnum )
            lhsvl++;


Change that to:
      for( pObj = mob->first_carrying; pObj; pObj = pObj->next_content )
         if( can_see_obj( mob, pObj ) && pObj->pIndexData->vnum == vnum )
            lhsvl += pObj->count;


Do the same for all these other ifchecks:
OvnumHere, OvnumRoom, OvnumWear, OvnumInv, OtypeHere, OtypeRoom, OtypeCarry, OtypeWear, OtypeInv

What this affects:

Example prog:
>act_prog 'gives you'
if ovnumcarry(60) >= 5
'Thanks.
endif


The program says to check and see if the mob is carrying 5 or more of object 60, in the case of stock SWR these are blaster rifles. Because the code was not checking the actual count, the object grouping code would only ever return 1 no matter how many they had. Changing to pObj->count fixes this by returning the count of how many they have.
       
Pages:<< prev 1 next >>