[MUD-Dev] Mage 2 Mage 0.89

J C Lawrence claw at kanga.nu
Wed Nov 18 22:07:07 New Zealand Daylight Time 1998


Andrew C.M. McClintock forward this newer version to me a long while
back (thanks!) and I prompty forgot about it.  <sigh> Recent
archeological expeditions however unearthed it in all its great glory.
Its a damned slick system.  Play with it for a while and you might be
surprised how very fun it actually can be:

ftp://ftp/kanga.nu/pub/MUD/Docs/Mage2Mage.089.txt.gz

--<cut>--

	             MAGE 2 MAGE Spell System

		            Version 0.89

	     Copyright 1989-1995 by Robert M. Reimann




Preface
- -------

Presented here is the latest draft of the Mage 2 Mage Spell System
and Spell Description Language, a modular, playable magic system that
attempts to integrate all aspects of magic in a cohesive and sensible way,
allow sophisticated mage-to-mage combat, and present a general method
of constructing complex, unique spells.  The core mechanism is SDL, a general
spell description language consisting of magical *effects* (manifestations
of magical force) and *operators* which control and shape the effects into
useful configurations.

(Note that what most systems call "effects" are actually combinations
of effects and operators, as defined above.)

The Mage 2 Mage system consists of 32 physical effects (equal numbers
of biological and psychic effects are currently being developed) and 27
operators.  The effects presented here are part of a rationale for magic
that must be built into your world; you are welcome to change them to better
fit your needs, but they were chosen with consistency in mind.  The operators
are the real heart of the system; you should modify them only with great care.
Too many non-general operators will spoil this system.

Mage 2 Mage uses a spell point system to determine the spell
cost; there is no concept of discrete "spell levels", although some effects
cannot be used by low level mages.  Spells may be designed with arbitrary
complexity, the limiting factor is the number of spell points a
mage has available to expend.  Spell points are assigned on the
basis of mage level, and the extent of the mage's "gift".

Mage 2 Mage also provides a painless and logical way of producing
magical items, while at the same time keeping their power limited
to reasonable levels.  Demonology and necromancy have been implemented
within the same framework, and systems of alchemy and magical medicine
are currently under development.

Lastly, Mage 2 Mage has been designed to work within any combat system
that makes use of melee rounds as units of combat action.




I.  The Nature of Elemental Magic and Spellcasting

"Magic" itself is not an energy source in any true sense.  It is rather the
ability of some entities to alter the fabric of reality in a way that
changes the natural balance of elemental forces in a localized area
and channel it in a useful fashion.  This ability is innate to some
creatures, but others (humans among them) must be trained.

"Spell" is the name given to the psycho-physical manipulations a mage or
magical creature must perform to produce a magical effect.  Spellcasting
can therefore be thought of as a psionic skill, with an important exception.
Once a spell is cast, it's semi-physical nature gives it a certain "life
of it's own"; it does not *need* to be constantly maintained after it
has been cast, although it *may* be altered once it has been cast, either by
the original caster, or by another mage of sufficient power and skill.

The existence of any spell is, however, intimately bound to the existence
of the casting entity; if the caster is killed, the spell will cease
*unless* spell "ownership" has been transferred to another casting
entity before the original caster dies.

Spells themselves cannot be written down, but "recipes" for spells
may be recorded using the spell description language described below.
Spell descriptions have no magical power themselves, they must be
interpreted by a spell caster.  However: true, active spells may
be bound to scraps of paper, thus filling the role of "traditional"
magical scrolls.

As with any skill, magical ability improves with practice.  As mages
gain spell casting experience, the number of spells a mage can cast
and/or the complexity of his spells will increase.  Spell casting is an
exhaustive effort requiring intense powers of will.  Spell points are
an arbitrary method of measuring a spell's complexity.  A mage is, in
a sense, "rated for" a certain number of spell points per day, based on
his experience (level), and his magical prowess, or gift.

He can't exceed this rating, not because he would do himself harm, but rather,
because it is simply beyond his current level of capability.  An appropriate
amount of rest will restore a mage's spell point "rating" to full value.

Spells need not be written or memorized, they may be cast "on the fly".
In fact, this is quite common in magical combat.  Spells are, in general,
non-permanent for reasons outlined above.





II.  Elemental Forces, Matter, and Effects

The structure of all matter is created by the flow of elemental forces
through the Material Plane.  Were there no flow of these energies, the
Material Plane would contain only formless chaos.  The world in which magic
exists is entirely shaped by an intricate flow of elemental energies that
yields land, oceans, air, living things, etc.  All living things possess the
ability to alter the flow of elemental forces to a certain degree by
physically interacting with them.  Some sentient beings further possess the
ability to alter the flow of these  forces, and hence the world around them,
purely by using their mind, i.e., by magic.

There are four primary elemental forces, each residing on a separate plane:

EARTH
AIR
FIRE
WATER

However, these planes overlap each other to a certain extent, thus yielding
a total of 16 subplanes:

True Earth		True Air	True Fire	True Water
Airy Earth		Earthy Air	Earthy Fire	Earthy Water
Fiery Earth		Fiery Air	Airy Fire	Airy Water
Watery Earth		Watery Air	Watery Fire	Fiery Water

Lastly, there are two states for each of these 16 forces, a positive energy
state and a negative energy state. These two states are called "Light" and
"Dark" respectively.  Each of the 16 permuted forces above can be
manipulated in either the Light or Dark form, yielding a total of 32
different elemental flows.  Each type of flow generates a unique set
of effects.  These forms are usually abbreviated by their initials,
e.g., LWE (Light Watery Earth), DTA (Dark True Air), etc.

There are three manifestations of an effect; physical, biological, and
psychic.  Each manifestation is separate and independent of the other two.
Physical effects are primarily for combat.  Biological effects can be used
to cure and cause illnesses, and to bestow qualities of living creatures
on inanimate objects.  Psychic effects can be used to cure and cause
mental disorders, to bestow qualities of sentient creatures on
non-sentient things, and to deal with spirits, which have no physical
characteristics.  Biological and psychic effects are more complex,
and may not be used until the mage has gained higher levels:

Level	   Manifestations Usable
- -----	   ---------------------

1+	   Physical
5+	   Physical, Biological
9+	   Physical, Biological, Psychic

(Currently, these rules cover only physical effects; biological and psychic
effects will be added in future versions.)

One final characteristic of some importance is that dissimilar effects
may not occupy the same physical space in the Material Plane.  This is
called the Law of Exclusion.  Thus, when two different effect types come
together, one must give way.  This quality can be used to a mage's defensive
advantage.  If he casts a barrier of dissimilar effect in the path of another
oncoming force, and his force is as potent or more so than the oncoming
force, it will be blocked.

Note that this only works for effects that are manifested in the same way;
e.g., a physical effect will not block a psychic effect, for instance.





III.  Magical Training and Aptitude

Unlike some systems, this system offers mages the opportunity to specialize in
areas of expertise, giving them greater control over more limited resources.

Initial training of a mage lasts a maximum of 12 years.  In that time, the
mage may divide his studies among one or more elemental forces.

Each force studied includes both Light and Dark effects, as well as all
three manifestations (physical, biological, psychic).  When a mage learns
a force, he generally learns both the Light and Dark versions (exception:
Elemental Mages, below).

The following table shows how studies may be divided, how much time they
take, and what abilities each term of study confers on the mage.


Study Time   Skill Class  Max. Potency  Range	     Know/Use 	 Resist
- ----------   -----------     -------    -----	     --------	 ------
12 years      Elemental*     d8/lev    80'+8'/lev   40%+4%/lev  20%+2%/lev
10 years      Singular**    d12/lev  120'+12'/lev   60%+6%/lev	30%+3%/lev
 6 years        Major        d8/lev    80'+8'/lev   40%+4%/lev	20%+2%/lev
 4 years	Minor        d6/lev    60'+6'/lev   30%+3%/lev	15%+2%/lev
 2 years	Minimal      d4/lev    40'+4'/lev   20%+2%/lev	10%+1%/lev

* Elemental Mages learn all four Light or Dark effects (not both) of
  an element; thus a Mage of Light Air would learn Light True Air,
  Light Watery Air, Light Fiery Air, and Light Earthy Air.

** Singular Mages may not learn any other force beyond their singular
   specialty; their minds are too "colored" by their magic to permit
   learning a new kind.

So, Medwyn the Mage could spend his 12 years of study becoming an
Elemental Mage of Light Water or a Singular Mage in Fiery Air, or
he could spend 6 getting a Major in Fiery Air, and 6 more getting
another Major in, say, Earthy Water.

Or he could get two Minors and and two Minimals, etc.


Spending more time learning a particular force allows the mage to use
it more effectively; a singular mage gets d12 per level damage from his
effects, twice the damage of a mage with a similar Minor.  Similarly, his
casting range is larger, his ability to recognize (Know) magic of his
specialty and make use of it (Use) is better as well.  Finally, he is
also able to better Resist magic of the type in which he received the
training.

Spell points are assigned to Mages according to the following formula:

		Spell Points = (GIFT)*level/2

GIFT is a new statistic measuring a character's magical aptitude.
It is in the range 1-50.  Human max is usually around 30; only
very magical creatures are in the 40-50 range.  Most sentient creatures
require training for their GIFT to be useful.

Spell points are calculated the same way for all mages regardless of
training.  All fractional points are rounded up.

As a mage casts spells, his spell points are depleted.  They are regained
with sleep; 1/10 of a mage's total points are replenished per hour of rest.
There is one important exception to this rule: if a spell is still operating,
the spell points used to cast it or those used during its operation *cannot*
be replenished until the spell has been stopped.  Once it has stopped, the
points may be replenished as described above.  This effectively limits the
number of semi-permanent spells that a mage is able to cast.

Note:  Spell points expended *during the execution* of a spell
       are replenished at the normal rate.





IV. Physical Effects

The following is a complete list of physical effects associated with
each elemental form.  Also included is the *unit volume* associated
with each effect.  Each unit volume of an effect used in a spell
represents 1 die (of the appropriate type according to mage training)
of damage.  Thus, a 10th level Mage can produce a maximum volume
of effect equal to 10 times the unit volume.  See the cost column
under Section V.1, Operator Summary.

(Note:  Full descriptions of these effects and their various
uses will be included in future versions of the system).



EARTH
- -----

Form	Physical Effect	   Unit Volume
- ----    ---------------    -----------

LTE  	Crystal/Glass	   (0.10 m)^3
LAE  	Sand		   (1.00 m)^3
LWE  	Loam		   (1.00 m)^3
LFE  	Lava		   (0.01 m)^3

DTE  	Stone		   (0.50 m)^3
DAE  	Dust               (1.00 m)^3
DWE  	Mud/Quicksand      (0.50 m)^3
DFE  	Metal              (0.10 m)^3



WATER
- -----

Form	Physical Effect	   Unit Volume
- ----    ---------------    -----------

LTW  	Water		   (1.00 m)^3
LAW  	Foam		   (1.00 m)^3
LEW  	Glue		   (0.10 m)^3
LFW  	Steam		   (0.10 m)^3

DTW  	Ice                (0.50 m)^3
DAW  	Snow		   (1.00 m)^3
DEW  	Poison (Liquid)    (0.01 m)^3
DFW  	Oil		   (0.10 m)^3



FIRE
- ----

Form	Physical Effect	   Unit Volume
- ----    ---------------    -----------

LTF     Fire		   (0.50 m)^3
LAF     Plasma		   (0.01 m)^3
LEF     Brimstone	   (0.10 m)^3
LWF     Electricity	   (0.10 m)^3

DTF     Rust		   (0.10 m)^3
DAF     Ash                (1.00 m)^3
DEF     Alkali             (0.10 m)^3
DWF     Acid               (0.10 m)^3



AIR
- ---

Form	Physical Effect	   Unit Volume
- ----    ---------------    -----------

LTA     Air/Wind	   (1.00 m)^3
LWA     Fog/Cloud/Mist	   (1.00 m)^3
LEA     Ambient Light	   (1.00 m)^3
LFA     Radiant Light      (0.10 m)^3

DTA     Shadow/Darkness    (1.00 m)^3
DWA     Storm	           (1.00 m)^3
DEA     Gas (Poison)       (0.10 m)^3
DFA     Smoke              (0.50 m)^3




V.  Operators

Operators are the core of the Mage 2 Mage SDL, providing the syntax
for spell description and execution.  This section gives a summary of all
SDL operators. followed by complete descriptions of the syntax and semantics
of each operator.  Examples are included.


V.1  Operator Summary

The following table summarizes the name, cost, and function of each
operator.  Except where noted, this cost is accrued at the time the
spell is cast.  This casting cost is based on the occurrence of each
operator in the written syntax of the spell.


Operator   	Cost         	Description
- ------------------------------------------------------------------------

Basic (Effect) Operators
- ------------------------

alter             1*            alter an existing object using an effect
create	   	  1*		create a new effect
destroy	   	  1		destroy a previously created effect
move	   	  1**	        move an effect to a new location
rotate	   	  1**	        rotate an effect around any axis
shape	   	  1**	        form an effect into a desired shape


Path (Shape) Operators
- ----------------------

fill	   	  1		fill a closed polygonal (2D) area
lineto	   	  1		extrude an effect along a given line
scale	   	  1		resize a previously created effect
surface	   	  1		mold an effect along a given surface
volume	   	  1		form an effect to fit a specified volume


Flow Operators
- --------------

halt		  1		stop a spell
if...then...else  1/1/1		conditional determined by input events
repeat...until	  1/1		loop until event
wait until	  1		pause spell until event


Event Operators  (all 0 cost)
- ---------------

and			       |
or			       | boolean operators for combining events
not			       |
interrupted		       signals a spell has been interrupted
<object><action><proximity>    general format for events


Special Operators
- -----------------

bind		  1		bind a spell's range relative to a given
			        object
interrupt	  1		alter a given spell
makeowner	  1		reassign ownership of given spell to another
                                   mage
resume		  1		resume an interrupted spell
<spellname>:	  0		assign a spell a name


*    1/2 point x (potency^2 + range^2) is expended for each effect created
     and 1/2 point x range^2 for each object altered during the execution
     of the spell, subtracted from the mage's spell points at the time the
     effect is created/object is altered.

     See ALTER and CREATE.

**   1/2 point per unit volume of the effect operated on is
     expended for each effect operated on during the execution of the spell,
     subtracted from the mage's spell points when the operation occurs.
     For SHAPEd effects, the volume of the effect after the SHAPE operation
     is used.  For MOVE and ROTATE, the current volume of the effect is
     used.  See MOVE, ROTATE, & SHAPE.



V.2  Operator Details

This section describes the operators summarized above in detail.
In the descriptions below, variables are in angle brackets, and
optional arguments are in straight brackets.  Each operator is listed
followed by a paragraph describing what it does, followed in
turn by an example of usage.



V.2.1 Basic Operators



ALTER
        alter lookat <objectname> using <effect> [<effectname>] [range <r>]


        Create a connection between the spell and an existing source of
        manifested elemental force.  This works similar to CREATE, except
        that the link to the elemental plane is connected to an existing
        object.  Thus, when the mage manipulates the elemental force in
        the spell, it will directly modify the nature of the object.  If
        the object is very nearly "pure" in the elemental sense, the changes
        will be most pronounced.  ALTERing an object consisting of mixed
        elemental forces may have unpredicatble results, depending on the
        form of the effect chosen. The effect may optionally be given a name
        by which other operators may refer to it.

        Each time a new object is ALTERed in a spell, 1/2 spell point is
        subtracted from the mage's available spell points.  These points
        are replenished in the usual fashion.  Note that these points are
        *in addition to* the casting cost of each ALTER operator.

        A mage's spell may only ALTER one *simultaneous* object per level
        of the mage's experience.  For example, a 3rd level mage may only
        alter 3 objects at the same time; if he wishes to alter
        a 4th object, his spell must be designed so that one of the 3
        objects is no longer being ALTERed before the next one is ALTERed.
        A spell will terminate if too many effects are simultaneously ALTERed.



        Example:

        alter lookat pebble using Stone
        shape volume lookat pebble
              scale 10'x 10'y 10'z

        This example SDL fragment alters a pebble by scaling it up to
        boulder size.  If this was performed on a different object, only
        that part of the object consisting of Stone would be effected,
        yielding an unpredictable result if only part of the original
        object consisted of Stone (the less Stone, the less predictable
        the result).



CREATE
	create <effect> [<effectname>] [ potency <p>] [range <r>]


	Create a point source of the given effect on the tip of the
	caster's index finger (right or left depending on handedness) or,
        if the spell is BINDed elsewhere, create the point source at the
        location of the BINDing.  This is an initialization operator,
        creating the link to another plane.  For physical effects,
	the effect must be scaled or otherwise shaped to a physical dimension
	before any force is actually released (see SCALE, SHAPE).  The effect
	may optionally be given a name by which other operators may refer
        to it.

        Each time a new effect is CREATEd in a spell, 1/2 spell point is
        subtracted from the mage's available spell points.  These points
        are not recoverable until the spell is stopped/finished.  Note
        that these points are *in addition to* the casting cost of each
        CREATE operator.

        A mage's spell may only CREATE one *simultaneous* effect per level
        of the mage's experience.  For example, a 3rd level mage may only
        create 3 effects that exist at the same time; if he wishes to create
        a 4th effect, his spell must be designed so that one of the existing
        effects is DESTROYed before the next one is CREATEd.  A spell will
        terminate if too many effects are simultaneously created.


	Examples:

	create (p)LTA
	create Wind
	create Wind mywind

	All three of the above perform the same function.  The first
	specifies the physical effect Light True Air.  The second
	uses the more colloquial description of Wind.  The third gives
	the effect a name, making it easier to refer to it later in the
	spell.  This is useful if you are using multiple effects that
	are doing different things.



DESTROY
	destroy [<effectname>]


	Removes the last created (or, alternatively, the named) effect or
        causes any object ALTERed using the effect to revert to normal.
        When a spell terminates, all effects are automatically destroyed.
        Any effect which goes outside the spellcaster's range is also
destroyed.


	Example:

	destroy mywind



MOVE
	move [<effectname>] to <distance> pointdir
	move [<effectname>] to lookat <objectname>
	move [<effectname>] to <n1>x <n2>y <n3>z


	Move the last created (or named) effect a specific distance in a
        direction indicated by a pointing gesture, to a named object specified
	by looking at the object, or a specific position in space relative
	to the last position.  If the object has been specified in an event,
	or has been identified previously in the spell, lookat is not
        necessary.

	An effect may be moved anywhere within
	the spellcaster's range, unless somehow obstructed.

        Each time an effect is MOVEd in a spell, 1/2 spell point is
        subtracted from the mage's available spell points for each unit of
        current volume of the effect.  These points are replenished
        in the usual fashion.  Note that these points are *in addition to*
        the *casting* cost of each MOVE operator, whose points are not
        recoverable until the spell is stopped.  If the effect is smaller
        than 1 unit volume, the correct fraction is subtracted.


	Examples:

	move mywind to lookat orc
	move mywind to 10' pointdir
	move mywind to 5'x 10'y 15'z

	The first example moves the Wind ball used in an earlier example
	in a straight line to the surface of an object specified by lookat,
	in this case, an orc.  The second example moves the ball
	in a straight line 10 feet in the direction the caster points.
	The third moves the ball 5' to the caster's right, 10' up, and
	fifteen feet forward, away from wherever it was, with respect to
	the caster.



ROTATE
	rotate [<effectname>] <ang>x <ang>y <ang>z
               [origin <distance> pointdir]

	rotate [<effectname>] <ang>x <ang>y <ang>z [origin lookat <object>]
	rotate [<effectname>] <ang>x <ang>y <ang>z [origin <n1>x <n2>y <n3>z]

        rotate [<effectname>] pointdir [origin <distance> pointdir]
        rotate [<effectname>] pointdir [origin lookat <object>]
        rotate [<effectname>] pointdir [origin <n1>x <n2>y <n3>z]


	Rotate the last created (or named) effect around any axis (x,y,z),
        relative to the center point of the effect (default) or a named point,
	OR rotate to an angle specified by gesture.

        Each time an effect is ROTATEd in a spell, 1/2 spell point is
        subtracted from the mage's available spell points for each unit of
        current volume of the effect.  These points are replenished
        in the usual fashion.  Note that these points are *in addition to*
        the *casting* cost of each ROTATE operator, whose points are not
        recoverable until the spell is stopped.  If the effect is smaller
        than 1 unit volume, the correct fraction is subtracted.


	Example:

	rotate firewall 90y origin lookat orc

	This fragment rotates a wall of fire (previously shaped)
	ninety degrees around the y (up-down) axis with the body of a
	given orc as the center of rotation.  Note that the point of
	rotation does not need to be a point inside the effect itself.



SHAPE
	shape [<effectname>] <pathop1>
       	                    [<pathop2>]
                                ...
                            [<pathopN>]


	Shape the last created (or named) effect using a path described by a
        "subspell" consisting of valid Path Operators.  When an effect is
        shaped, any previous shaping is forgotten.  Position of the effect is
        maintained.

        Each time an effect is SHAPED in a spell, 1/2 spell point is
        subtracted from the mage's available spell points for each unit of
        current volume of the *final* effect.  These points are replenished
        in the usual fashion.  Note that these points are *in addition to*
        the *casting* cost of each operator, whose points are not
        recoverable until the spell is stopped.  If the effect is smaller
        than 1 unit volume, the correct fraction is subtracted.

        The SHAPE operation yields one die of damage for each unit volume
        of the effect, subject to modification by the potency multiple
        (see CREATE).

        If the shaped volume is smaller than 1 unit volume, it is considered
        to be 1 unit volume for the purposes of spell point cost and
        damage.  A mage may not SHAPE an effect to occupy more than L
        unit volumes, where L is the level of the mage.



	Examples:

	shape mywind surface 1'thick lookat box
	shape mywind volume lookat donut
	shape mywind lineto 2"thick lookat corner1
		     lineto 2"thick lookat corner2
		     lineto 2"thick lookat corner3
		     lineto 2"thick lookat closeit
		     fill
	shape mywind scale 2'x 2'y 2'z

	The first example shapes the wind into a hollow box
        (i.e., the wind only blows in the planes that form the sides).
        The second example forms a solid torus of wind.  The third
        example shapes the effect into a 4-sided filled polygon (like a wall)
        of uniform two-inch thickness. (See Path Operators, below.)







V.2.2  Path Operators


FILL
	fill


	Fills any closed polygon defined by a list of
	lineto operators within a shape operator.
	The fill operator must directly follow the
	list of lineto operators.  The fill operator
	will use the line thicknesses of each lineto
	to fill with, interpolating if necessary.
	The lines must form a closed polygon, or the
	fill will fail. See SHAPE for example.



LINETO
	lineto <n>thick <distance> pointdir [smooth]
	lineto <n>thick [lookat] <objectname> [smooth]
	lineto <n>thick <n1>x <n2>y <n3>z [smooth]
	lineto <n>thick trace


	Used only in conjunction with the shape operator.  Adds a line
	of thickness <n> to the shape of the effect.  The current position
	of the effect (or the endpoint of the last line drawn, if there is
	been no use of the move operator since the last line was drawn) forms
	the beginning point of the line, the endpoint may be specified with
	a distance from the beginning point and a pointing gesture for
	direction, or by looking at a named endpoint.  For the latter,
	the endpoint must be a physical object.  If the object has been
	previously identified in the spell, lookat is not necessary.
	If smooth is specified, the endpoint will be smoothed to a curve
	if another line is drawn from it.

	The third form of lineto allows the mage to specify precise
        coordinates in space to draw the line to, relative to the current
        position of the effect or the endpoint od the last line drawn.

	The fourth form of lineto allows the mage to trace a path with
	the tip of his finger.  This may only be done with newly created
	(i.e., unmoved, unscaled, previously unshaped effects).

	See SHAPE for examples.



SCALE
	scale <n1>x <n2>y <n3>z


	Scale an effect to a given size.  If the effect
	was not previously shaped using other Path Operators within the
        same SHAPE operation, the scaled object will be a spheroid.
	Scaling is always performed using the center of the effect as
	an origin (see CREATE, SHAPE).  An effect may be scaled up to the
        limit of the spellcaster's range or spell points, whichever comes
        first.

	See SHAPE for examples.



SURFACE
	surface <n>thick [lookat] <objectname>


	Shapes an effect to match the size and contours
	of the selected object.  The object is selected
	by looking at it; it must be within spellcasting
	range, and must fit entirely with the spellcasting
	range.  The surface thickness is determined by <n>.
	A surface can be formed from anything withing the mage's
        spellcasting range.  See SHAPE for example.



VOLUME
	volume [lookat] <objectname>


	Like the surface path operator, but fills
	the entire volume with the effect.  (See above).
	See SHAPE for example.




V.2.3  Flow Operators


HALT
	halt


	Halts a spell.  A halt is not necessary at the end of
	a non-looping spell, as it is implied.

	Example:

	if (nonhuman and intelligent) 10'
	then halt
	else ...

	This spell fragment halts the spell if an intelligent nonhuman
	comes within 10' of the caster, or wherever the caster may have
        bound the spell.



IF...THEN...ELSE

	if    <eventop1>
  	     [<eventop2>]
                 ...
  	     [<eventopN>]

	then  <operator1>
       	     [<operator2>]
                  ...
             [<operatorN>]

	[else <operator1>
             [<operator2>]
                  ...
            [<operatorN>] ]


	Conditional that determines spell flow based on the truth
	value of the event operators (see Event Operators).

	Example:

	boltbox:
	bind to touch box
	repeat if (orc or kobold) 30'
	       then if orc 30'
	            then create bolt Fire
	                 move to orc
	                 shape scale 1'x 1'y 1'z
	       else create bolt Electricity
	            move to kobold
		    shape scale 1'x 1'y 1'z
	       wait 2 sec
	       destroy bolt
	until me "off"

	This spell creates a 1 foot radius bolt lasting 2 seconds
	when either an orc or a kobold comes within 30 feet of a
	box the mage touched when he cast the spell.  If it is an
	orc, the bolt is of fire, if it is a kobold, the bolt is
	of electricity.



REPEAT
	repeat [<var>=]<num> <operator1>
       	                    [<operator2>]
                                ...
                            [<operatorN>]


	repeat <operator1>
              [<operator2>]
                   ...
              [<operatorN>]

	until  <eventop1>
              [<eventop2>]
                   ...
              [<eventopN>]


	Repeats part of a spell for a set number of times, or until
	a specified event becomes true.  A loop variable may be used
	for spell effects that want to keep track of iteration (see
	Event Operators).


	Examples:

	torch:
	bind to touch endofstick
	create Fire
	shape scale 1"x 1"y 1"z
	repeat move to endofstick
	until me "off"

	This spell creates a torchlight at the end of a staff which will stay
	lit until the mage says "off" (and is within range).



WAIT
	wait <time>
	wait until <eventop1>
		  [<eventop2>]
		       ...
		  [<eventopN>]


	Wait for a specified length of time, or until a specified series
	of events (see Event Operators, below).


	Examples:

	wait 10 min.
	wait until human "bang" 10'

	In the first example, the next spell action will be delayed by
	10 minutes.  In the second, it will be delayed until the word
	"bang" is uttered by a human within 10' of the spell's position.
	A spell's position is either the place it was cast, or the position
	of an object to which it is currently bound (if any).



V.2 4  Event Operators


AND
OR
NOT
INTERRUPTED

	Event operators take the following general form:

	<objects> <actions> <proximity>


	Objects in events can be any physical object, entity, or effect
	that the mage can visualize clearly in his mind.  Actions can consist
	of any physical action the mage can visualize happening. Proximity
        must be a distance within the mage's casting range.  The action of
        speaking a phrase can be abbreviated by placing the phrase in quotes.

	The following is a special action:

	interrupted [by <being>]


	"Interrupted" means that the spell has been tampered with by a mage
	using the interrupt operator (see below).  Interrupted is a trap
	that prevents a spell from being tampered with.  Interrupted is also
	an action, and can be treated as such.  If no objects are given
	with an action, anything performing the action will trigger the
	event; if no proximity is given, the maximum casting range of the
	spellcaster is assumed.

	Objects, actions, and proximity can all be modified using the
	following boolean operators:

	and	or	not

	Parentheses can be used for clarity of logical groupings.

	Examples:

	if (man with tatoo and pegleg) (spit and "howdy") 5'
	then create Fire

	if interrupted
	then halt

	The first example triggers the if...then operator if a man
	with a tatoo and a pegleg spits and says "howdy" within
	five feet of the spell.  The second example halts the spell
	if it is interrupted.  (A good trap if the spell was, say,
	holding up the ceiling!)



V.2.5  Special Operators


BIND
	bind [<spellname>] to touch <objectname>


	Binds the named spell in to a named object, which is
	selected by touching the object.  Once a spell is bound to an
	object, any effects the spell may generate will operate within
	the max spellcasting range of the mage, but *relative to the object
	to which it is bound*, not the mage himself.  BIND may be used
	multiple times in a spell to switch bindings of other spells, or
	even the spell in which the binds occur (good for cursed items!).
	If you are binding the spell in which the BIND occurs, you do
	not need to specify the spellname.

	Note: binding a spell to an object has no effect
	on the postion of effects.  Movement of effects must be done
	explicitly within the spell.

	Example:

	bind to touch rod

	This binds the spell in which the bind operator occurs to a rod.



INTERRUPT

	interrupt <spellname> at "<breakpoint>" [revert]
		  <operator1>
       	         [<operator2>]
	            ...
                 [<operatorN>]


	Allows a mage to interrupt a working spell at a stated
	point, and replace that line with a series of new lines.
	If revert is used, and the spell was interrupted inside
	a loop, the new spell fragment will execute only once,
	otherwise the changes are permanent (for as long as the
	spell lasts).  If a halt operator is used in the interruption,
	the interrupted spell will stop, even if it was in a loop.

	The breakpoint specified must be a single line from the spell.
	A mage automatically knows breakpoints for his own spells.
	If he is trying to interrupt another mage's spell, he must
	roll his Know/Use percentage to figure out the spell.  The
	other mage must then roll his Resist roll to prevent the
	interruption.  Know/Use and Resist rolls must be made for
	all spells, even bound ones where the caster is not in the
	vicinity.

	Note: interrupt spells do not have names, and cannot be
              interrupted themselves.  Spells that have been
              interrupted may, however, may be reinterrupted any
              number of times with new changes.

	Example:

	Take a variation of the torch spell described earlier:

	torch:
	bind to touch endofstick
	create Fire
	repeat shape scale 1"x 1"y 1"z
               move to endofstick
	until me "off"

	Suppose Medwyn is holding his lit staff, and an orc
	comes around the corner.  Medwyn casts:

	interrupt torch at "move to endofstick" revert
	          move to lookat orc
	          shape scale 10'x 10'y 10'z
	          wait 10 sec

	What happens is that the torchlight is turned into a fireball,
	and then reverts back to a torch!  It's important to interrupt
	a spell in an active part; if Medwyn had changed anything before
	the repeat loop, nothing would have changed, because that part
	of the spell was already done.



MAKEOWNER

	makeowner <spellname> touch <spellcaster>


	Transfers ownership of the named spell to another spellcaster.
	The new owner must have enough spell points to have cast the spell
	but need not have the appropriate training in the effects the
	spell uses.  The new owner loses the number of spell points
	equal to the cost of the spell, for as long as the spell is active.
	The old owner regains the points he had lost while he owned the spell.
	If the new owner understands the spell, he may interrupt it at will.

	Example:

	makeowner torch touch Medwyn

	This changes the owner of a spell called torch to Medwyn.
	torch is a 5 point spell, so Medwyn loses 5 spell points for
	the duration of the spell (or until he stops it himself).






RESUME
	resume [<spellname>] at "<breakpoint>"


	The resume operator is useful in conjunction with the
	interrupted event.  You can write a spell which checks
	for an interrupt cast on it, and which then performs
	a special task to counteract the intrusion (such as
	blasting the person who attempted the interrupt).

	After this is done, you may want to resume the spell
	at a convenient place.  This is what the resume operator
	is for.

	Example:

	torch:
	bind to touch endofstick
	create Fire
	repeat shape scale 1"x 1"y 1"z
	    moveto endofstick
	until me "off"
	# check for interrupt #
	if interrupted by me
	then move to lookat target
	     shape scale 10'x 10'y 10'z
	     wait 10 seconds
	     resume at "repeat shape scale 1"x 1"y 1"z"
	else if (interrupted by being) and (being is not me)
	     then move to being
	          shape scale 10'x 10'y 10'z
	          wait 10 sec
	          resume at "repeat shape scale 1"x 1"y 1"z"


	This version of the torch spell will actively fireball
	anyone except the casting mage who tries to interrupt
	the spell.



SPELLNAME

	<spellname>:


	You must begin every spell with a spell name.
	This does not add any cost to the spell.

	Example:

	fireball:
	create Fire
	move to lookat orc
	shape scale 5'x 5'y 5'z
	wait 5 sec




VI.  Spell Cost, Execution Speed, and Duration


To cast a spell generally costs 1 point per operator, with the
exception of the spellname operator, which has no cost
and the shape, move, and rotate operators, whose cost depends on the
volume of the specific effect.

Event operators also have no cost.  The points expended to cast a spell
cannot be recovered until the spell has stopped, at which point they
are recovered with rest.

In addition to the cost of spell casting, an additional cost of 1/2
point is accrued every time an active spell CREATEs an effect. Furthermore,
1/2 point is expended for each unit volume of an effect SHAPEd, MOVEd or
ROTATEd.  These points are replenished in the usual fashion.
See section V.1 for a summary of operator costs.

All spells execute at the rate of one "tick" (1/10 of a second) per
operator, in a linear fashion.  Thus, it is important for a mage
to construct loops efficiently, minimizing unnecessary CREATE, SHAPE, MOVE,
and ROTATE operations, or his spell points will rapidly diminish.

Note: The best way to do this is to use the WAIT... or IF...THEN
operators to decide when the costly operators are actually
necessary, and in general to minimize manipulating large
volume effects in loops.

Because spells can loop, they have a potential duration (depending on
the spell) limited only by the life of the owner of the spell (i.e.,
the original caster, or a new owner assigned using the makeowner operator).
However, since the spell points used to maintain a spell cannot be recovered
until the spell has ceased (or been terminated), it is in the interest of
a mage not to leave too many semi-permanent spells lying around.

Also, any spell which repeatedly creates, moves, or rotates new effects
will slowly subtract from a mage's available spell points.  If the mage's
points are used up in this way, a looping spell will terminate when it
cannot execute the CREATE, MOVE, ROTATE, or SHAPE operator due to lack
of points.  Spells that do not routinely CREATE, MOVE, ROTATE, or SHAPE
effects are potentially infinite in duration, given a constant supply of
owners (or an immortal owner).




VII.  Mage 2 Mage Combat

Unlike most systems, Mage 2 Mage allows mages to directly counter
spells cast by other mages under certain conditions.  Of particular
importance, then, is the way in which mages can determine what other
mages are casting.  This is called "reading".

Reading a spell being cast within range is like a sixth sense,
it requires no more time or energy than watching a fighter draw a sword.
If a spell is not understood by a mage, it is like watching a fighter draw an
unfamiliar weapon.  Mages cannot "read" precast spells in the same fashion;
it is the act of casting that allows them to be read.  Reading precast spells
is a skill that requires many minutes of concentration (see section IX).
A spell being cast by another mage can be read successfully if the following
conditions are met:

1.  The reading mage must be within his spell casting range of the enemy.

2.  The spell may only contain effects with which the reader has been trained.

3.  The reader must make his Know/Use roll successfully.


Another crucial element of magical combat is its timing and scheduling.
Instead of trying to gauge specific casting times for spells, a more
general rule is used for the scheduling of magical combat; one that
makes it easier to integrate Mage 2 Mage into existing combat systems.

In Mage 2 Mage, all normal offensive and defensive spells
take 1 melee round to cast.  Spells cast in one melee
round start to take effect (execute) in the following round.
Execution of a spell is automatic, a mage does not need to
maintain the spell once he has cast it.

There is a 3rd variety of spell beyond offensive and
defensive (which can be auto-flash or normal shields).
This is the interrupt spell, a spell which alters another
spell.  Since this is a modification to an existing
spell, it is relatively instantaneous in its casting
and its execution.  An interruption to a spell effectively
delays the final outcome to the beginning of the next round,
at which time it can be once again altered by an interruption.
Only one mage may interrupt a given spell in a round; if more
than one tries, the outcome is decided by an initiative roll.
A mage can always interrupt his own spells (unless he fails
an interruption initiative roll in a given round), but to
interrupt another mage's spell, the mage must successfully
read the enemy's spell as it is cast, AND the enemy must
fail his or her Resist roll.

Interrupt spells themselves cannot be interrupted.


A mage may perform one of the following options in any given melee round:

1. He can try to interrupt (change) an incoming spell

2. He can cast an offensive spell (which will execute on the following
   round).

2. He can cast a defensive spell (which will execute on the following
   round).

4. He can interrupt (change) his own offensive or defensive spell.


Precast offensive and defensive spells are, of course, safe
from enemy interruptions.  If a precast offensive spell is
triggered by an event, it executes immediately; the only
defense against a precast offensive spell that has just been
triggered is a precast defensive spell.


In general, a mage-to-mage combat may go as follows:

Round 1
- -------
Mage 1 casts offensive spell
Mage 2 casts defensive (shielding) spell

Round 2
- -------
Mage 2 interrupts and changes Mage 1's spell (or fails and is zapped)
Mage 1 casts defensive spell

Round 3
- -------
Mage 1 interrupts and changes Mage 2's defensive spell
...

And so on, until somebody slips up.  There are, of course,
many other possible strategies, some of the most useful
involving precast defensive spells which the enemy cannot
interrupt.




VIII.  Other Combat

Combat against a non-mage follows the same rules outlined above.
A spell takes one round to cast, and only one spell may be cast
by a mage in a given round.  The spell begins to take effect at
the beginning of the next melee round.

A mage may cast an offensive spell, a defensive spell (again,
the distinction between the two is blurred), or may interrupt
one of his own precast spells.  As with standard spells, the
effects of an interrupt begin at the start of the next melee
round.




IX.  Detecting Magic (Precast Spells)

In non-combat situations, it is possible for mages to detect
the exact nature of a precast spell.  A mage can detect a
spell within his casting range which involves elemental forces
in which he has training, by concentrating for 10 minutes, -1
minute per level of the mage over 1st.  This is necessary only
for spell that are not obviously active.  Once the existence of
a spell has been determined, the mage can discover the exact
workings of the spell at the rate of one line of spell "code"
per minute, -5 seconds per level over 1st.  The mage will not
be able to decipher lines containing references to effects
he does not understand.  Each line is also subject to a
Know/Use roll; if the roll is successful, the mage knows the
line of spell code and if not, he knows only that there is
a line of code, but does not know its contents.




X.  Level Advancement

Mage level advancement is directly determined by the amount of magic
the mage uses "in the line of duty".  A mage gets one experience point
for every line of spell description he casts in melee or other non-casual
situations.  Advancement of levels becomes harder with each level advanced.
Going from first to second level requires 100 xp.  From second to third
requires 200 *more* xp.  Third to fourth requires an additional 300 xp.,
and so on.




XI.  Spell Damage and Saving Throws

This section explains how damage and saving throws work for both
single-target and area effect spells of both instantaneous and
extended duration.


XI.1  Spell Damage

Spells cause damage when an effect interacts with an existing
object or being.  Spells can also cause non-damaging results,
which depend on the properties of the given effect.

Damage is based on the the quantity of the effect that interacts
with the target.  The damage potential of the effect is 1 die of
damage per unit volume of the effect that interacts with the
target(s) (rounded up to the nearest unit volume), multiplied
by the potency of the effect (see CREATE).

For example, an orc is hit by a standard fireball, .5 cu. meters in volume,
cast by a 5th level Singular Fire Mage.  The unit volume of Fire is .5 m,
and is equal to 1 die of damage, or 1d12 in this case.  As this was a single
target, and the fireball is smaller than the orc, the orc absorbs the
full damage of the effect, 1d12 damage (assuming he does not make
his saving throw).

Now let's imagine an area of effect fireball, cast by the same mage.
This fireball is scaled up to a 2.5 m diameter sphere (~8 cu. m
in volume), for 16d12 total damage.

This fireball is aimed between two orcs, and partly engulfs
both of them.  Each orc has about 1 cu. m engulfed in the flame.
This means that each orc (assuming they fail their saving throws)
gets 2d12 of Fire damage.

Both of these examples assume a potency of 1; increasing the
potency multiple will multiply the damage taken by that amount.


XI.2  Saving Throws

There is one standard saving throw for all types of magic, corresponding
to a "Save vs. Magic" in other systems.  Since all magic items in the
Mage 2 Mage system are essentially spells bound to objects, there is no
need for a separate saving throw for wands, staves, etc.

Making a saving throw has one of two results.  If the save is versus an
area of effect, it means the victim takes half damage in that round
*and any succeeding round* in which he is still immersed in the effect.
If the save is versus an effect of which the victim is the sole target,
making the saving throw negates (destroys) the effect.

For effects lasting more than one melee round, damage is taken by those
in range of the effect in *each succeeding round*.  However, for each
round that a victim must take damage, he is entitled to a new saving throw,
until he is successful.

Thus, an orc that is caught in a sheet of flame for 3 rounds would take
full damage from the flame each round, unless he made his saving throw.
If he doesn't make it the first round, he can roll again in the second
round, and so on.  If the orc were to make the saving throw in his second
round, he would only receive half damage in the second and third rounds.

Now let's suppose that the orc is the victim of a spell that puts darkness
over his face and keeps it there for three rounds, hence blinding him.
This is a target-victim spell, not an area of effect, so if the orc were
to save on the second round, the darkness would be negated.




XII.  Demons and Elementals

Unlike living creatures of the Material Plane, which consist of complex
matrices composed of varying amounts of all the elemental forces, demons
and elementals are composed of only a single force.

Each demon or elemental lives in the subplane to which it is attuned.
Thus one would expect to see wind demons, ice demons, fog demons, etc.
Demons and elementals are very similar; the key difference is that demons
are sentient, whereas elementals are only of animal intelligence (if that).

Demons and elementals may be summoned from a pure flow of any
appropriate elemental force that is large enough to pass them through
to the Material Plane (pentagrams for demons, trigrams for elementals).
Elementals may be summoned relatively easily, while demons usually appear
only if their True Name is uttered by the mage during the summoning
ritual.  A demon will almost always attempt a contest of wills before obeying
a mage; usually in the form of magical combat.  If the mage loses, he
is liable to be consumed, or worse if the demon is particularly vengeful.
If the mage wins, the Demon is bound to obey a single command as issued
by the mage.  The most common command is to enter an object of power
and maintain its magic (in other words, take ownership of any spells
bound to the object), remaining there until the object or its magic
is destroyed.  This allows the creation of permanent magical items,
since demons are immortal.

Demons are always Singular Mages in the force to which they are attuned,
at a level (and with spell points) commensurate with their hit dice.

There is a small chance that ordinary use of magic may cause an elemental,
or even in rare cases a demon, to be summoned inadvertently.




XIII.  Spirits and Necromancy.

Spirits are the disembodied minds of once-living sentient beings that
for some reason were not extinguished when the being died.  They too
can be summoned by name, using a circle of Darkness.

Summoning a spirit involves much the same dangers as summoning a demon;
spirits are often waiting for the chance to inhabit a living body again,
and will attempt to do so by turning a mage's power against him, and then
invading the freshly-dead body.  Most forms of what are commonly called
"the undead" are the result of spirits gaining control over physical
objects (corpses, skeletons, etc).

Spirits who were mages when they were alive have all the magical ability they
had at that time.  Spirits who were not mages are not useful for creating
permanent magic items, because they cannot use make use of spell points.
They may, however, be useful for questioning and as servants.

Spirits which are not mages may be subdued fairly easily by use of Radiant
Light.  All spirits have the innate ability to manipulate Darkness like a
Singular Mage at a level of ability commensurate with their hit dice.
However, this ability cannot be harnessed for use with a magic item by
the summoning mage.

In darkness, spirits also have the ability to life-drain at a touch.
Summoners of spirits must be very careful not to allow themselves to be
surrounded by darkness, lest he be trapped by the spirit.  Once the spirit
has been subdued in contest, it will remain so until it has completed the
task commanded of it.




XIV.  Summoning Rituals

All discorporeal entities (demons, elementals, and spirits) require special
summoning rituals to call them to the mage's service.  There are four parts
to any summoning ritual, which must be executed in order:

1. Gate
2. Naming
3. Sacrifice
4. Contest


Gate
- ----

The summoner must create (via spell) a gate of appropriate elemental
force, and of the appropriate configuration.  The configurations are:

Trigram:	Elementals
Pentagram:	Demons
Circle:		Spirits

These may be created on any flat, solid surface (stone floors or
walls are the most common places).  The Gate for summoning a
demon or elemental is composed of the elemental force to which
the being to be summoned is attuned; the Gate for summoning a
spirit is always composed of Darkness.


Naming
- ------

Once the Gate has been created, the mage must call upon the being
by name.  In the case of demons and spirits, the True Name of the
being must be uttered three times.  in the case of elementals, which
have no specific names, the general name of the kind of elemental
desired must be uttered instead.  The naming is generally accompanied
by a rhythmic chant (sometimes accompanied by drums) which helps
guide the being to the entrance of the Gate.  The Naming may take
from several minutes for a minor elemental, to hours or even days
for a very great demon.  The naming is complete when a "presence"
is felt near the Gate, usually accompanied by a drop in temperature
in the vicinity of the ritual.  This means that something (hopefully
the summoned being) is on the threshold of the Gate.

The chance of of a being hearing the call is equal to the summoner's
Know/Use percentage -5% for every level above the summoner that the
being is, +3% for every level below the summoner the being is.


Sacrifice
- ---------

All summoned creatures require a sacrifice to bring them across the
threshold of the Gate.  Elementals require only freshly slaughtered
animals; demons generally require a living, sentient sacrifice to
consume.

Spirits are different; their sacrifice must be an object that was
important to the spirit while it was alive.  Images of loved ones,
or symbols of glory are the two most often used objects, but others
may be more appropriate to given instances.

Sacrifices are delivered to the center of the Gate, usually via a
rope or cart, or some other mechanism.  Naught but that which is
to be sacrificed should enter the Gate at this time, any person
who does so is in great peril.

At this point, the being will either accept the sacrifice and enter
through the Gate to take it and meet the summoner, or will reject it
and depart.


Contest
- -------

If the being accepts the sacrifice, the summoner must immediately
be on his guard, for the being will almost certainly attempt a
Contest of Will.  In the case of an elemental, it will attack unless
shown an immediate demonstration of force.  After this is done,
the elemental will obey a single command before returning to its
plane of origin.  Demons and spirits will engage in a full magical
battle with the mage.  If the demon or spirit surrenders, it will
obey a single command as well.  Commands can be phrased so as to
allow a mage to permanently contain a demon or spirit within a magic
item.  Elementals do not serve in this purpose because they have
no magical ability (being non-sentient); their attacks are purely
physical (since they are composed of pure force).

If the mage loses the battle (which must be fought one-on-one for
the victory conditions to hold), the demon or spirit may take
possession of the mage's body and/or soul, unless it is stopped by
companions of the mage.

--<cut>--

--
J C Lawrence                               Internet: claw at kanga.nu
----------(*)                             Internet: coder at kanga.nu
...Honourary Member of Clan McFud -- Teamer's Avenging Monolith...




More information about the MUD-Dev mailing list