Created
May 10, 2018 22:42
-
-
Save starry-abyss/a1e5d0e1aecfae8800ef17044c24b316 to your computer and use it in GitHub Desktop.
PuzzleScript Game
This file contains 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 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 Two and a Half | |
author scorched | |
homepage igorsgames.itch.io | |
color_palette 2 | |
(debug) | |
background_color black | |
text_color lightgrey | |
key_repeat_interval 0.3 | |
again_interval 0.1 | |
(require_player_movement) | |
(run_rules_on_level_start) | |
noaction | |
======== | |
OBJECTS | |
======== | |
HansDown | |
#f89c79 #7d6440 #4a2f31 | |
..0.. | |
.111. | |
11111 | |
.111. | |
.2.1. | |
HansRight | |
#f89c79 #7d6440 | |
..0.. | |
..1.. | |
..11. | |
..1.. | |
..1.. | |
HansLeft | |
#f89c79 #7d6440 | |
..0.. | |
..1.. | |
.11.. | |
..1.. | |
..1.. | |
HansUp | |
#4a2f31 #7d6440 | |
..0.. | |
.111. | |
11111 | |
.111. | |
.1.0. | |
HansChildDown | |
#f89c79 #f8cdcb #7c73b1 #7d6440 #4a2f31 | |
..01. | |
.232. | |
33233 | |
.333. | |
.4.3. | |
HansChildRight | |
#f5da16 #f89c79 #7c73b1 #7d6440 | |
.01.. | |
.22.. | |
.233. | |
.23.. | |
..3.. | |
HansChildLeft | |
#f89c79 #f5da16 #7c73b1 #7d6440 | |
..01. | |
..22. | |
.332. | |
..32. | |
..3.. | |
HansChildUp | |
#f5da16 #4a2f31 #7c73b1 #7d6440 | |
.01.. | |
.223. | |
32223 | |
.232. | |
.3.1. | |
MaryLeft | |
#ef9f10 #46c2e3 | |
..0.. | |
..10. | |
.110. | |
..1.. | |
.111. | |
MaryRight | |
#ef9f10 #46c2e3 | |
..0.. | |
.01.. | |
.011. | |
..1.. | |
.111. | |
PaulDown | |
#f89c79 #236e33 | |
..0.. | |
.111. | |
11111 | |
.111. | |
.1.1. | |
PaulRight | |
#f89c79 #236e33 | |
..0.. | |
..1.. | |
..11. | |
..1.. | |
..1.. | |
PaulLeft | |
#f89c79 #236e33 | |
..0.. | |
..1.. | |
.11.. | |
..1.. | |
..1.. | |
Pauldead | |
#f89c79 #236e33 | |
..... | |
..... | |
..... | |
.111. | |
11110 | |
PaulUp | |
#f5da16 #236e33 | |
..0.. | |
.111. | |
11111 | |
.111. | |
.1.1. | |
ground | |
darkgrey | |
grass | |
GREEN | |
(bg2 | |
darkgreen) | |
Cliff | |
brown | |
WallTown | |
#8F8F8F | |
00000 | |
00000 | |
00000 | |
00000 | |
00000 | |
(00000 | |
01110 | |
01110 | |
01110 | |
00000) | |
Wood | |
#644d3d #4a2f31 | |
..00. | |
.0011 | |
0111. | |
10.0. | |
.000. | |
(..00. | |
.0011 | |
0111. | |
10.0. | |
.000.) | |
Fire | |
Orange Yellow | |
.0... | |
..1.. | |
0.0.. | |
.100. | |
.00.. | |
(Fire2 | |
Orange Yellow | |
...1. | |
.10.. | |
001.0 | |
.000. | |
.00..) | |
FireTemp | |
Orange Yellow | |
...1. | |
.10.. | |
001.0 | |
.000. | |
.00.. | |
WeakWall | |
#8F8F8F | |
.00.. | |
.000. | |
00000 | |
0000. | |
..... | |
(PlayerAlone | |
Blue Yellow | |
01000 | |
01011 | |
01001 | |
01111 | |
00000 | |
PlayerWithChild | |
Pink Yellow | |
01000 | |
01011 | |
01001 | |
01111 | |
00000) | |
DeadPlayer | |
#7d6440 #4a2f31 | |
..... | |
..... | |
..... | |
.000. | |
00001 | |
(Bullet | |
Red) | |
Exit | |
#f0f0f0 #8f8f8f | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
explosive | |
#a13715 #ef9f10 | |
..... | |
.000. | |
.111. | |
.000. | |
.111. | |
Boom0 | |
#f5da16 | |
.00.. | |
0.000 | |
0.000 | |
0000. | |
.0.0. | |
Boom1 | |
#f5da16 | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
Boom2 | |
#f5da16 | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
Boom3 | |
#f5da16 | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
Boom4 | |
#f5da16 | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
Boom5 | |
#f5da16 | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
Child | |
#f8cdcb #7c73b1 | |
..... | |
..0.. | |
.111. | |
..1.. | |
.1.1. | |
ChildDead | |
#7c73b1 #f5da16 | |
..... | |
..... | |
..... | |
..0.. | |
0001. | |
boomsmoke | |
black transparent | |
00001 | |
10011 | |
01100 | |
10000 | |
11111 | |
Smoke1 | |
black transparent | |
00001 | |
10011 | |
01100 | |
10000 | |
11111 | |
(timer1 | |
transparent | |
timer2 | |
transparent | |
timer3 | |
transparent) | |
target1 | |
Red transparent | |
11011 | |
11011 | |
11011 | |
11011 | |
11011 | |
target2 | |
Red transparent | |
10101 | |
10101 | |
10101 | |
10101 | |
10101 | |
target3 | |
Red transparent | |
01010 | |
01010 | |
01010 | |
01010 | |
01010 | |
indicatorEmpty | |
Red transparent black | |
11111 | |
22222 | |
22222 | |
22222 | |
11111 | |
indicatorEnd | |
transparent | |
indicatorBoom1 | |
Red transparent black | |
11111 | |
22022 | |
22022 | |
22022 | |
11111 | |
indicatorBoom2 | |
Red transparent black | |
11111 | |
20202 | |
20202 | |
20202 | |
11111 | |
indicatorBoom3 | |
Red transparent black | |
11111 | |
02020 | |
02020 | |
02020 | |
11111 | |
indicatorArrow | |
Red transparent black | |
11110 | |
22202 | |
22000 | |
22202 | |
11110 | |
indicatorArrowSecond | |
Red transparent black | |
11011 | |
20222 | |
00022 | |
20222 | |
11011 | |
indicatorArrowTemp | |
transparent | |
cutscene | |
transparent | |
nearriver | |
transparent | |
river | |
blue | |
0000. | |
00000 | |
00000 | |
00000 | |
.0000 | |
blood1 | |
red | |
..... | |
.0... | |
..... | |
..0.. | |
..... | |
blood2 | |
red | |
.0... | |
..0.. | |
..00. | |
..0.. | |
..... | |
shootzone1 | |
transparent | |
shootzone2 | |
transparent | |
shootzone3 | |
transparent | |
bosslevel | |
transparent | |
(paul | |
red) | |
======= | |
LEGEND | |
======= | |
Background = ground or grass | |
PlayerAlone = HansUp or HansDown or HansLeft or HansRight | |
PlayerWithChild = HansChildUp or HansChildDown or HansChildLeft or HansChildRight | |
Player = PlayerAlone or PlayerWithChild | |
Mary = MaryLeft or MaryRight | |
Paul = PaulUp or PaulDown or PaulLeft or PaulRight | |
wall = walltown or cliff | |
(fire = fire2 or fire2) | |
, = grass | |
. = ground | |
o = Walltown | |
u = Cliff | |
(p = PlayerAlone) | |
p = HansDown | |
_ = wood | |
: = weakwall | |
(@ = Crate and Target) | |
(o = Target) | |
E = Exit | |
(1 = healthstart) | |
1 = target1 and walltown | |
2 = target2 and walltown | |
3 = target3 and walltown | |
9 = blood1 | |
0 = blood2 | |
m = MaryLeft | |
c = Child | |
B = explosive (and wood) | |
` = indicatorEmpty and walltown | |
! = indicatorBoom1 and walltown and indicatorEmpty | |
@ = indicatorBoom2 and walltown and indicatorEmpty | |
# = indicatorBoom3 and walltown and indicatorEmpty | |
A = indicatorArrowSecond and walltown | |
$ = indicatorEmpty and indicatorEnd and walltown | |
(> = indicatorArrowTemp) | |
target = target1 or target2 or target3 | |
(timer = timer1 or timer2 or timer3) | |
boom = boom1 or boom2 or boom3 or boom4 or boom5 or boom0 | |
smoke = smoke1 | |
(Danger = Fire or Boom or Smoke) | |
Danger = Boom or Smoke | |
* = Boom5 | |
s = cutscene | |
r = river | |
n = nearriver | |
l = PaulLeft | |
shootzone = shootzone1 or shootzone2 or shootzone3 | |
z = fire and wood | |
(z = shootzone) | |
q = bosslevel | |
======= | |
SOUNDS | |
======= | |
(Crate Move 412312) | |
(Boom Create 641667) | |
(Boom Create 87044702) | |
Boom Create 34704108 | |
Fire Create 4852702 | |
explosive Move 86057307 | |
EndLevel 73779909 | |
player CantMove 57197107 | |
(playerwithchild create 61697303) | |
(weakwall destroy 96214902) | |
(showmessage ) | |
(menucursor move 86057307) | |
CloseMessage 42276907 | |
(bomb) | |
sfx0 49071502 | |
(player dies) | |
sfx1 50875704 | |
(child dies) | |
sfx2 72098504 | |
(hint) | |
sfx3 71102906 | |
(weakwall destroy) | |
sfx4 96214902 | |
(fire) | |
(sfx5 4852702) | |
(child rescue) | |
sfx6 61697303 (84235103) | |
(cutscene boom) | |
sfx7 34704108 | |
(gun shot) | |
sfx8 39147102 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
Exit, indicatorEnd, river, wood, blood1, blood2 | |
(Bullet) | |
Player, Wall, DeadPlayer, explosive, Child, ChildDead, Weakwall, Paul, Mary, pauldead | |
Fire, FireTemp | |
smoke, boomsmoke | |
target | |
Boom | |
indicatorEmpty, indicatorArrow, indicatorArrowTemp, indicatorArrowSecond | |
indicatorBoom1, indicatorBoom2, indicatorBoom3, cutscene, nearriver, bosslevel | |
shootzone | |
====== | |
RULES | |
====== | |
startLoop | |
[boom2 | no boom ] -> [boom2 | boom1] | |
[boom3 | no boom ] -> [boom3 | boom2] | |
[boom4 | no boom ] -> [boom4 | boom3] | |
[boom5 | no boom ] -> [boom5 | boom4] | |
endLoop | |
[boomsmoke] -> [] | |
[boom0] -> [boomsmoke] | |
[boom] -> [boom0] | |
(late [boom5] -> [Smoke1]) | |
[boom wood] -> [boom fire wood] | |
[boom weakwall] -> [boom no weakwall] sfx4 | |
[fireTemp] -> [fire] | |
[fire | wood no fire] -> [fire | wood fireTemp] | |
[smoke | no boom no fire] -> [ | ] | |
[Fire no boom | no Fire] -> [Fire | Smoke1] | |
([fire] -> [fire] sfx5) | |
late [player Danger] -> [deadplayer Danger] sfx1 | |
late [child Danger] -> [childdead Danger] sfx2 | |
([> playerAlone | child] -> [> playerWithChild | ]) | |
[> playerAlone | child] -> [> HansChildDown | ] sfx6 | |
[explosive boom] -> [boom3] | |
[explosive | fire] -> [boom3 | fire] | |
[indicatorBoom1] [boom target1] -> [indicatorEmpty] [boom] | |
[indicatorBoom2] [boom target2] -> [indicatorEmpty] [boom] | |
[indicatorBoom3] [boom target3] -> [indicatorEmpty] [boom] | |
late [indicatorArrow indicatorBoom1] [target1] -> [indicatorArrow] [boom4] sfx0 | |
late [indicatorArrow indicatorBoom2] [target2] -> [indicatorArrow] [boom4] sfx0 | |
late [indicatorArrow indicatorBoom3] [target3] -> [indicatorArrow] [boom4] sfx0 | |
left [indicatorArrowSecond | indicatorEmpty] -> [indicatorEmpty | indicatorArrowTemp] | |
[indicatorArrowSecond indicatorEnd] -> [indicatorEmpty] | |
[indicatorArrow] -> [indicatorArrowSecond] | |
[indicatorArrowTemp] -> [indicatorArrow] | |
[ > Player | explosive ] -> [ > Player | > explosive ] | |
([> PlayerWithChild | Exit] [Child] -> [PlayerAlone | Exit] [Child] sfx6) (cancel) | |
[> PlayerWithChild | Exit] [Child] -> [HansDown | Exit] [Child] sfx6 | |
[> PlayerWithChild | Child] -> sfx3 message I can't carry two kids at once for my leg hurts! I should bring one to safety first. | |
late [Player Exit] [ChildDead] -> sfx3 message You failed to keep the child alive. Please restart the level and try again. | |
late [Player Exit] [Child] -> sfx3 message Hans: I cannot leave the child here, I must rescue every child I find. | |
([cutscene] -> [cutscene] again) | |
[cutscene] [playerwithchild] [Mary no nearriver | ... | river] -> [cutscene] [playerwithchild] [> Mary | ... | river] | |
[cutscene] [smoke] -> win | |
late [cutscene] [player nearriver] -> win | |
left [> PlayerAlone] -> [> HansLeft] | |
right [> PlayerAlone] -> [> HansRight] | |
up [> PlayerAlone] -> [> HansUp] | |
down [> PlayerAlone] -> [> HansDown] | |
left [> PlayerWithChild] -> [> HansChildLeft] | |
right [> PlayerWithChild] -> [> HansChildRight] | |
up [> PlayerWithChild] -> [> HansChildUp] | |
down [> PlayerWithChild] -> [> HansChildDown] | |
left [> Mary] -> [> MaryLeft] | |
right [> Mary] -> [> MaryRight] | |
[Paul Danger] [bosslevel] -> [stationary pauldead danger] [] | |
[pauldead][player] -> win | |
[bosslevel] [paul | no shootzone] -> [bosslevel] [paul | shootzone1] | |
[bosslevel] [shootzone1 | no shootzone] -> [bosslevel] [shootzone1 | shootzone2] | |
[bosslevel] [shootzone1 danger | ... | paul] -> [bosslevel] [shootzone1 danger | ... | > paul] | |
([pauldead][shootzone] -> [pauldead][]) | |
[bosslevel] [shootzone2 | no shootzone] -> [bosslevel] [shootzone2 | shootzone3] | |
late [bosslevel] [shootzone player] -> [bosslevel] [deadplayer] sfx8 | |
late [shootzone] -> [] | |
([fire1] -> [fire2] again) | |
============== | |
WINCONDITIONS | |
============== | |
Some Player on Exit | |
No Child | |
No ChildDead | |
======= | |
LEVELS | |
======= | |
MESSAGE Mary: Could you carry Half to the river, Hans? | |
MESSAGE Hans: Sure, sister. Come on! | |
o,,,,o,,,,,,,,nr,, | |
o,p,,c........nr,, | |
o,,,,o,,,m,,,,nr,, | |
oooooo,,,,,,,,nr,, | |
,,,,,,,,,,,,nnrr,, | |
,,,,,,,,,,,nrrrl,, | |
,s,,,,,,,,nrr,,,,, | |
MESSAGE Hans: Do you know what is at the other side of the river, Half? | |
MESSAGE Half: No, what is it? | |
MESSAGE Hans: It's Fircone town, they are our allies, and actually we owe them this calm morning! | |
MESSAGE Half: Too boring, better tell me how you lost your leg, uncle Hans! | |
MESSAGE Hans: Maybe next time... Hey, Paul! | |
MESSAGE Paul: Hello, neighbour! | |
(sfx7) | |
................ | |
s........_...... | |
.p....._........ | |
.......BB.B..... | |
....._B.*B...... | |
.......B.._..... | |
................ | |
................ | |
................ | |
MESSAGE 6:37 am | |
MESSAGE Hans: (wakes up) Holy crap! | |
MESSAGE Hans: It's not a dream! The ammunition depot just blew up! | |
MESSAGE Hans: This can mean only one thing - they betrayed us... | |
MESSAGE The stripe above the level shows the timing of bomb drops | |
(level 1) | |
$`````````!``````A | |
oooooooooooooooooo | |
o....o...........o | |
o....o..._......0E | |
o....o_._._....9.o | |
o......_.1._.....o | |
o.._....___......o | |
p..._____.oo.....o | |
o.........o......o | |
oooooooooooooooooo | |
MESSAGE 6:45 am | |
MESSAGE Hans: This is really bad, I must hurry to make sure Half and Mary are in safety! | |
(level 2) | |
$```````#`@```!``A | |
oooooooooooooooooo | |
o................o | |
p........._......o | |
oo1o..ooo.2._.0..o | |
oooo._..._.......o | |
o..._...9.__.....o | |
o..._.3ooooooooooo | |
o0....__...__....o | |
o.9...._____.....o | |
oooooooooooooooEoo | |
MESSAGE 7:02 am | |
MESSAGE Hans: No doubt, all drops are carefully targeted. | |
MESSAGE Hans: But what kind of a scum put all those flare marks?! | |
(level 3) | |
$!```````````````````A | |
ooooooooooopoooooooooo | |
o..............oc....o | |
o..............o.o...o | |
o........9.ooooo.o...o | |
o....oo.0..o...B.o...o | |
o....o1__._....B.o...o | |
o....oo.___o...B.o...o | |
o.......0__ooooo.....o | |
o.......9......o.....o | |
o..............ooooooo | |
o....................o | |
o....................o | |
ooooooooEooooooooooooo | |
MESSAGE 7:20 am | |
MESSAGE Hans: These fuel barrels are the same ones we provided to Fircone. | |
MESSAGE Hans: For their planes. | |
(level 4) | |
$@```````!```````A | |
ooooooooooooopoooo | |
o.....o..o.......o | |
o..c..o.2o.....9.o | |
o.....oooo.......o | |
o......__..o.....o | |
o......._o.......o | |
o......oB_.0.0...o | |
o.....9___.9.....o | |
o........_9......E | |
o....Boooooooo...o | |
oB.B.BoB1........o | |
oooooooooooooooooo | |
MESSAGE 7:41 am | |
MESSAGE Hans: Most streets are obstructed, but I will find a way out. | |
(level 5) | |
$@``````````!`````A | |
ooooooooooooooooooo | |
o........o.......9o | |
o.....9..o........o | |
o........oB._.....o | |
o......1.o..0_2...o | |
o........oB9.._...o | |
o........:.___....o | |
p...B....o_oooo:ooo | |
o........o.o__B...E | |
ooooooooooooooooooo | |
MESSAGE 7:59 am | |
MESSAGE Hans: I hate it when I can't stop bastards on planes to bomb everything around! | |
(level 6) | |
$#````@`````````!```A | |
ooooooooooooooooEoooo | |
o....o...o........__o | |
p....:...oooo.o..__.o | |
o..1.o...o0__.o.__..o | |
oooooo...o:oooo9_B..o | |
o......2.o...3o_._ooo | |
o.....0.......o____.o | |
o..0.0.._B.___ooooo.o | |
o.09....______o..9..o | |
o....9...__..9..0...o | |
ooooooooooooooooooooo | |
MESSAGE 8:28 am | |
MESSAGE Hans: Outskirts. I'm almost there. | |
(level 7) | |
$#`````@``!`````````A | |
ooooooooooooooooooooo | |
ooo...__..._oo..ooooo | |
oc___1._..__Bo.9.oooo | |
o...........2......co | |
o..9.0..B..0..______o | |
o...9..._______90...o | |
o..3_____...........o | |
o...................o | |
o...................o | |
ooooopooooooEoooooooo | |
MESSAGE 8:53 am | |
MESSAGE Hans: The cliff. I see a kid. This should be Half... | |
(level 8) | |
$#```@```````!``````A | |
ooopooooooooooooooooo | |
u,,,,,,,____1,,,,,,,u | |
u,,,,,,,coB,,,,,,,,,u | |
u,,,,,,,,,,,,,,,2,,,u | |
u,,,,,,,,,,,,,___,,,u | |
u,,,,,,,,______,,_,,u | |
u,,ooooo___,_,,,,_B,u | |
u,,o,c,,,___,,,,,,,,u | |
u,,,_____,,,,,,3,,__u | |
uu,,,,,,,_____Bo,___u | |
uuuuuuuuuuuuuuuuEuuuu | |
MESSAGE Half: You're the hero, uncle Hans! | |
MESSAGE Hans: Where is your mom? | |
MESSAGE Half: That over-the-river man... He punched her... and forced to go with him!.. | |
MESSAGE Half: But I ran away... | |
MESSAGE Hans: Son of a!.. | |
MESSAGE Hans: Stay here, Half! I'll go talk to Paul. | |
MESSAGE 9:00 am | |
MESSAGE Hans: Hey you! | |
MESSAGE Paul: Get lost or I'll shoot! You'll never understand! | |
$!``````````````A | |
q,p,,,,,,,,,,r,,, | |
,ooo,,,,,,___rr,, | |
,o1o,,,,___,_,rr, | |
,ooo,,,,,l,,_,rr, | |
,,,,,,,,,,,,_,rr, | |
,,,,,___,,,__,r,, | |
B,,,__,,,,,_,r,,, | |
,,,_,BB,,,__,r,,, | |
,,,B,,,,z,,,,r,,, | |
,,z,z,,,,,z,,,r,, | |
MESSAGE Hans: Rest in peace, my dear neighbour. You were buried right at the place you marked. | |
MESSAGE Mary: Hans! | |
MESSAGE Mary: Did you see Half? | |
MESSAGE Hans: Don't worry, sister, he's safe. | |
MESSAGE THE END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment