Login
User Name:

Password:



Register

Forgot your password?
do_owhere recursive
Author: Khonsu
Submitted by: Khonsu
Changes list / Addchange
Author: Khonsu
Submitted by: Khonsu
6Dragons mp3 sound pack
Author: Vladaar
Submitted by: Vladaar
AFKMud 2.2.3
Author: AFKMud Team
Submitted by: Samson
SWFOTEFUSS 1.5
Author: Various
Submitted by: Samson
Users Online
AhrefsBot, Sogou

Members: 0
Guests: 18
Stats
Files
Topics
Posts
Members
Newest Member
489
3,791
19,644
596
Elwood

Today's Birthdays
There are no member birthdays today.
» SmaugMuds » Bugfix Lists » SWFOTE FUSS Bugfix List » [Bug] Snipe does not echo to ...
Forum Rules | Mark all | Recent Posts

[Bug] Snipe does not echo to the sniper's room
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Jan 16, 2009 1:50 pm   
Go to the top of the page
Go to the bottom of the page

Keberus
Conjurer
GroupFUSS Project Team
Posts341
JoinedJun 4, 2005

 
Bug: Snipe does not echo to the sniper's room
Danger: Trivial - People in the same room can't see that someone has shot at someone else.
Found by: Ayuri
Fixed by: Keberus

---


swskills.c, do_snipe


Locate:
   char_from_room( ch );
   char_to_room( ch, victim->in_room );

   if( number_percent(  ) < schance )
   {
      sprintf( buf, "A blaster shot fires at you from the %s.", dir_name[dir] );
      act( AT_ACTION, buf, victim, NULL, ch, TO_CHAR );
      act( AT_ACTION, "You fire at $N.", ch, NULL, victim, TO_CHAR );
      sprintf( buf, "A blaster shot fires at $N from the %s.", dir_name[dir] );
      act( AT_ACTION, buf, ch, NULL, victim, TO_NOTVICT );

      one_hit( ch, victim, TYPE_UNDEFINED );

      if( char_died( ch ) )
         return;

      stop_fighting( ch, TRUE );

      learn_from_success( ch, gsn_snipe );
   }
   else
   {
      act( AT_ACTION, "You fire at $N but don't even come close.", ch, NULL, victim, TO_CHAR );
      sprintf( buf, "A blaster shot fired from the %s barely misses you.", dir_name[dir] );
      act( AT_ACTION, buf, ch, NULL, victim, TO_ROOM );
      learn_from_failure( ch, gsn_snipe );
   }


Replace with:
   if( number_percent(  ) < schance )
   {
      char_from_room( ch );
      char_to_room( ch, was_in_room );
      sprintf( buf, "$n fires a blaster shot to the %s.", dir_name[get_door(arg)] );
      act( AT_ACTION, buf, ch, NULL, NULL, TO_ROOM );

      char_from_room( ch );
      char_to_room( ch, victim->in_room );

      sprintf( buf, "A blaster shot fires at you from the %s.", dir_name[dir] );
      act( AT_ACTION, buf, victim, NULL, ch, TO_CHAR );
      act( AT_ACTION, "You fire at $N.", ch, NULL, victim, TO_CHAR );
      sprintf( buf, "A blaster shot fires at $N from the %s.", dir_name[dir] );
      act( AT_ACTION, buf, ch, NULL, victim, TO_NOTVICT );

      one_hit( ch, victim, TYPE_UNDEFINED );

      if( char_died( ch ) )
         return;

      stop_fighting( ch, TRUE );

      learn_from_success( ch, gsn_snipe );
   }
   else
   {
      char_from_room( ch );
      char_to_room( ch, was_in_room );
      sprintf( buf, "$n fires a blaster shot to the %s.", dir_name[get_door(arg)] );
      act( AT_ACTION, buf, ch, NULL, NULL, TO_ROOM );

      char_from_room( ch );
      char_to_room( ch, victim->in_room );

      act( AT_ACTION, "You fire at $N but don't even come close.", ch, NULL, victim, TO_CHAR );
      sprintf( buf, "A blaster shot fired from the %s barely misses you.", dir_name[dir] );
      act( AT_ACTION, buf, ch, NULL, victim, TO_ROOM );
      learn_from_failure( ch, gsn_snipe );
   }


This fix will ensure that people in the same room can see that someone is sniping a specific direction, but it won't tell who they are shooting at.

Pages:<< prev 1 next >>