Skip to content

Instantly share code, notes, and snippets.

@voodooattack
Last active September 16, 2018 20:13
Show Gist options
  • Save voodooattack/5cfad4073139ea9f508162b4fbc7ee89 to your computer and use it in GitHub Desktop.
Save voodooattack/5cfad4073139ea9f508162b4fbc7ee89 to your computer and use it in GitHub Desktop.
Spell specs for the story: The Magineer, you can read it at: https://www.themagineer.com/. The official document is now located at: https://www.themagineer.com/spell-syntax

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 Forces

  • 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment