Designing Games with Xconq - History Forms

Go to the first, previous, next, last section, table of contents.

## History Forms

All the important events in a game are logged into a history.

Form: `evt` date type sides data

This form creates a single historical event. The date is the turn of the event's occurrence, while the sides is a bit mask of sides that know about the event, or `all` if all sides know about it.

Symbol: `all`

This is a shorthand for the bitmask of all sides in the game.

Form: `exu` id type x y side props

This form defines an "ex-unit", which is a record of a unit that existed previously. It is similar to a unit, but has only a few properties; type, id, position, side, name, and number. Property names and semantics are nearly identical to their counterparts for units.

EventType: `log-started`

This event records when the recording of events began. Multiple instances of this may occur, for instance if logging were to be turned off and then on again.

EventType: `log-ended`

EventType: `game-started`

This event records the actual start of the game. There should only be one in a game's history.

EventType: `game-saved`

This event records that the game was saved.

EventType: `game-restarted`

This event records that the game was restored and restarted from a saved game.

EventType: `game-ended`

EventType: `side-joined` side

This event records when a side joined the game.

EventType: `side-lost` side scorekeeper

This event records when a side lost.

EventType: `side-won` side scorekeeper

This event records when a side won.

EventType: `side-withdrew` side

This event records when a side withdrew from the game.

EventType: `unit-created` side unit

This event records the creation of a unit.

EventType: `unit-completed` side unit

This event records the completion of a unit.

EventType: `unit-acquired`

This event records the acquisition of a unit, for instance as a gift from another side.

EventType: `unit-captured`

This event records the capture of a unit, as an outcome of combat or from a direct attempt to capture.

EventType: `unit-moved` unit x1 y1 x2 y2

This event records the movement of a unit.

EventType: `unit-name-changed` unit1 unit2

This event records that a unit's name was changed. unit1 will be an ex-unit representing the unit under its previous name.

EventType: `unit-type-changed` unit1 unit2

This event records that a unit's type was changed. unit1 will be an ex-unit representing the unit with its previous type.

EventType: `unit-assaulted` unit1 unit2 x y

EventType: `unit-damaged` unit hp1 hp2

This event records that a unit's hp was reduced from hp1 to hp2.

EventType: `unit-killed` unit

EventType: `unit-died-in-accident` unit

EventType: `unit-died-from-temperature` unit

EventType: `unit-vanished` unit

EventType: `unit-wrecked` unit

EventType: `unit-wrecked-in-accident` unit

EventType: `unit-revolted` unit

EventType: `unit-surrendered` unit

EventType: `unit-garrisoned` unit

EventType: `unit-disbanded` unit

EventType: `unit-starved` unit

EventType: `unit-left-world` unit

EventType: `unit-merged` unit

EventType: `unit-gone` unit

The following event types are the results of actions.

EventType: `action-ok`

EventType: `action-error`

EventType: `cannot-do`

EventType: `insufficient-acp`

EventType: `insufficient-material`

EventType: `too-far`

EventType: `too-near`

EventType: `action-done`

EventType: `insufficient-mp`

EventType: `blocking-zoc`

Unit was unable to move because of another unit's zone of control.

EventType: `cannot-leave-world`

EventType: `destination-full`

EventType: `overrun-succeeded`

EventType: `overrun-failed`

EventType: `capture-succeeded`

EventType: `capture-failed`

EventType: `fire-into-outside-world`

EventType: `build-completed`

Go to the first, previous, next, last section, table of contents.