Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
auth_update crash
Dec 23, 2017, 10:15 pm
By Remcon
check_tumble
Dec 18, 2017, 7:21 pm
By Remcon
parse description bug
Dec 15, 2017, 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
LoP 1.46
Author: Remcon
Submitted by: Remcon
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
Users Online
CommonCrawl, Yandex

Members: 0
Guests: 3
Stats
Files
Topics
Posts
Members
Newest Member
478
3,708
19,242
612
Jacki72H
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » Bugfix Lists » SmaugFUSS Bugfix List » [Bug] mprog_translate is not ...
Forum Rules | Mark all | Recent Posts

[Bug] mprog_translate is not handling the $n case properly
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Mar 5, 2005, 4:01 pm   Last edited May 11, 2005, 6:45 pm by Samson
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,639
JoinedJan 1, 2002

Bug: mprog_translate is not handling the $n case properly.
Danger: low
Found by: Matteo2303
Fixed by: Samson and Matteo2303

When a mobprog has a command similar to: yell $n is a bloody thief!
The $n is not being translated into "someone" if the mob cannot see the victim.

[mud_prog.c]

In mprog_translate, find:

     case 'n':
         if ( actor && !char_died(actor) )
         {
           if ( can_see( mob,actor ) )
             one_argument( actor->name, t );
           if ( !IS_NPC( actor ) )
             *t = UPPER( *t );
         }
         else
              strcpy( t, "someone" );
         break;


Change it to look like this:

     case 'n':
       if ( actor && !char_died(actor) )
  {
    if ( can_see( mob, actor ) )
      one_argument( actor->name, t );
         else
           strcpy( t, "someone" );
         if ( !IS_NPC( actor ) )
        *t = UPPER( *t );
       }
  else
    strcpy( t, "someone" );
       break;


The code was simply missing the else below the call to can_see.
       
Pages:<< prev 1 next >>