Pages:<< prev   1  next >>
Off the Edge of the Map

GroupAdministrators
Posts1,199
JoinedMar 21, 2006
  Bug: Throw does not echo to the thrower's room
Danger: Trivial - People in the same room can't see that someone has thrown something.
Found by: Ayuri
Fixed by: Keberus and Kayle
---
swskills.c, do_throw
Locate:
Replace with:
This fix will ensure that people in the same room as the thrower get a message saying that someone has thrown an object.
Danger: Trivial - People in the same room can't see that someone has thrown something.
Found by: Ayuri
Fixed by: Keberus and Kayle
---
swskills.c, do_throw
Locate:
         	      char_from_room( ch );
         char_to_room( ch, to_room );
         sprintf( buf, "Someone throws %s at you from the %s.", obj->short_descr, dir_name[dir] );
         act( AT_ACTION, buf, victim, NULL, ch, TO_CHAR );
         act( AT_ACTION, "You throw %p at $N.", ch, obj, victim, TO_CHAR );
         sprintf( buf, "%s is thrown at $N from the %s.", obj->short_descr, dir_name[dir] );
         act( AT_ACTION, buf, ch, NULL, victim, TO_NOTVICT );
      }
      else
      {
         ch_printf( ch, "You throw %s %s.\r\n", obj->short_descr, dir_name[get_dir( arg2 )] );
         sprintf( buf, "%s is thrown from the %s.", obj->short_descr, dir_name[dir] );
         act( AT_ACTION, buf, ch, NULL, NULL, TO_ROOM );
      }
Replace with:
                  char_from_room( ch );
         char_to_room( ch, to_room );
         sprintf( buf, "Someone throws %s at you from the %s.", obj->short_descr, dir_name[dir] );
         act( AT_ACTION, buf, victim, NULL, ch, TO_CHAR );
         act( AT_ACTION, "You throw %p at $N.", ch, obj, victim, TO_CHAR );
         char_from_room( ch );
         char_to_room( ch, was_in_room );
         sprintf( buf, "$n throws %s to the %s.", obj->short_descr, dir_name[get_dir(arg2)] );
         act( AT_ACTION, buf, ch, NULL, NULL, TO_ROOM );
         char_from_room( ch );
         char_to_room( ch, to_room );
         sprintf( buf, "%s is thrown at $N from the %s.", obj->short_descr, dir_name[dir] );
         act( AT_ACTION, buf, ch, NULL, victim, TO_NOTVICT );
      }
      else
      {
         ch_printf( ch, "You throw %s %s.\r\n", obj->short_descr, dir_name[get_dir( arg2 )] );
         char_from_room( ch );
         char_to_room( ch, was_in_room );
         sprintf( buf, "$n throws %s to the %s.", obj->short_descr, dir_name[get_dir(arg2)] );
         act( AT_ACTION, buf, ch, NULL, NULL, TO_ROOM );
         char_from_room( ch );
         char_to_room( ch, to_room );
         sprintf( buf, "%s is thrown from the %s.", obj->short_descr, dir_name[dir] );
         act( AT_ACTION, buf, ch, NULL, NULL, TO_ROOM );
      }
This fix will ensure that people in the same room as the thrower get a message saying that someone has thrown an object.
 Pages:<< prev   1  next >>