Skip to content

Instantly share code, notes, and snippets.

Created February 20, 2014 15:54
Show Gist options
  • Select an option

  • Save anonymous/9116841 to your computer and use it in GitHub Desktop.

Select an option

Save anonymous/9116841 to your computer and use it in GitHub Desktop.
title
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
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