config: Make work to build units independently configurable

The work required for build and repairs is traditionally a function of
build materials: 20 + lcm + 2*hcm for ships, planes and land units,
and (lcm + 2*hcm + oil + rad)/5 for nukes.  Make it independently
configurable instead, via new ship-chr, plane-chr, land-chr, nuke-chr
selector bwork, backed by new struct mchrstr member m_bwork, struct
plchrstr member pl_bwork, struct lchrstr member l_bwork, struct
nchrstr member n_bwork.  Keep the required work exactly the same for
now.

Clients that compute work from materials need to be updated.  Easy,
since build work is now exposed in xdump.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2016-05-27 13:39:11 +02:00
parent 14af586b57
commit 68c7c08a58
19 changed files with 319 additions and 351 deletions

View file

@ -27,7 +27,7 @@
# land.config: Land unit characteristics
#
# Known contributors to this file:
# Markus Armbruster, 2006-2011
# Markus Armbruster, 2006-2016
#
# Derived from land.c; known contributors:
# Thomas Ruschak, 1992
@ -43,29 +43,29 @@
# econfig key custom_tables.
config land-chr
type name l_b h_b tech cost ...
0 "cav cavalry" 10 5 30 500
1 "linf light infantry" 8 4 40 300
2 "inf infantry" 10 5 50 500
3 "mtif motor inf" 15 10 190 400
4 "mif mech inf" 15 10 190 800
5 "mar marines" 10 5 140 1000
6 "sup supply" 10 5 50 500
7 "tra train" 100 50 40 3500
8 "spy infiltrator" 10 5 40 750
9 "com commando" 10 5 55 1500
10 "aau aa unit" 20 10 70 500
11 "art artillery" 20 10 35 800
12 "lat lt artillery" 20 10 70 500
13 "hat hvy artillery" 40 20 100 800
14 "mat mech artillery" 20 10 200 1000
15 "eng engineer" 10 5 130 3000
16 "meng mech engineer" 10 5 260 4500
17 "lar lt armor" 10 5 150 600
18 "har hvy armor" 20 10 120 500
19 "arm armor" 20 10 170 1000
20 "sec security" 10 5 170 600
21 "rad radar unit" 10 5 270 1000
type name l_b h_b bwork tech cost ...
0 "cav cavalry" 10 5 40 30 500
1 "linf light infantry" 8 4 36 40 300
2 "inf infantry" 10 5 40 50 500
3 "mtif motor inf" 15 10 55 190 400
4 "mif mech inf" 15 10 55 190 800
5 "mar marines" 10 5 40 140 1000
6 "sup supply" 10 5 40 50 500
7 "tra train" 100 50 220 40 3500
8 "spy infiltrator" 10 5 40 40 750
9 "com commando" 10 5 40 55 1500
10 "aau aa unit" 20 10 60 70 500
11 "art artillery" 20 10 60 35 800
12 "lat lt artillery" 20 10 60 70 500
13 "hat hvy artillery" 40 20 100 100 800
14 "mat mech artillery" 20 10 60 200 1000
15 "eng engineer" 10 5 40 130 3000
16 "meng mech engineer" 10 5 40 260 4500
17 "lar lt armor" 10 5 40 150 600
18 "har hvy armor" 20 10 60 120 500
19 "arm armor" 20 10 60 170 1000
20 "sec security" 10 5 40 170 600
21 "rad radar unit" 10 5 40 270 1000
/config
config land-chr

View file

@ -27,7 +27,7 @@
# nuke.c: Nuke characteristics
#
# Known contributors to this file:
# Markus Armbruster, 2006-2011
# Markus Armbruster, 2006-2016
#
# Derived from nuke.c.
#
@ -40,18 +40,18 @@
# econfig key custom_tables.
config nuke-chr
type name l_b h_b o_b r_b bla dam cost tech wei flags
0 "10kt fission" 50 50 25 70 3 70 10000 280 4 ()
1 "15kt fission" 50 50 25 80 3 90 15000 290 5 ()
2 "50kt fission" 60 60 30 90 3 100 25000 300 6 ()
3 "100kt fission" 75 75 40 120 4 125 30000 310 8 ()
4 "5kt fusion" 15 15 15 30 2 80 12500 315 1 ()
5 "75kt fusion" 40 40 35 50 3 90 20000 320 3 ()
6 "250kt fusion" 50 50 45 60 4 110 25000 330 4 ()
7 "500kt fusion" 60 60 50 80 5 120 35000 340 5 ()
8 "1mt fusion" 75 75 50 110 6 150 40000 350 5 ()
9 "60kt neutron" 60 60 30 100 3 30 30000 355 2 (neutron)
10 "3mt fusion" 100 100 75 130 7 170 45000 360 6 ()
11 "5mt fusion" 120 120 100 150 8 190 50000 370 8 ()
12 "120kt neutron" 75 75 40 120 5 50 36000 375 3 (neutron)
type name l_b h_b o_b r_b bwork bla dam cost tech wei flags
0 "10kt fission" 50 50 25 70 49 3 70 10000 280 4 ()
1 "15kt fission" 50 50 25 80 51 3 90 15000 290 5 ()
2 "50kt fission" 60 60 30 90 60 3 100 25000 300 6 ()
3 "100kt fission" 75 75 40 120 77 4 125 30000 310 8 ()
4 "5kt fusion" 15 15 15 30 18 2 80 12500 315 1 ()
5 "75kt fusion" 40 40 35 50 41 3 90 20000 320 3 ()
6 "250kt fusion" 50 50 45 60 51 4 110 25000 330 4 ()
7 "500kt fusion" 60 60 50 80 62 5 120 35000 340 5 ()
8 "1mt fusion" 75 75 50 110 77 6 150 40000 350 5 ()
9 "60kt neutron" 60 60 30 100 62 3 30 30000 355 2 (neutron)
10 "3mt fusion" 100 100 75 130 101 7 170 45000 360 6 ()
11 "5mt fusion" 120 120 100 150 122 8 190 50000 370 8 ()
12 "120kt neutron" 75 75 40 120 77 5 50 36000 375 3 (neutron)
/config

View file

@ -27,7 +27,7 @@
# plane.config: Plane characteristics
#
# Known contributors to this file:
# Markus Armbruster, 2006-2011
# Markus Armbruster, 2006-2016
#
# Derived from plane.c; known contributors:
# Dave Pare, 1986
@ -45,42 +45,42 @@
# econfig key custom_tables.
config plane-chr
type name l_b h_b cre tech cost ...
0 "f1 Sopwith Camel" 8 2 1 50 400
1 "f2 P-51 Mustang" 8 2 1 80 400
2 "jf1 F-4 Phantom" 12 4 2 125 1000
3 "jf2 AV-8B Harrier" 12 4 2 195 1400
4 "sf F-117A Nighthawk" 15 5 2 325 3000
5 "es P-38 Lightning" 9 3 1 90 700
6 "jes F-14E jet escort" 14 8 2 160 1400
7 "lb TBD-1 Devastator" 10 3 1 60 550
8 "jl A-6 Intruder" 14 4 2 130 1000
9 "mb medium bomber" 14 5 3 80 1000
10 "jfb FB-111 Aardvark f/b" 20 10 5 140 1800
11 "hb B-26B Marauder" 20 6 2 90 1100
12 "jhb B-52 Strato-Fortress" 26 13 5 150 3200
13 "sb B-2 stealth bomber" 15 5 2 325 4000
14 "as anti-sub plane" 10 3 2 100 550
15 "np naval plane" 20 10 4 135 1800
16 "nc AH-1 Cobra" 8 2 2 160 800
17 "ac AH-64 Apache" 8 2 2 200 800
18 "tc transport chopper" 8 2 2 135 800
19 "tr C-56 Lodestar" 14 5 3 85 1000
20 "jt C-141 Starlifter" 18 5 3 160 1500
21 "zep Zeppelin" 6 2 3 70 1000
22 "re recon" 12 4 2 130 800
23 "sp E2-C Hawkeye" 15 5 2 190 2000
24 "lst landsat" 20 20 0 245 2000
25 "ss KH-7 spysat" 20 20 0 305 4000
26 "mi Harpoon" 8 2 0 160 300
27 "sam Sea Sparrow" 3 1 0 180 200
28 "ssm V2" 15 15 0 145 800
29 "srbm Atlas" 20 20 0 200 1000
30 "irbm Titan" 20 20 0 260 1500
31 "icbm Minuteman" 20 20 0 310 3000
32 "slbm Trident" 20 20 0 280 2000
33 "asat anti-sat" 20 20 0 305 2000
34 "abm Patriot" 16 8 0 270 1500
type name l_b h_b cre bwork tech cost ...
0 "f1 Sopwith Camel" 8 2 1 32 50 400
1 "f2 P-51 Mustang" 8 2 1 32 80 400
2 "jf1 F-4 Phantom" 12 4 2 40 125 1000
3 "jf2 AV-8B Harrier" 12 4 2 40 195 1400
4 "sf F-117A Nighthawk" 15 5 2 45 325 3000
5 "es P-38 Lightning" 9 3 1 35 90 700
6 "jes F-14E jet escort" 14 8 2 50 160 1400
7 "lb TBD-1 Devastator" 10 3 1 36 60 550
8 "jl A-6 Intruder" 14 4 2 42 130 1000
9 "mb medium bomber" 14 5 3 44 80 1000
10 "jfb FB-111 Aardvark f/b" 20 10 5 60 140 1800
11 "hb B-26B Marauder" 20 6 2 52 90 1100
12 "jhb B-52 Strato-Fortress" 26 13 5 72 150 3200
13 "sb B-2 stealth bomber" 15 5 2 45 325 4000
14 "as anti-sub plane" 10 3 2 36 100 550
15 "np naval plane" 20 10 4 60 135 1800
16 "nc AH-1 Cobra" 8 2 2 32 160 800
17 "ac AH-64 Apache" 8 2 2 32 200 800
18 "tc transport chopper" 8 2 2 32 135 800
19 "tr C-56 Lodestar" 14 5 3 44 85 1000
20 "jt C-141 Starlifter" 18 5 3 48 160 1500
21 "zep Zeppelin" 6 2 3 30 70 1000
22 "re recon" 12 4 2 40 130 800
23 "sp E2-C Hawkeye" 15 5 2 45 190 2000
24 "lst landsat" 20 20 0 80 245 2000
25 "ss KH-7 spysat" 20 20 0 80 305 4000
26 "mi Harpoon" 8 2 0 32 160 300
27 "sam Sea Sparrow" 3 1 0 25 180 200
28 "ssm V2" 15 15 0 65 145 800
29 "srbm Atlas" 20 20 0 80 200 1000
30 "irbm Titan" 20 20 0 80 260 1500
31 "icbm Minuteman" 20 20 0 80 310 3000
32 "slbm Trident" 20 20 0 80 280 2000
33 "asat anti-sat" 20 20 0 80 305 2000
34 "abm Patriot" 16 8 0 52 270 1500
/config
config plane-chr

View file

@ -27,7 +27,7 @@
# ship.config: Ship characteristics
#
# Known contributors to this file:
# Markus Armbruster, 2006-2015
# Markus Armbruster, 2006-2016
#
# Derived from ship.c; known contributors:
# Dave Pare, 1986
@ -45,45 +45,45 @@
# econfig key custom_tables.
config ship-chr
type name l_b h_b tech cost ...
0 "fb fishing boat" 25 15 0 180
1 "ft fishing trawler" 25 15 35 300
2 "cs cargo ship" 60 40 20 500
3 "os ore ship" 60 40 20 500
4 "ss slave ship" 60 40 0 300
type name l_b h_b bwork tech cost ...
0 "fb fishing boat" 25 15 75 0 180
1 "ft fishing trawler" 25 15 75 35 300
2 "cs cargo ship" 60 40 160 20 500
3 "os ore ship" 60 40 160 20 500
4 "ss slave ship" 60 40 160 0 300
# 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
9 "pt patrol boat" 20 10 40 300
10 "lc light cruiser" 30 40 45 800
11 "hc heavy cruiser" 40 50 50 1200
12 "tt troop transport" 50 50 10 800
13 "bb battleship" 50 70 45 1800
14 "bbc battlecruiser" 50 60 75 1500
15 "tk tanker" 60 40 35 600
16 "ms minesweeper" 25 15 40 400
17 "dd destroyer" 30 30 70 600
18 "sb submarine" 30 30 60 650
19 "sbc cargo submarine" 40 40 150 1200
20 "cal light carrier" 50 60 80 2700
21 "car aircraft carrier" 60 70 160 4500
22 "can nuc carrier" 70 80 305 8000
23 "ls landing ship" 60 40 145 1000
24 "af asw frigate" 40 30 220 800
25 "na nuc attack sub" 30 40 260 1200
26 "ad asw destroyer" 40 40 240 1500
27 "nm nuc miss sub" 30 40 270 1500
28 "msb missile sub" 30 30 230 1200
29 "mb missile boat" 20 20 180 500
30 "mf missile frigate" 40 30 280 1000
31 "mc missile cruiser" 50 50 290 1500
32 "aac aa cruiser" 50 60 130 1500
33 "agc aegis cruiser" 50 60 265 4000
34 "ncr nuc cruiser" 50 50 325 1800
35 "nas nuc asw cruiser" 50 50 330 1800
36 "nsp nuc supply ship" 60 40 360 1500
# 5 "ts trade ship" 200 100 420 30 1750
6 "frg frigate" 30 30 110 0 600
7 "oe oil exploration boat" 25 15 75 40 800
8 "od oil derrick" 60 60 200 50 1500
9 "pt patrol boat" 20 10 60 40 300
10 "lc light cruiser" 30 40 130 45 800
11 "hc heavy cruiser" 40 50 160 50 1200
12 "tt troop transport" 50 50 170 10 800
13 "bb battleship" 50 70 210 45 1800
14 "bbc battlecruiser" 50 60 190 75 1500
15 "tk tanker" 60 40 160 35 600
16 "ms minesweeper" 25 15 75 40 400
17 "dd destroyer" 30 30 110 70 600
18 "sb submarine" 30 30 110 60 650
19 "sbc cargo submarine" 40 40 140 150 1200
20 "cal light carrier" 50 60 190 80 2700
21 "car aircraft carrier" 60 70 220 160 4500
22 "can nuc carrier" 70 80 250 305 8000
23 "ls landing ship" 60 40 160 145 1000
24 "af asw frigate" 40 30 120 220 800
25 "na nuc attack sub" 30 40 130 260 1200
26 "ad asw destroyer" 40 40 140 240 1500
27 "nm nuc miss sub" 30 40 130 270 1500
28 "msb missile sub" 30 30 110 230 1200
29 "mb missile boat" 20 20 80 180 500
30 "mf missile frigate" 40 30 120 280 1000
31 "mc missile cruiser" 50 50 170 290 1500
32 "aac aa cruiser" 50 60 190 130 1500
33 "agc aegis cruiser" 50 60 190 265 4000
34 "ncr nuc cruiser" 50 50 170 325 1800
35 "nas nuc asw cruiser" 50 50 170 330 1800
36 "nsp nuc supply ship" 60 40 160 360 1500
/config
config ship-chr