The Science Of Magic
Forces:
Spatial Manipulation:
- Manipulate (Attract/Repel/Move) (Velocity Manipulation)
- Spin (Angular Velocity Manipulation)
Atomic Manipulation:
- Compress <--> Expand
- Bind <--> Release (Transmutation/Alchemy)
- Shape
Energy Manipulation
- Infuse <--> Divest
- Reflect <--> Absorb
- Convert
Force Modifiers:
- Entropy: Orderly <--> Chaotic
- State: Bound <--> Unbound
- Charge: Positive <--> Negative
- Strength: Strengthen <--> Weaken
- Purity: Purify <--> Contaminate
Neutral Force:
- Stasis
Input/Detection Thaums:
- Connect (Energy)
- Detect (Energy/Matter)
- Select (Matter)
Mechanical Manipulation (Golemancy)
- Rotate
- Translate (Piston)
Spell Elements:
Matter:
- Gasses
- Liquids
- Solids
- Plasma
Energies:
- Light
- Electricity/Electromagnetism
- Kinetic/Heat
- Magnetism/Gravity
- Life (???)
- Soul (Mysterious and bizarre)
- Mana
Spell Formula Notation
- Vertical Pipe ‘|’ denotes a combination of two or more forces or modifiers.
- Asterisk ‘*’ denotes the application of forces to target element/energy. e.g. Repel | Spin * Target
- A plus ‘+’ separates independent reactions in the spell’s instruction chain. Both reactions are occurring simultaneously.
- A minus ‘-’ separates dependent reactions in the spell’s instruction chain. The right reaction must follow the left reaction sequentially.
- A greater than ‘>’ means that the result of the left side of the equation is the target of the right side. (Mainly used in Alchemy)
- Modifiers shall be surrounded with square brackets.
- Infuse takes one or multiple energies inside brackets, e.g.
infuse(life [positive]) [orderly] * target
- Shape takes the target shape inside brackets, e.g:
Shape("Sphere")
- A variable shall be prefixed by the dollar sign ‘$’, and a semicolon ‘;' shall separate assignment and the next part of the equation, e.g
$energyType = ‘Light’ - Infuse($energyType) * Target
- A conditional statement shall look like this:
$(condition) {reaction for true condition} {reaction for false condition}
Spell Examples:
Repel * Air = Gale
Bind | Compress * Air = Air Bubble
Repel | Compress * Air > Expand = Sonic Boom
Repel | Spin * Air = Whirlwind
Infuse(Heat) * Air = Warmth
Repel | Infuse (Heat) [Chaotic] * Air = Fireball
Repel | Infuse (Heat) [Orderly] | Spin [Orderly] * Air = Whirling Flames
Divest(Heat) * Air = Chill
Divest(Heat) * Water = Frost
Divest (Heat) | Compress | Shape ("Wall") * Water = Ice Wall
$energy = Detect() | Shape("Sphere") - $(energy == 'Mana') {$energy} {Convert('Mana') * $energy} > Absorb = Energy Shield