~chiefnoah/spellbook

837c060624304430daa4331686d79776aa657637 — Noah Pederson 1 year, 3 months ago
Initial commit
2 files changed, 64 insertions(+), 0 deletions(-)

A README.md
A magic.fs
A  => README.md +1 -0
@@ 1,1 @@
Spellcasting tools for Mage the Awakening: Second Edition using Forth.

A  => magic.fs +63 -0
@@ 1,63 @@
vocabulary magic also magic definitions

struct cell% field intelligence-dots
    cell% field wits-dots
    cell% field resolve-dots
end-struct mental-attributes

struct
    cell% field strength-dots
    cell% field dexterity-dots
    cell% field stamina-dots
end-struct physical-attributes

struct
    cell% field presence-dots
    cell% field manipulation-dots
    cell% field composure-dots
end-struct social-attributes

\G A struct that keeps track of a mages gnosis and arcanum dots
struct
    cell% field gnosis-dots
    cell% field death-dots
    cell% field fate-dots
    cell% field forces-dots
    cell% field life-dots
    cell% field matter-dots
    cell% field mind-dots
    cell% field prime-dots
    cell% field space-dots
    cell% field spirit-dots
    cell% field time-dots
    mental-attributes field mental-dots
    physical-attributes field physical-dots
    social-attributes field social-dots
end-struct mage-struct

\G Defines constant unique identifiers for the 10 arcanum.
\G These are specifically the offsets into the mage struct
\G but should be set when defining a spell with `spell`.
0 death-dots constant death
0 fate-dots constant fate
0 forces-dots constant forces
0 life-dots constant life
0 matter-dots constasnt matter
0 mind-dots constant mind
0 prime-dots constant prime
0 space-dots constant space
0 spirit-dots constant spirit
0 time-dots constant time


: mage \G Creates a named mage with uninitialized data
  create mage-struct mage-struct %allot ;

: spell \G Creates a named spell with ( dots arcanum -- )
    \G where arcanum is the offset into a `mage-struct`
    \G (ie. the value of 0 <arcanum>-dots)
    create 2, ;

2 death spell

previous