title Rotaters cause author Rosden Shadow [Mark Signorelli] homepage rosden.itch.io noaction run_rules_on_level_Start background_color #3B3942 text_color #AAE0F2 again_interval 0.1 ======== OBJECTS ======== Background #52465B #3B3942 (#E57ED5 #CC5285) 11111 11001 10101 10011 11111 ( 00101 01110 11011 01111 10110) ( 11101 00101 11111 10100 10111) nomove #FFEED9 #536673 ..... .000. .010. .000. ..... Target white #423D39 ..... .000. .0.0. .000. ..... Wall #D9FFDC #AAE0F2 #7EA1E5 #52465B 21110 12110 21221 23232 32323 overwall #D9FFDC #AAE0F2 #7EA1E5 #52465B ..... ..... ..... 10010 21101 playerright #D9FFDC #7EE58D #5C8466 .222. .200. .1110 .111. .1.1. playerleft #D9FFDC #7EE58D #5C8466 .222. .002. 0111. .111. .1.1. playerdown #D9FFDC #7EE58D #5C8466 .222. .000. .010. .111. .1.1. playerup #D9FFDC #7EE58D #5C8466 .222. .222. .111. .111. .1.1. playerdead #D9FFDC #7EE58D #5C8466 .2.2. ..0.. .1.1. ..1.. .1.1. playerdead1 #D9FFDC #7EE58D #5C8466 ..2.. .0.0. ..1.. .1.1. ..1.. playerdead2 #D9FFDC #7EE58D #5C8466 ..... ..0.. .1.1. ..1.. ..... aup TRANSPARENT adown TRANSPARENT aleft TRANSPARENT aright TRANSPARENT itsago TRANSPARENT stopmov TRANSPARENT clo TRANSPARENT c_clo TRANSPARENT Crate #FFD9E0 #F2AACE #E57ED5 #845C7A 21100 21110 22110 32223 .333. overcrate #FFD9E0 #F2AACE #E57ED5 #845C7A ..... ..... ..... ..... .000. Crateup #FFD9E0 #F2AACE #E57ED5 #845C7A black 21400 24440 24140 32223 .333. Cratedown #FFD9E0 #F2AACE #E57ED5 #845C7A black 24140 24440 22410 32223 .333. Crateright #FFD9E0 #F2AACE #E57ED5 #845C7A black 24400 21440 24410 32223 .333. Crateleft #FFD9E0 #F2AACE #E57ED5 #845C7A black 21440 24410 22440 32223 .333. Cratedead #FFD9E0 #F2AACE #E57ED5 .0.0. 2.1.0 .1.1. 2.1.0 .2.2. Cratedead1 #FFD9E0 #F2AACE #E57ED5 ..0.. .1.0. 2.1.0 .2.1. ..2.. Cratedead2 #FFD9E0 #F2AACE #E57ED5 ..... ..0.. .1.0. ..1.. ..... cpush1 white ..... 00000 ..... ..... ..... cpush2 white ..... 00.00 ..... ..... ..... cpush3 white ..... .0.0. ..... ..... ..... cpush1v white ..0.. ..0.. ..0.. ..0.. ..0.. cpush2v white ..0.. ..0.. ..... ..0.. ..0.. cpush3v white ..... ..0.. ..... ..0.. ..... cpup TRANSPARENT cpdown TRANSPARENT cpleft TRANSPARENT cpright TRANSPARENT rpush TRANSPARENT lpush TRANSPARENT upush TRANSPARENT dpush TRANSPARENT end #FFD9E0 #F2AACE #E57ED5 #845C7A 21100 21110 22110 32223 .333. endx #FFD9E0 #F2AACE #E57ED5 #845C7A 21100 21110 22110 32223 .333. cloner #E5C17E #DB7F55 #B32D2D #73342E .100. .210. .221. .332. ..... swapcrate Orange Yellow 00000 0...0 0...0 0...0 00000 swapwall black ..... ..... ..... ..... ..... thefloor #3B3942 00000 00000 00000 00000 00000 thefloorx #3B3942 00000 00000 00000 00000 00000 eend #3B3942 00000 00000 00000 00000 00000 pit black #231F26 (#E57ED5 #CC5285) 11111 10101 01010 00000 00000 pitfull black #231F26 (#E57ED5 #CC5285) 00000 00000 00000 00000 00000 (checkempty black ..... ..... ..... ..... ..... checkblock black ..... ..... ..... ..... .....) plover TRANSPARENT nowin TRANSPARENT drop1 TRANSPARENT drop2 TRANSPARENT drop3 TRANSPARENT bou1 TRANSPARENT bou2 TRANSPARENT switcrate black ..... ..... ..... ..... ..... switcrate2 black ..... ..... ..... ..... ..... arrow black ..... ..... .0.0. .000. ..0.. arrow2 black ..... .0.0. .000. ..0.. ..... arrowx black ..... ..... ..... ..... ..... arrowx2 black ..... ..... ..... ..... ..... winend #D9FFDC #AAE0F2 #7EA1E5 1000. 21100 21110 22110 .2221 ======= LEGEND ======= . = Background # = Wall '=pit P = Playerright * = Crate O = Target n = nomove a = arrow2 and wall e=end t = end and target and eend w=end and winend c=cloner -=thefloor x=thefloorx 1=Crateright 2=Crateup 3=crateleft 4=cratedown feel=overwall or overcrate cratep= crateup or crateleft or crateright or cratedown cratex= cratep or crate player = playerright or playerleft or playerdown or playerup cp= cpup or cpdown or cpleft or cpright cprightx=cpright or Crateright cpleftx=cpleft or Crateleft cpupx=cpup or Crateup cpdownx=cpdown or Cratedown wallpush= rpush or lpush or upush or dpush thecpush=cpush1 or cpush2 or cpush3 or cpush1v or cpush2v or cpush3v pushable=crate or cloner or swapcrate or switcrate or switcrate2 or cratep pushablex=cratex or player win=crate or wall push=crate or cratep theemx= crate or cratep apit = pit or pitfull blocker = wall or cratex or nomove or player or arrow rotblocker = wall or cratex or player playblo=apit or wall arrowk = arrow or arrow2 or arrowx or arrowx2 attach = aup or adown or aleft or aright drop= drop3 or drop2 or drop1 3cpus=cpush3 or cpush3v 2cpus=cpush2 or cpush2v 1cpus=cpush1 or cpush1v ======= SOUNDS ======= pushable MOVE 36772507 cratep move 67451107 EndLevel 74089700 player MOVE 68988304 sfx0 52836103 sfx1 45427502 sfx2 29503700 sfx3 81951902 sfx4 81303907 sfx5 41950102 sfx6 54365904 sfx7 83343701 ================ COLLISIONLAYERS ================ Background Target nomove apit Player, Wall, pushable,swapwall,thefloor,thefloorx Cratedead,Cratedead1,Cratedead2,playerdead,playerdead1,playerdead2 cpush1 cpush2 cpush3 cpush1v cpush2v cpush3v cpup cpdown cpleft cpright rpush lpush upush dpush (player rotation) attach itsago stopmov clo c_clo (------) bou1,bou2 drop1 drop2 drop3 nowin plover arrow, arrow2, arrowx, arrowx2 winend eend end, endx feel ====== RULES ====== [feel]->[] [plover]->[] [nowin]->[] [cratedead2]->[] [cratedead1]->[Cratedead2] [cratedead]->[Cratedead1] [playerdead2]->[] [playerdead1]->[playerdead2] [playerdead]->[playerdead1] [drop no cratex]->[] [drop2 cratex apit ]->[Cratedead apit] sfx5 [drop1 cratex]->[drop2 cratex] (the push) [wallpush]->[] [bou1 no plover]->[] [bou2 no plover]->[] right[cprightx no 1cpus no 2cpus|pushablex|no blocker]->[cprightx||pushablex plover] sfx7 left[cpleftx no 1cpus no 2cpus| pushablex|no blocker]->[cpleftx||pushablex plover] sfx7 up[cpupx no 1cpus no 2cpus|pushablex|no blocker]->[cpupx||pushablex plover] sfx7 down[cpdownx no 1cpus no 2cpus|pushablex|no blocker]->[cpdownx||pushablex plover] sfx7 right[cprightx 1cpus |pushablex no plover|no blocker]->[cprightx||pushablex plover ] sfx7 left[cpleftx 1cpus| pushablex no plover|no blocker]->[cpleftx||pushablex plover ] sfx7 up[cpupx 1cpus |pushablex no plover|no blocker]->[cpupx||pushablex plover ] sfx7 down[cpdownx 1cpus |pushablex no plover|no blocker]->[cpdownx||pushablex plover ] sfx7 down[cpdownx 2cpus|pushablex no plover|no blocker]->[cpdownx||pushablex plover ] sfx7 left[cpleftx 2cpus| pushablex no plover|no blocker]->[cpleftx||pushablex plover ] sfx7 up[cpupx 2cpus|pushablex no plover|no blocker]->[cpupx||pushablex plover ] sfx7 right[cprightx 2cpus|pushablex no plover|no blocker]->[cprightx||pushablex plover ] sfx7 right[cprightx |pushablex no plover| blocker]->[cprightx rpush|pushablex|blocker] left[cpleftx |pushablex no plover| blocker]->[cpleftx lpush|pushablex|blocker] up[cpupx |pushablex no plover| blocker]->[cpupx upush|pushablex|blocker] down[cpdownx |pushablex no plover| blocker]->[cpdownx dpush|pushablex|blocker] right[cprightx |wall]->[cprightx rpush|wall] left[cpleftx |wall]->[cpleftx lpush|wall] up[cpupx |wall]->[cpupx upush|wall] down[cpdownx | wall]->[cpdownx dpush|wall] left[cprightx rpush| cpright no rpush]->[cprightx rpush|cpright rpush] right[cpleftx lpush| cpleft no lpush]->[cpleftx lpush|cpleft lpush] up[cpdownx dpush| cpdown no dpush]->[cpdownx dpush|cpdown dpush] down[cpupx upush| cpup no upush]->[cpupx upush|cpup upush] up[crateup upush no plover]->[down crateup upush down plover] down[cratedown dpush no plover]->[up cratedown dpush up plover] left[crateleft lpush no plover]->[right crateleft lpush right plover] right[crateright rpush no plover]->[left crateright rpush left plover] ( ------PLAYER ROTATION-------) [attach]->[] [itsago]->[] [stopmov]->[] [clo]->[] [c_clo]->[] (======Block rotation======) (where the blocks moving) (right) right[ up Playerright | push ] -> [ up Playerright c_clo| push aup] right[ down Playerright | push ] -> [ down Playerright clo| push adown] (up) up[ right Playerup | push ] -> [ right Playerup clo| push aright] up[ left Playerup | push ] -> [ left Playerup c_clo| push aleft] (left) left[ up Playerleft | push ] -> [ up Playerleft clo| push aup] left[ down Playerleft | push ] -> [ down Playerleft c_clo| push adown] (down) down[ right Playerdown | push ] -> [ right Playerdown c_clo| push aright] down[ left Playerdown | push ] -> [ left Playerdown clo| push aleft] (block movement rejection) (right) right[push aright|no rotblocker]->[push aright itsago | itsago] right[player|no rotblocker][push aright]->[player itsago|itsago][push aright] (up) up[push aup|no rotblocker]->[push aup itsago | itsago] up[player|no rotblocker][push aup]->[player itsago|itsago][push aup] (left) left[push aleft|no rotblocker]->[push aleft itsago | itsago] left[player|no rotblocker][push aleft]->[player itsago|itsago][push aleft] (down) down[push adown|no rotblocker]->[push adown itsago | itsago] down[player|no rotblocker][push adown]->[player itsago|itsago][push adown] (blocks rotation movement) [itsago player][push attach itsago|itsago no player]->[itsago player stopmov][|push attach itsago] sfx4 (.....movement rotation.....) (right) [up playerright]->[up playerup] [down playerright]->[down playerdown] (up) [right playerup]->[right playerright] [left playerup]->[left playerleft] (left) [up playerleft]->[up playerup] [down playerleft]->[down playerdown] (down) [right playerdown]->[right playerright] [left playerdown]->[left playerleft] [> player stopmov]->[player stopmov] up[up player no stopmov|playblo]->cancel down[down player no stopmov|playblo]->cancel left[left player no stopmov |playblo]->cancel right[right player no stopmov |playblo]->cancel (+++++ grab/push front +++++) (right) right[ right Playerright | push ] -> [ > Playerright | > push ] right[ left Playerright | push ] -> [ < Playerright | < push ] (up) up[ up Playerup | push ] -> [ > Playerup | > push ] up[ down Playerup | push ] -> [ < Playerup | < push ] (left) left[ left Playerleft | push ] -> [ > Playerleft | > push ] left[ right Playerleft | push ] -> [ < Playerleft | < push ] (down) down[ down Playerdown | push ] -> [ > Playerdown | > push ] down[ up Playerdown | push ] -> [ < Playerdown | < push ] (+++++ push back +++++) (right) left[ left Playerright | push ] -> [ > Playerright | > push ] (up) down[ down Playerup | push ] -> [ > Playerup | > push ] (left) right[ right Playerleft | push ] -> [ > Playerleft | > push ] (down) up[ up Playerdown | push ] -> [ > Playerdown | > push ] (------END PLAYER ROTATION-------) (BLOCK ROTATION) (clockwise) [player stopmov clo][Crateup itsago]->[player stopmov clo][Crateright] [player stopmov clo][Crateright itsago]->[player stopmov clo][Cratedown] [player stopmov clo][Cratedown itsago]->[player stopmov clo][Crateleft] [player stopmov clo][Crateleft itsago]->[player stopmov clo][Crateup] (counter-clockwise) [player stopmov c_clo][Crateup itsago]->[player stopmov c_clo][Crateleft] [player stopmov c_clo][Crateleft itsago]->[player stopmov c_clo][Cratedown] [player stopmov c_clo][Cratedown itsago]->[player stopmov c_clo][Crateright] [player stopmov c_clo][Crateright itsago]->[player stopmov c_clo][Crateup] (------End block rotation------) (being pushed) (set up) late [cp]->[] late [thecpush]->[] late [wallpush]->[] late [Crateup]->[Crateup cpup] late [Crateright]->[Crateright cpright] late [Crateleft]->[Crateleft cpleft] late [Cratedown]->[Cratedown cpdown] late up[crateup|no blocker]->[crateup |cpush1v cpup] late down[cratedown|no blocker]->[cratedown |cpush1v cpdown] late left[crateleft|no blocker]->[crateleft |cpush1 cpleft] late right[crateright|no blocker]->[crateright |cpush1 cpright] late up[cpush1v cpup| no blocker]->[cpush1v cpup| cpush2v cpup] late up[cpush2v cpup| no blocker]->[cpush2v cpup| cpush3v ] late down[cpush1v cpdown| no blocker]->[cpush1v cpdown| cpush2v cpdown] late down[cpush2v cpdown| no blocker]->[cpush2v cpdown| cpush3v ] late left[cpush1 cpleft| no blocker]->[cpush1 cpleft| cpush2 cpleft] late left[cpush2 cpleft| no blocker]->[cpush2 cpleft| cpush3 ] late right[cpush1 cpright| no blocker]->[cpush1 cpright| cpush2 cpright] late right[cpush2 cpright| no blocker]->[cpush2 cpright| cpush3 ] (end being pushed) [> cratex |player ]->[> cratex > plover | > player > plover] [> plover|blocker]->[> plover|blocker plover] [> player no plover| apit]->[player |apit] [> cratex|no blocker]->[> cratex nowin| no blocker] [> player plover|wall]->[player |wall] [> player plover|blocker|wall]->[player |blocker|wall] [> player plover|blocker|blocker|wall]->[player |blocker|blocker|wall] [> player plover|blocker|blocker|blocker|wall]->[player |blocker|blocker|blocker|wall] [> cratex plover|wall]->[cratex |wall] [> cratex plover|blocker|wall]->[cratex |blocker|wall] [> cratex plover|blocker|blocker|wall]->[cratex |blocker|blocker|wall] [> cratex plover|blocker|blocker|blocker|wall]->[cratex |blocker|blocker|blocker|wall] [player plover cpup cpdown]->[player cpup cpdown] [player plover cpleft cpright]->[player cpleft cpright] late[cratex apit]->[cratex apit drop1] late[cratex apit no plover]->[Cratedead apit] sfx5 late[player apit no plover]->[playerdead apit ] sfx5 [> crate|Target]->[> crate|target] sfx2 [endx] ->[thefloor] sfx2 [end | thefloor]-> [endx |thefloor] late up [wall| ]-> [wall|overwall] late up [theemx| ]-> [theemx|overcrate] (late up [crate2| ]-> [crate2|overcrate2]) late up [end| ]-> [end|overcrate] late up [endx| ]-> [endx|overcrate] late up [apit|apit]->[pitfull|apit] late up [apit|no apit]->[pit|] []-> again (--old rotation--) ([right player]->[right playerright] [left player]->[left playerleft] [up player]->[up playerup] [down player]->[down playerdown]) ============== WINCONDITIONS ============== all Target on cratex no nowin ======= LEVELS ======= message Have a crate on all targets message level 1 of 8 --------- -#######- -#.....#- -#.O...#- ##.....## #''''.''# #.....'.# #.*.....# #....P..# ##.....## -#######- message level 2 of 8 --------- ######### #.......# #...1...# #.......# #''...''# #...P...# #..'''..# #...O...# #.......# ######### message level 3 of 8 --------- ######### #.......# #.P.2...# #'..#..'# #...#...# #..'''..# #'..O..'# #'''''''# #'''''''# ######### message level 4 of 8 --------- ######### #'''''''# #'...'''# #..'.'''# #..#O#''# #..'''''# #..'''''# #.1...P'# #......'# ######### message level 5 of 8 --------- ######### #...O.#.# #.......# #.......# #'''''''# #...3...# #.......# #..#.P..# #.......# ######### message level 6 of 8 --------- ######### #.'.O.'.# #'..P..'# #..'''..# #.'.'.'.# #...4...# #.*.O...# #.......# #.......# ######### message level 7 of 8 --------- ######### #...O...# #.''O''.# #.'''''.# #...#...# #.......# #..2.2..# #...P...# #.......# ######### message level 8 of 8 --------- ######### #''''.O.# #'''#.'.# #''''...# #'...''.# #..#1''.# #.2...'.# #..P....# #.....''# ######### (--------- ######### #.......# #.......# #..'''..# #..#O'..# #..'O#..# #..'''..# #.2.P.2.# #.......# #########) (--------- ######### #...O...# #.......# #.......# #'''''''# #'''''''# ##.....## #...P...# #.2...2.# #########) (--------- ######### #...O...# #.......# #'''''''# #'''''''# #.......# ##.2.2.## #..PO...# #.......# #########) (--------- ######### #'''''''# #'...'O'# #'.'.'.'# #'.'...'# #...###.# #.......# #.2..P..# #.......# #########) (--------- ######### #...4.P.# #...#...# ##.....## #..'''..# #.'.O.'.# #.''.''.# #.......# #'''''''# #########) ( --------- ######### #.......# #...2...# #.*.O...# #.......# #...'...# #..'''..# #'..P..'# #.'.O.'.# #########) xxxxxxxxxxxxxx -eeeeeeeeeeee- eeeeeeeeeeeeee eeeeeeeeeeeeee wewewewwweweew wewewetweewwew weweweeweeweww eweweewwweweew eeeeeeeeeeeeee eeeeeeeeeeeeee -eeeeeeeeeeee-