memset(&pl, 0, sizeof(struct plist));
pl.pcp = plchr + pp->pln_type;
pl.plane = *pp;
- return mission_pln_equip(&pl, 0, 0, mission);
+ return pln_equip(&pl, NULL, mission);
}
int
struct sctstr sect;
int sublaunch = 0;
struct plchrstr *pcp = plchr + pp->pln_type;
- int hitchance = pln_hitchance(pp, hardtarget, type);
+ int hitchance;
char *from;
int dam, dummyi;
putplane(pp->pln_uid, pp);
mpr(pp->pln_own, "\tSHWOOOOOSH! Missile launched!\n");
- if (nuk_on_plane(pp) >= 0) {
- mpr(pp->pln_own, "\tArming nuclear warheads...\n");
- hitchance = 100;
- }
-
if (pcp->pl_flags & P_T)
mpr(victim, "Incoming %s missile sighted at %s...\n",
sublaunch ? "sub-launched" : cname(pp->pln_own),
xyas(x, y, victim));
- if (opt_PINPOINTMISSILE == 0 ||
- (pcp->pl_flags & P_T && !(pcp->pl_flags & P_MAR))) {
+ if ((pcp->pl_flags & P_T && !(pcp->pl_flags & P_MAR))) {
if (msl_intercept(x, y, pp->pln_own, pcp->pl_def,
sublaunch, P_N, P_O)) {
return 0;
}
}
- mpr(pp->pln_own, "\t%d%% hitchance...", hitchance);
- hit = (roll(100) <= hitchance);
+ if (nuk_on_plane(pp) >= 0) {
+ mpr(pp->pln_own, "\tArming nuclear warheads...\n");
+ hit = 1;
+ } else {
+ hitchance = pln_hitchance(pp, hardtarget, type);
+ hit = (roll(100) <= hitchance);
+ mpr(pp->pln_own, "\t%d%% hitchance...%s\n", hitchance,
+ hit ? "HIT!" : "miss");
+ }
- mpr(pp->pln_own, hit ? "HIT!\n" : "miss\n");
if (pcp->pl_flags & P_T)
mpr(victim, "...Incoming %s missile %s\n",
sublaunch ? "" : cname(pp->pln_own),
continue;
/* got a valid interceptor */
irv = malloc(sizeof(*irv));
- irv->bombs = 0;
- irv->misc = 0;
+ irv->load = 0;
irv->pcp = &plchr[(int)plane.pln_type];
irv->plane = plane;
emp_insque(&irv->queue, list);
if (pp->pln_own != sect.sct_own)
continue;
pcp = ip->pcp;
- if (mission_pln_equip(ip, 0, 0, 'i') < 0) {
+ if (mission_pln_equip(ip, NULL, 'i') < 0) {
emp_remque(qp);
free(qp);
continue;
ip = (struct plist *)qp;
pp = &ip->plane;
pcp = ip->pcp;
- if (mission_pln_equip(ip, 0, 0, 'i') < 0) {
+ if (mission_pln_equip(ip, NULL, 'i') < 0) {
emp_remque(qp);
free(qp);
continue;
next = qp->q_back;
plp = (struct plist *)qp;
- if (mission_pln_equip(plp, 0, 0, 'p') >= 0) {
+ if (mission_pln_equip(plp, NULL, 'p') >= 0) {
if (msl_hit(&plp->plane,
hardtarget, type, news_item, snews_item,
whatp, x, y, victim)) {