\documentstyle[fullpage,doublespace]{article}
\title{Spell Description language 0.1}
\author{Brian Sniffen}
\begin{document}
\section{Preface}
Presented here is the first draft of the Mage-to-Mage Magical Combat
System and Spell Description Language, that hopefully addresses the issues
raised in recent discussions of spell programming languages and mage-to-mage
combat, while remaining more general than previous offerings of this type.

Some spell construction systems attempt to provide all the functionality 
of traditional spells by enumerating hundreds of specialized primitives.
The high number of primitives present in the some systems
reflects traditional's lack of a distinction between {\em effects}, the actual
physical, biological, or psychic manifestations of magical forces,
and {\em operators} which act to shape those forces into useful configurations.
Note that what most systems call "effects" are actually combinations
of effects and operators, as I've defined them above.

traditional-style spells do not require much distinction between effects and
operators-- they seem to work better without it-- but an object-oriented, 
constructive approach really needs to distinguish between objects (effects) 
and predicates (operators) to be successful and at the same time remain simple.

The system presented here consists of 32 physical effects (an equal numbers
of biological and psychic effects are currently being developed) and 26
operators.  The effects presented here are part of a rationale for magic
that is built into the 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.

This Spell Description Language is intended to fit into a campaign using
modified Shadowrun mechanics. Rather than using spell points or "memorized"
spells, Shadowrun inflicts a fixed amount of stun damage to a mage each time
he casts a certain spell. Powerful mages can soak the stun damage ("drain")
from weak spells, allowing them to cast them more or less indefinately.
A starting character is still unlikely to be able to throw fireballs around
with impunity, however.

Rather than using the obscure and complicated spell creation rules in
the SR Grimoire, SDL allows mages to create and cast their spells on
the fly.  Drain power is proportional to the amount of energy being
poured into the spell, Drain code is proportional to the number of
basic operators used (more on these later), and Drain staging is
proportional to the number of effects used.

In a significant change from the SR system, SDL does not cause
penalties to non-magical actions while sustaining a spell (No more +2
to target number...). Rather, the drain for the spell is resisted
every so often. The larger and more complex a spell is, the more often
its drain gets resisted. Drain is resisted once per hour for one-line
spells, and the frequency increases as the square of the number of
lines, rounded down to units of 3 seconds. (Note that unconscious
mages still resist Drain, {\bf and at a +2 penalty}. A mage held
unconscious by heavy Drain is said to be ``in quiet''). Drain is never
resisted more than once per 3-second combat round. See the following
tables for clarification:


Create and Destroy count as two operators each for this calculation.\\
\begin{tabular}{|c|c|}
\hline Operators\footnote & Drain Code\\
\hline 1 & L \\
\hline 2 & L \\
\hline 3 & M \\
\hline 4 & M \\
\hline 5 & S \\
\hline 6 & S \\
\hline 7 & D \\
\hline 8 & D \\\hline
\end{tabular}

Each time an effect is used, increment this count by one.
Some modifiers will have an effect on this table (e.g. range
extension).\\
\begin{tabular}{|c|c|}
\hline Effect Count & Staging\\
\hline 1 & 1 \\
\hline 2 & 2 \\
\hline 3-4 & 3 \\
\hline 5-8 & 4 \\
\hline 9-16 & 5 \\
\hline 17-32 & 6 \\
\hline 33-64 & 7 \\
\hline 65-128 & 8 \\\hline
\end{tabular}

This is the length of the actual spell in lines. The True Name of the
spell and any power, realism, or range modifiers do not count.\\
\begin{tabular}{|r|l||r|l|}
\hline Length & Minutes & Length & Minutes\\
\hline 1 & 60:00 & 10 & 0:36 \\
\hline 2 & 15:00 & 11 & 0:27 \\
\hline 3 & 6:40 & 12 & 0:24 \\
\hline 4 & 3:45 & 13 & 0:21 \\
\hline 5 & 2:24 & 14 & 0:18 \\
\hline 6 & 1:40 & 15 & 0:15 \\
\hline 7 & 1:12 & 16,17 & 0:12 \\
\hline 8 & 0:54 & 18,19,20 & 0:9 \\
\hline 9 & 0:42 & 21,22,23,24 & 0:6 \\\hline
\end{tabular}

\newpage

\maketitle
\section{Some Magiphysics}
"Magic" itself is not an energy source in any true sense.  It is rather an
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 inate 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, by
the original caster, or by another mage of sufficient power. 
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 transfered 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.  Of course, 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. This is
represented in game terms by resisting stun damage every so often as a
spell is maintained. The damage accumulated from drain will not heal
until after the spell has been released or given away. This creates an
interesting problem for some mages: After failing to resist high-level
drain, they pass out. The spell construct continues to draw energy
through them, producing more drain. As the spell continues to draw
energy through them, they sink deeper into ``quiet''. Until another
mage destroys or takes the spell, the mage is stuck in a strange,
magical dreamworld.

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.

\section{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 consist of 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.
Sentient beings further posess 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 ten primary elemental effects, each residing on a separate plane:

Animalem: The body and mind of beasts.
Water: Liquids in general.
Air: Gases, smokes, and vapors
Body: The body of men.
Herb: Plants and fungi
Fire: Flames, heat, cold
Image: and Illusions: often used with Mentem
Mind: The mind of intelligent creatures
Earth: both the physical stone and the lay of the land.
Magic: metamagic, etc.

Frequently, effects are used in combination to produce stronger
spells.  Some spells cannot be created without the combination of
effects. Mind, Magic, and Air must be combined to cast a spell
affecting a ghost, for example. Magic-Land refers to the spirit world,
the Astral Plane. Or, it might refer to a particular piece of
enchanted ground. It is the will of the caster which matters.

One final characteristic of some importance is that dissimilar effects
may not occupy the same physical space in the same plane.  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 works for all magical effects: a wall of magic fire will block
a scrying spell, while a normal wall would not.

\section{Magical Training and Aptitude}

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

In SR terms, each effect is a concentration of the Spellcasting
Skill. Operators are in turn specializations of the effects. With GM
approval, this may be done the other way around.  Sorcery isn't a
skill, because it's too broad. In any case, the Spellcasting skill
provides a ``sorcery pool'' which may be split 

\section{Operators}

Operators are the core of the Mage-to-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.


\subsection{Operator Summary}


Basic (Effect) Operators
------------------------
create			create a new effect
destroy			destroy a previously created effect
discern			gain information about an effect
mutate			change one effect into another
control			exert change within one effect

Control Operators
-----------------
move			move an effect to a new location
rotate			rotate an effect around any axis
scale			resize a previously created effect
shape			form an effect into a desired shape

Path (Shape) Operators
----------------------
fill			fill a closed polygonal (2D) area
lineto			extrude an effect along a given line
surface			mold an effect along a given surface
volume			form an effect to fit a specified volume

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

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


Event Operators
---------------

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			bind a spell's range relative to a given object
interrupt		alter a given spell
makeowner		reassign ownership of given spell to a new mage
power			change a spell's power
range			change a spell's range
resume			resume an interrupted spell
<spellname>:		assign a spell a name



\end{document}




