home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 416.lha / EnergionBattleSystem_v1.0 / script.doc.pp / script.doc
Text File  |  1990-09-10  |  82KB  |  3,129 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.                               EBS User Manual
  31.  
  32.                                  Section 3
  33.  
  34.                             EBS Script Language
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.                                                   1
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68. 3.1  The AREXX (tm) Port  . . . . . . . . . . . . . . . . . . . . . . .    3
  69.  
  70. 3.2  Startup  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    3
  71.  
  72. 3.3  The Language Structure . . . . . . . . . . . . . . . . . . . . . .    3
  73.  
  74. 3.4  Variables  . . . . . . . . . . . . . . . . . . . . . . . . . . . .    5
  75.  
  76. 3.5  Language Keywords and Commands . . . . . . . . . . . . . . . . . .    6
  77.      EXECUTE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    6
  78.      SET  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    9
  79.      GET  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   21
  80.  
  81. MOVE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   30
  82.      PROJECT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   30
  83.      LOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   31
  84.      UNLOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   31
  85.      WINDOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   31
  86.      MENU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   31
  87.      CLEARMENUS . . . . . . . . . . . . . . . . . . . . . . . . . . . .   32
  88.      WBENCHFRONT  . . . . . . . . . . . . . . . . . . . . . . . . . . .   32
  89.      WBENCHBACK . . . . . . . . . . . . . . . . . . . . . . . . . . . .   32
  90.      EBSFRONT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   32
  91.      EBSBACK  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   32
  92.      NOTIFY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   32
  93.      REQUEST  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   32
  94.      LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   34
  95.      MODIFY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   35
  96.      OPTIONON . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   36
  97.      OPTIONOFF  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   36
  98.      DRAW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   40
  99.      NEW  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   42
  100.      CLEAR  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   42
  101.      DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   43
  102.      COUNT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   43
  103.      SECTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   44
  104.      ZONE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   44
  105.      UNIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   44
  106.      FORCE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   45
  107.      COURSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   45
  108.      LOS  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   46
  109.      PIXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   46
  110.      INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   47
  111.      RANDOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   47
  112.      POINTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   47
  113.  
  114. 3.6 Expressions and Operators . . . . . . . . . . . . . . . . . . . . .   47
  115.  
  116.  
  117.  
  118.  
  119.                                                   2
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.      EBS includes a script language, and for those who own the AREXX (tm)
  128. package or have AmigaDOS 2.0, an AREXX (tm) interface.  The EBS script
  129. language may be used in a limited way without AREXX (tm), but it has almost
  130. no control structures of its own, thus it is limited to simple menu and
  131. startup options when used without AREXX (tm).  With the AREXX (tm) package,
  132. it becomes a powerful tool for scenario, map and unit design.
  133.  
  134. 3.1  The AREXX (tm) Port
  135.  
  136.      EBS opens a port names EBS with on the first execution.  Each
  137. subsequent EBS started while the old EBS's are running receives a port name
  138. of EBSX where X is a one up count.  Up to nine EBS tasks may be run
  139. simultaneously, which should satisfy the wildest fanatic, and consume the
  140. memory of the largest system.
  141.  
  142.      To determine whether you have AREXX (tm) available, EBS attempts to
  143. open rexxsyslib.library.  If this works, it enables the AREXX (tm)
  144. interface.
  145.  
  146. 3.2  Startup
  147.  
  148.      If there is a file called "startup.ebs" in the REXX: directory, EBS
  149. will execute this script on startup.  In addition to the arguments which may
  150. be passed to EBS on startup, others may be entered on the command line.  All
  151. arguments after the first are passed to this script, and so further
  152. arguments may be used at the user's discretion.  This is a good place to
  153. enter any menus you may wish to configure.
  154.  
  155. 3.3  The Language Structure
  156.  
  157.      The basic structure of the language consists of a series of keywords
  158. and identifiers.  The result is slightly clumsy to read, but easy to use,
  159. with a wide variety of commands implemented in very similar syntax.  As an
  160. example, the 'set' command:
  161.  
  162.      'set unit infco1 manning 120'
  163.  
  164.      'set' is the keyword for setting a value in a module or in the basic
  165. EBS configuration.
  166.  
  167.      'unit' specifies that the module type to act upon is a military unit.
  168.  
  169.      'infco1' is the name or label of the specific unit to act upon.
  170.  
  171.      'manning' is the element of the module which is to be set.
  172.  
  173.      '120' is the value to which to set that element.
  174.  
  175.      In addition, the language has a series of variables which may be used
  176. in place of module names and other values.  For example, the name 'infco1'
  177.  
  178.                                                   3
  179.  
  180.  
  181.  
  182.  
  183.  
  184. above could be entered by the user selecting the marker for the needed
  185. module with the mouse and then using the value '[cunit]' (for current unit)
  186. in place of the name.  (Variable names are always enclosed in brackets.)
  187.  
  188.      Commands also may be embedded within commands.  This is useful to
  189. increase the speed of execution, or as the only means of getting any sort of
  190. control structures if you do not own AREXX (tm).  The bad side is that
  191. commands with embedded commands are extremely difficult to read and become
  192. nightmarish very quickly.
  193.  
  194.      Within the language, I try to protect the user from destructive errors,
  195. but not from stupid errors.  This leaves the user free to do things which I
  196. did not foresee when designing the language and the routines in the modules. 
  197. The reason for this is that with most routines replaceable by scripts, a
  198. user may wish to use a value for something not intended by the EBS system at
  199. all.  This is possible to do, but note that these values may cause weird
  200. things to happen if you run them through the normal routines.  All values
  201. accepted via the editor are error checked for validity.
  202.  
  203.      The following symbols are used by the EBS script language for special
  204. purposes:
  205.  
  206.      @ - Entered at the beginning of a command means that the command is an
  207. EBS internal command, rather than a rexx script to execute.  This is used in
  208. scripts entered in modules or in menu item definitions.  It is not necessary
  209. to use this symbol for commands issued within an AREXX (tm) script, or in
  210. the command gadget, which defaults to internal commands.  This usage is
  211. inverted for the command gadget, where entering an '@' before the command
  212. means that it is an AREXX (tm) script followed by arguments.
  213.  
  214.      $ - Indicates a command to be executed immediately with the result
  215. substituted, for example, 'get unit infco1 dest [$count unit dest]'. 
  216. Normally, EBS would execute the command at the end of its processing and not
  217. substitute the value.  Such commands function as variables.  Do not use that
  218. method for a command which does not return any value, or for commands
  219. entered in IF-THEN-ELSE constructions.  (IF-THEN-ELSE constructions would
  220. execute both the IF and the ELSE clauses on the first pass, causing all side
  221. effects of both commands.)
  222.  
  223.      [] - brackets indicate that the material between them is a variable or
  224. a command to be executed within the processing of the main command.
  225.  
  226.      {} - braces indicate that brackets are needed in a module script or
  227. menu definition.  These are automatically converted to brackets by EBS for
  228. internal use.  Entering arguments to a module script with brackets will
  229. enter the value of the variable at the time of script definition rather than
  230. at the execution time.  As an example, a script entry could read:
  231.  
  232.      'parry {cunit} {ctarget}'
  233.  
  234. which would be converted for internal use into:
  235.  
  236.  
  237.                                                   4
  238.  
  239.  
  240.  
  241.  
  242.  
  243.      'parry [cunit] [ctarget]'
  244.  
  245. and on execution each of the variables would be converted into the label of
  246. the appropriate unit.  The command executes the script 'parry.ebs' which
  247. must be located in a path 'ebsscript:' which must be assigned to use AREXX
  248. (tm) scripts within EBS without specifying pathnames.
  249.  
  250.  
  251. 3.4  Variables
  252.  
  253.      The following system variables are available for use in scripts:
  254.  
  255.      CUNIT - the label of the current unit.
  256.      CMARKER - the label of the current marker.
  257.      CTARGET - the label of the current target.
  258.      CATTACKER - the label of the current attacker.
  259.      CMOVE - the label of the current movement module.
  260.      CTACTICS - the label of the current tactics module.
  261.      CDEFENSE - the label of the current defense module.
  262.      CWEAPON - the label of the current weapon.
  263.      CIFWEAPON - the label of the current IFWeapon.
  264.      CLOCATION - the full string value of the current location.
  265.      CMAP - the currently displayed map.
  266.      COBJECTIVE - the current objective.
  267.      CATTACK - the current attack of the current unit.
  268.      CFORCE - the current force.  This is set by changing force through the
  269. command window.  In scenario play, it is never changed simply by clicking on
  270. a unit marker.
  271.      CSUPPLY - the current supply, set by clicking on the marker to which it
  272. is attached.
  273.      CSTRATEGY - the current strategy.  This is set to the strategy of the
  274. current force whenever that is changed.
  275.      CPORT - the current port, if there is an external program currently set
  276. up to receive EBS echoed commands.
  277.      CGRID - the current grid of the current map.
  278.      CPLAYER - the name of the current player.
  279.  
  280.      The following two values are only valid when an attack is in progress. 
  281. They may be used for parry or dodge scripts within defense modules.
  282.      CHIT - the base chance that the current attacker has of hitting the
  283. current target with his current weapon under the immediate circumstances.
  284.      CROLL - the roll which the current attacker actually has made during an
  285. attack,  Energion style hits compare a base chance to hit with a defense
  286. value by subtracting the defense from the chance to hit.  Rolling under the
  287. difference results in a hit.  This gets the exact roll during such an event. 
  288. This value will only be correct when the MODID is equal to 13 (DEFENSE) or
  289. 14 (IFDEFENSE).
  290.  
  291.      The following locations refer to the current location of the defined
  292. remote pointer.  If no such location exists, all values will be "None."
  293.      CX - the 'X' coordinate of the current location.
  294.      CY - the 'Y' coordinate of the current location.
  295.  
  296.                                                   5
  297.  
  298.  
  299.  
  300.  
  301.  
  302.      CZ - the 'Z' coordinate of the current location.
  303.      CPX - the current pixel x coordinate of the current location.
  304.      CPY - the current pixel y coordinate of the current location.
  305.      CINT - the interstice of the current location.
  306.      CPLANE - the plane of the current location
  307.  
  308.      The following variables provide the first item in the each of the
  309. various module lists:
  310.      FIRSTUNIT
  311.      FIRSTFORCE
  312.      FIRSTMOVE
  313.      FIRSTDEFENSE
  314.      FIRSTWEAPON
  315.      FIRSTIFWEAPON
  316.      FIRSTTACTICS
  317.      FIRSTOBJECTIVE
  318.      FIRSTSUPPLY
  319.      FIRSTPLAYER
  320.      FIRSTSTRATEGY
  321.      FIRSTMAP
  322.      FIRSTPORT
  323.      FIRSTMARKER
  324.      FIRSTITEM
  325.      FIRSTMEASURE
  326.      LASTRESULT - the result of the last command.
  327.      MODID - the module ID of the last module which called a script (usually
  328. used as an argument to the calling script).
  329.  
  330.  
  331. 3.5  Language Keywords and Commands
  332.  
  333.  
  334. EXECUTE
  335.  
  336.      The execute command causes certain events in EBS either for
  337. configuration purposes or other actions.  It does not normally have return
  338. values.
  339.  
  340.      LABEL
  341.  
  342.      Format:  execute label NewMarker
  343.  
  344.      Makes the marker named by the word after 'label' the current marker for
  345. the currently defined remote pointer.  The value of the remote pointer is
  346. modified by a 'set' command.  All other current values associated with the
  347. marker named will also be set.
  348.  
  349.      RANGEC
  350.  
  351.      Format:  execute rangec HeavyMachineGun
  352.  
  353.      Draws circles showing the available ranges of the weapon named after
  354.  
  355.                                                   6
  356.  
  357.  
  358.  
  359.  
  360.  
  361. 'rangec'.  The circles will be centered on the current location for the
  362. current remote pointer.  Those values may be modified using the 'set'
  363. commands or the 'execute mouseclick' commands for the remote pointers.
  364.  
  365.      GRID
  366.  
  367.      Format:  execute grid TenDegreeGrid
  368.  
  369.      Draws the grid named after the keyword 'grid.'  The named grid must be
  370. a valid grid from the list for the current map.
  371.  
  372.      POINTER
  373.           OFF
  374.           ON
  375.  
  376.      Format:  execute pointer on  -OR- execute pointer off
  377.  
  378.      Turns the sprite for the current remote pointer on or off.  Note that
  379. this command cannot be executed if the remote pointer is defined as the
  380. mouse pointer.
  381.  
  382.      DISTMODE
  383.           CURRDIST
  384.           TOTALDIST
  385.           COMPLOT
  386.           JAMPLOT
  387.           CLEAR
  388.  
  389.      Format:  execute distmode complot
  390.  
  391.      Toggles the values of the various distance modes for the current remote
  392. pointer.  It functions for each of the remote pointers in exactly the same
  393. way as the menu options function for the mouse pointer.
  394.  
  395.      ATTACK
  396.  
  397.      Format:  execute attack attackername targetname
  398.  
  399.      Executes an attack using the current attack.  The 'attackername'
  400. attacks 'targetname'.  Returns the same values as defined for an attack
  401. executed via menus.  The current attack must be for a melee or direct fire
  402. weapon.  For indirect fire, use IFATTACK below.
  403.  
  404.      IFATTACK
  405.  
  406.      Format:  execute ifattack attackername
  407.  
  408.      Executes an indirect fire attack centered at the location of the
  409. current remote pointer.  It uses the current attack of 'attackername'.
  410.  
  411.      SAVE
  412.  
  413.  
  414.                                                   7
  415.  
  416.  
  417.  
  418.  
  419.  
  420.      Format:  execute save units
  421.  
  422.      Saves the complete list of the specified module types.  The command
  423. 'execute save all' saves a complete '.ebs' file.
  424.  
  425.           UNITS
  426.           DEFENSES
  427.           WEAPONS
  428.           MOVEMENTS
  429.           IFWEAPONS
  430.           TACTICS
  431.           MARKERS
  432.           OBJECTIVES
  433.           STRATEGIES
  434.           SUPPLIES
  435.           PLAYERS
  436.           TERRAINTABLE
  437.           PLANETERRAINS
  438.           ITEMS
  439.           MEASURES
  440.           ALL
  441.           STATUS
  442.           Status is a special case type of save which saves all data
  443.      necessary to restart a scenario for a point at which it was
  444.      interrupted.  The status is saved in file 't:statfile.ebs' and will be
  445.      restored from the same file.  Make sure you have 't:' assigned to
  446.      something useful;  I usually use 'ram:' but that will not save you if
  447.      the machine crashes in the meantime.  In addition to the script
  448.      command, the user may set an interval for automatic status saves (see
  449.      'SET' below.
  450.  
  451.      UPDATE
  452.  
  453.      Format:  exec update
  454.  
  455.      Recalculates the positions of all markers and refreshes the map.
  456.  
  457.      CLICK
  458.  
  459.      Format:  exec click
  460.  
  461.      Executes all the functions of a mouseclick for the current remote
  462. pointer.  The remote pointer must be on so that there is a definition of its
  463. pixel location.  It sets the location of the pointer as the current location
  464. for that pointer, and if the pointer is over a marker, that marker is set as
  465. the current marker with all its associated modules set as current also.
  466.  
  467.      SCENARIO
  468.  
  469.      Format:  exec scenario on  -OR-  exec scenario off
  470.  
  471.      Turns the scenario mode on or off.  If the scenario mode was off,
  472.  
  473.                                                   8
  474.  
  475.  
  476.  
  477.  
  478.  
  479. turning it off will initiate the player setup procedure which requires
  480. keyboard input.  This command is intended for use when a user is expected at
  481. the console, not for completely independent action.
  482.  
  483.      TURN
  484.  
  485.      Format:  exec turn
  486.  
  487.      Executes a turn of EBS action.  For definitions of this action, see the
  488. menu option of the same name.
  489.  
  490.      RESTORE
  491.  
  492.      Format:  exec restore
  493.  
  494.      Reloads the file resulting from a status save, prepare EBS for
  495. resumption of an interrupted game.
  496.  
  497.  
  498.      REPROJECT
  499.  
  500.      Format:  reproject sourcemapname targetmapname iffname
  501.  
  502.      Reprojects data from the source map to the target map.  The 'newname'
  503. argument is optional, but if it is supplied, the new map's IFF file will be
  504. save to that name.  Otherwise, a requester will be presented to the user. 
  505. For use in scripts without user intervention, the iff filename must be
  506. supplied.
  507.  
  508.  
  509. SET:
  510.  
  511.  
  512.      The 'set' command sets various values of modules or the EBS program. 
  513. All of these commands are similar in syntax.
  514.  
  515.      LOCATION
  516.  
  517.      Format:  set location
  518.  
  519.      Executes a mouse click and returns the value of the resulting location
  520. in a location string.  If the current map is a tactical map, it will also
  521. check the terrain and add the altitude and cover values.  The result will be
  522. in the format:
  523.  
  524.      x y z plane interstice px py altitude cover
  525.  
  526.      This is one of the rare cases where a 'set' command returns a value. 
  527. It does so to prevent the need to issue another get command to get the
  528. actual location after a mouse click is executed.  It sets the current
  529. location of the remote pointer.
  530.  
  531.  
  532.                                                   9
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.      MARKER
  540.  
  541.      Format:  set marker markername elementname value
  542.  
  543.      Sets the value of the specified element of the marker named to 'value'. 
  544. A list of elements follows.
  545.  
  546.      The following list of elements in a marker module may be set with this
  547. command.  See the description of the module for the values allowed for each
  548. of them.
  549.  
  550.           LABEL
  551.           NAME
  552.           NOTE
  553.           LAT - note that LAT, LONG and ALT also set the location for any
  554.      objective, supply module or unit attached to the marker.
  555.           LONG
  556.           ALT
  557.           FLAGS
  558.           COLOR
  559.           TYPE
  560.           PLANE - this also sets the plane value for the any attached unit,
  561.      supply or objective module.
  562.           INTERSTICE
  563.           MAPID - resetting the MAPID transfers the marker to the new map. 
  564.      If there is no map with the specified ID, you will not be able to show
  565.      the marker.
  566.           UNIT - EBS automatically maintains the identity of unit labels and
  567.      those of their markers.  Setting this value may result in a change of
  568.      label for the marker.
  569.           OBJECTIVE
  570.           ITEM
  571.           SUPPLY
  572.           SCRIPT - Marker scripts are executed each time that marker is
  573. selected by any of the various means for selecting a marker.
  574.  
  575.      POINTER
  576.  
  577.      Format:  set pointer pixelx pixely
  578.  
  579.      Sets the location of the current remote pointer to the X/Y cursor
  580. location provided.  No click is executed, the pointer is simply moved.
  581.  
  582.      POINTREL
  583.  
  584.      Format:  set pointrel +pixelx +pixely
  585.  
  586.      Sets the location of the pointer relative to its current location.  The
  587. pixelx and pixely locations must be located on the current screen.
  588.  
  589.      TERRAINENTRY:
  590.  
  591.                                                  10
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      Format:  set terrainentry entrynumber cover value
  599.  
  600.      The main distinguishing feature of the TERRAINENTRY, is that there are
  601. 32 of them, and they must be addressed by number.
  602.           COVER
  603.           LOS
  604.           ALTITUDE
  605.           MARGIN
  606.           FLAGS
  607.           TITLE
  608.           COLOR
  609.  
  610.      UNIT:
  611.  
  612.      Sets the values of the following list of items in a unit module.
  613.  
  614.           LABEL
  615.           MOVES
  616.           SPEED
  617.           MANNING
  618.           DAMAGE
  619.           CURRATTACK
  620.           TARGET - the primary target of the unit.  It will also be the
  621.      primary target of the current attack.
  622.           DEFENSE
  623.           UNITID - a unit identification number, which I normally use to
  624.      provide an easy way to define a class of units for use in scripts, such
  625.      as '100' is infantry, '200' is armor, etc.  EBS does not use these
  626.      values.  They are most useful in script design.
  627.           MARKER
  628.           TACTICS
  629.           SUPERIOR - the immediate superior of the unit.  For further
  630.      discussion of chains of command see the section below concerning
  631.      SISTERPREV and SISTERNEXT.
  632.           SUPPORTED - a unit which this unit will fire in support of.  This
  633.      value is used for artillery and other indirect fire units who require
  634.      observers to specify who the observer is.  They then choose targets and
  635.      fire on them according to lines of sight drawn from the supported unit.
  636.           OPTIONS
  637.           HEIGHT - the average height of members of the unit, used for lines
  638.      of sight.  Set this value to zero if you wish to ignore height, but
  639.      make sure to also set all margin values in the terrain table to zero as
  640.      well.
  641.           INTERSTICE - interstice where the unit is located.  This value is
  642.      taken directly from the marker module, and is also set in that module. 
  643.      This keyword simply provides an indirect way of setting the value when
  644.      working through the unit list.
  645.           PLANE - plane value.  See above under interstice.
  646.           ALTITUDE - altitude.  See above under interstice.
  647.           FORCE - the force to which the unit belongs.  Setting this value
  648.      automatically adds the unit to the list of units in the force.  It will
  649.  
  650.                                                  11
  651.  
  652.  
  653.  
  654.  
  655.  
  656.      also cancel chains of command for the unit if those attach it to units
  657.      belonging to the wrong force.
  658.           INTEL
  659.           COVER
  660.           ENDURANCEBASE
  661.           FORMATIONLEAD
  662.           ZONEOFCONTROL
  663.           HIDE
  664.           SUPPLYTYPE
  665.           TRANSPORT
  666.           MOUNTTIME
  667.           TETHER
  668.           RANGEFROMHQ
  669.           REVIEWCOUNTER
  670.           REVIEWCURRENT
  671.           COUNTER
  672.           MOVECOUNTER
  673.           STATUSCOUNTER
  674.           SUPPLYCOUNTER
  675.           TELEPORTS - this value is extracted from the movement module when
  676.      the unit is initialized for play, but it may also be set.  The value is
  677.      not error checked, so you can set the number of teleports available to
  678.      a unit to a value higher than the base value specified in the movement
  679.      module using scripts.
  680.           PSHIFTS - see TELEPORTS
  681.           ISHIFTS - see TELEPORTS
  682.           ENDURANCECOUNTER
  683.           LOCATION
  684.           DESTINATION
  685.                SINGLE - sets the destination of the unit specified to the
  686.           current location of the remote pointer.
  687.                CHAIN - sets the destination of the unit specified to the
  688.           list of destinations beginning with the first location of the
  689.           current location chain of the remote pointer.
  690.                TARGET - sets the destination of the unit specified to the
  691.           location of its target and initiates chase of that target.
  692.                FORMATION - calculates the difference between the specified
  693.           unit's location and that of its formation lead and sets its
  694.           destination to the leader's destination with appropriate offsets.
  695.                LOCS - reads the location string entered at the end of the
  696.           command and sets the specified unit's destination as that
  697.           location.
  698.           ATTACK
  699.                LABEL
  700.                WEAPON
  701.                IFWEAPON
  702.                CURRAMMO
  703.                STARTAMMO
  704.                COUNTER
  705.                FLAGS
  706.                EFFECT
  707.                TARGET
  708.  
  709.                                                  12
  710.  
  711.  
  712.  
  713.  
  714.  
  715.                SECTARGET
  716.                LINKATTACK - there is a single rule about linked attacks: 
  717.           don't link an attack back onto part of its change.  Doing so will
  718.           give you a module error 4, infinite loop.  EBS checks, and will
  719.           not accept the value.
  720.                MAGICAMMO
  721.                MAGICDICE
  722.                MAGICDSIZE
  723.                TYPEID
  724.                TERRAINFLAGS
  725.                SUBFLAGS
  726.                SCRIPT
  727.                DURATION
  728.                INTERVAL
  729.                MULTIPLE
  730.                TGTLOC - accepts as its argument a location string.
  731.                NUMBER - accepts the actual number of unit members used in
  732.           the attack as the argument.
  733.  
  734.  
  735.           CURRENTDAMAGE - only available for a unit with manning of one,
  736.      returns the current number of damage points which the individual
  737.      possesses.  Allows healing and direct causing of damage via a script. 
  738.      Use the 'modify unit damage' command to change damage values on a unit
  739.      with more than one member, and 'modify apply' to actually apply that
  740.      damage to all units at the end of a turn.
  741.  
  742.  
  743.      MOVES
  744.  
  745.      Format:  set moves movename element value
  746.  
  747.      Sets the values of elements of movement modules.
  748.  
  749.           LABEL
  750.           FLAGS
  751.           BASESPEED
  752.           MULTIPLES
  753.           INTMOVE
  754.           ISHIFTS
  755.           INTXFR
  756.           INTACCELERATION
  757.           PLANEPOINTS
  758.           PLANEXFR
  759.           PSHIFTS
  760.           MAXALT
  761.           TAKEOFF
  762.           FACECHANGE
  763.           CLIMB
  764.           DESCEND
  765.           AIRACCELERATION
  766.           TELEPORTS
  767.  
  768.                                                  13
  769.  
  770.  
  771.  
  772.  
  773.  
  774.           TPORTTIME
  775.           SUBFLAGS
  776.           SPEEDTHRESHOLD
  777.           ALLMULTS - this keyword requires a special format for the
  778.      arguments.  The first argument following the word is the number of the
  779.      first value to be set out of the 32 possible movement multiples. 
  780.      Following this should be a list of multiples separated by spaces.  EBS
  781.      will set all the values which are available and leave any values
  782.      following the end of the command unaffected.  This allows the user to
  783.      set multiple values with a single EBS command.
  784.  
  785.           The format to set the fifth through tenth values follows:
  786.  
  787.           'set moves movename allmults 5 100 90 75 100 110 100'
  788.  
  789.           The value 100 will be entered into the fifth multiple, 90 into the
  790.      sixth, 75 into the seventh, 100 into the eighth, 110 into the ninth and
  791.      100 into the tenth.
  792.  
  793.           Note that if you intend to set all twenty, you must still enter a
  794.      '1' as the first argument following the word 'allmults'.
  795.  
  796.      WEAPON
  797.  
  798.           LABEL
  799.           RANGE
  800.           HITS
  801.           DAMAGES
  802.           TYPE
  803.           FLAGS
  804.           GAP
  805.           INIT
  806.           SCRIPT
  807.           ALLRANGES
  808.           ALLHITS
  809.           ALLDAMAGES
  810.  
  811.      IFWEAPON:
  812.  
  813.           LABEL
  814.           FLAGS
  815.           RANGE
  816.           HITS
  817.           DAMAGES
  818.           RADIUS
  819.           GAP
  820.           INIT
  821.           X
  822.           Y
  823.           SCATTER
  824.           MINTROOPS
  825.           MAGICTYPE
  826.  
  827.                                                  14
  828.  
  829.  
  830.  
  831.  
  832.  
  833.           SCRIPT
  834.  
  835.  
  836.      DEFENSE:
  837.  
  838.           LABEL
  839.           ARMORS
  840.           IFDEFENSE
  841.           MAGICDEFENSE
  842.           ANGLEBONUSES
  843.           FLAGS
  844.           DAMAGEMIN
  845.           SURPRISEPENALTY
  846.           SCRIPT
  847.           ALLARMORS
  848.           ALLANGLEBONUSES
  849.           ALLMAGICDEFENSES
  850.  
  851.      TACTICS
  852.  
  853.           LABEL
  854.           FLAGS
  855.           MORALE
  856.           LOYALTY
  857.           BERSERK
  858.           CPA
  859.           SCRIPT
  860.           REVIEWBASE
  861.  
  862.      TURNINCREMENT - sets the number of seconds to execute for each 'execute
  863. turn' command when not in scenario mode.
  864.      SAVEINCREMENT - sets the number of seconds between status saves.  If
  865. this value is zero, EBS will not perform status saves automatically.
  866.      FORCE
  867.           LABEL
  868.           FLAGS
  869.           NUMBER
  870.           OBJECTIVE
  871.           ENEMY
  872.           FRIEND
  873.           NEUTRAL
  874.           FANATIC
  875.           FIRSTUNIT
  876.           STRATEGYLABEL
  877.           PASSWORD
  878.           REVIEWBASE
  879.           SURRENDER
  880.           STRATEGYREVIEW
  881.           MOVEPOINTMULT
  882.           DEFPOINTMULT
  883.           OFFPOINTMULT
  884.  
  885.  
  886.                                                  15
  887.  
  888.  
  889.  
  890.  
  891.  
  892.      PLAYER:
  893.  
  894.           LABEL
  895.           FLAGS
  896.           PASSWORD
  897.           PORT
  898.  
  899.      MAP:
  900.  
  901.           LABEL
  902.           FLAGS
  903.           TYPE
  904.           IFFFILE
  905.           PLANE
  906.           INTERSTICE
  907.           RADIUS
  908.           TERRAIN
  909.           DEFAULTTERRAIN
  910.           MULTIPLE
  911.           LAT1
  912.           LONG1
  913.           LENGTH
  914.           WIDTH
  915.           MEASURE
  916.           BASELAT
  917.           BASELONG
  918.           BASEALTITUDE
  919.           SECTIONS
  920.           PIXLEFT
  921.           PIXTOP
  922.           PIXWIDTH
  923.           PIXHEIGHT
  924.  
  925.  
  926.      OBJECTIVE:
  927.  
  928.      Format:  set objective objectivename element value
  929.  
  930.      Sets the element values of an objective module.
  931.  
  932.           LABEL
  933.           FLAGS
  934.           FORCE
  935.           VALUE
  936.           BASETIME
  937.           VICTORYPTS
  938.           PENALTY
  939.           MINFORCE
  940.           MINTIME
  941.  
  942.      SUPPLY:
  943.  
  944.  
  945.                                                  16
  946.  
  947.  
  948.  
  949.  
  950.  
  951.      Format:  set supply supplyname element value
  952.  
  953.      Sets the element values of supply modules.
  954.  
  955.           LABEL
  956.           FLAGS
  957.           TYPE
  958.           FORCE
  959.           TIME
  960.  
  961.      STRATEGY:
  962.  
  963.      Format:  set strategy strategyname element value
  964.  
  965.      Sets the values of elements of strategy modules.
  966.  
  967.           LABEL
  968.           FLAGS
  969.           LLSPEED
  970.           LLDEV
  971.           LRSPEED
  972.           LRDEV
  973.           CLSPEED
  974.           CLDEV
  975.           CRSPEED
  976.           CRDEV
  977.           RLSPEED
  978.           RLDEV
  979.           RRSPEED
  980.           RRDEV
  981.           DELAY
  982.           REAROFFSET
  983.           SUPPLY
  984.           COMMAND
  985.           CONCENTRATE
  986.           RANGEFROMBASE
  987.           CHOICESCRIPT
  988.           ACTIONSCRIPT
  989.  
  990.  
  991.      MEASURE:
  992.  
  993.           LABEL
  994.           MULTIPLE
  995.  
  996.  
  997.      GRID:
  998.  
  999.      Format:  set grid gridname element value
  1000.  
  1001.           LABEL
  1002.           FLAGS
  1003.  
  1004.                                                  17
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.           COLOR
  1011.           DRAWMODE
  1012.           STARTX
  1013.           STARTY
  1014.           ENDX
  1015.           ENDY
  1016.           VERTICALSEP
  1017.           HORIZONTALSEP
  1018.           GRAIN
  1019.  
  1020.  
  1021.      REMOTEPOINTER:
  1022.  
  1023.      Format:  set remotepointer rem1
  1024.  
  1025.      Sets the current remote pointer.  The argument value may be 'rem1' or
  1026. 'rem2'.
  1027.  
  1028.  
  1029.      COLORS:
  1030.  
  1031.      Format:  set colors 1 0 1 2 3 4 4 6 7 5
  1032.  
  1033.      Sets the colors for the remote brush.  As with the various 'all' type
  1034. settings, such as 'allmults' and 'allarmors', the first value is the number
  1035. of the first color to be set.  The EBS drawing brush has nine colors,
  1036. numbered as follows:
  1037.  
  1038.                1   2   3
  1039.                4   5   6
  1040.                7   8   9
  1041.  
  1042.      The first number is the number of the first color.  Thereafter, enter
  1043. the numbers of the colors from the pallette you wish in each position.  It
  1044. may be easier to understand the effect of this command if you try the brush
  1045. requester available from the drawing menu.  The color in position five is
  1046. used when single pixel drawing modes are selected, otherwise, all nine
  1047. colors are entered.
  1048.  
  1049.      The purpose of this brush format is to enter a customized grouping of
  1050. terrain.  Since EBS calculates terrain values from a nine pixel pattern,
  1051. this command allows setting the colors to produce such a pattern, custom
  1052. designed.
  1053.  
  1054.  
  1055.      PORT:
  1056.  
  1057.      Format:  set port portname element value
  1058.  
  1059.      Sets the values of a port module.
  1060.  
  1061.           LABEL
  1062.  
  1063.                                                  18
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.           FLAGS
  1070.           DAMAGECMD
  1071.           MOVECMD
  1072.           DEVICE
  1073.           NUMBER
  1074.           BAUDRATE
  1075.           NUMBER
  1076.           DEVNUMBER
  1077.  
  1078.      Note that the use of ports is test only for future use in multi-machine
  1079. games.
  1080.  
  1081.  
  1082.      SUBCOUNTER:
  1083.  
  1084.      Format:  set subcounter
  1085.  
  1086.      This command sets the subcounter to the current value of the
  1087. timecounter, preparing it to count elapsed seconds from that time.  The
  1088. subcounter cannot be set to a specified value; it may only be set to the
  1089. value of the timecounter.
  1090.  
  1091.  
  1092.      TIMECOUNTER:
  1093.  
  1094.      Format:  set timecounter timeinseconds
  1095.  
  1096.      This command sets the timecounter to the time provided.  This command
  1097. should be used with care during scenario execution, as it could modify
  1098. values which EBS is counting on to be accurate.
  1099.  
  1100.  
  1101.      FONTNAME:
  1102.  
  1103.      Format:  set fontname diamond.font
  1104.  
  1105.      Sets the filename of the large font used to print in the count window.
  1106.  
  1107.  
  1108.      FONTSIZE:
  1109.  
  1110.      Format:  set fontsize 15
  1111.  
  1112.      Sets the size of the current large font used to print in the count
  1113. window.
  1114.  
  1115.  
  1116.      ITEM:
  1117.  
  1118.      Sets the element values of an item module.
  1119.  
  1120.           LABEL
  1121.  
  1122.                                                  19
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.           FLAGS
  1129.           ID
  1130.           NOTE 
  1131.  
  1132.  
  1133.      ENDSECOND:
  1134.  
  1135.      Sets the name and arguments of a script to be executed by EBS at the
  1136. end of each second of conduct conducted.  This script may be used to update
  1137. other programs on the current status of a scenario or to implement extra
  1138. features in EBS through the use of scripts.
  1139.  
  1140.      ENDTURN:
  1141.  
  1142.      Sets the name and arguments of a script to be executed by EBS at the
  1143. end of each call to the 'execute turn' command or its menu equivalent.  This
  1144. script is only applicable when EBS is not in scenario mode, since EBS never
  1145. exits turn execution one a scenario is started until an end condition is
  1146. met.
  1147.  
  1148.  
  1149.      LLFP:
  1150.  
  1151.      Format:  set llfp 'nameofscript arg1 arg2 etc'
  1152.  
  1153.      Sets the script used to determine the lat long based on pixel location
  1154. for a custom map definition.  If this script name is not set, no custom maps
  1155. may be used.
  1156.  
  1157.      Normal format would be:
  1158.  
  1159.      set llfp 'llfp [cpx] [cpy]'
  1160.  
  1161.  
  1162.      PFLL:
  1163.  
  1164.      Format:  set pfll 'nameofscript arg1 arg2 etc'
  1165.  
  1166.      Sets the script used to determine the pixel location based on a lat
  1167. long or X/Y coordinates.  If this script name is not set, no custom maps may
  1168. be used.
  1169.  
  1170.  
  1171.      ENDTIME:
  1172.  
  1173.      Format:  set endtime timeinseconds
  1174.  
  1175.      Sets the end time for a scenario in seconds.  This time should be
  1176. greater than the current timecounter value.
  1177.  
  1178.  
  1179.      ISCREENWIDTH - interlaced screen width.
  1180.  
  1181.                                                  20
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.      ISCREENHEIGHT - interlaced screen height.
  1188.      NISCREENWIDTH - non-interlaced screen width.
  1189.      NISCREENHEIGHT - non-interlaced screen height.
  1190.  
  1191.      Sets the default values for the dimensions of the screen which EBS will
  1192. open.  The default values are:  640, 400, 320, and 200.
  1193.  
  1194.      REFRESHINC - time between full screen refreshes during non-scenario
  1195. play.
  1196.  
  1197.      CURRENTLOC - location values concerning the current location.  All
  1198. values about the current location may be set.  This is only valid for LLFP
  1199. and PFLL scripts, as it sets the values which will be displayed by EBS. 
  1200. This is mosly useful for user defined maps.
  1201.  
  1202.      TARGETLOC - This is only valid during IFWeapon or Weapon scripts, and
  1203. gives the location at which an attack is actually occuring, considering hit
  1204. rolls, etc.  All values concerning a location may be set or gotten.
  1205.  
  1206.      FILEPATH - Sets the filepath which EBS uses for map files.  This
  1207. defaults to 'map:'.  The path must be correctly terminated with a '/' or a
  1208. ':' as appropriate.
  1209.  
  1210.      REXXPATH - Sets an additional directory in which EBS will search for
  1211. AREXX (tm) scripts.  The search order is:  current directory, REXXPATH, then
  1212. REXX:.
  1213.  
  1214.      CHAIN - Sets the following values for a location chain.
  1215.           LABEL
  1216.           FLAGS - user defined, none are actually defined for a chain.
  1217.           COLOR - the color in which the location chain should be drawn.
  1218.           MODE - the drawmode, either JAMIT or COMPLEMENT.
  1219.           LOCS - the locations to be added to the chain.  It accepts the
  1220.      following values:
  1221.                CLEAR - clears all locations and starts over.
  1222.                CURRENT - adds the current locations from the current
  1223.           remotepointer to the list of locations.
  1224.                STRING - adds a location in the standard format to the
  1225.           location chain.
  1226.  
  1227.      MAXLOCS - sets the maximum number of locations which EBS will maintain
  1228. for each pointer for drawing purposes, such as in drawing a chain above.
  1229.  
  1230.      BASELOS - the base, unobstructed visibility.  All terrains which
  1231. obstruct visibility reduce this value, so it should be set to cover
  1232. conditions.  Reduce it for night or bad weather games, increase it for high
  1233. visibility conditions.
  1234.  
  1235.  
  1236. GET:
  1237.  
  1238.  
  1239.  
  1240.                                                  21
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.      LASTLOC:
  1247.      Format:  get lastloc pointerword
  1248.  
  1249.      Returns the last location of the specified pointer as a location
  1250. string.  See below under 'pointers' for a list of the pointerwords.
  1251.  
  1252.      SCREEN:
  1253.  
  1254.      Format:  get screen
  1255.  
  1256.      Returns the address of the EBS screen in HEX.
  1257.  
  1258.  
  1259.      DISTANCE:
  1260.  
  1261.      Format:  get distance pointers mptr rem1
  1262.               get distance current rem2
  1263.               get distance total rem1
  1264.  
  1265.           POINTERS
  1266.           Gets the distance between the two current locations of the
  1267.      specified pointers.  Any pointer may be named; the two do not need to
  1268.      be in the same list.  If either pointer has no location defined for it,
  1269.      the result will be zero.
  1270.  
  1271.           CURRENT
  1272.           Gets the distance between the last location and the current
  1273.      location of the specified pointer.
  1274.  
  1275.           TOTAL
  1276.           Gets the total distance of the location chain for the current
  1277.      pointer.
  1278.  
  1279.  
  1280.      TERRAINENTRY:
  1281.  
  1282.      Same as the 'set terrainentry' list of keywords.
  1283.  
  1284.  
  1285.      UNIT:
  1286.  
  1287.      Format:  get unit unitname lastpos
  1288.  
  1289.           Gets the various element values and certain summaries of values
  1290.      for the named unit.  It takes all the keywords of the 'set unit'
  1291.      command plus the following.
  1292.  
  1293.  
  1294.           ATTACK
  1295.           Allows all the options of set for attacks plus the following two:
  1296.                NEXT
  1297.                PREVIOUS
  1298.  
  1299.                                                  22
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.           LASTPOS - returns the position of the unit prior to the last
  1307.      second of movement.
  1308.           TRANSPORTING - returns the label of any unit which this unit is
  1309.      transporting.
  1310.           TRANSPORTEDBY - returns the label of a unit which is transporting
  1311.      this unit.
  1312.           FINALDEST - Under most circumstances, this will return none, but
  1313.      if the unit is moving toward a transport unit in preparation to mount,
  1314.      it will return the destination to which that unit intends to be
  1315.      transported.
  1316.           HEALTHY - returns the number of members of the unit which are
  1317.      uninjured.
  1318.           WOUNDED - returns the number of members of the unit which are
  1319.      wounded.
  1320.           OUT - returns the number of members of the unit which are out of
  1321.      action.
  1322.           WOUNDSTATUS - returns the average number of points lost by the
  1323.      wounded members of the unit.
  1324.           SUBORDINATE - returns the label of the first subordinate unit. 
  1325.      This may be used with the SISTERNEXT and SISTERPREV commands to trace a
  1326.      chain of command.
  1327.           NEXT - returns the next unit in the full unit list without regard
  1328.      to force.
  1329.           PREVIOUS - returns the previous unit in the full unit list without
  1330.      regard to force.
  1331.           FORCENEXT - returns the next unit in the list of units in that
  1332.      force.
  1333.           FORCEPREV - returns the previous unit in the list of units in that
  1334.      force.  This command, and the preceding command can be used to work
  1335.      through all units in one force only rather than for all units currently
  1336.      defined.
  1337.           SISTERNEXT - returns the next unit which is immediately
  1338.      subordinate to this one.
  1339.           SISTERPREV - returns the previous unit which is immediately
  1340.      subordinate to this one.
  1341.  
  1342.      Note:  Some expansion may be necessary on the lists of units.  EBS
  1343. maintains three different lists or systems of lists of all the units which
  1344. are currently defined.  These are:
  1345.  
  1346.      1 - a list of all units currently defined.
  1347.      2 - a list of units for each force.
  1348.      3 - a series of lists tracing the chain of command for each unit.
  1349.  
  1350.      In the first case you might use this list for any action which must be
  1351. taken regardless of force, such as updating a copy of EBS on another machine
  1352. as to the location of all units.  Such a script is provided in the sample
  1353. scripts.  Also, if you are taking over the process of turn execution, this
  1354. method could be used to give the 'move' command to all units currently
  1355. defined.
  1356.  
  1357.  
  1358.                                                  23
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.      In the second case, you might use this list to give strategic commands
  1365. to all the units in a single force, or to get data about all those units. 
  1366. This might be done for a strategy script replacing the normal strategy
  1367. modules.
  1368.  
  1369.      In the third, you can trace the chain of command to determine whether
  1370. the unit is currently in command, or what unit is the highest in the chain. 
  1371. This is similar to what EBS does internally when a unit is tasked to
  1372. "ATTACKHQ" during a scenario.  In that case, of course, the unit requires an
  1373. intelligence roll to determine whether it can locate the unit, so a
  1374. programmer should take unit knowledge into account in designing such
  1375. scripts.
  1376.  
  1377.      The chain of command listings go from HQ to first subordinate, then all
  1378. units immediately subordinate to the HQ are accessed via
  1379. sisternext/sisterprev.  If you take the FIRSTSUBORD of a headquarters unit,
  1380. then trace the SISTERNEXT values until you get a return of none, you will
  1381. have examined the entire list.  In addition each of those subordinate units
  1382. may have subordinates of their own listed in a similar fashion.  Overall, a
  1383. quite complex chain of command can be created.
  1384.  
  1385.      Tracing the list in reverse requires use of the SUPERIOR keyword.  That
  1386. is also the value to use in the 'set unit' commands.  Setting the SUPERIOR
  1387. of any unit automatically adds it to all the lists necessary.
  1388.  
  1389.      MOVES:
  1390.  
  1391.      Format:  get moves movename element
  1392.  
  1393.      Used to access the values of a movement module.  Returns any of the
  1394. values listed under the 'set moves' command plus the following two:
  1395.           NEXT
  1396.           PREVIOUS
  1397.  
  1398.  
  1399.      WEAPON:
  1400.  
  1401.      Accepts all the keywords of the 'set weapon' command plus the
  1402. following:
  1403.           NEXT
  1404.           PREVIOUS
  1405.  
  1406.      IFWEAPON:
  1407.  
  1408.      Accepts all the keywords of the 'set ifweapon' command plus the
  1409. following:
  1410.           NEXT
  1411.           PREVIOUS
  1412.  
  1413.  
  1414.      DEFENSE:
  1415.  
  1416.  
  1417.                                                  24
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.      Accepts all the keywords of the 'set defense' command plus the
  1424. following:
  1425.           NEXT
  1426.           PREVIOUS
  1427.  
  1428.      TACTICS:
  1429.  
  1430.      Accepts all the keywords of the 'set tactics' command plus the
  1431. following:
  1432.           NEXT
  1433.           PREVIOUS
  1434.  
  1435.      TIME:
  1436.  
  1437.      Format:  get time
  1438.  
  1439.      Returns the current scenario time in seconds.
  1440.  
  1441.      MARKER:
  1442.  
  1443.      Format:  get marker markername elementname
  1444.  
  1445.      Returns the values of the elements of a marker module.  Accepts all the
  1446. keywords used in 'set marker' plus the following two elements:
  1447.  
  1448.           NEXT - returns the next element in the list of markers.
  1449.           PREVIOUS - returns the previous element in the list of markers.
  1450.  
  1451.      TARGETDATA:
  1452.  
  1453.      Format:  get targetdata attackername targetname
  1454.  
  1455.      This is a PLAYER interface command which return the data needed for
  1456. PLAYER to conduct an attack on a target.  The format is:
  1457.  
  1458.      75 10000 Y 10000 0 2
  1459.  
  1460.      75 = the target's total defense value.
  1461.      10000 = the range to the target in centimeters.
  1462.      Y = there is a line of sight for the unit to the target ('N' if not).
  1463.      10000 = the distance which the attacker was able to see; will equal the
  1464. range if the line of sight check was successful.
  1465.      0 = the height of blocking terrain if the line of sight was blocked by
  1466. a hill or other high object.
  1467.      2 = the relation of the target to the attacker.  (Values are: 0 =
  1468. FRIEND; 1 = NEUTRAL; 2 = ENEMY; 3 = FANATIC.)
  1469.  
  1470.  
  1471.      COVER:
  1472.  
  1473.      Format:  get cover
  1474.  
  1475.  
  1476.                                                  25
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.      Returns the cover value of the current location of the current remote
  1483. pointer.
  1484.  
  1485.  
  1486.      ALTITUDE:
  1487.  
  1488.      Format:  get altitude
  1489.  
  1490.      Returns the altitude of the current location of the current remote
  1491. pointer.
  1492.  
  1493.  
  1494.      FORCE:
  1495.  
  1496.      Returns values of force modules.  Accepts all keywords of the 'set
  1497. force' command, plus the following:
  1498.           NEXT
  1499.           PREVIOUS
  1500.  
  1501.      PLAYER:
  1502.  
  1503.      Returns the values of player modules.  Accepts all keywords of the 'set
  1504. player' command plus the following:
  1505.           NEXT
  1506.           PREVIOUS
  1507.  
  1508.  
  1509.      MAP:
  1510.  
  1511.      Returns the values of map modules.  Accepts all the keywords of the
  1512. 'set map' command plus the following:
  1513.           NEXT
  1514.           PREVIOUS
  1515.  
  1516.  
  1517.      OBJECTIVE:
  1518.  
  1519.      Returns the values of objective modules.  Accepts all the keywords of
  1520. the 'set objective' command plus the following:
  1521.           NEXT
  1522.           PREVIOUS
  1523.  
  1524.  
  1525.      SUPPLY:
  1526.  
  1527.      Returns the values of supply modules.  Accepts all the keywords of the
  1528. 'set supply' command plus the following:
  1529.           NEXT
  1530.           PREVIOUS
  1531.  
  1532.  
  1533.      STRATEGY:
  1534.  
  1535.                                                  26
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.      Returns the values of strategy modules.  Accepts all the keywords of
  1543. the 'set strategy' command plus the following:
  1544.           NEXT
  1545.           PREVIOUS
  1546.  
  1547.  
  1548.      MEASURE:
  1549.  
  1550.      Returns the values of measure modules.  Accepts all the keywords of the
  1551. 'set measure' command plus the following:
  1552.           NEXT
  1553.           PREVIOUS
  1554.  
  1555.  
  1556.      GRID:
  1557.  
  1558.      Returns the values of grid modules.  Accepts all the keywords of the
  1559. 'set grid' command plus the following:
  1560.           NEXT
  1561.           PREVIOUS
  1562.  
  1563.  
  1564.      PORT:
  1565.  
  1566.      Returns the values of port modules.  Accepts all the keywords of the
  1567. 'set port' command plus the following:
  1568.           NEXT
  1569.           PREVIOUS
  1570.  
  1571.  
  1572.      SUBTIME:
  1573.  
  1574.      Returns the current value of the subcounter in seconds.
  1575.  
  1576.  
  1577.      FONTNAME:
  1578.  
  1579.      Returns the name of the font currently used as the large font for the
  1580. count window.  It is returned in the form "diamond.font" which is the
  1581. default large font.
  1582.  
  1583.  
  1584.      FONTSIZE:
  1585.  
  1586.      Returns the size of the current large font as a number.  This may be
  1587. any size allowed for the font selected under font name.
  1588.  
  1589.  
  1590.      ITEM:
  1591.  
  1592.      Returns the element values of item modules.  Accepts all the keywords
  1593.  
  1594.                                                  27
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600. of the 'set item' command plus the following:
  1601.           NEXT
  1602.           PREVIOUS
  1603.  
  1604.  
  1605.      ENDSECOND:
  1606.  
  1607.      Returns the name and arguments of a script to be executed by EBS at the
  1608. end of each second of conduct conducted.
  1609.  
  1610.  
  1611.      ENDTURN:
  1612.  
  1613.      Returns the name and arguments of the EBS script to be executed at the
  1614. end of each turn (the number of seconds of combat conducted each time the
  1615. 'execute turn' or its equivalent menu option is called).
  1616.  
  1617.      LLFP:
  1618.      Returns the name and arguments of the current Lat Long from Pixels
  1619. script.
  1620.  
  1621.      PFLL:
  1622.      Returns the name and arguments of the current Pixels from Lat Long
  1623. script.
  1624.  
  1625.      ENDTIME:
  1626.      Returns the end time for the current scenario.
  1627.  
  1628.      REXXPORT:
  1629.      Returns the name of the EBS port for rexx commands.  If you are running
  1630. only one copy of EBS this will always be "EBS," but if you run a second copy
  1631. for some reason, it will have a number attached to it.
  1632.  
  1633.      COLORS:
  1634.      Returns the current nine color terrain pattern as a string suitable for
  1635. use as an argument to the set colors command.
  1636.  
  1637.      ISCREENWIDTH - interlaced screen width.
  1638.      ISCREENHEIGHT - interlaced screen height.
  1639.      NISCREENWIDTH - non-interlaced screen width.
  1640.      NISCREENHEIGHT - non-interlaced screen height.
  1641.      Format:  get iscreenwidth
  1642.  
  1643.      ISCREENWIDTH, ISCREENHEIGHT, NISCREENWIDTH and NISCREENHEIGHT return
  1644. the default value for the width or height of a interlaced and non-interlaced
  1645. screens.
  1646.  
  1647.      PIXELCOUNT
  1648.  
  1649.      Format:  get pixelcount colornumber
  1650.  
  1651.      Counts the number of pixels of the colornumber specified.  Color number
  1652.  
  1653.                                                  28
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659. values are from one to the maximum number of colors displayable on the
  1660. screen.  These values can be used to determine quantities of a particular
  1661. terrain type on the map, provided that it is in an appropriate projection. 
  1662. Note that certain projections, such as the 'S' map type will make the
  1663. results of this command totally irrelevant.  The command returns two values,
  1664. the first is the number of pixels are of the specified color, the second is
  1665. the number of pixels which are part of the map.
  1666.  
  1667.      Thus, a map which occupies the full size of a low resolution, non-
  1668. interlaced screen and is half blue, when asked for a count of the blue
  1669. pixels will return:
  1670.  
  1671.      32000 64000
  1672.       
  1673.  
  1674.      REFRESHINC:
  1675.  
  1676.      The interval between map refreshes when a scenario is in continuous
  1677. execution.  This can become important when there are no units ready for
  1678. command, such as when all units are retreating, or one is simply observing
  1679. the progress of a scenario with the computer playing both sides.  The value
  1680. is the number of seconds of game execution between complete refreshes of the
  1681. map.  If EBS is in scenario mode, the display will be the view of the
  1682. current attacker.
  1683.  
  1684.      CURRENTLOC - gets all values of a current location.  See 'set
  1685. currentloc' for conditions and details.
  1686.  
  1687.      TARGETLOC - gets all values of a target location.  Set 'set targetloc'
  1688. for conditions and details.
  1689.  
  1690.      REMOTEPOINTER - gets the value of the current remote pointer.
  1691.  
  1692.      TURNINCREMENT - gets the value of the current turn increment.
  1693.  
  1694.      FILEPATH - gets the current filepath.
  1695.  
  1696.      REXXPATH - gets the current file path added to the search for AREXX
  1697. (tm) commands.
  1698.  
  1699.      CHAIN - gets all values of a location chain.  See 'set' for the other
  1700. values.  The following keyword is modified:
  1701.           LOCS - Format: 'get chain chainname locs n' where 'n' is an
  1702.      integer less than the total number of elements in the location chain.
  1703.  
  1704.      In addition, the following values may be gotten:
  1705.  
  1706.           NEXT
  1707.           PREV
  1708.  
  1709.      MAXLOCS - gets the maximum number of locations maintained for each
  1710. remote pointer.  Uses the current default pointer.
  1711.  
  1712.                                                  29
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.      BASELOS - returns the base LOS distance.
  1720.  
  1721.  
  1722. MOVE:
  1723.  
  1724.      This command moves units either using their normal movement modules and
  1725. destinations or an absolute location.  All moves are conducted "legally" for
  1726. scenario purposes, so that previous location data is maintained as accurate.
  1727.  
  1728.      ALL
  1729.      Moves all units in the unit list using currently defined destinations
  1730. and movement modules.  It maintains all counters.
  1731.  
  1732.      CURRENT
  1733.      Moves the current unit using current destination and movement module
  1734. data.  Maintains all counters.
  1735.  
  1736.      UNIT
  1737.  
  1738.      Format:  move unit unitname
  1739.  
  1740.      Moves the named unit toward its destination using movement module. 
  1741. Maintains all counters.
  1742.  
  1743.      ABSOLUTE
  1744.  
  1745.      Format:  move absolute unitname locationstring
  1746.  
  1747.      Moves the unit to the location specified by the location string.  Legal
  1748. values for the previous location of the unit are maintained, but no counters
  1749. are modified, and the movement module is not checked.  The move will be
  1750. conducted whether or not it is legal under EBS movement rules.
  1751.  
  1752.  
  1753. PROJECT:
  1754.  
  1755.      Duplicates the functions of the main EBS menu.  This command exactly
  1756. duplicates the project menu items, including requesters.  To save items to
  1757. filenames designated in scripts, use the 'execute' command set.
  1758.  
  1759.      LOAD
  1760.      Format: load map
  1761.           MAP
  1762.           UNIT
  1763.           CONFIG
  1764.           SCENARIO
  1765.      SAVE
  1766.           MAP
  1767.           UNIT
  1768.           CONFIG
  1769.           SCENARIO
  1770.  
  1771.                                                  30
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.           DISPLAY
  1778.      REFRESH
  1779.      EDIT
  1780.      MARKERS
  1781.      COMMAND
  1782.      DRAW
  1783.      TURN
  1784.      MOVEMENT
  1785.      CLEAR
  1786.      MAINFLAGS
  1787.      SCENARIOFLAGS
  1788.      ABOUT
  1789.      QUIT
  1790.  
  1791. LOCK:
  1792. UNLOCK:
  1793.  
  1794.      These two commands lock and unlock EBS preventing or allowing keyboard
  1795. input.  When conducting any turn execution, it is a good idea to lock out
  1796. all other input.  I don't know of any disasters which will occur if you
  1797. ignore this, except that definitions changed while EBS is taking other
  1798. actions on a module could cause results which are "undefined."
  1799.  
  1800.  
  1801. WINDOW:
  1802.  
  1803.      Format:  window open edit
  1804.  
  1805.      Opens or closes one of the auxilliary windows for EBS.  The window is
  1806. opened in the location where it was last located or at its default.
  1807.  
  1808.      OPEN
  1809.           MARKER
  1810.           EDIT
  1811.           COMMAND
  1812.  
  1813.      CLOSE
  1814.  
  1815.  
  1816. MENU:
  1817.  
  1818.      Creates menus in the following windows (keywords): MAIN, MARKER,
  1819. MAPEDIT, COMMAND.  They have the following minimum user defined menu
  1820. numbers:
  1821.  
  1822.      MAIN - 4
  1823.      MARKER - 3
  1824.      MAPEDIT - 4
  1825.      COMMAND - 3
  1826.  
  1827.      These values are the minimum number for the lowest number menu which
  1828. may be defined by the user.  The command string may be any valid internal
  1829.  
  1830.                                                  31
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836. EBS command or the name of an AREXX (tm) script (if you have AREXX (tm)). 
  1837. Internal commands must be specified by the '@' as menu options default to
  1838. AREXX (tm) scripts rather than internal commands, unlike the command window.
  1839.  
  1840.      Format:  menu window menunum itemnum keyword string
  1841.               menu main 4 0 name system  ; sets up menu for system commands
  1842.               menu mapedit 4 3 name NewTactical ; sets up a menu item to
  1843. create               ; a new tactical map on the 4th menu of the menu strip
  1844. for the
  1845.               ; mapedit window
  1846.      NAME
  1847.      COMMAND
  1848.      KEY
  1849.      ENABLE
  1850.      DISABLE
  1851.           ENABLE and DISABLE turn the menu item on or off.  No string is
  1852.      required.
  1853.      REMOVE
  1854.           Again, no string is required.  This erases the menu item.
  1855.  
  1856.  
  1857. CLEARMENUS:
  1858.  
  1859.      Clears menus in the following windows (keywords): MAIN, MARKER,
  1860. MAPEDIT, COMMAND.
  1861.  
  1862.  
  1863. WBENCHFRONT:
  1864. WBENCHBACK:
  1865.  
  1866.      Format:  wbenchback
  1867.  
  1868.      Moves the workbench screen to the front or to the back.
  1869.  
  1870. EBSFRONT:
  1871. EBSBACK:
  1872.  
  1873.      Format:  ebsback
  1874.  
  1875.      Moves the EBS screen to the front or to the back.
  1876.  
  1877.  
  1878. NOTIFY:
  1879.  
  1880.      Presents a message to the user requiring a response before continuation
  1881. of program execution.  The message will be truncated to the width of the
  1882. screen, so take that length into consideration in designing the message.
  1883.  
  1884.  
  1885. REQUEST:
  1886.  
  1887.      EBS has a variety of requesters, and values on which they can operate. 
  1888.  
  1889.                                                  32
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895. The formats are individual for each one.
  1896.  
  1897.      STR1
  1898.  
  1899.           Format:  request str1 windowname
  1900.  
  1901.           Presents a string requester in the window specified by windowname. 
  1902.      See the WINDOW command for a list of valid window names.
  1903.  
  1904.      STR2
  1905.  
  1906.           Format:  request str2
  1907.  
  1908.           Presents a string request window, independent of the location and
  1909.      stacking of the other windows.
  1910.  
  1911.      LIST
  1912.  
  1913.           Format:  request list module
  1914.  
  1915.           Presents a list requester for the list specified.  The following
  1916.      keywords are supported.
  1917.  
  1918.           UNIT
  1919.           FORCE
  1920.           MOVEMENT
  1921.           DEFENSE
  1922.           WEAPON
  1923.           IFWEAPON
  1924.           TACTICS
  1925.           OBJECTIVE
  1926.           SUPPLY
  1927.           PLAYER
  1928.           STRATEGY
  1929.           MAP
  1930.           PORT
  1931.           MARKER
  1932.           ITEM
  1933.           MEASURE
  1934.  
  1935.      OPTIONS
  1936.  
  1937.           Format:  request options module
  1938.  
  1939.           Presents an option requester for the current module from the
  1940.      specified module list.
  1941.  
  1942.           UNIT
  1943.           FORCE
  1944.           ATTACK
  1945.           TERRAIN
  1946.           MOVEMENT
  1947.  
  1948.                                                  33
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.           DEFENSE
  1955.           WEAPON
  1956.           IFWEAPON
  1957.           TACTICS
  1958.           SUPPLY
  1959.           PLAYER
  1960.           STRATEGY
  1961.           MAP
  1962.           GRID
  1963.           MARKER
  1964.           OBJECTIVE
  1965.  
  1966.      FILE
  1967.  
  1968.           Format:  request file type
  1969.  
  1970.           Presents a file requester of the type specified to the user.  It
  1971.      returns the result as a filename with full path name.
  1972.  
  1973.           SCENARIO
  1974.           UNIT
  1975.           CONFIG
  1976.           MAP
  1977.           IFF
  1978.  
  1979.  
  1980. LIST:
  1981.  
  1982.      Format:  list keyword
  1983.  
  1984.      Creates a string containing the names of the elements of the specified
  1985. list separated by spaces.  If done internally, the list is put in the info
  1986. window, otherwise it is returned as a string to the AREXX (tm) script.
  1987.  
  1988.      MARKERS
  1989.      UNITS
  1990.      MOVEMENT
  1991.      WEAPONS
  1992.      IFWEAPONS
  1993.      DEFENSES
  1994.      TACTICS
  1995.      ATTACKS
  1996.      OBJECTIVES
  1997.      SUPPLY
  1998.      PLAYERS
  1999.      STRATEGY
  2000.      MAPS
  2001.      PORTS
  2002.      ITEMS
  2003.      MEASURES
  2004.      FORCE
  2005.      READY - all units ready to conduct an attack.
  2006.  
  2007.                                                  34
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.      CHANGED
  2014.  
  2015.           Format:  list changed lists
  2016.  
  2017.           Lists all items in the various lists which have been changed since
  2018.      last saved.
  2019.  
  2020.           LISTS - lists all lists which have changed elements.
  2021.           MARKERS
  2022.           UNITS
  2023.           FORCES
  2024.           MOVEMENTS
  2025.           DEFENSES
  2026.           WEAPONS
  2027.           IFWEAPONS
  2028.           TACTICS
  2029.           OBJECTIVES
  2030.           SUPPLY
  2031.           PLAYER
  2032.           STRATEGY
  2033.           MAP
  2034.           PORT
  2035.           MEASURES
  2036.           ITEMS
  2037.  
  2038.  
  2039. MODIFY:
  2040.  
  2041.      Format:  modify unit unitname number value
  2042.  
  2043.      The current number and damage values of units may not be set directly,
  2044. because there are a number of internal values which must be kept accurate. 
  2045. The MODIFY command allows increasing or decreasing these values.  The
  2046. 'value' argument may be a positive or negative integer which is subtracted
  2047. from the target's value.  To increase the size or damage value of the unit,
  2048. use a negative number; to decrease it, use a positive number.
  2049.  
  2050.      UNIT
  2051.  
  2052.           For both of the following commands, the results are set up, but
  2053.      not applied unless the 'modify apply' command is executed afterward. 
  2054.      EBS is set up to apply all damage simultaneously at the end of a
  2055.      second.  Note that the 'modify apply' command applies all the results
  2056.      set up to all units, so it should only be called after all 'modify
  2057.      unit' commands desired have already been executed.
  2058.  
  2059.           NUMBER
  2060.                Directly subtracts the number of members specified from the
  2061.           unit and zeros out the damage value of each member so removed from
  2062.           the unit.
  2063.  
  2064.           DAMAGE
  2065.  
  2066.                                                  35
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.                Applies the number of damage points specified to the unit,
  2073.           causing casualties as appropriate.
  2074.  
  2075.      APPLY
  2076.  
  2077.           Format:  modify apply
  2078.  
  2079.           Applies all results of combat to all units.  All 'modify unit'
  2080.      commands should be completed prior to calling this command which
  2081.      performs the simultaneous application of all combat results.
  2082.  
  2083.  
  2084. OPTIONON:
  2085. OPTIONOFF:
  2086.  
  2087.      The OPTIONON and OPTIONOFF commands use a similar syntax and list of
  2088. subordinate keywords.  OPTIONON turns an option in a set of options on,
  2089. OPTIONOFF turns that same option off.
  2090.  
  2091.      Format:  optionon force forcename optionword
  2092.  
  2093.      The following list of keywords apply to both commands:
  2094.  
  2095.           UNIT
  2096.           A unit has the following two groups of options, thus the format is
  2097.      slightly different from the standard.
  2098.  
  2099.           Format:  optionon unit unitname main optionword
  2100.                    optionon unit unitname attack attackname optionword
  2101.  
  2102.                MAIN
  2103.                     CHECKLOS
  2104.                     PRIMARYSYSTEM
  2105.                     INFOWINDOW
  2106.                     SCENARIO
  2107.                     TIMEWINDOW
  2108.                     COUNTWINDOW
  2109.                     FILTERSELECT
  2110.                     FILTERON
  2111.                     MARKSECTORS
  2112.                     MARKZONES
  2113.                     DOICONS
  2114.                     COURSEPLOTTING
  2115.                     POINTERS
  2116.                     MARKERTOFRONT
  2117.                     A2090SAVE
  2118.                     TURNMINUTES
  2119.                     POINTERLOCK1
  2120.                     POINTERLOCK2
  2121.                     DRAWLOCK
  2122.  
  2123.                UNIT
  2124.  
  2125.                                                  36
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.                     SIMPLE
  2132.                     AUTOMODE
  2133.                     FULLAUTO
  2134.                     AUTOONLY
  2135.                     RETREATING
  2136.                     DEFENSIVE
  2137.                     ACTIVEDEFENSE
  2138.                     NEVERDEVIATE
  2139.                     CONSTANTLOS
  2140.                     SHIELDSUP
  2141.                     ENEMYSIGHTED
  2142.                     UNDERFIRE
  2143.                     INCOMBAT
  2144.                     INCHARGERANGE
  2145.  
  2146.                ATTACK
  2147.                     INDIRECT
  2148.                     DIRECT
  2149.                     MAGICAL
  2150.                     MEETCHARGE
  2151.                     CHARGING
  2152.                     AIRTARGET
  2153.                     GNDTARGET
  2154.                     NONTARGET
  2155.                     INTERSTICE
  2156.                     STOPTOFIRE
  2157.                     PTBRANGE
  2158.                     SHTRANGE
  2159.                     MEDRANGE
  2160.                     LNGRANGE
  2161.                     MOUNTED
  2162.                     WITHSHIELD
  2163.                     SMOKEATTACK
  2164.  
  2165.           FORCE
  2166.                KILL
  2167.                DEFENSIVE
  2168.                OFFENSIVE
  2169.                BERSERK
  2170.                CAUTIOUS
  2171.                STATIC
  2172.  
  2173.  
  2174.           WEAPON
  2175.           IFWEAPON
  2176.  
  2177.           Both of these items (WEAPON and IFWEAPON) use the same list of
  2178.      options as an attack.  Note that attack and weapon flags must match on
  2179.      any item which indicates capability, such as CHARGING.  Specific uses,
  2180.      such as the ideal range indicators, are designed to be used in specific
  2181.      attacks, however, if you wish attacks using the weapon to default to
  2182.      the range or other attribute desired, select that option for the
  2183.  
  2184.                                                  37
  2185.  
  2186.  
  2187.  
  2188.  
  2189.  
  2190.      weapon, then enter it in the various attacks which will use it.
  2191.  
  2192.           DEFENSE
  2193.                ONEARMOR
  2194.                SURPRISED
  2195.  
  2196.           MOVEMENT
  2197.                COVER
  2198.                FAST
  2199.                HARDFRONT
  2200.                CLOSEFRONT
  2201.                FREE
  2202.                TELEPORT
  2203.                PLANESHIFT
  2204.                INTERSTICE
  2205.                ENTERATTACK
  2206.                RANDSEARCH
  2207.                STOPINAIR
  2208.                EXACTFORMATION
  2209.  
  2210.           TACTICS
  2211.                DAMAGE
  2212.                HARD
  2213.                CLOSEST
  2214.                DANGER
  2215.                NOTTARGET
  2216.                FASTEST
  2217.                RECKLESS
  2218.                MAXRANGE
  2219.                FLEXCPA
  2220.                IDEALRANGE
  2221.                CONCENTRATE
  2222.                OBSERVER
  2223.  
  2224.           OBJECTIVE
  2225.                ONOBJECTIVE
  2226.                INZONE
  2227.                LOSTOOBJECTIVE
  2228.                GAMEENDS
  2229.                TIMEHOLD
  2230.  
  2231.           SUPPLY
  2232.                MOVING
  2233.                STOPPED
  2234.                LOSNEEDED
  2235.                ONMAP
  2236.                RETREATING
  2237.                ATSUPPLY
  2238.  
  2239.           PLAYER
  2240.                ACTIVE
  2241.  
  2242.  
  2243.                                                  38
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.           STRATEGY
  2250.                KILL
  2251.                DEFENSIVE
  2252.                OFFENSIVE
  2253.                BERSERK
  2254.                CAUTIOUS
  2255.                UNDERFIRE
  2256.                SIGHTEDENEMY
  2257.                INCOMBAT
  2258.  
  2259.           MAP
  2260.           The format for MAP options is the same as that for the units, the
  2261.      alternate keyword being for the list of grids attached to that map.
  2262.  
  2263.                MAIN
  2264.                     PVTBITMAP
  2265.                     TACTICALMAP
  2266.  
  2267.                GRID
  2268.                     GRIDON
  2269.                     DISTANCEGRID
  2270.  
  2271.  
  2272.           PORT
  2273.                INTERNAL
  2274.                EXTERNAL
  2275.                SERPORT
  2276.                MODEM
  2277.  
  2278.           MARKER
  2279.                SHOWN
  2280.                RANGEON
  2281.                FACINGON
  2282.                SHOWZOC
  2283.                SHOWDEST
  2284.                SHOWTARGET
  2285.                SHOWCMD
  2286.                LASTMOVE
  2287.                LABEL
  2288.                OWNIMAGE
  2289.       
  2290.           TERRAIN
  2291.  
  2292.           Format:  optionon terrain terrainnumber optionword
  2293.  
  2294.           The terrain must be specified by number rather than label.  Legal
  2295.      values are from 1 to 32.
  2296.  
  2297.                MOVE
  2298.                LOS
  2299.                ALTITUDE
  2300.                COVER
  2301.  
  2302.                                                  39
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.           MAIN
  2310.                CHECKLOS
  2311.                PRIMARYSYSTEM
  2312.                INFOWINDOW
  2313.                SCENARIO
  2314.                TIMEWINDOW
  2315.                COUNTWINDOW
  2316.                FILTERSELECT
  2317.                FILTERON
  2318.                MARKSECTORS
  2319.                MARKZONES
  2320.                DOICONS
  2321.                COURSEPLOTTING
  2322.                POINTERS
  2323.                MARKERTOFRONT
  2324.                OPTIMIZECOURSE
  2325.                POINTERLOCK1
  2326.                POINTERLOCK2
  2327.                DRAWLOCK
  2328.  
  2329.           SCENARIO
  2330.                LOCKED
  2331.                FORCES
  2332.                UNITS
  2333.                VERBOSE
  2334.                PHASES
  2335.                ZOOMTOBATTLES
  2336.                HISTORYFILE
  2337.                STOPAFTERBATTLE
  2338.       
  2339.  
  2340.  
  2341. DRAW:
  2342.  
  2343.      The draw command allows drawing using the measuring units of the EBS
  2344. map.  The option words PIXELS and SCALED apply to these commands.  Normally
  2345. location arguments are passed in map coordinates (using the current map
  2346. definition).  If the word SCALED is added to the end of the command, the
  2347. unit of measurement is the unit defined for the current map, otherwise the
  2348. unit is centimeters.  If the word PIXELS is added to the end of the command,
  2349. arguments are entered in pixels.  Note that the option words must be the
  2350. last thing on the command line, regardless of how many embedded commands are
  2351. included.  EBS extracts those words first before any other parsing of the
  2352. command is accomplished.
  2353.  
  2354.      Format:  draw pattern x y optionword
  2355.  
  2356.      This option word is, of course, optional.
  2357.  
  2358.      PATTERN
  2359.  
  2360.  
  2361.                                                  40
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.      Gets the pattern of colors at the current location of the remote
  2368. pointer.  These colors are returned as a string of numbers separated by
  2369. spaces suitable for use as an argument to a 'set colors' command.
  2370.  
  2371.      COLOR
  2372.  
  2373.      Gets the single pattern of colors at the current location of the remote
  2374. pointer.  The color is returned as a single number.
  2375.  
  2376.      BOX
  2377.  
  2378.      Format:  draw box startx starty endx endy optionword
  2379.  
  2380.      Draws a box with corners startx/starty and endx/endy.  The order of the
  2381. corners provided is immaterial (upper left, lower right, etc).  The box is
  2382. an outline in color 5 of the terrain pattern.
  2383.  
  2384.      CIRCLE
  2385.  
  2386.      Format:  draw circle centerx centery radius optionword
  2387.  
  2388.      Draws a circle centered at centerx and centery with the specified
  2389. radius in color 5 of the terrain pattern.
  2390.  
  2391.      LINE
  2392.  
  2393.      Format:  draw line startx starty endx endy optionword
  2394.  
  2395.      Draws a line in color 5 of the terrain pattern.  As with 'draw box' it
  2396. is immaterial which end of the line is specified first.
  2397.  
  2398.      PLINE
  2399.  
  2400.      Same as 'draw line', except that the line is drawn with the entire nine
  2401. pixel terrain pattern.
  2402.  
  2403.      FBOX
  2404.  
  2405.      Same as 'draw box', except that the box will also be filled with color
  2406. 5 of the terrain pattern.
  2407.  
  2408.      FCIRCLE
  2409.  
  2410.      Same as 'draw circle', except that the circle will also be filled with
  2411. color 5 of the terrain pattern.
  2412.  
  2413.      PBOX
  2414.  
  2415.      Same as 'draw box' except that the box is drawn and filled with all
  2416. nine colors of the terrain pattern.
  2417.  
  2418.      POUTLINE
  2419.  
  2420.                                                  41
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.      Same as 'draw box' except that the outline of the box is drawn with all
  2428. nine colors of the terrain pattern.
  2429.  
  2430.      POINT
  2431.  
  2432.      Draws the current terrain pattern at the location specified.
  2433.  
  2434.      PPOINT
  2435.  
  2436.      Draws one pixel of color 5 of the current terrain pattern at the
  2437. location specified.
  2438.  
  2439.  
  2440. NEW:
  2441.  
  2442.      Format:  new unit name sourcename
  2443.  
  2444.      This is a simple command to create a new, blank, module of the type
  2445. specified.  The 'name' argument is the name for the new module; the
  2446. sourcename is the name of an existing module whose values you wish copied
  2447. into the new module as defaults.
  2448.  
  2449.      UNIT
  2450.      MOVES
  2451.      WEAPON
  2452.      IFWEAPON
  2453.      DEFENSE
  2454.      TACTICS
  2455.      MARKER
  2456.      ATTACK
  2457.      FORCE
  2458.      MEASURE
  2459.      GRID
  2460.      OBJECTIVE
  2461.      SUPPLY
  2462.      STRATEGY
  2463.      PLAYER
  2464.      PORT
  2465.      ITEM
  2466.  
  2467.  
  2468. CLEAR:
  2469.  
  2470.      Format:  clear unit optionword
  2471.  
  2472.      The only applicable optionword is QUERY.  If it is the last thing on
  2473. the command line EBS will query the user at the console as to whether he
  2474. desires the list of modules cleared, otherwise, EBS deletes all the modules
  2475. in the list.
  2476.  
  2477.      This command uses the list of modules presented under the 'count'
  2478.  
  2479.                                                  42
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485. command below.  Its purpose is, however, to clear out an entire list of the
  2486. type of module specified.
  2487.  
  2488.  
  2489. DELETE:
  2490.  
  2491.      Format:  clear unit unitname optionword
  2492.  
  2493.      Similar to 'clear' except that only the item named is deleted.  Use of
  2494. the QUERY option is identical.
  2495.  
  2496.  
  2497. COUNT:
  2498.  
  2499.      Format:  count map
  2500.               count map grids
  2501.               count unit
  2502.               count unit attacks
  2503.               count unit destinations
  2504.  
  2505.      Counts the number of modules there are in each list.  This is
  2506. particularly valuable when something must be done to all elements of a list
  2507. from the EBS script language.  One way of covering an entire list is by
  2508. getting the first element of it, then counting your way through using the
  2509. 'next' variable.  This takes time and extra EBS commands sent from AREXX
  2510. (tm).
  2511.  
  2512.      A simpler way to do so is to get a count of the elements of the list,
  2513. then use a simple counting loop.  All arguments in EBS which require the
  2514. module name will also accept the module number.  The difference is, that
  2515. when dealing with more than one machine or more than one copy of EBS, the
  2516. lists may not be identical.  In that case, the name provides a unique way of
  2517. accessing a particular module.
  2518.  
  2519.      MAP
  2520.        GRIDS
  2521.      UNIT
  2522.        ATTACKS
  2523.        DESTINATIONS
  2524.      UNIT
  2525.      FORCE
  2526.      MOVEMENT
  2527.      DEFENSE
  2528.      WEAPON
  2529.      IFWEAPON
  2530.      TACTICS
  2531.      OBJECTIVE
  2532.      SUPPLY
  2533.      PLAYER
  2534.      STRATEGY
  2535.      MAP
  2536.      PORT
  2537.  
  2538.                                                  43
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.      MARKER
  2545.      ITEM
  2546.      MEASURE
  2547.      ALL
  2548.  
  2549.  
  2550. SECTOR:
  2551.  
  2552.      Format:  sector sectornum item
  2553.  
  2554.      Returns the average values for each of the following items for a
  2555. sector.
  2556.  
  2557.      COVER - average cover in the sector.
  2558.      ALTITUDE - average altitude of the terrain in the sector.
  2559.      TROOPS - total troops of all forces.
  2560.      SPEED - average speed for the movement module specified.
  2561.           Format:  sector sectornum speed infantrymoves
  2562.      FORCE
  2563.           Format:  sector sectornum force item
  2564.  
  2565.           Uses the same keywords as the FORCE command to return values which
  2566.      reference a particular force, such as enemy numbers in the sector.  
  2567.  
  2568. ZONE:
  2569.  
  2570.      This command has the same format and keywords as the SECTOR command,
  2571. but provides the average values for whole zones.
  2572.  
  2573.  
  2574. UNIT:
  2575.  
  2576.      Format:  unit unitname keyword
  2577.  
  2578.      Returns a TRUE or FALSE for whether the specified item is true about
  2579. the unit, with the exception of distance (see below).
  2580.  
  2581.      MOVED
  2582.           This is TRUE if the unit has been moved since its status was last
  2583.      updated by EBS.
  2584.      DISTANCE
  2585.           Returns the distance of the last second's movement by the unit
  2586.      specified.
  2587.  
  2588.      TRANSPORTED
  2589.           This is TRUE if the unit is being transported by another unit.
  2590.      INTELCHECKED
  2591.           This is TRUE if the unit has had all its information checked for
  2592.      quick display of the unit view.
  2593.      SITECHECKED
  2594.           This is TRUE if the unit has had all of its lines of sight check
  2595.      for quick display of the unit view.
  2596.  
  2597.                                                  44
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.      COMMANDED
  2604.           This is TRUE if the unit has received commands since the last time
  2605.      it was ready to receive them.
  2606.  
  2607. FORCE:
  2608.  
  2609.      Format:  force forcename keyword
  2610.  
  2611.      Returns the following values for a force for the entire EBS map.  It is
  2612. similar to the 'sector force' and 'zone force' commands otherwise.
  2613.  
  2614.      NUMBER
  2615.      ENEMY
  2616.      STRPOINTS
  2617.      DEFPOINTS
  2618.      MOVEPOINTS
  2619.      OFFPOINTS
  2620.      ENEMYSTR
  2621.      ENEMYDEF
  2622.      ENEMYMOVE
  2623.      ENEMYOFF
  2624.  
  2625.  
  2626. COURSE:
  2627.  
  2628.      Format:  course unitname keyword
  2629.  
  2630.      Returns values relating to the position, destination and current course
  2631. of the unit named.
  2632.  
  2633.      COURSECLEAR
  2634.           Returns TRUE if there is a clear course between the unit and its
  2635.      destination, FALSE otherwise.
  2636.  
  2637.      CALCCOURSE
  2638.           Returns the course in degrees and the distance in centimeters from
  2639.      the unit's current position to its destination.  Zero or 360 degrees is
  2640.      always to the top of the map.  Use of the SCALED keyword will result in
  2641.      a distance value stated in the unit specified for the map.
  2642.  
  2643.      SETCOURSE
  2644.  
  2645.           Format:  course unitname degrees distance
  2646.  
  2647.           Sets the course of the unit named to the number of degrees
  2648.      specified, and to a destination 'distance' centimeters away on that
  2649.      course.  Accepts the response of the 'calccourse' command as its input. 
  2650.      If necessary, internal logic for moving around obstacles is used in
  2651.      projecting a course through a series of points to the destination. 
  2652.      Returns the destination which has been set.
  2653.  
  2654.      RETREAT
  2655.  
  2656.                                                  45
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.           Format:  course unitname retreat attackername
  2664.  
  2665.           Sets the unit's course as a retreat from the attacker named at the
  2666.      end of the command.  Returns the destination actually set, or zeros if
  2667.      none was successfully set, meaning the unit is unable to retreat under
  2668.      EBS rules.
  2669.  
  2670.  
  2671. LOS:
  2672.  
  2673.      Format:  los keyword values keyword values
  2674.               los sectorc sectornum sectore sectornum
  2675.               los loc rem1 loc rem2
  2676.               los unit unitname marker markername
  2677.               los locstr 1000 1000 0 0 0 0 1 locstr 1000 1500 0 0 0 0 1
  2678.  
  2679.      Calculates whether there is a line of sight between any two locations
  2680. specified by the following list of keywords.  They may be mixed as desired,
  2681. for example, the command 'los unit leadunitname marker objectivemarkername'
  2682. would inform the user whether the lead unit (specified by name, this is not
  2683. an EBS variable) has an LOS to its objective.
  2684.  
  2685.      SECTORC
  2686.           Calculates the LOS to the center of the sector specified.
  2687.  
  2688.      SECTORE
  2689.           Calculates the LOS to the nearest edge of the sector specified.
  2690.  
  2691.      LOCSTR
  2692.      LOC
  2693.      MARKER
  2694.      UNIT
  2695.  
  2696.  
  2697. PIXX:
  2698.  
  2699.      Converts pixels to location strings.  The location strings returned may
  2700. be used as arguments for any functions which call for a location string.
  2701.  
  2702.      PIX
  2703.           Format:  pixx pix px py
  2704.  
  2705.           Returns a location string with full values based on the px and py
  2706.      location specified.
  2707.  
  2708.      LATLONG
  2709.           Format:  pixx latlong x y z 0 0 interstice plane
  2710.  
  2711.           Calculates the pixel values and returns the location string
  2712.      complete with the pixel values.  Any values entered in the position for
  2713.      the pixels in the location string will be ignored.
  2714.  
  2715.                                                  46
  2716.  
  2717.  
  2718.  
  2719.  
  2720.  
  2721.  
  2722.  
  2723. INFO:
  2724.  
  2725.      Format:  info put string
  2726.               info add string
  2727.  
  2728.      This command simply places the information provided in the string into
  2729. the EBS information window.  The 'info put' command erases any previous data
  2730. entered into the window, while the 'info add' command adds this info to any
  2731. already in the window.  Be careful in using this command to avoid adding
  2732. more information that the information window has buffers for.  Extra
  2733. information will be discarded.  The capacity of the information window is
  2734. 2048 bytes, and even this amount cannot be displayed on lower resolution
  2735. screens.
  2736.  
  2737.      PUT
  2738.      ADD
  2739.  
  2740.  
  2741. RANDOM:
  2742.  
  2743.      Format:  random upperlimit
  2744.  
  2745.      Returns a value between one and 'upperlimit'.  The random number
  2746. generator is automatically seeded from the clock at startup.  The random
  2747. number must be less than 65535.
  2748.  
  2749.  
  2750. POINTERS:
  2751.  
  2752.      The following keywords are used in all cases where pointer
  2753. specification is required:
  2754.  
  2755.      MPTR - the mouse pointer.  Information may be accessed from this
  2756. pointer, but its location may not be changed remotely.
  2757.      REM1 - the first remote pointer.  Fully accessible from remote scripts. 
  2758. The REM1 pointer is used by default for pointer to markers and to targets. 
  2759. Any internal function which moves a pointer uses this one.
  2760.      REM2 - the second remote pointer.  Fully accessible from remote
  2761. scripts.  Not used by default for any other function within EBS.
  2762.  
  2763.      Remote pointer commands will use the default remote pointer.
  2764.  
  2765. 3.6 Expressions and Operators
  2766.  
  2767.      The EBS script language also supports operators and expressions used in
  2768. commands.  Command processing will often be speeded by using these operators
  2769. rather than getting values, calculating in AREXX (tm) then again entering
  2770. values in EBS.
  2771.  
  2772.      'C' language escape values, including octal or hex entries, '\n', etc.
  2773.  
  2774.                                                  47
  2775.  
  2776.  
  2777.  
  2778.  
  2779.  
  2780. are supported as parts of strings.  Several of these, such as '\f' have no
  2781. function in the current version of EBS, but will not produce errors.
  2782.  
  2783.      (IF)  - this doesn't exist as such.  Just enter a boolean expression. 
  2784. This must use one of the comparison operators.  Explicitly do a comparison. 
  2785. For example [1] commands [ENDIF] will not work, but [1 == 1] commands
  2786. [ENDIF] will.
  2787.      ELSE
  2788.      ENDIF
  2789.  
  2790.      These three operators combine to produce IF-ELSE-ENDIF structure. 
  2791. Sytax is:  [expression1] commands [ELSE] commands [ENDIF].  These
  2792. expressions can be nested up to 256 levels.
  2793.  
  2794.      Binary operators take the form 'expression1 op expression2'.  EBS
  2795. supports the following binary operators:
  2796.  
  2797.      Comparison:
  2798.           Operator       Function
  2799.           ==             Equality
  2800.           !=             Inequality
  2801.           <              Less than
  2802.           <=             Less than or equal to
  2803.           >              Greater than
  2804.           >=             Greater than and equal to
  2805.      Math:
  2806.           +              Addition
  2807.           -              Subtraction
  2808.           *              Multiplication
  2809.           /              Division
  2810.           %              Modulo division
  2811.      BITWISE:
  2812.           &              AND
  2813.           |              OR
  2814.           ^              XOR
  2815.           <<             SHIFT LEFT
  2816.           >>             SHIFT RIGHT
  2817.  
  2818.      LOGICAL:
  2819.           &&             AND
  2820.           ||             OR
  2821.  
  2822.      Unary operators take the form 'op expression'.  EBS supports the
  2823. following unary operators.
  2824.  
  2825.      Comparison:
  2826.           Operator       Function
  2827.           !              LOGICAL NOT
  2828.           ~              BITWISE NOT 
  2829.           UNSIGNED       Converts number to unsigned for printed return
  2830.           ENVIRONMENT    Returns an environment variable value
  2831.  
  2832.  
  2833.                                                  48
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840. * AREXX is a trademark of William B. Hawes.      
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.                                                  49
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.                                    Index
  2900.  
  2901. '@'  4, 32
  2902. 'set  24, 25, 26, 27, 41
  2903. 'set'  9
  2904. []  4
  2905. {}  4
  2906. $  4
  2907. @  4
  2908. ACTIVEDEFENSE  37
  2909. ALLMAGICDEFENSES  15
  2910. Altitude  9, 11, 26, 39, 44
  2911. AREXX  3, 4, 5, 32, 34, 43
  2912. ATSUPPLY  38
  2913. Attackername  7
  2914. Back  13
  2915. BASEALTITUDE  16
  2916. BASETIME  16
  2917. Below  7
  2918. CDEFENSE  5
  2919. Centered  7
  2920. CFORCE  5
  2921. CGRID  5
  2922. CHECKLOS  36, 40
  2923. CIFWEAPON  5
  2924. CLEARMENUS  32
  2925. CLOCATION  5
  2926. CMARKER  5
  2927. COBJECTIVE  5
  2928. CONSTANTLOS  37
  2929. Coordinates  40
  2930. COUNTWINDOW  36, 40
  2931. Cover  9, 11, 12, 25, 26, 38, 39, 44
  2932. Covering  43
  2933. CPLAYER  5
  2934. CSTRATEGY  5
  2935. CSUPPLY  5
  2936. CTACTICS  5
  2937. CUNIT  5
  2938. CWEAPON  5
  2939. DEFAULTTERRAIN  16
  2940. Defense  5, 11, 15, 24, 25, 33, 34, 38, 42, 43
  2941. DEFENSES  8, 34, 35
  2942. Definition  40
  2943. Distance  22
  2944. DISTANCEGRID  39
  2945. Executed  7
  2946. FIRSTDEFENSE  6
  2947. FIRSTFORCE  6
  2948. FIRSTIFWEAPON  6
  2949. FIRSTMARKER  6
  2950.  
  2951.                                                  50
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957. FIRSTMEASURE  6
  2958. FIRSTOBJECTIVE  6
  2959. FIRSTPLAYER  6
  2960. FIRSTSTRATEGY  6
  2961. FIRSTSUPPLY  6
  2962. FIRSTTACTICS  6
  2963. FIRSTUNIT  6, 15
  2964. FIRSTWEAPON  6
  2965. Font  19, 27
  2966. FONTNAME  19, 27
  2967. FONTSIZE  19, 27
  2968. Force  5, 11, 12, 15, 16, 17, 23, 24, 26, 33, 34, 36, 37, 42, 43, 44,
  2969.           45
  2970. FORCENEXT  23
  2971. FORCEPREV  23
  2972. FORCES  35, 40, 44
  2973. Grid  5, 7, 17, 27, 34, 39, 42
  2974. GRIDON  39
  2975. Grids  39, 43
  2976. IFDEFENSE  15
  2977. IFWeapon  5, 12, 14, 24, 33, 34, 37, 42, 43
  2978. IFWEAPONS  8, 34, 35
  2979. INFOWINDOW  36, 40
  2980. Interstice  6, 9, 10, 11, 16, 37, 38, 46
  2981. Is  5, 9
  2982. Iscreenwidth  28
  2983. Item  19
  2984. Lastloc  22
  2985. Location  5, 6, 7, 8, 9, 10, 12, 13, 20, 22, 23, 26, 30, 31, 33, 40,
  2986.           41, 42, 46, 46, 47
  2987. Locations  5, 10, 22, 46
  2988. LOS  11, 39, 46
  2989. LOSNEEDED  38
  2990. LOSTOOBJECTIVE  38
  2991. MAGICDEFENSE  15
  2992. Map  9
  2993. Marker  4, 5, 6, 8, 10, 11, 25, 31, 32, 33, 34, 39, 42, 44, 46
  2994. Markername  10
  2995. MARKERS  8, 10, 25, 31, 34, 35, 47
  2996. MARKERTOFRONT  36, 40
  2997. MEASURE  16, 17, 27, 33, 42, 44
  2998. MEASURES  8, 34, 35
  2999. Menu  3, 4, 7, 9, 18, 20, 28, 30, 31, 32
  3000. Menus  3, 7, 31, 32
  3001. MINFORCE  16
  3002. Module  3, 4, 5, 6, 8, 10, 11, 12, 13, 16, 18, 19, 24, 25, 30, 31, 33,
  3003.           42, 43, 43, 44
  3004. Modules  4, 5, 8, 9, 13, 17, 24, 26, 27, 30, 42, 43
  3005. Movement  5, 12, 13, 14, 23, 24, 30, 31, 33, 34, 38, 43, 44
  3006. MOVEMENTS  8, 35
  3007. Moves  24
  3008. Must  7
  3009.  
  3010.                                                  51
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016. NewMarker  6
  3017. Objective  5, 10, 15, 16, 26, 33, 34, 38, 42, 43, 46
  3018. Objectivemarkername  46
  3019. Objectivename  16
  3020. OBJECTIVES  8, 34, 35
  3021. Of  7
  3022. Offsets  12
  3023. ONOBJECTIVE  38
  3024. OPTIONS  11, 33, 36, 39
  3025. Pixelcount  28
  3026. PLANETERRAINS  8
  3027. Player  5, 9, 16, 25, 26, 33, 34, 35, 38, 42, 43
  3028. PLAYERS  8, 34
  3029. Pointer  5, 6, 7, 8, 9, 10, 12, 18, 22, 26, 41, 47
  3030. POINTERLOCK  36, 40
  3031. Pointers  7, 22, 36, 40, 47
  3032. Pointerword  22
  3033. Pointerwords  22
  3034. REAROFFSET  17
  3035. REFRESHINC  29
  3036. REMOTEPOINTER  18
  3037. REPROJECT  9
  3038. Reprojects  9
  3039. REQUEST  32, 33, 34
  3040. Requester  9, 18, 33, 34
  3041. Requesters  30, 32
  3042. Resetting  10
  3043. SAVEINCREMENT  15
  3044. Scenario  5, 8, 15, 19, 20, 24, 25, 28, 29, 30, 34, 36, 40
  3045. SCENARIOFLAGS  31
  3046. Screen  22
  3047. Set  3, 5, 6, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 22, 28, 30, 35, 36,
  3048.           45, 46, 46
  3049. SETCOURSE  45
  3050. Sets  8, 9, 10, 11, 12, 13, 18, 19, 20, 32, 45, 46
  3051. Setting  3, 11, 18, 24
  3052. Setup  9
  3053. Strategy  5, 17, 24, 26, 27, 33, 34, 35, 39, 42, 43
  3054. STRATEGYLABEL  15
  3055. STRATEGYREVIEW  15
  3056. SUBCOUNTER  19, 27
  3057. Supply  5, 10, 16, 17, 26, 33, 34, 35, 38, 42, 43
  3058. SUPPLYCOUNTER  12
  3059. SUPPLYTYPE  12
  3060. Tactics  5, 8, 11, 15, 25, 33, 34, 35, 38, 42, 43
  3061. Targetdata  25
  3062. TELEPORT  38
  3063. TELEPORTS  12, 13
  3064. TenDegreeGrid  7
  3065. Terrain  9, 11, 16, 18, 25, 28, 29, 33, 39, 41, 42, 44
  3066. TERRAINENTRY  10, 11, 22
  3067. TERRAINFLAGS  13
  3068.  
  3069.                                                  52
  3070.  
  3071.  
  3072.  
  3073.  
  3074.  
  3075. TERRAINTABLE  8
  3076. The  9
  3077. Time  25
  3078. Timecounter  19, 20
  3079. TIMEWINDOW  36, 40
  3080. TURNINCREMENT  15
  3081. Unit  3, 4, 5, 10, 11, 12, 13, 22, 23, 24, 25, 30, 33, 34, 35, 36, 40,
  3082.           42, 43, 43, 44, 45, 46
  3083. Unit's  46
  3084. UNITID  11
  3085. Units  8, 11, 12, 13, 23, 24, 29, 30, 34, 35, 36, 39, 40
  3086. Variable  4, 43, 46
  3087. Variables  3, 4, 5, 6
  3088. Weapon  5, 6, 7, 12, 14, 24, 33, 34, 37, 38, 42, 43
  3089. WEAPONS  8, 34, 35
  3090. Window  19, 27, 31, 32, 33, 34, 47
  3091. Windowname  33
  3092. Windows  31, 32, 33
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.  
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.  
  3126.  
  3127.  
  3128.                                                  53
  3129.