home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 167.lha / Player / Player.Doc < prev    next >
Text File  |  1988-04-28  |  50KB  |  1,009 lines

  1.  
  2.  
  3.  
  4.               Player: The Energion Character Playing Program
  5.                            Version 2.10, 9-14-88
  6.                        Copyright © 1988 Rick Huebner
  7.                  Reproduction and distribution encouraged
  8.  
  9.  
  10.  
  11. 0.  Administrivia (let's get it over with early)
  12. -----------------
  13.  
  14. 0.1  Copyright & distribution notices
  15.  
  16.      This document and the program it accompanies are Copyright © 1988 Rick
  17. Huebner.  However, you are hereby granted permission to distribute and use
  18. this material freely.  I'm not keeping the copyright in order to restrict
  19. distribution, but only to allow myself to keep ownership of the program and
  20. control over future versions.  You may consider this software to be real
  21. freeware, i.e. really free, no strings attached.  Not quite public domain,
  22. but close enough for most purposes.  Please post this on RPG and Amiga
  23. BBS's, include it in appropriate software libraries, etc.
  24.  
  25.  
  26. 0.2  Warranty
  27.  
  28.      There isn't one.  This is a gift, not a commercial product.  However, I
  29. have tested this software pretty thoroughly, and I use it myself constantly,
  30. so it shouldn't cause anybody any big problems.  If this software does
  31. somehow cause serious problems (though I can't imagine how it might), please
  32. contact me (see section 5), and I'll try to fix it ASAP.  That's a better
  33. support policy than you usually get when you pay for it.
  34.  
  35.  
  36.  
  37. 1.  So what is this thing, anyway?
  38. ----------------------------------
  39.  
  40. 1.1  What is Player?
  41.  
  42.      Player is a utility program to help with the creation, play, and
  43. maintenance of Energion characters.  It is not, in itself, a game, but is
  44. rather a utility program which helps you to play a game (Energion).
  45.  
  46.  
  47. 1.2  (sigh) OK, so what's Energion?
  48.  
  49.      Energion is a fantasy role-playing game (FRPG) rules system which
  50. allows you to create fantasy characters and simulate their lives (or
  51. deaths), adventures, and exploits.  It's similar in purpose to other RPGs
  52. such as Dungeons and Dragons(tm), RuneQuest(tm), Chivalry and Sorcery(tm),
  53. etc.  It provides rules to handle the description of a character's
  54. capabilities and skills, and the effects of magic and combat.  However,
  55. Energion's special emphasis is on in-character realism and easy rules
  56. computerization.
  57.  
  58.      In-character realism means that as much as possible, Energion tries to
  59. make the results of a character's actions self-consistent and logical within
  60. the character's game universe.  For example, a warrior does not instantly
  61. become much more powerful by killing a monster or grabbing treasure; a
  62. warrior gains skill through training and practice.  There are as few
  63. arbitrary restrictions and limitations as possible; the only limitations
  64. should be those dictated by common sense and the physics of the game
  65. universe.  There's no rational reason why a character can't be expert both
  66. at picking locks and fighting, for instance, so Energion has no rigidly
  67. stereotyped character classes.  Instead, there are skills of varying
  68. difficulties and capabilities, which may be learned by any sentient creature
  69. who invests enough time and effort into the task.
  70.  
  71.      Easy rules computerization means that where possible, Energion uses
  72. simple, smoothly-progressing mathematical formulas rather than look-up
  73. charts full of arbitrary numbers.  Exceptions and special case rules are
  74. minimized.  Energion characters can be stored, updated, and possibly even
  75. played using standard spreadsheet programs.  Gaming utilities are much
  76. easier to write than for most other RPG systems, even in "stupid" languages
  77. such as primitive versions of BASIC.  This makes it easier to automate a lot
  78. of the drudgery of role-playing games, like Player does.
  79.  
  80.  
  81. 1.3  But what does Player *do*?
  82.  
  83.      One of the biggest hassles of serious role-playing games is maintaining
  84. and updating the records of all your characters.  The second-worst annoyance
  85. is usually the mechanics of the game system itself during play; rolling
  86. dice, computing hits, keeping track of damage points, etc.  Player is
  87. designed to make the bookkeeping and game mechanics of Energion as easy and
  88. unobtrusive as possible, to allow you to spend more time thinking, planning,
  89. and playing your characters, and less time messing with dice, papers, rule
  90. books, and calculators.
  91.  
  92.      Using Player, a single player can easily maintain records for a score
  93. of characters, and run an entire medium-sized adventuring party complete
  94. with henchmen, where before they had their hands full playing a single PC. 
  95. A gamemaster can use Player to run groups of NPCs during encounters, and to
  96. maintain records with much more detail than would be practical by hand. 
  97. Player also makes certain kinds of normally impractical game play playable;
  98. how often have you had to stop game play for several minutes in the middle
  99. of a hot encounter because a PC lost half his levels to an undead and the
  100. poor player had to refigure most of the character sheet in mid-hack?  What's
  101. worse, how often have you gamemasters screwed around with what ought to
  102. happen in order to avoid having to handle such out-of-character logistical
  103. nightmares?
  104.  
  105.      Player takes the form of a computerized character record sheet.  You
  106. enter your character's stats, training points, weapons, etc., and Player
  107. automatically figures out their current skill levels, hit chances, avoidance
  108. rolls, and such.  Player provides gadgets for automatically rolling and
  109. computing most anything needed during game play.  Characters are stored as
  110. disk files, and can be easily updated and maintained.  When your character
  111. earns more training points, you just enter them in, and Player automatically
  112. handles going up levels and computes in all the side effects.  Player can
  113. handle up to 20 characters loaded at one time, and allows you to quickly
  114. switch between them so you can play multiple characters at once.
  115.  
  116.      Even if you don't have an Amiga available during games, Player can be
  117. used to keep track of your characters, with filled-in character sheets being
  118. printed out for use during play.  A gamemaster with an Amiga could maintain
  119. the character files for the rest of the gaming group, and generate updated
  120. character sheets as needed for the players.  And even if you don't use the
  121. Energion rules system, it might be worth your while to fire Player up once
  122. and play with it a bit, just to see what you're missing; a seasoned fantasy
  123. gamer will be able to get a pretty good idea of what the Energion system is
  124. like by twiddling with Player for a while, and you may decide to give it a
  125. try.  It would be immodest to claim that you'll be tempted to switch game
  126. systems just so you can use Player, but it's true.  B-)
  127.  
  128.  
  129.  
  130. 2.  Installation
  131. ----------------
  132.  
  133. 2.1  Required files
  134.  
  135.      Player requires that three files be available in order to run: the
  136. skills, weapons, and armor data files.  The names and locations of these
  137. files can be set by you, but they default to Skills.Dat, Weapons.Dat, and
  138. Armor.Dat, all in the current directory.  You'll also need a character sheet
  139. print format file, default name Player.Prt, in order to produce printed
  140. character sheets.  These default names, and a couple of other operating
  141. parameters, may be overridden by providing a Player configuration file
  142. (Player.Cfg).
  143.  
  144.  
  145. 2.2  Player configuration file
  146.  
  147.      When Player first starts up, it'll look for a configuration file called
  148. Player.Cfg, first in the current directory, and then in S:.  If found, this
  149. file will tell Player what screen colors to use, and where to find the other
  150. necessary files.  If Player.Cfg is not found, Player will use a set of
  151. built-in defaults, as specified above.  Therefore, if you store Player in a
  152. directory in your CLI command search path, and you store Player.Cfg in S:,
  153. you can run Player from any directory you want without problems. 
  154. Alternatively, you can just throw all the Player files together in a single
  155. directory, and always run it from there, and not bother with Player.Cfg at
  156. all.  An example Player.Cfg which assumes all the Player files are kept on a
  157. disk (or ASSIGNed directory) called Player: has been provided.
  158.  
  159.  
  160. 2.3  Player startup script
  161.  
  162.      If you have ARexx, Player will attempt to execute the ARexx script
  163. Startup.Player when it starts.  If this script doesn't exist, Player just
  164. ignores the error and goes on.  This allows you to provide an automatically
  165. executed startup script for Player if you choose.  ARexx will look for this
  166. script in the same standard locations as for any other script file, so
  167. you'll probably want to store this file in your assigned Rexx: directory.
  168. The script will begin execution with an implied "address player" command,
  169. so you can immediately begin issuing Player commands.  An example
  170. Startup.Player script has been provided (which will need to be renamed due
  171. to ARC limits).
  172.  
  173.  
  174. 2.4  Character sheet format file
  175.  
  176.      The Print Character menu option uses a character sheet format file to
  177. lay out the format of the finished character sheet.  This format file
  178. consists of a series of 'C' language "printf" format lines which are used by
  179. Player while printing your character sheet.  The first line of the format
  180. file gives the name of the file to print the finished character sheet to. 
  181. The example format file provided is set up to print to the PRT: printer
  182. device, and the file therefore uses embedded PRT: device control escape
  183. codes to do things like turn underlining on and off.  If you have a good
  184. Preferences printer driver installed, and Preferences is set up properly,
  185. this should work fine for you.  However, if you don't have a good printer
  186. driver available, or if you want to use some fancy feature of your printer
  187. which Preferences doesn't support, you can edit the format file with any
  188. standard ASCII text editor and redefine things as necessary.  Just change
  189. the first line to PAR: (or SER:) to bypass the PRT: device, and change the
  190. PRT: device control codes to whatever your printer understands.  All
  191. standard 'C' language '\' escape codes are recognized, plus the code '\e'
  192. for the Escape character.  See section 4.6 for more details on customizing
  193. this file.
  194.  
  195.  
  196.  
  197. 3.  Usage
  198. ---------
  199.  
  200. 3.1  General usage instructions
  201.  
  202.      Player is quite easy to use.  Under normal manual operation, it works
  203. totally through the standard Amiga Intuition user interface (many thanks to
  204. RJ Mical!), and is almost completely mouse-driven with the standard menu
  205. commands, click buttons, and pop-up windows one expects on the Amiga. 
  206. Basically, if you think something might do something, just click on it with
  207. the mouse to see.  For example, to roll an avoidance roll, just click on
  208. the place on the character display where the avoidance rolls are printed,
  209. and an avoidance roll window will pop up.  All gadgets use Intuition's
  210. release-verify option, so if you just want to see if something is a
  211. click-gadget without activating it, you can hold the left mouse button down
  212. to highlight the click zone, and then move the mouse pointer out of the
  213. highlighted click zone before releasing the mouse button, and the gadget
  214. will not be activated.
  215.  
  216.      The only non-Intuitive (ahem) thing about the Player interface which I
  217. can think of is the common practice of embedding string gadgets into the
  218. text of a pop-up window to save space.  For example, in the aforementioned
  219. avoidance roll window, you'll notice that the Bonus value is blue, rather
  220. than black.  This means that the avoidance roll bonus value is actually a
  221. string gadget, and may be clicked on and edited to enter any applicable
  222. bonus or penalty to your avoidance roll before you click on the appropriate
  223. selection button.  Player always uses black text for normal print, and blue
  224. text for string gadgets, so you should be able to recognize these if you
  225. look for them.  Since these are all standard Intuition string gadgets, all
  226. of the normal editing keys are available (right-Amiga-X & Q, shift left &
  227. right arrows, etc.).  One thing which you must remember about all string
  228. gadgets in Player is that changes which you make will not be noticed until
  229. you hit the return key.  If you click on a string gadget, edit it, and then
  230. click somewhere else before hitting return, your changes will not take
  231. effect.
  232.  
  233.      For automated operation, Player has a full-blown ARexx script language
  234. interface.  This allows you to do just about anything from an ARexx script
  235. which can be done manually, plus use the ARexx programming language to
  236. automatically perform complicated or repetitive gaming chores, like rolling
  237. up new characters or performing major surgery on skills.  Gamemasters can,
  238. with the right combination of cleverness and lazyness, use the script
  239. language to handle such things as mass combat or even a bit of "artificial
  240. stupidity" for NPC's.  Some example ARexx scripts have been included, and
  241. more will most certainly be posted on our support BBS in the future.
  242.  
  243.  
  244. 3.2  Command line startup
  245.  
  246.      Player can be started from the CLI command line either directly or
  247. with the RUN command, and should work fine with around 4K of stack or more.
  248. STDIN and STDOUT ("<" and ">") are not used unless an error prevents Player
  249. from starting properly, or when ARexx reports an error in a script, so
  250. RUNBACK should usually work as well.  Player accepts the names of character
  251. files to be immediately loaded upon startup as command line arguments. 
  252. These arguments are processed before Player attempts to invoke the
  253. Startup.Player ARexx macro (if any).
  254.  
  255.      Player would probably run fine from the WorkBench if you attached an
  256. icon to it, but I only see the WorkBench maybe once a month, so I haven't
  257. bothered to provide one.  If you need one, go for it.
  258.  
  259.  
  260. 3.3  Menu options
  261.  
  262.      The following menu options are provided by the Project menu.  They
  263. allow you to perform all the standard loading and saving operations you'd
  264. expect:
  265.  
  266.           New character: Loads a new empty character sheet, which you can
  267.      then edit to enter a new character into Player.
  268.  
  269.           Load character: Loads a previously-saved character file from disk. 
  270.      See the notes below for info about using the file requester.
  271.  
  272.           Unload character: Unloads the currently displayed character from
  273.      Player's memory.  Does NOT delete or otherwise affect any saved disk
  274.      files.  If you've edited any of the fundamental data for your character
  275.      without saving yet ("unsaved" will be shown in title bar), Player will
  276.      verify that you really want to discard your changes.
  277.  
  278.           Save character: Saves the currently displayed character to disk. 
  279.      If Player knows the filename for this character already (from a
  280.      previous Load or Save As operation), the old file will be automatically
  281.      overwritten with the new data.  If Player doesn't know the filename yet
  282.      (new character), this option acts as a Save As.
  283.  
  284.           Save character as...: Also saves the currently displayed character
  285.      to disk, but prompts for the file name to use first.  If there's
  286.      already a file with the name you give, Player will verify that you
  287.      really want to overwrite the old file.
  288.  
  289.           Print character: Prints out a filled-in character sheet for the
  290.      currently displayed character.  Player first looks for a character
  291.      sheet format file with the same name as the character's file but with a
  292.      ".PRT" suffix, and then defaults to the generic format file whose name
  293.      was specified in Player.Cfg.  This allows you to make customized
  294.      character sheet format files for your characters, with the notes and
  295.      personal data filled in.  WARNING: Due to a bug in the Manx 'C' fopen()
  296.      function, if you have printer problems while Player is trying to open
  297.      the printer device Player will lock up.  Once the printout has started
  298.      everything is fine, and you'll be able to abort out of any printer
  299.      problems as expected.  Make sure your printer is ready before starting
  300.      a print!
  301.  
  302.           About Player: Displays the obligatory boring copyright notice and
  303.      version information, and a reminder of our BBS number.  Since I'm
  304.      planning on producing a steady stream of new versions for a long time
  305.      to come, this option will mainly be useful for finding out how outdated
  306.      whatever version you're currently using is.
  307.  
  308.           Quit: Unloads all currently loaded characters, and then halts
  309.      Player.  Equal to clicking on the main window's close gadget.
  310.  
  311.      A few notes about the file requester are in order here.  The file
  312. requester is completely "live", meaning that you can go ahead and start
  313. doing things as soon as it shows up, without having to wait for it to finish
  314. reading the directory.  In order to reduce the amount of mouse-tag required
  315. while the list is being updated, the list will stop updating if you click in
  316. it.  You can restart the updates by clicking anywhere in the requester
  317. background, outside of the gadgets.  The string gadget box at the top is for
  318. the directory to list; you may click in this box to type a new directory
  319. name, or you may click on a listed directory name to enter it into this box
  320. automatically.  Hitting return within this box, or double-clicking a listed
  321. directory name, causes the requester to list the files in the new directory. 
  322. The center box lists the files and/or subdirectories found within the
  323. directory being listed.  Subdirectories are printed in red, and normal files
  324. are printed in black.  The lower string gadget box is for the name of the
  325. file to be loaded or saved; as with the directory box, you may click in this
  326. box to type a filename, or you may click on a listed file name to enter it
  327. automatically.  Hitting return within this box, or double-clicking a listed
  328. file name, finishes the file requester's job and is equivalent to clicking
  329. on the Load/Save button after entering the name.
  330.  
  331.  
  332. 3.4  Control buttons
  333.  
  334.      Once you've loaded a character into Player, you'll see the main page
  335. of the character sheet.  Across the bottom of every page there's a row of
  336. control buttons.  The buttons control those functions which need to be
  337. available at all times, no matter which page of the character sheet is
  338. currently displayed.
  339.  
  340.           Main: Displays the main page of the character sheet.  The main
  341.      page is the general-purpose quick-reference summary of the entire
  342.      character, where you'll spend most of your time during games.
  343.  
  344.           Skills: Displays the skills page of the character sheet.  This
  345.      page is simply a list of all those skills which your character
  346.      possesses, with a summary of data about each skill.
  347.  
  348.           Weapons: Displays the weapons page.  This page lists the weapons
  349.      which your character has available to use, with relevant info about
  350.      each.
  351.  
  352.           Armor: Displays the armor page.  This page displays info about the
  353.      armor the character has available.
  354.  
  355.           Dice: Pops up a dice-rolling window.  This window provides three
  356.      buttons: 1d10, 1d100, and a customizable whateveryouwant button.  The
  357.      left string gadget within the custom button controls how many dice the
  358.      button will roll, and the right string gadget controls what size each
  359.      die will be.  Click on the rest of the button outside of the string
  360.      gadgets to roll again.
  361.  
  362.           Edit: Toggles Player between play and edit modes.  In play mode
  363.      (the usual state), Player does things needed while playing your
  364.      character during a game, like roll hits or select which weapons you're
  365.      using.  In edit mode, Player lets you edit and update the fundamental
  366.      data about your character, like stat values and what weapons are
  367.      available.  See the appropriate sections below for more data on exactly
  368.      what can be done in each mode.
  369.  
  370.           Select: Lets you select which of the currently loaded characters
  371.      you wish to work with at the moment, from a list of names.  Just click
  372.      on the one you want to switch to.
  373.  
  374.           Prev: Switches to the previous character in the stack of loaded
  375.      characters.  Wraps around from the beginning of the list to the end if
  376.      necessary.
  377.  
  378.           Next: Switches to the next character in the stack, wrapping around
  379.      to the beginning of the list if necessary.
  380.  
  381.  
  382. 3.5  Play-mode functions
  383.  
  384.      These are the functions which Player can perform while in play mode
  385. (Edit button turned off):
  386.  
  387.           Main page: The main page is divided into several info boxes.  Some
  388.      of these boxes are only for displaying info, such as the movement rates
  389.      box.  Others act as triggers for relevant pop-up windows to perform
  390.      game-related rolls and calculations, as follows:
  391.  
  392.                Stat rolls: The Stats box brings up the stat roll window. 
  393.           Stat rolls are generic rolls against your character's stats, used
  394.           at the gamemaster's discretion (for example, "Roll under half your
  395.           agility to prevent slipping on the ice").  Sometimes these rolls
  396.           are pass/fail, sometimes you need to make it by at least a certain
  397.           margin, and other times you need to make it within a certain
  398.           percentage of the stat.  This window displays results using all of
  399.           the above methods.  The Bonus value is a string gadget, and may be
  400.           edited to apply any relevant bonus or penalty before rolling.
  401.  
  402.                Perception/reaction rolls: The Senses box brings up the
  403.           Perception/Reaction time roll window.  Click on the appropriate
  404.           button, and Player will tell you what category of perception roll
  405.           you made, or how long you are delayed due to surprise.
  406.  
  407.                Weight carried accounting: The Weight box brings up the
  408.           weight carried adjustment window.  This is where you specify how
  409.           much weight your character is carrying, other than the armor being
  410.           worn.  Player will compute how encumbered this makes the
  411.           character, and penalize their AG and CO accordingly.
  412.  
  413.                Damage point accounting: This box brings up a window which
  414.           lets you adjust your character's current damage points.  A dice
  415.           rolling button for healing spells is provided, which will roll any
  416.           number of d10 required.  Click in the string gadget to set how
  417.           many dice to roll, or click in the rest of the button to roll
  418.           again.  The Change By string gadget lets you adjust your
  419.           character's damage points by any specific amount required; usually
  420.           you'll enter a negative number here to apply damage, and then
  421.           click on the Heal button to heal again.
  422.  
  423.                Avoidance rolls: The avoidance roll box brings up a window
  424.           which (surprise!) lets you attempt avoidance rolls.  Both the
  425.           pass/fail margin and the damage multiplier are displayed for use
  426.           as appropriate.  Note the ubiquitous Bonus string gadget.
  427.  
  428.                Spell level accounting: The Spells box brings up a window for
  429.           adjusting how many spell levels you have on tap for magic-related
  430.           skills.  When levels are used, use the relevant string gadget to
  431.           subtract them.  As time passes, use the Recover string gadget to
  432.           let Player compute your recharge progress.
  433.  
  434.                Weapon hit rolls: Last but not least, both of the two
  435.           weapons-in-hand boxes bring up a hit roll window.  Use the target
  436.           range and target resistance string gadgets to prepare for the
  437.           attack, and then click the Attack button.  If you hit, Player will
  438.           display the hit quality and net damage inflicted.  Use the Bonus
  439.           string gadget to apply special adjustments for relative motion,
  440.           target size, etc.
  441.  
  442.           Skills page: The skills page lists one skill per line.  Click on
  443.      any skill line to bring up the skill roll window, which will allow you
  444.      to attempt a roll against that skill percentage.  'Nuff said.
  445.  
  446.           Weapons page: The weapons page lets you select which weapons are
  447.      considered in-hand and ready to use.  Just click on the weapon info to
  448.      toggle the readiness status.  The main page only has room for two ready
  449.      weapons at once, so if two weapons are already selected, you have to
  450.      toggle one of them off before you can toggle another one on.
  451.  
  452.           Armor page: The armor page lets you select which sets or layers of
  453.      armor your character is currently wearing.  Click on the armor info
  454.      column to toggle it on and off.  The weight of all armor being worn
  455.      will be computed, and appropriate penalties applied to AG and CO as
  456.      required.
  457.  
  458.  
  459. 3.6  Edit-mode functions
  460.  
  461.      These are the things which Player will let you change while in edit
  462. mode (Edit button turned on):
  463.  
  464.           Main page: As in play mode, several of the info boxes on the main
  465.      page bring up windows when clicked:
  466.  
  467.                Name & stats: Clicking on the Stats box brings up a window
  468.           which lets you edit the character's name and stat values.  Pretty
  469.           straightforward.
  470.  
  471.                Vision penalty rebate: Clicking on the Senses box lets you
  472.           edit the character's vision penalty rebate value.  If you use
  473.           Energion's optional rules for applying hit chance penalties at
  474.           range, you should set this value as appropriate to the character's
  475.           race.  If you aren't using those rules, you should set this value
  476.           to 100 to eliminate the vision penalty entirely.
  477.  
  478.                Avoidance roll bonus: Clicking on the avoidance roll box lets
  479.           you edit your character's avoidance roll bonus value.  Since the
  480.           only way for a character to get a general-purpose bonus to all
  481.           avoidance rolls is a special luck blessing from a god, that's what
  482.           the window asks for.  The bonus string gadget within the play-mode
  483.           avoidance roll window is more appropriate for one-time special
  484.           circumstances modifiers.
  485.  
  486.                Strategic point modifiers: Clicking in the bottom weapon info
  487.           box lets you edit the character's strategic point value modifiers. 
  488.           These are part of some new optional rules we're playtesting, for
  489.           handling generalized mass combat at the strategic level.  Until we
  490.           get those rules finalized and published, there's not much reason
  491.           to bother messing with these values.
  492.  
  493.           Skills page: Once you get your character entered into Player, this
  494.      is where you'll do most of your maintenance.  Click on a skill line and
  495.      the editing window will pop up.  To enter a new skill, you first enter
  496.      the skill number from the Skills.Dat file.  The rest of the values will
  497.      then be loaded with defaults from the data file.  Edit the name of the
  498.      skill if necessary.  Then fill in the prime stats to use for this
  499.      skill, chosen as specified in the skill description.  Where possible,
  500.      Player will supply default prime stats.  If there's no choice, Player
  501.      will fill in all of the stats (i.e. Spellcaster, Open Locks).  Some
  502.      skills have both mandatory and chosen prime stats (i.e. Sneak, Hide) or
  503.      even all chosen stats (i.e. Combat), in which case Player will supply
  504.      those it can, and leave the remainder empty.  You can detect this by
  505.      checking the stat weights; a weight of 0 means this stat is not used at
  506.      all, while a weight of 1 with a stat abbreviation of 0 means that this
  507.      stat is used, but Player doesn't know which stat it is yet.  Prime stat
  508.      weights above 1 may be used at the gamemaster's discretion; these allow
  509.      the gamemaster to tailor how important each prime stat is to the
  510.      character's overall aptitude for the skill.  Finally, enter either the
  511.      number of training points the character has earned in this skill, or
  512.      the skill level which the character has achieved.  When you're finished
  513.      editing the skill, click the OK button to close the window, or click
  514.      the forward or backward buttons to proceed through the character's
  515.      skill list.  NOTE: The first skill line must always be used to hold the
  516.      character's Combat skill (even if level 0), since that's where Player
  517.      will get the skill percentage when computing hit chances.
  518.  
  519.           Weapons page: Click on a weapon info box to bring up the weapon
  520.      edit window.  Enter a weapon number from the Weapons.Dat file to enter
  521.      a new weapon into the list, and then edit the other values as
  522.      necessary.  The hit bonus value is the weapon's innate bonus to hit,
  523.      not counting strength or skill.  Likewise, the damage bonus is the
  524.      weapon's innate bonus to damage.  The strength of the weapon may be
  525.      specified as 0, which will cause the weapon to always be used with the
  526.      character's current ST (for hand-held melee weapons), or a specific
  527.      non-zero strength may be entered (for fixed-strength weapons like
  528.      crossbows [or rifles!] which don't get stronger even if the character
  529.      does).  This allows Player to gracefully handle temporary changes to
  530.      the character's ST, like via a Mind-Master's hysterical strength
  531.      ability.  The telescopic sights value is useful only if you are using
  532.      the optional range/vision penalty rules as mentioned above under Vision
  533.      Penalty Rebate.  And finally, the skill value is the character's extra
  534.      skill with this specific class of weapon, if any.  
  535.  
  536.           Armor page: Click on an armor layer info column to edit the
  537.      character's armor, or click on the shield value display to edit that. 
  538.      As with skills and weapons, to enter a new layer of armor you first
  539.      enter an armor chart entry number from the Armor.Dat file, and the
  540.      default values will be read in.  The parameters for armor are pretty
  541.      much self-evident.
  542.  
  543.  
  544. 3.7  ARexx script language
  545.  
  546.      Player checks for the availability of ARexx when it first comes up, by
  547. attempting to open "libs:rexxsyslib.library".  If it succeeds, Player
  548. assumes that ARexx is available, attempts to invoke Startup.Player, and
  549. prepares to receive Player commands from ARexx.  If Player can't open the
  550. library, it will assume ARexx isn't available and will disable all further
  551. ARexx functions.
  552.  
  553.      There is (currently) no way provided to invoke ARexx scripts directly
  554. from within Player.  Player scripts can be invoked from the CLI by using
  555. the ARexx command "address player" to direct the commands in the script
  556. file to the Player program.  See the example ARexx scripts provided.
  557.  
  558.      The general command syntax is very simple.  A command is a string
  559. consisting of one or more keywords (or unique abbreviations thereof) and
  560. possibly argument values, separated by any number of blanks, commas, or
  561. tabs.  Quotation marks are never needed in the final command string which
  562. gets sent to Player, since any time that a random-content string is allowed
  563. (such as setting the character's name), it's at the end of the command line
  564. and Player just uses the whole tail end of the line.  This saves you from
  565. messing with the often-confusing quotes-within-quotes problems which often
  566. occur with ARexx commands.  Once again, see the example scripts provided.
  567.  
  568.      The following error codes may be returned by Player commands:
  569.  
  570.           10: Unknown keyword ("get stat frog")
  571.           11: Non-unique keyword abbreviation ("get s")
  572.           12: No characters loaded
  573.           13: Too many characters loaded
  574.           14: Invalid argument value ("get armor 1386 name")
  575.  
  576.      The complete list of available Player commands follows.  Command names
  577. are listed first, with all possible keywords indented below.  Commands or
  578. keywords are in upper case, and user-supplied variables are described in
  579. lower case.  Optional arguments are surrounded by brackets; all other
  580. arguments are required.
  581.  
  582.           LOCK                          (prevents manual intervention)
  583.  
  584.           UNLOCK                        (reenables mouse & keyboard)
  585.  
  586.           PROJECT
  587.              NEW                        (selects new character)
  588.              LOAD [filename]            (prompts user if no name given)
  589.              UNLOAD                     (prompts user if unsaved changes)
  590.              SAVECHAR                   (prompts user if no filename set)
  591.              SAVEAS                     (prompts user no matter what)
  592.              PRINT
  593.              QUIT
  594.  
  595.           SELECT                        (selects the current character)
  596.              SLOT charnumber            (loaded character # from 1-20)
  597.              NAME charname              (unique left substring of name)
  598.  
  599.           RECALC
  600.              ALL
  601.              SKILLS
  602.              WEAPONS
  603.              DAMAGE
  604.  
  605.           REDISPLAY                     (recalcs all and updates display)
  606.  
  607.           ROLL                          (returns requested value in RESULT)
  608.              STAT
  609.                 ST through FO           (returns points made/failed by)
  610.              REACTION                   (returns seconds delay)
  611.              PERCEPTION                 (returns perception type made)
  612.              AVOIDANCE                  (returns points made/failed by)
  613.                 AREAATTACK
  614.                 POINTATTACK
  615.                 NECROMANTIC
  616.                 DOMINATION
  617.                 DECEPTION
  618.              HIT readyweapon            (damage done or MISS/FUMBLE/RANGE)
  619.              SKILL skillline            (returns points made/failed by)
  620.  
  621.           WINDOW
  622.              DICE
  623.                 OPEN [x y]
  624.                 CLOSE
  625.              SELECT
  626.                 (same keywords for all windows)
  627.              STATS
  628.              SENSES
  629.              WEIGHT
  630.              DAMAGE
  631.              AVOIDANCE
  632.              SPELLS
  633.              WPN1
  634.              WPN2
  635.  
  636.           SET
  637.              NAME charname
  638.              STAT
  639.                 ST - FO value  (*1)
  640.              STBONUS statrollbonus
  641.              VISION rebatepercent  (*3)
  642.              CARGOWT kilograms  (*1)
  643.              CARGOEF factor  (*1)
  644.              DAMAGE currentdamage  (*4)
  645.              HEALDICE value
  646.              HEALPTS value
  647.              BLESS permavoidbonus
  648.              AVBONUS avoidrollbonus
  649.              READYWPN readynumber  (*3) (either 1 or 2)
  650.                 NUM weaponline          (from 1 - 15)
  651.                 TGTRANGE meters
  652.                 TGTRESIST value
  653.                 HITBONUS value
  654.              STRATEGIC modnumber value
  655.              SKILL skillline  (*2)      (from 1 - 43)
  656.                 NUM chartnumber         (loads defaults from chart)
  657.                 NAME skillname
  658.                 PRIME primenumber       (prime stats 1 - 4)
  659.                    DEFAULT              (use default stat from chart)
  660.                    ST - FO
  661.                    abilitynumber
  662.                 WEIGHT primenumber
  663.                    DEFAULT              (use default weight from chart)
  664.                    value
  665.                 TP trainingpoints
  666.              SKBONUS skillrollbonus
  667.              WEAPON weaponline  (*3)    (from 1 - 15)
  668.                 NUM chartnumber         (loads defaults from chart)
  669.                 NAME weaponname
  670.                 HITBONUS value
  671.                 DMGBONUS value
  672.                 SKILL value
  673.                 STRENGTH value
  674.                 SCOPE value
  675.              ARMORLAYER value  (*1)     (from 1 - 4)
  676.                 NUM chartnumber         (loads defaults from chart)
  677.                 NAME armorname
  678.                 BONUS value
  679.                 WT kilograms
  680.                 EF factor
  681.                 WORN Y|N
  682.              SHIELD value
  683.              NDICE value
  684.              DIESIZE value
  685.              CURRDISP                   (causes recalc all & redisplay)
  686.                 MAIN
  687.                 SKILLS
  688.                 WEAPONS
  689.                 ARMOR
  690.              CHANGED Y|N                (whether to prompt user for save)
  691.              FILE filename              (full path of character file)
  692.              PCPATH directory           (default location of char files)
  693.              PRTPATH printfile          (default print format file)
  694.  
  695.           GET                           (returns requested value in RESULT)
  696.              all SET keywords (sans last argument) plus...
  697.              REALAG                     (base unencumbered agility)
  698.              REALCO                     (base unencumbered coordination)
  699.              REACTION                   (reaction-time adjustment)
  700.              PERCEPTION                 (base perception)
  701.              MOVE                       (base movement rate)
  702.              LIFT                       (max liftable weight)
  703.              ARMORNETWT                 (effective weight of armor)
  704.              CARGONETWT                 (effective carried weight)
  705.              ENCUMBRANCE                (percent of encumbrance)
  706.              MAXDAMAGE                  (fully-healed damage points)
  707.              CONDITION                  ("Unhurt","Scratched",etc.)
  708.              AVOIDANCE                  (total avoidance roll percentage)
  709.                 AREAATTACK
  710.                 POINTATTACK
  711.                 NECROMANTIC
  712.                 DOMINATION
  713.                 DECEPTION
  714.              RESISTANCE weapontype      (from 1 - 17)
  715.                 FULL
  716.                 NOSHIELD
  717.                 SURPRISED
  718.              READYWPN readynumber       (in addition to SET keywords)
  719.                 INIT
  720.                 SPEED
  721.                 STRBONUS
  722.                 RANGE rangenumber       (1=point blank - 5=extreme)
  723.                 HITCHANCE rangenumber
  724.                 DAMAGE rangenumber
  725.              STRATPTS
  726.              SKILL skillline            (in addition to SET keywords)
  727.                 AVG                     (average weighted prime stat value)
  728.                 NTP                     (training pts for next level)
  729.                 PCT                     (current skill percentage)
  730.                 FACLVLS                 (factored levels)
  731.                 LEVEL                   (current skill level)
  732.              SLOT                       (loaded character position number)
  733.              NCHARS                     (number of characters loaded)
  734.              NSKILLS                    (number of entries in Skills.Dat)
  735.              NWEAPONS                   (entries in Weapons.Dat)
  736.              NARMORS                    (entries in Armor.Dat)
  737.  
  738.      *1: Recalc all after changing
  739.      *2: Recalc skills after changing
  740.      *3: Recalc weapons after changing
  741.      *4: Recalc damage after changing
  742.  
  743.      Examples:
  744.           select name fred
  745.           set stat st 100
  746.           set skill 4 num 10
  747.           set skill 4 prime 1 st
  748.           set skill 4 weight 1 1
  749.           get skill 4 num
  750.           get skill 4 weight 1
  751.           get readywpn 1 range 1
  752.           get resist 14 full
  753.           roll avoid area
  754.           roll hit 1
  755.           window damage open 20 20
  756.           window senses o
  757.           w wpn1 c
  758.           recalc all
  759.           redisp
  760.           project load fredfile
  761.           pr l df0:fredfile
  762.           p q
  763.  
  764.  
  765.  
  766. 4.  Customization
  767. -----------------
  768.  
  769. 4.1  Philosophy
  770.  
  771.      Energion is not intended to be a complete set of rules detailing
  772. everything needed to run a campaign, nor is the gamemaster intended to be
  773. locked into any particular set way of doing things.  It's meant more as a
  774. skeletal set of basic rules which the gamemaster can use to implement
  775. his/her own idea of a fun campaign universe.  The gamemaster is encouraged
  776. to customize things to suit.  Accordingly, Player attempts to give the
  777. gamemaster as much design freedom as possible.  All of the data which Player
  778. uses and generates is stored in easily customized plain ASCII text files. 
  779. Gamemasters are encouraged and expected to add/delete/tailor skills,
  780. weapons, and armor as appropriate for their own campaigns.
  781.  
  782.  
  783. 4.2  General data file format
  784.  
  785.      The first item on the first line of the file must be the number of
  786. skills, weapons, or armor types in the file.  Player uses this value to
  787. compute how much memory to allocate before reading in the rest of the data. 
  788. The rest of the first line is ignored, and is generally used for column
  789. title comments.
  790.  
  791.      The rest of the file is read as a free-form series of data items,
  792. separated by any number of commas, blanks, tabs, newlines, carriage returns,
  793. and/or formfeeds.  It's generally easier to maintain the file if you put one
  794. skill or whatever per line, but Player doesn't really care how the data is
  795. arranged as long as it's all there in the right sequence.
  796.  
  797.      Text items which contain embedded commas, blanks, or tabs must be
  798. enclosed in either single or double quotation marks.  Text items which
  799. contain quotation marks must be enclosed in the other kind of quotation
  800. marks.  Other items may be placed in quotes if you like, but it doesn't
  801. matter.
  802.  
  803.      Fair warning: Player does almost no error checking or validation of
  804. data items while reading the data files.  If Player reads a text string when
  805. it expects a number, it will generally be interpreted as a 0.  Messing up
  806. the data files can lead to some pretty bizarre errors, so be careful.  As
  807. long as you stick to the format of the distributed data files you should be
  808. OK.
  809.  
  810.  
  811. 4.3  Skills data file format
  812.  
  813.      Each skill in the file is described by the following list of items:
  814.  
  815.           Skill number: Ignored by Player, which counts the skills as it
  816.      reads them.  Only provided for humans to read, but must be present.
  817.  
  818.           Skill name: The first letter flags what type of skill this is; use
  819.      P, M, A, or O for Physical, Mental, Ability, or Other as appropriate. 
  820.      The second letter is ignored, and the rest of the string is the default
  821.      skill name.
  822.  
  823.           Base TP: Number of training points required for a character with
  824.      average primes of 100 to reach first level, multiplied by 100.
  825.  
  826.           Base skill percentage: Self-explanatory.
  827.  
  828.           Skill gained per level: Also self-explanatory, except values are
  829.      multiplied by 10 to allow one decimal place without floating point.
  830.  
  831.           Level factor: Percentage of skill level counted towards total
  832.      factored levels.
  833.  
  834.           Default prime stats: Use the standard stat name abbreviation, or
  835.      "--" if the stat is unknown or non-applicable.  Non-ability skills can
  836.      also specify the skill number of an ability, in order to use the
  837.      character's skill percentage in that ability as a prime stat.  All four
  838.      potential prime stats must be specified.
  839.  
  840.           Prime stat weighting factors: Normally, a weight of 1 means that
  841.      the corresponding prime stat slot is used, and a weight of 0 means the
  842.      stat slot isn't used.  Optionally, the gamemaster may use weights
  843.      greater than 1 to adjust the relative importance of each stat to the
  844.      overall prime stat average.
  845.  
  846.           Spell level prime stats: Allows the gamemaster to use different
  847.      stats to determine the daily spell levels multiplier than are used for
  848.      TP calculations.  Use the same notation as for prime stats.  If no
  849.      stats are specified the general prime stats are used.  Only relevant
  850.      for magic-related skills.
  851.  
  852.  
  853. 4.4  Weapons data file format
  854.  
  855.      Each weapon is described by the following list of items:
  856.  
  857.           Weapon number: Ignored by Player, the same as for skills.
  858.  
  859.           Weapon name: Self-explanatory.
  860.  
  861.           Weapon type: Which of the 17 basic weapon types this one fits.
  862.  
  863.           Handedness: Whether used 1 or 2 handed.
  864.  
  865.           Mechanical: 0 for non-mechanical weapons, meaning those powered
  866.      directly by the character's muscles, like a sword.  1 for mechanical
  867.      weapons which are self-powered once activated, like a bow.
  868.  
  869.           Base initiative: Average number of seconds for a totally average
  870.      person to prepare the weapon for use from a completely-unprepared
  871.      state.
  872.  
  873.           Base speed: Average number of seconds between useful attacks when
  874.      wielded by a totally average person.
  875.  
  876.           Base ranges: The normal average-strength range in meters for each
  877.      of the 5 weapon range categories.  Use 0 for touch-range weapons, like
  878.      swords, and use -1 for non-applicable ranges.
  879.  
  880.           Base damage: Average number of points of damage done by the weapon
  881.      at short range when used by a totally average person.
  882.  
  883.           Default strength: Default weapon strength to use when entering new
  884.      weapons into Player.  For mechanical weapons, 0 means to default to a
  885.      hard-coded value of the character's ST; this assumes that the character
  886.      will buy a bow (or whatever) of the maximum strength they can properly
  887.      use.  For non-mechanical weapons, 0 means to default to a 0 in the
  888.      weapon editing box, which causes Player to use the character's current
  889.      ST whenever the weapon is used.  For any weapon, a non-zero value means
  890.      to default to that hard-coded strength value for the weapon; this is
  891.      useful for weapons which have innate strengths which make it irrelevant
  892.      how strong the character is, like firearms.
  893.  
  894.  
  895. 4.5  Armor data file format
  896.  
  897.      Each type of armor in the file is described by the following items:
  898.  
  899.           Armor number: Ignored by Player, as for skills and weapons.
  900.  
  901.           Armor name: Self-explanatory.
  902.  
  903.           Resistances: A set of 17 values giving the resistance of this kind
  904.      of armor to each of the 17 basic categories of weapon.
  905.  
  906.           Armor weight: The weight in kilograms of an average, normal
  907.      quality set of this kind of armor, fitted for an average-size human. 
  908.      Multiplied by 10 to allow one decimal place without getting stuck with
  909.      floating-point numbers.
  910.  
  911.           Armor encumbrance factor: The encumbrance factor of this style of
  912.      armor; i.e. how well distributed is the weight, how much does it hamper
  913.      normal activities, etc.  A value of 1 is equivalent to dead-lifting
  914.      that much weight above your head and carrying it around, while 5 means
  915.      the armor fits like skin.  Once again, multiplied by 10.  Must NOT
  916.      equal zero.
  917.  
  918.  
  919. 4.6  Character sheet format file
  920.  
  921.      The character sheet format file is not a standard-format data file like
  922. those described above.  It's a special kind of merge file used by Player
  923. when printing a character.  The first line of the file gives the filename to
  924. print the character sheet to; this is usually either PRT:, PAR:, or SER:,
  925. but could just as easily be any other valid filename.  The remainder of the
  926. file is a series of 'C' language "printf" style format lines.  Player goes
  927. through the file, copying those lines which don't contain any spots for
  928. variables straight to the output, and using the other lines to format and
  929. print the variables involved in printing the character sheet.  You can make
  930. any changes you want to this file, so long as you don't change the sequence,
  931. grouping, or expected data type of the variable formatting codes in the
  932. file.  For instance, the first line which contains a formatting code must be
  933. ready to print a text string variable, namely the character's name.  The
  934. next line which contains formatting codes must be ready to print 4 decimal
  935. integers, namely the character's ST and HE stats and bonuses.  As long as
  936. the variables which Player expects to print can be printed in the expected
  937. sequence and groupings, you can change anything you want.  You can change
  938. the width of the printed fields, the background text or notes contained in
  939. the line, the control codes used, etc.  Basically, you have total control
  940. over the fine details of the character sheet, as long as you stick to the
  941. same overall design.
  942.  
  943.  
  944.  
  945. 5.  Upgrades, bug fixes, related Energion info, and other support
  946. -----------------------------------------------------------------
  947.  
  948. 5.1  Energion Support BBS
  949.  
  950.      You may send enhancement suggestions, bug reports, or questions to the
  951. Energion support BBS, The Wind Dragon Inn.  You can also obtain future
  952. versions of this program, other useful Energion support software, and
  953. Energion-related text files and articles, or participate in Energion or
  954. general FRP discussion areas.  This is the best way to contact us; messages
  955. are usually answered within one or two days.  The number is:
  956.  
  957.                             The Wind Dragon Inn
  958.                    402-291-8053 (FidoNet node 1:14/614)
  959.                       300/1200/2400 bps, 8N1, 24 hrs.
  960.  
  961.      P.S.: The Wind Dragon Inn also features one of the better libraries of
  962. general Amiga PD software in the MidWest, so it may be worth a call even if
  963. you aren't looking for more Energion info!
  964.  
  965.  
  966. 5.2  Energion Publications mailing address
  967.  
  968.      Those of you who can't call our BBS may send correspondence to:
  969.  
  970.                            Energion Publications
  971.                                P.O. Box 1147
  972.                             Bellevue, NE  68005
  973.  
  974.      However, there are currently no plans for distributing free software or
  975. text files via the mail.  This address is intended primarily for placing
  976. orders; other inquiries will be answered as time permits.
  977.  
  978.  
  979. 5.3  Future plans
  980.  
  981.      There are a lot of major enhancements to Player in the works; this is
  982. the program which we use for our own games, so it will automatically
  983. receive a lot of attention and work.  Next on my list is a tactical
  984. situation display capability, which will show where characters are in
  985. relation to each other and to other objects, handle automatic movement, do
  986. range/area-of-effect/line-of-sight calculations, etc.  Kind of an
  987. intelligent tactical display map to go with the intelligent character
  988. sheet.  And in the future I'd like to implement some kind of simple
  989. networking to allow multiple copies of Player to exchange info so that they
  990. can automatically roll hits against each other's characters, show each
  991. other's characters in a shared tactical display, and generally act as
  992. intelligent gaming workstations.
  993.  
  994.      And of course, other Energion software and information will be
  995. appearing regularly on our BBS along with future versions of Player, so be
  996. sure to keep in touch.  And if you come up with anything which might be
  997. useful to other Energion players, be sure to upload it; the more goodies
  998. people upload, the more goodies will be available for download.
  999.  
  1000.  
  1001. 5.4  Version History
  1002.  
  1003.      1.00, 5-30-88: Playtesting version, not fit for public distribution.
  1004.  
  1005.      2.00, 8-28-88: First publicly distributed version; complete rewrite,
  1006. with fixes and enhancements too numerous to mention.
  1007.  
  1008.      2.10, 9-14-88: Added ARexx interface and command language.
  1009.