home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
167.lha
/
Player
/
Player.Doc
< prev
next >
Wrap
Text File
|
1988-04-28
|
50KB
|
1,009 lines
Player: The Energion Character Playing Program
Version 2.10, 9-14-88
Copyright © 1988 Rick Huebner
Reproduction and distribution encouraged
0. Administrivia (let's get it over with early)
-----------------
0.1 Copyright & distribution notices
This document and the program it accompanies are Copyright © 1988 Rick
Huebner. However, you are hereby granted permission to distribute and use
this material freely. I'm not keeping the copyright in order to restrict
distribution, but only to allow myself to keep ownership of the program and
control over future versions. You may consider this software to be real
freeware, i.e. really free, no strings attached. Not quite public domain,
but close enough for most purposes. Please post this on RPG and Amiga
BBS's, include it in appropriate software libraries, etc.
0.2 Warranty
There isn't one. This is a gift, not a commercial product. However, I
have tested this software pretty thoroughly, and I use it myself constantly,
so it shouldn't cause anybody any big problems. If this software does
somehow cause serious problems (though I can't imagine how it might), please
contact me (see section 5), and I'll try to fix it ASAP. That's a better
support policy than you usually get when you pay for it.
1. So what is this thing, anyway?
----------------------------------
1.1 What is Player?
Player is a utility program to help with the creation, play, and
maintenance of Energion characters. It is not, in itself, a game, but is
rather a utility program which helps you to play a game (Energion).
1.2 (sigh) OK, so what's Energion?
Energion is a fantasy role-playing game (FRPG) rules system which
allows you to create fantasy characters and simulate their lives (or
deaths), adventures, and exploits. It's similar in purpose to other RPGs
such as Dungeons and Dragons(tm), RuneQuest(tm), Chivalry and Sorcery(tm),
etc. It provides rules to handle the description of a character's
capabilities and skills, and the effects of magic and combat. However,
Energion's special emphasis is on in-character realism and easy rules
computerization.
In-character realism means that as much as possible, Energion tries to
make the results of a character's actions self-consistent and logical within
the character's game universe. For example, a warrior does not instantly
become much more powerful by killing a monster or grabbing treasure; a
warrior gains skill through training and practice. There are as few
arbitrary restrictions and limitations as possible; the only limitations
should be those dictated by common sense and the physics of the game
universe. There's no rational reason why a character can't be expert both
at picking locks and fighting, for instance, so Energion has no rigidly
stereotyped character classes. Instead, there are skills of varying
difficulties and capabilities, which may be learned by any sentient creature
who invests enough time and effort into the task.
Easy rules computerization means that where possible, Energion uses
simple, smoothly-progressing mathematical formulas rather than look-up
charts full of arbitrary numbers. Exceptions and special case rules are
minimized. Energion characters can be stored, updated, and possibly even
played using standard spreadsheet programs. Gaming utilities are much
easier to write than for most other RPG systems, even in "stupid" languages
such as primitive versions of BASIC. This makes it easier to automate a lot
of the drudgery of role-playing games, like Player does.
1.3 But what does Player *do*?
One of the biggest hassles of serious role-playing games is maintaining
and updating the records of all your characters. The second-worst annoyance
is usually the mechanics of the game system itself during play; rolling
dice, computing hits, keeping track of damage points, etc. Player is
designed to make the bookkeeping and game mechanics of Energion as easy and
unobtrusive as possible, to allow you to spend more time thinking, planning,
and playing your characters, and less time messing with dice, papers, rule
books, and calculators.
Using Player, a single player can easily maintain records for a score
of characters, and run an entire medium-sized adventuring party complete
with henchmen, where before they had their hands full playing a single PC.
A gamemaster can use Player to run groups of NPCs during encounters, and to
maintain records with much more detail than would be practical by hand.
Player also makes certain kinds of normally impractical game play playable;
how often have you had to stop game play for several minutes in the middle
of a hot encounter because a PC lost half his levels to an undead and the
poor player had to refigure most of the character sheet in mid-hack? What's
worse, how often have you gamemasters screwed around with what ought to
happen in order to avoid having to handle such out-of-character logistical
nightmares?
Player takes the form of a computerized character record sheet. You
enter your character's stats, training points, weapons, etc., and Player
automatically figures out their current skill levels, hit chances, avoidance
rolls, and such. Player provides gadgets for automatically rolling and
computing most anything needed during game play. Characters are stored as
disk files, and can be easily updated and maintained. When your character
earns more training points, you just enter them in, and Player automatically
handles going up levels and computes in all the side effects. Player can
handle up to 20 characters loaded at one time, and allows you to quickly
switch between them so you can play multiple characters at once.
Even if you don't have an Amiga available during games, Player can be
used to keep track of your characters, with filled-in character sheets being
printed out for use during play. A gamemaster with an Amiga could maintain
the character files for the rest of the gaming group, and generate updated
character sheets as needed for the players. And even if you don't use the
Energion rules system, it might be worth your while to fire Player up once
and play with it a bit, just to see what you're missing; a seasoned fantasy
gamer will be able to get a pretty good idea of what the Energion system is
like by twiddling with Player for a while, and you may decide to give it a
try. It would be immodest to claim that you'll be tempted to switch game
systems just so you can use Player, but it's true. B-)
2. Installation
----------------
2.1 Required files
Player requires that three files be available in order to run: the
skills, weapons, and armor data files. The names and locations of these
files can be set by you, but they default to Skills.Dat, Weapons.Dat, and
Armor.Dat, all in the current directory. You'll also need a character sheet
print format file, default name Player.Prt, in order to produce printed
character sheets. These default names, and a couple of other operating
parameters, may be overridden by providing a Player configuration file
(Player.Cfg).
2.2 Player configuration file
When Player first starts up, it'll look for a configuration file called
Player.Cfg, first in the current directory, and then in S:. If found, this
file will tell Player what screen colors to use, and where to find the other
necessary files. If Player.Cfg is not found, Player will use a set of
built-in defaults, as specified above. Therefore, if you store Player in a
directory in your CLI command search path, and you store Player.Cfg in S:,
you can run Player from any directory you want without problems.
Alternatively, you can just throw all the Player files together in a single
directory, and always run it from there, and not bother with Player.Cfg at
all. An example Player.Cfg which assumes all the Player files are kept on a
disk (or ASSIGNed directory) called Player: has been provided.
2.3 Player startup script
If you have ARexx, Player will attempt to execute the ARexx script
Startup.Player when it starts. If this script doesn't exist, Player just
ignores the error and goes on. This allows you to provide an automatically
executed startup script for Player if you choose. ARexx will look for this
script in the same standard locations as for any other script file, so
you'll probably want to store this file in your assigned Rexx: directory.
The script will begin execution with an implied "address player" command,
so you can immediately begin issuing Player commands. An example
Startup.Player script has been provided (which will need to be renamed due
to ARC limits).
2.4 Character sheet format file
The Print Character menu option uses a character sheet format file to
lay out the format of the finished character sheet. This format file
consists of a series of 'C' language "printf" format lines which are used by
Player while printing your character sheet. The first line of the format
file gives the name of the file to print the finished character sheet to.
The example format file provided is set up to print to the PRT: printer
device, and the file therefore uses embedded PRT: device control escape
codes to do things like turn underlining on and off. If you have a good
Preferences printer driver installed, and Preferences is set up properly,
this should work fine for you. However, if you don't have a good printer
driver available, or if you want to use some fancy feature of your printer
which Preferences doesn't support, you can edit the format file with any
standard ASCII text editor and redefine things as necessary. Just change
the first line to PAR: (or SER:) to bypass the PRT: device, and change the
PRT: device control codes to whatever your printer understands. All
standard 'C' language '\' escape codes are recognized, plus the code '\e'
for the Escape character. See section 4.6 for more details on customizing
this file.
3. Usage
---------
3.1 General usage instructions
Player is quite easy to use. Under normal manual operation, it works
totally through the standard Amiga Intuition user interface (many thanks to
RJ Mical!), and is almost completely mouse-driven with the standard menu
commands, click buttons, and pop-up windows one expects on the Amiga.
Basically, if you think something might do something, just click on it with
the mouse to see. For example, to roll an avoidance roll, just click on
the place on the character display where the avoidance rolls are printed,
and an avoidance roll window will pop up. All gadgets use Intuition's
release-verify option, so if you just want to see if something is a
click-gadget without activating it, you can hold the left mouse button down
to highlight the click zone, and then move the mouse pointer out of the
highlighted click zone before releasing the mouse button, and the gadget
will not be activated.
The only non-Intuitive (ahem) thing about the Player interface which I
can think of is the common practice of embedding string gadgets into the
text of a pop-up window to save space. For example, in the aforementioned
avoidance roll window, you'll notice that the Bonus value is blue, rather
than black. This means that the avoidance roll bonus value is actually a
string gadget, and may be clicked on and edited to enter any applicable
bonus or penalty to your avoidance roll before you click on the appropriate
selection button. Player always uses black text for normal print, and blue
text for string gadgets, so you should be able to recognize these if you
look for them. Since these are all standard Intuition string gadgets, all
of the normal editing keys are available (right-Amiga-X & Q, shift left &
right arrows, etc.). One thing which you must remember about all string
gadgets in Player is that changes which you make will not be noticed until
you hit the return key. If you click on a string gadget, edit it, and then
click somewhere else before hitting return, your changes will not take
effect.
For automated operation, Player has a full-blown ARexx script language
interface. This allows you to do just about anything from an ARexx script
which can be done manually, plus use the ARexx programming language to
automatically perform complicated or repetitive gaming chores, like rolling
up new characters or performing major surgery on skills. Gamemasters can,
with the right combination of cleverness and lazyness, use the script
language to handle such things as mass combat or even a bit of "artificial
stupidity" for NPC's. Some example ARexx scripts have been included, and
more will most certainly be posted on our support BBS in the future.
3.2 Command line startup
Player can be started from the CLI command line either directly or
with the RUN command, and should work fine with around 4K of stack or more.
STDIN and STDOUT ("<" and ">") are not used unless an error prevents Player
from starting properly, or when ARexx reports an error in a script, so
RUNBACK should usually work as well. Player accepts the names of character
files to be immediately loaded upon startup as command line arguments.
These arguments are processed before Player attempts to invoke the
Startup.Player ARexx macro (if any).
Player would probably run fine from the WorkBench if you attached an
icon to it, but I only see the WorkBench maybe once a month, so I haven't
bothered to provide one. If you need one, go for it.
3.3 Menu options
The following menu options are provided by the Project menu. They
allow you to perform all the standard loading and saving operations you'd
expect:
New character: Loads a new empty character sheet, which you can
then edit to enter a new character into Player.
Load character: Loads a previously-saved character file from disk.
See the notes below for info about using the file requester.
Unload character: Unloads the currently displayed character from
Player's memory. Does NOT delete or otherwise affect any saved disk
files. If you've edited any of the fundamental data for your character
without saving yet ("unsaved" will be shown in title bar), Player will
verify that you really want to discard your changes.
Save character: Saves the currently displayed character to disk.
If Player knows the filename for this character already (from a
previous Load or Save As operation), the old file will be automatically
overwritten with the new data. If Player doesn't know the filename yet
(new character), this option acts as a Save As.
Save character as...: Also saves the currently displayed character
to disk, but prompts for the file name to use first. If there's
already a file with the name you give, Player will verify that you
really want to overwrite the old file.
Print character: Prints out a filled-in character sheet for the
currently displayed character. Player first looks for a character
sheet format file with the same name as the character's file but with a
".PRT" suffix, and then defaults to the generic format file whose name
was specified in Player.Cfg. This allows you to make customized
character sheet format files for your characters, with the notes and
personal data filled in. WARNING: Due to a bug in the Manx 'C' fopen()
function, if you have printer problems while Player is trying to open
the printer device Player will lock up. Once the printout has started
everything is fine, and you'll be able to abort out of any printer
problems as expected. Make sure your printer is ready before starting
a print!
About Player: Displays the obligatory boring copyright notice and
version information, and a reminder of our BBS number. Since I'm
planning on producing a steady stream of new versions for a long time
to come, this option will mainly be useful for finding out how outdated
whatever version you're currently using is.
Quit: Unloads all currently loaded characters, and then halts
Player. Equal to clicking on the main window's close gadget.
A few notes about the file requester are in order here. The file
requester is completely "live", meaning that you can go ahead and start
doing things as soon as it shows up, without having to wait for it to finish
reading the directory. In order to reduce the amount of mouse-tag required
while the list is being updated, the list will stop updating if you click in
it. You can restart the updates by clicking anywhere in the requester
background, outside of the gadgets. The string gadget box at the top is for
the directory to list; you may click in this box to type a new directory
name, or you may click on a listed directory name to enter it into this box
automatically. Hitting return within this box, or double-clicking a listed
directory name, causes the requester to list the files in the new directory.
The center box lists the files and/or subdirectories found within the
directory being listed. Subdirectories are printed in red, and normal files
are printed in black. The lower string gadget box is for the name of the
file to be loaded or saved; as with the directory box, you may click in this
box to type a filename, or you may click on a listed file name to enter it
automatically. Hitting return within this box, or double-clicking a listed
file name, finishes the file requester's job and is equivalent to clicking
on the Load/Save button after entering the name.
3.4 Control buttons
Once you've loaded a character into Player, you'll see the main page
of the character sheet. Across the bottom of every page there's a row of
control buttons. The buttons control those functions which need to be
available at all times, no matter which page of the character sheet is
currently displayed.
Main: Displays the main page of the character sheet. The main
page is the general-purpose quick-reference summary of the entire
character, where you'll spend most of your time during games.
Skills: Displays the skills page of the character sheet. This
page is simply a list of all those skills which your character
possesses, with a summary of data about each skill.
Weapons: Displays the weapons page. This page lists the weapons
which your character has available to use, with relevant info about
each.
Armor: Displays the armor page. This page displays info about the
armor the character has available.
Dice: Pops up a dice-rolling window. This window provides three
buttons: 1d10, 1d100, and a customizable whateveryouwant button. The
left string gadget within the custom button controls how many dice the
button will roll, and the right string gadget controls what size each
die will be. Click on the rest of the button outside of the string
gadgets to roll again.
Edit: Toggles Player between play and edit modes. In play mode
(the usual state), Player does things needed while playing your
character during a game, like roll hits or select which weapons you're
using. In edit mode, Player lets you edit and update the fundamental
data about your character, like stat values and what weapons are
available. See the appropriate sections below for more data on exactly
what can be done in each mode.
Select: Lets you select which of the currently loaded characters
you wish to work with at the moment, from a list of names. Just click
on the one you want to switch to.
Prev: Switches to the previous character in the stack of loaded
characters. Wraps around from the beginning of the list to the end if
necessary.
Next: Switches to the next character in the stack, wrapping around
to the beginning of the list if necessary.
3.5 Play-mode functions
These are the functions which Player can perform while in play mode
(Edit button turned off):
Main page: The main page is divided into several info boxes. Some
of these boxes are only for displaying info, such as the movement rates
box. Others act as triggers for relevant pop-up windows to perform
game-related rolls and calculations, as follows:
Stat rolls: The Stats box brings up the stat roll window.
Stat rolls are generic rolls against your character's stats, used
at the gamemaster's discretion (for example, "Roll under half your
agility to prevent slipping on the ice"). Sometimes these rolls
are pass/fail, sometimes you need to make it by at least a certain
margin, and other times you need to make it within a certain
percentage of the stat. This window displays results using all of
the above methods. The Bonus value is a string gadget, and may be
edited to apply any relevant bonus or penalty before rolling.
Perception/reaction rolls: The Senses box brings up the
Perception/Reaction time roll window. Click on the appropriate
button, and Player will tell you what category of perception roll
you made, or how long you are delayed due to surprise.
Weight carried accounting: The Weight box brings up the
weight carried adjustment window. This is where you specify how
much weight your character is carrying, other than the armor being
worn. Player will compute how encumbered this makes the
character, and penalize their AG and CO accordingly.
Damage point accounting: This box brings up a window which
lets you adjust your character's current damage points. A dice
rolling button for healing spells is provided, which will roll any
number of d10 required. Click in the string gadget to set how
many dice to roll, or click in the rest of the button to roll
again. The Change By string gadget lets you adjust your
character's damage points by any specific amount required; usually
you'll enter a negative number here to apply damage, and then
click on the Heal button to heal again.
Avoidance rolls: The avoidance roll box brings up a window
which (surprise!) lets you attempt avoidance rolls. Both the
pass/fail margin and the damage multiplier are displayed for use
as appropriate. Note the ubiquitous Bonus string gadget.
Spell level accounting: The Spells box brings up a window for
adjusting how many spell levels you have on tap for magic-related
skills. When levels are used, use the relevant string gadget to
subtract them. As time passes, use the Recover string gadget to
let Player compute your recharge progress.
Weapon hit rolls: Last but not least, both of the two
weapons-in-hand boxes bring up a hit roll window. Use the target
range and target resistance string gadgets to prepare for the
attack, and then click the Attack button. If you hit, Player will
display the hit quality and net damage inflicted. Use the Bonus
string gadget to apply special adjustments for relative motion,
target size, etc.
Skills page: The skills page lists one skill per line. Click on
any skill line to bring up the skill roll window, which will allow you
to attempt a roll against that skill percentage. 'Nuff said.
Weapons page: The weapons page lets you select which weapons are
considered in-hand and ready to use. Just click on the weapon info to
toggle the readiness status. The main page only has room for two ready
weapons at once, so if two weapons are already selected, you have to
toggle one of them off before you can toggle another one on.
Armor page: The armor page lets you select which sets or layers of
armor your character is currently wearing. Click on the armor info
column to toggle it on and off. The weight of all armor being worn
will be computed, and appropriate penalties applied to AG and CO as
required.
3.6 Edit-mode functions
These are the things which Player will let you change while in edit
mode (Edit button turned on):
Main page: As in play mode, several of the info boxes on the main
page bring up windows when clicked:
Name & stats: Clicking on the Stats box brings up a window
which lets you edit the character's name and stat values. Pretty
straightforward.
Vision penalty rebate: Clicking on the Senses box lets you
edit the character's vision penalty rebate value. If you use
Energion's optional rules for applying hit chance penalties at
range, you should set this value as appropriate to the character's
race. If you aren't using those rules, you should set this value
to 100 to eliminate the vision penalty entirely.
Avoidance roll bonus: Clicking on the avoidance roll box lets
you edit your character's avoidance roll bonus value. Since the
only way for a character to get a general-purpose bonus to all
avoidance rolls is a special luck blessing from a god, that's what
the window asks for. The bonus string gadget within the play-mode
avoidance roll window is more appropriate for one-time special
circumstances modifiers.
Strategic point modifiers: Clicking in the bottom weapon info
box lets you edit the character's strategic point value modifiers.
These are part of some new optional rules we're playtesting, for
handling generalized mass combat at the strategic level. Until we
get those rules finalized and published, there's not much reason
to bother messing with these values.
Skills page: Once you get your character entered into Player, this
is where you'll do most of your maintenance. Click on a skill line and
the editing window will pop up. To enter a new skill, you first enter
the skill number from the Skills.Dat file. The rest of the values will
then be loaded with defaults from the data file. Edit the name of the
skill if necessary. Then fill in the prime stats to use for this
skill, chosen as specified in the skill description. Where possible,
Player will supply default prime stats. If there's no choice, Player
will fill in all of the stats (i.e. Spellcaster, Open Locks). Some
skills have both mandatory and chosen prime stats (i.e. Sneak, Hide) or
even all chosen stats (i.e. Combat), in which case Player will supply
those it can, and leave the remainder empty. You can detect this by
checking the stat weights; a weight of 0 means this stat is not used at
all, while a weight of 1 with a stat abbreviation of 0 means that this
stat is used, but Player doesn't know which stat it is yet. Prime stat
weights above 1 may be used at the gamemaster's discretion; these allow
the gamemaster to tailor how important each prime stat is to the
character's overall aptitude for the skill. Finally, enter either the
number of training points the character has earned in this skill, or
the skill level which the character has achieved. When you're finished
editing the skill, click the OK button to close the window, or click
the forward or backward buttons to proceed through the character's
skill list. NOTE: The first skill line must always be used to hold the
character's Combat skill (even if level 0), since that's where Player
will get the skill percentage when computing hit chances.
Weapons page: Click on a weapon info box to bring up the weapon
edit window. Enter a weapon number from the Weapons.Dat file to enter
a new weapon into the list, and then edit the other values as
necessary. The hit bonus value is the weapon's innate bonus to hit,
not counting strength or skill. Likewise, the damage bonus is the
weapon's innate bonus to damage. The strength of the weapon may be
specified as 0, which will cause the weapon to always be used with the
character's current ST (for hand-held melee weapons), or a specific
non-zero strength may be entered (for fixed-strength weapons like
crossbows [or rifles!] which don't get stronger even if the character
does). This allows Player to gracefully handle temporary changes to
the character's ST, like via a Mind-Master's hysterical strength
ability. The telescopic sights value is useful only if you are using
the optional range/vision penalty rules as mentioned above under Vision
Penalty Rebate. And finally, the skill value is the character's extra
skill with this specific class of weapon, if any.
Armor page: Click on an armor layer info column to edit the
character's armor, or click on the shield value display to edit that.
As with skills and weapons, to enter a new layer of armor you first
enter an armor chart entry number from the Armor.Dat file, and the
default values will be read in. The parameters for armor are pretty
much self-evident.
3.7 ARexx script language
Player checks for the availability of ARexx when it first comes up, by
attempting to open "libs:rexxsyslib.library". If it succeeds, Player
assumes that ARexx is available, attempts to invoke Startup.Player, and
prepares to receive Player commands from ARexx. If Player can't open the
library, it will assume ARexx isn't available and will disable all further
ARexx functions.
There is (currently) no way provided to invoke ARexx scripts directly
from within Player. Player scripts can be invoked from the CLI by using
the ARexx command "address player" to direct the commands in the script
file to the Player program. See the example ARexx scripts provided.
The general command syntax is very simple. A command is a string
consisting of one or more keywords (or unique abbreviations thereof) and
possibly argument values, separated by any number of blanks, commas, or
tabs. Quotation marks are never needed in the final command string which
gets sent to Player, since any time that a random-content string is allowed
(such as setting the character's name), it's at the end of the command line
and Player just uses the whole tail end of the line. This saves you from
messing with the often-confusing quotes-within-quotes problems which often
occur with ARexx commands. Once again, see the example scripts provided.
The following error codes may be returned by Player commands:
10: Unknown keyword ("get stat frog")
11: Non-unique keyword abbreviation ("get s")
12: No characters loaded
13: Too many characters loaded
14: Invalid argument value ("get armor 1386 name")
The complete list of available Player commands follows. Command names
are listed first, with all possible keywords indented below. Commands or
keywords are in upper case, and user-supplied variables are described in
lower case. Optional arguments are surrounded by brackets; all other
arguments are required.
LOCK (prevents manual intervention)
UNLOCK (reenables mouse & keyboard)
PROJECT
NEW (selects new character)
LOAD [filename] (prompts user if no name given)
UNLOAD (prompts user if unsaved changes)
SAVECHAR (prompts user if no filename set)
SAVEAS (prompts user no matter what)
PRINT
QUIT
SELECT (selects the current character)
SLOT charnumber (loaded character # from 1-20)
NAME charname (unique left substring of name)
RECALC
ALL
SKILLS
WEAPONS
DAMAGE
REDISPLAY (recalcs all and updates display)
ROLL (returns requested value in RESULT)
STAT
ST through FO (returns points made/failed by)
REACTION (returns seconds delay)
PERCEPTION (returns perception type made)
AVOIDANCE (returns points made/failed by)
AREAATTACK
POINTATTACK
NECROMANTIC
DOMINATION
DECEPTION
HIT readyweapon (damage done or MISS/FUMBLE/RANGE)
SKILL skillline (returns points made/failed by)
WINDOW
DICE
OPEN [x y]
CLOSE
SELECT
(same keywords for all windows)
STATS
SENSES
WEIGHT
DAMAGE
AVOIDANCE
SPELLS
WPN1
WPN2
SET
NAME charname
STAT
ST - FO value (*1)
STBONUS statrollbonus
VISION rebatepercent (*3)
CARGOWT kilograms (*1)
CARGOEF factor (*1)
DAMAGE currentdamage (*4)
HEALDICE value
HEALPTS value
BLESS permavoidbonus
AVBONUS avoidrollbonus
READYWPN readynumber (*3) (either 1 or 2)
NUM weaponline (from 1 - 15)
TGTRANGE meters
TGTRESIST value
HITBONUS value
STRATEGIC modnumber value
SKILL skillline (*2) (from 1 - 43)
NUM chartnumber (loads defaults from chart)
NAME skillname
PRIME primenumber (prime stats 1 - 4)
DEFAULT (use default stat from chart)
ST - FO
abilitynumber
WEIGHT primenumber
DEFAULT (use default weight from chart)
value
TP trainingpoints
SKBONUS skillrollbonus
WEAPON weaponline (*3) (from 1 - 15)
NUM chartnumber (loads defaults from chart)
NAME weaponname
HITBONUS value
DMGBONUS value
SKILL value
STRENGTH value
SCOPE value
ARMORLAYER value (*1) (from 1 - 4)
NUM chartnumber (loads defaults from chart)
NAME armorname
BONUS value
WT kilograms
EF factor
WORN Y|N
SHIELD value
NDICE value
DIESIZE value
CURRDISP (causes recalc all & redisplay)
MAIN
SKILLS
WEAPONS
ARMOR
CHANGED Y|N (whether to prompt user for save)
FILE filename (full path of character file)
PCPATH directory (default location of char files)
PRTPATH printfile (default print format file)
GET (returns requested value in RESULT)
all SET keywords (sans last argument) plus...
REALAG (base unencumbered agility)
REALCO (base unencumbered coordination)
REACTION (reaction-time adjustment)
PERCEPTION (base perception)
MOVE (base movement rate)
LIFT (max liftable weight)
ARMORNETWT (effective weight of armor)
CARGONETWT (effective carried weight)
ENCUMBRANCE (percent of encumbrance)
MAXDAMAGE (fully-healed damage points)
CONDITION ("Unhurt","Scratched",etc.)
AVOIDANCE (total avoidance roll percentage)
AREAATTACK
POINTATTACK
NECROMANTIC
DOMINATION
DECEPTION
RESISTANCE weapontype (from 1 - 17)
FULL
NOSHIELD
SURPRISED
READYWPN readynumber (in addition to SET keywords)
INIT
SPEED
STRBONUS
RANGE rangenumber (1=point blank - 5=extreme)
HITCHANCE rangenumber
DAMAGE rangenumber
STRATPTS
SKILL skillline (in addition to SET keywords)
AVG (average weighted prime stat value)
NTP (training pts for next level)
PCT (current skill percentage)
FACLVLS (factored levels)
LEVEL (current skill level)
SLOT (loaded character position number)
NCHARS (number of characters loaded)
NSKILLS (number of entries in Skills.Dat)
NWEAPONS (entries in Weapons.Dat)
NARMORS (entries in Armor.Dat)
*1: Recalc all after changing
*2: Recalc skills after changing
*3: Recalc weapons after changing
*4: Recalc damage after changing
Examples:
select name fred
set stat st 100
set skill 4 num 10
set skill 4 prime 1 st
set skill 4 weight 1 1
get skill 4 num
get skill 4 weight 1
get readywpn 1 range 1
get resist 14 full
roll avoid area
roll hit 1
window damage open 20 20
window senses o
w wpn1 c
recalc all
redisp
project load fredfile
pr l df0:fredfile
p q
4. Customization
-----------------
4.1 Philosophy
Energion is not intended to be a complete set of rules detailing
everything needed to run a campaign, nor is the gamemaster intended to be
locked into any particular set way of doing things. It's meant more as a
skeletal set of basic rules which the gamemaster can use to implement
his/her own idea of a fun campaign universe. The gamemaster is encouraged
to customize things to suit. Accordingly, Player attempts to give the
gamemaster as much design freedom as possible. All of the data which Player
uses and generates is stored in easily customized plain ASCII text files.
Gamemasters are encouraged and expected to add/delete/tailor skills,
weapons, and armor as appropriate for their own campaigns.
4.2 General data file format
The first item on the first line of the file must be the number of
skills, weapons, or armor types in the file. Player uses this value to
compute how much memory to allocate before reading in the rest of the data.
The rest of the first line is ignored, and is generally used for column
title comments.
The rest of the file is read as a free-form series of data items,
separated by any number of commas, blanks, tabs, newlines, carriage returns,
and/or formfeeds. It's generally easier to maintain the file if you put one
skill or whatever per line, but Player doesn't really care how the data is
arranged as long as it's all there in the right sequence.
Text items which contain embedded commas, blanks, or tabs must be
enclosed in either single or double quotation marks. Text items which
contain quotation marks must be enclosed in the other kind of quotation
marks. Other items may be placed in quotes if you like, but it doesn't
matter.
Fair warning: Player does almost no error checking or validation of
data items while reading the data files. If Player reads a text string when
it expects a number, it will generally be interpreted as a 0. Messing up
the data files can lead to some pretty bizarre errors, so be careful. As
long as you stick to the format of the distributed data files you should be
OK.
4.3 Skills data file format
Each skill in the file is described by the following list of items:
Skill number: Ignored by Player, which counts the skills as it
reads them. Only provided for humans to read, but must be present.
Skill name: The first letter flags what type of skill this is; use
P, M, A, or O for Physical, Mental, Ability, or Other as appropriate.
The second letter is ignored, and the rest of the string is the default
skill name.
Base TP: Number of training points required for a character with
average primes of 100 to reach first level, multiplied by 100.
Base skill percentage: Self-explanatory.
Skill gained per level: Also self-explanatory, except values are
multiplied by 10 to allow one decimal place without floating point.
Level factor: Percentage of skill level counted towards total
factored levels.
Default prime stats: Use the standard stat name abbreviation, or
"--" if the stat is unknown or non-applicable. Non-ability skills can
also specify the skill number of an ability, in order to use the
character's skill percentage in that ability as a prime stat. All four
potential prime stats must be specified.
Prime stat weighting factors: Normally, a weight of 1 means that
the corresponding prime stat slot is used, and a weight of 0 means the
stat slot isn't used. Optionally, the gamemaster may use weights
greater than 1 to adjust the relative importance of each stat to the
overall prime stat average.
Spell level prime stats: Allows the gamemaster to use different
stats to determine the daily spell levels multiplier than are used for
TP calculations. Use the same notation as for prime stats. If no
stats are specified the general prime stats are used. Only relevant
for magic-related skills.
4.4 Weapons data file format
Each weapon is described by the following list of items:
Weapon number: Ignored by Player, the same as for skills.
Weapon name: Self-explanatory.
Weapon type: Which of the 17 basic weapon types this one fits.
Handedness: Whether used 1 or 2 handed.
Mechanical: 0 for non-mechanical weapons, meaning those powered
directly by the character's muscles, like a sword. 1 for mechanical
weapons which are self-powered once activated, like a bow.
Base initiative: Average number of seconds for a totally average
person to prepare the weapon for use from a completely-unprepared
state.
Base speed: Average number of seconds between useful attacks when
wielded by a totally average person.
Base ranges: The normal average-strength range in meters for each
of the 5 weapon range categories. Use 0 for touch-range weapons, like
swords, and use -1 for non-applicable ranges.
Base damage: Average number of points of damage done by the weapon
at short range when used by a totally average person.
Default strength: Default weapon strength to use when entering new
weapons into Player. For mechanical weapons, 0 means to default to a
hard-coded value of the character's ST; this assumes that the character
will buy a bow (or whatever) of the maximum strength they can properly
use. For non-mechanical weapons, 0 means to default to a 0 in the
weapon editing box, which causes Player to use the character's current
ST whenever the weapon is used. For any weapon, a non-zero value means
to default to that hard-coded strength value for the weapon; this is
useful for weapons which have innate strengths which make it irrelevant
how strong the character is, like firearms.
4.5 Armor data file format
Each type of armor in the file is described by the following items:
Armor number: Ignored by Player, as for skills and weapons.
Armor name: Self-explanatory.
Resistances: A set of 17 values giving the resistance of this kind
of armor to each of the 17 basic categories of weapon.
Armor weight: The weight in kilograms of an average, normal
quality set of this kind of armor, fitted for an average-size human.
Multiplied by 10 to allow one decimal place without getting stuck with
floating-point numbers.
Armor encumbrance factor: The encumbrance factor of this style of
armor; i.e. how well distributed is the weight, how much does it hamper
normal activities, etc. A value of 1 is equivalent to dead-lifting
that much weight above your head and carrying it around, while 5 means
the armor fits like skin. Once again, multiplied by 10. Must NOT
equal zero.
4.6 Character sheet format file
The character sheet format file is not a standard-format data file like
those described above. It's a special kind of merge file used by Player
when printing a character. The first line of the file gives the filename to
print the character sheet to; this is usually either PRT:, PAR:, or SER:,
but could just as easily be any other valid filename. The remainder of the
file is a series of 'C' language "printf" style format lines. Player goes
through the file, copying those lines which don't contain any spots for
variables straight to the output, and using the other lines to format and
print the variables involved in printing the character sheet. You can make
any changes you want to this file, so long as you don't change the sequence,
grouping, or expected data type of the variable formatting codes in the
file. For instance, the first line which contains a formatting code must be
ready to print a text string variable, namely the character's name. The
next line which contains formatting codes must be ready to print 4 decimal
integers, namely the character's ST and HE stats and bonuses. As long as
the variables which Player expects to print can be printed in the expected
sequence and groupings, you can change anything you want. You can change
the width of the printed fields, the background text or notes contained in
the line, the control codes used, etc. Basically, you have total control
over the fine details of the character sheet, as long as you stick to the
same overall design.
5. Upgrades, bug fixes, related Energion info, and other support
-----------------------------------------------------------------
5.1 Energion Support BBS
You may send enhancement suggestions, bug reports, or questions to the
Energion support BBS, The Wind Dragon Inn. You can also obtain future
versions of this program, other useful Energion support software, and
Energion-related text files and articles, or participate in Energion or
general FRP discussion areas. This is the best way to contact us; messages
are usually answered within one or two days. The number is:
The Wind Dragon Inn
402-291-8053 (FidoNet node 1:14/614)
300/1200/2400 bps, 8N1, 24 hrs.
P.S.: The Wind Dragon Inn also features one of the better libraries of
general Amiga PD software in the MidWest, so it may be worth a call even if
you aren't looking for more Energion info!
5.2 Energion Publications mailing address
Those of you who can't call our BBS may send correspondence to:
Energion Publications
P.O. Box 1147
Bellevue, NE 68005
However, there are currently no plans for distributing free software or
text files via the mail. This address is intended primarily for placing
orders; other inquiries will be answered as time permits.
5.3 Future plans
There are a lot of major enhancements to Player in the works; this is
the program which we use for our own games, so it will automatically
receive a lot of attention and work. Next on my list is a tactical
situation display capability, which will show where characters are in
relation to each other and to other objects, handle automatic movement, do
range/area-of-effect/line-of-sight calculations, etc. Kind of an
intelligent tactical display map to go with the intelligent character
sheet. And in the future I'd like to implement some kind of simple
networking to allow multiple copies of Player to exchange info so that they
can automatically roll hits against each other's characters, show each
other's characters in a shared tactical display, and generally act as
intelligent gaming workstations.
And of course, other Energion software and information will be
appearing regularly on our BBS along with future versions of Player, so be
sure to keep in touch. And if you come up with anything which might be
useful to other Energion players, be sure to upload it; the more goodies
people upload, the more goodies will be available for download.
5.4 Version History
1.00, 5-30-88: Playtesting version, not fit for public distribution.
2.00, 8-28-88: First publicly distributed version; complete rewrite,
with fixes and enhancements too numerous to mention.
2.10, 9-14-88: Added ARexx interface and command language.