Attempting to unload land units from a carrier that can't carry any
prompts for land units to unload, while attempting to unload planes or
load land units or planes fails without prompting.
Fix this inconsistency by making unload and lunload fail early for
land units, just like they do for planes.
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
load and lload skip foreign ships unless explicitly named, and
suppress some error messages for ships not explicitly named. Makes
sense, except the check for "explicitly named" is flawed: it checks
whether the argument starts with a digit. Works as intended for lists
like 1/2/3. Broken for areas that happen to start with a digit, such
as 0:9,0:5. Visible in the load-tend test.
Screwed up when the feature was added in Empire 2.
Fix the obvious way: test for NS_LIST instead. While there, drop the
p && *p guard, because it's always true after snxtitem().
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
Exercise load, unload, lload, lunload, tend, and ltend.
Notable coverage gaps:
* Effect on land unit fortification
* Effect on mission and retreat orders
* Ships, land units and planes on sale (option MARKET 1)
* Transmission of plague (option NO_PLAGUE 0)
* Land units loading and unloading civilians (need a custom land unit
type capable of carrying civilians)
* load refusing to load x-light planes (need a custom ship type that
can carry helo but not x-light)
* load and lload refusing to load land units carrying land units, and
lload refusing to load land units onto land units that are being
carried (need a custom non-heavy land unit type that can carry land
units)
* tend refusing to tend non-light land units to non-supply ships, or
to supply ships without room (need custom a non-light assault land
unit type)
This test exposes bugs. They're marked "BUG:" in the test input.
There are also oddities marked "odd:", and usability issues marked
"usability:".
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>