home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 416.lha / EnergionBattleSystem_v1.0 / ebs.doc.pp / ebs.doc
Encoding:
Text File  |  1990-09-10  |  64.7 KB  |  1,706 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                           Energion Battle System
  9.  
  10.                                  Section 1
  11.  
  12.                             Basic Documentation
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  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.      1.1  Description . . . . . . . . . . . . . . . . . . . . . . . . .    3
  68.  
  69.      1.2  General System Description  . . . . . . . . . . . . . . . . .    4
  70.      1.2.1  The Map . . . . . . . . . . . . . . . . . . . . . . . . . .    4
  71.           1.2.1.1  Map Definition . . . . . . . . . . . . . . . . . . .    6
  72.           1.2.1.2  Grids  . . . . . . . . . . . . . . . . . . . . . . .    7
  73.           1.2.1.3 Markers . . . . . . . . . . . . . . . . . . . . . . .    8
  74.  
  75.      1.3  Units . . . . . . . . . . . . . . . . . . . . . . . . . . . .    9
  76.      1.3.1  Unit Definition . . . . . . . . . . . . . . . . . . . . . .    9
  77.      1.3.2 The Force  . . . . . . . . . . . . . . . . . . . . . . . . .   12
  78.      1.3.3  Movement  . . . . . . . . . . . . . . . . . . . . . . . . .   13
  79.      1.3.4 Defense Module . . . . . . . . . . . . . . . . . . . . . . .   16
  80.      1.3.5 Tactics Module . . . . . . . . . . . . . . . . . . . . . . .   16
  81.      1.3.6 Attack . . . . . . . . . . . . . . . . . . . . . . . . . . .   18
  82.      1.3.7 Supply . . . . . . . . . . . . . . . . . . . . . . . . . . .   22
  83.      1.3.8  Strategy  . . . . . . . . . . . . . . . . . . . . . . . . .   22
  84.  
  85.      1.4 - Terrain Table  . . . . . . . . . . . . . . . . . . . . . . .   25
  86.  
  87.      1.5  Miscellaneous Modules . . . . . . . . . . . . . . . . . . . .   25
  88.      1.5.1  Units of Measure  . . . . . . . . . . . . . . . . . . . . .   25
  89.      1.5.2  Items . . . . . . . . . . . . . . . . . . . . . . . . . . .   26
  90.      1.5.3 Location Chains  . . . . . . . . . . . . . . . . . . . . . .   26
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.                                                   2
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126. 1.1  Description
  127.  
  128.      The Energion Battle System (EBS) is a set of rules for handling combat
  129. for various sized units in gaming scenarios. The EBS program uses these
  130. rules to handle combat resolution, tactical displays for FRP scenarios and
  131. to function as a war game with extensive tactical options and limited
  132. strategic control capability.  The war game portion may be used to referee
  133. multiple player games (up to 32 depending on the scenario design) or to play
  134. any or all sides.
  135.  
  136.      Scenarios may be run in "controlled" mode, with player passwords or in
  137. "experimentation" mode which allows full editing, testing and reporting on
  138. units.  It keeps a history file of actions.
  139.  
  140.      Key features include:
  141.  
  142.      a)  Up to 32 terrain types, each user configurable.
  143.      b)  AREXX (tm) port and script/command language.
  144.      c)  Built in unit, map and module editors.
  145.      d)  Line of sight calculations including density and altitude of
  146.      intervening terrain.
  147.      e)  Combat calculation using cover, detailed information about weapons
  148.      and target armor, as well as troop skill.
  149.      f)  Indirect fire weapons with multiple spotters.
  150.      g)  Tactics modules indicating target choice priorities, unit morale
  151.      and decision making capability.
  152.      h)  Strategy modules for major classic strategies, configurable by the
  153.      user.
  154.      i)  Calculation of unit movement including individual capabilities in
  155.      various terrain types, teleportation and plane shifting (for fantasy
  156.      scenarios).
  157.      j)  Maps with multiple viewpoints and zooms.
  158.      k)  Most actions replaceable with AREXX (tm) scripts.
  159.      l)  Uses IFF picture files as maps with colors to represent terrain.
  160.      m)  Individual viewpoint based on units sighted and units known about.
  161.  
  162.      The demo program is free.  It contains maps of each of the three types
  163. supported and another scenario, along with the basic documentation.  The
  164. demo program is a functional EBS, with script language fully compatible
  165. with the full versions, but without the module editing functions.  A user
  166. may create and edit modules using the script language-- the missing
  167. features mostly involve user friendliness.
  168.  
  169.      The full program is available for $30.00 by writing:
  170.  
  171.                                                   3
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178. Henry Neufeld
  179. P.O. Box 1147
  180. Bellevue, NE 68005
  181.  
  182. You will receive a two disk set, including prepared modules, demonstration
  183. scripts and full documentation of all script commands.  It also includes
  184. several scenarios based on the Energion Campaign.  Each sold program has a
  185. registration number embedded in it, unique to that user.
  186.  
  187. The program comes in four versions:
  188.  
  189.      1.  The small demo/player version, which allows playing of scenarios
  190. and design if one is willing to live with the annoyance of using script
  191. commands for all creation/editing.  This version is free and may be
  192. distributed at will.
  193.  
  194.      2.  The standard version, which may be run on any Amiga with at least 1
  195. megabyte of memory.
  196.  
  197.      3.  The 68881 version, for those few systems which have a 68881 but no
  198. 68020/68030.  If you want this version, please specify in your order, as it
  199. is not included standard with the disk set.
  200.  
  201.      4.  The 68020 version, without math chip.  Requires 68020/68030, but
  202. does not have inline math chip code.  Uses the mathieeedoubbas.library.
  203.  
  204.      5.  Inline 68020 & 68881 code.  Requires math chip.
  205.  
  206. Versions 1, 2, 4 and 5 are provided with the disk set.  Specify version
  207. three in place of version 5 if desired.
  208.  
  209. Also available, and related to the program:
  210.  
  211. Energion Disk #1:                       $ 5.00
  212.   (includes PLAYER, the Energion character playing program (with scripts to
  213. allow it to interface with EBS).
  214. Energion Disk #2:                       $ 5.00
  215.   (Rules set in archived text form.)
  216.  
  217.  
  218. 1.2  General System Description
  219.  
  220.      EBS is based on a series of modules which may be combined into a
  221. complete scenario or a tactical display. Each element may be configured in
  222. detail by the user.  The elements are saved in files, the '.emap' file for
  223. map descriptions with associated elements, the '.cfg' files for system
  224. configuration data and the '.ebs' files for forces and units and '.escn'
  225. files for scenarios.
  226.  
  227. 1.2.1  The Map
  228.  
  229.  
  230.                                                   4
  231.  
  232.  
  233.  
  234.  
  235.  
  236.      The key to the EBS system is the map description.  EBS maps use IFF
  237. graphics files, which may be created with the limited editing tools within
  238. EBS or with any IFF compatible graphics editor, such as DPaint.  I recommend
  239. creating the basic map with your favorite editor and then importing it into
  240. EBS.  Some editing is better done in EBS, which allows the painting of
  241. terrain patterns (see below).  Importing a map consists of loading the IFF
  242. file and creating a map definition.
  243.  
  244.      Maps may be HIRES or LORES and interlaced or not, but not HAM mode.
  245.  
  246.      The definition file consists of data which EBS needs in order to
  247. interpret the map.  EBS reads individual pixels to get terrain data for use
  248. in determining altitude, cover, movement and lines of sight.  It reads these
  249. pixels in 9 pixel groups, and averages the results.  The terrain data table
  250. (see under configuration) contains the data concerning the terrain types (up
  251. to 32 entered at a time) which are averaged into a terrain result,
  252. individual to that pixel. The number of different basic terrains which can
  253. be displayed on a single map is dependent on the number of colors.
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.                                                   5
  290.  
  291.  
  292.  
  293.  
  294.  
  295.      A map may also have attached to it a list of grids, markers and
  296. location chains.  (A location chain is a scalable drawn figure on the map.)
  297.  
  298. 1.2.1.1  Map Definition
  299.  
  300.      EBS is designed to handle three types of maps, plus up to 23 additional
  301. types managed by script (see section on scripts).
  302.  
  303.      The types are:
  304.  
  305.      T - Tactical map.  A tactical map is measured (as seen on the screen)
  306. in horizontal (x), vertical (y) and altitude (z) from a standard reference
  307. point entered in the map definition.  Maps loaded simultaneously, may at
  308. user discretion share a center point, thus allowing use of multiple maps in
  309. a single scenario by means of scripts.  (EBS v1.0 does not support automatic
  310. swapping of maps, but the scenario may write scripts for this purpose.)  For
  311. reference purposes a map may also be linked to a Latitude/Longitude in
  312. relation to one of the larger map types.
  313.  
  314.      S - Square map, for lack of a better term.  This map is actually a
  315. rectangle which is measured in degrees minutes and seconds.  It tends to
  316. become somewhat distorted, especially if it covers a territory near the
  317. poles.
  318.  
  319.      O - Orange peel map, from the elementary school illustration of it. 
  320. This is a full globe map done in six sections.  Accuracy is a little less
  321. than one degree on a 640 by 400 pixel screen.
  322.  
  323.      Any other letter except 'X' must have definition information in a map
  324. handling script.  Do not use map type 'X', as it is defined for EBS for
  325. compatibility with BETA versions, but not documented due to certain
  326. inaccuracies in its location handling.
  327.  
  328.      The elements of a map definition are:
  329.  
  330.      1)  X-Y-Z starting coordinates.
  331.      2)  Pixel multiplier for the x and y coordinates; the y multiplier
  332.      doubles for the altitude multiplier, since altitude is illustrated on
  333.      the same axis as the y coordinate when the display is rotated.  These
  334.      values are set automatically by EBS when you select "Map Scale" in the
  335.      map editor window.)
  336.      3)  An anchor latitude longitude pair, and an altitude, used to compare
  337.      a tactical map with lat/long maps.
  338.      4)  A number of sections, used only by type 'O' maps.
  339.      5)  A text label for the map.  This will appear in requesters and
  340.      titlebars.  If you don't want it to be truncated, it should be no more
  341.      than 32 characters, though the only problems resulting from overlength
  342.      labels will be truncation in requesters and title bars and excessive
  343.      memory usage.
  344.      7)  The filename of the IFF file for the map.
  345.  
  346.  
  347.  
  348.                                                   6
  349.  
  350.  
  351.  
  352.  
  353.  
  354.      8)  A set of terrain associations, matching each color of the map to a
  355.      terrain type as defined in the terrain table.
  356.      9)  A default terrain type, returned as the value for all terrain
  357.      requests concerning pixels not on the current map.  This is used for
  358.      zoomed tactical maps, where the background IFF file does not cover the
  359.      full area of the screen.
  360.      10)  A 'plane' value, used for multidemsional fantasy campaigns.
  361.      11)  An 'interstice' value, used for the Energion magic system.
  362.      12)  A set of options.  There are only three - PVTBITMAP, which says to
  363.      allocate internal memory to preserve the background to this map, making
  364.      switching of maps nearly instantaneous.  By default, maps are reloaded
  365.      from disk whenever changed.  TACTICALMAP - Indicates that the map is of
  366.      type 'T' and is normally maintained by EBS.  There are some routines
  367.      for converting locations from an XYZ to a lat/long format.  If your
  368.      user defined map needs this type of conversion, select this option. 
  369.      BACKDROPMAP should be selected if you use a single color background,
  370.      such as for a star map.  If you select this option, the color of the
  371.      background will be that of the terrain number for the default terrain.
  372.      13)  The radius of the globe, for any lat/long map.
  373.      14)  The name of the unit of measure for the map.
  374.      15)  The number of centimeters in each of those units of measure.
  375.      16)  The name of the first grid associated with the map.
  376.      17)  The name of the first marker associated with the map.
  377.      18)  The name of the first location chain associated with the map.
  378.  
  379.      Note that the last three items are automatically maintained by EBS when
  380. the modules are created.  Each of those items must be associated with a
  381. specific map when created.
  382.  
  383.      Note that while the modules supplied with EBS generally assume a base
  384. unit of centimeters, this is not locked into the system.  You can use any
  385. base measure, such as inches or feet that you desire, but it should be
  386. consistent between all modules you create.  Modules can be exchanged between
  387. maps and scenarios, and if their ranges and other attributes are stated in
  388. different units of measurement, confusion can result.  If you distribute
  389. modules you have created, please specify what base unit of measure you are
  390. using.
  391.  
  392.      Any of these variables can be used for whatever purposes in designing
  393. specialized map definitions.  Scenarios must use tactical maps, the other
  394. two are used for display and informational purposes only.  Any type of map
  395. may be reprojected into any other, including creating tactical maps based on
  396. a point on another projection.  You may also reproject into a user defined
  397. projection, though this can be very slow (up to 12 hours or so on a 640 x
  398. 400 pixel screen, using floating point math in an AREXX (tm) script.)
  399.  
  400. 1.2.1.2  Grids
  401.  
  402.      A grid is a display device allowing display of lines every specified
  403. distance.  Lines may be drawn in complement mode, in which case the grid
  404. will toggle--reselecting it will erase the lines, or it may be drawn in a
  405. selected color.
  406.  
  407.                                                   7
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.      Definable values for a grid are:
  415.  
  416.      1) Horizontal start point.
  417.      2) Vertical start point.
  418.      3) Horizontal separation.
  419.      4) Vertical separation.
  420.      5) Grain; for orange peel type maps which require curved lines, this
  421.      value determines the length of the individual line segments for the
  422.      longitude lines.
  423.      6) DrawMode, either COMPLEMENT or JAM1, the Amiga draw modes which EBS
  424.      will use to draw the grid.  (JAM1 means jam one color onto the map,
  425.      COMPLEMENT complements each pixel, and thus drawing the grid again will
  426.      erase it from the map.)
  427.      7) Color - a color number from the palette for the map, maximum value
  428.      depends on the depth of the map.  Entered colors are checked for
  429.      limits, but copying a grid to a different map can result in an illegal
  430.      value.
  431.      8) Flags - there are only two of these, one is GRIDON which indicates
  432.      whether the grid is redrawn with each map refresh and the other is
  433.      DISTANCEGRID which indicates the grid is to be drawn separated by
  434. distance  rather than LAT/LONG coordinates.  (See the discussion under
  435. Module    design.
  436.  
  437.  
  438. 1.2.1.3 Markers
  439.  
  440.      Markers mark a place on the map.  They are gadgets which can be
  441. selected to get information about the location marked and about items which
  442. may be attached to the marker.
  443.  
  444.      EBS has 10 types of markers, each of which has an editable image which
  445. may be shown in one of the available map colors less one.  Both colors 0 and
  446. 1 appear as background of 0 and foreground of 1.  In addition, markers allow
  447. a label, as do all EBS modules, along with a name and note, allowing
  448. additional information entered freeform.
  449.  
  450.      In addition, a marker maintains full data concerning its location,
  451. using x, y and altitude as well as two planar coordinate numbers (material
  452. plane and interstice) based on the Energion magic system.  These two values
  453. can be used in connection with the movement system to create a five
  454. dimensional coordinate system if desired.
  455.  
  456.      A marker may have, in addition, names for the following items:
  457.  
  458.      1) A military unit, described below.
  459.      2) An objective, used in strategy determination.
  460.      3) A supply depot.
  461.      4) An item, a user definable module usable as a variable.
  462.  
  463.      A marker may have only one of each of these items, so one marker cannot
  464. serve for two different military units. This would not be desireable in any
  465.  
  466.                                                   8
  467.  
  468.  
  469.  
  470.  
  471.  
  472. case, as the marker maintains complete location data on the unit.  It can,
  473. however, have all three of the items, thus, a divisional HQ could have a
  474. supply depot, the HQ unit itself and also be considered a strategic
  475. objective of the opposing force.  Note that in that case, the supply depot
  476. and objective would automatically move with the unit.  If this is not
  477. desired, separate markers should be used.
  478.  
  479.  
  480. 1.3  Units
  481.  
  482. 1.3.1  Unit Definition
  483.  
  484.      The military unit is the basic element of a force which is the basic
  485. element of a battle scenario.  I start with the unit, because it is possible
  486. to use EBS, especially in tactical display mode, or as a referee with
  487. multiple human players without any forces at all.  For any computer decision
  488. making, however, a force definition is required.
  489.  
  490.      A unit definition only defines a few basic facts about a unit, and uses
  491. the labels of various modules to define its various capabilities.  The unit
  492. definition only includes the labels of those modules which it must use for
  493. its various functions.  [For those programmers who may wonder how much
  494. memory is used when one creates long labels for a module, a definition does
  495. not actually contain the label string, but only a pointer to the module
  496. involved whence it extracts the information it needs.  Thus, even though 50
  497. units may be using one module, the label string, and the module itself only
  498. exist in one place.  Labels are stored in files, and in the case of units,
  499. there may be quite a few of them, so it is still a good idea to use a label
  500. as short as will convey the identity of the unit.]  Labels are stored in
  501. memory only once, and if they are set judiciously, they can be both
  502. informative, and negligible in memory use.]             A full definition
  503. will consist of a unit with its marker and none or more of the following
  504. subunits:
  505.  
  506.      1)  A movement module, specifying the movement capabilities of the unit
  507. (actual speed is maintained in the unit definition itself, since it may vary
  508. for each unit). The movement module, defines capability to move, not actual
  509. movement.
  510.  
  511.      2)  A defensive module, specifying resistances to various types of
  512. attacks.
  513.  
  514.      3)  A tactics module, specifying behavior and tactical level decision
  515. making for the unit.
  516.  
  517.      4)  A force number specifying which force the unit belongs to for
  518. purposes of determining relations to other units.
  519.  
  520.      5)  A superior unit, which is the unit label for the HQ of this unit.
  521.  
  522.      6)  The first in a list of subordinates.  This value is automatically
  523. maintained by the program if all the 'superior' values are set correctly.
  524.  
  525.                                                   9
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      7)  The first in a list of supported units, particularly valuable in
  533. the case of artillery spotters, but usable in other circumstances where the
  534. unit may be called upon to fire in support of another unit.
  535.  
  536.      8)  The first in a list of attacks which the unit may use.  Attacks
  537. require detailed description, but for now, an attack is not a weapon, it is
  538. a description of how a weapon is used by the unit, and itself contains the
  539. names of weapons of whatever type.  Units may combine weapons in some very
  540. creative ways in attacks.
  541.  
  542.      The unit definition itself contains the following definable values:
  543.  
  544.      1) Base manning - the size of the unit when all its members are alive
  545. and kicking (or whatever they normally do before the enemy kills them).
  546.  
  547.      2) Number - how many are actually in the estimable condition described
  548. above.  Note that in modifying these values, all combat is conducted
  549. simultaneously, so the number of combatants in a unit will not reflect
  550. reality until the end of a round (second, minute or hour) of combat.
  551.  
  552.      3) Damage points - the number of points of damage, as inflicted by
  553. weapons of various types, this unit can take. This value must relate
  554. properly to the various types of units available in a scenario.  For
  555. example, one might have a scenario using only tanks and nasty small things
  556. which kill tanks, and use a damage value of between one and ten for the
  557. various types of tanks, with the AT guns behaving in an appropriate fashion,
  558. inflicting appropriate amounts of damage.  If, however, you place humans on
  559. the field outside the tanks, there is nowhere on the scale to place them.
  560.  
  561.      4) Zone of Control - the area which the unit will look at to make
  562. immediate firing decisions.  If there are enemy units within the unit's zone
  563. of control, it will make firing and movement decisions based on its tactics
  564. module; if it does not, it looks to the strategy of its force for those
  565. decisions.  It is obviously important to set this to a useful value if one
  566. wishes a computer played force to behave coherently.  If it is not set by
  567. the scenario design, it will be set to the extreme range of the unit's
  568. longest range weapon plus one minute's movement.  This figure is somewhat
  569. arbitrary, but the program needs something here if a designer is too lazy to
  570. provide it, and, under appropriate circumstances, just about anything might
  571. be used.
  572.  
  573.      5) Supply type - the type value for a supply depot from 
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.                                                  10
  585.  
  586.  
  587.  
  588.  
  589.  
  590. which this unit can resupply.  These two values are arbitrary within the
  591. scenario.  A value of zero means that the unit can resupply at any supply
  592. depot.
  593.  
  594.      6) Unit ID - a value solely for the use of an EBS script programmer who
  595. needs to identify classes of units or other values for the purpose of
  596. scripts.  It could be used in an AREXX (tm) 'select' range, for example.
  597.  
  598.      7) Height - believe it or not, EBS wants to know how tall the average
  599. member of a unit is.  This is mostly of use in a fantasy campaign where one
  600. might have giants and pixies on the same map.  The pixies get cover from
  601. tall grass, while the giants need redwoods.  Conversely, the giants can see
  602. over the grove of oaks, whereas the pixies are blocked by the aforementioned
  603. tall grass.
  604.  
  605.      8) Speed - normally set on the run by a player, the percentage of
  606. actual base speed which the unit is using.  In accordance with the Energion
  607. rules system, the key values are:
  608.  
  609.       50% - maximum sneak speed
  610.      100% - normal walk (should be the value in movement module).
  611.      200% - jog, maintainable for up to one minute per point of endurance
  612.      300% - sprint, maintainable for up to one second per point of endurance
  613.  
  614.      The value is entered as an integer and is only checked for the maximum
  615. value of 65535, so if you wish to use different base values and multiples,
  616. it is possible.  In case you are using values over 300, set the Endurance
  617. value to -1 so the program will not calculate endurance.  The
  618. EnduranceCounter may then be used by a programmer to keep track of actual
  619. endurance in a different manner.
  620.  
  621.      9) EnduranceCounter - Current actual endurance value.  Endurance is
  622. used by movement at the rate of one point per second at 300%, one point per
  623. minute at 200% and one point per hour at 100%.  Below 50% EBS doesn't
  624. bother.
  625.  
  626.      10) Endurance - See the movement speeds for appropriate values. 
  627. Energion characters can use their Endurance bonus.
  628.  
  629.      11) Intelligence - not IQ, but the units capability to know about other
  630. units on the map.  All data is filtered through this value unless the
  631. opposing unit is visible (see Hide below).
  632.  
  633.      12) Cover - the ability of a unit to prevent other units from knowing
  634. about it, compared to the intelligence value when checking for knowledge.
  635.  
  636.      13) Hide - this value serves a dual purpose, basically stating how
  637. "sneaky" a unit is, as well as how good it is at detecting other units
  638. sneaking.
  639.  
  640.      14) Force - the force to which the unit belongs for purposes of
  641. determining relations, and other minor tactical type things.
  642.  
  643.                                                  11
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.                                                  12
  703.  
  704.  
  705.  
  706.  
  707.  
  708.      15) A whole posse of counters.  Most of these are maintained
  709. automatically by the system, but since one can 'get' and 'set' them with
  710. scripts, a brief description follows:
  711.  
  712.      Counter - fundamental counter for the unit, used when none of the
  713. others apply.
  714.  
  715.      Move Counter - used in cases of teleportation and plane shifting to
  716. determining when steps in the process are accomplished.  For example, in an
  717. interstitial move, a unit must a) shift to the interstice, b) accelerate to
  718. speed, c) decelerate, and d) transfer back to the material plane.  Each of
  719. these steps takes a number of seconds specified in the movement module, and
  720. the movement counter keeps track of when each event takes place.
  721.  
  722.      Status Counter - counts the time a unit spends in retreat before it can
  723. attempt to regain morale and control of its own actions, when a unit is
  724. under fire and in combat, and when it is advancing.
  725.  
  726.      Supply Counter - counts the time required for a unit to regain supplies
  727. from a supply unit.  It is reset to its maximum value whenever the
  728. conditions of the resupply procedure are not met (see Supply, below).
  729.  
  730.      Review Counter - associated with a current review time value which is
  731. extracted from the tactics module or set by retreat routines.  The counter
  732. counts the seconds until the unit may reconsider its current choices of
  733. destinations and targets.  The current value is taken from the tactics
  734. module base review time, it is randomly lengthened when a retreat begins,
  735. and will be restored from the tactics module when the retreat ends.
  736.  
  737.      There are a number of other values set by the program automatically. 
  738. Any of these which are of use to a script programmer are discussed under the
  739. 'set' and 'get' commands. None of them may be edited via the edit window, as
  740. there is not purpose for the user setting them when using only built-in
  741. routines.
  742.  
  743.  
  744. 1.3.2 The Force
  745.  
  746.      Forces would be known as "sides" of a conflict, except that EBS handles
  747. more than two of them per scenario.  A force definition includes relations
  748. of the force to every other force, and some basic characteristics of the
  749. behavior of all units in the force.
  750.  
  751.      A force contains the following user definable values:
  752.  
  753.      1) The name of a single objective for the force.  The force will pursue
  754. this objective according to the options of the objective (see description of
  755. objectives below).
  756.  
  757.      2) The name of the first unit in the force.  Normally, all you need to
  758. do is enter the correct force value for each unit and this value will be
  759. handled automatically.  You may enter a value here prior to any unit being
  760.  
  761.                                                  13
  762.  
  763.  
  764.  
  765.  
  766.  
  767. added to the force.
  768.  
  769.      3) The name of the strategy which is in use by the force at the time. 
  770. If this is set, rather than left to EBS choice, the strategy specified will
  771. be followed automatically until a review comes up.  (See strategy
  772. description.)
  773.  
  774.      4) Password - this is used for multiplayer games, and is not intended
  775. for security, but just to make it difficult to accidentally command the
  776. wrong force.
  777.  
  778.      5) Number - a number from 1 to 32, which is automatically set by EBS
  779. when a force is created, but may be accessed or reset by the user. 
  780. (Whenever the number is changed, all relation values must be changed.)
  781.  
  782.      6) Relationship - these values may be set to friend, neutral, enemy or
  783. fanatical enemy, establishing how the units in the force will react to units
  784. of other forces.  [The only way to combine units for strategy is to place
  785. them in the same forces.  Friendly units will not attack each other, but
  786. will pursue their objectives independently.]
  787.  
  788.      7) Review values - base, current and counter.  The counter contains the
  789. seconds to then next review, the base value is the normal number of seconds
  790. between reviews, the current value is separately set under special
  791. conditions, such as a whole force going into defensive mode temporarily,
  792. then reset to base when that condition is alleviated.
  793.  
  794.      8) The side of the map on which the force starts. Normally this is set
  795. automatically by EBS when it counts the number of units in each sector.
  796.  
  797.      9) The side of the map to which the force is going.  If the force has
  798. an objective defined, this will be the side on which the objective is
  799. located, otherwise, it will be the opposite side of the map.  This value is
  800. maintained automatically by EBS.  [An EBS map has nine sides for strategy
  801. purposes.  See description under strategy.]
  802.  
  803.      10)  The side of the map on which the force is to start.  EBS will
  804. figure this out.
  805.  
  806.      11)  A series of options specifying what sort of strategy the force
  807. should choose.  These are:
  808.  
  809.           a)  KILL - don't bother with strategy; just find the nearest enemy
  810. unit and kill it.
  811.           b)  DEFENSIVE - choose only a defensive strategy.  A defensive
  812. strategy is defined as one in which the DEFENSIVE option is set.  It is up
  813. to the module designer to appropriately label strategies by selecting
  814. options.  This applies to all the options for a force which follow.
  815.           c)  OFFENSIVE - choose only an offensive strategy.
  816.           d)  BERSERK - choose a berserk attack strategy.
  817.           e)  CAUTIOUS - choose a cautious strategy.
  818.           f)  STATIC - don't bother with strategy, just sit there and shoot
  819.  
  820.                                                  14
  821.  
  822.  
  823.  
  824.  
  825.  
  826. at whoever shows up.
  827.  
  828.  
  829. 1.3.3  Movement
  830.  
  831.      A movement module describes the movement capabilities of a unit or
  832. units.  Currently EBS does not support use of more than one movement module
  833. for a single unit, though it could be accomplished through a movement or
  834. tactics script.  Thus, a cavalry unit should have its horseback movement
  835. defined, not a separate movement module for foot and horseback.  A unit
  836. individually maintains its own speed and list of destinations.
  837.  
  838.      A movement module contains the following user defined values:
  839.  
  840.      1) Base Speed - speed of which the unit is capable over the long term. 
  841. The unit speed value is a percentage of this value.
  842.  
  843.      2) Movement multiple list - 32 values, one for each type in the terrain
  844. table.  All 32 may be defined even if the map only handles a smaller number,
  845. allowing the movement module to be used on any map sharing the same terrain
  846. table.
  847.  
  848.      3) A set of values for aerial movement:
  849.  
  850.         a) Takeoff - the time an aerial unit takes to leave the ground.
  851.         b) Climb - the amount the unit can climb in a second.
  852.         c) Descend - the amount the unit can descend in a second.
  853.         d) AirAccel - acceleration per second of the unit in the air
  854.         e) MaxAlt - maximum altitude for the unit.
  855.  
  856.      The maximum speed of aerial movement is taken from the base speed.
  857.  
  858.      4) Teleport Time - the time it takes the unit to teleport.
  859.  
  860.      5) Teleports - Base number of teleports for a unit using this movement
  861. module.  The actual number of teleports remaining for a unit are maintained
  862. in the unit module.
  863.  
  864.      6) The following list of values for interstitial movement (in
  865. accordance with the Energion interstitial travel rules).
  866.  
  867.           a) IntersticeAcceleration - rate of acceleration when traveling on
  868.      the interstice.
  869.           b) IntersticeMove - maximum rate of movement on the interstice.
  870.           c) IntersticeTransfer - time taken to go to the interstice in the
  871.      first place.
  872.           d) IntersticeShifts - the number of times the unit may travel to
  873.      the interstice.  Again, the actual value is maintained by the unit. 
  874.      The movement module keeps the start value.
  875.      7) The following list of values for interplanar travel:
  876.  
  877.           a) PlanePointsMax - maximum number of planar points which the unit
  878.  
  879.                                                  15
  880.  
  881.  
  882.  
  883.  
  884.  
  885.      can travel.  (See the Energion Magic rules for details.)
  886.  
  887.           b) PlanarTransfer - the time taken to transfer that number of
  888.      planar points.
  889.  
  890.           c) PlaneShifts - the number of times the unit may shift planes. 
  891.      The actual value is maintained in the unit definition as with teleports
  892.      and interstitial shifts.
  893.  
  894.      8) SubFlags or Subterranean flags, though this is a slight misnomer. 
  895. Using the flag requester, each bit of this value may be set to enable the
  896. unit to travel under the terrain type in question.  (Or, if you insist, you
  897. can set them by hand.)  These flags are not used by EBS v1.0, and for
  898. compatibility should be left all ON.  I have left them accessible for
  899. possible use in scripts.
  900.  
  901.      9) Flags - a list of conditions to be maintained during movement.
  902.      The following values may be set:
  903.  
  904.           a) SEEKCOVER - try to stay in maximum cover while heading toward
  905.      destination.
  906.           b) GOFAST - stay in the terrain with the maximum movement rate
  907.      while moving.
  908.           c) HARDFRONT - allows a plus or minus 45 degree variation in
  909.      course to accomplish the goals set by "a" or "b".
  910.           d) CLOSEFRONT - allows a plus or minus 90 degree variation in
  911.      course.
  912.           e) MOVEFREE - allows a plus or minus 135 degree variation in
  913.      course.  This form of movement is mostly useful when you wish a unit
  914.      never to leave a section of cover, but wish it to have movement within
  915.      that cover.  (It is best to also set ACTIVEDEFENSE on the unit since it
  916.      is not impossible for a unit to escape using MOVEFREE, just very
  917.      unlikely.)
  918.           f) AERIAL - unit can fly.  If this is set, but the various climb,
  919.      speed and maximum altitude values are all zero, the unit will not fly
  920.      anyway.
  921.      NOTE:  the next three items are specifically for fantasy games.
  922.           g) TELEPORT - unit can teleport.  A unit must also have some
  923.      teleports available, so give it some if you select this option.
  924.           h) PLANESHIFT - unit is capable of changing planes.  It must also
  925.      have some plane shifts available.
  926.           i) INTERSTICE - unit can use the interstice for movement.  It must
  927.      have some interstice shifts available.
  928.           j) ENTERATTACK - unit should enter the area of a static attack. 
  929.      This should usually be set if the unit has a special defensive
  930.      capability.
  931.           k) RANDSEARCH - unit should begin a random search pattern if it
  932.      can't find anything better to do.  Otherwise, the unit will simply
  933.      remain where it is.  Standing still may be desirable, for example, when
  934.      the unit is intended to occupy an objective, but it may not be
  935.      desireable when the various units with the capability to hide are
  936.      involved in a scenario and not all have been located.
  937.  
  938.                                                  16
  939.  
  940.  
  941.  
  942.  
  943.  
  944.           l) STOPINAIR - Normally, an airborne unit will continue to move as
  945.      long as it is in the air.  Certain units, such as helicopters or
  946.      wizards using telekinesis, should be able to stop.  This option will
  947.      allow them to do so.
  948.           m) EXACTFORMATION - in the case of formations, applies regular
  949.      corrections to the speed of units in the formation to try to maintain a
  950.      formation.  Note that EBS is not too good at maintaining formation
  951.      between variousdestinations, but this option will maintain a decent
  952.      semblance.  Units should arrive at a destination in formation (after
  953.      all units have arrived) unless the leader has since set a new
  954.      destination.
  955.  
  956. 1.3.4 Defense Module
  957.  
  958.      A defense module contains the following user definable values:
  959.  
  960.      1) ArmorTypes - resistances to 20 types of armor. Energion characters
  961. use 17, but these can be used in any other method desired.  A weapon's type
  962. is the armor value it will work against when an attack is resolved.
  963.  
  964.      2) IFDefense - defensive value against indirect fire.
  965.  
  966.      3) MagicDefense - defensive value against magical attacks.  To
  967. accommodate the Energion magic system, there are five values for the five
  968. types of magical attacks defined.
  969.  
  970.      4) Shield - value of the units shields.
  971.  
  972.      5) Surprise bonus - applied to armor when the unit is aware of its
  973. attacker.
  974.  
  975.      6) Angle Bonuses - bonuses which are applied to the armor value when an
  976. attack is coming from a particular angle.  There are four 90 degree
  977. quadrants, one is forward, two is right flank, three is rear and 4 is left
  978. flank.
  979.  
  980.      7)  Options - ONEARMOR, specifies whether armors are individually
  981. specified, or whether the first armor value is to be taken for all armors,
  982. and SURPRISED, which is normally set by EBS just before an attack, but which
  983. can be set by the user in a script to indicate whether or not the surprise
  984. bonus should be applied during a combat.  If this option is set, the
  985. surprise bonus is NOT applied.
  986.  
  987.  
  988. 1.3.5 Tactics Module
  989.  
  990.      A tactics module defines how a unit will react to tactical situations. 
  991. It is to a unit what a strategy is to a force.  The most important part of a
  992. tactics module is its flags, most of which describe tactics choices.
  993.  
  994.      User definable values include:
  995.  
  996.  
  997.                                                  17
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.      1) Flags - a list of primary targets and some aspects of unit actions. 
  1004.  
  1005.      Possible values follow (names are shown as they will appear in the
  1006. flags requester).
  1007.  
  1008.           a) DODAMAGE - attack the target to which you can do the most
  1009.      damage.
  1010.           b) HARDTARGET - attack the hardest target in sight. This would be
  1011.      valuable in a scenario with tanks and infantry where you want the tanks
  1012.      to attack other tanks while the infantry does its own thing.  Set
  1013.      "DODAMAGE" for the infantry.
  1014.           c) CLOSEST - just take whatever's closest.
  1015.           d) DANGEROUS - attack the enemy with the greatest offensive value.
  1016.           e) NOTTARGET - take the unit within your zone of control which is
  1017.      targeted by the least friendly units.
  1018.           f) FASTEST - take the fastest enemy unit.  This allows a unit to
  1019.      be assigned to reducing the enemy's mobility.
  1020.           g) PREPARED - the unit is prepared to face an enemy. Set by EBS
  1021.      and read by scripts or status window.
  1022.           h) SURPRISED - the unit is surprised for an attack.  Set by EBS
  1023.      and read for scripts or status. h) SHIELDSUP - unit has its shields up. 
  1024.      Set either by user or by EBS.  Any unit which has a shield value and is
  1025.      using a weapon compatible with a shield will use it.
  1026.           i) RECKLESS - used for artillery units to indicate they will
  1027.      attack an enemy unit even at risk of hitting friendlies within the area
  1028.      of attack.  It may also be used for units with ranged weapons to
  1029.      indicate that they will approach to point blank range.  The value may
  1030.      be set absolutely with the CPA value, which overrides these flags.
  1031.           j) MAXRANGE - the unit will approach only to within its extreme
  1032.      range, and try to hold at that range while attacking. This is
  1033.      applicable to archers or any troops with ranged weapons.  Normally
  1034.      these units will approach to medium range and try to maintain that
  1035.      range throughout the battle. 
  1036.           k) FLEXCPA - If a long range weapon, on which the closest point of
  1037.      approach has already been figured, runs out of ammunition, refigure the
  1038.      value and allow the unit to approach to an ideal range for the new
  1039.      weapon.
  1040.           l) IDEALRANGE - The unit will always try to approach to an ideal
  1041.      range, prior to attacking, rather than beginning to expend ammunition
  1042.      at the maximum range possible.  The ideal range is specified using the
  1043.      options in the weapon definition.
  1044.           m) CONCENTRATE - Normally, when a unit chooses a target, it counts
  1045.      the number of friendly offensive points already attacking that target,
  1046.      and if these are twice or more the defen^@-   value of the target unit,
  1047.      it will ignore that target.  If this option is selected, the unit will
  1048.      attack the best target it can find, regardless of who is already
  1049.      attacking it.  This probably should be set if you are using a script to
  1050.      set the defensive value of a unit at the time of attack, since EBS will
  1051.      not have valid defensive figures in that case, and may put only one
  1052.      unit to attack each enemy unit.
  1053.           n) OBSERVER - If this value is set, the unit will not move to
  1054.      approach a target any further than it needs to get a line of sight.
  1055.  
  1056.                                                  18
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.      2) Morale - how likely the unit is to attack in face of fire, and to
  1064. hold on under fire.  A morale roll is required every time the unit takes
  1065. fire.  It is a percentage roll, modified by ratio of strategic points above
  1066. or below the attacker that the target is.  It will also be modified for
  1067. supply, supporting units and contact with other units if those features are
  1068. in use.
  1069.  
  1070.      3) Loyalty - This value is not used in EBS v1.0, but is made available
  1071. for script programmers.
  1072.  
  1073.      4) Berserkness - might be called "will to do battle" or "spirit" by the
  1074. more charitable.  This value is applied in choice of strategy for the unit
  1075. to help determine whether an offensive or defensive strategy should be
  1076. chosen.  It is also applied before a unit attacks against 2 to 1 or worse
  1077. odds in strategic points (all friendlies within the unit's zone of control
  1078. are counted along with all enemies in the enemy unit's zone).  If this value
  1079. is zero, it is ignored.
  1080.  
  1081.      5) ReviewCounter, ReviewBase, ReviewCurrent - default values for these
  1082. figures for all units using the tactics module.  This review counter value
  1083. will be the starting value when any unit (such as a reinforcement) is added
  1084. to the force.
  1085.  
  1086.      6) CPA - or closest point of approach, the closest that a unit will
  1087. attempt to approach an enemy to conduct an attack.  This value prevents
  1088. missile units from charging into melee range while they can still
  1089. effectively work with their bow fire.  CPA considers only the target unit,
  1090. thus, a unit may come under hostile fire from other units while maintaining
  1091. adequate distance from its own target.  Also, movement speed, and decision
  1092. speed impact on the effectiveness of this value.  Basically, CPA is a desire
  1093. on the part of the attacking unit, not an absolute rule.  The enemy, of
  1094. course, generally wants to violate it!
  1095.  
  1096.  
  1097. 1.3.6 Attack
  1098.  
  1099.      An attack must be distinguished from a weapon.  An attack is the way a
  1100. unit uses a weapon.  Before I discuss attacks, I will review the kinds of
  1101. weapons which they can use.
  1102.  
  1103.      Weapons come in two basic categories, direct fire (Weapon) and indirect
  1104. fire (IFWeapon).  Each uses a separate module.  Weapons are additionally
  1105. divided in function between melee weapons and missile weapons, while
  1106. IFWeapons are divided between artillery type weapons and magic.  'Magic'
  1107. weapons need not necessarily be magical; the category simply covers all
  1108. weapons which have specialized attack forms which cannot be covered under
  1109. the normal weapon categories.
  1110.  
  1111.      A weapon has the following defineable values:
  1112.  
  1113.      a) Gap - the number of seconds between two uses of the weapon.
  1114.  
  1115.                                                  19
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.      b) Initiative - the number of seconds required for an unprepared unit
  1122. to prepare the weapon for use.
  1123.      c) Ranges - a list of five ranges (PointBlank, Short, Medium, Long,
  1124. Extreme) discussions of these ranges may be found in the Energion game
  1125. manuals, or you may use them for anything desired.  Since each range has an
  1126. associated hit chance and damage, you must simply make sure the correct
  1127. corresponding values are used.
  1128.      d) HitChances - a list of five chances to hit a target.
  1129.      e) Damage - the base amount of damage done if a target is hit.  Hit
  1130. chances and damage are calculated in accordance with the Energion combat
  1131. system, briefly, the targets defense to the attacking weapon type is
  1132. subtracted from the attacker's hit chance, and then a d100 is rolled and
  1133. subtracted from the result.  The answer is the percentage of the base damage
  1134. (for that range) done to the target.
  1135.      f) WeaponType - the type of weapon this is.  The only requirements for
  1136. this value are that it must be between one and twenty, and that it should
  1137. correspond, within a single scenario, with an armor type as defined in the
  1138. defense modules.  Thus, if the weapon is 'sword' and its type is '2', as in
  1139. the Energion system, the defense modules should reflect the resistance of
  1140. the armor to swords, or hacking/slashing/stabbing weapons whose attacks are
  1141. similar.
  1142.  
  1143.      The user defineable values of an IFweapon are:
  1144.  
  1145.      a) Gap - same as for weapon.
  1146.      b) Init - same as for weapon.
  1147.      c) Range - an IFweapon has only one range value, the max value, which
  1148. is proportioned according to the percentage of that range which the attacker
  1149. is attempting to use.  Since the formula considers both the altitude of the
  1150. attacking missile and the horizontal distance, an IFweapon may be used for a
  1151. bombing attack--directly overhead will not be range zero.
  1152.      d) HitChance - base chance to hit.
  1153.      e) Damage - the number of d10 of damage done to each person in the
  1154. target area who is subject to the attack.
  1155.      f) Radius - the radius from the center point of the hit over which the
  1156. effect takes place.  Either this value or the x and y values which follow
  1157. must be set, and the unused value must be zero.  If the 'radius' value is
  1158. non-zero, the attack is circular, and all units, friendly or enemy, within
  1159. 'radius' range of the center point of the attack take damage.
  1160.      g) x,y - if a rectangular area of effect is desired, these two values
  1161. reflect the width and length of that area. The area will center on the point
  1162. of impact calculated by the attack.
  1163.      h) MinPeople - the minimum number of remaining effectives in the unit
  1164. employing the weapon which are required to operate it.
  1165.      i) Scatter - A percentage chance that an individual in the target area
  1166. will take damage.  Thus one may have an artillery barrage which impacts over
  1167. a large area, but the actual chance of an individual being near enough an
  1168. impact area is actually small.  There can be advantages to both forms; enemy
  1169. units already low on morale may be spooked by a small amount of artillery
  1170. fire and retreat, for example.
  1171.  
  1172.      Now for the attack itself:
  1173.  
  1174.                                                  20
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.      a) Flags - these are identical for weapon types and IFweapon types.
  1182.  
  1183.           1) MELEE - the attack is a melee attack.
  1184.           2) INDIRECT - the attack is indirect.
  1185.           3) DIRECT - the attack is direct fire missile.
  1186.           4) MAGICAL - the attack is somewhat weird.
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.                                                  21
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.           5) MEETCHARGE - in a weapon, means that the weapon
  1240. may be used to meet a charge, in the attack, it means it IS being used to
  1241. meet a charge at the time.
  1242.           6) CHARGING - in a weapon, means it may be used in a charging type
  1243. attack, in an attack, means that the attack IS being used in a charge.
  1244.           7) AIRTARGET - means that the weapon, IFweapon or the whole attack
  1245. may be used against an airborne target.
  1246.           8) GNDTARGET - the attack may be used against a ground target.
  1247.           9) NONTARGET - normally used with scripted attacks, to indicate
  1248. that EBS need not select a target for this attack.
  1249.        10) INTERSTICE - attack may be used on the interstice.
  1250.        11) STOPTOFIRE - unit must stop before employing this attack.
  1251.        12) PTBRANGE -
  1252.        13) SHTRANGE -
  1253.        14) MEDRANGE -
  1254.        15) LNGRANGE - the ideal range at which to use the weapon.
  1255.        16) USEMOUNTED - the unit may use this weapon while mounted on a
  1256. transport unit.  Do not confuse this with a "mounted" type unit, such as a
  1257. group of knights, who are considered to be on horseback.  EBS cannot tell
  1258. that unless you define a unit of horses and a unit of humans, then have the
  1259. humans mount the horses as transport.  This method can be used for
  1260. transported infantry.  Note that if the current primary attack can be used
  1261. while mounted, EBS will not automatically dismount the unit, but will keep
  1262. taking advantage of the increased movement rate.
  1263.        17) WITHSHIELD - if a shield value is defined for the unit, it will
  1264. only be allowed if the unit's current attack has this option chosen.
  1265.        18) SMOKEATTACK - this attack, using an IFWeapon, is smoke producing
  1266. and will block line of sight.
  1267.  
  1268.      b) Weapon - the name of the weapon, if any, associated with the attack. 
  1269. If combined with flags MELEE or DIRECT this is the primary weapon for the
  1270. attack.
  1271.  
  1272.      c) IFWeapon - the name of an IFweapon associated with the attack.  If
  1273. there is no weapon and/or the flags for INDIRECT or MAGICAL are set, this is
  1274. the primary weapon. Otherwise, it is a magical attack associated with the
  1275. use of the weapon, such as a Cube of Energy on an arrow.  The IFweapon's
  1276. attack will then be carried out around the center point of the arrow's hit.
  1277.  
  1278.      d) LinkAttack - an attack which may be simultaneously manned while this
  1279. attack is manned.  Link attacks should be set up in a chain, each one having
  1280. the name of the next on the list.  This would be used, for example, on a
  1281. ship with multiple guns, such as 16 inch, 8 inch, 4 inch, etc, all of which
  1282. will be in use at the same time, though having different rates of fire and
  1283. even different targets.  When EBS chooses the first weapon in a LinkAttack
  1284. list, it will man all the weapons on the list, initialize their counters,
  1285. then carry out their attacks as appropriate.  It will also simultaneously
  1286. deselect all attacks in that list.
  1287.  
  1288.      e) TargetLoc - the location center of an IFweapon's attack, also used
  1289. as the location of a stationary attack, such as a burning Manipulator
  1290. 'Create Energy' spell.  Unlike direct fire weapons, IFweapons do not require
  1291.  
  1292.                                                  22
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298. a unit as a target, the may fire at an area suspected to contain enemy units
  1299. and hope for the best.  In EBS v1.00, this is only set internally when
  1300. creating static attacks, or through scripts.  There is no direct way to set
  1301. the target location through the menus or the command window.
  1302.  
  1303.      f) Target - the name of the unit which is the primary target for this
  1304. attack.
  1305.  
  1306.      g) SecTarget - the secondary target for this attack. This value is only
  1307. used when a unit which outnumbers its target by more than 6 to 1 tries to
  1308. attack that target with a melee weapon.  EBS will only allow six attacks on
  1309. that single target.  If there is a secondary target available, the remainder
  1310. will use that attack on it.  Most often, in fantasy scenarios, this would be
  1311. used when as many of the troops as possible are attacking the "great hero
  1312. warrior" while the rest fight with his minions, or any of hundreds of
  1313. variations on that theme.
  1314.  
  1315.      h) Script - the name of an AREXX (tm) script which completely replaces
  1316. the normal attack routines.  EBS will call the named script with the
  1317. specified arguments provided in the list.  See the section under the AREXX
  1318. (tm) interface for acceptable return values.
  1319.  
  1320.      i) Number - the number of troops or elements (such as tanks or
  1321. artillery pieces) using this attack.
  1322.  
  1323.      j) Effect - a percentage of the base damage of the weapon which this
  1324. unit actually gets out of the attack.  This value allows the designer to set
  1325. up a single 'longbow' module, and create multiple units, not all of whom get
  1326. the same result out of their firing.
  1327.  
  1328.      k) Counter - counts the seconds between attacks.
  1329.  
  1330.      l) Multiple - in case of a rapidly firing weapon, the number of attacks
  1331. taking place in one second or round.  If multiple is greater than one, the
  1332. gap should be zero unless you wish to force one second bursts every 'x'
  1333. seconds.
  1334.  
  1335.      m) StartAmmo - how much ammo these troops carry for this attack.
  1336.  
  1337.      n) CurrentAmmo - how much ammo they have right now.
  1338.  
  1339.      o) Magic Ammo - how much ammo they have with standardized magical
  1340. attacks similar to 'Cube of Energy.'
  1341.  
  1342.      p) Magic Dice - the dice in the magical attack.
  1343.  
  1344.      q) MagicDSize - if other than the standard Energion d10, the size of
  1345. the magical dice.
  1346.  
  1347.      r) TypeID - a scripters convenience variable to allow AREXX (tm) select
  1348. ranges based on this value to conduct scripted attacks.
  1349.  
  1350.  
  1351.                                                  23
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.      s) TerrainFlags - what terrains may this attack be used in.
  1358.  
  1359.      t) SubFlags - under what terrains may this attack be used.  This value
  1360. is not used by EBS v1.0, but is available for script writers.
  1361.  
  1362.  
  1363. 1.3.7 Supply
  1364.  
  1365.      A supply depot is a simple module which provides a method for units to
  1366. regain ammunition.  Fuel and other supplies are not supported, but if there
  1367. are any supply modules defined, supply available or not will impact morale
  1368. and loyalty rolls of any units not immune to supply problems.
  1369.  
  1370.      Defineable values of a supply module follow:
  1371.  
  1372.      a) Flags - the following values may be set for conditions of resupply. 
  1373. These flags set conditions which must be true during the time resupply is in
  1374. progress for success.
  1375.           1) MOVING - unit must be moving independently (not in retreat) to
  1376. be resupplied.  A unit which is stopped for its own purposes, that is not
  1377. forced into retreat or defensive mode, may be resupplied with this flag set.
  1378.           2) STOPPED - unit must not be moving (actual speed 0).
  1379.           3) LOSSUPPLY - unit must have a line of sight to the supply depot. 
  1380. This would imply runners carrying the supplies who would not want to be out
  1381. of sight of friendly forces.
  1382.           4) ONMAPSUPPLY - the supply depot must be on the unzoomed current
  1383. map; otherwise it may be at any x/y/z coordinates, whether displayed or not.
  1384.           5) INRETREAT - unit may resupply even if it is retreating.
  1385.           6) ATSUPPLY - unit must be collocated with the supply depot to
  1386. resupply, basically required to pick up its supplies rather than have them
  1387. delivered.
  1388.  
  1389.      Obviously, multiple options may be selected for the unit, though it
  1390. would make little sense (but do no harm) to set LOSSUPPLY and ATSUPPLY.
  1391.      b) Type - a scenario defined type of supply, if this is other than
  1392. zero, it must match the supply type of the unit to be resupplied.
  1393.      c) Time - the number of seconds during which the specified conditions
  1394. must be met in order for that unit to be resupplied.  This is counted by the
  1395. unit's Supply Counter.
  1396.      d) Force - the force number (set as a force name in the editor).  This
  1397. must match the unit's force number or no resupply may take place.
  1398.  
  1399. 1.3.8  Strategy
  1400.  
  1401.      The strategy module defines how a unit will behave before it comes into
  1402. contact with an enemy.  Contact with an enemy is defined in EBS as having an
  1403. enemy unit within the unit's zone of control and known to that unit.
  1404.  
  1405.      A strategy module has the following user-definable elements:
  1406.  
  1407.      a)  Choice Routine - an AREXX (tm) script (with arguments) which
  1408. returns a value indicating the relative merit of the strategy.  This script
  1409.  
  1410.                                                  24
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416. should examine the map terrain, the enemy positions and the force's
  1417. strengths and weaknesses.  EBS internal choice routines return values from 0
  1418. to 100.  External scripts should return similar values if they are simply to
  1419. be added to available choices; they should return values greater than 100 if
  1420. they wish to replace the internal strategies.  The only way to tell what
  1421. strategy will be chosen is by experimentation.
  1422.      b)  Action Routine - this is a standard routine which replaces the
  1423. actions of the strategy module.  It should set destinations in the units
  1424. belonging to the force.  It can return standard values indicating whether it
  1425. succeeded, and whether EBS should continue and attempt to set the
  1426. destinations.
  1427.      c)  MoveData - consists of multiple elements:
  1428.  
  1429.      LLSPEED
  1430.      LLDEV
  1431.      LRSPEED
  1432.      LRDEV
  1433.      CLSPEED
  1434.      CLDEV
  1435.      CRSPEED
  1436.      CRDEV
  1437.      RLSPEED
  1438.      RLDEV
  1439.      RRSPEED
  1440.      RRDEV
  1441.  
  1442.      The speed element is the percentage of the base speed for the force
  1443. which that unit should go.  This will allow you to have certain portions of
  1444. a force advance more quickly than others.
  1445.  
  1446.      The dev (deviation) element states the number of degrees right
  1447. (positive value) or left (negative value) the unit should deviate on its way
  1448. to its destination sector.  See Section 6.3, The Map for a description of
  1449. sides and sectors.  Each unit will go to the corresponding map sector on the
  1450. target side of the map.  It will travel to that point in a straight line if
  1451. its deviation value is zero.  If the deviation value indicates a number of
  1452. degrees, however, it will use that deviation through about one half of its
  1453. route and then reverse it to head for its target sector.  Use of an
  1454. objective which is behind an enemy force, and deviation left and right for
  1455. all the units will thus cause the attacking force to split, attempt to move
  1456. to the right and left of the enemy, then cut back in behind them to the
  1457. objective.  (In actual battles, of course, this kind of pleasant romp to the
  1458. objective is, at best, unlikely!)
  1459.      d)  Delay - this value is used to delay the start of execution of a
  1460. strategy.  In the internal strategies, this value is used in connection with
  1461. the number of artillery units an attacker has, and is a number of seconds
  1462. which the attackers will delay movement while their artillery works on the
  1463. enemy.  In use of this value, remember that the value is multiplied by the
  1464. number of artillery batteries available to the force, so even if you use it
  1465. to delay for other reasons, you must have at least one artillery unit, and
  1466. set the value high enough to accomplish your purpose.  As an example, an
  1467. attacker which has 10 artillery batteries and a strategy with a delay value
  1468.  
  1469.                                                  25
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475. of 60 will delay for 600 seconds (10 * 60) or 10 minutes before allowing any
  1476. unit in the force to move forward.  Additionally, it is a bad idea to use
  1477. such a delay if there are no spotter units in place or the enemy begins the
  1478. game out of range of the artillery available.  In either of those cases you
  1479. get 10 minutes (or whatever time you specify) of inaction during which the
  1480. enemy can have whatever fun they desire.  (Units will still defend
  1481. themselves.
  1482.      e)  RangefromBase - this name may appear strange, but it stands for the
  1483. distance an enemy unit is from its target's home base.  It is used in
  1484. determining when to launch a defensive strategy.  A defensive strategy may
  1485. have all the same elements as an offensive one, but you may desire it only
  1486. to be launched under specific circumstances.  Other strategy launching
  1487. criteria are listed under the "OPTIONS" element, but this element allows you
  1488. to set a range value from the enemies leading unit to the force's leading
  1489. element.  When the actual range is less than this value, the defensive force
  1490. will launch its strategy.  Using this method, you could have a defensive
  1491. force wait for the enemies lead unit to come in contact with its center,
  1492. then launch a double envelopment attack as a defense.
  1493.      f)  Supply - a percentage of the attacking force's units which should
  1494. dedicate themselves to destroying enemy supplies.
  1495.      g)  Command - a percentage of the attacking force's units which should
  1496. dedicate themselves to destroying enemy headquarters units.
  1497.      h)  MoveThreshold - This value applies to both supply and command
  1498. hunters.  It sets a minimum speed for such units.  EBS checks the unit's
  1499. speed against this value, and if it is less than this, the unit is not
  1500. assigned to command or supply hunting.
  1501.      i)  Concentrate - a percentage chance for any unit, when choosing a
  1502. destination, to attempt to move closer to friendly units.  If the nearest
  1503. friendly unit is already within the unit's zone of control, it will ignore
  1504. this value and go on, otherwise it will set its destination to move closer
  1505. to the friendly unit.
  1506.      j)  MaxDeviation - Provides the maximum distance which a unit may move
  1507. from its location for the purpose of seeking cover.  This value is used for
  1508. all units who have an "ACTIVEDEFENSE" option chosen for them.
  1509.      k)  RearOffset - this value is not used by EBS but is made available
  1510. for script purposes.  I use it to indicate how far behind an enemy a unit
  1511. should attempt to set its destination.  It can be used as an argument for an
  1512. action script (as can any other element of the strategy module).
  1513.      l)  Options -  the following list of options may be chosen for a
  1514. strategy module:
  1515.  
  1516.           1) KILL - the units in this force have one simple instruction--
  1517.      find the nearest enemy unit and attack it.
  1518.           2) DEFENSIVE - this strategy may be chosen by a force which is in
  1519.      defensive mode.  This is not mutually exclusive with OFFENSIVE.  In the
  1520.      case of an offensive force, the defensive items are ignored.
  1521.           3) OFFENSIVE - this strategy may be chosen by a force which is in
  1522.      offensive mode.
  1523.           4) BERSERK - an extreme form of offensive.
  1524.           5) CAUTIOUS - an extreme form of defensive.
  1525.           6) UNDERFIRE - for defensive strategies, implement the strategy
  1526.      when your first unit comes under enemy fire.
  1527.  
  1528.                                                  26
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.           7) SIGHTEDENEMY - for defensive strategies, implement the strategy
  1535.      when your first unit sights an enemy unit.
  1536.           8) INCOMBAT - for defensive strategies, implement the strategy
  1537.      when your first unit is noted in combat.
  1538.  
  1539.      Note:  the difference between UNDERFIRE and INCOMBAT is that UNDERFIRE
  1540. is set when the unit receives fire, and INCOMBAT is set when the unit either
  1541. fires or receives fire.
  1542.  
  1543.  
  1544. 1.4 - Terrain Table
  1545.  
  1546.      The terrain table consists of 32 terrain entries, each containing the
  1547. following values:
  1548.  
  1549.      a) Flags - the flags tell what each terrain pixel counts for in
  1550. averaging the nine pixel group which EBS reads to provide a single terrain
  1551. result.  The possible values are MOVE, LOS, ALTITUDE and COVER.  If none of
  1552. these values are set, the pixel has no impact on terrain (possibly a
  1553. desireable result).
  1554.      b) Cover - the amount of cover provided to a unit in this terrain.
  1555.      c) LOS - a multiplier for the difficulty of seeing through the terrain,
  1556. compared to clear air.  Any time this value is greater than one, EBS checks
  1557. a percentage chance to see the distance.  The base 
  1558.      d) Altitude - the altitude of the surface of the terrain.
  1559.      e) Margin - the altitude of the objects on the surface of the terrain,
  1560. such as the height of the trees in a forest or the height of the rocks in
  1561. rocky terrain.  This is compared to the height of the troops in the unit in
  1562. establishing the cover value for those troops.
  1563.      f) Title - the name of the terrain type.
  1564.      g) Color - the color in which to draw a pixel of this terrain.
  1565.  
  1566.      The best way to examine the relationship between these values is to
  1567. examine the terrain table provided in the program.  It may then be edited
  1568. and saved with the configuration file.
  1569.  
  1570.  
  1571. 1.5  Miscellaneous Modules
  1572.  
  1573. 1.5.1  Units of Measure
  1574.  
  1575.      Units of Measure are only defineable through EBS Script Language
  1576. commands, and not through the editor.  They are quite simple to define,
  1577. having only two elements:  a label, and a positive integer value indicating
  1578. the number of centimeters in the unit named by the label.  Thus, a unit of
  1579. "Meters" would require a multiple value of "100" whereas one of kilometers
  1580. would require one of "100000" and one of "miles" would require "160934."  A
  1581. unit of "inches" would be difficult to enter, and would create some
  1582. inaccuracy.  The closest value which is reasonably accurate is "feet," which
  1583. would require a multiple of 30 or 31 centimeters, depending on how
  1584. religiously you round the values.
  1585.  
  1586.  
  1587.                                                  27
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.      EBS can operate without any units of measure entered, because none of
  1594. them are used directly.  When you enter the label of your unit in a map
  1595. definition, EBS searches the list of measures (if there is one) and enters
  1596. the associated multiple in the "MULT" value of the map.  When you enter the
  1597. multiple directly, it searches the list for a match to that value and enters
  1598. the label automatically.  If there is no list in EBS, the two values must be
  1599. entered separately by hand.
  1600.  
  1601.      EBS also will present a requester listing the available units of
  1602. measure if an invalid label is entered in the editor window.  Measure
  1603. modules are thus mostly a convenience feature rather than a requirement. 
  1604. They are accessed in the same manner as any other module.
  1605.  
  1606. 1.5.2  Items
  1607.  
  1608.      Items are extremely simple modules which EBS does not use at all.  They
  1609. are designed for the script writer, and have just three elements:  a label
  1610. (required), an positive integer item identification number and an optional
  1611. note.  An item may be attached to a marker, allowing access to its value by
  1612. that means.  What is done with these items is up to the script writer, but
  1613. they may be useful for maintaining variables for your AREXX (tm) scripts
  1614. from one call to the next.  The item identification number could also be
  1615. used with a list to identify items with more detailed descriptions
  1616. maintained in files.
  1617.  
  1618.      The item identification number takes only positive integers, but the
  1619. note can take any value.  EBS allocates memory for the note dynamically, so
  1620. that no more memory is used for this than necessary. There is, however, a
  1621. limit of 1024 characters on all strings entered into modules in EBS. 
  1622. (Remember that it may be difficult to process long notes in some text
  1623. editors.)
  1624.  
  1625.      Items are accessed by their label, as is the case with other modules,
  1626. or by their element number.  Their labels are subject to the same rules as
  1627. well.
  1628.  
  1629.  
  1630. 1.5.3 Location Chains
  1631.  
  1632.      Location chains provide a drawing medium for limited scaled objects. 
  1633. They are only accessible through the script language in this version of EBS. 
  1634. Each location chain has a header, which is attached in a list to its map. 
  1635. Thus, when the map is zoomed, the location chain will be redrawn.
  1636.  
  1637.      Create a location chain by using the command 'new chain chainname'. 
  1638. The chain will be added to the current map.  You can then set the color and
  1639. draw mode for the chain using the 'set' commands.
  1640.  
  1641.      There are two ways to establish locations for a chain.  If you know
  1642. exactly what locations you want, you can format them as strings, then 'set'
  1643. the location values for the named chain to those strings.  Each call to set
  1644. with a valid location string adds a location.  Alternatively, you can set
  1645.  
  1646.                                                  28
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652. the 'maxlocs' values for a pointer to the total number of locations you wish
  1653. to have in the chain, click on the locations desired in succession, then use
  1654. 'set chain chainname locs current' which will add the entire set of
  1655. locations to the chain.
  1656.  
  1657. * AREXX is a trademark of William B. Hawes.
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.                                                  29
  1706.