Behavior Element (Data)

From HLKitWiki
Revision as of 16:56, 23 November 2008 by Rob (Talk | contribs) (The "diceroller" Element)

Jump to: navigation, search

Context: HL KitKit Reference … Definition File Reference 

Each game system has a variety of behaviors that will need to be defined. These behaviors are collectively specified within a "behavior" element. The complete list of attributes for a "behavior" element is below.

defaultname (Optional) Text – Default name to be used for all actor that have not been explicitly named by the user. Maximum length is 50 characters. Default: "Unnamed".
secondaryphase (Optional) Id – Specifies the unique id of the phase to be used as the default for all Secondary tag expressions assigned by tables and choosers. If no explicit phase is assigned for a Secondary tag expression, this one is used. Default: "Setup".
secondarypriority (Optional) Integer – Specifies the priority to be used as the default for all Secondary tag expressions assigned by tables and choosers. If no explicit priority is assigned for a Secondary tag expression, this one is used. Default: "5000".
existencephase (Optional) Id – Specifies the unique id of the phase to be used as the default for all Existence tag expressions assigned by tables and choosers. If no explicit phase is assigned for an Existence tag expression, this one is used. Default: "Setup".
existencepriority (Optional) Integer – Specifies the priority to be used as the default for all Existence tag expressions assigned by tables and choosers. If no explicit priority is assigned for an Existence tag expression, this one is used. Default: "5000".
gearphase (Optional) Id – Specifies the unique id of the phase during which all built-in gear processing is performed. This includes the calculation of gear weights throughout all gear holders. Default: "Effects".
gearpriority (Optional) Integer – Specifies the priority at which all built-in gear processing is performed. Default: "5000".
mouseinfo (Optional) Id – Specifies the unique id of the procedure to automatically invoke as the MouseInfo script within portals. Default: "MouseInfo".
description (Optional) Id – Specifies the unique id of the procedure to automatically invoke as the Description script within portals. Default: "Descript".
initascend (Optional) Boolean – Indicates whether initiative order ascends or descends. When it ascends, lower numbers take their actions first, and vice versa. Default: "no".
initperturn (Optional) Boolean – Indicates whether to re-generate new initiative values at the start of every turn instead of at the start of every combat. Default: "no".
initsimultaneous (Optional) Boolean – Indicates whether it is valid for two actors to have identical initiatives and act simultaneously. If not, HL will automatically generate a tie-breaker value. Default: "no".
interleave (Optional) Boolean – Indicates whether the evaluation cycles of all actors within the context of the same lead are interleaved, which governs the behavior of minions and masters. If enabled, masters can influence changes upon their minions and minions can also influence changes upon their masters. If not enabled, masters all fully evaluated before minions, so the influence can only occur in the downward direction. Default: "no".

The "behavior" element also possesses child elements that describe additional facets of the game system. The list of these child elements is below. Click on the links to access the details for each element.

diceroller A single "diceroller" element must appear as defined by the given link.
scriptmacro Zero or more "scriptmacro" elements may appear as defined by the given link.
leadsummary An optional "leadsummary" element may appear as defined by the given link. If omitted, default handling is employed.
newcombat An optional "newcombat" element may appear as defined by the given link. If omitted, default handling is employed.
newturn An optional "newturn" element may appear as defined by the given link. If omitted, default handling is employed.
integrate An optional "integrate" element may appear as defined by the given link. If omitted, default handling is employed.
initiative An optional "initiative" element may appear as defined by the given link. If omitted, default handling is employed.

The "diceroller" Element

The "diceroller" element defines characteristics of the integrated Dice Roller mechanisms when used with the game system. The complete list of attributes for a "diceroller" element is below.

mode (Optional) Set – Specifies the initial dice rolling mode to start out in for the game system. Must be one of the following:

totals – The dice rolled are added and that total is displayed
successes – Each die rolled is compared against the threshold for declaring a success and the number of successes is displayed
Default: "totals".

dietype Integer – Specifies the default die type to be rolled.
quantity (Optional) Integer – Specifies the default number of dice to be rolled. Default: "1".
success (Optional) Integer – Specifies the threshold value at which a success result is achieved. Game systems like World of Darkness and Shadowrun utilizes successes instead of adding the dice results. Default: "1".
explode (Optional) Integer – Specifies the threshold value at which a success result "explodes" by allowing a re-roll. If a value of zero is given, no explosion occurs. Default: "0".
maxexplode (Optional) Integer – Specifies the maximum number of times that a single roll may explode. A value of zero indicates that explosion is unlimited. Default: "0".

The "scriptmacro" Element

The "scriptmacro" element defines a macro for use within the scripting language to conveniently access object details. Each macro specifies a kind of shorthand notation for a lengthy block of script code that can be used in place of the full code and will be treated as if the full code were entered. Script macros are globally defined and may be used within any script. The complete list of attributes for a "scriptmacro" element is below.

name Text – Name to be used for the macro. May consist solely of alphanumeric characters.
result Text – The resulting text to be generated when the macro is used. Each parameter is spliced into the result appropriately.
param1 (Optional) Text – Name used for the first parameter provided to macro. Used for splicing the value into the "result" given above.
param2 (Optional) Text – Name used for the second parameter provided to macro. Used for splicing the value into the "result" given above.
param3 (Optional) Text – Name used for the third parameter provided to macro. Used for splicing the value into the "result" given above.
param4 (Optional) Text – Name used for the fourth parameter provided to macro. Used for splicing the value into the "result" given above.
param5 (Optional) Text – Name used for the fifth parameter provided to macro. Used for splicing the value into the "result" given above.

The "leadsummary" Element

The "leadsummary" element defines the LeadSummary script that is used to synthesize summary information for each actor. This summary is displayed when the user previews the available actors for import into the current portfolio. The complete list of attributes for a "scriptmacro" element is below.

PCDATA Script – Specifies the code comprising the LeadSummary script.

The "newcombat" Element

The "newcombat" element defines the NewCombat script that is invoked whenever the user begins a new combat within the Tactical Console. The complete list of attributes for the element is below.

PCDATA Script – Specifies the code comprising the NewCombat script.

The "newturn" Element

The "newturn" element defines the NewTurn script that is invoked whenever the user starts a new turn of combat within the Tactical Console. The complete list of attributes for the element is below.

PCDATA Script – Specifies the code comprising the NewTurn script.

The "integrate" Element

The "integrate" element defines the Integrate script that is invoked whenever the user integrates pending actors into an existing combat within the Tactical Console. The complete list of attributes for the element is below.

PCDATA Script – Specifies the code comprising the Integrate script.

The "initiative" Element

The "initiative" element defines the Initiative script that is used to calculate the initiative score for each actor during combat. The complete list of attributes for the element is below.

PCDATA Script – Specifies the code comprising the Initiative script.

Example

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

<behavior
  defaultname="Nobody"
  interleave="yes">
  <diceroller mode="totals" dietype="6" quantity="1"/>
  <scriptmacro name="trait" param1="trait" result="hero.child[#trait].field[trtFinal].value"/>

  <leadsummary><![CDATA[
    ~start with the race
    var txt as string
    txt = hero.firstchild["Race.?"].field[name].text
    if (empty(txt) <> 0) then
      txt = "No Race"
      endif
    @text &= txt

    ~append the CP rating of the character
    @text &= " - CP: " & hero.child[resCP].field[resMax].value
    ]]></leadsummary>

  <initiative><![CDATA[
    ~calculate the secondary initiative rating
    @secondary = 0
    ~calculate the primary initiative rating
    @initiative = random(10) + 1
    ]]></initiative>

  </behavior>