### Generic Comments ###
###    They rule.    ###

// Attacking...

// If I have a target, go attack it.

// If I'm in combat and nothing above gave me something to do, stop now.
// Otherwise the script will keep running, eating up CPU cycles.

// If this NPC is hostile, then hunt the party down. Otherwise, just
// peacefully move around. Go back to start if I roam too far.

// Increment the appropriate SDF for this NPC's death.

// Look for a target, and attack it if its visible.

// March to waypoint and back.

// Otherwise, just peacefully move around. Go back to start if I roam
// too far.

// React if I have been attacked.

// React if the town gone hostile.

// This NPC will act even at distance.

### Generic Descriptions ###
###  Aren't they great?  ###

//   a - State number. This is the number of the state called from the town's
//     script when the party causes the %predefied state% in this script to be
//     entered.

<<<TYPE 1>>>
//   d - %object% difficulty. This is the tool use skill needed to %action% the
//     %object%. Lockpicks [don't] help. If set to a really high number
//     (like 200), it cannot be %action%ed by normal means. If left at 0, the
//     %object% difficulty will default to [memory cell %cell% || %number%].

<<<TYPE 2>>>
//   d - %object% difficulty. This is the tool use skill needed to %action% the
//     %object%. Lockpicks [don't] help. If set to a really high number
//     (like 200), it cannot be %action%ed by normal means. If left at 0, the
//     %object% will be left %action%ed.

//   f - %filler%. If left at %number%, then memory cell %number% is filled with
//     memory cell %cell%.
//
//     ''[''Making this script backwards compatible with v1.0.0 of door.txt'']''

//   i - Special item needed. If left at %number%, no special item helps
//     %action% the %object%. Otherwise, if the party has this special item, the
//     %object% is automatically [%action% [ '' '' || ed]].

//   m - Movement type.
//     Legal values are: %number% - Wander randomly.
//                       %number% - Stand still until a target appears.
//                       %number% - Completely immobile, even if target appears.
//                       %number% - Walk to a waypoint and then back to start.
//                           Use memory cell %cell% to indicate which waypoint.

//   s - %object% strength. This is the strength skill needed to %action% the
//     %object%. If set to a really high number (like %number%), it cannot be
//     %action%ed by normal means. If left at %number%, %object% strength will
//     default to [memory cell %cell% || %number%]

//   t - Dialogue node to start with if talked to. if left at %number%, this
//     character doesn't talk.

//   w - Waypoint. If memory cell %cell% is %mathematical operator% %number%,
//     then this memory cell is ignored. Otherwise, it is the number of the
//     waypoint the [%creature% [   || or %creature%] spends its time walking to
//     and from.

<<<TYPE 1>>>
// x,y - SDF coordinates. If these are left at 0 and 0, these memory cells are
//     ignored. Otherwise, the SDF is [set to || incremented by] %number% when
//     the [creature || %object% || %predefied state%] [[   || is]
//     [%action% [ '' '' || ed || s]].

<<<TYPE 2>>>
// x,y - SDF coordinates. If these are left at 0 and 0, these memory cells are
//     ignored. Otherwise, the SDF is [set to || toggled between %number% and]
//     %number% when the [%object% || %object%s] is %action%ed. If the SDF is
//     non-zero, then when the party enters the zone, the
//     [%object% [ '' '' || s]] [are || is] automatically
//     [%action% [ '' '' || ed ]].