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

                        @{b}#*=======================*#
                        #|   W O R M   W A R S   |#
                        #|     for the Amiga     |#
                        #|      Version 5.61     |#
                        #|   Wed 26 April 2000   |#
                        #|                       |#
                        #|   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 arcade game for 0-4 players. It combines the
playability of its basic concepts with 28 interesting object types,
10 species of creature, and other enhancements.

1-4 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.
Custom fonts and backgrounds are used.

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

    . Adjusted icons to look good on pre-OS3.5 systems.
    . Miscellaneous bugfixes and rule changes.
@endnode
@node Usag "Usage"

    @{" System Requirements " link Requ}
    @{" Startup             " link Star}
@endnode
@node Requ "System Requirements"

@{b}Hardware@{ub}             Required        PAL/DBLPAL capability
                                     about 384K free RAM
                     Recommended     Colour monitor
                                     68030+
                                     Joystick
                                     Mouse
                                     about 1Mb free RAM
                                     Keyboard with numeric keypad
                                     Battery-backed clock
                                     Graphics board
@{b}Firmware@{ub}             Required        Kickstart R2.04+
                                         exec.library V36+
                                         dos.library V37+
                                         gadtools.library V37+
                                         intuition.library V37+
                                         icon.library
                     Recommended     Kickstart R3.1+
@{b}Software@{ub}             Required        Workbench/CLI R2.04+
                                         asl.library V37+
                     Recommended     OS3.5+
		                     MEDPlayer.library (included)
                                     MultiView
                                     SetPatch
                                     Installer 44+

Worm Wars can run in a 15Hz PAL screen, or, if you have an AGA machine
with VGA/multisync monitor, you can promote it to a DBLPAL screen.
Apparently in DBLPAL mode the sound effects are slightly distorted.

You need at least Installer 42.9 to run the installation script.
@endnode
@node Star "Startup"

    @{" Workbench ToolTypes " link Work}
    @{" CLI arguments       " link Argu}

@{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 @{b}WormWars.font@{ub} cannot be loaded at startup, Topaz 8 is used.

If the specified default fieldset cannot be loaded at startup,
a blank, five-level fieldset is used instead, with a treasury floored
with silver.
@endnode
@node Work "Workbench ToolTypes"

The following can be specified in the game's .info file. All are optional.

  TOOLPRI=<priority>             eg. TOOLPRI=5
     FILE=<fieldset>             eg. FILE=foo.fset
    GREEN=HUMAN|AMIGA|NONE       eg. GREEN=HUMAN
      RED=HUMAN|AMIGA|NONE
     BLUE=HUMAN|AMIGA|NONE
   YELLOW=HUMAN|AMIGA|NONE
     NOFX                        eg. NOFX
  NOMUSIC
  NOICONS
 OVERHEAD

These are equivalent to the relevant @{"CLI arguments" link Argu}.

If you double-click on a fieldset file, the game will load with that
fieldset. ToolTypes are then, of course, taken from the fieldset's .info
file.
@endnode
@node Argu "CLI Arguments"

@{b}Command Information@{ub}

                                  @{b}WormWars@{ub}

@{b}Format:         WormWars@{ub} [-p=<@{i}priority@{ui}>] [-f|nofx] [-m|nomusic]
                [-i|noicons] [green=HUMAN|AMIGA|NONE]
                [red=HUMAN|AMIGA|NONE] [blue=HUMAN|AMIGA|NONE]
                [yellow=HUMAN|AMIGA|NONE] [[file=]<@{i}fieldset@{ui}>]]

@{b}Template:       WORMWARS@{ub} -F=NOFX/S,-M=NOMUSIC/S,-I=NOICONS/S,
                -P=PRI/K/N,-O=OVERHEAD/S,GREEN/K,RED/K,BLUE/K,YELLOW/K,FILE

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

@{b}Specification:@{ub}

    -p:         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.

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

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

    -o:         select overhead viewpoint at startup.

    -i:         don't create icons when saving.

    colour=HUMAN|AMIGA|NONE:
                the initial controls for the worms. For example,
                GREEN=HUMAN will select human control for the
                green worm. Unless otherwise specified, RED=HUMAN,
                YELLOW=AMIGA, GREEN=NONE and BLUE=NONE.

    <@{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, the default is @{b}PROGDIR:WormWars.fset@{ub}.

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

    The order of the arguments are interchangeable.

@{b}Examples:@{ub}

    @{b}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}
                             sibling directory, and run at priority
                             level +5

    @{b}WormWars@{ub} ?               display command format
@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 @{"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.4-5.6 are supported.
 Project|Revert        @{b}Amiga-R@{ub}             Reloads the current fieldset.
 Project|Save          @{b}Amiga-S@{ub}
 Project|Save As...    @{b}Amiga-A@{ub}
 Project|Quit          @{b}Amiga-Q@{ub}, @{b}Esc@{ub}        Exits to CLI/Workbench.
Settings|Create Icons? @{b}Amiga-I@{ub}             Create icons when saving?
    Help|Creatures...                     List of creatures.
    Help|Objects...                       List of objects.
    Help|Manual...                        Opens this document.
    Help|About...      @{b}Amiga-?@{ub}, @{b}Help@{ub}       Credits window.

@{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 2     " link Ctrl}        @{" M and T " link Lett}
         @{"  4   Yellow      Joystick 1     " 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 are allowed to have up to 40 levels in each fieldset. The bonus level,
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 F9 ..
.... 1 2 3 4 5 6 7 8 9 . . . . ..   Del Hel   ( ) . .
..... Q . E R . . . I O . . . Ret             7 8 9 .
Ctr .. A S . F . . . . . . . . ur      U      4 5 6 .
Shift . . C . . . 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}C@{ub} centres the cursor in the centre of the field.

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

@{b}Numeric 0@{ub} toggles `sticky mode'. This 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, or in
sticky mode as a red 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}            Loads a fieldset.
 Project|Revert        @{b}Amiga-B@{ub}            Reloads the current fieldset.
 Project|Save          @{b}Amiga-S@{ub}            Saves current fieldset.
 Project|Save As...    @{b}Amiga-A@{ub}            Saves with new filename.
 Project|About...      @{b}Amiga-?@{ub}            Credits window.
 Project|Quit          @{b}Amiga-Q@{ub}, @{b}Shift-Esc@{ub} Exits to CLI/Workbench.
    Edit|Cut           @{b}Amiga-X@{ub}
    Edit|Copy          @{b}Amiga-C@{ub}
    Edit|Paste         @{b}Amiga-V@{ub}
    Edit|Erase         @{b}Amiga-E@{ub}            Clears this level.
    Edit|Delete                           Deletes this level.
    Edit|Insert                           Inserts blank level here.
    Edit|Append                           Adds blank level to end.
Settings|Create Icons? @{b}Amiga-I@{ub}            Create icons when saving?
    Help|Creatures...                     List of creatures.
    Help|Objects...                       List of objects.
    Help|Manual...                        Opens this document.
    Help|About...      @{b}Amiga-?@{ub}, @{b}Help@{ub}       Credits window.

Remember that the menus, and their @{b}Amiga@{ub}-key shortcuts, are
unavailable whilst the pointer is over the playfield.

@{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, though autofire can emulate this behaviour.

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"

All worms start from the same square. Worms may emerge from it
in any orthagonal direction. Leave enough space. Fields should not give an
unfair advantage to any particular worms. The easiest way to ensure this
is through the use of symmetry.

Mazes one square wide are difficult. 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.

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

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. The
price for Amiga users is now only $AUS5, $US5 or ŁUK5!

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.
Registration by credit card is possible via our website. 

This software is shareware. 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.

@{b}Bugs@{ub}

Amiga development and style guidelines have been adhered to, using the
official Amiga Developer CD-ROM 2.1 as authoritive reference.

Please contact us immediately if any bugs are found. You can use our
utility, Report+, to generate bug reports for Worm Wars, though this is
not required.

@{b}Submissions@{ub}

Fieldsets, music (ST/MED format), samples (IFF 8SVX/WAV), backgrounds
(2-colour IFF ILBM 640*256) 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, among others, for his suggestions and bug
reports.

@{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, of course, 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 volumes of the samples are set from within the program.

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@{ub}

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

@{b}Website@{ub}            http://users.interact.net.au/
                            ~cjaj/amigan.html

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

@{b}Voice@{ub}                       (H) Australia (02) 6287 4917
@endnode
@node Deve "Amiga Development System"

@{b}Real Amiga@{ub}

@{b}Hardware@{ub}            Commodore Amiga 1200HD/40 without DF0:
                    40Mb 2.5" IDE hard disk
                    2Mb chip RAM
                    33,600 bps Redback 336E modem
                    Akai colour television
                    Quickshot QS-131 joystick
                    Amiga International mouse and mat
                    Roctec 880K external floppy drive
@{b}Firmware@{ub}            Kickstart 3.0
@{b}Software@{ub}            Workbench/CLI AmigaOS 3.0
                    IFF 2 Source 1.0
                    OctaMED 5 and MEDPlayer Programmer's Sources
                    MultiView 40.8
                    CodeWatcher 1.4
                    LhA 1.51
                    SoundBox 2.2
                    AmigaGuide Writer 1.02
                    Installer 43.3

@{b}Emulated Amiga@{ub}

@{b}Hardware@{ub}            IBM-PC compatible Pentium 133 minitower
                    14MHz MC68EC020 (emulated)
                    1.2Gb (0.8Gb FAT) 3.5" SCSI hard disk
                    2Mb chip RAM
                    4-8Mb fast RAM
                    33,600 bps Redback 336E modem
                    Teco 14" Super VGA colour monitor
                    Quickshot QS-209F Skyhawk joystick
                    Microfilth mouse and Telstra mat
                    ESS MF-1868 Soundblaster Pro-compatible soundcard
                    Battery-backed clock
@{b}Firmware@{ub}            Kickstart 3.1
@{b}Software@{ub}            WinUAE 0.8.8 R8
                    Fellow 0.3.3
                    OS3.5 with Boing Bag 1
                    SAS/C 6.3 and SLink and SAS/C Editor and CodeProbe
                    Installer 44.7
                    Amiga Developer CD-ROM 2.1
                    BlowUp
                    PatchWork
                    MungWall
                    IO_Torture
                    Sashimi
                    CheckGuide
                    Deluxe Paint 4.5 AGA
                    Amiga Lint 2.0b
                    CygnusEd Professional 4.2
                    Gguide2txt
                    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,
and source code for either or both platforms is available free to
@{"registered users" link Cont}.

The Amiga source files are as follows:

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.
ww.s            AmigaDOS script to link modules into executable.
SCOPTIONS       SAS/C options we prefer to compile with.
libproto.h      MEDPlayer.library C header.
stdafx.h        Required for IBM-PC compatibility.
wormwars.ilbm   Graphics in IFF ILBM format.
@endnode
@node Hist "History"

5.61  [Amiga 2.04+][Windows 95/98/NT/2000]. Wed 26 Apr 2000.
5.6   [Amiga 2.04+][Windows 95/98/NT/2000]. Wed 19 Apr 2000.
5.51a [Amiga 2.04+][Windows 95/98/NT/2000]. Wed 29 Mar 2000.
5.51  [Amiga 2.04+].                        Tue 28 Mar 2000.
5.5   [Amiga 2.04+][Windows 95/98/NT/2000]. Tue 14 Mar 2000.
5.4   [Amiga 2.04+][Windows 95/98/NT/2000]. Sun  5 Mar 2000.
5.3   [Amiga 2.04+].                        Sun 13 Feb 2000.
5.21  [Amiga 2.04+][Windows 95/98/NT/2000]. Wed  5 Jan 2000.
5.2   [Amiga 2.04+].                        Wed 29 Dec 1999.
5.1a  [Windows 95/98/NT/2000].              Tue 28 Dec 1999.
5.1   [Amiga 2.04+][Windows 95/98/NT/2000]. Tue 23 Nov 1999.
5.0a  [Windows 95/98/NT/2000].              Tue  2 Nov 1999.
5.0   [Amiga 2.04+][Windows 95/98/NT/2000]. Mon  1 Nov 1999.
4.4   [Amiga 2.04+][Windows 95/98/NT/2000]. Wed 22 Sep 1999.
4.3a  [Windows 95/98/NT/2000].              Wed  8 Sep 1999.
4.3   [Amiga 2.04+][Windows 95/98/NT/2000]. Sun  5 Sep 1999.
4.2   [Amiga 2.04+][Windows 95/98/NT/2000]. Sat  7 Aug 1999.
4.1   [Amiga 2.04+][Windows 95/98/NT/2000]. 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.
2.2   [Amiga 1.2+].                         Sun  5 Feb 1995.
2.1   [Amiga 1.2+].                         Tue 27 Dec 1994.
2.0   [Amiga 1.2+].                         Sat  3 Dec 1994.
1.7   [Amiga 1.2+].                         Wed 26 Oct 1994.
1.6   [Amiga 1.2+].                         Sun  9 Oct 1994.
1.5a  [Amiga 1.2+].                         Thu 25 Aug 1994.
1.5   [Amiga 1.2+].                         Sun 10 Jul 1994.
1.4   [MS-DOS].                             Wed  9 Mar 1994.
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"

Amigan Software have demonstrated their commitment to the Amiga for many
years. We have been Amiga users since 1988 and Commodore users prior to
that. We intend to continue development regardless of the market
situation of the Amiga. This version (5.61) of Worm Wars is the 35th
release of the software, which we have developed for 7 years. It is the
best game of its type on any platform, and we intend to continue
development of Worm Wars, and of Report+, our freeware multi-function
utility. Your support is appreciated and does encourage us to pursue
further Amiga software development and enhancement indefinitely.
@endnode
@node Prod "Other Products"

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

The Amiga version of Worm Wars has long been popular in the Amiga
community, acknowledged as the premier snake game for many years.
It is also available to the masses of benighted Windows users. This
version includes dockable toolbars, a status bar and automatic
saving/reloading of configuration information.

@{b}Report+ 3.0@{ub}

Report+ is a freeware GadTools-based forms utility with six distinct
functions:

1. It is an enhanced, reverse-engineered, 100% byte-compatible replacement
for the official Commodore bug reporting tool (40.2).

2. It can generate Aminet-style readmes.

3. It can administer the Amiga Certified Software Engineer test.

4. It can generate C-style autodocs.

5. It can access the official manufacturer and product ID registries.

6. It can access the official IFF FORM registry.
@endnode
@node Play "How to Play"

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

        @{" Controls    " link Ctrl}          @{" Worms      " link Worm}
        @{" Letters     " link Lett}          @{" Orbs       " link Orbs}
        @{" Objects     " link Obje}          @{" Goats      " link Goat}
        @{" Scoring     " link Scor}          @{" Protectors " link Prot}
        @{" Strategy    " link Stra}          @{" Slime      " link Slim}
        @{" High Scores " link High}          @{" Drips      " link Drip}
                                              @{" Penguins   " link Peng}
        @{" Fragments   " link Frag}          @{" Whirlwinds " link Whir}
        @{" Teleports   " link Tele}          @{" Dogs       " link Dogs}
        @{" Timebombs   " link Time}          @{" Clouds     " link Clou}
@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 Titl}.
@{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. Normally, it can turn 90° in any direction and moves
orthagonally (north, south, east, west), but a @{"nitro" link Nitr}
will enable 45° and 135° turns and diagonal movement.

The worm can pass through most types of square, though some cause damage.
Some squares slow the worm down, halving its speed for every square
traversed (to a minimum of `slow'). Stone, metal, goats and blocked
@{"teleports" link Tele} 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 ever 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 and yellow]@{ub}

The blue worm can use a joystick plugged into port `2'. If the joystick
could not be allocated during initialization then human control will be
unavailable.

The yellow worm can use a joystick plugged into port `1'. This uses
direct hardware access, rather than using the gameport.device. Therefore
allocation can never fail.
@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, the speed of all current creatures will be doubled, and the
frequency of all future creatures will be doubled.
@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
        @{" Cyclone    " link Cycl}      90      Uncommon
        @{" Grower     " link Grow}      50      Uncommon
        @{" Healer     " link Heal}      90      Very rare
        @{" Ice        " link Ices}      60      Very rare
        @{" Life       " link Life}      50      Uncommon
        @{" Lightning  " link Ligh}      40      Uncommon
        @{" Magnet     " link Magn}      80      Rare
        @{" 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
        @{" Pulse      " link Puls}      40      Uncommon
        @{" Remnants   " link Remn}      40      Uncommon
        @{" Sideshot   " link Side}      30      Rare
        @{" Slayer     " link Slay}      40      Rare
        @{" Slower     " link Slow}      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"

Ammo provides 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 gold behind it.

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.
@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.
        you can @{"shoot" link Ammo} through wood.
        whenever you @{"shoot" link Ammo} you will also launch a @{"missile" link Miss},
                if possible.
        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}, @{"goat" link Goat}, or @{"penguin" link Peng},
                you gain a life.
        any bombblast by you will turn squares to silver, not empty.
        when you get a switcher, enemy remnants are also switched to your
                own colour.

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.
@endnode
@node Bonu "Bonus"

You will be given a random @{"letter" link Lett}. It may be one you already
have. 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 Cycl "Cyclone"

When you get this, a @{"whirlwind" link Whir} will be created somewhere on the
playfield. It is just as dangerous to you as to everything else.
@endnode
@node Grow "Grower"

Grower will cause all gold and silver onscreen to `grow', expanding into
their neighbouring squares if those neighbouring squares are empty.
@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}, @{"goats" link Goat}, @{"drips" link Drip},
@{"fragments" link Frag}, @{"missiles" link Miss}, @{"penguins" link Peng}, timebombs,
@{"whirlwinds" link Whir} 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"

Life provides 2-6 lives.
@endnode
@node Ligh "Lightning"

When you get lightning, most squares adjacent to your tail flash
momentarily. This will harm:

        unarmoured enemy worm heads
        unarmoured orbs                 replaced by bonus
        goats                           replaced by bonus
        slime                           replaced by empty
        fragments                       replaced by empty
        drips                           replaced by empty
        objects                         replaced by empty
        penguin                         replaced by empty
        enemy missiles                  reaplced by empty

The things that are not flashed are:

        stone
        metal
        wood
        letters
        skulls
@endnode
@node Magn "Magnet"

This causes some or all objects to travel towards you in a guided fashion.
Apart from the fact that these objects are now `magnetized' (ie. moving)
they remain normal objects in every other respect. Objects which are
magnetized may not be remagnetized by other worms.
@endnode
@node Miss "Missile"

Missiles are automatically guided. They hunt the following things:

        worms
        enemy missiles
        orbs
        goats

The missile hunts whatever is nearest, and recalculates its target
every move.

Missiles will not cross field edges.

If you collect a missile whilst there is nothing for it to chase, 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                                 goats
reflects                                  fragments
is invisible over                         timebombs
destroys                                  drips
@endnode
@node Puls "Pulse"

7 fragments are fired outwards when this object is collected, similar to
an orb exploding. If another worm's pulse fragments are still onscreen,
less than 7 fragments will be generated.
@endnode
@node Remn "Remnants"

This enables your bullets to leave their remnants behind them as they
travel.

These images of the bullet do no harm to the worm that fired it,
nor to any other creature except enemy unarmoured worms.
@endnode
@node Side "Sideshot"

This means that whenever you fire, in addition to any forward bullets you
will also fire a bullet to each side.
@endnode
@node Slay "Slayer"

Slayers are used instantly. They will destroy all @{"goats" link Goat},
@{"slime" link Slim}, @{"drips" link Drip}, @{"orbs" link Orbs} (by explosion),
@{"penguins" link Peng} and enemy @{"missiles" link Miss}, and cause damage to all @{"unarmoured" link Armo}
enemy worms.
@endnode
@node Slow "Slower"

Slower will slow all fragments, orbs, goats, drips and penguins to half
their previous speed. The speed of these is reset at the start of each
level.
@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.
@endnode
@node Trea "Treasure"

The worms will enter a bonus level 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.

There are three types of bonus level: treasury, drips and clouds.
@endnode
@node Umbr "Umbrella"

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

Goats 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 goat, 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.

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 least 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"

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.

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
flash as a skull. 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 dead worm had, in addition of
course to what it already had itself:

    . multiplier
    . bias
    . powerups
    . ammo
    . armour
    . tongue
    . nitro
    . affixer
    . remnant
    . sideshot

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 @{"goat" link Goat} 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

@{b}Pain@{ub}

        @{u}Method              Damage     Notes@{uu}

        enemy drip          5 lives    unless biased
        whirlwind           5
        blocked teleport    5          worm motion is stopped
        goat                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:

        remnant             5          worm is slowed
        worm bullet         5
        enemy missile       5
        enemy protector     5
        orb                 5
        dog                 5
        fragment            3          if armoured, fragment is reflected
        bombblast           3
        lightning           3
        enemy slayer        2
        slime               2
        wood                1          worm is slowed

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

        worm head           5
        worm tail           1          worm is slowed

@{b}Enclosure@{ub}

If your tail forms a square which measures 6x6 inclusive of the tail
(4x4 exclusive of it), this is known as enclosure. Any squares within
the closed area which are empty, silver, gold or enemy tail are
converted to your tail. You receive 10 points for each enclosed square
which is thus converted.

Note that enclosure is only checked for when the worm's head is at a
corner of the square.

        @{u}Symbol          Meaning@{uu}

        :               worm head
        #               worm tail
        .               enclosed area

        ######
        #....#
        #....#
        #....#
        #....#
        #####:
@endnode
@node Orbs "Orbs"

Orbs are controlled by the Amiga. They move diagonally and bounce whenever
they hit a tail, metal, stone, wood or @{"goat" link Goat}, so their
motion is be predictable. Orbs have their own scores, which are added to
the scores of 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.
    Cyclone     Doubles the orb's speed.
    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.
    Lightning   The orb will explode, if unarmoured.
    Magnet      Any magnetized objects become demagnetized.
    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.
    Pulse       The orb will explode, if unarmoured.
    Remnants    This will remove any remnants from all worms.
    Sideshot    This will remove any sideshot from all worms.
    Slayer      The orb will explode, if unarmoured.
    Slower      Double's the orb's speed.
    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 another orb.
        #       Collision with @{"worm tail" link Worm}.
        .       Collision with an @{"armoured" link Armo} worm.
        .       Collision with a @{"protector" link Prot}.
        .       Collision with a @{"whirlwind" link Whir}.

@{"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}.
        #       @{"Lightning" link Ligh}.
        .       Collision with an @{"unarmoured" link Armo} worm.
        .       Collision with @{"slime" link Slim}.

        @{u}Symbol  Explanation@{uu}

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

Goats walk along the top of stone, metal, wood, tails and slime, firing
@{"fragments" link Frag} randomly when they are at an edge (next to
somewhere they can't go). Goats prefer to be at an edge and tend to move
towards and stay at one. When not at an edge, they cannot fire.

Goats 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}
        @{"Lightning" link Ligh}
        @{"Whirlwind" link Whir}
        @{"Dog" link Dogs}

Dead goats turn into @{"bonuses" link Bonu}.
@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.
@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 are worth 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.
        @{"pulse" link Puls} explosions.
        @{"goats" link Goat} firing.

Fragments travel until they are absorbed or reach the field edges.
@endnode
@node Peng "Penguin"

Penguins are randomly created, independent creatures which move randomly.
They are not aggressive but will harm things that collide with them. They
only ever move onto empty (or silver/gold) squares.
@endnode
@node Whir "Whirlwind"

These are created when a worm collects the @{"cyclone" link Cycl} object.
They move very quickly in a random fashion, though they tend to drift
slightly upwards over time. They are one of the more dangerous types of
creature.

They destroy protectors, orbs, goats, penguins, missiles, slime, drips,
fragments, metal, stone, wood and tail. They destroy timebombs without
detonating them. They are immune to lightning, bullets, bombblasts,
fragments. They are affected by slayer and teleports. They harm worms,
whether armoured or not, without being themselves destroyed. If they leave
the playfield they are destroyed.
@endnode
@node Dogs "Dog"

These appear randomly. They wait patiently until a worm passes over them.
Then they begin to awaken and soon they chase the worm along its tail.
They cannot cross field edges.
@endnode
@node Clou "Cloud"

These appear randomly. They only ever move horizontally, left and right,
changing direction at each end of the playfield. Occasionally they will
shoot out a pair of fragments: one up and one down.
@endnode
@node Tele "Teleport"

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

If a teleport is blocked (there is stone, metal or a @{"goat" link Goat} 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.

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 Time "Timebomb"

This 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 anything, or shot, or hit by most things,
it will detonate immediately, with harmful consequences to anything
within its radius. Points are never awarded for timebomb blasts. The
explosion is the same as a normal @{"bomb" link Bomb}.
@endnode
@node Scor "Scoring"

@{b}Square points@{ub}

    @{b}All@{ub}

          1    Empty
         10    Silver
         20    Gold
        100    Skull
        100    Letter

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

    @{b}Worms and orbs@{ub}

         20    Teleport

    @{b}Worms and protectors@{ub}

        100    Drip of your colour

@{b}Skill points@{ub}

    @{b}All@{ub}

         50    Kill a penguin.
         50    Kill a goat.
        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.
         10    For each enclosed square which is converted.
         50    You hurt something (worm, orb, goat or penguin) by shooting.
        100    You push a timebomb off the field edges or into a teleport.

There are also @{"level" link Lett} completion bonuses.

All points are multiplied by the number of worms selected for human and
Amiga control, and of course by any @{"multipliers" link Mult}.
@endnode
