title Sokobond: The Demake
author Jonah Ostroff
homepage www.sokobond.com
text_color #202020
background_color #FDFDFD
key_repeat_interval 0.25
run_rules_on_level_start
noaction
youtube 2R0sTlruOZc

========
OBJECTS
========

Background
#FFFFFF #F8F8F8
00000
01010
00000
01010
00000

Player
#FFBBEE
00000
0...0
0...0
0...0
00000

Wall
Yellow White
00000
00000
00000
00000
00000

Hydrogen
Red Black
.....
.111.
.101.
.111.
.....

Nitrogen
Green Black
.....
.111.
.101.
.111.
.....

Oxygen
Blue Black
.....
.111.
.101.
.111.
.....

Carbon
Yellow Black
.....
.111.
.101.
.111.
.....

Helium
White Black
.....
.111.
.101.
.111.
.....

1Electron
LightGray
.....
.0...
.....
.....
.....

2Electron
LightGray
.....
...0.
.....
.0...
.....

3Electron
LightGray
.....
.0.0.
.....
.0...
.....

4Electron
LightGray
.....
.0.0.
.....
.0.0.
.....

BondU
Black
..0..
.....
.....
.....
.....

BondL
Black
.....
.....
0....
.....
.....

BondR
Black
.....
.....
....0
.....
.....

BondD
Black
.....
.....
.....
.....
..0..


BondUL
Black
..0..
.....
0....
.....
.....

BondUR
Black
..0..
.....
....0
.....
.....

BondUD
Black
..0..
.....
.....
.....
..0..

BondLR
Black
.....
.....
0...0
.....
.....

BondLD
Black
.....
.....
0....
.....
..0..

BondRD
Black
.....
.....
....0
.....
..0..

BondULR
Black
..0..
.....
0...0
.....
.....

BondULD
Black
..0..
.....
0....
.....
..0..

BondURD
Black
..0..
.....
....0
.....
..0..

BondLRD
Black
.....
.....
0...0
.....
..0..

BondULRD
Black
..0..
.....
0...0
.....
..0..

Temp1
Red

Temp2 (These are placeholders for various things.)
Green

Temp3
Blue

Temp4
Yellow

=======
LEGEND
=======

Atom = Hydrogen or Oxygen or Nitrogen or Carbon or Helium
Orbital = 1Electron or 2Electron or 3Electron or 4Electron
UBond = BondU or BondUL or BondUR or BondUD or BondULR or BondULD or BondURD or BondULRD
LBond = BondL or BondUL or BondLR or BondLD or BondULR or BondULD or BondLRD or BondULRD
RBond = BondR or BondUR or BondLR or BondRD or BondULR or BondURD or BondLRD or BondULRD
DBond = BondD or BondUD or BondLD or BondRD or BondULD or BondURD or BondLRD or BondULRD
1Bond = BondU or BondL or BondR or BondD
2Bond = BondUL or BondUR or BondUD or BondLR or BondLD or BondRD
3Bond = BondULR or BondULD or BondURD or BondLRD
Bond = 1Bond or 2Bond or 3Bond or BondULRD
Temps = Temp1 or Temp2 or Temp3 or Temp4
AtomStuff = Bond or Orbital

. = Background
# = Wall
H = Hydrogen and 1Electron
O = Oxygen and 2Electron
N = Nitrogen and 3Electron
C = Carbon and 4Electron
E = Helium
0 = Helium  and Player
1 = Hydrogen and 1Electron and Player
2 = Oxygen and 2Electron and Player
3 = Nitrogen and 3Electron and Player
4 = Carbon and 4Electron and Player
P = Player

=======
SOUNDS
=======

Sfx1 64050702 (Bonding sound)
EndLevel 96545300 (End level)

================
COLLISIONLAYERS
================

Background
Player
Bond
Wall, Atom
Orbital
Temps

======
RULES
======

(This is the old way I did movement, and it was super inefficient.)
([> Player Atom] -> [> Player > Atom]

Up [ Moving Atom UBond | Atom] -> [ Moving Atom UBond | Moving Atom]
+ Left [ Moving Atom LBond | Atom] -> [ Moving Atom LBond | Moving Atom]
+ Right [ Moving Atom RBond | Atom] -> [ Moving Atom RBond | Moving Atom]
+ Down [ Moving Atom DBond | Atom] -> [ Moving Atom DBond | Moving Atom]
+ [> Atom | Atom] -> [> Atom | > Atom])

[Up Player] -> [Up Player Temp1]
[Left Player] -> [Left Player Temp2]
[Right Player] -> [Right Player Temp3]
[Down Player] -> [Down Player Temp4]

Up [Temps UBond | no Temps] -> [Temps Ubond | Temps]
+ Left [Temps LBond | no Temps] -> [Temps Lbond | Temps]
+ Right [Temps RBond | no Temps] -> [Temps Rbond | Temps]
+ DOwn [Temps DBond | no Temps] -> [Temps Dbond | Temps]
+ Up [Temp1 | Atom no Temp1] -> [Temp1 | Atom Temp1]
+ Left [Temp2 | Atom no Temp2] -> [Temp2 | Atom Temp2]
+ Right [Temp3 | Atom no Temp3] -> [Temp3 | Atom Temp3]
+ Down [Temp4 | Atom no Temp4] -> [Temp4 | Atom Temp4]

[Temp1 Atom] -> [Up Atom]
[Temp2 Atom] -> [Left Atom]
[Temp3 Atom] -> [Right Atom]
[Temp4 Atom] -> [Down Atom]

[ > Atom | Wall] -> Cancel

[ > Atom AtomStuff] -> [ > Atom > AtomStuff]

Late Right [Orbital no Temps no RBond|Orbital no Temps no LBond] -> [Orbital Temp1|Orbital Temp2 Sfx1] (Bond horizontally.)
+ Late [Temp1 no Bond] -> [Temp3 BondR]
+ Late [Temp1 BondU] -> [Temp3 BondUR]
+ Late [Temp1 BondL] -> [Temp3 BondLR]
+ Late [Temp1 BondD] -> [Temp3 BondRD]
+ Late [Temp1 BondUL] -> [Temp3 BondULR]
+ Late [Temp1 BondUD] -> [Temp3 BondURD]
+ Late [Temp1 BondLD] -> [Temp3 BondLRD]
+ Late [Temp1 BondULD] -> [Temp3 BondULRD]
+ Late [Temp2 no Bond] -> [Temp3 BondL]
+ Late [Temp2 BondU] -> [Temp3 BondUL]
+ Late [Temp2 BondR] -> [Temp3 BondLR]
+ Late [Temp2 BondD] -> [Temp3 BondLD]
+ Late [Temp2 BondUR] -> [Temp3 BondULR]
+ Late [Temp2 BondUD] -> [Temp3 BondULD]
+ Late [Temp2 BondRD] -> [Temp3 BondLRD]
+ Late [Temp2 BondURD] -> [Temp3 BondULRD]
+ Late [Temp3 1Electron] -> []
+ Late [Temp3 2Electron] -> [1Electron]
+ Late [Temp3 3Electron] -> [2Electron]
+ Late [Temp3 4Electron] -> [3Electron]

Late Down [Orbital no Temps no DBond|Orbital no Temps no UBond] -> [Orbital Temp1|Orbital Temp2 Sfx1] (Bond vertically.)
+ Late [Temp1 no Bond] -> [Temp3 BondD]
+ Late [Temp1 BondU] -> [Temp3 BondUD]
+ Late [Temp1 BondL] -> [Temp3 BondLD]
+ Late [Temp1 BondR] -> [Temp3 BondRD]
+ Late [Temp1 BondUL] -> [Temp3 BondULD]
+ Late [Temp1 BondUR] -> [Temp3 BondURD]
+ Late [Temp1 BondLR] -> [Temp3 BondLRD]
+ Late [Temp1 BondULR] -> [Temp3 BondULRD]
+ Late [Temp2 no Bond] -> [Temp3 BondU]
+ Late [Temp2 BondL] -> [Temp3 BondUL]
+ Late [Temp2 BondR] -> [Temp3 BondUR]
+ Late [Temp2 BondD] -> [Temp3 BondUD]
+ Late [Temp2 BondLR] -> [Temp3 BondULR]
+ Late [Temp2 BondLD] -> [Temp3 BondULD]
+ Late [Temp2 BondRD] -> [Temp3 BondURD]
+ Late [Temp2 BondLRD] -> [Temp3 BondULRD]
+ Late [Temp3 1Electron] -> []
+ Late [Temp3 2Electron] -> [1Electron]
+ Late [Temp3 3Electron] -> [2Electron]
+ Late [Temp3 4Electron] -> [3Electron]

==============
WINCONDITIONS
==============

No Orbital

=======
LEVELS
=======

Message This is a demake of Sokobond by Alan Hazelden and Harry Lee.

Message Get the full version at www.sokobond.com!

#########
####....#
####....#
#....#H.#
#...O#..#
#.1.....#
#....####
#########

Message Water atoms are icosahedral.

######
#H..O#
#....#
#1.###
######

Message The blue tint seen in large bodies of water comes from the pigment in the oxygen atoms.

########
###...##
#2.H.H.#
###...##
########

Message The Earth's surface and the human body are both 70% water. That CAN'T be a coincidence, right?

#######
#..O..#
#..#..#
#.1#H.#
#..#..#
#..O..#
#######

Message "One hydrogen per oxide" is defined as the speed at which atoms move.

#######
#.H.3.#
#.....#
#.H.H.#
#######

Message Ammonia is an inflammatory condition of the lungs.

#######
#.....#
#.....#
#H#H#H#
#.....#
#..3..#
#######

Message Hang on, I was thinking of "pneumonia".

#########
####4####
###...###
##.H.H.##
#.......#
##.H.H.##
###...###
####.####
#########

Message 90% of all the methane in the world is produced in Arizona.

#########
##H...H##
#...4...#
##H...H##
#########

Message Methane contains the name "Ethan". Do you think it was discovered by a guy named Ethan?

########
#......#
#...H..#
#O.H..3#
#...H..#
#......#
########

Message Hydroxylamine contains almost every vowel of the alphabet almost exactly once.

#########
#.......#
#..H.H..#
#.2...C.#
#..H.H..#
#.......#
#########

Message Methanol occurs naturally in peppermint oils.

#########
#.......#
#.1...E.#
###.H.###
###...###
###.O.###
#########

Message Helium is named after the Greek god Helios, who first discovered its existence.

#########
#.......#
#.E.E.E.#
###H.1###
###.H.###
###...###
###.N.###
#########

Message Inhaling helium contracts the ear drum, causing pitches to sound higher. Your voice is perceived normally by everyone else.

#######
###..##
##..H.#
#..N..#
#.H..H#
##..0.#
#######

Message The first helium balloons were used at the wedding of Queen Victoria and Prince Albert, popularizing the term "noble gas".

#######
#.....#
#..N..#
#..0..#
#H.H.H#
#.#.#.#
#.....#
#######

Message Helium does not form chemical bonds with other elements, but it's the bonds of friendship that really matter.

########
#......#
#...H#N#
#......#
##H#H.0#
##.....#
####...#
########

Message Scientists have been searching for centuries to discover the missing elements between hydrogen and helium on the periodic table.

Message Thanks for playing! Go get the full version, which has lots of cool stuff that I couldn't write in PuzzleScript: www.sokobond.com