Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
 parse description bug
Yesterday, 10:08 pm
By Remcon
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
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, Bing, Yandex, Sogou

Members: 0
Guests: 12
Stats
Files
Topics
Posts
Members
Newest Member
477
3,706
19,240
608
LAntorcha
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Codebases » SmaugFUSS » do_order
Forum Rules | Mark all | Recent Posts

do_order
< Newer Topic :: Older Topic > bug - repeat order

Pages:<< prev 1 next >>
Post is unread #1 Sep 28, 2011, 11:34 pm
Go to the top of the page
Go to the bottom of the page

Matteo2303
Apprentice
GroupMembers
Posts57
JoinedAug 25, 2003

In do_order I suggest to change:

   for( och = ch->in_room->first_person; och; och = och_next )
   {
      och_next = och->next_in_room;


with

     for ( och = ch->in_room->last_person; och; och = och_next ) 
      {
         och_next = och->prev_in_room;


The reason:
1) evocate more than one charmies followers
2) give at one of them more than one projectile (five for example).
3) type: "order all fire object north"

I some case the mob with projectiles fires not only one time but repeat the fire because the in_room order change with fire.
I don't know if the problem is only my, or if the fix can generate problems and has a bad interact with other order commands.
It's only a idea: probably there is a better solution.

bye
mat
       
Post is unread #2 Sep 28, 2011, 11:49 pm   Last edited Sep 29, 2011, 12:17 am by Matteo2303
Go to the top of the page
Go to the bottom of the page

Matteo2303
Apprentice
GroupMembers
Posts57
JoinedAug 25, 2003

I forgot: the do_order use a call to the interpret, but interpret function don't check the position.
Check_pos infact has:

    if ( IS_NPC( ch ) && ch->position > 3 ) /*Band-aid alert?  -- Blod*/
      return TRUE;


So, if you order sleep, and than order say hello, the followers perform "say hello".
The same with fire commands, etc... I haven't tested but probably is better:

    if ( IS_NPC( ch ) && !IS_AFFECTED(ch, AFF_CHARM) && !xIS_SET(ch->act, ACT_PET) &&  ch->position > 3 ) /*Band-aid alert?  -- Blod*/
      return TRUE;


or simply remove...

    if ( IS_NPC( ch ) && ch->position > 3 ) /*Band-aid alert?  -- Blod*/
      return TRUE;


bye
mat
       
Pages:<< prev 1 next >>