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 @@
# 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