word      Action that Failed
word      Ship Id (0 if not applicable)
word      Planet Id (0 if not applicable)
word      Cause
...optional addition data

Sent when: some action fails

Sent to: owner of the unit which tried the action

This record is intended as a general failure report mechanism, to avoid the need to guess why an order didn't work.

The Action field contains the action that failed; by convention, this is a utilX.dat record number, or a larger number if there is no equivalent record. The Cause field contains a standard failure code. The record provides space for optional additional data which is currently not used.

Failure codes: The following Cause codes are currently defined. Not all of them are already used.

CodeMeaning
0Random chance
1Insufficient fuel
2Excess damage
3Ionic pulse
4Wormhole Travel
5Tachyon pulse
6Ion storm
10Lacking resources
11Lacking tech
12No receiver unit
13Feature disabled by host
14Not allowed by rule
15Not allowed by partner
16Global object limit exceeded
17Per-player limit exceeded
18Required ability missing
19Target object does not exist
20Per-unit limit exceeded

Codes currently in use: These are all the Action / Cause combinations which PHost currently generates.

  • Action = 18 (Ship Colonized)
    • Cause = 15: planet was inhabited by unfriendly race
  • Action = 20 (Ship Construction)
    • Cause = 10: cloning of a ship failed due to lacking minerals. This message is sent when you do not have enough minerals by the turn the ship is actually scheduled for building.
  • Action = 21 (Ship Trade, give command)
    • Cause = 12: receiver didn't have a ship or planet at the ship position
    • Cause = 18: ship is ungiveable
  • Action = 35 (Cloak Failure)
    • Cause = 0: cloak failed due to random chance
    • Cause = 1: cloak failed due to insufficient fuel
    • Cause = 2: cloak failed due to excessive hull damage
    • Cause = 3: cloak failed due to an ionic pulse
    • Cause = 4: cloak failed due to wormhole travel
    • Cause = 5: cloak failed due to a tachyon pulse (from a Loki)
    • Cause = 6: cloak failed due to ion storm
  • Action = 45 (Planet Trade, give command)
    • Cause = 12: receiver didn't have a ship at the planet
  • Action = 10000 (ship mission failed)
    This record contains three words of additional data, containing the mission, intercept and tow numbers.
    • Cause = 0: Rob failed due to random chance
    • Cause = 10: towing ship ran out of fuel
    • Cause = 13: attempt to lay mines but AllowMinefields resp. AllowWebMines is off
    • Cause = 14: attempt to RGA or pillage a planet which has already been plundered this turn
    • Cause = 15: attempt to lay mines in someone else's Id without permission (MineIdNeedsPermission); a Gather-type mission failed because the planet was not friendly
    • Cause = 16: all minefield slots are used
    • Cause = 17: MaximumMinefieldsPerPlayer limit exceeded
    • Cause = 18: tow strength too weak to tow target
    • Cause = 19: attempt to add mines to a non-existing or non-matching field
    • Cause = 20: attempt to train but ExperienceLimit already reached