Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
Development
Nov 28, 2018, 10:10 am
By Keirath
First Immortal
Oct 12, 2018, 12:02 pm
By GatewaySysop
Bug in do_climb( )
Jun 5, 2018, 5:31 pm
By joeyfogas
question on overland code
May 31, 2018, 10:03 am
By joeyfogas
KaVir's Protocol Snip
May 15, 2018, 7:57 pm
By joeyfogas
tintin++ ogg sound player script for linux
Author: Robert Smith
Submitted by: Vladaar
6Dragons ogg Soundpack
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.4
Author: Vladaar
Submitted by: Vladaar
LoP 1.46
Author: Remcon
Submitted by: Remcon
LOP 1.45
Author: Remcon
Submitted by: Remcon
Users Online
CommonCrawl, Bing

Members: 0
Guests: 15
Stats
Files
Topics
Posts
Members
Newest Member
481
3,740
19,397
640
KieraZajac
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 >>