dam2 = TORP_DAMAGE();
dam += dam2;
- nreport(victim, N_TORP_SHIP, sp->shp_own, 1);
+ nreport(victim, N_TORP_SHIP, 0, 1);
wu(0, sp->shp_own,
"\tTorpedo hit %s %s for %d damage\n",
cname(victim), s, dam2);
struct natstr *natp;
struct newscache *ncp;
+ if (CANT_HAPPEN((unsigned)event > N_MAX_VERB
+ || rpt[event].r_newstory[0] == rpt[0].r_newstory[0]))
+ return;
+
ncp = ncache(actor, event, victim, times);
putnews(ncp->id, &ncp->news);
return np;
}
}
- if (oldslot < 0) {
- logerror("internal error; ncache oldslot < 0");
- return &cache[actor][0];
- }
+ if (CANT_HAPPEN(oldslot < 0))
+ oldslot = 0;
+ if (CANT_HAPPEN(!strstr(rpt[event].r_newstory[0], "%s") && victim != 0))
+ victim = 0;
np = &cache[actor][oldslot];
np->news.nws_ano = actor;
np->news.nws_vno = victim;