Associated String Lists
This discussion is here because I could find no better place for it. The Logic Block event probably does more to maintain Associated String Lists (ASLs) than any other event.....so here it is.
Associated String Lists are content-addressable arrays. This means that such a list has a collection of named values and you can fetch or store the values by specifying the name. Let us provide a concrete example. Each character in a game has his or her own ASL. Initially the list is empty. But you might wish to assign values to a character to keep track of how many times he/she has encountered Orcs or Goblins. You might choose to give the names "Orcs Encountered" and "Goblins Encountered" to these values and, naturally, the value of each would be the number of times that character has encountered such a monster.
So the ASL for each character might contain the following entries:
Orcs Encountered
Goblins Encountered
And at some point in the game you might wish to reward any character who has encountered more than 15 Orcs or 23 Goblins.
The Logic Block event is a reasonable place to do all of this work. When a combat with Orcs takes place, you could chain to a Logic Block event that would fetch the old value of "Orcs Encountered", add one to it, and put it back. Then at a particular training event you could chain to another Logic Block event to reward anyone with sufficient Orc or Goblin experience.
All of this could be done with quests but the ASLs make it much more intuitive and easy because there is a separate list associated with each character.
There is an ASL associated with each:
Character
Level (Level Associated String List)
The game as a whole (Global ASL)
The game as a whole (Temporary ASL)
The Party as a whole (Party ASL)
Somebody put the following in here. I don't think it belongs. PRS 16Nov04.
Step Event
Event Control (I don't know what that is!)
Game Event
Quest
Special Object
Item
Zone
Monster
Spell
Race
As the name implies, the 'Temporary ASL' is not saved with the game. All entries are lost when you save the game and then reload it. The temporary ASL is used to hold values that will be used immediately. For example, it might be used to communicate information between events in an event chain.