
Pages:<< prev 1 next >>


Off the Edge of the Map

GroupAdministrators
Posts1,199
JoinedMar 21, 2006
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:
Replace with:
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.
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 >>