"Make bars immune to damage")
EMPCF_OPT("TECH_POP", opt_TECH_POP,
"Technology costs more as population rises")
-EMPCF_OPT("TRADESHIPS", opt_TRADESHIPS,
- "Enable Tradeships")
EMPCF_OPT("TREATIES", opt_TREATIES,
"Allow treaties")
NEW_STARVE, NEW_WORK, ORBIT and PLANENAMES are no longer configurable.
Options NUKEFAILDETONATE, SLOW_WAR, SNEAK_ATTACK, FUEL, GRAB_THINGS
and SHIP_DECAY are gone. Options PINPOINTMISSILE, DEMANDUPDATE,
-UPDATESCHED, DRNUKE, NONUKES, NEUTRON, BIG_CITY, DEFENSE_INFRA,
-NO_LCMS, NO_HCMS and NO_OIL got replaced by more flexible
-configuration.
+UPDATESCHED, DRNUKE, TRADESHIPS, NONUKES, NEUTRON, BIG_CITY,
+DEFENSE_INFRA, NO_LCMS, NO_HCMS and NO_OIL
+got replaced by more flexible configuration.
The xdump command lets client writers access more game more easily.
SUPER_BARS: gold bars aren't destroyed by shelling or bombing
ALL_BLEED: you get tech bleed from all countries, not just allies
NOMOBCOST: ships pay 0 mob to fire. Subs pay 1/2 a sect's movement cost
-TRADESHIPS: you can build/nav/scuttle trade ships to make money
RES_POP: Research affects max sector population.
NOFOOD: No food is required.
BLITZ: Players get infinite BTU's.
.L sub-torp
The vessel can torpedo submarines
.L trade
-The vessel is a trade ship. (only if TRADESHIPS are enabled)
+The vessel is a trade ship.
.L supply
The vessel can supply other units.
Unless the vessel is a submarine, it can load non-light land units.
.NA Trade-ships "How to use trade ships"
.LV Basic
Trade ships are special ships, with a different function than most Empire
-ships. They are in the game only if the TRADESHIPS option is enabled.
+ships. They are in the game only if the deity enabled them.
.s1
Trade ships simulate internal or external trade. In the real world, countries
make goods that they can make cheaply, ship them somewhere they're expensive,
1 ship
.FI
.s1
-Note that this command is only enabled if the TRADESHIPS option is in use.
-.s1
.SA "Trade-ships, sonar, torpedo, upgrade, Ships"
.s1
Units on ships may not be scuttled.
.s1
-Scuttling trade-ships (if the TRADESHIPS option is enabled) has other effects.
+Scuttling trade-ships has other effects.
See info Trade-ships.
.s1
.SA "scrap, Trade-ships, build, ship, plane, land, Ships, Planes, LandUnits"
Options disabled in this game:
AUTO_POWER, BRIDGETOWERS, GO_RENEW, GUINEA_PIGS, HIDDEN, LOANS,
LOSE_CONTACT, MARKET, MOB_ACCESS, NO_FORT_FIRE, RES_POP, SUPER_BARS,
- TECH_POP, TRADESHIPS
+ TECH_POP
See "info Options" for a detailed list of options and descriptions.
break;
case 's':
type = ef_elt_byname(EF_SHIP_CHR, p);
- if (type >= 0) {
+ if (type >= 0)
rqtech = mchr[type].m_tech;
- if ((mchr[type].m_flags & M_TRADE) && !opt_TRADESHIPS)
- type = -1;
- }
break;
case 'l':
type = ef_elt_byname(EF_LAND_CHR, p);
if (!*p || !strcmp(p, "-")) {
pr("A one-way order has been accepted.\n");
} else if (!strncmp(p, "s", 1)) {
- if (opt_TRADESHIPS) {
- if (!(mchr[(int)ship.shp_type].m_flags & M_TRADE)) {
- pr("You can't auto-scuttle that ship!\n");
- return RET_SYN;
- }
- } else {
+ if (!(mchr[(int)ship.shp_type].m_flags & M_TRADE)) {
pr("You can't auto-scuttle that ship!\n");
return RET_SYN;
}
int dist;
float cash = 0.0;
- if (!opt_TRADESHIPS) {
- pr("Tradeships are not enabled.\n");
- return RET_FAIL;
- }
if (!snxtitem(&ni, EF_SHIP, player->argp[1], NULL))
return RET_SYN;
prship(&item.ship));
continue;
}
- if (opt_TRADESHIPS
- && (mchr[item.ship.shp_type].m_flags & M_TRADE)) {
+ if (mchr[item.ship.shp_type].m_flags & M_TRADE) {
pr("WARNING: You only collect money from trade ships if you \"scuttle\" them!\n");
sprintf(prompt,
"Are you really sure that you want to scrap %s (n)? ",
if (type == EF_SHIP) {
mp = &mchr[(int)item.ship.shp_type];
- if (opt_TRADESHIPS && (mp->m_flags & M_TRADE)) {
+ if (mp->m_flags & M_TRADE) {
if (!scuttle_tradeship(&item.ship, 1))
continue;
}
* Ken Stevens
* Steve McClure
* Ron Koenderink, 2005-2006
- * Markus Armbruster, 2005-2010
+ * Markus Armbruster, 2005-2011
*/
#include <config.h>
#include "ship.h"
#include "version.h"
+static int have_trade_ships(void);
static void show_custom(void);
static void show_opts(int val);
static char *prwrap(char *, char *, int *);
-(etu_per_update / sect_mob_neg_factor));
pr("\n");
pr("Ships on autonavigation may use %i cargo holds per ship.\n", TMAX);
- if (opt_TRADESHIPS) {
+ if (have_trade_ships()) {
pr("Trade-ships that go at least %d sectors get a return of %.1f%% per sector.\n",
trade_1_dist, trade_1 * 100.0);
pr("Trade-ships that go at least %d sectors get a return of %.1f%% per sector.\n",
return RET_OK;
}
+static int
+have_trade_ships(void)
+{
+ int i;
+
+ for (i = ef_nelem(EF_SHIP_CHR) - 1; i >= 0; i--) {
+ if (mchr[i].m_flags & M_TRADE)
+ return 1;
+ }
+ return 0;
+}
+
static void
show_custom(void)
{
* drnuke_const is .25, you need a 75 res to
* build a nuke that takes 300 tech
*/
-/* opt_TRADESHIPS */
+/* trade ships */
int trade_1_dist = 8; /* less than this gets no money */
int trade_2_dist = 14; /* less than this gets trade_1 money */
int trade_3_dist = 25; /* less than this gets trade_2 money */
float trade_3 = 0.050; /* return on trade_3 distance */
float trade_ally_bonus = 0.20; /* 20% bonus for trading with allies */
float trade_ally_cut = 0.10; /* 10% bonus for ally you trade with */
-/* end opt_TRADESHIPS */
int torpedo_damage = 40; /* damage is X + 1dX + 1dX, so 40+1d40+1d40 */
int opt_SAIL = 1;
int opt_SUPER_BARS = 0;
int opt_TECH_POP = 0;
-int opt_TRADESHIPS = 0;
int opt_TREATIES = 1;
2 "cs cargo ship" 60 40 20 500
3 "os ore ship" 60 40 20 500
4 "ss slave ship" 60 40 0 300
- 5 "ts trade ship" 200 100 30 1750
+# Uncomment to enable trade ships
+# 5 "ts trade ship" 200 100 30 1750
6 "frg frigate" 30 30 0 600
7 "oe oil exploration boat" 25 15 40 800
8 "od oil derrick" 60 60 50 1500
2 "cs cargo ship" 20 25 35 3 0 0 2 0 0 1
3 "os ore ship" 20 25 35 3 0 0 0 0 0 1
4 "ss slave ship" 20 10 35 3 0 0 0 0 0 1
- 5 "ts trade ship" 20 25 35 3 0 0 0 0 0 1
+# 5 "ts trade ship" 20 25 35 3 0 0 0 0 0 1
6 "frg frigate" 50 25 25 3 1 1 2 0 0 1
7 "oe oil exploration boat" 10 25 15 2 0 0 0 0 0 0
8 "od oil derrick" 30 15 65 3 0 0 0 0 0 2
2 "cs cargo ship" 600 50 300 50 0 0 0 0 900 0 1400 900 250 0 (supply)
3 "os ore ship" 30 5 0 0 0 990 990 0 200 0 0 0 45 990 ()
4 "ss slave ship" 20 80 0 0 0 0 0 0 200 0 0 0 1200 0 ()
- 5 "ts trade ship" 50 50 0 0 0 0 0 0 100 0 0 0 0 0 (trade)
+# 5 "ts trade ship" 50 50 0 0 0 0 0 0 100 0 0 0 0 0 (trade)
6 "frg frigate" 0 60 10 2 0 0 0 0 60 0 0 0 0 0 (semi-land)
7 "oe oil exploration boat" 10 5 0 0 0 0 0 0 100 1 0 0 0 0 (oil canal)
8 "od oil derrick" 990 80 0 0 0 0 0 0 990 990 0 0 990 0 (oil)
continue;
if (mchr[i].m_tech > tlev)
continue;
- if ((mchr[i].m_flags & M_TRADE) && !opt_TRADESHIPS)
- continue;
chridx[n].type = i;
chridx[n].tech = mchr[i].m_tech;
n++;
sp->shp_x, sp->shp_y, sp->shp_uid);
return;
}
- if (CANT_HAPPEN(!opt_TRADESHIPS
- || !(mchr[sp->shp_type].m_flags & M_TRADE)))
+ if (CANT_HAPPEN(!(mchr[sp->shp_type].m_flags & M_TRADE)))
return;
if (!scuttle_tradeship(sp, 0)) {
wu(0, sp->shp_own,