ScriptMacro Element (Data): Difference between revisions

From HLKitWiki
Jump to navigationJump to search
New page: {{context|Kit Reference|Definition File Reference}} ==The "scriptmacro" Element== Each phase within the evaluation cycle must be individually specified and th...
 
No edit summary
Line 32: Line 32:
   </phase>
   </phase>
</pre>
</pre>
  <scriptmacro name="trait" param1="trait" result="hero.child[#trait].field[trtFinal].value"/>

Revision as of 01:59, 9 December 2008

Context: HL Kit &#133; Kit Reference &#133; Definition File Reference 

The "scriptmacro" Element

Each phase within the evaluation cycle must be individually specified and the sequence in which the phase elements are defined dictates the sequence in which phases are processed during evaluation. The XML element name is "phase" and the complete list of attributes is below.

id Id – Specifies the unique id assigned to this phase. This id is used to reference the phase throughout the data files.
name Text – Common name for the phase is displayed in various situations. Maximum length is 25 characters.
description (Optional) Text – Textual description of the role the phase serves within the game system. Default: Empty.
interleave (Optional) Boolean – Indicates whether all tasks within this phase are either (a) interleaved across masters and minions or (b) processed hierarchically, with masters always being evaluated before minions. This works the exact same way as the "interleave" attribute within the "behavior" element, except that it only applies to tasks within this specific phase. Default: "yes".

IMPORTANT! This attribute is only applicable when interleaving is enabled for the game system. It provides a means of forcing individual phases to be non-interleaved, which makes it possible to safely control dependencies of minions upon their masters for enablement conditions and the like. The default is "yes" so that all phases are interleaved by default if the game system behavior is designated as interleaved.

Example

The following example demonstrates what a "phase" element might look like. All default values are assumed for omitted optional attributes.

<phase
  id="Initialize"
  name="Initialization"
  description="Anything that has to happen before everything else">
  </phase>
 <scriptmacro name="trait" param1="trait" result="hero.child[#trait].field[trtFinal].value"/>