I've tested this a lot, and I think these are good numbers to go by.
Plasma damage has been limited the most, because it is the upgrade
that quickly breaks the balance of the weapons, making the plasma
cannon the obviously most powerful weapon. I don't want this; the
powerful weapon should be the secondary weapon, while the plasma
cannon is the fast-firing weapon with much more ammo.
Basically, I want to make a tactic I found myself using, which was
to carefully keep my plasma power at maximum and take out most
enemies in one plasma shot, obsolete. As a result, missiles should
now be much more cost-effective (because even a single missile's
power of 15 greatly exceeds plasma's maximum power of 3*2=6).
None of these reductions in limits apply to easy mode; that mode
still has the old limits of 3 for min and 5 for max.
The way it was previously, it was tactically beneficial to ignore
temporary upgrades, if you were going to do a permanent upgrade to
that level anyway. This is silly. Now, you don't lose anything by
making the temporary upgrade first. You just get lesser access to
the upgrade earlier on.
I don't really understand why the original developer felt that
increased firing rate was so superior to the other upgrades as to
justify a far more inflated cost. Frankly, I find this upgrade to
be *inferior* to the power and output upgrades, for two reasons:
one, it doesn't increase the amount of damage inflicted per second
much; two, it increases plasma ammo usage as well, whereas the output
and power upgrades have no effect on plasma ammo usage. If anything,
firing rate upgrades should be *cheaper*, not more expensive!
It's incredibly silly for it to be 10; what's the advantage of the
double homing missile launcher over the regular homing missile launcher
otherwise? It's just much slower and less versatile. Now it should
be slightly better, because you can effectively shoot 30 missiles
total, instead of just 20.
(Micro homing missiles are different; the advantage of having several
weak missiles instead of a smaller numer of strong missiles is
actually quite significant.)
The source code contains routines to initialise all these resources, but also
functions to load from and store to external files. Support for external files
has now been removed; this removes a potential difference between compiling
with or without USEPAK, and makes it easier to change missions in the code.