<HTML> <HEAD> <!-- This HTML file has been created by texi2html 1.39 from ./xcdesign.texi on 12 June 2005 --> <TITLE>Designing Games with Xconq - History Forms</TITLE> </HEAD> <BODY> Go to the <A HREF="xcdesign_1.html">first</A>, <A HREF="xcdesign_37.html">previous</A>, <A HREF="xcdesign_39.html">next</A>, <A HREF="xcdesign_61.html">last</A> section, <A HREF="xcdesign_toc.html">table of contents</A>. <HR> <H2><A NAME="SEC181" HREF="xcdesign_toc.html#SEC181">History Forms</A></H2> <P> All the important events in a game are logged into a history. </P> <P> <U>Form:</U> <B><CODE>evt</CODE></B> <I>date type sides data</I><P> <A NAME="IDX307"></A> This form creates a single historical event. The <VAR>date</VAR> is the turn of the event's occurrence, while the <VAR>sides</VAR> is a bit mask of sides that know about the event, or <CODE>all</CODE> if all sides know about it. </P> <P> <U>Symbol:</U> <B><CODE>all</CODE></B><P> <A NAME="IDX308"></A> This is a shorthand for the bitmask of all sides in the game. </P> <P> <U>Form:</U> <B><CODE>exu</CODE></B> <I>id type x y side props</I><P> <A NAME="IDX309"></A> 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. </P> <P> <U>EventType:</U> <B><CODE>log-started</CODE></B><P> <A NAME="IDX310"></A> 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. </P> <P> <U>EventType:</U> <B><CODE>log-ended</CODE></B><P> <A NAME="IDX311"></A> </P> <P> <U>EventType:</U> <B><CODE>game-started</CODE></B><P> <A NAME="IDX312"></A> This event records the actual start of the game. There should only be one in a game's history. </P> <P> <U>EventType:</U> <B><CODE>game-saved</CODE></B><P> <A NAME="IDX313"></A> This event records that the game was saved. </P> <P> <U>EventType:</U> <B><CODE>game-restarted</CODE></B><P> <A NAME="IDX314"></A> This event records that the game was restored and restarted from a saved game. </P> <P> <U>EventType:</U> <B><CODE>game-ended</CODE></B><P> <A NAME="IDX315"></A> </P> <P> <U>EventType:</U> <B><CODE>side-joined</CODE></B> <I>side</I><P> <A NAME="IDX316"></A> This event records when a side joined the game. </P> <P> <U>EventType:</U> <B><CODE>side-lost</CODE></B> <I>side scorekeeper</I><P> <A NAME="IDX317"></A> This event records when a side lost. </P> <P> <U>EventType:</U> <B><CODE>side-won</CODE></B> <I>side scorekeeper</I><P> <A NAME="IDX318"></A> This event records when a side won. </P> <P> <U>EventType:</U> <B><CODE>side-withdrew</CODE></B> <I>side</I><P> <A NAME="IDX319"></A> This event records when a side withdrew from the game. </P> <P> <U>EventType:</U> <B><CODE>unit-created</CODE></B> <I>side unit</I><P> <A NAME="IDX320"></A> This event records the creation of a unit. </P> <P> <U>EventType:</U> <B><CODE>unit-completed</CODE></B> <I>side unit</I><P> <A NAME="IDX321"></A> This event records the completion of a unit. </P> <P> <U>EventType:</U> <B><CODE>unit-acquired</CODE></B><P> <A NAME="IDX322"></A> This event records the acquisition of a unit, for instance as a gift from another side. </P> <P> <U>EventType:</U> <B><CODE>unit-captured</CODE></B><P> <A NAME="IDX323"></A> This event records the capture of a unit, as an outcome of combat or from a direct attempt to capture. </P> <P> <U>EventType:</U> <B><CODE>unit-moved</CODE></B> <I>unit x1 y1 x2 y2</I><P> <A NAME="IDX324"></A> This event records the movement of a unit. </P> <P> <U>EventType:</U> <B><CODE>unit-name-changed</CODE></B> <I>unit1 unit2</I><P> <A NAME="IDX325"></A> This event records that a unit's name was changed. <VAR>unit1</VAR> will be an ex-unit representing the unit under its previous name. </P> <P> <U>EventType:</U> <B><CODE>unit-type-changed</CODE></B> <I>unit1 unit2</I><P> <A NAME="IDX326"></A> This event records that a unit's type was changed. <VAR>unit1</VAR> will be an ex-unit representing the unit with its previous type. </P> <P> <U>EventType:</U> <B><CODE>unit-assaulted</CODE></B> <I>unit1 unit2 x y</I><P> <A NAME="IDX327"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-damaged</CODE></B> <I>unit hp1 hp2</I><P> <A NAME="IDX328"></A> This event records that a unit's hp was reduced from <VAR>hp1</VAR> to <VAR>hp2</VAR>. </P> <P> <U>EventType:</U> <B><CODE>unit-killed</CODE></B> <I>unit</I><P> <A NAME="IDX329"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-died-in-accident</CODE></B> <I>unit</I><P> <A NAME="IDX330"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-died-from-temperature</CODE></B> <I>unit</I><P> <A NAME="IDX331"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-vanished</CODE></B> <I>unit</I><P> <A NAME="IDX332"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-wrecked</CODE></B> <I>unit</I><P> <A NAME="IDX333"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-wrecked-in-accident</CODE></B> <I>unit</I><P> <A NAME="IDX334"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-revolted</CODE></B> <I>unit</I><P> <A NAME="IDX335"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-surrendered</CODE></B> <I>unit</I><P> <A NAME="IDX336"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-garrisoned</CODE></B> <I>unit</I><P> <A NAME="IDX337"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-disbanded</CODE></B> <I>unit</I><P> <A NAME="IDX338"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-starved</CODE></B> <I>unit</I><P> <A NAME="IDX339"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-left-world</CODE></B> <I>unit</I><P> <A NAME="IDX340"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-merged</CODE></B> <I>unit</I><P> <A NAME="IDX341"></A> </P> <P> <U>EventType:</U> <B><CODE>unit-gone</CODE></B> <I>unit</I><P> <A NAME="IDX342"></A> </P> <P> The following event types are the results of actions. </P> <P> <U>EventType:</U> <B><CODE>action-ok</CODE></B><P> <A NAME="IDX343"></A> </P> <P> <U>EventType:</U> <B><CODE>action-error</CODE></B><P> <A NAME="IDX344"></A> </P> <P> <U>EventType:</U> <B><CODE>cannot-do</CODE></B><P> <A NAME="IDX345"></A> </P> <P> <U>EventType:</U> <B><CODE>insufficient-acp</CODE></B><P> <A NAME="IDX346"></A> </P> <P> <U>EventType:</U> <B><CODE>insufficient-material</CODE></B><P> <A NAME="IDX347"></A> </P> <P> <U>EventType:</U> <B><CODE>too-far</CODE></B><P> <A NAME="IDX348"></A> </P> <P> <U>EventType:</U> <B><CODE>too-near</CODE></B><P> <A NAME="IDX349"></A> </P> <P> <U>EventType:</U> <B><CODE>action-done</CODE></B><P> <A NAME="IDX350"></A> </P> <P> <U>EventType:</U> <B><CODE>insufficient-mp</CODE></B><P> <A NAME="IDX351"></A> </P> <P> <U>EventType:</U> <B><CODE>blocking-zoc</CODE></B><P> <A NAME="IDX352"></A> Unit was unable to move because of another unit's zone of control. </P> <P> <U>EventType:</U> <B><CODE>cannot-leave-world</CODE></B><P> <A NAME="IDX353"></A> </P> <P> <U>EventType:</U> <B><CODE>destination-full</CODE></B><P> <A NAME="IDX354"></A> </P> <P> <U>EventType:</U> <B><CODE>overrun-succeeded</CODE></B><P> <A NAME="IDX355"></A> </P> <P> <U>EventType:</U> <B><CODE>overrun-failed</CODE></B><P> <A NAME="IDX356"></A> </P> <P> <U>EventType:</U> <B><CODE>capture-succeeded</CODE></B><P> <A NAME="IDX357"></A> </P> <P> <U>EventType:</U> <B><CODE>capture-failed</CODE></B><P> <A NAME="IDX358"></A> </P> <P> <U>EventType:</U> <B><CODE>fire-into-outside-world</CODE></B><P> <A NAME="IDX359"></A> </P> <P> <U>EventType:</U> <B><CODE>build-completed</CODE></B><P> <A NAME="IDX360"></A> </P> <HR> Go to the <A HREF="xcdesign_1.html">first</A>, <A HREF="xcdesign_37.html">previous</A>, <A HREF="xcdesign_39.html">next</A>, <A HREF="xcdesign_61.html">last</A> section, <A HREF="xcdesign_toc.html">table of contents</A>. </BODY> </HTML>