Enable marine msl. unconditionally, remove option PINPOINTMISSILE

Deities can still control them by customizing table plane-chr.
This commit is contained in:
Markus Armbruster 2009-09-13 11:37:17 -04:00
parent ac33576a99
commit 2b31f644db
6 changed files with 9 additions and 17 deletions

View file

@ -175,8 +175,6 @@ EMPCF_OPT("NO_FORT_FIRE", opt_NO_FORT_FIRE,
"Disable fortress fire") "Disable fortress fire")
EMPCF_OPT("NO_PLAGUE", opt_NO_PLAGUE, EMPCF_OPT("NO_PLAGUE", opt_NO_PLAGUE,
"Disable plague") "Disable plague")
EMPCF_OPT("PINPOINTMISSILE", opt_PINPOINTMISSILE,
"Enable marine missiles")
EMPCF_OPT("RAILWAYS", opt_RAILWAYS, EMPCF_OPT("RAILWAYS", opt_RAILWAYS,
"Highways double as rail") "Highways double as rail")
EMPCF_OPT("RES_POP", opt_RES_POP, EMPCF_OPT("RES_POP", opt_RES_POP,

View file

@ -4,7 +4,6 @@
.nf .nf
The following options are from KSU code: The following options are from KSU code:
PINPOINT(etc): Missile exist which target ships instead of sectors
SAIL: another way to automatically move ships (may also be buggy) SAIL: another way to automatically move ships (may also be buggy)
The following options were introduced in the Chainsaw server: The following options were introduced in the Chainsaw server:

View file

@ -76,8 +76,8 @@ You are disconnected after 15 minutes of idle time.
Options enabled in this game: Options enabled in this game:
ALL_BLEED, BLITZ, BRIDGETOWERS, EASY_BRIDGES, FALLOUT, GODNEWS, ALL_BLEED, BLITZ, BRIDGETOWERS, EASY_BRIDGES, FALLOUT, GODNEWS,
INTERDICT_ATT, LANDSPIES, NOFOOD, NOMOBCOST, NO_PLAGUE, INTERDICT_ATT, LANDSPIES, NOFOOD, NOMOBCOST, NO_PLAGUE, RAILWAYS, SAIL,
PINPOINTMISSILE, RAILWAYS, SAIL, TREATIES TREATIES
Options disabled in this game: Options disabled in this game:
AUTO_POWER, GO_RENEW, GUINEA_PIGS, HIDDEN, LOANS, LOSE_CONTACT, MARKET, AUTO_POWER, GO_RENEW, GUINEA_PIGS, HIDDEN, LOANS, LOSE_CONTACT, MARKET,

View file

@ -222,7 +222,7 @@ launch_missile(struct plnstr *pp, int sublaunch)
return RET_SYN; return RET_SYN;
if (!check_plane_ok(pp)) if (!check_plane_ok(pp))
return RET_FAIL; return RET_FAIL;
if (opt_PINPOINTMISSILE && sarg_type(cp) == NS_LIST) { if (sarg_type(cp) == NS_LIST) {
if (!(pcp->pl_flags & P_MAR)) { if (!(pcp->pl_flags & P_MAR)) {
pr("Missile not designed to attack ships!\n"); pr("Missile not designed to attack ships!\n");
return RET_FAIL; return RET_FAIL;
@ -240,17 +240,16 @@ launch_missile(struct plnstr *pp, int sublaunch)
pr("Bad ship number!\n"); pr("Bad ship number!\n");
return RET_FAIL; return RET_FAIL;
} }
} /* not PINPOINTMISSILE for ships */ } else if (!sarg_xy(cp, &sx, &sy)) {
else if (!sarg_xy(cp, &sx, &sy)) {
pr("Not a sector!\n"); pr("Not a sector!\n");
return RET_FAIL; return RET_FAIL;
} else if (opt_PINPOINTMISSILE) { } else {
if (pcp->pl_flags & P_MAR) { if (pcp->pl_flags & P_MAR) {
pr("Missile designed to attack ships!\n"); pr("Missile designed to attack ships!\n");
return RET_FAIL; return RET_FAIL;
} }
} }
/* end PINPOINTMISSILE */
if (mapdist(pp->pln_x, pp->pln_y, sx, sy) > pp->pln_range) { if (mapdist(pp->pln_x, pp->pln_y, sx, sy) > pp->pln_range) {
pr("Range too great; try again!\n"); pr("Range too great; try again!\n");
return RET_FAIL; return RET_FAIL;
@ -259,7 +258,7 @@ launch_missile(struct plnstr *pp, int sublaunch)
pr("%s not enough shells!\n", prplane(pp)); pr("%s not enough shells!\n", prplane(pp));
return RET_FAIL; return RET_FAIL;
} }
if (opt_PINPOINTMISSILE == 0 || !(pcp->pl_flags & P_MAR)) { if (!(pcp->pl_flags & P_MAR)) {
getsect(sx, sy, &sect); getsect(sx, sy, &sect);
if (opt_SLOW_WAR) { if (opt_SLOW_WAR) {
natp = getnatp(player->cnum); natp = getnatp(player->cnum);
@ -304,8 +303,7 @@ launch_missile(struct plnstr *pp, int sublaunch)
sectdamage(&sect, dam); sectdamage(&sect, dam);
putsect(&sect); putsect(&sect);
} }
} /* end PINPOINTMISSILE conditional */ } else {
else if (opt_PINPOINTMISSILE) { /* else */
if (!msl_hit(pp, shp_hardtarget(&target_ship), EF_SHIP, if (!msl_hit(pp, shp_hardtarget(&target_ship), EF_SHIP,
N_SHP_MISS, N_SHP_SMISS, prship(&target_ship), N_SHP_MISS, N_SHP_SMISS, prship(&target_ship),
target_ship.shp_x, target_ship.shp_y, target_ship.shp_x, target_ship.shp_y,
@ -327,7 +325,6 @@ launch_missile(struct plnstr *pp, int sublaunch)
if (!target_ship.shp_own) if (!target_ship.shp_own)
pr("%s sunk!\n", prship(&target_ship)); pr("%s sunk!\n", prship(&target_ship));
} }
/* end PINPOINTMISSILE */
return RET_OK; return RET_OK;
} }

View file

@ -56,7 +56,6 @@ int opt_NOFOOD = 1;
int opt_NOMOBCOST = 1; int opt_NOMOBCOST = 1;
int opt_NO_FORT_FIRE = 0; int opt_NO_FORT_FIRE = 0;
int opt_NO_PLAGUE = 1; int opt_NO_PLAGUE = 1;
int opt_PINPOINTMISSILE = 1;
int opt_RAILWAYS = 1; int opt_RAILWAYS = 1;
int opt_RES_POP = 0; int opt_RES_POP = 0;
int opt_SAIL = 1; int opt_SAIL = 1;

View file

@ -140,8 +140,7 @@ msl_hit(struct plnstr *pp, int hardtarget, int type, int news_item,
sublaunch ? "sub-launched" : cname(pp->pln_own), sublaunch ? "sub-launched" : cname(pp->pln_own),
xyas(x, y, victim)); xyas(x, y, victim));
if (opt_PINPOINTMISSILE == 0 || if ((pcp->pl_flags & P_T && !(pcp->pl_flags & P_MAR))) {
(pcp->pl_flags & P_T && !(pcp->pl_flags & P_MAR))) {
if (msl_intercept(x, y, pp->pln_own, pcp->pl_def, if (msl_intercept(x, y, pp->pln_own, pcp->pl_def,
sublaunch, P_N, P_O)) { sublaunch, P_N, P_O)) {
return 0; return 0;