-
-
Save Ragzouken/9116866 to your computer and use it in GitHub Desktop.
chaos wizard ii: spellcrafter source
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Play this game by pasting the script in http://www.puzzlescript.net/editor.html |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| title chaos wizard ii: spellcrafter | |
| author mark wonnacott | |
| homepage http://twitter.com/ragzouken | |
| youtube JDIj3zPwEvw | |
| realtime_interval 0.1 | |
| (verbose_logging) | |
| ======== | |
| OBJECTS | |
| ======== | |
| Background | |
| black darkblue | |
| 00010 | |
| 00000 | |
| 00000 | |
| 01000 | |
| 00000 | |
| Floor | |
| darkblue darkgreen | |
| 00000 | |
| 01000 | |
| 00010 | |
| 00001 | |
| 00100 | |
| Dirt | |
| black darkbrown darkblue | |
| 01112 | |
| 21212 | |
| 02121 | |
| 20021 | |
| 00010 | |
| Wall | |
| darkgreen grey darkgrey | |
| 01112 | |
| 21212 | |
| 02121 | |
| 20021 | |
| 00010 | |
| Cursor | |
| white | |
| .0.0. | |
| 0...0 | |
| ..... | |
| 0...0 | |
| .0.0. | |
| WhispControl | |
| blue | |
| ..... | |
| ..... | |
| 00000 | |
| ..... | |
| ..... | |
| ManaSigil | |
| red darkred | |
| .111. | |
| 1.0.1 | |
| 10.01 | |
| 1.0.1 | |
| .111. | |
| InvokeSigil | |
| red darkred | |
| 1.0.1 | |
| ..0.. | |
| 00000 | |
| ..0.. | |
| 1.0.1 | |
| LeftSigil | |
| red darkred | |
| ..0.1 | |
| .0.1. | |
| 0.1.. | |
| .0.1. | |
| ..0.1 | |
| RightSigil | |
| red darkred | |
| 1.0.. | |
| .1.0. | |
| ..1.0 | |
| .1.0. | |
| 1.0.. | |
| ForwardSigil | |
| red darkred | |
| ..0.. | |
| .0.0. | |
| 0.1.0 | |
| .1.1. | |
| 1...1 | |
| Red | |
| red lightred darkred | |
| ..0.. | |
| .010. | |
| 22110 | |
| .220. | |
| ..2.. | |
| Blue | |
| blue lightblue purple | |
| ..0.. | |
| .010. | |
| 22110 | |
| .220. | |
| ..2.. | |
| Green | |
| green lightgreen darkgreen | |
| ..0.. | |
| .010. | |
| 22110 | |
| .220. | |
| ..2.. | |
| Silver | |
| grey lightgrey darkgrey | |
| ..0.. | |
| .010. | |
| 22110 | |
| .220. | |
| ..2.. | |
| Orange | |
| orange yellow red | |
| ..0.. | |
| .010. | |
| 22110 | |
| .220. | |
| ..2.. | |
| Neutral | |
| white | |
| ..... | |
| ..0.. | |
| .000. | |
| ..0.. | |
| ..... | |
| Hold | |
| blue lightblue | |
| .1.1. | |
| 1.0.1 | |
| .0.0. | |
| 1.0.1 | |
| .1.1. | |
| Burn | |
| red orange yellow white | |
| .010. | |
| 01210 | |
| 12321 | |
| 01210 | |
| .010. | |
| Build | |
| orange yellow red | |
| 10.01 | |
| 00000 | |
| .0.0. | |
| 00000 | |
| 10.01 | |
| Executed | |
| darkgreen | |
| (darkblue darkgreen | |
| 00000 | |
| 01000 | |
| 00010 | |
| 00001 | |
| 00100) | |
| Wizard | |
| black darkgrey yellow | |
| ..1.. | |
| .111. | |
| .212. | |
| 00100 | |
| 00000 | |
| Exit | |
| darkblue black darkgreen | |
| 00002 | |
| 02000 | |
| 01010 | |
| 10101 | |
| 11111 | |
| MoveUp | |
| white | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| MoveDown | |
| white | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| MoveLeft | |
| white | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| MoveRight | |
| white | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| Edge | |
| white | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ======= | |
| LEGEND | |
| ======= | |
| _ = Background | |
| . = Floor | |
| # = Dirt | |
| X = Wall | |
| @ = Wizard and Floor | |
| ! = Exit | |
| r = Red and Floor | |
| b = Blue and Floor | |
| g = Green and Floor | |
| s = Silver and Floor | |
| o = Orange and Floor | |
| * = Edge | |
| Mana = Red or Blue or Green or Silver or Orange | |
| Command = MoveUp or MoveDown or MoveRight or MoveLeft | |
| Sigil = InvokeSigil or LeftSigil or RightSigil or ManaSigil or ForwardSigil | |
| Whisp = Neutral or Hold or Burn or Build | |
| InvocationInhibitor = Cursor or WhispControl or Whisp | |
| Moveable = Wizard or Mana | |
| Barrier = Dirt or Wall | |
| Player = Wizard | |
| Interactable = Barrier (or Mana) | |
| Surface = Floor or Exit or Executed | |
| ======= | |
| SOUNDS | |
| ======= | |
| sfx0 68148303 (cast) | |
| sfx1 24680901 (fall) | |
| sfx3 44666101 (build) | |
| Burn destroy 17088108 | |
| ================ | |
| COLLISIONLAYERS | |
| ================ | |
| Background | |
| Surface, Edge | |
| Sigil | |
| Wizard, Barrier, Mana | |
| Cursor, Command | |
| Whisp, WhispControl | |
| ====== | |
| RULES | |
| ====== | |
| (INTERFACE) | |
| ============ | |
| (cursor movement) | |
| [ Cursor | ... | parallel Wizard ] -> [ parallel Cursor | ... | Wizard ] | |
| [ Cursor Sigil | ... | perpendicular Wizard ] -> [ Cursor perpendicular Sigil | ... | Wizard ] | |
| [ Cursor orthogonal Wizard ] -> [ orthogonal Cursor Wizard ] | |
| (telekinesis) | |
| [ > Cursor | Mana ] -> [ > Cursor | > Mana ] | |
| (cursor obstacles) | |
| [ > Cursor | no Floor ] -> [ Cursor | no Floor ] | |
| [ > Cursor | Barrier ] -> [ Cursor | Barrier ] | |
| [ Cursor no Sigil no Wizard ] [ action Wizard ] -> [ action Cursor ] [ Wizard ] | |
| [ Cursor no Sigil no Wizard ] [ moving Wizard ] -> [ ] [ moving Wizard ] | |
| [ action Cursor no Sigil Mana ] -> [ Cursor ManaSigil Mana ] | |
| [ InvokeSigil ] [ action Cursor no Sigil ] -> [ ] [ Cursor InvokeSigil ] | |
| [ action Cursor no Sigil ] -> [ Cursor InvokeSigil ] | |
| (sigil scroll order) | |
| [ ^ Sigil | ... | Wizard ] -> [ left Sigil | ... | Wizard ] | |
| [ v Sigil | ... | Wizard ] -> [ right Sigil | ... | Wizard ] | |
| left [ < InvokeSigil ] -> [ ForwardSigil ] | |
| left [ < ForwardSigil ] -> [ LeftSigil ] | |
| left [ < LeftSigil ] -> [ ManaSigil ] | |
| left [ < ManaSigil ] -> [ RightSigil ] | |
| left [ < RightSigil ] -> [ InvokeSigil ] | |
| left [ > InvokeSigil ] -> [ RightSigil ] | |
| left [ > RightSigil ] -> [ ManaSigil ] | |
| left [ > ManaSigil ] -> [ LeftSigil ] | |
| left [ > LeftSigil ] -> [ ForwardSigil ] | |
| left [ > ForwardSigil ] -> [ InvokeSigil ] | |
| (cursor toggle) | |
| [ Cursor action Wizard ] -> [ Wizard ] (exit write mode) | |
| [ InvocationInhibitor ] [ action Wizard ] -> [ InvocationInhibitor ] [ Wizard ] (ignore other actions in write mode or if a spell is executing) | |
| [ action Wizard ] -> [ Wizard Cursor ] (enter write mode) | |
| (WIZARD) | |
| ========= | |
| (objects fall) | |
| [ Moveable no Hold no Surface ] -> [ ] sfx1 | |
| (pushing mana) | |
| [ parallel Wizard | Mana ] -> [ parallel Wizard | parallel Mana ] | |
| [ > Mana | Mana ] -> [ > Mana | > Mana ] | |
| (MAGIC) | |
| ======== | |
| (implicit mana sigil when invoking next to mana - emulates chaos wizard i spells) | |
| [ no Sigil | InvokeSigil | Mana no Sigil ] -> [ | InvokeSigil | Mana ManaSigil ] | |
| ((legacy spells - detect if only an invocation and mana sigil are present) | |
| [ InvokeSigil | Blue ManaSigil ] -> [ action InvokeSigil | Blue action ManaSigil ] | |
| [ InvokeSigil | Red ManaSigil ] -> [ action InvokeSigil | Red action ManaSigil ] | |
| [ InvokeSigil | Green ManaSigil ] -> [ action InvokeSigil | Green action ManaSigil ] | |
| [ InvokeSigil | Silver ManaSigil ] -> [ action InvokeSigil | Silver action ManaSigil ] | |
| [ stationary Sigil ] [ action Sigil ] -> [ Sigil ] [ Sigil ] | |
| [ InvocationInhibitor ] [ action Sigil ] -> [ InvocationInhibitor ] [ Sigil ] | |
| [ action InvokeSigil | Blue action ManaSigil ] -> [ < Hold | ] | |
| [ action InvokeSigil | Red action ManaSigil ] -> [ < Burn | ] | |
| [ action InvokeSigil | Green action ManaSigil | Mana ] -> [ Mana | Mana | Mana ] (maybe only red/blue) | |
| [ action InvokeSigil | Green action ManaSigil ] -> [ Red | Blue ] | |
| ([ action InvokeSigil | Silver action ManaSigil ] -> [ < Burn | ]) | |
| [ action Sigil ] -> [ Sigil ]) | |
| (invocation) | |
| [ stationary InvokeSigil | Sigil ] -> [ > InvokeSigil | Sigil ] | |
| [ InvocationInhibitor ] [ moving InvokeSigil ] -> [ InvocationInhibitor ] [ InvokeSigil ] | |
| [ > InvokeSigil | Sigil ] -> [ < Neutral InvokeSigil Executed | WhispControl Sigil ] sfx0 | |
| (shortcut to create directional Whisps after invocation) | |
| [ up Whisp ] -> [ Whisp MoveUp ] | |
| [ down Whisp ] -> [ Whisp MoveDown ] | |
| [ left Whisp ] -> [ Whisp MoveLeft ] | |
| [ right Whisp ] -> [ Whisp MoveRight ] | |
| (shortcut to create directional Whisps) | |
| [ Whisp MoveUp ] -> [ up Whisp MoveUp ] | |
| [ Whisp MoveDown ] -> [ down Whisp MoveDown ] | |
| [ Whisp MoveLeft ] -> [ left Whisp MoveLeft ] | |
| [ Whisp MoveRight ] -> [ right Whisp MoveRight ] | |
| (invokation triggers first instruction) | |
| [ InvokeSigil Whisp ] -> [ action Whisp ] | |
| (mark whisps that would collide, pause them) | |
| [ no Executed Sigil WhispControl ] [ > Whisp Command | Interactable ] -> [ no Executed Sigil WhispControl ] [ action Whisp action Command | Interactable ] | |
| (unmark all whisps if some are not colliding) | |
| [ orthogonal Whisp ] [ action Whisp ] -> [ orthogonal Whisp ] [ Whisp ] | |
| (check turn sigils for colliding whisps, setting commands to turn left or right if necessary) | |
| [ action Whisp Command ] [ Executed | no Executed ForwardSigil WhispControl ] -> [ up Command Whisp ] [ Executed | ForwardSigil action WhispControl ] | |
| [ action Whisp Command ] [ Executed | no Executed LeftSigil WhispControl ] -> [ left Command Whisp ] [ Executed | LeftSigil action WhispControl ] | |
| [ action Whisp Command ] [ Executed | no Executed RightSigil WhispControl ] -> [ right Command Whisp ] [ Executed | RightSigil action WhispControl ] | |
| (mark sigil as executed and set control to advance) | |
| [ Executed | no Executed Sigil action WhispControl ] -> [ Executed | Executed Sigil > WhispControl ] | |
| [ Whisp up MoveUp ] -> [ up Whisp up MoveUp ] | |
| [ Whisp up MoveDown ] -> [ down Whisp up MoveDown ] | |
| [ Whisp up MoveLeft ] -> [ left Whisp up MoveLeft ] | |
| [ Whisp up MoveRight ] -> [ right Whisp up MoveRight ] | |
| [ > Whisp up Command | no Barrier ] -> [ Whisp action Command | ] | |
| [ ^ Whisp up Command | no Barrier ] -> [ Whisp right Command | ] | |
| [ v Whisp up Command | no Barrier ] -> [ Whisp left Command | ] | |
| [ orthogonal Whisp ] -> [ Whisp ] | |
| (update commands which are set to turn) | |
| [ Whisp right MoveUp ] -> [ Whisp action MoveRight ] | |
| [ Whisp right MoveDown ] -> [ Whisp action MoveLeft ] | |
| [ Whisp right MoveLeft ] -> [ Whisp action MoveUp ] | |
| [ Whisp right MoveRight ] -> [ Whisp action MoveDown ] | |
| [ Whisp left MoveUp ] -> [ Whisp action MoveLeft ] | |
| [ Whisp left MoveDown ] -> [ Whisp action MoveRight ] | |
| [ Whisp left MoveLeft ] -> [ Whisp action MoveDown ] | |
| [ Whisp left MoveRight ] -> [ Whisp action MoveUp ] | |
| [ moving Command ] -> [ action Command ] | |
| (mana sigils - change whisp type or amplify whisps) | |
| [ action Whisp Command ] [ Executed | no Executed ManaSigil Mana WhispControl ] -> [ Whisp action Command ] [ Executed | ManaSigil action Mana > WhispControl ] | |
| [ Whisp ] [ action Blue ] -> [ Hold ] [ action Blue ] (blue - hold) | |
| [ Whisp ] [ action Red ] -> [ Burn ] [ action Red ] (red - burn) | |
| [ Whisp ] [ action Orange ] -> [ Build ] [ action Orange ] (orange - build) | |
| [ action Whisp Command ] [ Executed | no Executed no Mana ManaSigil WhispControl ] -> [ Neutral Command ] [ Executed | Executed ManaSigil > WhispControl ] (no mana - revert to neutral) | |
| (unmark whisps) | |
| [ moving Whisp ] -> [ Whisp ] | |
| [ action Silver ] [ Whisp ] -> [ action Silver ] [ action Whisp ] | |
| (amplify) (possible bug with new use of action whisp) | |
| up [ action Silver ] [ action Whisp no MoveDown | ] -> [ action Silver ] [ action Whisp | Whisp action MoveUp ] | |
| down [ action Silver ] [ action Whisp no MoveUp | ] -> [ action Silver ] [ action Whisp | Whisp action MoveDown ] | |
| left [ action Silver ] [ action Whisp no MoveRight | ] -> [ action Silver ] [ action Whisp | Whisp action MoveLeft ] | |
| right [ action Silver ] [ action Whisp no MoveLeft | ] -> [ action Silver ] [ action Whisp | Whisp action MoveRight ] | |
| (fizzle used mana ores) | |
| [ Executed | action Mana WhispControl ] -> [ Executed | Executed > WhispControl ] | |
| (burn) | |
| [ Burn Dirt ] -> [ action Neutral Floor ] | |
| [ Burn Mana ] -> [ action Neutral ] | |
| (build) | |
| [ Build no Floor no Executed ] -> [ Build Floor ] sfx3 | |
| (fizzle amplified whisps) | |
| [ action Whisp Command ] -> [ ] | |
| (fizzle whisps, sigils, executed) | |
| [ Whisp Interactable ] -> [ Interactable ] | |
| (mark control whisp as done) | |
| [ WhispControl no Sigil ] -> [ action WhispControl ] | |
| (unmark control whisp is some whisps have yet to fizzle) | |
| [ Whisp ] [ action WhispControl ] -> [ Whisp ] [ WhispControl ] | |
| (fizzle all sigils if the control whisp is still marked) | |
| [ Sigil ] [ action WhispControl ] -> [ ] [ action WhispControl ] | |
| (fizzle whisp control) | |
| [ action WhispControl ] -> [ ] | |
| [ Command no Whisp ] -> [ ] | |
| [ Whisp no Command ] -> [ ] | |
| [ Executed ] -> [ action Executed ] | |
| [ action Executed | Sigil ] -> [ Executed | Sigil ] | |
| [ action Executed ] -> [ Floor ] | |
| (shortcut to create directional Whisps) | |
| [ up Whisp ] -> [ Whisp MoveUp ] | |
| [ down Whisp ] -> [ Whisp MoveDown ] | |
| [ left Whisp ] -> [ Whisp MoveLeft ] | |
| [ right Whisp ] -> [ Whisp MoveRight ] | |
| (apply movement to Whisps) | |
| [ Whisp stationary MoveUp ] -> [ up Whisp up MoveUp ] | |
| [ Whisp stationary MoveDown ] -> [ down Whisp down MoveDown ] | |
| [ Whisp stationary MoveLeft ] -> [ left Whisp left MoveLeft ] | |
| [ Whisp stationary MoveRight ] -> [ right Whisp right MoveRight ] | |
| (hold) | |
| [ > Hold Moveable ] -> [ > Hold > Moveable ] | |
| (fizzle whisps colliding with whisps) | |
| [ > Whisp Command | WhispControl ] -> [ | WhispControl ] | |
| [ > Whisp Command | Whisp Command ] -> [ | Whisp Command ] | |
| (fizzle whisps touching an exit) | |
| [ Whisp Command Exit ] -> [ Exit ] | |
| [ Whisp Command Edge ] -> [ Edge ] | |
| ============== | |
| WINCONDITIONS | |
| ============== | |
| some Wizard on Exit | |
| ======= | |
| LEVELS | |
| ======= | |
| message with your father defeated, your ancestral memories are unlocked and your powers reach their apex | |
| message a full vocabulary of sigils gives you greater command over mana, and you may now extend your influence beyond your corporeal form | |
| ###xxxxx### | |
| ###xr.bx### | |
| ###x...x### | |
| xxxx.@.xxxx | |
| *___...__## | |
| #___...___# | |
| #__##.#_##* | |
| #_#_####__# | |
| *__######_# | |
| #___###__#* | |
| *##_..#_### | |
| xxxx...xxxx | |
| ###x...x### | |
| ###x!!!x### | |
| ###xxx### | |
| xxxx.xxxx | |
| x#......x | |
| x#x___x.x | |
| xxx..#x.x | |
| x._.o._.x | |
| x.x...x.x | |
| xrxg..x.x | |
| x.x...x.x | |
| x.x..bx.x | |
| x._...x.x | |
| x#x..sx.x | |
| x.x...x.x | |
| x.x.@.x.x | |
| x.x...x.x | |
| x....#..x | |
| xxxxxxxxx | |
| ##xxxxx#xxxxxx | |
| ##x___x#xr#__x | |
| ##x___x#xxx__x | |
| xxx___xxxxx__x | |
| x____________x | |
| x___#________x | |
| x____________x | |
| x__..________x | |
| x__..._______x | |
| xxx...xxxxx__x | |
| ##x.@sx###x__x | |
| ##x...x#xxx__x | |
| ##xo.sx#xr#__x | |
| ##xxxxx#xxxxxx | |
| ##xxxxx## | |
| ##x___x## | |
| ##x___x## | |
| xxx___xxx | |
| x_______x | |
| x_______x | |
| x_______x | |
| x_______x | |
| x__...__x | |
| xxx...xxx | |
| ##x.@sx## | |
| ##x...x## | |
| ##xg.sx## | |
| ##xxxxx## | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment