power: Saner power value for tech, particularly at low tech
In the old times, power didn't consider tech at all. Chainsaw's option NEWPOWER (mandatory since v4.2.14, on by default before) changed this dramatically: the power factor gets multiplied by max(1, tech) / 500. In the early game, small absolute tech differences yield large power factor differences. For instance, if country A has tech level 10, and B has 5, then A gets a factor two boost. As the game progresses, tech differences between viable countries tend to grow, but only slowly. The influence on power diminishes. For instance, if C has tech level 270 and D has 240 (quite a respectable tech lead), then C gets a modest 1.125x boost over D. Change the factor to (20 + tech) / 500. Now A's advantage is only 1.2, and C's is 1.115. You might think that's rather low. However, tech is not power unless you project it, and then it manifests itself as sectors, population and other stuff power counts. The same tech term occurs in plane power, except with just tech instead of max(1, tech) . Change it there as well, for consistency. Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
parent
84ab8ed09e
commit
d48851c0ac
4 changed files with 183 additions and 183 deletions
|
@ -274,7 +274,7 @@ gen_power(struct powstr *powbuf, int save)
|
|||
pow->p_planes += 1.0;
|
||||
natp = getnatp(plane.pln_own);
|
||||
pow->p_power += 20 * (plane.pln_effic / 100.0) *
|
||||
(natp->nat_level[NAT_TLEV] / 500.0);
|
||||
(20 + natp->nat_level[NAT_TLEV]) / 500.0;
|
||||
}
|
||||
for (i = 1; NULL != (natp = getnatp(i)); i++) {
|
||||
pow = &powbuf[i];
|
||||
|
@ -290,7 +290,7 @@ gen_power(struct powstr *powbuf, int save)
|
|||
pow->p_power += pow->p_sects
|
||||
* (pow->p_effic / pow->p_sects / 100.0)
|
||||
* 10.0;
|
||||
pow->p_power *= MAX(1.0, natp->nat_level[NAT_TLEV]) / 500.0;
|
||||
pow->p_power *= (20 + natp->nat_level[NAT_TLEV]) / 500.0;
|
||||
/* ack. add this vec to the "world power" element */
|
||||
f_pt2 = &powbuf[0].p_sects;
|
||||
f_ptr = &pow->p_sects;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue