• Tutorials

  • Home
  • Appendix B" Logic Block Actions

    You can perform up to two actions either unconditionally or depending on the result of the computation of Gate-L. Many of the actions have parameters as described below:

    Do Nothing
    As you expect. Nothing gets done.

    Set Global ASL
    Define an entry in the global Associated String List (ASL) (See Associated String Lists). The parameter provides the key for the entry and its new value separated by an equal sign. If no equal sign exists, the entire parameter is taken to be the key and the value becomes the empty string.

    Set Level ASL
    Define an entry in the level Associated String List (ASL) (See Associated String Lists). The parameter provides the level number and key for the entry and its new value separated by an equal sign. If no equal sign exists, the entire parameter is taken to be the key and the value becomes the empty string. The level is assumed to be the party's current level if the level number and the slashes are omitted.
    The entire parameter takes the form:
    /level/key=value

    Remove Global ASL
    The parameter is taken to be the key of the entry to be removed from the Global Associated String List (ASL). (See Associated String Lists).

    Remove Level ASL
    The parameter is taken to be the key of the entry to be removed from the levels Associated String List (ASL). (See Associated String Lists).

    Set Quest Stage
    The parameter gives the name of the quest and the new stage separated by an equal sign. The absence of an equal sign or an illegal stage number will cause the action to be ignored and a log message to be written.

    Set Temporary ASL
    Define an entry in the temporary Associated String List (ASL) (See Associated String Lists). The parameter provides the entry's key and its new value separated by an equal sign. If no equal sign exists, the entire parameter is taken to be the key and the value becomes the empty string.

    Set Icon Index by Name
    This is used to change the icon index for a PC or NPC. It works on an icon that has more than one set of the standard two frames. As PC icons are assumed to be 1x1 (96x48 pixels) any icon that is a multiple of 96 in width is assumed to have the corresponding number of frame sets, for example an icon that is 192x48 pixels would be considered to have 2 frame sets, etc. If Seamus was the character in your party who had an icon with two frame sets (192x48 pixels), you would use the following parameters to change the icon:
    Seamus=2
    Note: the frame numbering starts at 1.
    The icon will remain changed until it is set back, or to a different frame set via another logic black event.

    Set Character ASL
    The parameter provides the name or number of the character, the name of the attribute, and the new value of the attribute. The character selection comes first and is contained in parentheses. Assume you want to assign the value 'yes' to an attribute named 'ZPrep'. There are four ways of specifying the character:
    • By number. (^3)ZPrep=yes
    • By name. (Gothmog)ZPrep=yes
    • Active character (^)ZPrep=yes
    • All characters (*)ZPrep=yes
    If no parenthesized expression preceeds the attribute name then the active character is assumed. There is no way to remove an attribute belonging to a character. The best that you can do is to set the attribute to the empty string:
    • (Gothmog)ZPrep=

    Set Party ASL
    Define a party's Associated String List (ASL) (See Associated String Lists). The parameter provides the entry's key and its new value separated by an equal sign. If no equal sign exists, the entire parameter is taken to be the key and the value becomes the empty string.

    Remove Party ASL
    The parameter is taken to be the key of the entry to be removed from the party's Associated String List (ASL). (See Associated String Lists).

    GPDL Function
    This is really adding insult to injury for those of you who think that things are already too complicated. But here it is and it is another powerful tool. In a nutshell....You write a GPDL function that accomplishes the action you need. The function has the form: $PUBLIC FUNC action () { .......} action;
    But you only have to write the '.......' part; the rest will be provided free of charge by the Logic Block Editor. Wow! Now you can do anything.
    The ampersand substitution does not work in the parameter field of this action block. However, the values of all the previously computed blocks are available to the GPDL function via by using the function $LOGIC_BLOCK_VALUE(ID). But note that if you want to reference the values of the blocks in the current event, then you must set the 'Record Values at Runtime' control; else you will get values from some previous LOGIC_BLOCK event (in fact, this could be very useful!).

    What Do You Need?
    This causes an error in the editor. It is here to remind you that you have to ask the developers to implement what you need to get your job done.