@database WormWars.guide
@author James R. Jacobs
@(c) © Amigan Software 1999. Freely distributable.
@node Main "Worm Wars 4.3 for Amiga"

                        @{b}#*=======================*#
                        #|   W O R M   W A R S   |#
                        #|     for the Amiga     |#
                        #|      Version 4.3      |#
                        #|  Sun 5 September 1999 |#
                        #|                       |#
                        #|   by James R. Jacobs  |#
                        #*=======================*#@{ub}

                            @{" Overview          " link Over}
                            @{" New Features      " link Feat}
                            @{" Usage             " link Usag}
                            @{" Other Information " link Info}

                            @{" Title Screen      " link Titl}
                            @{" Field Editor      " link Edit}
                            @{" How to Play       " link Play}
@endnode
@node Over "Overview"

Worm Wars is an advanced `snake' or `Tron' arcade game. It combines the
playability of the basic concept with 21 interesting object types,
6 species of creature, and other enhancements, for more diverse
and strategic gameplay.

One to four worms travel around a rectangular maze leaving a
deadly trail behind them, competing and sometimes cooperating with
other creatures, collecting letters to advance to the next level.

The integral field editor allows you to load, edit and save user
fieldsets, for greater lasting attraction. There is support for
playing MED and IFF 8SVX files as music and sound effects respectively.

It is enjoyable either for one player, or for competitive multiplayer
games, and demo mode is available. Amiga control can be specified for
any worm. Two keyboard players and one joystick player are supported.
It is system-friendly, style compliant and it multitasks.

It is available for the Amiga and for Windows 95/98/NT, and is portable
to other platforms.
@endnode
@node Feat "New Features"

    . New object: @{"clock" link Cloc}.
    . Isometric 3D support for Amiga.
	. AmigaOS 3.5-aware icon.
	. Edit menu.
@endnode
@node Usag "Usage"

    @{" System Requirements       " link Requ}
    @{" Installation and Startup  " link Inst}
@endnode
@node Requ "System Requirements"

Hardware@{ub}             Required        PAL capability
                                     about 256K free RAM
                                     about 2Mb disk space
                     Recommended     Colour monitor
                                     68020+
                                     Joystick
                                     Mouse
                                     about 1Mb free RAM
                                     Keyboard with numeric keypad
@{b}Firmware@{ub}             Required        Kickstart R2.04+
                                         exec.library V36+
                                         dos.library V37+
                                         gadtools.library V37+
                                         intuition.library V37+
@{b}Software@{ub}             Required        Workbench/CLI R2.04+
                                         asl.library V37+
                     Recommended     MEDPlayer.library (included)
                                         MultiView
                                         SetPatch
@endnode
@node Inst "Installation and Startup"

@{b}Installation and Uninstallation@{ub}

No Installer script is provided or required: simply copy
the @{b}WormWars/@{ub} directory and its contents to your preferred
installation location. It is suggested you move @{b}MEDPlayer.library@{ub}
to @{b}LIBS:@{ub}.

To uninstall, simply delete the @{b}WormWars/@{ub} directory and its contents.

@{b}Startup@{ub}

If the joyport cannot be allocated on startup, the blue worm cannot be
selected for human control.

The default behaviour is to load the music and sound effects automatically
at startup. The -f and -m CLI arguments prevent loading of the
sound effects and/or music respectively, until needed for use.

If the specified default fieldset cannot be loaded at startup,
@{b}WormWars.fset@{ub} is used instead. If it cannot be loaded, a blank,
five-level fieldset is used instead, with a treasury floored with silver.

@{b}Command Information@{ub}

                                  @{b}WormWars

Format:         WormWars@{ub} [-p=<@{i}priority@{ui}>] [-f|nofx] [-m|nomusic]
                [[file=]<@{i}fieldset@{ui}>]]

Template:       WORMWARS -F=NOFX/S,-M=NOMUSIC/S,-P=PRI/K/N,-O=OVERHEAD/S,
                FILE/F

@{b}Purpose:@{ub}        To run the Worm Wars game.

@{b}Specification:@{ub}  <@{i}priority@{ui}>: the priority that Worm Wars will
                            be run at. Higher priorities can help the game to
                            run closer to full speed. Lower priorities can help
                            the system multitask, by giving less processor time
                            to Worm Wars.

                            The allowable range is -128 to +5, with the default
                            being 0. A leading '+' for a positive number is
                            optional.

                -f:         don't bother loading sound effects until asked.

                -m:         don't bother loading music until asked.

                -o:         select overhead viewpoint at startup.

                <@{i}fieldset@{ui}>: the pathname of your default fieldset. This
                            is taken exactly as entered; an '@{b}.fset@{ub}'
                            extension is not automatically appended. This is
                            loaded relevant from the current directory. If no
                            argument is given, or your default fieldset cannot
                            be loaded, the default is @{b}WormWars.fset@{ub}.

                ?:          Displays the command line argument format, instead
                            of running the game.

                The order of the arguments are interchangeable.

@{b}Examples:       WormWars /foo.fset@{ub}              load @{b}foo.fset@{ub} from parent
                                                directory, and run at priority
                                                level 0
                @{b}WormWars@{ub} -f -p-3 @{b}bar.fset@{ub}       load @{b}bar.fset@{ub} from current
                                                directory, and run at priority
                                                level -3, without loading
                                                sound effects
                @{b}WormWars HD1:foo.fset@{ub} -m -f -p4 -o
					                            load @{b}foo.fset@{ub} from root
                                                directory of @{b}HD1:@{ub}, and run at
                                                priority level +4, without
                                                loading music or sound
                                                effects, and set overhead
                                                viewpoint
                @{b}WormWars@{ub} -p+5 @{b}/fsets/bar.fset@{ub}   load @{b}bar.fset@{ub} from @{b}fsets/@{ub}
                                                subdirectory of parent
                                                directory, and run at priority
                                                level +5
                @{b}WormWars@{ub} ?                      display command format

No Workbench ToolTypes are currently supported.
@endnode
@node Titl "Title Screen"

@{b}Keys@{ub}

Esc F1 F2 F3 F4 .. .. .. .. .. ..
.... 1 2 3 4 . . . . . . . . . <-   ... Hel   . . . .
..... Q . . . . . . I O . . . Ret             . . . .
... .. A S . F . . . . . . . . ur      .      4 . . .
Shift . . . . . . N M . . ? Shift    . . .    1 2 3 E
   .. .. -----Spacebar---- Am ..              -.- . n

@{b}1@{ub}-@{b}4@{ub} or @{b}F1@{ub}-@{b}F4@{ub} cycles the relevant @{"worm" link Worm} @{"controls" link Ctrl} through `None', `Amiga'
        and `Human'. If @{b}Shift@{ub} is held as a qualifier, it cycles backwards.
@{b}Return@{ub} or @{b}Enter@{ub} begins the game.
@{b}M@{ub} toggles the music on or off.
@{b}F@{ub} toggles the sound effects on or off.
@{b}I@{ub} toggles the viewpoint between overhead and isometric 3D.

@{b}Menu@{ub}

Project|New          @{b}Amiga-N@{ub}             Creates a blank, 5-level
                                         fieldset titled @{b}WormWars.fset@{ub}.
Project|Open...      @{b}Amiga-O@{ub}             FSET 4.1-4.3 are supported.
Project|Save         @{b}Amiga-S@{ub}
Project|Save As...   @{b}Amiga-A@{ub}
Project|About...     @{b}Amiga-?@{ub}, @{b}Help@{ub}       Credits window.
Project|Quit         @{b}Amiga-Q@{ub}, @{b}Esc@{ub}        Exits to CLI/Workbench.

@{b}Gadgets@{ub}

         @{u}Key   Colour      Human Controls        Letters@{uu}

        @{"  1   Green       Left Keyboard  " link Ctrl}	@{" C and L " link Lett}
        @{"  2   Red         Right Keyboard " link Ctrl}	@{" O and E " link Lett}
        @{"  3   Blue        Joystick       " link Ctrl}	@{" M and T " link Lett}
        @{"  4   Yellow      None           " link Ctrl}	@{" P and E " link Lett}

Any combinations of human and Amiga control are acceptable, but at least
one worm must exist.
@endnode
@node Edit "Field Editor"

The field editor allows you to load, edit and/or save the playfields
which the worms compete on. You can create any pattern you desire, subject
to a few minor rules, and therefore the onus is on the creator to ensure
that the field is well-designed.

You are allowed to have up to 30 levels in each fieldset, and must have
at least 1. (The `treasury', that is, level 0, is not considered in the
count of levels.)

The high score table is loaded and saved as part of the fieldset file:
there is a separate high score table for each fieldset. Making any
modification to the fieldset will clear all the fieldset's high scores.

If you are have modified your field since you saved it and want to do
something which will lose the changes you will be asked to confirm your
intent.

@{"Hints" link Hint}

@{b}Keys@{ub}

Esc F1 F2 F3 F4 F5 F6 F7 F8 .. ..
.... 1 2 3 4 5 6 7 8 . . . . . ..   Del Hel   ( ) . .
..... Q . E . . . . I O . . . Ret             7 8 9 .
Ctr .. A S D F . . . K . . . . ur      U      4 5 6 .
Shift . . . . . . N M . . ? Shift    L D R    1 2 3 E
   Al .. -----Spacebar---- Am Al              -0- . n

        @{b}F1@{ub}      gold
        @{b}F2@{ub}      silver
        @{b}F3@{ub}      empty
        @{b}F4@{ub}      wood
        @{b}F5@{ub}      stone
        @{b}F6@{ub}      metal
        @{b}F7@{ub}      teleport `1'
        @{b}F8@{ub}      teleport `2'
        @{b}F9@{ub}      start

@{b}M@{ub} toggles the music on or off.
@{b}F@{ub} toggles the sound effect on or off.

@{b}Delete@{ub} and @{b}Help@{ub} change the current level (lower and higher,
respectively). When @{b}shifted@{ub}, they change to level 1 or the
final level, respectively.

@{b}Numeric .@{ub} stamps the current brush at the current cursor location.

@{b}Numeric 0@{ub} toggles `sticky mode'. The sticky indicator will light
up or be extinguished, as appropriate. Sticky mode means that the `brush'
is held down: any single-square keyboard cursor movements will alter
squares that the cursor passes over to the current brush. Toggling
sticky mode `on' also does a `stamp' of the current brush at the current
cursor location.

@{b}F1@{ub}-@{b}F9@{ub}, when un@{b}shift@{ub}ed, change your brush type to the
appropriate type, as if the gadget had been clicked. When @{b}shifted@{ub},
the level will be filled (except for start and teleports) with the
requested square type, without change to the current brush.

@{b}Alphanumeric 1@{ub}-@{b}9@{ub} change the square under the cursor to
the relevant type, without affecting the current brush.

The @{b}cursor keys@{ub} or @{b}numeric keypad@{ub} move the cursor around the field.
The default movement is one square. (If sticky mode is on, copies of the
brush are left behind). Holding @{b}Alt@{ub} moves the cursor in increments of
five squares. Holding @{b}Shift@{ub} or @{b}Ctrl@{ub} moves the cursor to the
relevant edge of the field. (The cursor is shown as a white square.)

@{b}Numeric (@{ub} and @{b})@{ub} cycle the brush and square under the
cursor  through the available @{"objects" link Obje}, lower and higher, respectively.

@{b}Menu@{ub}

Project|New          @{b}Amiga-N@{ub}                     Clears the fieldset.
Project|Open...      @{b}Amiga-O@{ub}, @{b}O@{ub}                  Loads a fieldset.
Project|Save         @{b}Amiga-S@{ub}, @{b}S@{ub}                  Saves current fieldset.
Project|Save As...   @{b}Amiga-A@{ub}, @{b}A@{ub}                  Saves with new filename.
Project|Quit         @{b}Amiga-Q@{ub}, @{b}Q@{ub}, @{b}Shift-Esc@{ub}       Exits to CLI/Workbench.
Project|About...     @{b}Amiga-?@{ub}                     Credits window.
   Edit|Cut          @{b}Amiga-X@{ub}
   Edit|Copy         @{b}Amiga-C@{ub}
   Edit|Paste        @{b}Amiga-V@{ub}
  Level|Insert       @{b}Amiga-I@{ub}, @{b}I@{ub}                  Inserts blank level here.
  Level|Delete       @{b}Amiga-D@{ub}, @{b}Shift-D@{ub}            Deletes this level.
  Level|Erase        @{b}Amiga-E@{ub}, @{b}Shift-E@{ub}            Clears this level.
  Level|Append       @{b}Amiga-K@{ub}, @{b}K@{ub}                  Adds blank level to end.

Remember that the menus, and their @{b}Amiga@{ub}-key shortcuts, are
unavailable whilst the pointer is over the playfield. The other shortcuts
for the menu items will still be available.

@{b}Joystick control@{ub}

A joystick plugged into port `2' can be used in the field editor.
Directional controls move the cursor in single square increments.
Holding the directional controls continue to move the cursor. The
firebutton stamps the current brush at the current location. Holding
down the firebutton whilst moving the stick, to produce lines of
squares, is not yet supported.

You will need to use the keyboard and/or mouse to control other
functions of the field editor, such as file operations, changing the
brush, etc.

@{b}Mouse control@{ub}

The gadgets to the left of the field will change your current `brush' to
the appropriate type. This brush is assigned to the left mouse button,
and the keyboard and joystick. The pointer imagery will be altered to
reflect your brush type, for some brush types.

The right mouse button, when over the playfield, will function as
`empty' rather than bringing up the menus.

Clicking on the field will change the current cursor location to the
chosen square, and change that square to the current brush (or to `empty'
if the right mouse button is clicked).

@{i}Teleports:@{ui}

Two teleports, `1' and `2', may be defined in the field
editor. These @{"teleports" link Tele} will teleport to each other
during gameplay. They are completely independent of any teleports that
may be created randomly as the game progresses. It is illegal to have
only one teleport as it would lead to nowhere. Therefore, whenever the
field is saved or you return to the title screen, any lonely teleport
is removed.

@{i}Start:@{ui}

The starting location for all worms. This is invisible during
gameplay. Usually it is best left where it is, in the centre of the
field.
                                _
                               / \
                                |
                                |
                               Blue
                   <--- Green START Red --->
                              Yellow
                                |
                                |
                               \_/
@endnode
@node Hint "Hints"

One starting location is specified for all worms. It must be a
considerable distance from all barriers as worms may emerge from it
in any orthagonal direction. Also, try not to make any field give an
unfair advantage to any particular worms. (The easiest way to ensure this
is through the use of symmetry.) Remember especially to give plenty of
room in the Y-dimension, as the Y-axis is smaller than the X-axis.

Avoid the temptation to make mazes which have their corridors only 1
square wide, unless you realize that it will be very difficult to play.
3-5 squares width is usually more appropriate for less skilled players.

Point-squares (ie. silver and gold) should be used with restraint, and
generally only as a reward for difficult maneouvering. The average field
should give have only about 5% point-square density. Richer fields can be
made for experienced players, but they should be as a reward for skill.

Killers only fire when they are on the edge of the stone/wood/metal/tail,
but they move randomly. Therefore, some configurations will be more
deadly than others. For example, thin lines provide maximum contact
between worms and killers, and thick square areas will quickly generate
new killers.

Lightly sprinkle your treasury with objects. Use objects very sparingly
or not at all in other levels.

Metal squares which are aligned with each other can be deadly and
enjoyable, as fragments can bounce between one and the other endlessly
until a collision occurs. Remember also that metal is unjumpable.
@endnode
@node Info "Other Information"

        @{" Contact Details    " link Cont}
        @{" Platforms          " link Plat}
        @{" Development System " link Deve}
        @{" Source Code        " link Code}
        @{" History            " link Hist}
        @{" Future             " link Futu}
        @{" Other Products     " link Prod}
@endnode
@node Cont "Contact Details"

@{b}Registration@{ub}

You are strongly encouraged to register your copy of Worm Wars for
$AUS20 or $US20. This will enable continuing development of the software,
and provide you with free online technical support, additional developer
support documentation, regular previews and updates, extra fieldsets and
sound effects, fieldset conversion utilities, limited-edition enhanced
versions and special offers on other Amigan/Enable Software products.
Cheques and money orders should be made payable to James Jacobs.

This Amiga version of Worm Wars is freeware. There are no limits on
usage, distribution or modification, except that you are not allowed to
modify and/or distribute it for commercial purposes without consent. You
are allowed to create and distribute other `distributions' of Worm Wars,
for example, with other fieldsets and music, for non-commercial purposes.

Registering on the Amiga version entitles you to all the benefits of
IBM-PC registration, and vice versa.

@{b}Bugs@{ub}

Official Commodore development and style guidelines have been adhered to,
using the official Amiga Technical Reference Series as authoritive
reference.

Please contact us immediately if any bugs are found.

@{b}Submissions@{ub}

Fieldsets, music (ST/MED format), samples (IFF 8SVX/WAV) or even modified
versions of the game can be submitted and may be distributed with a future
release, with acknowledgements to the contributor(s).

Users are invited to contribute suggestions for the future of the game.
Thanks to Jilles Tjoelker for his suggestions.

@{b}Sound effects@{ub}

The game uses IFF 8SVX files for its sound effects. Full IFF 8SVX support
is not required for the purposes of the game, and therefore the following
rules are imposed on the samples:

Must be an IFF 8SVX FORM (ie. not CAT or LIST).
No compression schemes are allowed.
Maximum sample size is 128K.
Must be `one shot' style rather than `musical note' style sample.
Only the first (highest, longest) octave is used.
Must be a single channel (ie. monaural) sample.
8SVX.VHDR and 8SVX.BODY chunks are required.
All other chunks (eg. generic IFF chunk PROP; standard IFF chunks
	NAME, (C), ANNO, AUTH; proposed IFF chunk END; standard IFF.8SVX
	chunks ATAK, RLSE; extended IFF.8SVX chunks CHAN, PAN, SEQN, FADE)
	are ignored.
Sample rate is taken from the 8SVX.VHDR chunk.
The repetition flag of the sample (ie. play once or loop), and the volume
	of the sample, are set in the game header files.

IFF 8SVX or WAV files submitted to Amigan Software as contributions can, if
necessary, be converted by us to fit these restrictions.

@{b}Contact details

Mail@{ub}                        James Jacobs
                            Amigan Software
                            11 Yate Gdns
                            RIVETT ACT 2611
                            Australia

@{b}Voice@{ub}                       (H) Australia (02) 6287 4917

@{b}EMail@{ub}                       james_jacobs@altavista.net

@{b}URL@{ub}                         http://users.interact.net.au/
                                     ~cjaj/amigan.html
@endnode
@node Plat "Platforms"

Worm Wars 4.3 is available for the Commodore/Escom/Gateway Amiga and
also for Microfilth Windows 95/98/NT.

It is directly in @{i}your@{ui} interests to register this software.
Amigan Software has and always will continue to provide quality Amiga
software. The Amiga community which has fallen on hard times needs to
support its users and developers. As a mark of respect for the Amiga
we have not released a crippleware version on it: the freely
distributable Aminet version contains all features, including field
editor and source code, unlike the IBM-PC versions, in which registration
policy is enforced more harshly, because I loathe IBM-PC users! :-)
Nevertheless I regret to say that the lack of Amiga community support
has been the reason I have done an IBM-PC version.
@endnode
@node Deve "Amiga Development System"

@{b}Real Amiga

Hardware@{ub}                    Commodore Amiga 1200HD/40
                            40Mb 2.5" IDE hard disk
                            2Mb chip RAM
                            14,400 bps NetComm Roadster 144P modem
                            Commodore 1084S colour monitor
							Quickshot QS-131 joystick
							Amiga International mouse and mat
@{b}Firmware@{ub}                    Kickstart 3.0
@{b}Software@{ub}                    Workbench/CLI AmigaOS 3.1
                            SAS/C 6.3 and SAS/C Editor
                            Deluxe Paint 4
                            IFF 2 Source 1.0
                            OctaMED 5 and MEDPlayer Programmer's Sources
                            MultiView 39.16
                            CodeWatcher 1.4
                            LhA 1.51
                            SoundBox 2.2

@{b}Emulated Amiga@{ub}

Hardware@{ub}                   IBM-PC compatible Pentium 133 minitower
                            1.2Gb (0.8Gb FAT) 3.5" SCSI hard disk
                            2Mb chip RAM
                            usually about 4Mb fast RAM
							14,400 bps NetComm Roadster 144P modem
							Teco 14" Super VGA colour monitor
                            Quickshot QS-209F Skyhawk joystick
                            Lexmark Colour 1000 inkjet printer
                            Microfilth mouse and Telstra mat
                            ESS MF-1868 Soundblaster Pro-compatible
                                soundcard
@{b}Firmware@{ub}                    Kickstart 3.1
@{b}Software@{ub}                    WinUAE 0.7.5b
                            Fellow 0.3.3
							Workbench/CLI AmigaOS 3.5 Prerelease
                            Other software as above

Thanks to all those whose software was used to create Worm Wars.
@endnode
@node Code "Source Code"

The Amiga version is written in C (SAS/C 6.3), whilst the IBM-PC version
is written in hybrid C/C++ (Microfilth Visual C++ 5.0), using Microfilth
Foundation Classes.

Both platforms use the identical game engine, written in C, with API
calls for the relevant OS in other modules.

SAS/C 6.3 source code is provided, with which you may do as you wish
for non-commercial purposes. Developer documentation, graphics files,
Audodoc-style function descriptions, background information and source
code for either or both platforms is available free to
@{"registered users" link Cont}.

system.c    Amiga-specific code, including all AmigaOS calls.
engine.c	Code common to the Amiga and IBM-PC versions.
diff.h      Header file used by both modules. Amiga-specific.
same.h		Header file common to both modules and both platforms.
stdafx.h	Blank header file, for compatibility with IBM-PC.
ww.s        AmigaDOS script to link modules into executable.
SCOPTIONS   SAS/C options we prefer to compile with.
libproto.h  MEDPlayer.library C header.

The source code for the IBM-PC version is included with the registered IBM-PC
version. It uses several additional files.

Note that the executable is not optimized, and the executable is MC68000
code. Recompiling with optimizations enabled, and for your exact CPU type,
will increase the speed and reduce the size of the game.

@{b}Porting@{ub}

Developers are welcome to port Worm Wars to other platforms. There are no
plans by Amigan Software to ourselves concurrently develop more than the
two existing platforms, but registered users will be given assistance in
porting to any desired platform. After all, now that there is a Windows
95/98/NT version, nothing is filthier than that! :-)

Developers can rewrite @{b}system.c@{ub} for their target platform, and
use the existing generic @{b}engine.c@{ub}, which will continue to be
updated automatically for them by Amigan Software.
@endnode
@node Hist "History"

@{b}4.3  [Amiga 2.04+][Windows 95/98/NT]. Sun 5 Sep 1999.@{ub}
4.2  [Amiga 2.04+][Windows 95/98/NT]. Sat 7 Aug 1999.
4.1  [Amiga 2.04+][Windows 95/98/NT]. Sun 6 Jun 1999.
4.0  [Amiga 2.04+]. Sun 1 Nov 1998.
3.3  [Amiga 2.04+]. Wed 29 Jul 1998.
3.2  [Amiga 2.04+]. Tue 3 Dec 1996.
3.1  [Amiga 2.04+]. Tue 16 Apr 1996.
3.0  [Amiga 2.04+]: Thu 18 Jan 1996.
@{b}2.2 beta [Amiga 1.0+]: Sun 5 Feb 1995.@{ub}
2.1  [Amiga 1.0+]: Tue 27 Dec 1994.@{ub}
2.0  [Amiga 1.0+]: Sat  3 Dec 1994.
1.7  [Amiga 1.0+]: Wed 26 Oct 1994.
1.6  [Amiga 1.0+]: Sun  9 Oct 1994.
1.5a [Amiga 1.0+]: Thu 25 Aug 1994.
1.5  [Amiga 1.0+]: Sun 10 Jul 1994.
@{b}1.4 [MS-DOS]: Wed  9 Mar 1994.@{ub}
1.3 [MS-DOS]: Fri 11 Feb 1994.
1.2 [MS-DOS]: Thu  4 Nov 1993.
1.1 [MS-DOS]: 1993.
1.0 [MS-DOS]: 1993.
@endnode
@node Futu "Future"

The future of this software is dependant on the @{"support" link Cont} it
receives from its users. Your contribution will support further Amiga
software development and enhancement, at the expense of the IBM-PC version.
@endnode
@node Prod "Other Products"

@{b}Worm Wars 4.3 for Windows 95/98/NT@{ub}

The Amiga version of Worm Wars has long proved its worth in the Amiga
community, acknowledged as the premier snake game for many years. Now at
last it is available to the masses of benighted Windows users. This
version is equivalent to the very latest incarnation of the Amiga game,
and even has features lacking from the Amiga version, such as dockable
toolbars, a status bar, isometric 3D and automatic saving/reloading of
configuration information.
	Worm Wars 4.3 for Windows 95/98/NT is now available from Amigan
Software or Enable Software. The earlier versions, for inferior machines
(Jaemol Tron), are still available (V2.2 beta for Kickstart 1.0-2.0 and
V1.4 for MS-DOS).
@endnode
@node Play "How to Play"

Worm Wars is an arcade game for zero to three human players. Each player
@{"controls" link Ctrl} a @{"worm" link Worm}. They move around a rectangular (53x39) playfield,
leaving their tails behind them. Each @{"worm" link Worm} aims to amass the most
possible @{"points" link Scor}, to @{"complete" link Lett} the levels and to survive
as long as possible.

The edges of the field are semi-toroidal. @{"Worms" link Worm} and @{"orbs" link Orbs}
can cross sides. @{"Protectors" link Prot}, @{"killers" link Kill}, @{"bullets" link Ammo},
@{"missiles" link Miss}, @{"bombs" link Bomb}, @{"fragments" link Frag} and @{"drips" link Drip} respect the field edges.

        @{" Controls      " link Ctrl}        @{" Worms      " link Worm}
        @{" Letters       " link Lett}        @{" Orbs       " link Orbs}
        @{" Objects       " link Obje}        @{" Killers    " link Kill}
        @{" Scoring       " link Scor}        @{" Protectors " link Prot}
        @{" Strategy      " link Stra}        @{" Slime      " link Slim}
        @{" High Scores   " link High}        @{" Drips      " link Drip}

        @{" Fragments     " link Frag}
        @{" Teleports     " link Tele}
@endnode
@node Ctrl "Controls"

@{b}In-game keyboard controls@{ub}

Esc .. .. .. .. .. .. .. .. .. ..
.... . . . . . . . . . . . . . ..  ... ...    . . . .
..... Q W E . . . . . . P . . ...             7 8 9 .
... .. A S D F . . . . . . . . ..     U       4 5 6 .
Shift . Z X C . . . M . . . Shift   L D R     1 2 3 E
   .. .. -----Spacebar---- .. ..              -0- . n

     Green worm                    Either    Red worm

@{b}Esc@{ub} exits to the @{"title screen" link Title}.
@{b}Shift-Esc@{ub} exits to CLI/Workbench.
@{b}P@{ub} pauses until @{b}P@{ub} is pressed again.
@{b}M@{ub} toggles the music on and off.
@{b}F@{ub} toggles the sound effects on and off.

@{b}Worm control principles@{ub}

Worm control is an acquired skill and is the single most important factor
in playing successfully and enjoyably.

A worm has direction and speed. It is unable to ever stop completely,
unless frozen by @{"ice" link Ices}, but its speed is adjustable between
three settings. It can turn 90° in any direction. Normally, it can only
move orthagonally (north, south, east, west), but a @{"nitro" link Nitr}
will enable diagonal movement.

The worm can pass through most types of square, though some cause damage.
Wood and tail slow the worm down, halving its speed for every square
traversed (to a minimum of `slow'). Stone, metal, killers and blocked
@{"teleports" link Tele}, however, will block the worm's motion as well
as slow it.

Control of the worms is by keypresses; that is, press and release in a
normal keystroke motion. There is no reason to hold down any key. Only
fresh keystrokes are ever looked at by the program. Also, holding down
a key may lock out your input (see below).

For joystick control, it is best to nudge the joystick briefly in the
direction you want, and let it return to the central upright position.

Each move, a worm is able to do any one of five things:

    .   fire (in the current direction);
    .   change direction;
    .   change speed (one speed in either direction);
    .   jump; or
    .   nothing.

The worm will move one square regardless. This means you can:

fire in your current direction and move in your current direction,
change direction               and move in the new direction,
change speed                   and move in your current direction.
jump                           leaping 2-4 squares and then landing, in
                               your current direction.
nothing                        and move in your current direction. 

Speed changes are accomplished using the same keys as for turning.
Pressing the direction you are already travelling increases your
speed; pressing against that direction decreases your speed.

@{b}Keyboard [green and red]@{ub}

If only one human is selected for the keyboard, all three sets of
keyboard controls are available for that player, whether it is the
green or red worm. When only one human is selected for the keyboard,
we suggest using the cursor keypad, as it has the best rollover
properties (ie. you can press a key whilst another is already held
down). However, the cursor keypad obviously does not support diagonal
movement.

Two players may use the keyboard, playing at each end. If there are
two humans selected for the keyboard, the @{b}cursor keypad@{ub} cannot be
used, due to keyboard hardware limitations. The green worm must use
the leftmost controls (@{b}QWEASDZXC@{ub}, @{b}spacebar@{ub}) and the red worm
must use the rightmost controls (the @{b}numeric keypad@{ub}).

Note that the leftmost and rightmost controls do not rollover properly,
due to keyboard hardware limitations. This means that you must release
all keys before pressing another one, or the new keystroke is ignored
and so is all further input from that player until all keys are released.
The other player's keystrokes are completely unaffected by what you do;
you can only cause this problem for yourself.

@{b}X@{ub} and @{b}C@{ub} are both down-right for the green worm.
@{b}Spacebar@{ub} is the firebutton for the green worm.

@{b}5@{ub} and @{b}2@{ub} are both down for the red worm.
@{b}0@{ub} and @{b}Enter@{ub} on the @{b}numeric keypad@{ub} are both
firebuttons for the red worm.

@{b}Joystick [blue]@{ub}

The blue worm can use a joystick plugged into port `2'. If the joystick
could not be set up during initialization then human control will be
unavailable.
@endnode
@node Lett "Letters"

There will always be one, neither more nor less, letter onscreen at
any given time. When a worm collects it, another, which that worm
needs, will appear.

The main objective of the game is to complete all the levels.
The level will be completed and the next loaded as soon as a worm has all
eight letters, which together spell the word COMPLETE. All worms will then
lose all their letters. The worm which completed the level receives
these points:

	100 x old level
	 10 x seconds remaining
	  1 x tail squares of your colour onscreen

Only worms and their @{"protectors" link Prot} go on to the next level;
other creatures perish. Each level is faster than the last, and creatures
are faster and more frequent.

Only 2:00 (two minutes) are allocated for each level. After that time
has elapsed, all newly created orbs, killers, fragments and drips will be
at double their usual speed, and the frequencies of orbs, killers, slime
and drips will also be doubled, until the level is completed. Anything
already in existence at the time is unaffected.
@endnode
@node Obje "Objects"

         @{u}Type            Points    Frequency@{uu}

        @{" Affixer    " link Affi}      60      Very rare
        @{" Ammo       " link Ammo}      20      Common
        @{" Armour     " link Armo}      20      Common
        @{" Bias       " link Bias}      50      Common
        @{" Bomb       " link Bomb}      30      Common
        @{" Bonus      " link Bonu}      10      Common
        @{" Clock      " link Cloc}      60      Very rare
        @{" Grower     " link Grow}      50      Uncommon
        @{" Healer     " link Heal}      90      Very rare
        @{" Ice        " link Ices}      60      Very rare
        @{" Life       " link Life}      50      Uncommon
        @{" Missile    " link Miss}      40      Uncommon
        @{" Multiplier " link Mult}      50      Rare
        @{" Nitro      " link Nitr}      10      Uncommon
        @{" Powerup    " link Powe}      30      Uncommon
        @{" Protector  " link Prot}      50      Rare
        @{" Slayer     " link Slay}      40      Rare
        @{" Switcher   " link Swit}      70      Rare
        @{" Tongue     " link Tong}      20      Uncommon
        @{" Treasure   " link Trea}     100      Very rare
        @{" Umbrella   " link Umbr}     100      Very rare
@endnode
@node Affi "Affixer"

This causes your @{"protectors" link Prot} to stop rotating and
zigzagging. They are `fixed' into position at whatever position they
were in at the time. This makes them more useful, as you can more easily
predict where they will be at any given time in advance.
@endnode
@node Ammo "Ammo"

This will provide 2-6 bullets.

Bullets are fired by pressing your appropriate fire @{"control" link Ctrl}.
If a bullet is available, you will fire. This bullet is instantaneous. If
you have no bullets, you may @{"jump" link Worm}.

The width of your bullet depends on @{"powerups" link Powe}. Normally,
it is 1 square wide, but it can be up to 7 squares wide. In reality,
up to 7 @{i}independent@{ui} bullets are fired.

A bullet which hits a @{"teleport" link Tele} will be teleported and continue on its way.
You will get the teleport @{"skill bonus" link Scor}, too. That segment of
the bullet will thereafter leave a trail of silver behind it.
If you have @{"bias" link Bias}, the trail will be of gold.

A bullet which goes through the same teleport twice, or is reflected off
metal twice, will be destroyed.

In the absence of obstructions, a bullet continues going until it reaches
the edge of the field.

is bounded by                             field edges
destroys                                  tails
destroys                                  empty/silver/gold
destroys                                  objects
is absorbed by                            skulls
if biased, destroys, else is absorbed by  wood
is absorbed by                            stone
is reflected by                           metal
is teleported by                          unblocked teleport
is absorbed by                            blocked teleport
harms and is absorbed by                  unarmoured worm heads
is absorbed by                            armoured worm heads
explodes and is absorbed by               unarmoured orbs
is absorbed by                            armoured orbs
passes through                            friendly protectors
is absorbed by                            enemy protectors
passes through                            friendly missiles
destroys                                  enemy missiles
bonusizes and is absorbed by              killers
destroys and is absorbed by               fragments
is absorbed by and sets off               timebombs
destroys                                  drips

When a bullet sets off a timebomb the effect is as if the timebomb had
elapsed its countdown and detonated normally (ie. you do not receive
points for the blast, and can be harmed by it). So beware.
@endnode
@node Armo "Armour"

Armour will protect worms from being hurt by many different causes.
For a list of them, @{"click" link Worm}.

Armour is only temporary. Its power counts down at a constant rate, and
can be extended by the acquisition of more armour. It is a @{"mode" link Worm}.

While you are in armour @{"mode" link Worm} your head-image will be different.
When your armour is nearly gone your head will flash.
@endnode
@node Bias "Bias"

Provides these benefits:

        @{"missiles" link Miss} will not chase you.
        when you get @{"bonuses" link Bonu}, the @{"letter" link Lett} will be one you need.
        you can @{"shoot" link Ammo} through wood.
        whenever you @{"shoot" link Ammo} you will also launch a @{"missile" link Miss},
                unless you already have an active @{"missile" link Miss}.
        whenever one of your @{"bullets" link Ammo} goes through a @{"teleport" link Tele} it will
                thereafter leave a trail of gold instead of silver.
        vampirism: whenever you cause a @{"worm" link Worm} to take damage,
                you gain as many lives as they lost. Whenever you kill
                an @{"orb" link Orbs} or @{"killer" link Kill}, you gain
                a life.
        any bombblast by you will turn squares to silver, not empty.
        any colour of drip you get will be as if it were your own colour.
        when you get a grower, your tail will also grow.

Bias counts down at a constant rate. It can be extended by the
acquisition of more bias. You can use bias in conjunction with one of
the @{"modes" link Worm}.
@endnode
@node Bomb "Bomb"

As soon as you go over one of these the bomb will go off, clearing the
area around you. The blast radius is random, but is always constrained
by the field edges.

is bounded by                             field edges
does not affect                           empty/silver/gold
destroys                                  objects
does not affect                           skulls
does not affect                           wood
does not affect                           stone
does not affect                           metal
does not affect                           teleports
harms                                     unarmoured worm heads
does not affect                           armoured worm heads
bonusizes                                 unarmoured orbs
does not affect                           armoured orbs
does not affect                           friendly protectors
does not affect                           enemy protectors
does not affect                           friendly missiles
destroys                                  enemy missiles
bonusizes                                 killers
destroys                                  fragments
destroys                                  timebombs
destroys                                  drips

A bomb may at any time randomly change to a timebomb, which ticks from
9 down to 0 before detonating. During ticking, it can be pushed around
by worm heads. If pushed into a teleport or off the field edges, 100
points are given and the timebomb is destroyed without detonation. If
pushed against things, or shot, or hit by a fragment, or an orb,
it will detonate immediately. If this was from pushing against things,
or the timebomb was shot by a @{"worm bullet" link Ammo}, the worm responsible
gets the points from the blast. If an orb set the timebomb off, it gets
the points. In any other case, no points are given from the blast. There
can be up to four timebombs onscreen simultaneously.

If a timebomb is pushed over a @{"skull" link Worm}, the skull is
destroyed and points are given to the pusher, but none of dead worm's
attributes are acquired.
@endnode
@node Bonu "Bonus"

You will be given a random @{"letter" link Lett}. It may be one you already have,
unless you have @{"bias" link Bias}. You do not receive @{"skill points" link Scor}
for @{"letter" link Lett} collection, only your points for collecting
this @{"object" link Obje}.
@endnode
@node Cloc "Clock"

If there is still any time remaining, the amount of time remaining is
increased.
@endnode
@node Grow "Grower"

This will cause all gold and silver onscreen to `grow', expanding into
their neighbouring squares if those neighbouring squares are empty. If you
have bias, all tail of your colour will also grow.
@endnode
@node Heal "Healer"

If you have less than your starting lives (100), boosts you back to 100.
If you have 100 or more, boosts you to 200.
@endnode
@node Ices "Ice"

Ice will freeze all @{"orbs" link Orbs}, @{"killers" link Kill}, @{"drips" link Drip},
@{"fragments" link Frag}, @{"missiles" link Miss}, timebombs and enemy @{"worms" link Worm} for a
short period of time. There is no defence against ice. Additional ice will
be added onto your amount remaining.
@endnode
@node Life "Life"

This provides 2-6 lives.
@endnode
@node Miss "Missile"

Missiles are automatically guided. They hunt the following things:

        worms               preferred
        enemy missiles      preferred
        orbs
        killers

The missile hunts whatever is nearest, and recalculates its target
every move. An orb or killer must be twice as close as the nearest
`preferred' target (worm or enemy missiles) for the missile to hunt it.

Missiles will not cross field edges. They move at `fast' speed.

Although they will hunt @{"armoured" link Armo} @{"worms" link Worm} and @{"armoured" link Armo} @{"orbs" link Orb},
they cannot harm them and will be themselves destroyed on impact.

Although friendly missiles never chase you, you will destroy them by
getting in their way, and will be yourself harmed if @{"unarmoured" link Armo},
so beware. Only one missile can be active for each worm at any given time.

destroys                                  tail
destroys                                  silver and gold
is absorbed by                            skulls
destroys                                  objects
destroys                                  wood
is absorbed by                            stone
is absorbed by                            metal
is teleported by                          unblocked teleports
is absorbed by                            blocked teleports
harms and is absorbed by                  unarmoured worm heads
is absorbed by                            armoured worm heads
destroys and is absorbed by               unarmoured orbs
is absorbed by                            armoured orbs
passes through                            friendly protectors
is absorbed by                            enemy protectors
bonusizes and is absorbed by              missiles
bonusizes and is absorbed by              killers
destroys and is absorbed by               fragments
is absorbed by and sets off               timebombs
is absorbed by                            drips

If you collect a missile:

        while you already have an active missile; or
        there are no other worms, missiles, orbs or killers alive

then you will receive only points; no missile will be generated.
@endnode
@node Mult "Multiplier"

Each time you get a multiplier, your scoring will be doubled. If you
get more than one, it is doubled again each time. You can collect up
to three (3) multipliers.

Your object points for actually getting the multiplier @{i}are@{ui}
affected by the new multiplier itself.

        @{u}Multipliers     Scoring@{uu}

             0             *1
             1             *2
             2             *4
             3             *8

At the end of each level, your multiplier will be reduced by one
(ie. half).
@endnode
@node Nitr "Nitro"

You will be able to move diagonally. Nitro cannot be lost.
@endnode
@node Powe "Powerup"

This is power for your @{"bullets" link Ammo}. Each bullet you fire becomes wider,
requiring less aiming accuracy and causing more general devastation.

        @{u}Symbol          Meaning@{uu}

        <number>        bullet number
        :               worm head, facing up (north)
        @{i}:@{ui}               worm head, facing up-right (northeast)
        #               worm tail

        1              213            42135          6421357
        1              213            42135          6421357
        1              213            42135          6421357
        1              213            42135          6421357
        :               :               :               :
        #               #               #               #
        #               #               #               #

     Single           Triple        Quintuple       Septuple
 (no powerups)    (one powerup)  (two powerups) (three or more)

            1              312            53124          7531246
           1              312            53124          7531246
          1              312            53124          7531246
         1              312             3124            31246
        @{i}:               :@{ui}2              @{i}:@{ui}24             @{i}:@{ui}246
       #               #               #               #  6
      #               #               #               #
@endnode
@node Prot "Protector"

Acquisition of this item will give you a companion who stays near you,
collecting @{"objects" link Obje} for you exactly as if you had moved
over them yourself, and defending you from some forms of damage.

You can have up to three protectors. The first two orbit around
your head. The third will be a `nose', suspended three squares in
front of your head, which zigzags. The rate of orbiting/zigzagging is
the same as the worm's speed; that is, they move when the head moves.

An @{"affixer" link Affi} will stop the protectors from rotating and
zigzagging.

is bounded by                             field edges
is invisible over                         friendly tail
is invisible over                         enemy tail if protector-worm
                                              is tongued
destroys                                  enemy tail if protector-worm
                                              is untongued
destroys and earns points for             empty, silver and gold
destroys, earns points for                skulls
    and earns attributes for
is invisible over                         wood, stone and metal
is invisible over                         teleports
harms                                     unarmoured worm heads
is invisible over                         armoured worm heads
destroys                                  orbs
destroys and is absorbed by               enemy protectors
passes freely through                     friendly missiles
destroys                                  enemy missiles
bonusizes                                 killers
reflects                                  fragments
is invisible over                         timebombs
destroys                                  drips
@endnode
@node Slay "Slayer"

Slayers are used instantly. They will destroy all @{"killers" link Kill},
@{"slime" link Slim} and @{"drips" link Drip}, and cause damage to all @{"unarmoured" link Armo}
enemy worms. All @{"orbs" link Orbs} will @{"explode" link Frag} simultaneously;
use it with care.
@endnode
@node Swit "Switcher"

All tail onscreen is instantly changed to your own colour. The main
benefit of this is that you take much less damage over your tail
than over an enemy tail, and also that you will receive more points
at the end of the level.
@endnode
@node Tong "Tongue"

Tongue allows you to go through wood and @{"worms" link Worm} (heads or tails) without
taking damage.

Whenever a worm with tongue goes over a tail square it receives:

        5 points    if it eats friendly tail. Tail turns to silver.
       10 points    if it eats enemy tail. Tail turns to gold.

Your @{"protectors" link Prot} will not eat any tails while you are in
tongue mode, to help you maximise your score.

Tongue is only temporary. Its power counts down at a constant rate, but
can be extended by the acquisition of more tongue. It is a @{"mode" link Worm}.

While you are in tongue @{"mode" link Worm} your head-image will be
different. When your tongue is nearly gone your head will flash.
@node Trea "Treasure"

The worms will enter the treasury for a limited amount of time.
At the conclusion, the next level is reached. The full time bonus
(2:00, which is 1200 points) is given at the end of the treasury.
@endnode
@node Umbr "Umbrella"

This skips 1-3 levels.
@endnode
@node Stra "Strategy"

Killers prefer to be near free space (empty, gold or silver), so that
they can shoot.

Faster speeds are useful for:

    racing another creature for a letter or object;
    hunting another creature when you have tongue or armour;
    evading missiles and fragments;
    laying tails to trap other creatures;
    creating gold/silver with tongue;
    amassing more square-points by moving;
    amassing more square-points at level completion;
    making large jumps;
    causing protectors to rotate faster.

Slower speeds are useful for:

    making small jumps;
    waiting in a certain region of the screen;
    not filling the playfield;
    easier control.

You will get more points by shooting something than killing it by other
methods, and more from collecting real letters than getting bonuses.

Remember that bullets, bombs, missiles, fragments and drips will @{i}not@{ui}
wrap around playfield edges. If you do, they cannot follow.

Certain objects work well together. Eg.:

    bullets, powerups and bias;
    multipliers and armour;
    tongue and grower;
    treasure and ice;
    protectors and affixer.

To avoid a missile, get a worm, orb, enemy missile or killer, or a solid
barrier such as stone or metal, between you and it.

Going quickly between teleports yields many points. It is easier when
done using tongue.

The only way to destroy stone or metal is to kill a killer which is on it.
If stone, you can simply jump over it.

When you shoot an orb, it will explode, so it is better to be some distance away when doing so.

Shooting an orb (which will explode) or timebomb (which will detonate) can be a useful way of harming, or putting pressure on, an enemy creature which is at the opposite end of the field. However, note that you can be harmed by this. If you have at leas
 triple shot, you can safely shoot an orb if you are not directly lined up with it (and you do not move into the path of the fragments). For shooting timebombs, it is best to be as far away from it as possible.

The best way to handle slime is to encapsulate it with your tail, so it
cannot spread.
@endnode
@node High "High Scores"

Each fieldset can have up to five (5) high scores. If you quit out of a
game, no worms will be able to put up a new high score, as the game was
aborted. The high scores are not always truly comparable, as it is easier
to play if you are the only worm than it is if you are playing against
three others.

High scores are part of the @{b}.fset@{ub} file. To save them, save the
fieldset. Any changes to the fieldset will automatically clear the
high scores.

Note that if your worm has been resurrected, its old score is forgotten
and cannot get on the high score table. The newest score @{i}is@{ui} eligible.

The Amiga worms have names which honour the four original Amiga
designers. Even on the IBM-PC version. :-D
@endnode
@node Worm "Worms"

Worms can be controlled by humans or the Amiga. For information on
how to control them, @{"click" link Ctrl}.

A worm consists of a head, one square in size, and a tail, which is
formed in the wake of the head's passing. As the worm moves, the tail
stretches out behind its head. Collision with any part of a worm by the
head normally results in damage (to the head).

Worms can move in the four cardinal orthagonal directions and at three
speeds; getting a @{"nitro" link Nitr} allows diagonal movement.

Worms begin with 100 lives. Whenever you are taking damage your head will
change to a skull @{i}temporarily@{ui}. This is a visual change only.
When 0 lives is reached, the worm is dead and the skull is permanent.
Every 1,000 points you will be awarded an extra life.

@{b}Modes@{ub}

@{"Armour" link Armo} and @{"tongue" link Tong} are mutually exclusive `modes'.
You can only have one in use (and therefore counting down in strength) at
a time, and it will be whatever was most recently collected. The head's
appearance indicates whether it is in a `mode', and also the direction it
is currently travelling. It will flash when the current mode is at low
strength. When the strength reaches zero, the other mode is automatically
engaged, if above zero.

@{b}Skulls@{ub}

If a worm or @{"protector" link Prot} collects the skull of a dead worm,
the collecting worm will get everything the worm had at the time of death
(@{"multiplier" link Mult}, @{"bias" link Bias}, @{"power" link Powe},
@{"ammo" link Ammo}, @{"armour" link Armo}, @{"tongue" link Tong}, @{"nitro" link Nitr} and @{"affixer" link Affi}), in
addition to what you yourself already had.

Skulls absorb any @{"bullets" link Ammo}, @{"missiles" link Miss}, @{"drips" link Drip} or @{"fragments" link Frag},
and are immune to @{"bombblasts" link Bomb}.

@{b}Jumping@{ub}

A worm with no @{"ammo" link Ammo} can jump instead. If the destination
is stone, metal, a @{"killer" link Kill} or a blocked @{"teleport" link Tele} you will not
jump, and metal cannot even be jumped over. The distance varies according
to your speed, and is shown below.

          @{u}Name                  Speed               Jump distance@{uu}

        . Slow                  half speed          2
        . Normal                normal              3
        . Fast                  double speed        4

All worms can be hurt by the following methods:

        @{u}Method              Damage     Notes@{uu}

        enemy drip          5 lives    unless biased
        blocked teleport    5          worm motion is stopped
        killer              2          worm motion is stopped
        metal               2          worm motion is stopped
        stone               1          worm motion is stopped

`Worm motion is stopped': Every move in which the worm takes damage from
that cause, its speed is halved (to a minimum of `slow'). The worm is
unable to actually enter the square.

@{"Unarmoured" link Armo} worms can also die by the following methods:

        worm bullet         5
        enemy missile       5
        enemy protector     5
        orb                 5
        fragment            3          if armoured, fragment is reflected
        bombblast           3
        enemy slayer        2
        slime               2

@{"Untongued" link Tong} worms can also die by the following methods:

        worm head           5
        worm tail           1          worm is slowed
        wood                1          worm is slowed
@endnode
@node Orbs "Orbs"

Orbs are controlled by the Amiga. There can be up to seven (7) orbs at a
time. They move diagonally and bounce whenever they hit a tail, metal,
stone, wood or @{"killer" link Kill}, so their motion can be predicted
by the skilled player. Orbs have their own scores. Their scores are added
to those that kill them.

@{b}Objects@{ub}

Objects can be used by orbs, as follows:

    Affixer     This will remove any affixer from any worms.
    Ammo        The orb will explode, unless it is armoured.
    Armour      Same as worm.
    Bias        This will remove all bias from all worms.
    Bomb        Same as worm.
    Bonus       Points only.
	Clock       The time remaining is reduced.
    Grower      All wood onscreen will `grow', expanding into their
                squares if those neighbouring squares are empty.
    Healer      The orb will split.
    Ice         The orb will split.
    Life        The orb will split.
    Missiles    All missiles will be destroyed.
    Multiplier  Same as worm.
    Nitro       Doubles the orb's speed.
    Powerup     Doubles the orb's speed.
    Protector   This will slay all protectors.
    Slayer      The orb will explode, if unarmoured.
    Switcher    All tail onscreen is instantly changed to wood.
    Tongue      This will allow the orb to pass through wood and tails
                instead of bouncing off them.
    Treasure    The orb will split.
    Umbrella    The orb will split.

@{b}Splitting@{ub}

The orb will split into up to four orbs, depending on the number of orbs
already in play.

Each orb wilil be an exact clone of the original in all attributes,
except starting direction but including score. Once born, they are
completely independent, of course.

@{b}Modes@{ub}

@{"Armour" link Armo} and @{"tongue" link Tong} are mutually exclusive `modes'.
An orb can only have one in use (and therefore counting down in strength)
at a time, and it will be whatever was most recently collected. When the
strength of it reaches zero, the other mode is automatically engaged, if
above zero. The orb's colour indicates the `mode' the orb is in:

        @{u}Colour          Mode@{uu}

        Yellow          None
        Blue            Tongue
        Red             Armour

@{b}Collisions@{ub}

An orb with tongue passes through and destroys @{"slime" link Slim}. 
An orb with armour bounces off slime. An orb with neither dies.

All orbs can be slain in these ways:

        @{u}Notes   Cause@{uu}

        *       Any worm gets a @{"slayer" link Slay}. @{i}All@{ui} orbs @{"explode" link Frag}.
        #       Becoming trapped (unable to move).
        #       Collision with an @{"armoured" link Armo} orb. (Both orbs @{"explode" link Frag}.
        #       Collision with @{"worm tail" link Worm}.
        .       Collision with an @{"armoured" link Armo} worm.
        .       Collision with a @{"protector" link Prot}.

@{"Unarmoured" link Armo} orbs can also be slain in these ways:

        *       @{"Worm bullets" link Ammo}.
        *       @{"Fragments" link Frag}.
        *       The orb collects @{"ammo" link Ammo} or @{"slayer" link Slay}.
        *       @{"Drips" link Drip}.
        #       @{"Bombblasts" link Bomb}.
        #       @{"Missiles" link Miss}.
        #       Collision with an @{"unarmoured" link Armo} orb.
        .       Collision with an @{"unarmoured" link Armo} worm.
        .       Collision with @{"slime" link Slim} when unarmoured and
                        untongued.

        @{u}Symbol  Explanation@{uu}

        *:      The orb @{"explodes" link Frag}.
        #:      A @{"bonus" link Bonu} is left at the site of death.
@endnode
@node Kill "Killers"

Killers walk along the top of stone, metal, wood, tails and slime, firing
@{"fragments" link Frag} randomly when they are at an edge. An `edge' is for
our purposes defined as where the killer is next to somewhere it can't go.
Killers prefer to be at an edge and tend to move towards and stay at one.
When not at an edge, they cannot fire.
	Up to eight (8) killers can exist simultaneously. Each killer can only
have one fragment onscreen at a time.

Killers can be slain in these ways:

        @{"Worm bullet" link Ammo}
        @{"Fragment" link Frag}
        @{"Slayer" link Slay}
        @{"Orb" link Orbs} bouncing off it
        @{"Bombblast" link Bomb}
        @{"Missile" link Miss}
        @{"Drip" link Drip}

Dead killers always turn into @{"bonuses" link Bonu}. This is the only way
to destroy stone or metal.
@endnode
@node Slim "Slime"

Slime may be randomly created at during play. This slime can `grow' into
some adjacent squares over time. It never moves, only grows.

Normal orbs                               are destroyed by it
Armoured orbs                             bounce off it
Tongued orbs                              pass through and destroy it
Normal worms                              are harmed by it
Armoured worms                            pass through and destroy it
Tongued worms                             are harmed by it
Killers                                   can traverse it
Protectors                                destroy it
Fragments                                 destroy it
Worm bullets                              destroy it
Slayers                                   destroy it
Bombblasts                                do not affect it
Drips                                     destroy it
@endnode
@node Drip "Drips"

Drips appear near the top of the field, and fall downwards. They can be any
of the four colours (green, red, blue and yellow).

Drips of your own colour (or another colour, if you have bias) are worth
100 points. Drips of the wrong colour hurt you. In either case, the drip
is destroyed.
@endnode
@node Frag "Fragments"

Fragments are generated by:

        @{"orb" link Orbs} explosions. Eight fragments will be
                generated by each explosion, one for each direction.
        @{"killers" link Kill} firing. One fragment will be generated
                per shot.

Fragments travel at a uniform speed until they are absorbed or reach
the field edges, by which they are bounded.

is bounded by                             field edges
destroys                                  tails
destroys                                  silver and gold
destroys                                  objects
is absorbed by                            wood
is absorbed by                            stone
is reflected by                           metal
is absorbed by                            blocked teleports
is teleported by                          unblocked teleports
harms and is absorbed by                  unarmoured worm heads
is reflected by                           armoured worm heads
explodes and is absorbed by               unarmoured orbs
is absorbed by                            armoured orbs
is reflected by                           protectors
destroys and is absorbed by               missiles
bonusizes                                 killers
destroys and is absorbed by               fragments
sets off and is absorbed by               timebombs
bonusizes                                 drips
@endnode
@node Tele "Teleport"

These always come in pairs. Going through one will teleport you to the
other, and bestow points also.

The following are teleported:

	@{" worms        " link Worm}
	@{" orbs         " link Orbs}
	@{" worm bullets " link Ammo}
	@{" fragments    " link Frag}
	@{" missiles     " link Miss}
    @{" drips        " link Drip}

If a teleport is blocked (there is stone, metal or a @{"killer" link Kill} next to
its partner on the side where you would emerge) then the teleport cannot
be used and is dangerous. You will slow down from hitting it and not be
able to use it. It is obviously possible for a teleport to be blocked to
some approaches and unblocked to others.

@{"Protectors" link Prot} are invisible over teleports, but you will
still get points for them being there, as if they had teleported.

Two teleports may be defined in the @{"field editor" link Edit}; another
two may appear randomly during play. These two sets are completely
independent of one another.
@endnode
@node Scor "Scoring"

@{b}Square points@{ub}

    @{b}All@{ub}

          1    Empty
         10    Silver
         20    Gold
         40    Teleport
        100    Skull

    @{"Objects" link Obje} are worth various amounts of points.

    @{b}Worms and protectors@{ub}

        100    Drip of your colour
        100    Letter of other colour
        200    Letter of your colour

@{b}Skill points@{ub}

    @{b}All@{ub}

         50    Kill a killer.
        100    Hurt an enemy worm, without hurting yourself.

	Orbs are worth their scores to anything that kills them.

    @{b}Worms@{ub}

          5    For each square you turn to silver with tongue.
         10    For each square you turn to gold with tongue.
         50    You hurt something (worm, orb or killer) by shooting it.
        100    Push a timebomb off field edges or into a teleport.
        500    You are the last surviving worm (all other worms are dead).

    There are also @{"level" link Lett} completion bonuses.
@endnode
Must have blank line at EOF.
