Commit graph

486 commits

Author SHA1 Message Date
2a1e039834 Fix "info Products" on how to query sector type p.e.
It's show sect capabilities, not stats.
2013-05-08 06:57:58 +02:00
3c84a8756e Improve how mksubj.pl reports malformed .SA argument 2013-05-08 06:57:57 +02:00
5d8f33f6ad .SA should come last, make mksubj.pl enforce it 2013-05-08 06:57:57 +02:00
21762a2c53 Subject pages confuse topics and subjects, fix
Confused since they were added in Empire 2.
2013-05-08 06:57:57 +02:00
bc8e3d3ffc Slightly less crude "info page is long" decision
"Unusually long" topics are marked with a "!" in subject indexes.
This should use the line count of the formatted page, but that's too
much trouble, so commit 4c0b4c0 (v4.3.27) approximated it by "source
file has more than 9999 bytes".  Change that to "source file has more
than 300 lines".
2013-05-08 06:57:57 +02:00
cd4cd8d0f7 Simplify how mksubj.pl keeps track of the subjects' topics
Extend global variable %Subjects to hold topics.  Drop global
variables %subject and %largest.
2013-05-08 06:57:57 +02:00
c8bd8202ce Simplify how mksubj.pl parses argument of .SA
Call parse_see_also() immediately.  Permits eliminating global
variables %see_also and %sanr.
2013-05-08 06:57:57 +02:00
156930c515 Make mksubj.pl touch subject files only when it needs to change
Avoids unnecessary reformatting of subject pages again.
2013-05-08 06:57:57 +02:00
890e88d149 Declare subjects instead of picking them up automatically
Since subjects were added in Empire 2, we've always picked them up
from .SA requests.  If you mistype a subject there, you get a "is a
NEW subject" warning, and incorrect subject pages.  When building a
pristine tree, you get bogus "is a NEW subject" warnings for all
subjects.  If you somehow delete the generated subjects.mk, but not
the generated subject files, the build breaks.

Declare subjects in Make variable subjects.  Drop generated makefile
subject.mk.

Treat unknown topics in .SA arguments as errors.  This replaces the
"$subj is a NEW subject" warning.

Treat subjects without member pages as errors.  This replaces the "The
subject $subj has been removed" warning.

Safer and simpler.
2013-05-08 06:57:57 +02:00
cbed134d81 Fix remaking of info subject pages
We used to do all the info indexing work in info.pl: find subjects,
create subjects.mk (to tell make the list of subjects), the subject
pages, and TOP.t.  Worked, but touching an info page triggered a full
rebuild of all subject pages and TOP.t.

Commit 2f14064 (v4.3.0) tried to avoid that by splitting info.pl into
findsubj.pl, mksubj.pl, mktop.pl.  findsubj.pl puts not just the
subjects into subjects.mk, but also make rules for the subject pages,
to guide their remaking.  mksubj.pl creates a single subject page.
mktop.pl creates TOP.t.

Unfortunately, this doesn't work so well.  Since subjects.mk doesn't
exist in a virgin tree, we use -include.  Unwanted consequence:
findsubj.pl failure doesn't stop make.  Moreover, the complex make
machinery breaks down when info sources get removed or subjects get
dropped.

Go back to the old method, except keep mktop.pl separate, as that part
works just fine, and use simpler make rules.  mksubj.pl now creates
subjects.mk and all subject pages, like info.pl did.

This effectively reverts most of commit 2f14064.  I'll address the
excessive rebuilding of subject pages in a different way shortly.
2013-05-08 06:57:57 +02:00
a2338a1db4 Pass subjects instead of subject filenames to info/mktop.pl
mktop.pl doesn't actually use the files, so this is simpler and
clearer.
2013-05-08 06:57:57 +02:00
9760dc9d12 Update info lost example to current output
Looks like this hasn't been done since Peter Langston's days...
2013-05-08 06:57:57 +02:00
e8742793e6 Drop trailing space in output of financial 2013-05-08 06:57:57 +02:00
14b31911dc Clean up some trailing whitespace 2013-05-08 06:57:57 +02:00
e9a69b6bc9 Replace .SA Obsolete by .LV Obsolete
Mark obsolete pages with '+' in subject pages.  Drop the separate
"Obsolete" subject page: move "info Innards" to subject "Server", and
"info update" to "Updates" (where it came from in commit a5764534,
v4.3.10).
2013-05-08 06:57:56 +02:00
b372ddeab4 Suppress explanation of '*' flag in subject pages when not used 2013-05-08 06:57:56 +02:00
f66a28079b Replace 'our' by 'my' in Perl scripts 2013-05-08 06:57:56 +02:00
5bf310e6b0 Convert "info Damage" from random(N) to 1dN notation 2013-05-08 06:55:20 +02:00
146454a6db Fix "info Damage" for shells, depth charges and torpedoes
Each random() is off by one there.
2013-05-08 06:55:20 +02:00
5507ff3116 Clean up land unit retreat chance and fix its documentation
Change chance in percent lnd_retreat - lnd_effic - 1 to lnd_retreat -
lnd_effic.  It's been that way since Empire 2, but I can't bring
myself to document the silly -1.

"info morale" wasn't updated when the retreat chance was changed in
Empire 2.  Fix that.
2013-05-08 06:55:19 +02:00
f18c46824d Clean up and document nuclear damage's chance to destroy nuke
Change chance in percent from damage-1 to damage.  It's always been
damage-1, but I can't bring myself to document the silly -1.
2013-05-08 06:55:19 +02:00
6fbc291272 anti, give, grind take <SECTS> argument, fix their documentation 2013-01-12 17:56:26 +01:00
df4925d696 Update copyright notice 2013-01-12 17:45:01 +01:00
3d7383c548 Fix headline pasto in info lookout
Already present in BSD Empire 1.1.  Reported by Harald Katzer.
2012-08-04 12:11:55 +02:00
612ec6257d Pilots and air cargo now spread the plague
Planes flying one-way with crew or cargo spread plague from their old
base to their new base.  Planes dropping cargo spread plague from
their base to the drop's target sector.
2012-07-13 20:15:33 +02:00
a8739d86e3 Clarify info Plague slightly 2012-07-13 20:15:33 +02:00
bf11d42c87 Fix info bdes on funny designation arguments
Quoting "?" was accidentally fixed in commit 90631d56, v4.3.11.
Update documentation accordingly.

Closes #736592.
2012-06-11 17:02:15 +02:00
1118f1c0ca Update copyright notice 2012-06-10 10:52:22 +02:00
b385ed90eb Update change log again for 4.3.30 2012-05-22 20:56:59 +02:00
6c5dfc870e Update change log again for 4.3.30 2012-05-05 16:18:14 +02:00
b4b38bf859 Fix typo in change log 2012-05-05 09:17:00 +02:00
fe33d92ed0 Update change log again for 4.3.30 2012-05-01 18:39:35 +02:00
4aaea42a83 Update change log for 4.3.30 2012-04-26 20:15:48 +02:00
918f3ec6ae Separate max_idle_visitor from max_idle
Cut it to 5 minutes, from max_idle's 15.

Since max_idle now applies only to authenticated players, increasing
it is perfectly safe.
2012-04-26 19:57:19 +02:00
7aa71376a0 Clean up info sect on highlighting
Don't say selected sectors "show up in reverse video", that depends on
the client.  Just say "will be highlighted", like we do for the other
commands that highlight, e.g. info survey.
2012-02-21 18:12:23 +01:00
1c24a812e8 Final change log polish for 4.3.29 2012-01-20 20:21:51 +01:00
46d36f1975 Update change log for 4.3.29 2012-01-15 19:47:04 +01:00
373f20a8b5 Rename add argument "new" to "player"
This makes the correct choice for player countries obvious.  Keep
recognizing "new" for now, but deprecate it.
2011-12-29 11:47:05 +01:00
3fb00c79d9 Drop add argument "active"
Argument "active" is obscure.  It creates a country in STAT_ACTIVE
that doesn't have a capital, and has its origin at the true origin.
If you really want such a country, create it in STAT_NEW normally,
then use edit to go to STAT_ACTIVE.
2011-12-29 11:47:05 +01:00
62f0da239f Drop add's obscure sector check and wipe functionality
If you really need to wipe out a country, there's much more to wipe
than just sectors.
2011-12-29 11:47:05 +01:00
845fc9eb56 Fix info sell on second argument
Empire 3 changed it to a single sector, but neglected to update info.
2011-12-29 11:47:04 +01:00
b7594e6570 Update change log for 4.3.28 2011-07-16 13:47:48 +02:00
8ccad0d779 Units no longer die from lack of maintenance
Damage due to lack of maintenance is now limited by the unit's minimum
efficiency.

Before, units could die.  Unfortunately, the update left any embarked
units on their dead carrier.  Should have seen this when I fixed a
related bug in commit c2c0d1ff, v4.3.22.  Broken for ships and land
units when Empire 2 added their maintenance cost, and for planes when
commit 2e40a4bb (v4.3.4) replaced nuclear stockpiles by nuke units.
The common root cause of these bugs is the update bypassing pre-write
functions (bug#1010856).

If another unit with the same number got built, it picked up the stuck
cargo, triggering the oops from commit 6fb5caf6, which see.

In "stuck on dead carrier" state, units pretty much behave as if their
carrier was still alive, with additional protection from the fact that
a dead carrier can't be damaged or boarded.

The server detects this state on startup since commit 7da9aab5, and
refuses to start.

Only a deity can take units off a dead carrier.
2011-07-10 21:08:50 +02:00
8621911b4d Belatedly update info Maintenance for removed budget priorities
Missed in commit 520446ef, v4.3.6.
2011-07-10 11:43:44 +02:00
93edcf0ac4 Remove option LANDSPIES, customize table land-chr instead
Spy units are now enabled when a land unit type with capability spy
exists.  To disable them, deities have to customize table land-chr.

Before, spy units types were ignored when option LANDSPIES was
disabled.  Except for xdump land-chr, which happily dumped unusable
spy unit types.
2011-06-25 16:53:02 +02:00
352bc320d2 Remove option TRADESHIPS, customize table ship-chr instead
Trade ships are now enabled when a ship type with capability trade
exists.  No such type exists by default; to enable trade ships,
deities have to customize table ship-chr.

Before, trade ship types were ignored when option TRADESHIPS was
disabled.  Except for xdump ship-chr, which happily dumped unusable
trade ship types.
2011-06-25 16:52:08 +02:00
61fa1c026b Clean up extra headline in info Bridges 2011-04-18 19:17:12 +02:00
4078c31713 Update info History and Overview to cover 1998-present 2011-04-18 19:17:11 +02:00
c1cdc7aa22 Clean up info Bugs
Add bug reporting instructions.

Drop the bugs documented as fixed.  File was last changed in Empire 2,
so these have been fixed for a while...

Remaining bugs:

    The classification scheme used by report is dumb.

It still is.

    You can make a sector temporarily useless by filling up all its
    fields with delivery and distribution information.  This is useful
    when an enemy is trying to capture the sector (his mil don't have
    room to move in :-) You have to halt some of the deliveries or
    distributions to make room for the military to move in.  (Mostly
    fixed by changing the number of available fields)

Fixed since 4.2.14 eliminated `variables'.  Delete.

    Warehouses can't distribute all commodities simultaneously, due to
    limited fields for this information.  This becomes a problem if
    you have a countrywide network of warehouses distributing to each
    other.  (Mostly fixed by changing the number of available fields)

Fixed since 4.2.14 eliminated `variables'.  Delete.

    You can sometimes move small quantities of certain items from
    warehouses at no mobility cost, even into mountains (this is my
    favorite bug, I'd hate to see it fixed :-)

Feature; delete.

    Guerrillas don't seem to carry the plague.

They still don't.

    You can sometimes trick someone into paying a huge price for
    commodities by changing the price suddenly.  Therefore one should
    always check prices when buying commodities.

You can't increase prices anymore.  Delete.

    When two countries are attacking each other simultaneously, you
    can sometimes move into a sector he is in the process of
    attacking.  If you get the timing right, he will take the sector
    but you will get it back, along with all his military.

Can't reproduce; delete.

    If a plane is out to trade, and gets shot down, it can still be
    bought until the next update.  If another country builds a new
    plane that gets the number of the plane that was shot down, the
    new plane will go on the trading market automatically.  Then if
    that plane is bought, the money goes to the country whose plane
    was shot down, not the country that built the plane.  I stole
    numerous planes (including nuclear missiles :-) this way (by
    deliberately putting low numbered planes up for trade, then having
    them shot down).

Planes on a trading block can't get shot down, because they can't fly.
They can get destroyed on the ground, though.  A new plane with the
same number still goes on the market automatically.  Same for ships,
land units and nukes.  check_trade() deletes a trade when the object's
owner changed.  Reword the paragraph accordingly.

    If a plane has negative mobility, then gets traded, mobility goes to 0.

Still correct.

    Firing on sectors with land-locked sunken ships does strange
    things.

Can't reproduce; delete.

    If two countries are cooperating, its possible to raid an enemy
    airport and steal the planes by putting them out to trade.

Still correct.

    You can also strip enemy sectors of commodities using "sell", if
    you have military control temporarily.

Requires mobility now.  Delete.

    One can make work go back to 100 everywhere in a country by moving
    all civil- ians in low-work sectors onto a bridge, then collapsing
    the bridge.  Work then goes to 100 at the next update, if you
    leave some mil in the vacated sectors.  Or you can move mil out
    too, letting the sector ownership change to the Deity, then move
    back in from a 100% working sector, and work goes immediately to
    100.

Feature; delete.

    Two cooperative countries can move commodities around at no
    mobility cost using the market.

Still correct.

    You can collapse enemy bridges by making a lightning raid on his
    bridgeheads and redesignating them, even if you only hold the
    bridgehead for a short time.  (In this games, bridges work
    differently, see info build, info bridges")

Still correct.  The parenthesis is cryptic, though; delete it.

    You can map out enemy territory by raiding his radar stations.

Feature; delete.

    Condition checking is very treacherous.  Global commands with
    conditions are unreliable.  I never figured out exactly what was
    wrong, although I think your method of putting conditions towards
    the front of the line helped sometimes.

Can't reproduce; delete.

    You can have more than 26 ships in a fleet, but only the first 26
    will move when you navigate the fleet (I think 26 is the right
    number, but I'm not cer- tain.  It might be 32).

Can't reproduce; delete.

    "Look" only spots subs (from destroyers) at a certain distance.
    If you are too close you won't see them (unless you are in the
    same sector).

Can't reproduce; delete.

    You can only fly as many planes on a mission as you can fit on the
    command line (so low numbered planes have an advantage this way).
    USE WINGS

The real issue here is truncation of long input lines.  Replace.

    When a sector has a visible ship, radar doesn't show whether the
    sector is land or sea, just the ship.  This has interesting
    possibilities for exploita- tion (like land-locking a battleship
    in your capital in order to deceive the enemy :-)

Feature; delete.

    I don't think you can land planes on a land-locked aircraft
    carrier anymore.

Yes, you can.  Is that good or bad?  Anyway, delete.

    Its common to mistakenly set the price of a plane or ship
    incorrectly so one should check trade after using set.

Pilot error; delete.

    The "must be accepted by" date on offered loans is bogus.

Why is it bogus?  The date looks good to me.  The offer expires at
that time.  Delete.

    "Turn off" doesn't stop updates.

Feature; delete.
2011-04-18 19:17:11 +02:00
631e55bf54 Update change log again for 4.3.27 2011-04-17 18:20:34 +02:00