Colour Switch - A Platformer
@Stage\n\nwhen flag clicked\nset [abletosave v] to [0]\nswitch backdrop to (clear v)\nshow list [save code v]\nerase all\nFlag\nbroadcast (FlagClicked v)\n\nwhen [p v] key pressed\nset [menu v] to [Game]\n\nwhen [g v] key pressed\nset [clickedflag v] to [0]\n\ndefine Flag\ndelete all of [schres v]\ndelete all of [schlistno v]\ndelete all of [collkeycoins v]\ndelete all of [notif v]\ndelete all of [notiftimer v]\ndelete all of [music v]\nadd [None] to [music v]\nadd [Overworld] to [music v]\nadd [Athletic] to [music v]\nadd [Underworld] to [music v]\nadd [In the Clouds] to [music v]\nadd [Swimming] to [music v]\nadd [Fortress] to [music v]\nadd [Fortress Boss] to [music v]\nadd [Airship] to [music v]\nadd [Kinopios House] to [music v]\nadd [SMB1 Overworld] to [music v]\nadd [SMB2 Overworld] to [music v]\nadd [NSMB Wii Overworld] to [music v]\nadd [Gusty Garden Galaxy] to [music v]\nreset timer\n\nwhen [up arrow v] key pressed\nif <not <key (up arrow v) pressed?>> then\n    if <not <(Inventory) = [0]>> then\n        if <(Searching) = [1]> then\n            change [searchscroll v] by (-1)\n            if <(SearchScroll) < [0]> then\n                set [searchscroll v] to [0]\n            end\n        else\n            set [aiminventoryslide v] to ((round (InventorySlide)) + (1))\n        end\n    end\n    if <<(MusicMenu) = [1]> and <<(mouse x) > [0]> or <(((AreaMenu) + (TimeMenu)) + (BackgroundMenu)) = [0]>>> then\n        change [musicscroll v] by ((-1) / (2))\n    end\n    if <<(AreaMenu) = [1]> and <<(mouse x) < [0]> or <(MusicMenu) = [0]>>> then\n        change [floor v] by (-1)\n        if <(Floor) < [1]> then\n            set [floor v] to [1]\n        else\n            change [plyy v] by (-1310)\n            set [mapy v] to ((PlyY) * (-1))\n            broadcast (MapLimits v)\n            broadcast (UpdateAreaSettings v)\n            broadcast (Fast Transition v)\n        end\n    end\n    if <<(BackgroundMenu) = [1]> and <<(mouse x) < [0]> or <(MusicMenu) = [0]>>> then\n        change [selectedbackground v] by (-1)\n        if <(SelectedBackground) < [1]> then\n            set [selectedbackground v] to [1]\n        end\n        ReplaceSection [2] OfArea (Floor) With (SelectedBackground)\n        broadcast (UpdateAreaSettings v)\n    end\n    if <(((Inventory) + ((AreaMenu) + (CameraMenu))) + ((MusicMenu) + (BackgroundMenu))) = [0]> then\n        change [placingblock v] by (-1)\n    end\n    if <(PlacingBlock) < [1]> then\n        set [placingblock v] to [1]\n    end\nend\n\nwhen [down arrow v] key pressed\nif <not <key (down arrow v) pressed?>> then\n    if <not <(Inventory) = [0]>> then\n        if <(Searching) = [1]> then\n            change [searchscroll v] by (1)\n            if <(SearchScroll) > ((length of [schres v]) - (7))> then\n                set [searchscroll v] to ((length of [schres v]) - (7))\n                if <(SearchScroll) < [0]> then\n                    set [searchscroll v] to [0]\n                end\n            end\n        else\n            set [aiminventoryslide v] to ((round (InventorySlide)) + (-1))\n        end\n    end\n    if <<(MusicMenu) = [1]> and <<(mouse x) > [0]> or <((AreaMenu) + ((BackgroundMenu) + (CameraMenu))) = [0]>>> then\n        change [musicscroll v] by ((1) / (2))\n    end\n    if <<(AreaMenu) = [1]> and <<(mouse x) < [0]> or <(MusicMenu) = [0]>>> then\n        change [floor v] by (1)\n        if <(Floor) > (length of [areas v])> then\n            set [floor v] to (length of [areas v])\n        else\n            change [plyy v] by (1310)\n            set [mapy v] to ((PlyY) * (-1))\n            broadcast (MapLimits v)\n            broadcast (UpdateAreaSettings v)\n            broadcast (Fast Transition v)\n        end\n    end\n    if <<(BackgroundMenu) = [1]> and <<(mouse x) < [0]> or <(MusicMenu) = [0]>>> then\n        change [selectedbackground v] by (1)\n        if <(SelectedBackground) > [13]> then\n            set [selectedbackground v] to [13]\n        end\n        ReplaceSection [2] OfArea (Floor) With (SelectedBackground)\n        broadcast (UpdateAreaSettings v)\n    end\n    if <(((AreaMenu) + (Inventory)) + ((MusicMenu) + ((BackgroundMenu) + (CameraMenu)))) = [0]> then\n        change [placingblock v] by (1)\n        if <(PlacingBlock) > (length of [ilist v])> then\n            set [placingblock v] to (length of [ilist v])\n        end\n    end\nend\n\nwhen [r v] key pressed\nif <<(Searching) = [0]> or <(Inventory) = [0]>> then\n    if <<(EditMode) = [1]> and <(Tool) = [Pen]>> then\n        if <<(item (PlacingBlock) of [ilist v]) = [f]> or <<(letter (1) of (item (PlacingBlock) of [ilist v])) = [.]> and <(letter (2) of (item (PlacingBlock) of [ilist v])) > [2]>>> then\n            if <(PlaceDirection) = [-90]> then\n                set [placedirection v] to [90]\n            else\n                if <(PlaceDirection) = [90]> then\n                    set [placedirection v] to [-45]\n                else\n                    if <(PlaceDirection) = [-45]> then\n                        set [placedirection v] to [45]\n                    else\n                        set [placedirection v] to [-90]\n                    end\n                end\n            end\n        else\n            if <(PlaceDirection) = [90]> then\n                set [placedirection v] to [-90]\n            else\n                set [placedirection v] to [90]\n            end\n        end\n    end\nend\n\nwhen [c v] key pressed\nif <<(Searching) = [0]> or <(Inventory) = [0]>> then\n    delete all of [px v]\n    delete all of [py v]\n    set [fillx v] to [x]\n    set [allowfilling v] to [0]\n    wait until <not <<key (c v) pressed?> or <mouse down?>>>\n    set [allowfilling v] to [1]\nend\n\nwhen [e v] key pressed\nif <<(Searching) = [0]> or <(Inventory) = [0]>> then\n    SwitchEdit/PlayMode\nend\n\nwhen I receive [switchedit/playmode v]\nSwitchEdit/PlayMode\n\ndefine SwitchEdit/PlayMode\ndelete all of [collkeycoins v]\nif <not <(Menu) = [Home]>> then\n    set [mylevel v] to [1]\nend\nset [uijustclicked2 v] to [1]\nSpawn\nif <(length of [px v]) = [0]> then\n    if <(GTime) > [0.1]> then\n        set [menu v] to [Game]\n    end\n    broadcast (Start Game Loop v)\n    show list [save code v]\n    delete all of [notif v]\n    delete all of [notiftimer v]\n    set [inventory v] to [0]\n    set [musicmenu v] to [0]\n    set [backgroundmenu v] to [0]\n    set [areamenu v] to [0]\n    set [cameramenu v] to [0]\n    set [timemenu v] to [0]\n    if <(EditMode) = [1]> then\n        broadcast (ShortInvincibility v)\n        set [editmode v] to [0]\n        broadcast (PlaySong v)\n    else\n        set [editmode v] to [1]\n        set [abletosave v] to [0]\n        stop all sounds\n    end\n    Convert\nend\nbroadcast (UpdateAreaSettings v)\n\ndefine ReplaceSection (no.) OfArea (area) With (input)\nset [n. v] to [1]\nset [n.2 v] to []\nset [n.8 v] to (item (area) of [areas v])\nrepeat ((no.) - (1))\n    set [n.2 v] to (join (N.2) (letter (N.) of (N.8)))\n    repeat until <(letter (N.) of (N.8)) = [;]>\n        change [n. v] by (1)\n        set [n.2 v] to (join (N.2) (letter (N.) of (N.8)))\n        if <(N.) > (length of (N.8))> then\n            stop [this script v]\n        end\n    end\n    change [n. v] by (1)\nend\nset [n.2 v] to (join (N.2) (input))\nrepeat until <(letter (N.) of (N.8)) = [;]>\n    change [n. v] by (1)\n    if <(N.) > (length of (N.8))> then\n        stop [this script v]\n    end\nend\nset [n.2 v] to (join (N.2) (letter (N.) of (N.8)))\nrepeat ((length of (N.8)) - (N.))\n    change [n. v] by (1)\n    set [n.2 v] to (join (N.2) (letter (N.) of (N.8)))\nend\nreplace item (area) of [areas v] with (N.2)\n\nwhen I receive [resetmap v]\nConvert\n\nwhen [i v] key pressed\nset [n.5 v] to (Inventory)\nShortcut\nif <<(Searching) = [0]> or <(Inventory) = [0]>> then\n    if <(Inventory) = [0]> then\n        set [inventory v] to [0.01]\n    else\n        set [inventory v] to [0]\n    end\nend\n\nwhen [m v] key pressed\nif <<(Searching) = [0]> or <(Inventory) = [0]>> then\n    if <(length of [px v]) = [0]> then\n        set [editmode v] to [1]\n        if <(MusicMenu) = [0]> then\n            set [inventory v] to [0]\n            set [musicmenu v] to [0.01]\n            set [gtime v] to [0]\n        else\n            if <(MusicMenu) = [1]> then\n                set [musicmenu v] to [-0.99]\n            end\n        end\n    end\nend\n\nwhen [t v] key pressed\nset [n.5 v] to (TimeMenu)\nShortcut\nset [timemenu v] to (N.5)\n\nwhen [q v] key pressed\nif <<(Searching) = [0]> or <(Inventory) = [0]>> then\n    if <(Tool) = [Pen]> then\n        set [tool v] to [Erase]\n    else\n        set [tool v] to [Pen]\n    end\nend\n\ndefine Convert\nset [timer v] to (MaxTimer)\nset [coins v] to [0]\nset [keys v] to [0]\nset [gtime v] to [0]\nset [ptimer v] to [0]\nset [pipeuseno. v] to [0]\nset [pipedestnno. v] to [0]\nif <(KeyCoinsRemaining) = [0]> then\n    delete all of [collkeycoins v]\nend\ndelete all of [enycont v]\ndelete all of [enydir v]\ndelete all of [enyext v]\ndelete all of [enysta v]\ndelete all of [enyty v]\ndelete all of [enyx v]\ndelete all of [enyxvel v]\ndelete all of [enyy v]\ndelete all of [enyyvel v]\ndelete all of [boseti v]\ndelete all of [bonseex v]\ndelete all of [bosest v]\ndelete all of [bosety v]\ndelete all of [bosex v]\ndelete all of [bosey v]\nif <(EditMode) = [0]> then\n    set [n. v] to ((length of [ex v]) + (1))\n    repeat (length of [ex v])\n        change [n. v] by (-1)\n        set [n.5 v] to (item (N.) of [ety v])\n        Spawn (item (N.) of [ex v]) (item (N.) of [ey v]) (item (N.) of [ec v])\n    end\nend\ndelete all of [unibou v]\ndelete all of [unicont v]\ndelete all of [unity v]\ndelete all of [unix v]\ndelete all of [uniy v]\ndelete all of [extdir v]\ndelete all of [extsta v]\ndelete all of [extty v]\ndelete all of [extrax v]\ndelete all of [extxv v]\ndelete all of [extray v]\ndelete all of [extyv v]\ndelete all of [extcont v]\nset [keycoinsremaining v] to [0]\nif <(EditMode) = [0]> then\n    set [n. v] to [0]\n    repeat (length of [ux v])\n        change [n. v] by (1)\n        set [n.6 v] to (item (N.) of [ucont v])\n        if <not <<(item (N.) of [uty v]) = [?]> and <[collkeycoins v] contains (join (item (N.) of [ux v]) (item (N.) of [uy v]))?>>> then\n            if <[extras v] contains (item (N.) of [uty v])?> then\n                set [n.7 v] to (letter (2) of (N.6))\n                if <(letter (1) of (N.6)) = [8]> then\n                    insert (join (N.7) (letter (3) of (N.6))) at (1) of [extcont v] \n                else\n                    insert (join (letter (1) of (N.6)) (N.7)) at (1) of [extcont v] \n                end\n                if < (N.6) contains [8]?> then\n                    insert [8] at (1) of [extyv v] \n                    insert [90] at (1) of [extdir v] \n                    insert ((0.5) - ((1) / (16))) at (1) of [extxv v] \n                else\n                    insert [0] at (1) of [extxv v] \n                    insert [0] at (1) of [extyv v] \n                    if <(N.6) = [-]> then\n                        insert [-90] at (1) of [extdir v] \n                    else\n                        insert [90] at (1) of [extdir v] \n                    end\n                end\n                insert [0] at (1) of [extsta v] \n                insert (item (N.) of [uty v]) at (1) of [extty v] \n                insert ((item (N.) of [ux v]) + (<(item (N.) of [uty v]) = [i]> * (-0.5))) at (1) of [extrax v] \n                insert ((item (N.) of [uy v]) + (<(item (N.) of [uty v]) = [i]> * (0.5))) at (1) of [extray v] \n            else\n                add [0] to [unibou v]\n                add (N.6) to [unicont v]\n                add (item (N.) of [uty v]) to [unity v]\n                if <(item (N.) of [uty v]) = [?]> then\n                    change [keycoinsremaining v] by (1)\n                end\n                add (item (N.) of [ux v]) to [unix v]\n                add (item (N.) of [uy v]) to [uniy v]\n            end\n        end\n    end\nend\nset [n. v] to [0]\nrepeat (length of [pipex v])\n    change [n. v] by (1)\n    if <(item (N.) of [pipetype v]) = [.21]> then\n        replace item (N.) of [pipetype v] with [.2]\n    end\nend\n\ndefine Spawn (x) (y) (cont)\nif <<<(N.5) = [k]> or <(N.5) = [y]>> or <<(N.5) = [n]> or <<(N.5) = [w]> or <(N.5) = [x]>>>> then\n    add [0] to [boseti v]\n    add (N.5) to [bosety v]\n    add (x) to [bosex v]\n    add (y) to [bosey v]\n    if <(N.5) = [n]> then\n        add (y) to [bonseex v]\n        add [0] to [bosest v]\n    else\n        if <(N.5) = [x]> then\n            add ((0.5) - ((2) / (16))) to [bonseex v]\n        else\n            add ((0.5) - ((1) / (16))) to [bonseex v]\n        end\n        if <<(N.5) = [w]> or <(N.5) = [x]>> then\n            add [90] to [bosest v]\n        else\n            add [0.3] to [bosest v]\n        end\n    end\nelse\n    add (cont) to [enycont v]\n    if <<(N.5) = [f]> and <([abs v] of (item (N.) of [ed v]) ) = [45]>> then\n        add (round ((item (N.) of [ed v]) * (2))) to [enydir v]\n        add [3] to [enysta v]\n        add [0.1] to [enyyvel v]\n    else\n        if <(N.5) = [as]> then\n            add [-1] to [enysta v]\n        else\n            if <(N.5) = [av]> then\n                add [-2] to [enysta v]\n            else\n                add [0] to [enysta v]\n            end\n        end\n        if < (cont) contains [8]?> then\n            add [90] to [enydir v]\n        else\n            add (item (N.) of [ed v]) to [enydir v]\n        end\n        if <<<(N.5) = [t]> or <(N.5) = [at]>> or <<(N.5) = [ap]> or <<(N.5) = [aq]> or <(N.5) = [az]>>>> then\n            add [-0.1] to [enyyvel v]\n        else\n            add [0] to [enyyvel v]\n        end\n    end\n    add [0] to [enyext v]\n    if <(N.5) = [as]> then\n        add [c] to [enyty v]\n    else\n        if <(N.5) = [av]> then\n            add [d] to [enyty v]\n        else\n            add (N.5) to [enyty v]\n        end\n    end\n    if <<(N.5) = [q]> or <(N.5) = [ao]>> then\n        add ((x) - (0.5)) to [enyx v]\n    else\n        add (x) to [enyx v]\n    end\n    add (y) to [enyy v]\n    if < (cont) contains [8]?> then\n        add ((0.5) - ((1) / (16))) to [enyxvel v]\n    else\n        if <(N.5) = [p]> then\n            add [4] to [enyxvel v]\n        else\n            add [0] to [enyxvel v]\n        end\n    end\nend\n\nwhen I receive [save v]\nset [codeentered/loaded v] to [\[b\]]\ndelete all of [save code v]\nif <not <(AbleToSave) = [1]>> then\n    hide list [save code v]\n    add [You must complete your level in order to be allowed to save.] to [save code v]\n    add [This means you must play through your level from start to end. Spawn to Goal.] to [save code v]\n    add [] to [save code v]\n    add [Reaching a Bonus Goal will not count as having completed your level.] to [save code v]\n    add [] to [save code v]\n    add [If you are ready to play through your level, click R.] to [save code v]\n    add [If you are not yet ready, click SPACE to return to the editor.] to [save code v]\n    wait until <not <<key (space v) pressed?> or <key (r v) pressed?>>>\n    wait until <<key (space v) pressed?> or <key (r v) pressed?>>\n    if <key (space v) pressed?> then\n        show list [save code v]\n        stop [this script v]\n    end\n    if <key (r v) pressed?> then\n        set [abletosave v] to [0.5]\n        show list [save code v]\n        broadcast (StartLevel v)\n    end\n    wait until <(AbleToSave) = [1]>\n    broadcast (Fast Transition v)\n    delete all of [save code v]\n    hide list [save code v]\n    add [Well done, you can now save your level.] to [save code v]\n    add [] to [save code v]\n    add [Please enter the level's information asked for in the boxes below.] to [save code v]\n    add [] to [save code v]\n    add [Once all the information has been collected, you will be given your level's code.] to [save code v]\nend\nask [SAVING LEVEL: Enter a Name for your Level. Avoid Punctuation. Enter 'Cancel' to cancel.] and wait\nset [title v] to (answer)\nif << (answer) contains [cancel]?> and <(length of (answer)) < [11]>> then\n    stop [this script v]\nend\nJoinSave (join [Title: ] (Title))\nask [Enter a Description of your Level. OPTIONAL. You may want to include: Difficulty, Instructions, or Helpful Information.] and wait\nJoinSave [\[code\]]\nSave\ndelete all of [save code v]\nhide list [save code v]\nadd [The bottom row of this list, row 7, is your save code.] to [save code v]\nDoThis\nrepeat until <(answer) = (CodeEntered/Loaded)>\n    ask [Enter Save Code to Verify.] and wait\n    delete all of [save code v]\n    add [CODE COPIED INCORRECTLY. TRY AGAIN.] to [save code v]\n    DoThis\nend\ndelete all of [save code v]\nadd [Code Copied Correctly.] to [save code v]\nadd [] to [save code v]\nadd [Feel free to share it in the forum, which can be accessed through this link:] to [save code v]\nadd [https://scratch.mit.edu/discuss/topic/536337/] to [save code v]\nadd [] to [save code v]\nadd [Do not post your code in the comments. Do not edit the code in any way.] to [save code v]\nadd [Click Space to return to the editor.] to [save code v]\nwait until <not <key (space v) pressed?>>\nwait until <key (space v) pressed?>\ndelete all of [save code v]\nshow list [save code v]\n\ndefine Save\nset [n. v] to [0]\nrepeat (length of [bx v])\n    change [n. v] by (1)\n    JoinSave (item (N.) of [bx v])\n    JoinSave;\n    JoinSave (item (N.) of [by v])\n    JoinSave;\n    JoinSave (item (N.) of [bty v])\n    JoinSave;\nend\nJoinSave [B]\nset [n. v] to [0]\nrepeat (length of [ux v])\n    change [n. v] by (1)\n    JoinSave (item (N.) of [ux v])\n    JoinSave;\n    JoinSave (item (N.) of [uy v])\n    JoinSave;\n    JoinSave (item (N.) of [uty v])\n    JoinSave;\n    JoinSave (item (N.) of [ucont v])\n    JoinSave;\nend\nJoinSave [C]\nset [n. v] to [0]\nrepeat (length of [ex v])\n    change [n. v] by (1)\n    JoinSave (item (N.) of [ex v])\n    JoinSave;\n    JoinSave (item (N.) of [ey v])\n    JoinSave;\n    JoinSave (item (N.) of [ety v])\n    JoinSave;\n    JoinSave (item (N.) of [ec v])\n    JoinSave;\n    JoinSave (item (N.) of [ed v])\n    JoinSave;\nend\nJoinSave [D]\nset [n. v] to [0]\nrepeat (length of [pipex v])\n    change [n. v] by (1)\n    JoinSave (item (N.) of [pipex v])\n    JoinSave;\n    JoinSave (item (N.) of [pipey v])\n    JoinSave;\n    JoinSave (item (N.) of [pipetype v])\n    JoinSave;\nend\nJoinSave [E]\nset [n. v] to [0]\nrepeat (length of [semix v])\n    change [n. v] by (1)\n    JoinSave (item (N.) of [semix v])\n    JoinSave;\n    JoinSave (item (N.) of [semiy v])\n    JoinSave;\n    JoinSave (item (N.) of [semitype v])\n    JoinSave;\nend\nJoinSave [F]\nset [n. v] to [0]\nrepeat (length of [areas v])\n    change [n. v] by (1)\n    JoinSave (item (N.) of [areas v])\n    JoinSave [:]\nend\nJoinSave [G]\nJoinSave (MaxTimer)\nJoinSave;\nJoinSave (GoalX)\nJoinSave;\nJoinSave (GoalY)\nJoinSave;\nJoinSave (GoalFloor)\nJoinSave;\nJoinSave (OSpawnX)\nJoinSave;\nJoinSave (OSpawnY)\nJoinSave;\nJoinSave (username)\nJoinSave;\nJoinSave (Title)\nJoinSave;\nJoinSave [ \[/code\]]\nJoinSave (join [Description: ] (answer))\n\nwhen I receive [load v]\nerase all\nNewLevel\nLoad\nbroadcast (UpdateAreaSettings v)\nSpawn\nset [editmode v] to [0]\nset [invincible v] to [0]\nset [allowmovement v] to [0]\nset [allowplayercontrol v] to [0]\nset [dead v] to [0]\nif <(Menu) = [Load]> then\n    wait (2.5) seconds\n    set [menu v] to [Game]\nend\nbroadcast (StartLevel v)\n\ndefine ExtractUntil (letter)\nset [n.4 v] to []\nrepeat until <(letter (N.) of (CodeEntered/Loaded)) = (letter)>\n    set [n.4 v] to (join (N.4) (letter (N.) of (CodeEntered/Loaded)))\n    change [n. v] by (1)\n    if <(N.) > ((length of (CodeEntered/Loaded)) + (8))> then\n        wait (8) seconds\n    end\nend\nchange [n. v] by (1)\n\ndefine NewLevel\nset [goalx v] to [0]\nset [goaly v] to [-50]\nset [goalfloor v] to [0]\nset [floor v] to [1]\nset [ospawnx v] to [0]\nset [ospawny v] to [0]\nset [spawnx v] to [0]\nset [spawny v] to [0]\ndelete all of [bty v]\ndelete all of [bx v]\ndelete all of [by v]\ndelete all of [semitype v]\ndelete all of [semix v]\ndelete all of [semiy v]\ndelete all of [ec v]\ndelete all of [ed v]\ndelete all of [ety v]\ndelete all of [ex v]\ndelete all of [ey v]\ndelete all of [ucont v]\ndelete all of [uty v]\ndelete all of [ux v]\ndelete all of [uy v]\ndelete all of [pipex v]\ndelete all of [pipey v]\ndelete all of [pipetype v]\ndelete all of [areas v]\nif <not <(Menu) = [Load]>> then\n    add [2;1;2;1;-200;-200;] to [areas v]\n    add [4;3;1;1;-200;-200;] to [areas v]\n    broadcast (UpdateAreaSettings v) and wait\nend\n\ndefine Load\nswitch backdrop to (clear v)\nset [allowmovement v] to [0]\nset [allowplayercontrol v] to [0]\nset [dead v] to [0]\nset [goalreached v] to [0]\nset [n. v] to [1]\nif <(letter (1) of (CodeEntered/Loaded)) = [\[]> then\n    ExtractUntil [\]]\n    ExtractUntil [\[]\n    ExtractUntil [\]]\nend\nif <(letter (1) of (CodeEntered/Loaded)) = [T]> then\n    repeat until <<<(letter (N.) of (CodeEntered/Loaded)) < [10]> and <not <(letter (N.) of (CodeEntered/Loaded)) = [ ]>>> or <(letter (N.) of (CodeEntered/Loaded)) = [-]>>\n        change [n. v] by (1)\n    end\nend\nrepeat until <(letter (N.) of (CodeEntered/Loaded)) = [B]>\n    ExtractUntil [;]\n    add (N.4) to [bx v]\n    ExtractUntil [;]\n    add (N.4) to [by v]\n    ExtractUntil [;]\n    add (N.4) to [bty v]\nend\nchange [n. v] by (1)\nrepeat until <(letter (N.) of (CodeEntered/Loaded)) = [C]>\n    ExtractUntil [;]\n    add (N.4) to [ux v]\n    ExtractUntil [;]\n    add (N.4) to [uy v]\n    ExtractUntil [;]\n    add (N.4) to [uty v]\n    ExtractUntil [;]\n    if <(N.4) = [T]> then\n        switch backdrop to (join (N.4) [])\n        if <(backdrop [number v]) = [2]> then\n            add [t] to [ucont v]\n        else\n            add [8] to [ucont v]\n        end\n    else\n        if <<(N.4) = [8]> and <not <[pot v] contains (item (length of [uty v]) of [uty v])?>>> then\n            add [t] to [ucont v]\n        else\n            add (N.4) to [ucont v]\n        end\n    end\nend\nchange [n. v] by (1)\nrepeat until <(letter (N.) of (CodeEntered/Loaded)) = [D]>\n    ExtractUntil [;]\n    add (N.4) to [ex v]\n    ExtractUntil [;]\n    add (N.4) to [ey v]\n    ExtractUntil [;]\n    add (N.4) to [ety v]\n    ExtractUntil [;]\n    if <(N.4) = [T]> then\n        add [8] to [ec v]\n    else\n        add (N.4) to [ec v]\n    end\n    ExtractUntil [;]\n    add (N.4) to [ed v]\nend\nchange [n. v] by (1)\nrepeat until <(letter (N.) of (CodeEntered/Loaded)) = [E]>\n    ExtractUntil [;]\n    add (N.4) to [pipex v]\n    ExtractUntil [;]\n    add (N.4) to [pipey v]\n    ExtractUntil [;]\n    add (N.4) to [pipetype v]\nend\nchange [n. v] by (1)\nrepeat until <(letter (N.) of (CodeEntered/Loaded)) = [F]>\n    ExtractUntil [;]\n    add (N.4) to [semix v]\n    ExtractUntil [;]\n    add (N.4) to [semiy v]\n    ExtractUntil [;]\n    add (N.4) to [semitype v]\nend\nchange [n. v] by (1)\ndelete all of [areas v]\nrepeat until <(letter (N.) of (CodeEntered/Loaded)) = [G]>\n    ExtractUntil [:]\n    add (N.4) to [areas v]\nend\nchange [n. v] by (1)\nExtractUntil [;]\nset [maxtimer v] to (N.4)\nExtractUntil [;]\nset [goalx v] to (N.4)\nExtractUntil [;]\nset [goaly v] to (N.4)\nExtractUntil [;]\nset [goalfloor v] to (N.4)\nExtractUntil [;]\nset [ospawnx v] to (N.4)\nExtractUntil [;]\nset [ospawny v] to (N.4)\nExtractUntil [;]\nset [maker v] to (N.4)\nExtractUntil [;]\nset [title v] to (N.4)\n\ndefine DoThis\nadd [] to [save code v]\nadd [To save it properly, triple click it, which will highlight the entire code, then] to [save code v]\nadd [right click it and select 'copy', or do Ctrl + C. Do not try dragging the mouse over it.] to [save code v]\nadd [After it has been copied, enter it in the box to check you copied it correctly.] to [save code v]\nadd [Save Code Below:] to [save code v]\nadd (CodeEntered/Loaded) to [save code v]\n\ndefine Spawn\nset [spawnx v] to ((OSpawnX) * (32))\nset [spawny v] to ((OSpawnY) * (32))\n\nwhen I receive [flagclicked v]\nset [mylevel v] to [0]\nset [codeentered/loaded v] to []\nstop [other scripts in sprite v]\nNew\nset [menu v] to [Home]\nwait (0) seconds\nif <<(ClearingLag) = [0.5]> or <(ClearingLag) = [1]>> then\n    broadcast (LagClearing v)\n    wait (1) seconds\n    broadcast (LagClearing v)\n    wait until <(ClearingLag) = [0]>\nend\nset [n.5 v] to (pick random (1) to (4))\nif <(N.5) = [1]> then\n    set [codeentered/loaded v] to (join [\[b\]Title: Snow\[code\]-8;-4;32l;-8;-3;32ul;-7;-4;32a;-7;-3;32u;-6;-4;32a;-6;-3;32u;-5;-4;32a;-5;-3;32u;-4;-4;32a;-4;-3;32u;-3;-4;32a;-3;-3;32u;-2;-4;32a;-2;-3;32u;-1;-4;32a;-1;-3;32u;0;-4;32a;0;-3;32u;1;-4;32a;1;-3;32u;2;-4;32a;2;-3;32u;3;-4;32a;3;-3;32u;4;-4;32a;4;-3;32a4;4;-2;32ul;5;-4;32a;5;-3;32a;5;-2;32u;6;-4;32a;6;-3;32a;6;-2;32u;7;-4;32a;7;-3;32a;7;-2;32u;8;-4;32a;8;-3;32a;8;-2;32u;9;-4;32a;9;-3;32a;9;-2;32u;10;-4;32a;10;-3;32a;10;-2;32u;11;-4;32a;11;-3;32a;11;-2;1u;12;-4;32a;12;-3;32a;12;-2;1u;13;-4;32a;13;-3;32a;13;-2;32u;14;-4;32a;14;-3;32a;14;-2;32u;15;-4;32a;15;-3;32a;15;-2;32u;16;-4;32a;16;-3;32a;16;-2;32u;17;-4;32a;17;-3;32a;17;-2;32u;18;-4;32a;18;-3;32a;18;-2;32u;19;-4;32a;19;-3;32a;19;-2;32u;20;-4;32a;20;-3;32a;20;-2;32u;21;-4;32a;21;-3;32a;21;-2;32u;22;-4;32a;22;-3;32a;22;-2;32u;23;-4;32a;23;-3;32a;23;-2;32u;24;-4;32a;24;-3;32a;24;-2;32u;25;-4;32a;25;-3;32a;25;-2;32u;26;-4;32a;26;-3;32a;26;-2;32u;26;3;32dl;26;4;32l;26;5;32ul;27;-4;32a;27;-3;3a;27;-2;32u;27;2;2dl;27;3;32a;27;4;32a;27;5;32u;28;-4;32a;28;-3;32a;28;-2;32u;28;2;2d;28;3;32a;28;4;32a;28;5;32a4;28;6;32ul;29;-4;32a;29;-3;3a;29;-2;3u3;29;2;3d8;29;3;32a;29;4;32a;29;5;32a;29;6;32u;30;-4;32a;30;-3;3a6;30;-2;3ur;30;2;3dr;30;3;32a;30;4;32a;30;5;32a;30;6;32u;31;-4;32a;31;-3;3u;31;3;2dr;31;4;32a;31;5;32a;31;6;32a4;31;7;32ul;32;-4;32a;32;-3;3u;32;4;32d;32;5;32a;32;6;32a;32;7;32u;33;-4;32a;33;-3;3a7;33;-2;3ul;33;3;3dl;33;4;32a;33;5;32a;33;6;32a;33;7;32u;34;-4;32a;34;-3;32a;34;-2;3u4;34;3;3dr;34;4;32a;34;5;32a;34;6;32a;34;7;1u;35;-4;32a;35;-3;32a;35;-2;3u;35;4;32d;35;5;32a;35;6;32a;35;7;1u;36;-4;32a;36;-3;32a;36;-2;32u;36;3;3dl;36;4;32a;36;5;32a;36;6;32a;36;7;32u;37;-4;32a;37;-3;32a;37;-2;3u3;37;3;3d9;37;4;32a;37;5;32a;37;6;32a;37;7;1u;38;-4;32a;38;-3;3a6;38;-2;3ur;38;3;3d;38;4;32a;38;5;32a;38;6;32a;38;7;32u;39;-4;32a;39;-3;3u;39;3;3d;39;4;32a;39;5;32a;39;6;32a;39;7;32u;40;-4;32a;40;-3;3u;40;2;3dl;40;3;3a;40;4;32a;40;5;32a;40;6;32a3;40;7;32ur;41;-4;32a;41;-3;32u;41;2;3d9;41;3;32a;41;4;32a;41;5;32a;41;6;32u;42;-4;32a;42;-3;3u;42;2;32d;42;3;32a;42;4;32a;42;5;32a;42;6;32u;43;-4;32a;43;-3;3u;43;2;32d;43;3;32a;43;4;32a;43;5;32a;43;6;32u;44;-4;32a;44;-3;3a7;44;-2;3ul;44;1;2dl;44;2;32a;44;3;32a;44;4;32a;44;5;32a3;44;6;32ur;45;-4;32a;45;-3;3a;45;-2;3u5;45;0;3dl;45;1;32a;45;2;32a;45;3;32a;45;4;32a;45;5;32u;46;-4;32a;46;-3;3a6;46;-2;3ur;46;0;3d10;46;1;32a;46;2;32a;46;3;32a;46;4;32a;46;5;32u;47;-4;32a;47;-3;3u;47;0;3dr;47;1;32a;47;2;32a;47;3;32a;47;4;32a;47;5;32u;48;-4;32a;48;-3;3u;48;1;32d;48;2;32a;48;3;32a;48;4;32a3;48;5;32ur;49;-4;32a;49;-3;32u;49;1;3d8;49;2;32a;49;3;32a;49;4;32u;50;-4;32a;50;-3;32u;50;1;3dr;50;2;32r;50;3;32r;50;4;32ur;51;-4;32a;51;-3;32u;52;-4;32a;52;-3;32u;53;-4;32a;53;-3;32u;54;-4;32a;54;-3;32u;55;-4;32a;55;-3;32u;56;-4;32a;56;-3;32u;57;-4;32r;57;-3;32ur;61;-4;32l;61;-3;32ul;62;-4;32a;62;-3;32u;63;-4;32a;63;-3;32u;64;-4;32a;64;-3;32u;65;-4;32a;65;-3;32u;66;-4;32a;66;-3;32u;67;-4;32a;67;-3;32a4;67;-2;32ul;68;-4;32a;68;-3;32a;68;-2;32u;69;-4;32a;69;-3;32a;69;-2;32u;70;-4;32a;70;-3;32a;70;-2;32u;71;-4;32a;71;-3;32a;71;-2;32u;72;-4;32a;72;-3;32a;72;-2;32u;73;-4;32a;73;-3;32a;73;-2;32u;74;-4;32a;74;-3;32a3;74;-2;32ur;75;-4;32a;75;-3;32u;76;-4;32a;76;-3;32u;77;-4;32a;77;-3;32u;78;-4;32a;78;-3;32u;79;-4;32r;79;-3;32ur;83;-4;32l;83;-3;32l;83;-2;32ul;84;-4;32a;84;-3;32a;84;-2;32u;84;2;32dl;84;3;32ul;85;-4;32a;85;-3;32a;85;-2;1u;85;2;32d;85;3;32a4;85;4;32ul;86;-4;32a;86;-3;32a;86;-2;3u3;86;1;3dl;86;2;32a;86;3;32a;86;4;32u;87;-4;32a;87;-3;3a6;87;-2;3ur;87;1;3dr;87;2;32a;87;3;32a;87;4;32a4;87;5;32ul;88;-4;32a;88;-3;3u;88;2;3d8;88;3;32a;88;4;32a;88;5;32u;89;-4;32a;89;-3;32u;89;2;3dr;89;3;32a;89;4;32a;89;5;32u;90;-4;32a;90;-3;1u;90;3;32d;90;4;32a;90;5;32a4;90;6;32ul;91;-4;32a;91;-3;3a7;91;-2;3ul;91;3;32d;91;4;32a;91;5;32a;91;6;32u;92;-4;32a;92;-3;3a;92;-2;3u5;92;3;32d;92;4;32a;92;5;32a;92;6;1u;93;-4;32a;93;-3;3a6;93;-2;3ur;93;2;2dl;93;3;32a;93;4;32a;93;5;32a;93;6;32u;94;-4;32a;94;-3;1u;94;2;32d;94;3;32a;94;4;32a;94;5;32a;94;6;1u;95;-4;32a;95;-3;32u;95;1;3dl;95;2;32a;95;3;32a;95;4;32a;95;5;32a;95;6;32u;96;-4;32a;96;-3;1u;96;1;3d10;96;2;32a;96;3;32a;96;4;32a;96;5;32a3;96;6;32ur;97;-4;32a;97;-3;3a7;97;-2;3ul;97;1;3dr;97;2;32a;97;3;32a;97;4;32a;97;5;32u;98;-4;32a;98;-3;32a;98;-2;3u4;98;2;32d;98;3;32a;98;4;32a;98;5;32u;99;-4;32a;99;-3;32a;99;-2;1u;99;2;32d;99;3;32a;99;4;32a3;99;5;32ur;100;-4;32a;100;-3;32a;100;-2;32u;100;2;32dr;100;3;32r;100;4;32ur;101;-4;32a;101;-3;32a;101;-2;32u;102;-4;32a;102;-3;32a;102;-2;32u;103;-4;32a;103;-3;32a;103;-2;32u;104;-4;32a;104;-3;32a;104;-2;32u;105;-4;32a;105;-3;32a;105;-2;32u;106;-4;32a;106;-3;32a;106;-2;32u;107;-4;32a;107;-3;32a;107;-2;32u;108;-4;32a;108;-3;32a;108;-2;32u;109;-4;32a;109;-3;32a;109;-2;32u;110;-4;32a;110;-3;32a;110;-2;32u;111;-4;32a;111;-3;32a;111;-2;32u;112;-4;32a;112;-3;32a;112;-2;32u;113;-4;32a;113;-3;32a;113;-2;32u;114;-4;32a;114;-3;32a3;114;-2;32ur;115;-4;32a;115;-3;32u;116;-4;32a;116;-3;32u;117;-4;32a;117;-3;32u;118;-4;32a;118;-3;32u;119;-4;32a;119;-3;32u;120;-4;32r;120;-3;32ur;124;-4;32l;124;-3;32l;124;-2;32l;124;-1;32ul;125;-4;32a;125;-3;32a;125;-2;32a;125;-1;32u;126;-4;32a;126;-3;32a;126;-2;32a;126;-1;32u;127;-4;32a;127;-3;32a;127;-2;32a;127;-1;32u;128;-4;32a;128;-3;32a;128;-2;32a;128;-1;3] [2u;129;-4;32a;129;-3;32a;129;-2;32a;129;-1;32u;130;-4;32a;130;-3;32a;130;-2;32a;130;-1;32u;131;-4;32a;131;-3;32a3;131;-2;32r;131;-1;32ur;132;-4;32a;132;-3;1u;133;-4;32a;133;-3;32u;134;-4;32a;134;-3;1u;135;-4;32a;135;-3;1u;136;-4;32a;136;-3;32u;137;-4;32a;137;-3;1u;138;-4;32a;138;-3;32u;139;-4;32a;139;-3;32a4;139;-2;32ul;140;-4;32a;140;-3;32a;140;-2;32u;141;-4;32a;141;-3;32a;141;-2;32u;142;-4;32a;142;-3;32a;142;-2;32u;143;-4;32a;143;-3;32a;143;-2;32u;144;-4;32a;144;-3;32a;144;-2;32u;145;-4;32a;145;-3;32a;145;-2;32u;146;-4;32a;146;-3;32a;146;-2;32u;147;-4;32a;147;-3;32a;147;-2;32u;148;-4;32a;148;-3;32a;148;-2;32u;149;-4;32a;149;-3;32a;149;-2;32u;150;-4;32a;150;-3;32a;150;-2;32u;151;-4;32a;151;-3;32a;151;-2;32u;152;-4;32a;152;-3;32a;152;-2;32u;153;-4;32a;153;-3;32a;153;-2;32u;154;-4;32a;154;-3;32a3;154;-2;32ur;155;-4;32a;155;-3;32u;156;-4;32a;156;-3;32u;157;-4;32a;157;-3;32u;158;-4;32a;158;-3;32u;159;-4;32a;159;-3;32u;160;-4;32a;160;-3;32u;161;-4;32a;161;-3;32u;162;-4;32r;162;-3;32ur;164;-4;32l;164;-3;32l;164;-2;32ul;165;-4;32a;165;-3;32a;165;-2;32u;166;-4;32a;166;-3;32a;166;-2;32u;167;-4;32a;167;-3;32a;167;-2;32u;168;-4;32a;168;-3;32a;168;-2;32u;169;-4;32r;169;-3;32r;169;-2;32ur;171;-4;32l;171;-3;32ul;172;-4;32a;172;-3;32u;173;-4;32a;173;-3;32u;174;-4;32r;174;-3;32ur;178;-4;32l;178;-3;32ul;179;-4;32a;179;-3;32u;180;-4;32a;180;-3;32a4;180;-2;32ul;181;-4;32a;181;-3;32a;181;-2;32u;182;-4;32a;182;-3;32a;182;-2;32u;183;-4;32a;183;-3;32a;183;-2;32u;184;-4;32a;184;-3;32a;184;-2;32u;185;-4;32a;185;-3;32a3;185;-2;32ur;186;-4;32a;186;-3;32u;187;-4;32a;187;-3;32u;188;-4;32r;188;-3;32ur;192;-4;32l;192;-3;32ul;193;-4;32a;193;-3;32u;194;-4;32a;194;-3;32u;195;-4;32a;195;-3;32u;196;-4;32a;196;-3;32u;197;-4;32a;197;-3;32u;198;-4;32a;198;-3;32u;199;-4;32a;199;-3;32u;200;-4;32a;200;-3;32u;201;-4;32a;201;-3;32u;202;-4;32a;202;-3;32u;203;-4;32a;203;-3;32u;204;-4;32a;204;-3;32u;205;-4;32a;205;-3;32u;206;-4;32a;206;-3;32u;207;-4;32r;207;-3;32ur;B-7;3;\(;au;6;4;%;;6;5;%;;7;4;%;;7;5;%;;8;4;%;;8;5;%;;11;4;!;;12;4;$;s;13;4;!;;15;3;%;;15;4;%;;16;3;%;;16;4;%;;17;3;%;;17;4;%;;28;11;%;;28;12;%;;29;11;%;;29;12;%;;30;11;%;;30;12;%;;34;11;!;;35;11;$;s;36;11;!;;37;11;$;%;38;11;!;;40;-1;%;;41;0;%;;42;-1;%;;42;11;%;;42;12;%;;43;11;%;;43;12;%;;44;11;%;;44;12;%;;46;9;%;;46;10;%;;47;9;%;;47;10;%;;48;9;%;;48;10;%;;58;2;%;;59;2;%;;60;1;%;;61;0;%;;70;2;%;;71;2;%;;72;2;%;;78;0;%;;79;1;%;;80;2;%;;91;7;%;;92;7;%;;92;10;\(;au;93;7;%;;93;10;$;s;94;7;%;;94;10;\(;au;95;7;%;;109;1;%;;110;1;%;;111;1;%;;126;3;%;;127;3;%;;128;3;%;;129;3;%;;130;3;%;;132;-2;r;;133;1;!;;134;1;$;s;135;1;!;;136;1;$;%;137;1;!;;144;3;%;;144;4;%;;145;3;%;;145;4;%;;146;3;%;;146;4;%;;147;3;%;;147;4;%;;148;3;%;;148;4;%;;149;3;%;;149;4;%;;150;3;%;;150;4;%;;175;-1;%;;176;-1;%;;177;-1;%;;C5;-1;a;;-90;8;-1;a;;-90;12;-1;a;;-90;16;-1;a;;-90;32;-2;ay;;-90;33;8;a;;-90;43;-2;ay;;-90;43;10;ay;;-90;68;-1;a;;-90;72;-1;a;;-90;85;-1;a;;-90;89;-2;ay;;-90;95;-2;ay;;-90;101;-1;a;;-90;128;0;a;;-90;139;-1;a;;-90;139;0;a;;-90;141;-1;a;;-90;141;0;a;;-90;149;-1;ay;;-90;154;-1;ay;;-90;161;-2;a;;-90;167;2;a;;-90;172;-2;a;;-90;182;2;a;;-90;DE-8;-2;33l;-8;-1;33l;-8;0;33ul;-7;-2;33a;-7;-1;33a;-7;0;33u;-6;-2;33r;-6;-1;33r;-6;0;33ur;-5;-2;28a;2;-2;28a;3;-2;28a;6;-1;33l;6;0;33l;6;1;33l;6;2;33ul;7;-1;33a;7;0;33a;7;1;33a;7;2;33u;8;-1;33r;8;0;33r;8;1;33r;8;2;33ur;9;-1;28a;10;-1;28a;11;-1;33l;11;0;33ul;12;-1;33a;12;0;33u;13;-1;33r;13;0;33ur;14;-1;28a;15;-1;33l;15;0;33l;15;1;33ul;16;-1;33a;16;0;33a;16;1;33u;17;-1;33r;17;0;33r;17;1;33ur;22;-1;33l;22;0;33l;22;1;33l;22;2;33ul;23;-1;33a;23;0;33a;23;1;33a;23;2;33u;24;-1;33r;24;0;33r;24;1;33r;24;2;33ur;27;-1;28a;28;-1;34a;28;0;34a;28;1;34a;28;7;33l;28;8;33l;28;9;33ul;29;7;33a;29;8;33a;29;9;33u;30;7;33r;30;8;33r;30;9;33ur;31;-2;20d;32;-2;34a;32;-1;34a;32;0;34a;32;1;34a;32;2;34a;32;3;34a;35;-1;34a;35;0;34a;35;1;34a;35;2;34a;35;3;34a;36;-1;28a;39;-2;34a;39;-1;34a;39;0;34a;39;1;34a;39;2;34a;40;-2;20a;41;-2;28a;41;7;28a;42;-2;28a;42;7;33l;42;8;33l;42;9;33ul;43;-2;34a;43;-1;34a;43;0;34a;43;1;34a;43;7;33a;43;8;33a;43;9;33u;44;7;33r;44;8;33r;44;9;33ur;45;6;28a;46;6;33l;46;7;33ul;47;-2;28a;47;6;33a;47;7;33u;48;-2;34a;48;-1;34a;48;0;34a;48;6;33r;48;7;33ur;49;-2;28a;54;-2;28a;55;-2;33l;55;-1;33l;55;0;33l;55;1;33ul;56;-2;33a;56;-1;33a;56;0;33a;56;1;33u;57;-2;33r;57;-1;33r;57;0;33r;57;1;33ur;61;-2;33l;61;-1;33ul;62;-2;33a;62;-1;33u;63;-2;33r;63;-1;33ur;64;-2;28a;65;-2;28a;69;-1;33l;69;0;33l;69;1;33ul;70;-1;33a;70;0;33a;70;1;33u;71;-1;33a;71;0;33a;71;1;33u;72;-1;33a;72;0;33a;72;1;33u;73;-1;33r;73;0;33r;73;1;33ur;75;-2;28a;76;-2;28a;84;-1;28a;85;-1;34a;85;0;34a;85;1;34a;88;-2;20a;89;-2;28a;90;-2;34a;90;-1;34a;90;0;34a;90;1;34a;90;2;34a;94;-2;34a;94;-1;34a;94;0;34a;94;1;34a;95;-2;28a;96;-2;20a;99;-1;34a;99;0;34a;99;1;34a;100;-1;28a;101;-1;28a;103;-1;28a;104;-1;33l;104;0;33l;104;1;33l;104;2;33ul;105;-1;33a;105;0;33a;105;1;33a;105;2;33u;106;-1;33r;106;0;33r;106;1;33r;106;2;33ur;107;-1;28a;108;-1;33l;108;0;33ul;109;-1;33a;109;0;33u;110;-1;33a;110;0;33u;111;-1;33a;111;0;33u;112;-1;33r;112;0;33ur;113;-1;28a;115;-2;28a;116;-2;33l;116;-1;33l;116;0;33ul;117;-2;33a;117;-1;33a;117;0;33u;118;-2;33r;118;-1;33r;118;0;33ur;125;0;28a;126;0;33l;126;1;33l;126;2;33ul;127;0;33a;127;1;33a;127;2;33u;128;0;33a;128;1;33a;128;2;33u;129;0;33a;129;1;33a;129;2;33u;130;0;33r;130;1;33r;130;2;33ur;131;0;28a;134;-2;20a;137;-2;28a;138;-2;28a;141;-1;33l;141;0;33ul;142;-1;33a;142;0;33u;143;-1;33r;143;0;33ur;144;-1;28a;145;-1;28a;155;-2;28a;156;-2;33l;156;-1;33l;156;0;33ul;157;-2;33a;157;-1;33a;157;0;33u;158;-2;33a;158;-1;33a;158;0;33u;159;-2;33r;159;-1;33r;159;0;33ur;160;-2;28a;161;-2;28a;165;-1;28a;166;-1;33l;166;0;33l;166;1;33ul;167;-1;33a;167;0;33a;167;1;33u;168;-1;33r;168;0;33r;168;1;33ur;179;-2;28a;181;-1;33l;181;0;33l;181;1;33ul;182;-1;33a;182;0;33a;182;1;33u;183;-1;33r;183;0;33r;183;1;33ur;184;-1;28a;186;-2;28a;193;-2;33l;193;-1;33ul;194;-2;33a;194;-1;33u;195;-2;33a;195;-1;33u;196;-2;33r;196;-1;33ur;197;-2;28a;198;-2;28a;201;-2;28a;202;-2;33l;202;-1;33l;202;0;33ul;203;-2;33a;203;-1;33a;203;0;33u;204;-2;33a;204;-1;33a;204;0;33u;205;-2;33r;205;-1;33r;205;0;33ur;206;-2;28a;F2;15;2;1;-200;-200;:4;3;1;1;-200;-200;:G300;199;1;1;0;-2;BenjaminWins11;Snow; \[/code\]Description: ])\nend\nif <(N.5) = [2]> then\n    set [codeentered/loaded v] to (join (join [\[b\]Title: Airship\[code\]-5;2;25dl;-5;3;25ul;-4;1;25dl;-4;2;25a;-4;3;25u;-3;0;25dl;-3;1;25a;-3;2;25a;-3;3;25u;-2;-2;25dl;-2;-1;25l;-2;0;25a;-2;1;25a;-2;2;25a;-2;3;25u;-1;-2;25dr;-1;-1;25r;-1;0;25r;-1;1;25r;-1;2;25a;-1;3;25u;0;-2;9dl;0;-1;9l;0;0;9l;0;1;9l;0;2;25d;0;3;25u;1;-2;9dr;1;-1;9r;1;0;9r;1;1;9r;1;2;25d;1;3;25u;2;-1;25dl;2;0;25l;2;1;25l;2;2;25a;2;3;25u;3;-1;25dr;3;0;25r;3;1;25a;3;2;25a;3;3;25a4;3;4;25l;3;5;25l;3;6;25ul;4;-1;9dl;4;0;9l;4;1;25d;4;2;25a;4;3;25a;4;4;25a;4;5;25a;4;6;25u;5;-1;9dr;5;0;9r;5;1;25d;5;2;25a;5;3;25a;5;4;25a;5;5;25a;5;6;25u;6;1;25dr;6;2;25a;6;3;25a3;6;4;25r;6;5;25r;6;6;25ur;7;-1;9dl;7;0;9l;7;1;9l;7;2;25d;7;3;25u;8;-1;9dr;8;0;9r;8;1;9r;8;2;25d;8;3;25u;9;0;25dl;9;1;25l;9;2;25a;9;3;25u;10;0;25dr;10;1;25a;10;2;25a;10;3;25u;11;1;25dr;11;2;25r;11;3;25ur;26;0;25dl;26;1;25l;26;2;25ul;27;-1;25dl;27;0;25a;27;1;25a;27;2;25u;28;-2;25dl;28;-1;25a;28;0;25a;28;1;25a;28;2;25u;29;-3;25dl;29;-2;25a;29;-1;25a;29;0;25a;29;1;25a;29;2;25u;30;-4;25l;30;-3;25a3;30;-2;25r;30;-1;25a;30;0;25a3;30;1;25r;30;2;25ur;31;-4;25a3;31;-3;25ur;31;-1;25d;31;0;25u;32;-4;25ur;32;-1;25d;32;0;25u;33;-1;25d;33;0;25u;34;-1;25d;34;0;25u;35;-1;25d;35;0;25u;36;-4;25l;36;-3;25l3;36;-2;25ud;36;-1;25r;36;0;25ur;37;-4;25a;37;-3;25u;37;-2;9l;37;-1;9l;37;0;9l;37;1;9l;37;2;9l;37;3;9ul;38;-4;25a;38;-3;25u;38;-2;9r;38;-1;9r;38;0;9r;38;1;9r;38;2;9r;38;3;9ur;39;-4;25r;39;-3;25r3;39;-2;25ud;39;-1;25ud;39;0;25ud;39;1;25ud;39;2;25l;39;3;25l;39;4;25ul;40;2;25d;40;3;25a;40;4;25u;41;2;25d3;41;3;25r;41;4;25ur;42;2;25rl;43;2;25rl;43;14;25dl;43;15;25l3;43;16;25ud;43;17;25ud;43;18;25ud;43;19;25ud;43;20;25l;43;21;25ul;44;-4;25l;44;-3;25l3;44;-2;25ud;44;-1;25ud;44;0;25ud;44;1;25ud;44;2;25ur;44;13;25dl;44;14;25a;44;15;25u;44;20;25d;44;21;25u;45;-4;25a;45;-3;25u;45;-2;10d;45;-1;10u;45;0;9l5;45;1;9ul;45;12;25dl;45;13;25a;45;14;25a;45;15;25u;45;20;25d;45;21;25u;46;-4;25a;46;-3;25u;46;-2;10d;46;-1;10u;46;0;9r5;46;1;9ur;46;11;25dl;46;12;25a;46;13;25a;46;14;25a;46;15;25u;46;20;25d;46;21;25u;47;-4;25a;47;-3;25u;47;-2;10d;47;-1;10u;47;9;25dl;47;10;25l;47;11;25a;47;12;25a3;47;13;25r;47;14;25a;47;15;25u;47;20;25d;47;21;25u;48;-4;25a3;48;-3;25ur;48;-2;10dr;48;-1;10ur;48;8;25dl;48;9;25a;48;10;25a;48;11;25a3;48;12;25ur;48;14;25d;48;15;25u;48;20;25d;48;21;25u;49;-4;25ur;49;6;25dl;49;7;25l;49;8;25a;49;9;25a;49;10;25a3;49;11;25ur;49;14;25d;49;15;25a5;49;16;25ud;49;17;25ud;49;18;25ud;49;19;25ud;49;20;25r;49;21;25ur;50;5;25dl;50;6;25a;50;7;25a;50;8;25a3;50;9;25r;50;10;25ur;50;14;25d;50;15;25u;51;4;25dl;51;5;25a;51;6;25a;51;7;25a3;51;8;25ur;51;14;25d;51;15;25u;52;1;25dl;52;2;25l;52;3;25l;52;4;25a;52;5;25a3;52;6;25r;52;7;25ur;52;14;25d;52;15;25u;53;0;25dl;53;1;25a;53;2;25a;53;3;25a;53;4;25a3;53;5;25ur;53;14;25d;53;15;25u;54;0;25d;54;1;25a;54;2;25a;54;3;25a;54;4;25u;54;14;25d;54;15;25u;54;21;25dl;54;22;25l;54;23;25l3;54;24;25ud;54;25;25ud;54;26;25ud;54;27;25ud;54;28;25ul;55;0;25dr;55;1;25a3;55;2;25r;55;3;25a;55;4;25u;55;14;25d;55;15;25u;55;20;25dl;55;21;25a;55;22;25a;55;23;25u;55;28;25rl;56;1;25r2;56;3;25dr;56;4;25u;56;14;25d;56;15;25u;56;19;25dl;56;20;25a;56;21;25a;56;22;25a;56;23;25u;56;28;25rl;57;4;25rl;57;14;25d;57;15;25u;57;19;25d;57;20;25a3;57;21;25r;57;22;25r;57;23;25u;57;28;25rl;58;4;25rl;58;14;25d;58;15;25u;58;19;25d3;58;20;25ur;58;23;25rl;58;28;25rl;59;-2;25dl;59;-1;25ul;59;4;25rl;59;14;25d;59;15;25u;59;19;25rl;59;23;25rl;59;28;25rl;60;-2;25d3;60;-1;25ur;60;4;25rl;60;13;25dl;60;14;25a;60;15;25u;60;19;25rl;60;23;25rl;60;28;25rl;61;-2;25rl;61;4;25rl;61;12;25dl;61;13;25a;61;14;25a3;61;15;25ur;61;19;25rl;61;23;25d5;61;24;25ud;61;25;25ud;61;26;25ud;61;27;25ud;61;28;25ur;62;-2;25d4;62;-1;25ul;62;4;25rl;62;11;25dl2;62;12;25r;62;13;25a3;62;14;25ur;62;19;25rl;62;23;25rl;63;-2;25dr;63;-1;25ur;63;4;25dr2;63;5;25ud;63;6;25ud;63;7;25ud;63;8;25ud;63;9;25ud;63;10;25ud;63;11;25ur;63;13;25r2;63;19;25rl;63;23;25rl;64;19;25rl;64;23;25rl;65;19;25rl;65;23;25rl;66;0;9dl;66;1;9l;66;2;9l;66;3;25dl2;66;4;25ud;66;5;25ud;66;6;25ud;66;7;25ud;66;8;25ud;66;9;25ud;66;10;25l3;66;11;25ud;66;12;25ud;66;13;25l3;66;14;25ud;66;15;25ud;66;16;25ud;66;17;25ud;66;18;25ud;66;19;25u;66;23;25rl;67;0;9dr;67;1;9r;67;2;9r;67;3;25rl;67;10;25rl;67;13;25rl;67;19;25rl;67;23;25rl;68;-4;9l;68;-3;9ul;68;0;25dl;68;1;25l;68;2;25l;68;3;25u;6] [8;10;25rl;68;13;25rl;68;19;25rl;68;23;25rl;69;-4;9r;69;-3;9ur;69;0;25dr;69;1;25r;69;2;25r;69;3;25r3;69;4;25ud;69;5;25ud;69;6;25ud;69;7;25ud;69;8;25ud;69;9;25ud;69;10;25u;69;13;25rl;69;19;25rl;69;23;25rl;70;10;25rl;70;13;25rl;70;19;25rl;70;23;25rl;71;10;25rl;71;13;25rl;71;19;25rl;71;23;25rl;72;10;25rl;72;13;25rl;72;19;25rl;72;23;25rl;73;10;25rl;73;13;25d5;73;14;25ud;73;15;25ud;73;16;25ud;73;17;25ud;73;18;25ud;73;19;25r3;73;20;25ud;73;21;25ud;73;22;25ud;73;23;25ur;74;-4;25ud;74;-3;25ud;74;-2;25ud;74;-1;25l;74;0;25ul;74;10;25rl;74;13;25rl;75;-1;25d;75;0;25u;75;10;25rl;75;13;25rl;76;-1;25d;76;0;25u;76;10;25dr2;76;11;25ud;76;12;25ud;76;13;25ur;77;-1;25d;77;0;25u;78;-1;25d;78;0;25u;79;-1;25d;79;0;25u;80;-4;25ud;80;-3;25ud;80;-2;25ud;80;-1;25r;80;0;25ur;80;1;13d;80;2;13u;84;-2;25dl2;84;-1;25ud;84;0;25l;84;1;25ul;85;-2;25rl;85;0;25d;85;1;25u;86;-2;25rl;86;0;25d;86;1;25u;87;-2;25d4;87;-1;25l;87;0;25a;87;1;25u;88;-2;25d;88;-1;25a;88;0;25a;88;1;25u;89;-2;25dr;89;-1;25a;89;0;25a;89;1;25u;90;-1;25dr;90;0;25a;90;1;25u;90;2;13d;90;3;13d;90;4;13u;91;0;25dr;91;1;25ur;95;-1;25dl;95;0;25ul;96;-2;25dl;96;-1;25a;96;0;25u;97;-3;25dl2;97;-2;25r;97;-1;25a;97;0;25u;98;-3;25rl;98;-1;25d;98;0;25u;99;-3;25rl;99;-1;25d;99;0;25u;100;-3;25rl;100;-1;25d;100;0;25u;101;-3;25rl;101;-1;25d3;101;0;25ur;102;-3;25d4;102;-2;25l3;102;-1;25ur;103;-3;25dr;103;-2;25ur;110;0;25dl;110;1;25l;110;2;25ul;111;0;25d;111;1;25a;111;2;25u;112;0;25dr;112;1;25a;112;2;25u;113;1;25dr;113;2;25u;114;2;25r2;120;13;25dl;120;14;25l;120;15;25l;120;16;25ul;121;12;25dl;121;13;25a;121;14;25a;121;15;25a;121;16;25u;122;12;25d;122;13;25a;122;14;25a;122;15;25a;122;16;25u;123;11;25dl;123;12;25a;123;13;25a;123;14;25a;123;15;25a;123;16;25u;124;11;25d;124;12;25a;124;13;25a;124;14;25a;124;15;25a;124;16;25u;125;11;25d;125;12;25a;125;13;25a;125;14;25a;125;15;25a;125;16;25u;126;10;25dl;126;11;25a;126;12;25a;126;13;25a;126;14;25a;126;15;25a;126;16;25u;127;10;25d;127;11;25a;127;12;25a;127;13;25a;127;14;25a3;127;15;25r;127;16;25ur;128;10;25dr;128;11;25a;128;12;25a;128;13;25a;128;14;25u;129;11;25d;129;12;25a;129;13;25a;129;14;25u;130;10;25dl;130;11;25a;130;12;25a;130;13;25a;130;14;25u;131;10;25d;131;11;25a;131;12;25a;131;13;25a;131;14;25u;132;10;25dr;132;11;25a;132;12;25a;132;13;25a;132;14;25u;133;11;25d;133;12;25a;133;13;25a;133;14;25u;134;11;25d;134;12;25a;134;13;25a;134;14;25a4;134;15;25ul;135;11;25dr;135;12;25a;135;13;25a;135;14;25a;135;15;25u;136;12;25d;136;13;25a;136;14;25a;136;15;25u;137;12;25dr;137;13;25a;137;14;25a;137;15;25u;138;13;25dr;138;14;25r;138;15;25ur;140;3;25dl;140;4;25ul;141;2;25dl;141;3;25a;141;4;25u;142;-3;25dl;142;-2;25l;142;-1;25l;142;0;25l;142;1;25l;142;2;25a;142;3;25a;142;4;25u;143;-3;25d;143;-2;25a;143;-1;25a;143;0;25a;143;1;25a3;143;2;25r;143;3;25a;143;4;25u;144;-3;25d;144;-2;25a;144;-1;25a3;144;0;25r;144;1;25ur;144;3;25d;144;4;25u;145;-3;25dr;145;-2;25a;145;-1;25u;145;3;25d;145;4;25u;146;-2;25dr;146;-1;25u;146;3;25d;146;4;25u;147;-1;25dr2;147;0;25ud;147;1;25ud;147;2;25ud;147;3;25r;147;4;25ur;152;1;25dl;152;2;25l;152;3;25ul;153;0;25dl;153;1;25a;153;2;25a;153;3;25u;154;-1;25dl;154;0;25a;154;1;25a3;154;2;25r;154;3;25u;155;-1;25d3;155;0;25r;155;1;25ur;155;3;25rl;156;-1;25rl;156;3;25rl;157;-1;25rl;157;3;25rl;158;-1;25d4;158;0;25l;158;1;25ul;158;3;25rl;159;-1;25dr;159;0;25r;159;1;25a4;159;2;25l;159;3;25u;160;1;25dr;160;2;25a;160;3;25u;161;2;25dr;161;3;25ur;161;4;13d;161;5;13u;177;-2;25dl;177;-1;25l;177;0;25ul;178;-3;25dl;178;-2;25a;178;-1;25a3;178;0;25ur;179;-4;25l;179;-3;25a3;179;-2;25r;179;-1;25u;180;-4;25a;180;-3;25u;180;-1;25rl;181;-4;25a3;181;-3;25r3;181;-2;25ud;181;-1;25u;181;3;19u;181;4;19u;181;5;19u;181;6;19u;181;7;19u;181;8;19u;181;9;19u;181;10;19u;181;11;19u;181;12;19u;181;13;19u;181;15;19u;182;-4;25u;182;-1;25rl;182;3;19u;182;7;19u;182;15;19u;183;-4;25u;183;-1;25rl;183;7;19u;183;11;19u;183;15;19u;184;-4;25u;184;-1;25rl;184;3;19u;184;7;19u;184;11;19u;184;15;19u;185;-4;25u;185;-1;25rl;185;3;19u;185;11;19u;185;15;19u;186;-4;25u;186;-1;25rl;186;3;19u;186;7;19u;186;8;19u;186;9;19u;186;11;19u;186;15;19u;187;-4;25u;187;-1;25rl;187;3;19u;187;11;19u;187;15;19u;188;-4;25u;188;-1;25rl;188;3;19u;188;7;19u;188;15;19u;189;-4;25u;189;-1;25rl;189;3;19u;189;7;19u;189;11;19u;189;15;19u;190;-4;25u;190;-1;25rl;190;3;19u;190;7;19u;190;11;19u;190;15;19u;191;-4;25a5;191;-3;25ud;191;-2;25ud;191;-1;25u;191;3;19u;191;4;19u;191;5;19u;191;6;19u;191;7;19u;191;11;19u;191;15;19u;192;-4;25u;192;-1;25rl;192;3;19u;192;7;19u;192;11;19u;192;15;19u;193;-4;25u;193;-1;25rl;193;3;19u;193;7;19u;193;15;19u;194;-4;25u;194;-1;25rl;194;3;19u;194;11;19u;194;15;19u;195;-4;25u;195;-1;25rl;195;3;19u;195;7;19u;195;8;19u;195;9;19u;195;10;19u;195;11;19u;195;15;19u;196;-4;25u;196;-1;25rl;196;3;19u;196;11;19u;196;15;19u;197;-4;25u;197;-1;25rl;197;3;19u;197;7;19u;197;11;19u;197;15;19u;198;-4;25u;198;-1;25rl;198;3;19u;198;7;19u;198;11;19u;198;15;19u;199;-4;25a5;199;-3;25ud;199;-2;25ud;199;-1;25u;199;3;19u;199;4;19u;199;5;19u;199;7;19u;199;11;19u;199;15;19u;200;-4;25u;200;-1;25rl;200;3;19u;200;15;19u;201;-4;25u;201;-1;25rl;201;3;19u;201;7;19u;201;11;19]) (join [u;201;15;19u;202;-4;25u;202;-1;25rl;202;7;19u;202;11;19u;202;15;19u;202;37;25l3;202;38;25ud;202;39;25ud;202;40;25l;202;41;25l;202;42;25l;202;43;25ul;202;47;25l2;203;-4;25u;203;-1;25rl;203;3;19u;203;7;19u;203;11;19u;203;15;19u;203;37;25u;203;40;25d;203;41;25a;203;42;25a;203;43;25u;203;47;25rl;204;-4;25u;204;-1;25rl;204;3;19u;204;7;19u;204;11;19u;204;15;19u;204;37;25u;204;40;25d;204;41;25a;204;42;25a;204;43;25u;204;47;25rl;205;-4;25u;205;-1;25rl;205;3;19u;205;4;19u;205;5;19u;205;6;19u;205;7;19u;205;8;19u;205;9;19u;205;10;19u;205;11;19u;205;15;19u;205;16;25dl;205;17;25l;205;18;25l;205;19;25l3;205;20;25ud;205;21;25u2;205;37;25u;205;40;25d3;205;41;25r;205;42;25r;205;43;25u;205;47;25rl;206;-4;25a5;206;-3;25ud;206;-2;25ud;206;-1;25a5;206;0;25u2;206;2;25d2;206;3;25ud;206;4;25ud;206;5;25ud;206;6;25l3;206;7;25ud;206;8;25ud;206;9;25ud;206;10;25l;206;11;25ul;206;15;25dl;206;16;25a3;206;17;25r;206;18;25a;206;19;25u;206;37;25u;206;40;25rl;206;41;10d;206;42;10u;206;43;25rl;206;47;25rl;207;-4;25u;207;-1;25rl;207;6;25rl;207;10;25d;207;11;25u;207;15;25dr;207;16;25ur;207;18;25d;207;19;25u;207;37;25u;207;40;25rl;207;41;10d;207;42;10u;207;43;25rl;207;47;25rl;208;-4;25u;208;-1;25rl;208;6;25rl;208;10;25d;208;11;25u;208;18;25d;208;19;25u;208;37;25u;208;40;25rl;208;41;10d;208;42;10u;208;43;25rl;208;47;25rl;209;-4;25u;209;-1;25rl;209;6;25rl;209;10;25d;209;11;25u;209;18;25d;209;19;25u;209;37;25a5;209;38;25ud;209;39;25ud;209;40;25u;209;41;10d;209;42;10u;209;43;25dr2;209;44;25ud;209;45;25ud;209;46;25ud;209;47;25u;210;-4;25u;210;-1;25rl;210;6;25rl;210;10;25d;210;11;25u;210;18;25d;210;19;25u;210;37;25u;210;40;25rl;210;41;10dr;210;42;10ur;210;47;25rl;211;-4;25u;211;-1;25rl;211;6;25rl;211;10;25d;211;11;25u;211;18;25d;211;19;25u;211;37;25u;211;40;25rl;211;47;25rl;212;-4;25u;212;-1;25rl;212;6;25rl;212;10;25d;212;11;25u;212;18;25d;212;19;25u;212;37;25u;212;40;25rl;212;47;25rl;213;-4;25r3;213;-3;25ud;213;-2;25ud;213;-1;25r3;213;0;25ud;213;1;25ud;213;2;25ud;213;3;25ud;213;4;25ud;213;5;25ud;213;6;25ur;213;10;25d;213;11;25u;213;18;25d;213;19;25u;213;37;25u;213;40;25rl;213;47;25rl;214;10;25d;214;11;25u;214;12;10dl;214;13;10ul;214;18;25d;214;19;25u;214;37;25u;214;40;25rl;214;46;25dl;214;47;25u;215;10;25d;215;11;25u;215;12;10d;215;13;10u;215;18;25d;215;19;25u;215;37;25u;215;40;25rl;215;46;25d;215;47;25u;216;10;25d;216;11;25u;216;12;10d;216;13;10u;216;18;25d;216;19;25u;216;37;25u;216;40;25rl;216;46;25d;216;47;25u;217;7;25d2;217;8;25ud;217;9;25ud;217;10;25a;217;11;25a5;217;12;25ud;217;13;25ud;217;14;25ud;217;15;25ud;217;16;25u2;217;18;25d;217;19;25a5;217;20;25ud;217;21;25u2;217;37;25u;217;40;25rl;217;46;25dr;217;47;25u;218;10;25d;218;11;25u;218;18;25d;218;19;25u;218;37;25u;218;40;25rl;218;47;25rl;219;10;25d;219;11;25u;219;18;25d;219;19;25u;219;37;25u;219;40;25rl;219;47;25rl;220;10;25d;220;11;25u;220;18;25d;220;19;25u;220;37;25u;220;40;25rl;220;47;25rl;221;10;25d;221;11;25u;221;18;25d;221;19;25u;221;37;25u;221;40;25rl;221;43;25dl;221;44;25l;221;45;25l;221;46;25l;221;47;25u;222;10;25d;222;11;25u;222;18;25d;222;19;25u;222;37;25u;222;40;25rl;222;43;25d;222;44;25a;222;45;25a;222;46;25a;222;47;25u;223;10;25d;223;11;25u;223;18;25d;223;19;25u;223;37;25u;223;40;25rl;223;43;25dr;223;44;25r;223;45;25r;223;46;25r;223;47;25ur;224;-4;25l3;224;-3;25ud;224;-2;25ud;224;-1;25l;224;0;25l3;224;1;25ud;224;2;25ud;224;3;25ud;224;4;25ud;224;5;25l;224;6;25l3;224;7;25ud;224;8;25ud;224;9;25ud;224;10;25r;224;11;25r3;224;12;25ud;224;13;25ud;224;14;25ud;224;15;25ud;224;16;25ud;224;17;25ud;224;18;25r;224;19;25r3;224;20;25ud;224;21;25u2;224;37;25u;224;40;25rl;225;-4;25u;225;-1;25d;225;0;25u;225;5;25d;225;6;25u;225;37;25u;225;40;25rl;226;-4;25u;226;-1;25d;226;0;25u;226;5;25d;226;6;25u;226;37;25u;226;40;25rl;227;-4;25u;227;-1;25d;227;0;25u;227;5;25d;227;6;25u;227;37;25a5;227;38;25ud;227;39;25ud;227;40;25a5;227;41;25ud;227;42;25ud;227;43;25u2;228;-4;25u;228;-1;25d;228;0;25u;228;5;25d;228;6;25u;228;37;25u;228;40;25rl;229;-4;25u;229;-1;25d;229;0;25u;229;5;25d;229;6;25u;229;37;25u;229;40;25rl;230;-4;25a5;230;-3;25ud;230;-2;25ud;230;-1;25a;230;0;25a5;230;1;25ud;230;2;25ud;230;3;25ud;230;4;25ud;230;5;25r;230;6;25r3;230;7;25ud;230;8;25ud;230;9;25ud;230;10;25u2;230;37;25u;230;40;25rl;231;-4;25u;231;-1;25d;231;0;25u;231;37;25a5;231;38;25ud;231;39;25ud;231;40;25a5;231;41;25ud;231;42;25u2;232;-4;25u;232;-1;25d;232;0;25u;232;37;25u;232;40;25rl;233;-4;25u;233;-1;25d;233;] [0;25u;233;37;25u;233;40;25rl;234;-4;25u;234;-1;25d;234;0;25u;234;37;25u;234;40;25rl;235;-4;25u;235;-1;25d;235;0;25u;235;37;25a5;235;38;25ud;235;39;25ud;235;40;25a5;235;41;25ud;235;42;25ud;235;43;25ud;235;44;25ud;235;45;25ud;235;46;25l3;235;47;25u2;236;-4;25u;236;-1;25d;236;0;25u;236;37;25u;236;40;25rl;236;46;25rl;237;-4;25u;237;-1;25d;237;0;25u;237;37;25u;237;40;25rl;237;46;25rl;238;-4;25a4;238;-3;25ul;238;-1;25d;238;0;25u;238;37;25u;238;40;25rl;238;46;25rl;239;-4;25r;239;-3;25a4;239;-2;25l;239;-1;25a;239;0;25u;239;37;25u;239;40;25rl;239;46;25rl;240;-3;25dr;240;-2;25a;240;-1;25a;240;0;25u;240;37;25u;240;40;25rl;240;46;25rl;241;-2;25dr;241;-1;25a;241;0;25u;241;37;25u;241;40;25rl;241;46;25rl;242;-1;25dr;242;0;25ur;242;37;25r3;242;38;25ud;242;39;25ud;242;40;25r3;242;41;25ud;242;42;25ud;242;43;25ud;242;44;25ud;242;45;25ud;242;46;25r3;242;47;25u2;257;-4;1l;257;-3;1l;257;-2;1l;257;-1;1l;257;0;1ul;258;-4;1r;258;-3;1r;258;-2;1r;258;-1;1a;258;0;1u;259;-1;1d;259;0;1u;260;-1;1d;260;0;1u;261;-1;1d;261;0;1u;262;-1;1d;262;0;1u;263;-1;1d;263;0;1u;264;-1;1d;264;0;1u;265;-1;1d;265;0;1u;266;-1;1d;266;0;1u;267;-1;1d;267;0;1u;268;-1;1d;268;0;1u;269;-1;1d;269;0;1u;270;-1;1d;270;0;1u;271;-1;1d;271;0;1u;272;-1;1d;272;0;1u;273;-4;1l;273;-3;1l;273;-2;1l;273;-1;1a;273;0;1u;274;-4;1r;274;-3;1r;274;-2;1r;274;-1;1r;274;0;1ur;B0;4;%;;1;4;%;;2;4;%;;4;10;$;aq;5;10;$;%;6;10;!;;14;4;%;;15;4;%;;16;4;%;;21;2;%;;22;2;%;;23;2;%;;27;6;$;%;28;6;$;%;29;6;$;%;30;6;$;%;37;18;\(;%;38;15;\(;%;39;8;!;;39;11;!;%;40;8;!;aq;40;9;am;;42;3;%;;43;3;%;;44;3;%;;50;16;%;;50;17;%;;50;19;!;at;51;16;%;;51;17;%;;51;19;!;;52;-2;%;;52;16;%;;52;17;%;;52;19;!;%;53;-3;%;;53;16;%;;53;17;%;;54;-3;%;;55;-3;%;;56;-2;%;;56;2;v;;59;-3;%;;60;-3;%;;61;-3;?;;61;-1;v;;62;-3;%;;63;-3;%;;63;12;v;;70;3;$;%;71;3;$;%;76;2;%;;77;2;%;;78;2;%;;80;3;z;;90;5;z;;91;2;z;;95;-2;?;;99;4;^;;100;1;am;;102;0;*;;103;0;*;;104;-3;\];-;104;0;*;;105;-3;\];-;105;0;*;;106;-3;\];-;106;0;*;;107;-3;\];-;107;0;*;;108;-3;\];-;108;0;*;;109;-3;\];-;109;0;*;;110;-3;\];-;111;-3;\];-;112;-3;\];-;112;6;^;;113;-3;\];-;114;-3;\];-;115;-3;\];-;116;-3;\];-;117;-3;\];-;117;3;&;;118;-3;\];-;119;-3;\];-;120;-3;\];-;121;-3;\];-;121;3;&;;122;-3;\];-;123;-3;\];-;124;-3;\];-;125;-3;\];-;125;3;&;;126;-3;\];-;127;-3;\];-;128;-3;\];-;128;2;*;;129;-3;\];-;129;2;*;;129;6;^;;129;10;^;;130;-3;\];-;130;2;*;;131;-3;\];-;132;-3;\];-;133;-3;\];-;134;-3;\];-;134;3;*;;135;-3;\];-;135;3;*;;136;-3;\];-;136;3;*;;137;-3;\];-;138;-3;\];-;139;-3;\];-;140;-3;\];-;141;-3;\];-;141;5;%;;142;5;%;;143;5;%;;144;5;%;;161;6;z;;168;3;%;;169;3;%;;170;3;%;;177;1;am;;180;3;$;aq;181;14;z;;182;11;!;;183;3;!;;185;7;!;;186;10;z;;187;7;!;;188;11;!;;193;11;!;;196;7;!;;199;6;z;;200;4;%;;200;7;$;at;200;11;!;;201;4;%;;202;3;!;;202;4;%;;203;4;%;;204;4;%;;206;1;z;8b;207;17;z;;208;15;$;aq;210;45;\(;au;214;14;am;;214;42;%;;214;44;%;;215;42;%;;215;44;%;;216;42;%;;216;44;%;;217;17;z;;217;42;%;;217;44;%;;C-4;-2;aw;;-90;3;-3;aw;;-90;8;4;af;;-90;13;-3;aw;;-90;19;-2;aw;;-90;24;-4;aw;;-90;25;-3;aw;;-90;33;1;af;;-90;35;1;af;;-90;38;4;q;;-90;46;2;ao;;-90;65;-3;aw;;-90;69;-2;q;;-90;83;-4;aw;;90;86;-3;aw;;-90;86;2;af;;-90;87;-4;aw;;90;93;-3;aw;;-90;158;4;af;;-90;160;4;af;;-90;183;8;af;;-90;185;8;af;;-90;190;8;af;;-90;194;4;af;;-90;194;7;n;;-90;196;4;af;;-90;198;4;af;;-90;198;8;af;;-90;199;12;c;;-90;201;12;c;;-90;203;12;c;;-90;229;41;ah;/;-90;D213;12;.5;211;41;.9;233;41;.2;234;1;.2;E3;7;27a;4;7;27a;5;7;27a;12;2;29u;12;3;28a;13;2;29u;13;3;28a;14;2;29u;14;3;28a;15;2;29u;15;3;28a;16;2;29u;16;3;28a;21;0;29u;21;1;28a;22;0;29u;22;1;28a;23;0;29u;23;1;28a;24;0;29u;24;1;28a;25;0;29u;25;1;28a;27;3;27a;28;3;27a;29;3;27a;39;5;27a;40;5;27a;44;22;27a;45;22;27a;46;22;27a;47;22;27a;48;22;27a;55;16;27a;56;16;27a;57;16;27a;58;16;27a;59;0;23d;59;1;23a;59;2;23a;59;3;23a;59;16;27a;60;0;27a;60;16;27a;61;0;27a;62;0;27a;63;0;23d;63;1;23a;63;2;23a;63;3;23a;63;14;23d;63;15;23a;63;16;23a;63;17;23a;63;18;23a;70;0;29u;70;1;28a;71;0;29u;71;1;28a;72;0;29u;72;1;28a;73;0;29u;73;1;28a;74;1;23d;74;2;23a;74;3;23a;74;4;23a;74;5;23a;74;6;23a;74;7;23a;74;8;23a;74;9;23a;76;1;27a;77;1;27a;78;1;27a;110;-2;23d;110;-1;23a;111;3;27a;112;-2;23d;112;-1;23a;112;3;27a;113;3;27a;129;7;23d;129;8;23a;129;9;23a;148;2;29u;148;3;28a;149;2;29u;149;3;28a;150;2;29u;150;3;28a;151;2;29u;151;3;28a;153;4;27a;154;4;27a;155;4;27a;162;2;29u;162;3;28a;163;2;29u;163;3;28a;164;2;29u;164;3;28a;168;1;29u;168;2;28a;169;1;29u;169;2;28a;170;1;29u;170;2;28a;174;0;29u;174;1;28a;175;0;29u;175;1;28a;176;0;29u;176;1;28a;181;0;23d;181;1;23a;181;2;23a;183;0;27a;184;0;27a;185;0;27a;186;0;27a;187;0;27a;188;0;27a;189;0;27a;191;0;23d;191;1;23a;191;2;23a;193;0;27a;194;0;27a;195;0;27a;196;0;27a;197;0;27a;199;0;23d;199;1;23a;199;2;23a;201;0;27a;202;0;27a;203;0;27a;205;0;23d;205;1;23a;205;2;23a;206;1;8a1;206;12;23d;206;13;23a;206;14;23a;208;12;27a;209;12;27a;210;12;27a;211;12;27a;212;12;27a;221;41;27a;222;41;27a;223;41;27a;227;44;23d;227;45;23a;227;46;23a;227;47;23a;231;43;23d;231;44;23a;231;45;23a;231;46;23a;231;47;23a;237;1;27a;238;1;27a;239;1;27a;240;1;27a;246;1;29u;246;2;28a;247;1;29u;247;2;28a;248;1;29u;248;2;28a;251;2;29u;251;3;28a;252;2;29u;252;3;28a;253;2;29u;253;3;28a;F9;10;1;1;-32;-200;:8;11;2;5;-200;-200;:G300;266;4;1;-2;4;BenjaminWins11;Airship; \[/code\]Description: ]))\nend\nif <(N.5) = [3]> then\n    set [codeentered/loaded v] to [\[b\]Title: Fortress Level\[code\]-7;-4;19u;-7;-3;19u;-7;-2;19u;-7;-1;19u;-7;0;19u;-7;1;19u;-7;2;19u;-7;3;19u;-7;4;19u;-7;5;19u;-6;-4;19a;-6;-3;19a;-6;-2;19a;-6;-1;19a;-6;0;19a;-6;1;19a;-6;2;19a;-6;3;19a;-6;4;19a;-6;5;19u;-5;-4;19a;-5;-3;19a;-5;-2;19u;-5;-1;19u;-5;0;19u;-5;1;19u;-5;2;19u;-5;3;19u;-5;4;19u;-5;5;19u;-4;-4;19a;-4;-3;19u;-4;-2;9l;-4;-1;9ul;-4;5;19u;-3;-4;19a;-3;-3;19u;-3;-2;9r;-3;-1;9ur;-3;5;19u;-2;-4;19a;-2;-3;19u;-2;5;19u;-1;-4;19a;-1;-3;19u;-1;5;19u;0;-4;19u;0;-3;19u;0;5;19u;1;5;19u;2;-1;19u;2;5;19u;3;5;19u;4;-1;19u;4;5;19u;5;5;19u;6;5;19u;7;5;19u;8;0;19u;8;5;19u;9;5;19u;10;0;19u;10;5;19u;11;5;19u;12;5;19u;13;5;19u;14;5;19u;15;-1;19u;15;5;19u;16;5;19u;17;-1;19u;17;5;19u;18;5;19u;19;5;19u;20;5;19u;21;-4;19u;21;-3;19u;21;-2;19u;21;-1;19u;21;5;19u;22;-4;19a;22;-3;19a;22;-2;19a;22;-1;19u;22;5;19u;23;-4;19a;23;-3;19a;23;-2;19a;23;-1;19u;23;5;19u;24;-4;19a;24;-3;19a;24;-2;19a;24;-1;19u;24;5;19u;25;-4;19a;25;-3;19a;25;-2;19a;25;-1;19u;25;5;19u;26;-4;19a;26;-3;19a;26;-2;19a;26;-1;19u;26;5;19u;27;-4;19a;27;-3;19a;27;-2;19a;27;-1;19u;27;5;19u;28;-4;19a;28;-3;19a;28;-2;19u;28;-1;19u;28;5;19u;29;-4;19a;29;-3;19u;29;5;19u;30;-4;19a;30;-3;19u;30;5;19u;31;-4;19a;31;-3;19u;31;5;19u;32;-4;19u;32;5;19u;33;-4;19a;33;-3;19u;33;5;19u;34;-4;19a;34;-3;19u;34;5;19u;35;-4;19a;35;-3;19u;35;5;19u;36;-4;19a;36;-3;19u;36;5;19u;37;-4;19a;37;-3;19u;37;5;19u;38;-4;19a;38;-3;19u;38;5;19u;39;-4;19a;39;-3;19u;39;5;19u;40;-4;19a;40;-3;19u;40;5;19u;41;-4;19u;41;5;19u;42;-4;19a;42;-3;19u;42;5;19u;43;-4;19a;43;-3;19u;43;5;19u;44;-4;19a;44;-3;19u;44;5;19u;45;-4;19a;45;-3;19u;45;5;19u;46;-4;19a;46;-3;19u;46;5;19u;47;-4;19a;47;-3;19u;47;-2;13u;47;5;19u;48;-4;19a;48;-3;19a;48;-2;19u;48;-1;19u;48;0;19u;48;5;19u;49;-4;19a;49;-3;19a;49;-2;19a;49;-1;19u;49;0;19u;49;5;19u;50;-4;19a;50;-3;19a;50;-2;19u;50;0;19u;50;5;19u;51;-4;19u;51;-3;19u;51;-2;19u;51;-1;19u;51;0;19u;68;-4;19u;68;-3;19u;68;-2;19u;68;-1;19u;68;0;19u;68;1;19u;68;5;19u;69;-4;19a;69;-3;19a;69;-2;19a;69;-1;19u;69;1;19u;69;5;19u;70;-4;19a;70;-3;19a;70;-2;19u;70;-1;19u;70;0;19u;70;1;19u;70;5;19u;71;-4;19a;71;-3;19u;71;5;19u;72;-4;19a;72;-3;19u;72;4;19u;72;5;19u;73;-4;19a;73;-3;19u;73;4;19u;73;5;19u;74;-4;19a;74;-3;19u;74;4;19u;74;5;19u;75;-4;19a;75;-3;19u;75;4;19u;75;5;19u;76;-4;19a;76;-3;19u;76;4;19u;76;5;19u;77;-4;19a;77;-3;19u;77;4;19u;77;5;19u;78;-4;19a;78;-3;19u;78;4;19u;78;5;19u;79;-4;19u;79;-3;19u;79;4;19u;79;5;19u;80;4;19u;80;5;19u;81;4;19u;81;5;19u;82;-4;19u;82;-3;19u;82;-2;19u;82;4;19u;82;5;19u;83;-4;19u;83;-2;19u;83;4;19u;83;5;19u;84;-4;19u;84;-2;19u;84;4;19u;84;5;19u;85;-4;19u;85;-3;19u;85;-2;19u;85;4;19u;85;5;19u;85;78;19u;85;79;19u;85;80;19u;85;81;19u;85;82;19u;85;83;19u;85;84;19u;85;85;19u;85;86;19u;85;87;19u;85;88;19u;85;89;19u;86;4;19u;86;5;19u;86;78;19a;86;79;19a;86;80;19a;86;81;19a;86;82;19a;86;83;19a;86;84;19a;86;85;19a;86;86;19a;86;87;19a;86;88;19a;86;89;19a;86;90;19u;87;4;19u;87;5;19u;87;78;19a;87;79;19a;87;80;19a;87;81;19a;87;82;19a;87;83;19a;87;84;19a;87;85;19a;87;86;19a;87;87;19a;87;88;19a;87;89;19u;88;-4;19u;88;-3;19u;88;4;19u;88;5;19u;88;67;19u;88;68;19u;88;69;19u;88;70;19u;88;71;19u;88;72;19u;88;73;19u;88;74;19u;88;75;19u;88;76;19u;88;78;19a;88;79;19a;88;80;19a;88;81;19a;88;82;19a;88;83;19a;88;84;19a;88;85;19a;88;86;19a;88;87;19a;88;88;19a;88;89;19a;88;90;19u;89;-4;19a;89;-3;19u;89;4;19u;89;5;19u;89;67;19u;89;68;19a;89;69;19a;89;70;19a;89;71;19u;89;72;19u;89;73;19u;89;74;19a;89;75;19a;89;76;19u;89;78;19a;89;79;19a;89;80;19a;89;81;19a;89;82;19a;89;83;19a;89;84;19a;89;85;19a;89;86;19a;89;87;19a;89;88;19a;89;89;19u;90;-4;19a;90;-3;19u;90;4;19u;90;5;19u;90;67;19u;90;68;19a;90;69;19u;90;70;19u;90;74;19u;90;75;19a;90;76;19a;90;78;19a;90;79;19a;90;80;19a;90;81;19a;90;82;19a;90;83;19a;90;84;19a;90;85;19a;90;86;19a;90;87;19a;90;88;19a;90;89;19a;90;90;19u;91;-4;19a;91;-3;19u;91;2;9dl;91;3;9l;91;4;19u;91;5;19u;91;67;19u;91;68;19u;91;75;19u;91;76;19a;91;78;19a;91;79;19a;91;80;19a;91;81;19a;91;82;19a;91;83;19a;91;84;19a;91;85;19a;91;86;19a;91;87;19a;91;88;19a;91;89;19u;92;-4;19a;92;-3;19u;92;2;9dr;92;3;9r;92;4;19u;92;5;19u;92;67;19u;92;68;19u;92;76;19u;92;78;19u;92;79;19u;92;80;19u;92;81;19u;92;82;19u;92;83;19u;92;84;19u;92;85;19u;92;86;19u;92;87;19u;92;88;19u;92;89;19u;92;90;19u;93;-4;19a;93;-3;19a;93;-2;19u;93;-1;19u;93;0;19u;93;1;19u;93;2;19u;93;3;19u;93;4;19a;93;5;19u;93;67;19u;93;68;19u;93;75;19u;93;76;19a;93;78;1l;93;79;1l;93;80;1l;93;81;1ul;93;83;10d;93;84;10u;94;-4;19a;94;-3;19a;94;-2;19a;94;-1;19a;94;0;19a;94;1;19a;94;2;19a;94;3;19a;94;4;19a;94;5;19u;94;67;19u;94;68;19u;94;75;19u;94;76;19u;94;78;1a;94;79;1a;94;80;2a6;94;81;2ur;94;83;10dr;94;84;10ur;95;-4;19a;95;-3;19a;95;-2;19a;95;-1;19a;95;0;19a;95;1;19a;95;2;19a;95;3;19a;95;4;19a;95;5;19u;95;67;19u;95;68;19u;95;74;9dl;95;75;9l;95;76;9l;95;78;1a;95;79;1a;95;80;1u;96;-4;19a;96;-3;19a;96;-2;19a;96;-1;19a;96;0;19a;96;1;19a;96;2;19a;96;3;19a;96;4;19a;96;5;19u;96;67;19u;96;68;19u;96;74;9dr;96;75;9r;96;76;9r;96;78;1a;96;79;1a;96;80;1u;97;-4;19a;97;-3;19a;97;-2;19a;97;-1;19a;97;0;19a;97;1;19a;97;2;19a;97;3;19a;97;4;19a;97;5;19u;97;67;19u;97;68;19u;97;76;19u;97;78;1a;97;79;1a;97;80;1u;98;-4;19a;98;-3;19a;98;-2;19a;98;-1;19a;98;0;19a;98;1;19a;98;2;19a;98;3;19a;98;4;19a;98;5;19u;98;67;19u;98;68;19a;98;69;19u;98;76;19u;98;78;1a;98;79;1a;98;80;1u;99;-4;19a;99;-3;19a;99;-2;19a;99;-1;19a;99;0;19a;99;1;19a;99;2;19a;99;3;19a;99;4;19a;99;5;19u;99;67;19u;99;68;19a;99;69;19u;99;76;19u;99;78;1a;99;79;1a;99;80;1u;100;-4;19u;100;-3;19u;100;-2;19u;100;-1;19u;100;0;19u;100;1;19u;100;2;19u;100;3;19u;100;4;19u;100;5;19u;100;67;19u;100;68;19a;100;69;19u;100;76;19u;100;78;1a;100;79;1a;100;80;1u;101;67;19u;101;68;19a;101;69;19u;101;73;19u;101;74;19u;101;75;19u;101;76;19a;101;78;1a;101;79;1a;101;80;1u;102;67;19u;102;68;19a;102;69;19a;102;70;19u;102;71;19u;102;72;19u;102;73;19a;102;74;19a;102;75;19a;102;76;19a;102;78;1a;102;79;1a;102;80;1u;103;67;19u;103;68;19u;103;69;19u;103;70;19u;103;71;19u;103;72;19u;103;73;19u;103;74;19u;103;75;19u;103;76;19u;103;78;1a;103;79;1a;103;80;2u;104;78;1r;104;79;2r;104;80;2ur;109;78;1l;109;79;1ul;110;78;1r;110;79;1ur;B-20;0;ar;;-20;1;ar;;-20;2;ar;;-20;3;ar;;-20;4;ar;;-19;0;ar;;-18;0;ar;;-16;-3;?;;-16;-1;?;;-16;4;ar;;-15;-3;?;;-15;0;ar;;-15;1;ar;;-15;2;ar;;-15;3;ar;;-15;4;ar;;-14;-3;?;;-14;-1;?;;-14;4;ar;;-12;0;ar;;-12;1;ar;;-12;2;ar;;-12;3;ar;;-12;4;ar;;-11;0;ar;;-11;2;ar;;-11;4;ar;;-10;1;ar;;-10;3;ar;;3;-1;v;;9;0;v;;16;-1;v;;23;2;$;u;24;2;!;;25;2;$;u;32;-3;v;;41;-3;v;;47;-1;z;l;50;-1;v;;69;0;v;;74;2;i;;78;2;i;;83;-3;v;;84;-3;v;;89;0;$;b;89;1;am;;91;72;%;;91;94;\(;at;92;72;%;;93;72;%;;94;72;%;;97;71;%;;98;71;%;;99;71;%;;100;71;%;;C33;-2;l;;-90;36;-2;a;;-90;36;-1;a;;-90;36;0;a;;-90;40;-2;l;;-90;40;-1;l;;-90;44;-2;l;;-90;49;1;as;;-90;55;-1;ax;8;-90;60;1;av;;-90;63;1;n;;-90;64;1;n;;-90;65;1;n;;-90;73;-2;l;;-90;84;-1;as;;-90;99;70;ag;/;-90;102;81;a;;-90;D92;1;.7;96;73;.7;92;69;.2;95;83;.9;E-1;-2;31a;-1;-1;31r;-1;0;31r;-1;1;31r;-1;2;31r;-1;3;31r;-1;4;31l;3;-4;31r;3;-3;31r;3;-2;31l;9;-4;31r;9;-3;31r;9;-2;31r;9;-1;31l;16;-4;31r;16;-3;31r;16;-2;31l;22;0;24a;27;0;24a;32;-2;31a;32;-1;31r;32;0;31r;32;1;31r;32;2;31r;32;3;31r;32;4;31l;41;-2;31a;41;-1;31r;41;0;31r;41;1;31r;41;2;31r;41;3;31r;41;4;31l;50;1;24a;55;-1;8a1;69;2;24a;83;-1;31a;83;0;31r;83;1;31r;83;2;31r;83;3;31l;89;-2;24a;93;82;20d;95;81;30l;96;81;30r;98;81;22d;98;82;22d;98;83;22d;98;84;22d;98;85;22a;99;81;30l;100;81;30a;101;81;30r;103;81;20a;105;79;29u;106;79;29u;107;79;29u;108;79;29u;109;80;20d;F7;9;2;5;-200;-128;:8;9;5;5;-200;-200;:2;1;3;1;-200;-200;:G300;102;85;3;-3;0;BenjaminWins11;Fortress Level; \[/code\]Description: Updated]\nend\nif <(N.5) = [4]> then\n    set [codeentered/loaded v] to (join (join [\[b\]Title: On Off Trouble\[code\]270;45;10dl;270;46;10ul;270;55;10dl;270;56;10ul;271;45;10d;271;46;10u;271;55;10d;271;56;10u;272;45;10d;272;46;10u;272;55;10d;272;56;10u;273;45;10d;273;46;10u;273;55;10d;273;56;10u;274;45;10d;274;46;10u;274;55;10d;274;56;10u;275;45;10d;275;46;10u;275;55;10d;275;56;10u;276;45;10d;276;46;10u;276;55;10d;276;56;10u;277;45;10d;277;46;10u;277;55;10d;277;56;10u;278;4;10dl;278;5;10ul;278;45;10d;278;46;10u;278;55;10d;278;56;10u;279;4;10d;279;5;10u;279;45;10dr;279;46;10ur;279;55;10dr;279;56;10ur;280;4;10d;280;5;10u;281;4;10d;281;5;10u;282;4;10d;282;5;10u;283;4;10d;283;5;10u;284;4;10d;284;5;10u;285;4;10d;285;5;10u;286;4;10d;286;5;10u;287;4;10d;287;5;10u;288;4;10d;288;5;10u;289;4;10d;289;5;10u;290;4;10d;290;5;10u;291;4;10d;291;5;10u;292;4;10d;292;5;10u;293;4;10dr;293;5;10ur;293;37;9ul;293;47;9dl;293;48;9ul;294;37;9u;294;47;9d;294;48;9u;295;37;9u;295;47;9d;295;48;9u;296;37;9u;296;47;9d;296;48;9u;297;37;9u;297;47;9d;297;48;9u;298;37;9ur;298;47;9dr;298;48;9ur;300;37;9ul;300;47;9dl;300;48;9ul;301;37;9u;301;47;9d;301;48;9u;302;37;9u;302;47;9d;302;48;9u;303;37;9u;303;47;9d;303;48;9u;304;37;9u;304;47;9d;304;48;9u;305;37;9ur;305;47;9dr;305;48;9ur;307;37;9ul;307;47;9dl;307;48;9ul;308;1;10dl;308;2;10ul;308;37;9u;308;47;9d;308;48;9u;309;1;10d;309;2;10u;309;37;9u;309;47;9d;309;48;9u;310;1;10d3;310;2;10u3;310;37;9u;310;47;9d;310;48;9u;311;-4;9l;311;-3;9l;311;-2;9l;311;-1;9l;311;0;9l;311;1;9l;311;2;9l;311;3;9ul;311;37;9u;311;47;9d;311;48;9u;312;-4;9r;312;-3;9r;312;-2;9r;312;-1;9r;312;0;9r;312;1;9r;312;2;9r;312;3;9ur;312;37;9u;312;47;9d;312;48;9u;313;37;9ur;313;47;9dr;313;48;9ur;315;37;9ul;315;47;9dl;315;48;9ul;316;37;9u;316;47;9d;316;48;9u;317;37;9u;317;47;9d;317;48;9u;318;37;9u;318;47;9d;318;48;9u;319;37;9ur;319;47;9dr;319;48;9ur;321;3;10dl;321;4;10ul;322;3;10d;322;4;10u;323;3;10d;323;4;10u;324;3;10d;324;4;10u;324;64;9dl;324;65;9l;324;66;9l;324;67;9l;324;68;9l;324;69;9l;324;70;9l;324;71;9ul;325;3;10d;325;4;10u;325;64;9dr;325;65;9r;325;66;9r;325;67;9r;325;68;9r;325;69;9r;325;70;9r;325;71;9ur;326;3;10d;326;4;10u;327;3;10d;327;4;10u;328;3;10d;328;4;10u;329;3;10d;329;4;10u;330;3;10d;330;4;10u;330;37;9ul;331;3;10d;331;4;10u;331;37;9ur;332;3;10dr;332;4;10ur;358;3;10dl;358;4;10ul;359;3;10d;359;4;10u;360;3;10d;360;4;10u;361;3;10d;361;4;10u;362;3;10d;362;4;10u;363;3;10d;363;4;10u;364;3;10d;364;4;10u;365;3;10d;365;4;10u;366;3;10d;366;4;10u;367;3;10d;367;4;10u;368;3;10d;368;4;10u;369;3;10d;369;4;10u;370;3;10d;370;4;10u;371;3;10d;371;4;10u;372;3;10d;372;4;10u;373;3;10dr;373;4;10ur;B-13;-3;&;;-13;-2;&;;-12;-2;&;;-11;-2;&;;-10;-2;&;;-9;-2;&;;-8;-2;&;;-7;-2;&;;-6;-2;&;;-5;-2;&;;-4;-2;&;;-3;-2;&;;-2;-2;&;;-1;-2;&;;0;-2;&;;1;-2;&;;2;-2;&;;3;-2;&;;3;-1;%;;3;0;%;;4;-2;&;;4;1;%;;5;-2;&;;6;-2;&;;6;-1;&;;6;0;&;;7;-2;&;;7;-1;&;;7;0;&;;7;1;%;;7;2;%;;8;-2;&;;8;3;%;;9;-2;&;;10;-2;&;;10;-1;&;;10;0;&;;10;1;&;;11;-2;&;;11;-1;&;;11;0;&;;11;1;&;;11;2;%;;11;3;%;;12;-2;*;;12;4;%;;12;5;^;;13;-2;*;;14;-2;*;;14;-1;*;;14;0;*;;14;1;*;;14;2;*;;15;-2;*;;15;-1;*;;15;0;*;;15;1;*;;15;2;*;;16;-2;*;;17;-2;*;;18;-2;*;;19;-2;&;;19;1;^;;20;-2;&;;21;-2;&;;22;-2;&;;23;-2;&;;23;-1;am;;24;-2;&;;25;-2;&;;26;-2;&;;27;-2;*;;28;-2;*;;29;-2;*;;30;-2;*;;31;-2;&;;32;-2;&;;33;-2;&;;34;-2;&;;35;-2;&;;36;-2;&;;36;-1;*;;36;0;*;;36;1;*;;36;2;*;;36;3;*;;36;4;*;;36;5;*;;36;6;*;;36;7;*;;36;8;*;;36;9;*;;36;10;*;;36;11;*;;36;12;*;;36;13;*;;36;14;*;;39;-3;&;;39;-2;&;;39;-1;&;;40;-1;&;;40;0;am;;41;-1;&;;42;-1;&;;43;-1;&;;44;-1;&;;45;-1;&;;46;-3;&;;46;-2;&;;46;-1;&;;49;0;&;;49;1;&;;49;2;%;;50;0;&;;50;1;&;;50;2;%;;51;0;&;;51;1;&;;51;2;%;;52;0;&;;52;1;&;;52;3;%;;52;4;^;;53;0;&;;53;1;&;;53;3;%;;54;1;*;;54;2;%;;55;1;*;;56;1;*;;57;0;*;;58;0;*;;59;0;*;;60;-1;*;;61;-1;*;;62;-1;*;;63;-1;*;;64;-1;*;;65;-1;*;;66;-1;*;;66;2;^;;67;-1;*;;68;-1;*;;69;-1;*;;70;-1;*;;71;0;*;;72;0;*;;73;0;*;;74;1;*;;75;1;*;;76;1;*;;77;1;&;;77;4;^;;78;1;&;;79;1;&;;80;1;&;;80;4;^;;80;11;?;;81;1;*;;82;1;*;;83;1;*;;84;1;*;;85;1;&;;85;4;^;;86;1;&;;86;2;am;;87;1;&;;88;1;&;;88;4;^;;89;1;*;;90;1;*;;91;1;*;;92;1;*;;93;1;*;;94;1;*;;95;1;*;;96;1;*;;97;1;*;;98;1;*;;99;1;*;;100;-3;&;;100;-2;&;;100;-1;&;;100;0;&;;100;1;&;;100;2;&;;100;3;&;;100;4;&;;100;5;&;;100;6;&;;100;7;&;;100;8;&;;100;9;&;;100;10;&;;101;1;&;;101] [;4;^;;102;1;&;;103;1;&;;103;2;am;;104;1;&;;105;1;&;;105;4;^;;106;-3;&;;106;-2;&;;106;-1;&;;106;0;&;;106;1;&;;106;2;&;;106;3;&;;106;4;&;;106;5;&;;106;6;&;;106;7;&;;106;8;&;;106;9;&;;106;10;&;;107;1;*;;108;1;*;;109;1;*;;110;1;*;;111;1;*;;112;1;*;;113;-3;&;;113;-2;&;;113;-1;&;;113;0;&;;113;1;&;;113;2;&;;113;3;&;;113;4;&;;113;5;&;;113;6;&;;113;7;&;;113;8;&;;113;9;&;;113;10;&;;113;11;&;;114;-3;*;;115;-3;*;;116;-3;*;;116;6;%;;117;-3;*;;117;7;%;;118;-3;*;;118;7;%;;119;-3;*;;119;7;%;;120;-3;*;;120;6;%;;121;-3;*;;122;-3;*;;123;-3;*;;123;-2;&;;123;-1;&;;123;0;&;;123;1;&;;123;2;&;;123;3;&;;123;4;&;;123;5;&;;123;6;&;;123;7;&;;123;8;&;;123;9;&;;123;10;&;;123;11;&;;124;-3;^;;124;1;&;;125;-3;^;;125;1;^;;126;-3;^;;126;1;*;;127;-3;&;;127;-2;*;;127;-1;*;;127;0;*;;127;1;*;;127;2;*;;127;3;*;;127;4;*;;127;5;*;;127;6;*;;127;7;*;;127;8;*;;127;9;*;;127;10;*;;127;11;*;;128;-3;&;;129;-3;&;;130;-3;&;;131;-3;&;;132;-3;&;;133;-3;&;;134;-3;&;;135;-3;&;;136;-3;&;;137;-3;&;;137;-2;*;;137;-1;*;;137;0;*;;137;1;*;;137;2;*;;137;3;*;;137;4;*;;137;5;*;;137;6;*;;137;7;*;;137;8;*;;137;9;*;;137;10;*;;137;11;*;;138;-3;&;;138;-2;am;;139;-3;&;;140;-2;&;;141;-1;&;;142;0;&;;143;1;&;;144;1;&;;145;1;^;;145;4;^;;146;1;*;;147;1;*;;148;0;*;;149;-1;*;;150;-2;*;;151;-1;*;;152;0;*;;153;1;*;;154;1;*;;155;0;?;;155;1;^;;155;4;^;;156;1;&;;156;2;am;;157;1;&;;158;0;&;;159;-1;&;;162;3;^;;163;-1;&;;163;0;&;;163;1;&;;163;2;&;;163;3;&;;163;4;&;;163;5;&;;163;6;&;;163;7;&;;163;8;&;;163;9;&;;163;10;&;;163;11;&;;164;-1;&;;165;-1;&;;166;-1;&;;167;-1;&;;168;-1;&;;169;-1;&;;170;-1;&;;171;-1;&;;171;0;&;;171;1;&;;171;2;&;;171;3;&;;171;4;&;;171;5;&;;171;6;&;;171;7;&;;171;8;&;;171;9;&;;171;10;&;;171;11;&;;187;4;*;;187;5;*;;188;4;*;;189;4;*;;190;4;*;;191;4;*;;191;5;*;;207;-3;*;;207;-2;*;;207;-1;*;;208;-1;*;;209;-1;*;;210;-1;*;;210;2;^;;211;-3;&;;211;-2;&;;211;-1;&;;212;-1;&;;212;0;am;;213;-1;&;;214;-1;&;;215;-1;&;;216;-1;&;;216;0;*;;216;1;*;;216;2;*;;216;3;*;;216;4;*;;217;-1;&;;217;0;*;;217;1;*;;217;2;*;;217;3;*;;217;4;*;;218;-1;&;;218;0;*;;218;1;*;;218;2;^;;218;3;*;;218;4;*;;218;7;^;;219;-1;&;;219;0;*;;219;1;*;;219;2;*;;219;3;*;;219;4;*;;220;-3;&;;220;-2;&;;220;-1;&;;220;0;*;;220;1;*;;220;2;*;;220;3;*;;220;4;*;;221;4;*;;222;4;*;;223;4;*;;224;4;*;;225;4;*;;226;4;*;;227;4;*;;228;-3;&;;228;-2;&;;228;-1;*;;228;0;*;;228;1;*;;228;2;*;;228;3;*;;228;4;*;;229;-2;&;;229;4;*;;230;-2;&;;230;0;%;;230;1;%;;230;2;%;;230;4;*;;230;7;^;;231;-2;&;;231;4;*;;232;-2;&;;232;-1;*;;232;0;*;;232;1;*;;232;2;*;;232;3;*;;232;4;*;;233;-2;&;;233;-1;*;;233;0;*;;233;1;&;;233;2;&;;233;3;&;;233;4;&;;234;-2;&;;234;-1;*;;234;0;*;;234;1;&;;234;4;&;;235;-2;&;;235;-1;*;;235;0;*;;235;1;&;;235;4;&;;236;-2;&;;236;-1;*;;236;0;*;;236;1;&;;236;4;&;;237;-2;&;;237;-1;*;;237;0;*;;237;1;&;;237;4;&;;238;-2;&;;238;-1;*;;238;0;*;;238;1;&;;238;4;&;;239;-2;&;;239;-1;*;;239;0;*;;239;1;&;;239;4;&;;240;-3;&;;240;-2;&;;240;-1;*;;240;0;*;;240;1;&;;240;2;&;;240;3;&;;240;4;&;;241;-2;&;;242;-2;&;;243;-2;&;;244;-1;&;;245;-1;&;;246;-1;&;;247;0;&;;248;0;&;;249;0;&;;250;1;&;;251;1;&;;252;1;&;;253;-3;*;;253;-2;*;;253;4;^;;254;-2;*;;255;-2;*;;256;-2;*;;257;-2;*;;258;-2;*;;259;-2;*;;259;-1;*;;260;-1;*;;260;0;*;;261;0;*;;261;1;*;;262;1;*;;262;2;*;;263;-3;*;;263;-2;*;;263;-1;*;;263;0;*;;263;1;*;;263;2;*;;263;3;*;;264;-3;&;;264;-2;&;;264;-1;&;;264;0;&;;264;1;&;;264;2;&;;264;3;&;;265;3;&;;266;3;&;;266;7;^;;267;3;&;;267;10;^;;268;3;&;;269;3;&;;270;3;&;;271;3;&;;271;43;&;;271;44;&;;271;47;&;;271;54;&;;271;57;&;;272;3;&;;272;43;&;;272;44;&;;272;47;&;;272;54;&;;272;57;&;;273;3;&;;273;43;&;;273;44;&;;273;47;&;;273;54;&;;273;57;&;;274;3;&;;274;43;&;;274;44;&;;274;47;&;;274;54;&;;274;57;&;;275;3;&;;275;43;&;;275;44;&;;275;47;&;;275;54;&;;275;57;&;;276;-3;*;;276;-2;*;;276;3;&;;276;6;&;;276;7;&;;276;8;&;;276;9;&;;276;10;&;;276;11;&;;276;12;&;;276;13;&;;276;14;&;;276;43;&;;276;44;&;;276;47;&;;276;54;&;;276;57;&;;277;-2;*;;277;0;%;;277;3;&;;277;6;&;;277;43;&;;277;44;&;;277;47;&;;277;54;&;;277;57;&;;278;-2;*;;278;0;%;;278;3;&;;278;6;&;;278;43;&;;278;44;&;;278;47;&;;278;54;&;;278;57;&;;279;-2;*;;279;0;%;;279;3;&;;279;6;&;;279;43;&;;279;44;&;;279;47;&;;279;48;&;;279;49;&;;279;50;&;;279;51;&;;279;52;&;;279;53;&;;279;54;&;;279;57;&;;279;58;&;;279;59;&;;279;60;&;;279;61;&;;279;62;&;;279;63;&;;279;64;&;;280;-2;*;;280;3;&;;280;6;&;;280;43;&;;280;44;*;;280;54;?;;280;59;&;;281;-2;*;;281;3;&;;281;6;&;;281;43;&;;281;44;*;;281;59;&;;282;-2;*;;282;3;&;;282;6;&;;282;43;&;;282;44;*;;282;47;&;;282;48;&;;282;49;&;;282;50;&;;282;51;&;;282;52;&;;282;53;&;;282;54;&;;282;55;&;;282;56;&;;282;57;&;;282;58;&;;282;59;&;;282;60;&;;282;61;&;;282;62;&;;282;63;&;;282;64;&;;283;-2;*;;283;0;%;;283;3;&;;283;6;&;;283;43;&;;283;44;*;;283;47;&;;283;48;&;;283;53;&;;283;59;&;;284;-2;*;;284;0;%;;284;3;&;;284;6;&;;284;39;&;;284;40;&;;284;41;&;;284;42;&;;284;43;&;;284;44;*;;284;47;&;;284;48;&;;284;53;&;;284;59;&;;285;-2;*;;285;0;%;;285;3;&;;285;6;&;;285;37;*;;285;38;*;;285;39;*;;285;40;*;;285;41;*;;285;42;*;;285;43;*;;285;44;*;;285;47;^;;285;48;&;;285;53;&;;285;59;&;;286;-2;*;;286;3;&;;286;6;&;;286;43;*;;286;44;*;;286;47;&;;286;48;&;;286;53;&;;286;59;&;;2]) (join [87;-2;*;;287;3;&;;287;6;&;;287;43;*;;287;44;*;;287;47;&;;287;48;&;;287;53;&;;287;59;&;;288;-2;*;;288;3;&;;288;6;&;;288;43;*;;288;44;*;;288;47;&;;288;48;&;;288;53;&;;288;59;&;;289;-2;*;;289;0;%;;289;3;&;;289;6;&;;289;43;*;;289;44;*;;289;47;&;;289;48;&;;289;53;&;;289;59;&;;290;-2;*;;290;0;%;;290;3;&;;290;6;&;;290;43;*;;290;44;*;;290;47;&;;290;48;&;;290;53;&;;290;59;&;;291;-2;*;;291;0;%;;291;3;&;;291;6;&;;291;43;*;;291;44;*;;291;47;&;;291;48;&;;291;53;&;;291;59;&;;292;-2;*;;292;3;&;;292;6;&;;292;37;*;;292;38;*;;292;39;*;;292;40;*;;292;41;*;;292;42;*;;292;43;*;;292;44;*;;292;47;&;;292;48;&;;292;49;&;;292;50;&;;292;51;&;;292;52;&;;292;53;&;;292;54;&;;292;55;&;;292;56;&;;292;57;&;;292;58;&;;292;59;&;;293;-2;*;;293;3;&;;293;6;&;;293;38;ad;;293;39;ad;;293;40;ad;;293;41;ad;;293;42;ad;;293;43;ad;;293;44;ad;;293;45;ad;;293;46;ad;;293;53;&;;294;-3;&;;294;-2;*;;294;-1;&;;294;0;&;;294;1;&;;294;2;&;;294;3;&;;294;4;&;;294;5;&;;294;6;&;;294;7;&;;294;8;&;;294;9;&;;294;10;&;;294;11;&;;294;38;ad;;294;39;ad;;294;40;ad;;294;41;ad;;294;42;ad;;294;43;ad;;294;44;ad;;294;45;ad;;294;46;ad;;294;53;&;;295;-2;*;;295;38;ad;;295;39;ad;;295;40;ad;;295;41;ad;;295;42;&;;295;43;^;;295;44;ad;;295;45;ad;;295;46;ad;;295;53;&;;296;-2;*;;296;38;ad;;296;39;ad;;296;40;ad;;296;41;ad;;296;42;ad;;296;43;ad;;296;44;ad;;296;45;ad;;296;46;ad;;296;53;&;;297;-2;*;;297;38;ad;;297;39;ad;;297;40;ad;;297;41;ad;;297;42;ad;;297;43;ad;;297;44;ad;;297;45;ad;;297;46;ad;;297;53;&;;298;-2;*;;298;38;ad;;298;39;ad;;298;40;ad;;298;41;ad;;298;42;ad;;298;43;ad;;298;44;ad;;298;45;ad;;298;46;ad;;298;53;&;;299;-2;*;;299;1;^;;299;37;*;;299;38;*;;299;39;*;;299;40;*;;299;41;*;;299;42;*;;299;43;*;;299;44;*;;299;45;*;;299;46;*;;299;47;*;;299;48;*;;299;49;&;;299;50;&;;299;51;&;;299;52;&;;299;53;&;;299;54;&;;299;55;&;;299;56;&;;299;57;&;;299;58;&;;300;-3;&;;300;-2;&;;300;38;ad;;300;39;ad;;300;40;ad;;300;41;ad;;300;42;ad;;300;43;ad;;300;44;ad;;300;45;ad;;300;46;ad;;300;53;&;;301;-2;&;;301;38;ad;;301;39;ad;;301;40;ad;;301;41;ad;;301;42;ad;;301;43;ad;;301;44;ad;;301;45;ad;;301;46;ad;;301;53;&;;302;-2;&;;302;-1;&;;302;38;ad;;302;39;ad;;302;40;ad;;302;41;ad;;302;42;*;;302;43;^;;302;44;ad;;302;45;ad;;302;46;ad;;302;53;&;;303;-1;&;;303;38;ad;;303;39;ad;;303;40;ad;;303;41;ad;;303;42;ad;;303;43;ad;;303;44;ad;;303;45;ad;;303;46;ad;;303;53;&;;304;-1;&;;304;38;ad;;304;39;ad;;304;40;ad;;304;41;ad;;304;42;ad;;304;43;ad;;304;44;ad;;304;45;ad;;304;46;ad;;304;53;&;;305;-1;&;;305;0;&;;305;38;ad;;305;39;ad;;305;40;ad;;305;41;ad;;305;42;ad;;305;43;ad;;305;44;ad;;305;45;ad;;305;46;ad;;305;53;&;;306;0;&;;306;37;&;;306;38;&;;306;39;&;;306;40;&;;306;41;&;;306;42;&;;306;43;&;;306;44;&;;306;45;&;;306;46;&;;306;47;&;;306;48;&;;306;49;&;;306;50;&;;306;51;&;;306;52;&;;306;53;&;;306;54;&;;306;55;&;;306;56;&;;306;57;&;;306;58;&;;307;0;&;;307;3;&;;307;4;&;;307;5;&;;307;6;&;;307;7;&;;307;8;&;;307;9;&;;307;10;&;;307;38;ad;;307;39;ad;;307;40;ad;;307;41;ad;;307;42;ad;;307;43;ad;;307;44;ad;;307;45;ad;;307;46;ad;;307;53;&;;308;0;&;;308;3;&;;308;38;ad;;308;39;ad;;308;40;ad;;308;41;ad;;308;42;ad;;308;43;ad;;308;44;ad;;308;45;ad;;308;46;ad;;308;53;&;;309;0;&;;309;3;&;;309;38;ad;;309;39;ad;;309;40;ad;;309;41;ad;;309;42;ad;;309;43;ad;;309;44;ad;;309;45;ad;;309;46;ad;;309;53;&;;310;0;&;;310;3;&;;310;38;ad;;310;39;ad;;310;40;ad;;310;41;ad;;310;42;&;;310;43;^;;310;44;ad;;310;45;ad;;310;46;ad;;310;53;&;;311;38;ad;;311;39;ad;;311;40;ad;;311;41;ad;;311;42;ad;;311;43;ad;;311;44;ad;;311;45;ad;;311;46;ad;;311;53;?;;312;38;ad;;312;39;ad;;312;40;ad;;312;41;ad;;312;42;ad;;312;43;ad;;312;44;ad;;312;45;ad;;312;46;ad;;312;53;&;;313;38;ad;;313;39;ad;;313;40;ad;;313;41;ad;;313;42;ad;;313;43;ad;;313;44;ad;;313;45;ad;;313;46;ad;;313;53;&;;314;37;*;;314;38;*;;314;39;*;;314;40;*;;314;41;*;;314;42;*;;314;43;*;;314;44;*;;314;45;*;;314;46;*;;314;47;*;;314;48;*;;314;49;&;;314;50;&;;314;51;&;;314;52;&;;314;53;&;;314;54;&;;314;55;&;;314;56;&;;314;57;&;;314;58;&;;314;59;&;;314;60;&;;315;38;ad;;315;39;ad;;315;40;ad;;315;41;ad;;315;42;ad;;315;43;ad;;315;44;ad;;315;45;ad;;315;46;ad;;315;53;&;;315;60;&;;316;38;ad;;316;39;ad;;316;40;ad;;316;41;ad;;316;42;ad;;316;43;ad;;316;44;ad;;316;45;ad;;316;46;ad;;316;53;&;;316;60;&;;317;38;ad;;317;39;ad;;317;40;ad;;317;41;ad;;317;42;ad;;317;43;ad;;317;44;ad;;317;45;ad;;317;46;ad;;317;53;&;;317;60;&;;318;38;ad;;318;39;ad;;318;40;ad;;318;41;ad;;318;42;ad;;318;43;ad;;318;44;ad;;318;45;ad;;318;46;ad;;318;53;&;;318;60;&;;319;38;ad;;319;39;ad;;319;40;ad;;319;41;ad;;319;42;ad;;319;43;ad;;319;44;ad;;319;45;ad;;319;46;ad;;319;53;&;;319;60;&;;320;37;&;;320;38;&;;320;49;*;;320;50;&;;320;51;&;;320;52;&;;320;53;&;;320;60;&;;321;38;&;;321;49;*;;321;53;&;;321;60;&;;322;38;&;;322;49;*;;322;53;&;;322;60;&;;323;38;&;;323;49;*;;323;50;&;;323;51;&;;323;52;&;;323;53;&;;323;54;&;;323;55;&;;323;56;&;;323;57;&;;323;58;&;;323;59;&;;323;60;&;;323;61;&;;323;62;&;;323;63;&;;323;64;&;;323;65;&;;323;66;&;;323;67;&;;323;68;&;;323;69;&;;323;70;&;;323;71;&;;324;38;&;;324;49;*;;324;61;&;;325;38;&;;325;49;*;;325;61;?;;326;37;&;;326;38;&;;326;39;&;;326;49;*;;326;50;&;;326;51;&;;326;52;&;;326;53;&;;326;54;&;;326;55;&;;326;56;&;;326;57;&;;326;58;&;;326;59;&;;326;60;&;;326;61;&;;326;62;&;;326;63;&;;326;64;&;;326;65;&;;326;66;&;;326;67;&;;326;68;&;;326;69;&;;326;70;&;;3] [26;71;&;;327;39;&;;327;40;&;;327;49;*;;327;53;&;;327;60;&;;328;40;&;;328;41;&;;328;49;*;;328;53;&;;328;60;&;;329;7;^;;329;37;&;;329;38;&;;329;39;&;;329;40;&;;329;41;&;;329;42;&;;329;49;*;;329;53;&;;329;60;&;;330;42;&;;330;49;%;;330;53;&;;330;60;&;;331;42;&;;331;49;%;;331;53;&;;331;60;&;;332;37;&;;332;38;&;;332;39;&;;332;40;&;;332;41;&;;332;42;&;;332;49;*;;332;53;&;;332;60;&;;333;2;*;;333;40;&;;333;41;&;;333;49;*;;333;53;&;;333;60;&;;334;2;*;;334;6;*;;334;39;&;;334;40;&;;334;49;*;;334;53;&;;335;-2;&;;335;-1;&;;335;0;&;;335;1;&;;335;2;&;;335;5;^;;335;6;*;;335;37;&;;335;38;&;;335;39;&;;335;49;*;;335;53;&;;336;-2;&;;336;-1;&;;336;0;&;;336;1;&;;336;2;&;;336;6;&;;336;38;&;;336;49;*;;336;53;&;;336;78;&;;336;79;&;;336;80;&;;336;81;&;;336;82;&;;336;83;&;;336;84;&;;336;85;&;;336;86;&;;336;87;&;;336;88;&;;336;89;&;;336;90;&;;337;2;*;;337;5;^;;337;6;&;;337;38;&;;337;49;*;;337;53;&;;337;81;&;;337;82;%;;337;83;%;;337;84;%;;337;85;%;;337;86;%;;337;87;&;;338;2;*;;338;6;*;;338;38;&;;338;49;&;;338;50;&;;338;51;&;;338;52;&;;338;53;&;;338;54;&;;338;55;&;;338;56;&;;338;57;&;;338;58;&;;338;59;&;;338;81;&;;338;84;%;;338;86;%;;338;87;&;;339;-2;&;;339;-1;&;;339;0;&;;339;1;&;;339;2;&;;339;5;^;;339;6;*;;339;38;&;;339;81;&;;339;82;%;;339;84;%;;339;86;%;;339;87;&;;340;-2;&;;340;-1;&;;340;0;&;;340;1;&;;340;2;&;;340;6;&;;340;38;&;;340;81;&;;340;82;%;;340;84;%;;340;86;%;;340;87;&;;341;2;*;;341;5;^;;341;6;&;;341;38;&;;341;81;&;;341;82;%;;341;83;%;;341;84;%;;341;85;%;;341;87;&;;342;2;*;;342;6;*;;342;38;&;;342;81;&;;342;82;%;;342;84;%;;342;86;%;;342;87;&;;343;-2;&;;343;-1;&;;343;0;&;;343;1;&;;343;2;&;;343;5;^;;343;6;*;;343;38;&;;343;81;&;;343;82;%;;343;84;%;;343;86;%;;343;87;&;;344;-2;&;;344;-1;&;;344;0;&;;344;1;&;;344;2;&;;344;6;&;;344;38;&;;344;81;&;;344;82;r;;344;84;%;;344;86;%;;344;87;&;;345;2;*;;345;5;^;;345;6;&;;345;38;&;;345;78;&;;345;79;&;;345;80;&;;345;81;&;;345;82;%;;345;83;%;;345;84;%;;345;85;%;;345;87;&;;345;88;&;;345;89;&;;345;90;&;;346;2;*;;346;6;*;;346;38;&;;346;81;&;;346;82;%;;346;84;%;;346;86;%;;346;87;&;;347;-2;&;;347;-1;&;;347;0;&;;347;1;&;;347;2;&;;347;5;^;;347;6;*;;347;38;&;;347;81;&;;347;82;%;;347;84;%;;347;86;%;;347;87;&;;348;-2;&;;348;-1;&;;348;0;&;;348;1;&;;348;2;&;;348;6;&;;348;38;&;;348;81;&;;348;82;%;;348;84;%;;348;86;%;;348;87;&;;349;2;*;;349;5;^;;349;6;&;;349;38;&;;349;81;&;;349;82;%;;349;83;%;;349;84;%;;349;85;%;;349;86;%;;349;87;&;;350;2;*;;350;6;*;;350;38;&;;350;81;&;;350;82;%;;350;84;%;;350;86;%;;350;87;&;;351;-2;&;;351;-1;&;;351;0;&;;351;1;&;;351;2;&;;351;5;^;;351;6;*;;351;38;&;;351;81;&;;351;82;%;;351;84;%;;351;86;%;;351;87;&;;352;2;&;;352;5;&;;352;6;&;;352;7;&;;352;37;&;;352;38;&;;352;81;&;;352;82;%;;352;84;%;;352;86;%;;352;87;&;;353;2;&;;353;5;&;;353;78;&;;353;79;&;;353;80;&;;353;81;&;;353;82;%;;353;83;%;;353;84;%;;353;85;%;;353;86;%;;353;87;&;;353;88;&;;353;89;&;;353;90;&;;354;2;&;;354;5;&;;354;81;&;;354;82;%;;354;84;%;;354;86;%;;354;87;&;;355;2;&;;355;5;&;;355;81;&;;355;82;%;;355;84;%;;355;86;%;;355;87;&;;356;2;&;;356;5;&;;356;81;&;;356;82;%;;356;84;%;;356;86;%;;356;87;&;;357;2;&;;357;5;&;;357;81;&;;357;82;r;;357;83;%;;357;84;%;;357;85;%;;357;86;%;;357;87;&;;358;2;&;;358;5;&;;358;81;&;;358;82;%;;358;84;%;;358;86;%;;358;87;&;;359;2;&;;359;5;&;;359;81;&;;359;82;%;;359;84;%;;359;86;%;;359;87;&;;360;2;&;;360;5;&;;360;81;&;;360;82;%;;360;84;%;;360;86;%;;360;87;&;;361;2;&;;361;5;&;;361;81;&;;361;82;%;;361;83;%;;361;84;%;;361;85;%;;361;86;%;;361;87;&;;362;2;&;;362;5;&;;362;78;&;;362;79;&;;362;80;&;;362;81;&;;362;82;&;;362;83;&;;362;84;&;;362;85;&;;362;86;&;;362;87;&;;362;88;&;;362;89;&;;362;90;&;;363;2;&;;363;5;&;;364;2;&;;364;5;&;;365;2;&;;365;5;&;;366;2;&;;366;5;&;;367;2;&;;367;5;&;;368;2;&;;368;5;&;;369;2;&;;369;5;&;;370;2;&;;370;5;&;;371;2;&;;371;5;&;;372;2;&;;372;5;&;;C152;-2;x;;-90;153;-2;x;;-90;154;-2;x;;-90;155;-2;x;;-90;156;-2;x;;-90;157;-2;x;;-90;158;-2;x;;-90;159;-2;x;;-90;160;-2;x;;-90;161;-2;x;;-90;162;-2;x;;-90;191;-2;x;;-90;195;-2;x;;-90;199;-2;x;;-90;203;-2;x;;-90;D277;4;.6;280;45;.12;307;1;.6;280;55;.12;331;38;.4;333;3;.12;357;3;.6;325;63;.8;340;39;.2;338;82;.2;E114;-2;27a;115;-2;27a;116;-2;27a;117;-2;27a;118;-2;27a;119;-2;27a;120;-2;27a;121;-2;27a;122;-2;27a;159;-2;8r1;160;-2;8lr;161;-2;8lr;162;-2;8lr;163;-2;8lr;164;-2;8lr;165;-2;8lr;166;-2;8lr;167;-2;8lr;168;-2;8lr;169;-2;8lr;170;-2;8lr;171;-2;8lr;172;-2;8ul;172;-1;8ud;172;0;8ud;172;1;8ud;172;2;8dr;173;2;8lr;174;2;8lr;175;2;8lr;176;2;8lr;177;2;8lr;178;2;8lr;179;-1;8ur;179;0;8ud;179;1;8ud;179;2;8dl;180;-1;8lr;181;-1;8lr;182;-1;8lr;183;-1;8lr;184;-1;8lr;185;-1;8lr;186;-1;8lr;187;-1;8lr;188;-1;8lr;189;-1;8ul;189;0;8ud;189;1;8ud;189;2;8ud;189;3;8d1;191;-2;8r1;192;-2;8x8;193;-3;8x3;195;-2;8r1;196;-2;8x8;197;-3;8x3;199;-2;8r1;200;-2;8x8;201;-3;8x3;203;-2;8r1;204;-2;8x8;205;-3;8x3;F12;13;7;1;-200;-96;:4;9;1;1;-200;-200;:14;1;1;1;2528;-200;:G600;345;42;2;-6;-1;BenjaminWins11;On Off Trouble; \[/code\]Description: ]))\nend\nbroadcast (Load v)\n\nwhen I receive [newlevel v]\nNew\n\ndefine New\nstop all sounds\nset [coins v] to [0]\nset [inventory v] to [0]\nset [backgroundmenu v] to [0]\nset [areamenu v] to [0]\nset [musicmenu v] to [0]\nset [cameramenu v] to [0]\nset [searching v] to [0]\nset [timemenu v] to [0]\nset [searchscroll v] to [0]\nset [maxtimer v] to [300]\nset [uijustclicked2 v] to [0]\nNewLevel\n\nwhen I receive [endloadingscript v]\nstop [other scripts in sprite v]\n\ndefine Shortcut\nif <<(Searching) = [0]> or <(Inventory) = [0]>> then\n    if <(length of [px v]) = [0]> then\n        if <(EditMode) = [0]> then\n            stop all sounds\n        end\n        set [editmode v] to [1]\n        if <(N.5) = [0]> then\n            set [inventory v] to [0]\n            set [backgroundmenu v] to [0]\n            set [areamenu v] to [0]\n            set [cameramenu v] to [0]\n            set [timemenu v] to [0]\n            set [gtime v] to [0]\n            set [n.5 v] to [0.01]\n        else\n            if <(N.5) = [1]> then\n                set [n.5 v] to [-0.99]\n            end\n        end\n    end\nend\n\nwhen [b v] key pressed\nset [n.5 v] to (BackgroundMenu)\nShortcut\nset [backgroundmenu v] to (N.5)\n\nwhen [n v] key pressed\nset [n.5 v] to (AreaMenu)\nShortcut\nset [areamenu v] to (N.5)\n\ndefine JoinSave;\nset [codeentered/loaded v] to (join (CodeEntered/Loaded) [;])\n\ndefine JoinSave (item)\nset [codeentered/loaded v] to (join (CodeEntered/Loaded) (item))\n\nwhen [v v] key pressed\nset [n.5 v] to (CameraMenu)\nShortcut\nset [cameramenu v] to (N.5)\n\nwhen I receive [startlevel v]\nif <(EditMode) = [1]> then\n    set [spawnx v] to ((OSpawnX) * (32))\n    set [spawny v] to ((OSpawnY) * (32))\nend\nset [allowmovement v] to [0]\nset [allowplayercontrol v] to [0]\nset [inventory v] to [0]\nset [musicmenu v] to [0]\nset [backgroundmenu v] to [0]\nset [areamenu v] to [0]\nset [cameramenu v] to [0]\nset [timemenu v] to [0]\nset [gtime v] to [0]\nset [editmode v] to [0]\nset [dead v] to [0]\nstop all sounds\nbroadcast (ResetMap v)\nbroadcast (Fast Transition v)\nwait (0.3) seconds\nbroadcast (PlaySong v)\nbroadcast (ShortInvincibility v)\n\n@Overlay\n\nwhen [timer v] > (0.5)\nif <<(GTime) > [0.1]> and <not <(Menu) = [Load]>>> then\n    set size to (668) %\n    show\n    switch costume to (clicke v)\n    set [ghost v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    clear graphic effects\n    wait until <key (e v) pressed?>\n    hide\n    if <(EditMode) = [1]> then\n        broadcast (SwitchEdit/PlayMode v)\n    end\n    hide\n    switch costume to (t v)\n    go to x: (0) y: (0)\n    set size to (3000) %\nend\n\nwhen flag clicked\nswitch costume to (t v)\ngo to x: (0) y: (0)\nset size to (3000) %\n\nwhen I receive [fast transition v]\nstop [other scripts in sprite v]\nclear graphic effects\nshow\nwait (0) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\nclear graphic effects\n\nwhen I receive [flagclicked v]\nset [loading v] to [0]\nstop [other scripts in sprite v]\nswitch costume to (t v)\ngo to x: (0) y: (0)\nset size to (3000) %\nclear graphic effects\nshow\ngo to [front v] layer\nwait (0) seconds\nif <not <(ClearingLag) = [0]>> then\n    wait (2.38) seconds\nend\nwait (0.2) seconds\nrepeat (3)\n    change [ghost v] effect by (28)\nend\ngo [backward v] (3) layers\nclear graphic effects\nhide\n\nwhen I receive [pipetransition v]\nclear graphic effects\nshow\nwait (0.2) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\nclear graphic effects\n\nwhen I receive [askcode v]\nset [loading v] to [1]\nask [Enter Level Code \(Find Level Codes in the Forum linked in the Notes and Credits\)] and wait\nif <(length of (answer)) > [8]> then\n    set [menu v] to [Load]\n    stop all sounds\n    set [codeentered/loaded v] to (answer)\n    set [title v] to [Invalid Code.]\n    set [maker v] to [Validify your Codes!]\n    broadcast (Load v)\nend\nrepeat (999)\n    if <(timer) > [5]> then\n        set [loading v] to [0]\n        broadcast (EndLoadingScript v)\n        wait (0) seconds\n        broadcast (FlagClicked v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [load v]\nclear graphic effects\nshow\n\nswitch costume to (thumbnail v)\ngo to x: (0) y: (0)\nset size to (100) %\nset [gtime v] to [0]\nset [clearinglag v] to [0.5]\nset [codeentered/loaded v] to []\nset [darkmode v] to [0]\ndelete all of [save code v]\ndelete all of [schres v]\ndelete all of [schlistno v]\n\n@Particles\n\nwhen I receive [overlays v]\nif <(EditMode) = [1]> then\n    delete this clone\nend\nif <(ParticleNo.) = [0]> then\n    hide\n    LoadParticles\nelse\n    go to x: ((X) + (MapX)) y: ((Y) + (MapY))\n    if <<(EditMode) = [1]> or <<<(y position) > [170]> or <(y position) < [-180]>> or <([abs v] of (x position) ) > [230]>>> then\n        delete this clone\n    end\n    if <(letter (1) of (Type)) = [1]> then\n        change [extra v] by (-0.8)\n        change y by (Extra)\n        point in direction (Extra2)\n        move (1) steps\n        if <(Extra2) > [0]> then\n            change [extra2 v] by (5)\n        else\n            change [extra2 v] by (-5)\n        end\n        if <([abs v] of (Extra2) ) > [160]> then\n            set [extra2 v] to ((([abs v] of (Extra2) ) / (Extra2)) * (160))\n        end\n        CostumeSelf\n        stop [this script v]\n    end\n    if <(Type) = [POW]> then\n        change [extra2 v] by (0.5)\n        if <not <(Extra2) < [7]>> then\n            delete this clone\n        end\n        CostumeSelf\n        stop [this script v]\n    end\n    if <<(Type) = [Key]> or <<(Type) = [Pink]> or <(Type) = [Coin]>>> then\n        change [extra v] by (-0.7)\n        change y by (Extra)\n        change [extra2 v] by (0.5)\n        if <not <(Extra2) < [7]>> then\n            delete this clone\n        end\n        CostumeSelf\n        stop [this script v]\n    end\n    if <<(Type) = [Mush]> or <<(Type) = [Star]> or <(Type) = [Fire]>>> then\n        change [extra v] by (-0.7)\n        change y by (Extra)\n        change [extra2 v] by (0.5)\n        if <not <(Extra2) < [7]>> then\n            add (x position) to [creparx v]\n            add (y position) to [crepary v]\n            add [Explode] to [crepartype v]\n            delete this clone\n        end\n        CostumeSelf\n        stop [this script v]\n    end\n    if <<(Type) = [Spike]> or <<(Type) = [Bill]> or <(Type) = [Bill2]>>> then\n        change [extra v] by (-0.8)\n        change y by (Extra)\n        CostumeSelf\n        stop [this script v]\n    end\n    if <(Type) = [Brick]> then\n        change [extra v] by (-0.8)\n        point in direction (Extra2)\n        change y by (Extra)\n        move (2.5) steps\n        if <(Extra2) > [0]> then\n            change [extra2 v] by (8)\n        else\n            change [extra2 v] by (-8)\n        end\n        if <([abs v] of (Extra2) ) > [150]> then\n            set [extra2 v] to ((([abs v] of (Extra2) ) / (Extra2)) * (150))\n        end\n        CostumeSelf\n        stop [this script v]\n    end\n    if <(Type) = [Explode]> then\n        change [extra v] by (0.5)\n        if <not <(Extra) < [4]>> then\n            delete this clone\n        end\n        CostumeSelf\n        stop [this script v]\n    end\n    if <(Type) = [Drift]> then\n        change y by (0.25)\n        change [extra v] by (0.5)\n        if <not <(Extra) < [4]>> then\n            delete this clone\n        end\n        CostumeSelf\n        stop [this script v]\n    end\n    if <<(Type) = [Goomba]> or <(Type) = [Goombrat]>> then\n        change [extra v] by (0.5)\n        if <not <(Extra) < [6]>> then\n            delete this clone\n        end\n        CostumeSelf\n        stop [this script v]\n    end\n    if <(Type) = [Wind]> then\n        change [extra v] by (-0.2)\n        turn right ((12) + ((Extra) * (1))) degrees\n        change y by (3)\n        change x by (([sin v] of (direction) ) * (4))\n        if <(Extra) < [4]> then\n            set [ghost v] effect to ([abs v] of (((4) - (Extra)) * (25)) )\n        end\n        CostumeSelf\n        if <(Extra) < [1]> then\n            delete this clone\n        end\n        stop [this script v]\n    end\nend\n\ndefine LoadParticles\nif <(length of [creparx v]) > [0]> then\n    repeat (length of [creparx v])\n        set [x v] to ((item (1) of [creparx v]) - (MapX))\n        set [y v] to ((item (1) of [crepary v]) - (MapY))\n        set [type v] to (item (1) of [crepartype v])\n        set [particleno. v] to [1]\n        if <(item (1) of [crepartype v]) = [Brick]> then\n            BrickSpawning [8] [5]\n            BrickSpawning [7] [45]\n            BrickSpawning [8] [-5]\n            BrickSpawning [7] [-45]\n        else\n            set [extra v] to [x]\n            set [extra2 v] to [x]\n            create clone of (_myself_ v)\n        end\n        delete (1) of [creparx v]\n        delete (1) of [crepary v]\n        delete (1) of [crepartype v]\n    end\n    set [particleno. v] to [0]\nend\n\nwhen I start as a clone\nhide\ngo to x: ((X) + (MapX)) y: ((Y) + (MapY))\nif <not <(Type) = [Brick]>> then\n    set [extra v] to [0]\n    set [extra2 v] to [0]\nend\nif <<(Type) = [Spike]> or <<(Type) = [Bill]> or <(Type) = [Bill2]>>> then\n    if <(x position) > [0]> then\n        point in direction (-90)\n    else\n        point in direction (90)\n    end\nend\nif <<(Type) = [Key]> or <<(Type) = [Pink]> or <(Type) = [Coin]>>> then\n    start sound [Coin v]\n    if <(Type) = [Coin]> then\n        change [coins v] by (1)\n        if <(Coins) > [99]> then\n            start sound [1up v]\n            set [coins v] to [0]\n        end\n    end\n    set [extra v] to [9]\nend\nif <(Type) = [Wind]> then\n    if <((GTime) mod (0.04)) < [0.02]> then\n        point in direction (((GTime) * (900)) mod (360))\n    else\n        point in direction (((GTime) * (900)) mod (360))\n        turn right (180) degrees\n    end\n    if <(y position) < [-169]> then\n        set [extra v] to [8]\n    else\n        set [extra v] to [12]\n    end\nend\nif <<(Type) = [Mush]> or <<(Type) = [Star]> or <(Type) = [Fire]>>> then\n    set [extra v] to [9]\nend\nif <(letter (1) of (Type)) = [1]> then\n    set [extra v] to [10]\n    if <(x position) > [0]> then\n        set [extra2 v] to [30]\n    else\n        set [extra2 v] to [-30]\n    end\nend\ngo to [back v] layer\nCostumeSelf\n\ndefine CostumeSelf\nset [x v] to ((x position) - (MapX))\nset [y v] to ((y position) - (MapY))\ngo to [front v] layer\ngo [backward v] (3) layers\nif <(letter (1) of (Type)) = [1]> then\n    set rotation style [left-right v]\n    switch costume to (Type)\n    stamp\n    stop [this script v]\nend\nif <(Type) = [Explode]> then\n    Costume [Ex] (Extra) [4] [1]\n    stamp\n    stop [this script v]\nend\nif <<(Type) = [Key]> or <<(Type) = [Pink]> or <(Type) = [Coin]>>> then\n    Costume (Type) (Extra2) [7] [1]\n    stamp\n    stop [this script v]\nend\nif <(Type) = [Drift]> then\n    Costume [Dr] (Extra) [4] [1]\n    stamp\n    stop [this script v]\nend\nif <<(Type) = [Spike]> or <(Type) = [Wind]>> then\n    set rotation style [left-right v]\n    switch costume to (Type)\n    stamp\n    stop [this script v]\nend\nset rotation style [don't rotate v]\nswitch costume to (Type)\nstamp\nstop [this script v]\n\ndefine BrickSpawning (ex1) (ex2)\nset [extra v] to (ex1)\nset [extra2 v] to (ex2)\ncreate clone of (_myself_ v)\n\nwhen I receive [endotherscripts v]\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [flagclicked v]\nswitch costume to (large v)\nset size to (400) %\nhide\nset [particleno. v] to [0]\nset rotation style [don't rotate v]\n\nwhen I receive [overlays2 v]\nif <(ParticleNo.) = [0]> then\n    if <not <(Holding) = []>> then\n        if <(Holding) = [g]> then\n            set rotation style [left-right v]\n            Costume (Holding) ((GTime) * (15)) [2] [1]\n            change [holdingtimer v] by (0.1)\n        else\n            set [holdingtimer v] to [0]\n            set rotation style [don't rotate v]\n            if <<(Holding) = [\]> and <not <(PTimer) = [0]>>> then\n                switch costume to (\2 v)\n            else\n                switch costume to (Holding)\n            end\n        end\n        go to x: ([x position v] of [player v]) y: (([y position v] of [player v]) + (2))\n        point in direction ([direction v] of [player v])\n        move (24) steps\n        if <<not <key (space v) pressed?>> or <<(HoldingTimer) > [11]> or <(AllowPlayerControl) = [0]>>> then\n            set [n.4 v] to (((x position) - (MapX)) / (32))\n            set [n.5 v] to ((((y position) + (2)) - (MapY)) / (32))\n            if <(Holding) = [r]> then\n                add (direction) to [extdir v]\n                add [0] to [extsta v]\n                add [r] to [extty v]\n                add ((((x position) + ((direction) / (66))) - (MapX)) / (32)) to [extrax v]\n                add [8] to [extxv v]\n                add (N.5) to [extray v]\n                add [5] to [extyv v]\n            end\n            if <(Holding) = [{]> then\n                CreateEnemy (direction) [0] [{]\n            end\n            if <<(Holding) = [c]> or <<(Holding) = [d]> or <<(Holding) = [f]> or <(Holding) = [\]>>>> then\n                CreateEnemy (direction) [2] (Holding)\n            end\n            if <(Holding) = [f2]> then\n                CreateEnemy (direction) [5] [f]\n            end\n            if <(Holding) = [g]> then\n                CreateEnemy (direction) (HoldingTimer) [g]\n            end\n            set [holding v] to []\n        end\n        stamp\n    end\nend\n\ndefine CreateEnemy (direction) (state) (type)\nadd (direction) to [enydir v]\nadd [0] to [enyext v]\nadd (state) to [enysta v]\nadd (type) to [enyty v]\nadd (N.4) to [enyx v]\nadd (N.5) to [enyy v]\nadd [8] to [enyxvel v]\nadd [5] to [enyyvel v]\n\ndefine Costume (c) (speed) (mod) (plus)\nswitch costume to (join (c) ((([floor v] of (speed) ) mod (mod)) + (plus)))\n\n@Uniques\n\ndefine LoadUniques\nif <(EditMode) = [0]> then\n    set [u# v] to ((item # of ((round ((MapX) / (-32))) - (8)) in [unix v]) - (1))\n    if <(U#) < [0]> then\n        set [u# v] to [0]\n    end\n    repeat ((length of [unix v]) - (U#))\n        change [u# v] by (1)\n        change [loaded v] by (1)\n        set [x v] to (((item (U#) of [unix v]) * (32)) + (MapX))\n        set [y v] to (((item (U#) of [uniy v]) * (32)) + (MapY))\n        if <(X) > [256]> then\n            stop [this script v]\n        end\n        if <<([abs v] of (X) ) < [256]> and <([abs v] of (Y) ) < [196]>> then\n            switch costume to (large v)\n            go to x: (X) y: (Y)\n            switch costume to (!1 v)\n            set [n.5 v] to (item (U#) of [unity v])\n            if <<<<<(N.5) = [\(]> or <(N.5) = [?]>> or <<(N.5) = [/]> or <<(N.5) = [ad]> or <(N.5) = [am]>>>> or <<<(N.5) = [%]> and <(PTimer) = [0]>> or <<(N.5) = [!]> and <<(item (U#) of [unicont v]) = []> and <not <(PTimer) = [0]>>>>>> or <<<<<(N.5) = [&]> and <(On/Off) = [0]>> or <<(N.5) = [*]> and <(On/Off) = [1]>>> or <(N.5) = [bb]>> or <<<(N.5) = [<]> and <(PTimer) = [0]>> or <<(N.5) = [>]> and <not <(PTimer) = [0]>>>>>> then\n                if <(N.5) = [bb]> then\n                    if <(GoalReached) = [0]> then\n                        set [ghost v] effect to (((distance to [player v]) * (2.1)) - (440))\n                    end\n                    switch costume to (tiny v)\n                    go to x: (X) y: (Y)\n                    switch costume to (end v)\n                    stamp\n                    switch costume to (large v)\n                    go to x: (X) y: (Y)\n                    switch costume to (!1 v)\n                    clear graphic effects\n                end\n                if <(N.5) = [ad]> then\n                    if <(distance to [player v]) < [48]> then\n                        hide\n                        create clone of (_myself_ v)\n                        show\n                    else\n                        SwitchTo [ad] [20] [4]\n                        stamp\n                    end\n                else\n                    hide\n                    create clone of (_myself_ v)\n                    show\n                end\n            else\n                create clone of (_myself_ v)\n            end\n        end\n    end\nelse\n    set [u# v] to ((item # of ((round ((MapX) / (-32))) - (8)) in [ux v]) - (1))\n    if <(U#) < [0]> then\n        set [u# v] to [0]\n    end\n    repeat ((length of [ux v]) - (U#))\n        change [u# v] by (1)\n        change [loaded v] by (1)\n        set [x v] to (((item (U#) of [ux v]) * (32)) + (MapX))\n        set [y v] to (((item (U#) of [uy v]) * (32)) + (MapY))\n        if <(X) > [256]> then\n            stop [this script v]\n        end\n        if <<([abs v] of (X) ) < [256]> and <([abs v] of (Y) ) < [196]>> then\n            switch costume to (large v)\n            go to x: (X) y: (Y)\n            set [n.5 v] to (item (U#) of [uty v])\n            set [n.6 v] to (item (U#) of [ucont v])\n            switch costume to (N.5)\n            if <<<(N.5) = [e]> or <(N.5) = [h]>> and <(N.6) = [-]>> then\n                switch costume to (join (N.5) [2])\n            end\n            if <(N.5) = [\(]> then\n                set [ghost v] effect to (50)\n                stamp\n                clear graphic effects\n            else\n                stamp\n            end\n            if <not <(N.6) = []>> then\n                set [n.3 v] to [0]\n                set [ghost v] effect to (15)\n                switch costume to (large v)\n                change x by (8)\n                change y by ((8) + (([sin v] of ((GTime) * (360)) ) * (4)))\n                if <(letter (1) of (N.6)) = [8]> then\n                    change [n.3 v] by (1)\n                    switch costume to (8 v)\n                    stamp\n                    change x by (20)\n                end\n                if <(length of (N.6)) > (N.3)> then\n                    switch costume to (large v)\n                    switch costume to (join (letter ((N.3) + (1)) of (N.6)) (letter ((N.3) + (2)) of (N.6)))\n                    stamp\n                end\n                clear graphic effects\n            end\n        end\n    end\nend\n\nwhen I receive [nonblocksupdate v]\nif <[1] = [1]> then\n    delete this clone\nend\ndelete all of [aboactype v]\ndelete all of [aboacx v]\ndelete all of [aboacy v]\nif <[inttype v] contains [Vine]?> then\n    MakeVine\nend\ndelete all of [intx v]\ndelete all of [inty v]\ndelete all of [inttype v]\nshow\nif <(length of [delunique v]) > [0]> then\n    DeleteUniques\nend\nLoadUniques\nset [u# v] to [0]\nhide\n\nwhen I receive [afteruniquesupdate v]\nif <not <(U#) = [0]>> then\n    InteractScan\n    set [x v] to (item (U#) of [unity v])\n    if <not <(item (U#) of [unibou v]) = [0]>> then\n        switch costume to (large v)\n        if <(item (U#) of [unibou v]) > [0]> then\n            replace item (U#) of [unibou v] with ((item (U#) of [unibou v]) + (0.01))\n        else\n            replace item (U#) of [unibou v] with ((item (U#) of [unibou v]) + (-0.01))\n        end\n        if <([abs v] of (item (U#) of [unibou v]) ) > [0.09]> then\n            replace item (U#) of [unibou v] with [0]\n        end\n        if <not <(X) = [am]>> then\n            set [n.9 v] to ([sin v] of ((item (U#) of [unibou v]) * (1800)) )\n            change size by ([abs v] of ((N.9) * (40)) )\n            change y by ((N.9) * (12))\n        end\n    end\n    switch costume to (large v)\n    set [n.5 v] to (item (U#) of [unicont v])\n    if <<<(X) = [!]> and <<not <(N.5) = []>> or <(PTimer) = [0]>>> or <<(X) = [%]> and <not <(PTimer) = [0]>>>> then\n        SwitchTo [!] [20] [4]\n        stop [this script v]\n    end\n    if <(X) = ["]> then\n        SwitchTo ["] [20] [4]\n        stop [this script v]\n    end\n    if <(X) = [$]> then\n        if <(N.5) = []> then\n            switch costume to ($5 v)\n        else\n            SwitchTo [$] [20] [4]\n        end\n        stop [this script v]\n    end\n    if <<<(X) = [%]> and <(PTimer) = [0]>> or <<<(X) = [!]> and <(N.5) = []>> and <not <(PTimer) = [0]>>>> then\n        show\n        SwitchTo [%] [20] [4]\n        stamp\n        if <(Y) = [POW]> then\n            add [] to [enycont v]\n            if <((U#) mod (2)) = [1]> then\n                add [-90] to [enydir v]\n            else\n                add [90] to [enydir v]\n            end\n            add [0] to [enyext v]\n            add [0] to [enysta v]\n            add [%] to [enyty v]\n            add (item (U#) of [unix v]) to [enyx v]\n            add ((((U#) mod (8)) + (4)) / (4)) to [enyxvel v]\n            add (item (U#) of [uniy v]) to [enyy v]\n            add [5] to [enyyvel v]\n            DeleteThisUnique\n        end\n        delete this clone\n    end\n    if <(X) = [\[]> then\n        if <(PTimer) = [0]> then\n            if <(N.5) = [-]> then\n                SwitchTo [\[] [30] [4]\n            else\n                SwitchTo [\[] [-30] [4]\n            end\n        else\n            switch costume to (\[ v)\n        end\n        stamp\n        hide\n    end\n    if <(X) = [\]]> then\n        if <(PTimer) = [0]> then\n            if <(N.5) = [-]> then\n                SwitchTo [\]] [60] [4]\n            else\n                SwitchTo [\]] [-60] [4]\n            end\n        else\n            switch costume to (\] v)\n        end\n        stamp\n        hide\n    end\n    if <(X) = [^]> then\n        if <(On/Off) = [1]> then\n            switch costume to (^ v)\n        else\n            switch costume to (^2 v)\n        end\n        stop [this script v]\n    end\n    if <<(X) = [&]> or <(X) = [*]>> then\n        show\n        if <(On/Off) = [1]> then\n            switch costume to (X)\n        else\n            switch costume to (join (X) [2])\n        end\n        StampDelClone\n    end\n    if <<(X) = [?]> or <(X) = [ad]>> then\n        show\n        SwitchTo (X) [20] [4]\n        StampDelClone\n    end\n    if <(X) = [/]> then\n        show\n        switch costume to (large v)\n        change y by (([sin v] of ((GTime) * (480)) ) * (2))\n        SwitchTo [/] [20] [4]\n        StampDelClone\n    end\n    if <(X) = [<]> then\n        if <(PTimer) = [0]> then\n            switch costume to (< v)\n        else\n            switch costume to (> v)\n        end\n        StampDelClone\n    end\n    if <(X) = [>]> then\n        if <(PTimer) = [0]> then\n            switch costume to (> v)\n        else\n            switch costume to (< v)\n        end\n        StampDelClone\n    end\n    if <(X) = [v]> then\n        switch costume to (v5 v)\n        stamp\n        set rotation style [all around v]\n        point in direction (((((GTime) * (180)) mod (360)) + (270)) * (-1))\n        SwitchTo [v] [20] [4]\n        stamp\n    end\nend\nif <(X) = [am]> then\n    if <<(SpawnX) = ((item (U#) of [unix v]) * (32))> and <(SpawnY) = ((item (U#) of [uniy v]) * (32))>> then\n        if <(item (U#) of [unibou v]) > [0.06]> then\n            switch costume to (am3 v)\n        else\n            if <(item (U#) of [unibou v]) > [0.03]> then\n                switch costume to (am v)\n            else\n                if <(item (U#) of [unibou v]) > [0]> then\n                    switch costume to (am2 v)\n                else\n                    switch costume to (am4 v)\n                end\n            end\n        end\n    else\n        switch costume to (am v)\n    end\n    StampDelClone\nend\nif <(X) = [an]> then\n    SwitchTo [an] [20] [2]\n    StampDelClone\nend\nif <(X) = [ar]> then\n    switch costume to (ar v)\n    StampDelClone\nend\n\nwhen I receive [afterplayerupdate v]\nif <(U#) = [0]> then\n    broadcast (AfterUniquesUpdate v)\nelse\n    set [n.4 v] to (item (U#) of [unity v])\n    if <<<(Dead) = [1]> or <(AllowMovement) = [0]>> and <not <(N.4) = [bb]>>> then\n        stop [this script v]\n    end\n    set [n.6 v] to (([y position v] of [player v]) - (y position))\n    set [n.5 v] to ([abs v] of (([x position v] of [player v]) - (x position)) )\n    AfterPlayerUpdate <<(N.5) < [25]> and <<(N.6) > ((-35) - (<(Small) = [0]> * (24)))> and <(N.6) < [-16]>>>\nend\n\ndefine TryBounce\nif <(item (U#) of [unibou v]) = [0]> then\n    start sound [Bump v]\n    replace item (U#) of [unibou v] with [0.01]\nend\n\ndefine BlockHit\nset [n.6 v] to (item (U#) of [unicont v])\nif <not <(U#) = [0]>> then\n    if <not <(N.6) = []>> then\n        if <(N.6) = [%]> then\n            change y by (16)\n            CreateParticle [Coin]\n            change y by (-16)\n        else\n            start sound [sprout v]\n            add [] to [enycont v]\n            if <<(N.6) = [u]> and <not <(PUp) = [N]>>> then\n                add [0] to [enydir v]\n            else\n                add [90] to [enydir v]\n            end\n            add [-18] to [enyext v]\n            if <(N.6) = [al]> then\n                add [0.5] to [enysta v]\n                add ((item (U#) of [uniy v]) + (0.5)) to [enyy v]\n            else\n                add [0] to [enysta v]\n                if <(N.6) = [\]> then\n                    add ((item (U#) of [uniy v]) + (1)) to [enyy v]\n                else\n                    add ((item (U#) of [uniy v]) + (0.4)) to [enyy v]\n                end\n            end\n            if <<not <(PUp) = [N]>> or <<<<(N.6) = [al]> or <(N.6) = [\]>> or <(N.6) = [au]>> or <<(N.6) = [at]> or <(N.6) = [t]>>>> then\n                add (item (U#) of [unicont v]) to [enyty v]\n            else\n                add [b] to [enyty v]\n            end\n            add (item (U#) of [unix v]) to [enyx v]\n            add [0] to [enyxvel v]\n            add [0] to [enyyvel v]\n        end\n        replace item (U#) of [unicont v] with []\n    end\nend\nif <(item (U#) of [unity v]) = [^]> then\n    TryBounce\n    if <(On/Off) = [1]> then\n        set [on/off v] to [0]\n    else\n        set [on/off v] to [1]\n    end\nend\n\ndefine MakePlayerJump\nset [yvel v] to (((15.4) + (([abs v] of (XVel) ) / (5))) * (1.2))\nset [jumping v] to [1]\n\ndefine TryUsedSpring\nif <(UsedSpring) = [0]> then\n    set [usedspring v] to [1]\nend\n\ndefine DeleteUniques\nrepeat (length of [delunique v])\n    delete (item (1) of [delunique v]) of [unibou v]\n    delete (item (1) of [delunique v]) of [unicont v]\n    if <(item (item (1) of [delunique v]) of [unity v]) = [/]> then\n        change [keys v] by (1)\n    end\n    if <(item (item (1) of [delunique v]) of [unity v]) = [?]> then\n        change [keycoinsremaining v] by (-1)\n        add (join (item (item (1) of [delunique v]) of [unix v]) (item (item (1) of [delunique v]) of [uniy v])) to [collkeycoins v]\n        go to x: (((item (item (1) of [delunique v]) of [unix v]) * (32)) + (MapX)) y: (((item (item (1) of [delunique v]) of [uniy v]) * (32)) + (MapY))\n        if <(KeyCoinsRemaining) < [1]> then\n            change [keys v] by (1)\n            CreateParticle [Key]\n        else\n            CreateParticle [Pink]\n        end\n    end\n    delete (item (1) of [delunique v]) of [unity v]\n    delete (item (1) of [delunique v]) of [unix v]\n    delete (item (1) of [delunique v]) of [uniy v]\n    FixDeleteListAfter (item (1) of [delunique v])\n    delete (1) of [delunique v]\nend\n\ndefine FixDeleteListAfter (no.)\nset [n.2 v] to [0]\nrepeat (length of [delunique v])\n    change [n.2 v] by (1)\n    if <(item (N.2) of [delunique v]) > (no.)> then\n        replace item (N.2) of [delunique v] with ((item (N.2) of [delunique v]) - (1))\n    end\nend\n\ndefine DeleteThisUnique\nif <(item (U#) of [unity v]) = [/]> then\n    CreateParticle [Key]\nend\nadd (U#) to [delunique v]\ndelete this clone\n\ndefine InteractScan\nset [n.5 v] to (item (U#) of [unity v])\nset [n.2 v] to [0]\nif <(N.5) = [bb]> then\n    stop [this script v]\nend\nrepeat (length of [intx v])\n    change [n.2 v] by (1)\n    if <<([abs v] of ((x position) - (item (N.2) of [intx v])) ) < [15]> and <([abs v] of ((y position) - (item (N.2) of [inty v])) ) < [16]>> then\n        if <(item (N.2) of [inttype v]) = [Normal]> then\n            if <<<(N.5) = [!]> and <<not <(item (U#) of [unicont v]) = []>> or <(PTimer) = [0]>>> or <<(N.5) = [%]> and <not <(PTimer) = [0]>>>> then\n                Action ((y position) + (32)) [Kill]\n                if <(item (U#) of [unicont v]) = []> then\n                    BrickParticles\n                    DeleteThisUnique\n                else\n                    replace item (U#) of [unity v] with [$]\n                    TryBounce\n                    BlockHit\n                end\n            end\n            if <(N.5) = [$]> then\n                Action ((y position) + (32)) [Kill]\n                if <not <(item (U#) of [unicont v]) = []>> then\n                    TryBounce\n                end\n                BlockHit\n            end\n            if <(N.5) = ["]> then\n                TryBounce\n                BlockHit\n            end\n            if <<<<(N.5) = [%]> and <(PTimer) = [0]>> or <<<(N.5) = [!]> and <(item (U#) of [unicont v]) = []>> and <not <(PTimer) = [0]>>>> or <<(N.5) = [?]> or <(N.5) = [/]>>> then\n                CreateParticle [Coin]\n                DeleteThisUnique\n            end\n            if <(N.5) = [^]> then\n                BlockHit\n            end\n        else\n            if <(item (N.2) of [inttype v]) = [Bomb]> then\n                if <not <(N.5) = [am]>> then\n                    if <(N.5) = [^]> then\n                        BlockHit\n                        stop [this script v]\n                    else\n                        BrickParticles\n                        DeleteThisUnique\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [blockupdate v]\nif <not <(U#) = [0]>> then\n    if <(Dead) = [1]> then\n        stop [this script v]\n    end\n    BlockUpdate\nend\n\ndefine BrickParticles\nstart sound [BrickShatter v]\nadd (x position) to [creparx v]\nadd (y position) to [crepary v]\nadd [Brick] to [crepartype v]\n\nwhen I receive [endotherscripts v]\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [player update v]\nif <not <(U#) = [0]>> then\n    if <not <(item (U#) of [unity v]) = [\(]>> then\n        show\n    end\nend\n\ndefine CreateParticle (type)\nadd (x position) to [creparx v]\nadd (y position) to [crepary v]\nadd (type) to [crepartype v]\n\nwhen I receive [flagclicked v]\nset rotation style [don't rotate v]\nswitch costume to (large v)\nset size to (400) %\nhide\n\nwhen I receive [pow v]\nif <not <(U#) = [0]>> then\n    if <<<(item (U#) of [unity v]) = [%]> and <(PTimer) = [0]>> or <<(item (U#) of [unity v]) = [!]> and <<(item (U#) of [unicont v]) = []> and <not <(PTimer) = [0]>>>>> then\n        set [y v] to [POW]\n    end\nend\n\ndefine StampDelClone\nif <(item (U#) of [unibou v]) = [0]> then\n    stamp\n    delete this clone\nend\n\ndefine SwitchTo (costume) (speed) (mod)\nswitch costume to (join (costume) ((([floor v] of ((GTime) * (speed)) ) mod (mod)) + (1)))\n\ndefine AfterPlayerUpdate <playerbelow>\nif <<<(N.4) = [!]> and <<not <(item (U#) of [unicont v]) = []>> or <(PTimer) = [0]>>> or <<(N.4) = [%]> and <not <(PTimer) = [0]>>>> then\n    if <(YVel) = [0.82]> then\n        if <playerbelow> then\n            Action ((y position) + (32)) [Kill]\n            if <(item (U#) of [unicont v]) = []> then\n                if <(PUp) = [N]> then\n                    TryBounce\n                else\n                    BrickParticles\n                    DeleteThisUnique\n                end\n            else\n                TryBounce\n                BlockHit\n                replace item (U#) of [unity v] with [$]\n            end\n        end\n    end\nend\nif <(N.4) = ["]> then\n    if <<(N.5) < [25]> and <<(N.6) > [16]> and <(N.6) < [32]>>> then\n        MakePlayerJump\n        set [xvel v] to [0]\n        TryUsedSpring\n        TryBounce\n    end\n    if <(YVel) = [0.82]> then\n        if <playerbelow> then\n            TryBounce\n            BlockHit\n            Action ((y position) + (32)) [Bounce]\n        end\n    end\n    if <(item (U#) of [unibou v]) = [0]> then\n        switch costume to (above v)\n        if <<touching (entities v)?> or <touching (extras v)?>> then\n            replace item (U#) of [unibou v] with [-0.01]\n            Action ((y position) + (32)) [Bounce]\n        end\n        switch costume to (!1 v)\n    end\nend\nif <<(N.4) = [$]> and <not <(item (U#) of [unicont v]) = []>>> then\n    if <(YVel) = [0.82]> then\n        if <playerbelow> then\n            TryBounce\n            BlockHit\n            Action ((y position) + (32)) [Kill]\n        end\n    end\nend\nif <<(N.4) = [\[]> or <(N.4) = [\]]>> then\n    if <(PTimer) = [0]> then\n        switch costume to (above2 v)\n        if <<touching (entities v)?> or <touching (extras v)?>> then\n            if <(N.4) = [\[]> then\n                if <(item (U#) of [unicont v]) = [-]> then\n                    Action ((y position) + (32)) [Left]\n                else\n                    Action ((y position) + (32)) [Right]\n                end\n            else\n                if <(item (U#) of [unicont v]) = [-]> then\n                    Action ((y position) + (32)) [FLeft]\n                else\n                    Action ((y position) + (32)) [FRight]\n                end\n            end\n        end\n        switch costume to (!1 v)\n    end\nend\nif <(N.4) = [^]> then\n    if <(YVel) = [0.82]> then\n        if <playerbelow> then\n            Action ((y position) + (32)) [Kill]\n            BlockHit\n        end\n    end\nend\nif <<(N.4) = [?]> or <<(N.4) = [/]> or <<<(N.4) = [%]> and <(PTimer) = [0]>> or <<<(N.4) = [!]> and <(item (U#) of [unicont v]) = []>> and <not <(PTimer) = [0]>>>>>> then\n    show\n    if <<(N.5) < [25]> and <<(N.6) > ((-32) - (<(Small) = [0]> * (20)))> and <(N.6) < [20]>>> then\n        if <not <<(N.4) = [?]> or <(N.4) = [/]>>> then\n            CreateParticle [Coin]\n        end\n        DeleteThisUnique\n    end\nend\nif <(N.4) = [v]> then\n    switch costume to (large v)\n    point in direction (((((GTime) * (180)) mod (360)) + (270)) * (-1))\n    move (32) steps\n    FireBarHit\n    move (32) steps\n    FireBarHit\n    move (32) steps\n    FireBarHit\n    go to x: (((item (U#) of [unix v]) * (32)) + (MapX)) y: (((item (U#) of [uniy v]) * (32)) + (MapY))\nend\nif <(N.4) = [ad]> then\n    if <(Crouching) = [0]> then\n        set [n.9 v] to ((y position) - ([y position v] of [player v]))\n        if <<(N.5) < [25.5]> and <<(N.9) < ((48) - ((Small) * (24)))> and <(N.9) > [-16]>>> then\n            if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n                set [climbing v] to [1]\n            end\n            if <not <(Climbing) = [0]>> then\n                set [climbing v] to [1]\n            end\n        end\n    end\nend\nif <(N.4) = [am]> then\n    if <<not <<(SpawnX) = ((item (U#) of [unix v]) * (32))> and <(SpawnY) = ((item (U#) of [uniy v]) * (32))>>> and <<(N.5) < [25]> and <<(N.6) > ((-32) - (<(Small) = [0]> * (20)))> and <(N.6) < [32]>>>> then\n        if <(item (U#) of [unibou v]) = [0]> then\n            start sound [clear v]\n            replace item (U#) of [unibou v] with [0.01]\n            set [spawnx v] to ((item (U#) of [unix v]) * (32))\n            set [spawny v] to ((item (U#) of [uniy v]) * (32))\n        end\n    end\nend\nif <(N.4) = [an]> then\n    if <<<(N.5) < [25.5]> and <<(N.6) > [16]> and <(N.6) < [32]>>> or <<<<(N.5) < [25.5]> and <<(N.6) > ((-35) - (<(Small) = [0]> * (30)))> and <(N.6) < [-16]>>> and <(YVel) = [0.82]>> or <<<(N.5) < [27]> and <([abs v] of ((y position) - ([y position v] of [player v])) ) < [29]>> and <<<<key (a v) pressed?> or <key (d v) pressed?>> or <<key (left arrow v) pressed?> or <key (right arrow v) pressed?>>> or <not <((SprS) + (ConveyerSpeed)) = [0]>>>>>> then\n        if <<(Invincible) = [0]> and <(StarTimer) = [0]>> then\n            broadcast (Powerdown v)\n        end\n    end\nend\nif <(N.4) = [bb]> then\n    switch costume to (large v)\n    set [n.7 v] to ((([floor v] of ((GTime) * (20)) ) mod (3)) + (1))\n    if <(GoalReached) = [1]> then\n        switch costume to (bb4 v)\n    else\n        switch costume to (join [bb] (N.7))\n    end\n    if <<(N.5) < [36]> and <<((y position) - ([y position v] of [player v])) < ((64) - ((Small) * (24)))> and <((y position) - ([y position v] of [player v])) > [-36]>>> then\n        if <<(AllowPlayerControl) = [1]> and <<(EditMode) = [0]> and <(GoalReached) = [0]>>> then\n            if <(N.7) = [1]> then\n                add (x position) to [creparx v]\n                add (y position) to [crepary v]\n                add [Mush] to [crepartype v]\n            end\n            if <(N.7) = [2]> then\n                add (x position) to [creparx v]\n                add (y position) to [crepary v]\n                add [Fire] to [crepartype v]\n            end\n            if <(N.7) = [3]> then\n                add (x position) to [creparx v]\n                add (y position) to [crepary v]\n                add [Star] to [crepartype v]\n            end\n            set [visualgoalx v] to (item (U#) of [unix v])\n            set [visualgoaly v] to (item (U#) of [uniy v])\n            broadcast (Goal! v)\n        end\n    end\n    stamp\n    delete this clone\nend\n\ndefine FireBarHit\nAction (y position) [Ignite]\nif <<(distance to [player v]) < [28]> and <<((y position) - ([y position v] of [player v])) < ((48) - ((Small) * (24)))> and <((y position) - ([y position v] of [player v])) > [-16]>>> then\n    if <<(Invincible) = [0]> and <(StarTimer) = [0]>> then\n        broadcast (Powerdown v)\n    end\nend\n\ndefine BlockUpdate\nset [n.2 v] to ([abs v] of (([x position v] of [player v]) - (x position)) )\nset [n.3 v] to (([y position v] of [player v]) - (y position))\nset [n.5 v] to (item (U#) of [unity v])\nif <(N.5) = [\(]> then\n    if <<<(N.2) < [25.5]> and <<(N.3) > ((-34.5) - (<(Small) = [0]> * (24)))> and <(N.3) < [-2]>>> and <(YVel) > [0]>> then\n        TryBounce\n        BlockHit\n        switch costume to (! v)\n        Action ((y position) + (32)) [Kill]\n        replace item (U#) of [unity v] with [$]\n        set [yvel v] to [0.85]\n        if <not <(PUp) = [N]>> then\n            set [crouching v] to [1]\n        end\n    end\nend\nif <<(N.5) = [\[]> or <(N.5) = [\]]>> then\n    if <(PTimer) = [0]> then\n        if <<<(N.2) < [25.5]> and <<(N.3) > [16]> and <(N.3) < [34.5]>>> and <(YVel) = [0]>> then\n            if <<(ConveyerSpeed) = [0]> or <(N.2) < (ConveyerDistance)>> then\n                set [conveyerdistance v] to (N.2)\n                if <(item (U#) of [unicont v]) = [-]> then\n                    set [conveyerspeed v] to ((-2) * (<(N.5) = [\]]> + (1)))\n                else\n                    set [conveyerspeed v] to ((2) * (<(N.5) = [\]]> + (1)))\n                end\n            end\n        end\n    end\nend\n\ndefine Action (y) (type)\nadd (type) to [aboactype v]\nadd (x position) to [aboacx v]\nadd (y) to [aboacy v]\n\ndefine MakeVine\nset [n. v] to [0]\nrepeat (length of [inttype v])\n    change [n. v] by (1)\n    if <(item (N.) of [inttype v]) = [Vine]> then\n        FindPlacement (item (N.) of [intx v]) (item (N.) of [inty v])\n    end\nend\n\ndefine FindPlacement (x) (y)\nset [n.2 v] to ((item # of (x) in [unix v]) - (1))\nrepeat until <<not <(item (N.2) of [unix v]) < (x)>> or <(N.2) > (length of [unix v])>>\n    change [n.2 v] by (1)\nend\ninsert (x) at (N.2) of [unix v] \ninsert (y) at (N.2) of [uniy v] \ninsert [ad] at (N.2) of [unity v] \ninsert [] at (N.2) of [unicont v] \ninsert [0] at (N.2) of [unibou v] \n\n@Entities\n\ndefine LoadEntities\nif <(EditMode) = [0]> then\n    set [e# v] to [0]\n    repeat ((length of [enyx v]) - (E#))\n        change [e# v] by (1)\n        set [x v] to (((item (E#) of [enyx v]) * (32)) + (MapX))\n        set [y v] to (((item (E#) of [enyy v]) * (32)) + (MapY))\n        set [n.7 v] to (item (E#) of [enyty v])\n        if <(N.7) = [ac]> then\n            if <<([abs v] of (X) ) < [380]> and <([abs v] of (Y) ) < [212]>> then\n                switch costume to (large v)\n                go to x: (X) y: (Y)\n                switch costume to (stackhitbox v)\n                hide\n                create clone of (_myself_ v)\n                show\n            end\n        else\n            if <<([abs v] of (X) ) < [228]> and <<(Y) > [-158]> and <(Y) < [180]>>> then\n                switch costume to (large v)\n                go to x: (X) y: (Y)\n                if <<(N.7) = [q]> or <(N.7) = [ao]>> then\n                    PlantMovement\n                    switch costume to (planthitbox v)\n                else\n                    if <(N.7) = [az]> then\n                        WrenchMovement\n                        switch costume to (large v)\n                        go to x: (X) y: (Y)\n                    end\n                    switch costume to (stackhitbox v)\n                end\n                set [n.4 v] to (item (E#) of [enyty v])\n                set [n.5 v] to (item (E#) of [enysta v])\n                Spawn?\n            else\n                if <(N.7) = [ax]> then\n                    if <<([abs v] of (X) ) < [230]> and <<(Y) > [-280]> and <(Y) < [180]>>> then\n                        switch costume to (large v)\n                        go to x: (X) y: (Y)\n                        CreateWhirlwind (X) (Y)\n                    end\n                end\n            end\n        end\n    end\nelse\n    set [e# v] to ((item # of ((round ((MapX) / (-32))) - (8)) in [ex v]) - (1))\n    if <(E#) < [0]> then\n        set [e# v] to [0]\n    end\n    repeat ((length of [ex v]) - (E#))\n        change [e# v] by (1)\n        set [x v] to (((item (E#) of [ex v]) * (32)) + (MapX))\n        set [y v] to (((item (E#) of [ey v]) * (32)) + (MapY))\n        if <(X) > [256]> then\n            stop [this script v]\n        end\n        if <<([abs v] of (X) ) < [256]> and <([abs v] of (Y) ) < [196]>> then\n            switch costume to (large v)\n            go to x: (X) y: (Y)\n            if <(item (E#) of [ety v]) = [f]> then\n                if <([abs v] of (item (E#) of [ed v]) ) = [45]> then\n                    switch costume to (f7 v)\n                else\n                    switch costume to (join (item (E#) of [ety v]) [1])\n                end\n            else\n                switch costume to (join (item (E#) of [ety v]) [1])\n            end\n            set rotation style [left-right v]\n            point in direction (item (E#) of [ed v])\n            stamp\n            if <[rotate v] contains (item (E#) of [ety v])?> then\n                if <not < (item (E#) of [ec v]) contains [8]?>> then\n                    switch costume to (arrow v)\n                    change y by (([sin v] of ((GTime) * (360)) ) * (4))\n                    set [ghost v] effect to (10)\n                    stamp\n                    clear graphic effects\n                end\n            end\n            switch costume to (large v)\n            go to x: ((X) - (8)) y: ((Y) + (8))\n            set [n.3 v] to [0]\n            repeat (length of (item (E#) of [ec v]))\n                switch costume to (large v)\n                set [ghost v] effect to (15)\n                change x by (16)\n                set y to ((Y) + (8))\n                change y by (([sin v] of ((GTime) * (360)) ) * (4))\n                change [n.3 v] by (1)\n                switch costume to (letter (N.3) of (item (E#) of [ec v]))\n                stamp\n                clear graphic effects\n            end\n        end\n    end\nend\n\nwhen I receive [entityupdate v]\nif <[1] = [1]> then\n    delete this clone\nend\nif <(length of [delenemy v]) > [0]> then\n    DeleteEnemies\nend\npoint in direction (-90)\nshow\nLoadEntities\nset [e# v] to [0]\nhide\nbroadcast (EntityMovementUpdate v)\n\nwhen I receive [costumeall v]\nif <not <(E#) = [0]>> then\n    CostumeSelf\n    set y to (round (y position))\n    if <not <(item (E#) of [enyty v]) = [m]>> then\n        stamp\n        delete this clone\n    end\nend\n\nwhen I receive [entitymovementupdate v]\nif <(E#) = [0]> then\n    broadcast (EditCollisionBeforePlayer v)\n    broadcast (Player Update v)\nelse\n    set [n.5 v] to (item (E#) of [enyty v])\n    MyMovementScript (item (E#) of [enysta v])\nend\n\ndefine MyMovementScript (state)\nswitch costume to (hitbox v)\nset rotation style [left-right v]\npoint in direction (item (E#) of [enydir v])\nif <<(AllowPlayerControl) = [0]> or <(AllowMovement) = [0]>> then\n    if <not <<(N.5) = [q]> or <<(N.5) = [ao]> or <(N.5) = [az]>>>> then\n        change y by (-1)\n        if <not <((y position) + (item (E#) of [enyyvel v])) > [-160]>> then\n            delete this clone\n        end\n        stop [this script v]\n    end\nelse\n    if <<((y position) - (MapY)) < ((SelectedLavaLevel) + (28))> and <not <(N.5) = [ax]>>> then\n        CreateParticle [Drift]\n        DeleteThisEnemy\n    end\nend\nif < (item (E#) of [enycont v]) contains [8]?> then\n    TrackMovement\n    stop [this script v]\nend\nif <(N.5) = [%]> then\n    show\n    BaseY\n    BaseX [0]\n    PosUpd\n    hide\n    stop [this script v]\nend\nif <<(N.5) = [a]> or <(N.5) = [af]>> then\n    BaseY\n    BaseX [1.07]\n    PosUpd\n    stop [this script v]\nend\nif <<<(N.5) = [b]> or <(N.5) = [at]>> or <<<(N.5) = [ap]> or <(N.5) = [au]>> or <(N.5) = [aq]>>> then\n    if <(item (E#) of [enyext v]) < [0]> then\n        change y by (1)\n        replace item (E#) of [enyext v] with ((item (E#) of [enyext v]) + (1))\n        hide\n    else\n        BaseY\n        BaseX [1.07]\n        set [n.5 v] to (item (E#) of [enyty v])\n        if <<<(N.5) = [ap]> or <<(N.5) = [aq]> or <(N.5) = [at]>>> and <(item (E#) of [enyyvel v]) = [-0.83]>> then\n            RepYVel [12]\n        end\n    end\n    PosUpd\n    stop [this script v]\nend\nif <<(N.5) = [c]> or <<(N.5) = [d]> or <(N.5) = [f]>>> then\n    show\n    if <(state) = [-2]> then\n        replace item (E#) of [enyext v] with ((item (E#) of [enyext v]) + (1))\n        if <(item (E#) of [enyext v]) > [180]> then\n            replace item (E#) of [enyext v] with [0]\n        end\n        replace item (E#) of [enyyvel v] with ((([sin v] of (((item (E#) of [enyext v]) - (-45)) * (2)) ) * (2)) + (0.83))\n        BaseY\n        BaseX [0]\n    else\n        if <<(N.5) = [f]> and <<(state) = [3]> or <(state) = [3.5]>>> then\n            BuzzyBeetleCeiling\n        else\n            BaseY\n            if <(state) = [-1]> then\n                BaseX [1.07]\n                if <<(item (E#) of [enyyvel v]) = [-0.83]> and <((((GTime) * (10)) + (E#)) mod (8)) < [1]>> then\n                    RepYVel [12]\n                end\n            end\n            if <(state) = [0]> then\n                BaseX [1.07]\n            end\n            if <<(state) = [1]> or <(state) = [4]>> then\n                BaseX [0]\n            end\n            if <<(state) = [2]> or <(state) = [5]>> then\n                BaseX [6]\n                hide\n            end\n        end\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [g]> then\n    BaseY\n    if <(state) = [0]> then\n        BaseX [1.07]\n    else\n        BaseX [0]\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [l]> then\n    show\n    BaseY\n    if <(state) = [0]> then\n        BaseX [1.07]\n    else\n        BaseX [0]\n        hide\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [m]> then\n    point towards (player v)\n    replace item (E#) of [enydir v] with (direction)\n    if <<<([direction v] of [player v]) = [90]> and <(x position) < ([x position v] of [player v])>> or <<([direction v] of [player v]) = [-90]> and <([x position v] of [player v]) < (x position)>>> then\n        ChaStateBy [0.03] Limit [1]\n        move (item (E#) of [enysta v]) steps\n        change y by (([sin v] of (((GTime) * (360)) + ((E#) * (210))) ) * ((item (E#) of [enysta v]) / (2)))\n    else\n        replace item (E#) of [enysta v] with [0]\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [o]> then\n    BaseY\n    if <<(state) < [4]> or <(state) > [5.5]>> then\n        BaseX [1.07]\n        if <(state) < [4]> then\n            if <(state) > [3.5]> then\n                if <(x position) < ([x position v] of [player v])> then\n                    point in direction (90)\n                else\n                    point in direction (-90)\n                end\n                replace item (E#) of [enydir v] with (direction)\n            end\n        end\n    else\n        BaseX [0]\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [p]> then\n    show\n    SpikeBallMovement\n    PosUpd\n    stop [this script v]\nend\nif <<(N.5) = [q]> or <(N.5) = [ao]>> then\n    switch costume to (planthitbox v)\n    go to x: (X) y: (Y)\n    set [y v] to [b]\n    PlantMovement\n    stop [this script v]\nend\nif <(N.5) = [\]> then\n    if <<([abs v] of ((x position) - (([x position v] of [player v]) + (([direction v] of [player v]) / (6)))) ) < ((12) + ([abs v] of (XVel) ))> and <<([abs v] of ((y position) - ([y position v] of [player v])) ) < [16]> and <(Holding) = []>>> then\n        if <<key (space v) pressed?> and <<(item (E#) of [enyyvel v]) < [6]> and <(PTimer) = [0]>>> then\n            set [holding v] to [\]\n            DeleteThisEnemy\n        end\n    end\n    BaseY\n    BaseX [0]\n    PosUpd\n    stop [this script v]\nend\nif <<(N.5) = [s]> or <(N.5) = [ak]>> then\n    if <(item (E#) of [enyext v]) < [0]> then\n        change y by (1)\n        replace item (E#) of [enyext v] with ((item (E#) of [enyext v]) + (1))\n        hide\n    else\n        BaseY\n        BaseX [0]\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [1]> then\n    if <(item (E#) of [enyext v]) = [1]> then\n        move (4) steps\n    else\n        FireballMovement\n    end\n    if <<([abs v] of (x position) ) > [226]> or <([abs v] of (y position) ) > [170]>> then\n        DeleteThisEnemy\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [t]> then\n    if <(item (E#) of [enyext v]) < [0]> then\n        change y by (1)\n        replace item (E#) of [enyext v] with ((item (E#) of [enyext v]) + (1))\n        hide\n    else\n        if <(item (E#) of [enyxvel v]) < [2.1]> then\n            if <(x position) < ([x position v] of [player v])> then\n                ChaStateBy [0.08] Limit [2]\n            else\n                replace item (E#) of [enysta v] with ((item (E#) of [enysta v]) + (-0.08))\n                if <(item (E#) of [enysta v]) < [-2]> then\n                    replace item (E#) of [enysta v] with [-2]\n                end\n            end\n            if <(item (E#) of [enysta v]) > [0]> then\n                point in direction (90)\n            else\n                point in direction (-90)\n            end\n        end\n        if <<(item (E#) of [enyyvel v]) = [0]> or <(item (E#) of [enyyvel v]) = (Gravity)>> then\n            if <([y position v] of [player v]) > ((y position) + (16))> then\n                RepYVel [8]\n            end\n        end\n        BaseY\n        BaseX ([abs v] of (item (E#) of [enysta v]) )\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [u]> then\n    if <(item (E#) of [enyext v]) < [0]> then\n        turn right (4) degrees\n        change y by (([cos v] of (direction) ) * (7))\n        replace item (E#) of [enyext v] with ((item (E#) of [enyext v]) + (1))\n        hide\n    else\n        if <(item (E#) of [enyyvel v]) > [0]> then\n            point in direction (0)\n            change y by (item (E#) of [enyyvel v])\n            RepYVel ((item (E#) of [enyyvel v]) + (-2))\n            if <(item (E#) of [enyyvel v]) < [0]> then\n                RepYVel [0]\n            end\n        end\n        turn right (2.5) degrees\n        change y by (([cos v] of (direction) ) * (1.6))\n        change x by (([abs v] of (([cos v] of (direction) ) * (0.5)) ) + (0.2))\n        change y by (-0.1)\n    end\n    replace item (E#) of [enydir v] with (direction)\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [aa]> then\n    move (4) steps\n    PosUpd\n    if <(state) = [1]> then\n        if <<([abs v] of (x position) ) > [226]> or <([abs v] of (y position) ) > [170]>> then\n            DeleteThisEnemy\n        end\n    end\n    stop [this script v]\nend\nif <(N.5) = [ac]> then\n    switch costume to (large v)\n    ChaStateBy ((1) / (30)) Limit [12]\n    if <not <(item (E#) of [enysta v]) = [12]>> then\n        BullseyeBill\n    end\n    replace item (E#) of [enyx v] with ((item (E#) of [enyx v]) + (([sin v] of (direction) ) * ((4) * ((1) / (32)))))\n    replace item (E#) of [enyy v] with ((item (E#) of [enyy v]) + (([cos v] of (direction) ) * ((4) * ((1) / (32)))))\n    if <(state) = [1]> then\n        if <<([abs v] of (((item (E#) of [enyx v]) * (32)) + (MapX)) ) > [360]> or <([abs v] of (((item (E#) of [enyy v]) * (32)) + (MapY)) ) > [180]>> then\n            DeleteThisEnemy\n        end\n    end\n    go to x: (((item (E#) of [enyx v]) * (32)) + (MapX)) y: (((item (E#) of [enyy v]) * (32)) + (MapY))\n    if <<([abs v] of (x position) ) > [244]> or <([abs v] of (y position) ) > [180]>> then\n        delete this clone\n    end\n    switch costume to (stackhitbox v)\n    stop [this script v]\nend\nif <(N.5) = [ae]> then\n    if <(item (E#) of [enyext v]) < [0]> then\n        change y by (4)\n        replace item (E#) of [enyext v] with ((item (E#) of [enyext v]) + (1))\n        hide\n    else\n        turn right (3) degrees\n        replace item (E#) of [enydir v] with (direction)\n        if <<(direction) < [0]> or <(direction) > [180]>> then\n            change y by (([cos v] of (direction) ) * (([sin v] of (direction) ) * (-1.5)))\n        else\n            change y by (([cos v] of (direction) ) * (([sin v] of (direction) ) * (-1.5)))\n        end\n        change x by (([sin v] of (direction) ) * (-1.5))\n        change y by (-0.4)\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [ag]> then\n    if <(item (E#) of [enysta v]) < [0]> then\n        ChaStateBy ((1) / (30)) Limit [0]\n        set [n.9 v] to (item (E#) of [enysta v])\n        RepYVel [0.4]\n        if <not <(N.9) < [0]>> then\n            if <(item (E#) of [enyext v]) > [2.9]> then\n                CreateParticle [Explode]\n                DeleteThisEnemy\n            end\n        end\n    else\n        set [n.9 v] to (item (E#) of [enysta v])\n        if <(N.9) < [1]> then\n            if <(item (E#) of [enyyvel v]) = (Gravity)> then\n                ChaStateBy ((1) / (30)) Limit [1]\n            end\n        else\n            if <(N.9) = [1]> then\n                replace item (E#) of [enysta v] with ((1) + ((1) / (30)))\n                RepYVel [14]\n            else\n                if <(N.9) < [2]> then\n                    if <(item (E#) of [enyyvel v]) = (Gravity)> then\n                        ChaStateBy ((1) / (30)) Limit [2]\n                    end\n                else\n                    if <(N.9) < [3]> then\n                        ChaStateBy ((1) / (30)) Limit [3]\n                    else\n                        if <(N.9) < [4]> then\n                            ChaStateBy ((1) / (120)) Limit [4]\n                        else\n                            if <(N.9) = [4]> then\n                                replace item (E#) of [enysta v] with [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        BaseY\n        if <(item (E#) of [enyxvel v]) < ((2) + (<(item (E#) of [enysta v]) > [2]> * (3)))> then\n            if <([x position v] of [player v]) > (x position)> then\n                turn right (12) degrees\n                if <(direction) > [90]> then\n                    point in direction (90)\n                end\n            else\n                turn left (12) degrees\n                if <(direction) < [-90]> then\n                    point in direction (-90)\n                end\n            end\n        end\n        replace item (E#) of [enydir v] with (direction)\n        if <(direction) < [0]> then\n            point in direction (-90)\n        else\n            point in direction (90)\n        end\n        if <(item (E#) of [enysta v]) > [2]> then\n            BaseX ([abs v] of ((item (E#) of [enydir v]) / (22.5)) )\n        else\n            if <(item (E#) of [enyyvel v]) = (Gravity)> then\n                BaseX [0]\n            else\n                BaseX [1.07]\n            end\n        end\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [{]> then\n    if <<([abs v] of ((x position) - (([x position v] of [player v]) + (([direction v] of [player v]) / (6)))) ) < ((12) + ([abs v] of (XVel) ))> and <<([abs v] of ((y position) - ([y position v] of [player v])) ) < [16]> and <(Holding) = []>>> then\n        if <<key (space v) pressed?> and <(item (E#) of [enyyvel v]) < [6]>> then\n            set [holding v] to [{]\n            add (E#) to [delenemy v]\n            delete this clone\n        end\n    end\n    BaseY\n    BaseX [0]\n    PosUpd\n    switch costume to (hitbox2 v)\n    stop [this script v]\nend\nif <<(N.5) = [ah]> or <(N.5) = [aj]>> then\n    if <([x position v] of [player v]) > (x position)> then\n        turn right ((30) / (<(item (E#) of [enysta v]) < [0]> + (1))) degrees\n        if <(direction) > [90]> then\n            point in direction (90)\n        end\n    else\n        turn left ((30) / (<(item (E#) of [enysta v]) < [0]> + (1))) degrees\n        if <(direction) < [-90]> then\n            point in direction (-90)\n        end\n    end\n    replace item (E#) of [enydir v] with (direction)\n    if <(item (E#) of [enyyvel v]) = [-0.83]> then\n        switch costume to (wallcheck v)\n        if <<<touching (blocks v)?> or <touching (uniques v)?>> or <<touching (extras v)?> or <<([y position v] of [player v]) > ((y position) + (28))> and <((GTime) mod (0.5)) > [0.3]>>>> then\n            if <<(item (E#) of [enysta v]) > [-1.7]> and <(item (E#) of [enysta v]) < [2]>> then\n                RepYVel [12]\n            end\n        end\n        switch costume to (hitbox v)\n    end\n    if <(item (E#) of [enysta v]) < [0]> then\n        ChaStateBy ((1) / (60)) Limit [0]\n        if <(item (E#) of [enyext v]) > [2.9]> then\n            ChaStateBy ((1) / (90)) Limit [0]\n            if <(item (E#) of [enysta v]) > [-1.5]> then\n                if <(y position) < [90]> then\n                    change y by (2)\n                end\n            end\n            if <not <(item (E#) of [enysta v]) < [0]>> then\n                CreateParticle [Explode]\n                DeleteThisEnemy\n            end\n        end\n    else\n        if <(item (E#) of [enysta v]) < [2.5]> then\n            ChaStateBy ((1) / (30)) Limit [2.5]\n            if <(item (E#) of [enysta v]) = [2.5]> then\n                ShootProjectiles ((item (E#) of [enyx v]) + ((direction) / (180))) ((item (E#) of [enyy v]) + (0.2))\n            end\n        else\n            ChaStateBy ((1) / (30)) Limit [3]\n            if <(item (E#) of [enysta v]) = [3]> then\n                replace item (E#) of [enysta v] with [0]\n            end\n        end\n    end\n    if <(item (E#) of [enyext v]) < [2.9]> then\n        BaseY\n        if <<(item (E#) of [enysta v]) < [2]> and <(item (E#) of [enysta v]) > [-1.7]>> then\n            if <<([abs v] of ((x position) - ([x position v] of [player v])) ) < [8]> and <([abs v] of ((y position) - ([y position v] of [player v])) ) < [16]>> then\n                replace item (E#) of [enyxvel v] with [-0.5]\n            end\n            if <(direction) < [0]> then\n                point in direction (-90)\n            else\n                point in direction (90)\n            end\n            BaseX ([abs v] of ((item (E#) of [enydir v]) / ((30) - (<(item (E#) of [enysta v]) < [0]> * (10)))) )\n        else\n            BaseX [0]\n        end\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [ai]> then\n    if <(state) < [0]> then\n        ChaStateBy [0.2] Limit [0]\n        delete this clone\n    else\n        ChaStateBy [0.05] Limit [1]\n        move (4) steps\n        if <<([abs v] of (x position) ) > [226]> or <([abs v] of (y position) ) > [166]>> then\n            DeleteThisEnemy\n        end\n        PosUpd\n    end\n    stop [this script v]\nend\nif <(N.5) = [al]> then\n    change y by (2)\n    ChaStateBy ((1) / (16)) Limit [1]\n    if <(item (E#) of [enysta v]) = ((2) / (16))> then\n        if <<touching (blocks v)?> or <touching (uniques v)?>> then\n            DeleteThisEnemy\n        end\n        Interact (round (item (E#) of [enyx v])) (round (item (E#) of [enyy v])) [Vine]\n    end\n    if <(item (E#) of [enysta v]) = [1]> then\n        replace item (E#) of [enysta v] with [0]\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [2]> then\n    if <(direction) > [0]> then\n        turn right (6) degrees\n        if <(direction) > [150]> then\n            point in direction (150)\n        end\n    else\n        turn left (6) degrees\n        if <(direction) < [-150]> then\n            point in direction (-150)\n        end\n    end\n    replace item (E#) of [enydir v] with (direction)\n    move (4) steps\n    change y by (([cos v] of (direction) ) * (8))\n    if <<([abs v] of (x position) ) > [226]> or <<(y position) < [-166]> or <(y position) > [180]>>> then\n        DeleteThisEnemy\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [aw]> then\n    if <((y position) - (MapY)) < ((SelectedWater) + (28))> then\n        if <not <([abs v] of (item (E#) of [enyyvel v]) ) < [0.1]>> then\n            BaseY\n            if <(item (E#) of [enyyvel v]) < [0]> then\n                replace item (E#) of [enyyvel v] with ((item (E#) of [enyyvel v]) / (1.065))\n            else\n                replace item (E#) of [enyyvel v] with ((item (E#) of [enyyvel v]) / (1.041))\n            end\n            if <([abs v] of (item (E#) of [enyyvel v]) ) < [0.1]> then\n                replace item (E#) of [enyyvel v] with [0]\n            end\n        end\n        BaseX [1]\n    else\n        BaseY\n        if <(item (E#) of [enyyvel v]) = [-0.83]> then\n            BaseX [0]\n            if <((((GTime) * (10)) + (E#)) mod (8)) < [1]> then\n                RepYVel [7.7]\n            end\n        else\n            BaseX [1]\n        end\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [ax]> then\n    show\n    BaseY\n    BaseX [1]\n    PosUpd\n    hide\n    stop [this script v]\nend\nif <(N.5) = [ay]> then\n    BaseY\n    if <(item (E#) of [enysta v]) < [0.8]> then\n        if <<(item (E#) of [enysta v]) > [0.2]> and <(item (E#) of [enysta v]) < [0.6]>> then\n            BaseX [-1]\n        else\n            BaseX [1]\n        end\n    else\n        if <(item (E#) of [enysta v]) < [0.9]> then\n            if <([x position v] of [player v]) > (x position)> then\n                point in direction (90)\n            else\n                point in direction (-90)\n            end\n            replace item (E#) of [enydir v] with (direction)\n        end\n        BaseX [1]\n    end\n    if <(item (E#) of [enysta v]) > [0.5]> then\n        if <<((((GTime) * (10)) + (E#)) mod (8)) < [1]> and <<(y position) < [100]> and <(item (E#) of [enyyvel v]) = [-0.83]>>> then\n            RepYVel (pick random (5) to (8))\n        end\n    end\n    PosUpd\n    stop [this script v]\nend\nif <(N.5) = [az]> then\n    if <(item (E#) of [enyyvel v]) = [-0.83]> then\n        if <([x position v] of [player v]) > (x position)> then\n            point in direction (90)\n        else\n            point in direction (-90)\n        end\n        replace item (E#) of [enydir v] with (direction)\n        WrenchMovement\n    else\n        if <not <<(AllowPlayerControl) = [0]> or <(AllowMovement) = [0]>>> then\n            BaseY\n            BaseX [0]\n            PosUpd\n            replace item (E#) of [enysta v] with [0]\n        end\n    end\n    stop [this script v]\nend\nif <(N.5) = [ba]> then\n    ChaStateBy [0.03] Limit [1]\n    if <(item (E#) of [enysta v]) < [1]> then\n        set [n.5 v] to ((round ((direction) / (45))) * (45))\n        if <([abs v] of ((y position) - ([y position v] of [player v])) ) < [8]> then\n            replace item (E#) of [enysta v] with [1]\n        end\n    else\n        set [n.5 v] to ((round ((direction) / (90))) * (90))\n    end\n    change y by (([cos v] of (N.5) ) * (4))\n    change x by (([sin v] of (N.5) ) * (4))\n    if <<([abs v] of (x position) ) > [226]> or <([abs v] of (y position) ) > [166]>> then\n        DeleteThisEnemy\n    end\n    PosUpd\n    stop [this script v]\nend\n\ndefine BaseY\nset [n.2 v] to (item (E#) of [enysta v])\nset [n.3 v] to (item (E#) of [enyty v])\nif <((y position) - (MapY)) < ((SelectedWater) + (28))> then\n    if <not <<(N.3) = [aw]> and <(item (E#) of [enyyvel v]) < [0]>>> then\n        RepYVel ((item (E#) of [enyyvel v]) + ((Gravity) / (2)))\n    end\n    if <(item (E#) of [enyyvel v]) = ((Gravity) / (2))> then\n        RepYVel (Gravity)\n    end\n    if <(item (E#) of [enyyvel v]) > [9]> then\n        RepYVel [9]\n    end\n    if <(item (E#) of [enyyvel v]) < [-3]> then\n        RepYVel [-3]\n    end\nelse\n    RepYVel ((item (E#) of [enyyvel v]) + (Gravity))\n    if <(item (E#) of [enyyvel v]) < [-12]> then\n        RepYVel [-12]\n        replace item (E#) of [enyyvel v] with [-12]\n    end\nend\nchange y by (item (E#) of [enyyvel v])\nif <(item (E#) of [enyyvel v]) > [0]> then\n    if <<touching (blocks v)?> or <touching (uniques v)?>> then\n        FindCeiling\n        RepYVel [0.82]\n    end\n    if <touching (extras v)?> then\n        FindCeiling\n    end\nelse\n    switch costume to (hitboxfloor v)\n    if <touching (extras v)?> then\n        set [x v] to [b]\n        FindFloor\n        RepYVel (Gravity)\n    end\n    if <<<touching (blocks v)?> or <touching (uniques v)?>> or <touching (semisolids v)?>> then\n        FindFloor\n        if <not <(X) = [b]>> then\n            set [x v] to [0]\n        end\n        RepYVel (Gravity)\n    end\n    if <<<<(N.3) = [c]> or <<(N.3) = [d]> or <(N.3) = [f]>>> and <<(N.2) = [2]> or <<(N.2) = [5]> or <(N.2) = [3.5]>>>> or <<(N.3) = [p]> or <(N.3) = [az]>>> then\n        set [x v] to [1]\n    else\n        if <(N.3) = [%]> then\n    end\n    switch costume to (hitbox v)\nend\n\ndefine BaseX (normalspeed)\nset [n.6 v] to <(item (E#) of [enyxvel v]) = [8]>\nif <(item (E#) of [enyxvel v]) < (normalspeed)> then\n    ChaXVelBy (((normalspeed) - (item (E#) of [enyxvel v])) / (6))\n    if <(item (E#) of [enyxvel v]) > ((normalspeed) - (0.1))> then\n        RepXVel (normalspeed)\n    end\nend\nif <(item (E#) of [enyxvel v]) > (normalspeed)> then\n    if <(item (E#) of [enyyvel v]) = (Gravity)> then\n        ChaXVelBy [-0.4]\n    else\n        ChaXVelBy [-0.2]\n    end\n    if <(item (E#) of [enyxvel v]) < (normalspeed)> then\n        RepXVel (normalspeed)\n    end\nend\nset [n.7 v] to (item (E#) of [enyty v])\nset [n.8 v] to (item (E#) of [enysta v])\nif <(N.3) = [t]> then\n    move (item (E#) of [enyxvel v]) steps\nelse\n    move (round (item (E#) of [enyxvel v])) steps\nend\nset [n.5 v] to <<<<(N.7) = [c]> or <<(N.7) = [d]> or <(N.7) = [f]>>> and <<(N.8) = [2]> or <(N.8) = [5]>>> or <(N.7) = [az]>>\nFloorTurnCheck\nif <(N.9) = [1]> then\n    YSmoothing\n    if <touching (extras v)?> then\n        if <(N.5) = [true]> then\n            AboveAction ((x position) + ((direction) / (9))) [POW]\n        end\n        set [y v] to [x]\n        FindXSpace\n        turn right (180) degrees\n        replace item (E#) of [enydir v] with (direction)\n    end\n    if <touching (uniques v)?> then\n        if <(N.5) = [true]> then\n            RoundY\n            change y by (1)\n            Interact ((x position) + ((direction) / (5))) (y position) [Normal]\n        end\n        FindXSpace\n        turn right (180) degrees\n        replace item (E#) of [enydir v] with (direction)\n        set [y v] to [x]\n        if <<not <([abs v] of (item (E#) of [enyyvel v]) ) > [6]>> and <not <<(N.7) = [aw]> or <(N.7) = [t]>>>> then\n            replace item (E#) of [enyyvel v] with (Gravity)\n        end\n    else\n        if <touching (blocks v)?> then\n            FindXSpace\n            turn right (180) degrees\n            replace item (E#) of [enydir v] with (direction)\n        else\n            if <not <<(N.5) = [true]> or <<(N.7) = [p]> or <<(N.7) = [%]> or <(N.7) = [ax]>>>>> then\n                if <touching (entities v)?> then\n                    turn right (180) degrees\n                    move (round (item (E#) of [enyxvel v])) steps\n                    if <touching (entities v)?> then\n                        turn right (180) degrees\n                        move (round (item (E#) of [enyxvel v])) steps\n                    else\n                        replace item (E#) of [enydir v] with (direction)\n                    end\n                end\n            end\n        end\n    end\nend\nif <not <<(N.7) = [b]> or <<(N.7) = [{]> or <(N.7) = [%]>>>> then\n    if <<<<(X) = [x]> and <not <(Y) = [x]>>> or <(X) = [b]>> or <<<(N.7) = [d]> and <(N.8) = [0]>> or <<(N.7) = [af]> or <(N.7) = [ax]>>>> then\n        if <(X) = [b]> then\n            switch costume to (floorcheck v)\n            if <not <touching (extras v)?>> then\n                turn right (180) degrees\n                if <touching (extras v)?> then\n                    replace item (E#) of [enydir v] with (direction)\n                else\n                    turn right (180) degrees\n                end\n            end\n        else\n            switch costume to (floorcheck v)\n            FloorTurnCheck\n            if <(N.9) = [0]> then\n                turn right (180) degrees\n                FloorTurnCheck\n                if <(N.9) = [1]> then\n                    replace item (E#) of [enydir v] with (direction)\n                else\n                    turn right (180) degrees\n                end\n            end\n        end\n    end\nend\nif <<(normalspeed) = [0]> and <([abs v] of ((item (E#) of [enyxvel v]) - (normalspeed)) ) < [0.1]>> then\n    set rotation style [don't rotate v]\n    FindBelow\nend\nif <(N.7) = [t]> then\n    set rotation style [left-right v]\n    if <(item (E#) of [enyyvel v]) = (Gravity)> then\n        switch costume to (wallcheck v)\n        if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n            switch costume to (wallcheck2 v)\n            set x to (round (x position))\n            if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n                RepYVel [11.5]\n            else\n                RepYVel [9]\n            end\n        end\n    end\n    if <(item (E#) of [enyyvel v]) = (Gravity)> then\n        switch costume to (floorcheck7 v)\n        if <not <<<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> or <<touching (entities v)?> or <touching (semisolids v)?>>>> then\n            set x to (round (x position))\n            RepYVel [10.5]\n        end\n    end\nend\n\ndefine CostumeSelf\nset [x v] to (item (E#) of [enyty v])\nset [n.5 v] to (item (E#) of [enysta v])\nif <<<<<(X) = [ak]> or <(X) = [b]>> or <<(X) = [t]> or <(X) = [au]>>> or <<(X) = [s]> or <(X) = [aa]>>> or <<(X) = [ap]> or <(X) = [aq]>>> then\n    show\n    if <not <(X) = [aa]>> then\n        set rotation style [don't rotate v]\n    end\n    switch costume to (join (X) [1])\n    stop [this script v]\nend\nif <<(X) = [a]> or <<(X) = [af]> or <(X) = [al]>>> then\n    set rotation style [don't rotate v]\n    SwitchTo (X) [20] [2]\n    stop [this script v]\nend\nif <(X) = [%]> then\n    set rotation style [don't rotate v]\n    SwitchTo [%] [20] [4]\n    stop [this script v]\nend\nif <<(X) = [c]> or <<(X) = [d]> or <(X) = [f]>>> then\n    set rotation style [left-right v]\n    if <(N.5) = [-2]> then\n        SwitchTo [av] [20] [2]\n    end\n    if <(N.5) = [-1]> then\n        SwitchTo [as] [20] [2]\n    end\n    if <(N.5) = [0]> then\n        SwitchTo (X) [20] [2]\n    end\n    if <(N.5) = [1]> then\n        switch costume to (join (X) [5])\n    end\n    if <(N.5) = [2]> then\n        SwitchTo (X) [20] [4] [3]\n    end\n    if <(N.5) = [3]> then\n        change y by (1)\n        SwitchTo (X) [20] [2] [7]\n    end\n    if <<(N.5) = [4]> or <(N.5) = [3.5]>> then\n        switch costume to (join (X) [11])\n    end\n    if <(N.5) = [5]> then\n        SwitchTo (X) [20] [4] [9]\n    end\n    stop [this script v]\nend\nif <(X) = [g]> then\n    if <(N.5) = [0]> then\n        SwitchTo [g] [20] [2]\n    else\n        SwitchTo [g] [30] [4] [3]\n    end\n    stop [this script v]\nend\nif <(X) = [l]> then\n    set rotation style [left-right v]\n    if <(N.5) = [0]> then\n        SwitchTo [l] [20] [2]\n    else\n        switch costume to (l4 v)\n        if <(N.5) > [12]> then\n            SwitchTo [l] [20] [2] [4]\n        end\n        if <<(N.5) < [0.5]> or <(N.5) > [14.5]>> then\n            switch costume to (l3 v)\n        end\n    end\n    stop [this script v]\nend\nif <(X) = [m]> then\n    show\n    if <(N.5) = [0]> then\n        switch costume to (m3 v)\n        if < (item (E#) of [enycont v]) contains [T]?> then\n            point towards (player v)\n            switch costume to (m1 v)\n        end\n    else\n        move ((N.5) * (-8)) steps\n        switch costume to (m2 v)\n        stamp\n        move ((N.5) * (8)) steps\n        clear graphic effects\n        switch costume to (m1 v)\n    end\n    stop [this script v]\nend\nif <(X) = [o]> then\n    if <(N.5) < [4]> then\n        SwitchTo [o] [20] [2]\n    else\n        set rotation style [left-right v]\n        if <(N.5) < [5.5]> then\n            switch costume to (o6 v)\n            if <<(N.5) < [4.3]> or <(N.5) > [5.2]>> then\n                switch costume to (o5 v)\n            end\n        else\n            SwitchTo [o] [20] [2] [3]\n        end\n    end\n    stop [this script v]\nend\nif <(X) = [p]> then\n    switch costume to (p1 v)\n    if <(N.5) = [0]> then\n        switch costume to (p2 v)\n        if <(item (E#) of [enyxvel v]) > [1]> then\n            point in direction ((([floor v] of ((GTime) * ((round (item (E#) of [enyxvel v])) * (12))) ) mod (8)) * (45))\n            set rotation style [all around v]\n        end\n        change y by (-2)\n    end\n    stop [this script v]\nend\nif <(X) = [\]> then\n    set rotation style [don't rotate v]\n    if <(PTimer) = [0]> then\n        SwitchTo [\] [20] [4] [2]\n    else\n        switch costume to (\6 v)\n    end\n    stop [this script v]\nend\nif <(X) = [1]> then\n    set rotation style [don't rotate v]\n    SwitchTo [r] [20] [4]\n    stop [this script v]\nend\nif <(X) = [u]> then\n    set rotation style [don't rotate v]\n    SwitchTo [u] [33] [4]\n    stop [this script v]\nend\nif <(X) = [{]> then\n    set rotation style [don't rotate v]\n    if <(N.5) = [0]> then\n        switch costume to ({1 v)\n    else\n        if <(N.5) < [0.2]> then\n            switch costume to ({2 v)\n        else\n            if <(N.5) < [0.7]> then\n                switch costume to ({3 v)\n            else\n                if <(N.5) < [0.8]> then\n                    switch costume to ({2 v)\n                else\n                    switch costume to ({1 v)\n                end\n            end\n        end\n    end\n    stop [this script v]\nend\nif <(X) = [ac]> then\n    switch costume to (large v)\n    set rotation style [all around v]\n    go to x: (((item (E#) of [enyx v]) * (32)) + (MapX)) y: (((item (E#) of [enyy v]) * (32)) + (MapY))\n    if <(direction) < [0]> then\n        SwitchTo [ac] [20] [2] [3]\n    else\n        SwitchTo [ac] [20] [2]\n    end\n    if <([abs v] of (x position) ) > [240]> then\n        delete this clone\n    end\n    stop [this script v]\nend\nif <(X) = [ae]> then\n    switch costume to (ae1 v)\n    stop [this script v]\nend\nif <(X) = [ag]> then\n    set rotation style [don't rotate v]\n    if <(N.5) < [0]> then\n        SwitchTo [ag] [30] [4] [9]\n    else\n        if <(N.5) > [2]> then\n            SwitchTo [ag] [30] [6] [3]\n        else\n            if <<(item (E#) of [enyyvel v]) = [-0.83]> or <(item (E#) of [enyyvel v]) = [0]>> then\n                switch costume to (ag1 v)\n            else\n                switch costume to (ag2 v)\n            end\n        end\n        stop [this script v]\n    end\nend\nif <<(X) = [ah]> or <(X) = [aj]>> then\n    if <(N.5) < [0]> then\n        if <(item (E#) of [enyext v]) > [2.9]> then\n            SwitchTo (X) [40] [8] [11]\n        else\n            SwitchTo (X) [20] [6] [5]\n        end\n    else\n        if <(N.5) < [2]> then\n            SwitchTo (X) [20] [2]\n        else\n            if <(N.5) < [2.5]> then\n                switch costume to (join (X) [3])\n            else\n                switch costume to (join (X) [4])\n            end\n        end\n    end\n    stop [this script v]\nend\nif <(X) = [ai]> then\n    switch costume to (ai3 v)\n    if <(N.5) < [0.6]> then\n        switch costume to (ai2 v)\n        if <(N.5) < [0.3]> then\n            switch costume to (ai1 v)\n        end\n    end\n    stop [this script v]\nend\nif <(X) = [2]> then\n    set rotation style [all around v]\n    point in direction ((([floor v] of ((GTime) * (32)) ) mod (4)) * (90))\n    if <(item (E#) of [enyext v]) = [1]> then\n        switch costume to (hammer2 v)\n    else\n        switch costume to (hammer1 v)\n    end\n    stop [this script v]\nend\nif <(X) = [at]> then\n    SwitchTo [at] [30] [3]\n    stop [this script v]\nend\nif <(X) = [aw]> then\n    set rotation style [left-right v]\n    SwitchTo [aw] [20] [2]\n    stop [this script v]\nend\nif <(X) = [ax]> then\n    set rotation style [left-right v]\n    SwitchTo [ax] [40] [8]\n    stop [this script v]\nend\nif <(X) = [ay]> then\n    if <(N.5) < [0.5]> then\n        SwitchTo [ay] [20] [2]\n    else\n        SwitchTo [ay] [20] [2] [3]\n    end\n    set rotation style [left-right v]\n    stop [this script v]\nend\nif <(X) = [az]> then\n    if <(N.5) < [1.5]> then\n        switch costume to (az1 v)\n    else\n        if <(N.5) < [2.1]> then\n            switch costume to (az2 v)\n        else\n            switch costume to (az3 v)\n        end\n    end\n    set rotation style [left-right v]\n    stop [this script v]\nend\nif <(X) = [ba]> then\n    point in direction ((([floor v] of ((GTime) * (40)) ) mod (4)) * (90))\n    SwitchTo [ba] [20] [2]\n    set rotation style [all around v]\n    stop [this script v]\nend\n\ndefine PosUpd\nswitch costume to (stackhitbox v)\nreplace item (E#) of [enyx v] with (((x position) - (MapX)) / (32))\nreplace item (E#) of [enyy v] with (((y position) - (MapY)) / (32))\nchange y by (-1)\n\ndefine YSmoothing\nset [n. v] to [0]\nset [y v] to (y position)\nrepeat until <not <<<<touching (blocks v)?> or <<touching (entities v)?> and <(N.5) = [false]>>> or <<touching (uniques v)?> or <touching (extras v)?>>> or <<touching (semisolids v)?> and <not <(item (E#) of [enyyvel v]) > [0]>>>>>\n    change [n. v] by (1)\n    if <(N.) > (((item (E#) of [enyxvel v]) * (2)) + (4))> then\n        set y to (Y)\n        stop [this script v]\n    end\n    change y by (1)\nend\nif <(item (E#) of [enyty v]) = [p]> then\n    if <(item (E#) of [enyxvel v]) > [4]> then\n        ChaXVelBy [-0.2]\n    end\nend\n\ndefine FindXSpace\nset [n. v] to [0]\nset [n.4 v] to (x position)\nif <(item (E#) of [enyty v]) = [p]> then\n    turn right (180) degrees\n    move (-4) steps\n    CreateParticle [Explode]\n    Interact (x position) (y position) [Normal]\n    move (-16) steps\n    Interact (x position) (y position) [Normal]\n    AboveAction (x position) [POW]\n    DeleteThisEnemy\nend\nrepeat until <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>>\n    change [n. v] by (1)\n    set x to (N.4)\n    if <(N.) > ((16) + ((item (E#) of [enyxvel v]) * ((1) + ((N.6) * (2)))))> then\n        ExtraXFix\n        stop [this script v]\n    end\n    change x by ((N.) * ((<(direction) = [-90]> / (2)) + (0.5)))\n    if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n        set x to (N.4)\n        change x by (((N.) * (-1)) * ((<(direction) = [90]> / (2)) + (0.5)))\n    end\nend\n\ndefine FindFloor\nset [n. v] to [0]\nrepeat until <not <<<touching (blocks v)?> or <touching (uniques v)?>> or <touching (semisolids v)?>>>\n    change [n. v] by (1)\n    if <(N.) > ((([abs v] of (item (E#) of [enyyvel v]) ) + (6)) * (2))> then\n        set y to (Y)\n        stop [this script v]\n    end\n    change y by (1)\nend\n\ndefine FindCeiling\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <touching (uniques v)?>>>\n    change [n. v] by (1)\n    if <(N.) > (([abs v] of (item (E#) of [enyyvel v]) ) + (16))> then\n        set y to (((item (E#) of [enyy v]) * (32)) + (MapY))\n        FindCeilingEntitiesOnly\n        stop [this script v]\n    end\n    change y by (-1)\nend\nFindCeilingEntitiesOnly\n\ndefine DeleteEnemies\nrepeat (length of [delenemy v])\n    if < (item (item (1) of [delenemy v]) of [enycont v]) contains [/]?> then\n        go to x: (((item (item (1) of [delenemy v]) of [enyx v]) * (32)) + (MapX)) y: (((item (item (1) of [delenemy v]) of [enyy v]) * (32)) + (MapY))\n        CreateParticle [Key]\n        change [keys v] by (1)\n    end\n    delete (item (1) of [delenemy v]) of [enycont v]\n    delete (item (1) of [delenemy v]) of [enydir v]\n    delete (item (1) of [delenemy v]) of [enyext v]\n    delete (item (1) of [delenemy v]) of [enysta v]\n    delete (item (1) of [delenemy v]) of [enyty v]\n    delete (item (1) of [delenemy v]) of [enyx v]\n    delete (item (1) of [delenemy v]) of [enyxvel v]\n    delete (item (1) of [delenemy v]) of [enyy v]\n    delete (item (1) of [delenemy v]) of [enyyvel v]\n    FixDeleteListAfter\n    delete (1) of [delenemy v]\nend\n\ndefine FixDeleteListAfter\nset [n.2 v] to [0]\nrepeat (length of [delenemy v])\n    change [n.2 v] by (1)\n    if <(item (N.2) of [delenemy v]) > (item (1) of [delenemy v])> then\n        replace item (N.2) of [delenemy v] with ((item (N.2) of [delenemy v]) - (1))\n    end\nend\n\nwhen I receive [afteruniquesupdate v]\nif <(E#) = [0]> then\n    broadcast (CostumeAll v)\nelse\n    if <<(AllowPlayerControl) = [0]> or <(AllowMovement) = [0]>> then\n        stop [this script v]\n    end\n    AboveBlockScan\n    set [n.5 v] to ([abs v] of ((x position) - ([x position v] of [player v])) )\n    set [n.6 v] to ((y position) - ([y position v] of [player v]))\n    set [n.7 v] to (item (E#) of [enyty v])\n    set [n.8 v] to (item (E#) of [enysta v])\n    set [n.9 v] to <<<(N.5) < [24]> and <<(YVel) < [8]> or <(YVel) > [15.4]>>> and <<(N.6) < [-8]> and <(N.6) > [-28]>>>\n    if <<(N.7) = [a]> or <(N.7) = [af]>> then\n        if <(N.9) = [1]> then\n            if <(Sliding) = [0]> then\n                if <(N.7) = [a]> then\n                    CreateParticle [Goomba]\n                else\n                    CreateParticle [Goombrat]\n                end\n                start sound [Stomp v]\n                MakePlayerJump\n                DeleteThisEnemy\n            end\n        end\n        BaseHitbox\n        stop [this script v]\n    end\n    if <<[powers v] contains (N.7)?> or <(N.7) = [%]>> then\n        show\n        if <<(N.5) < [24]> and <<(N.6) < ((48) - ((Small) * (24)))> and <(N.6) > [-24]>>> then\n            if <(N.7) = [%]> then\n                CreateParticle [Coin]\n                DeleteThisEnemy\n            else\n                if <(N.7) = [t]> then\n                    CreateParticle [Explode]\n                    DieOrDamage\n                    DeleteThisEnemy\n                else\n                    GivePlayerPowerup (N.7)\n                end\n            end\n        end\n        stop [this script v]\n    end\n    if <<(N.7) = [c]> or <<(N.7) = [d]> or <(N.7) = [f]>>> then\n        if <<(N.5) < ((30) + ([abs v] of (XVel) ))> and <<([abs v] of (N.6) ) < [16]> and <(Holding) = []>>> then\n            if <<<key (space v) pressed?> and <(item (E#) of [enyyvel v]) < [6]>> and <<(N.8) = [1]> or <(N.8) = [4]>>> then\n                if <(N.8) = [4]> then\n                    set [holding v] to [f2]\n                else\n                    set [holding v] to (N.7)\n                end\n                DeleteThisEnemy\n            end\n        end\n        if <(N.9) = [1]> then\n            if <(Sliding) = [0]> then\n                MakePlayerJump\n                start sound [Stomp v]\n                CollectKeyFromEnemy\n                if <(N.8) < [3]> then\n                    if <(N.8) < [0]> then\n                        replace item (E#) of [enysta v] with [0]\n                    else\n                        if <(N.8) = [1]> then\n                            replace item (E#) of [enydir v] with ([direction v] of [player v])\n                            RepXVel [8]\n                            replace item (E#) of [enysta v] with [2]\n                        else\n                            replace item (E#) of [enysta v] with [1]\n                            RepXVel ((item (E#) of [enyxvel v]) / (2))\n                        end\n                    end\n                else\n                    if <(N.8) = [4]> then\n                        replace item (E#) of [enydir v] with ([direction v] of [player v])\n                        RepXVel [8]\n                        replace item (E#) of [enysta v] with [5]\n                    else\n                        replace item (E#) of [enysta v] with [4]\n                        RepXVel ((item (E#) of [enyxvel v]) / (2))\n                    end\n                end\n                stop [this script v]\n            end\n        end\n        if <<(item (E#) of [enysta v]) = [1]> or <(item (E#) of [enysta v]) = [4]>> then\n            if <<(N.5) < [24]> and <<(N.6) < ((48) - ((Small) * (24)))> and <(N.6) > [-16]>>> then\n                if <([abs v] of (N.6) ) < [16]> then\n                    ChaStateBy [1] Limit [9]\n                    replace item (E#) of [enydir v] with (((N.5) / ((x position) - ([x position v] of [player v]))) * (90))\n                    RepXVel [8]\n                    start sound [hit1 v]\n                else\n                    Damage?\n                end\n            end\n            stop [this script v]\n        else\n            BaseHitbox\n            stop [this script v]\n        end\n    end\n    if <(N.7) = [l]> then\n        if <(N.8) = [0]> then\n            if <(N.9) = [1]> then\n                if <(Sliding) = [0]> then\n                    MakePlayerJump\n                    start sound [dry bones v]\n                    replace item (E#) of [enysta v] with [0.1]\n                    stop [this script v]\n                end\n            end\n            BaseHitbox\n            stop [this script v]\n        else\n            ChaStateBy [0.1] Limit [16]\n            if <(item (E#) of [enysta v]) > [15]> then\n                replace item (E#) of [enysta v] with [0]\n            end\n        end\n    end\n    if <(N.7) = [m]> then\n        BaseHitbox\n        stop [this script v]\n    end\n    if <(N.7) = [o]> then\n        if <(N.9) = [1]> then\n            if <(Sliding) = [0]> then\n                CreateParticle [Spike]\n                MakePlayerJump\n                start sound [Stomp v]\n                DeleteThisEnemy\n            end\n        end\n        BaseHitbox\n        stop [this script v]\n    end\n    if <(N.7) = [aa]> then\n        if <(N.9) = [1]> then\n            if <(direction) = [-90]> then\n                CreateParticle [Bill2]\n            else\n                CreateParticle [Bill]\n            end\n            MakePlayerJump\n            start sound [Stomp v]\n            DeleteThisEnemy\n        end\n        BaseHitbox\n        switch costume to (aa1 v)\n        stamp\n        delete this clone\n    end\n    if <(N.7) = [ac]> then\n        if <(N.9) = [1]> then\n            CreateParticle [Explode]\n            MakePlayerJump\n            start sound [Stomp v]\n            DeleteThisEnemy\n        end\n        BaseHitbox\n        switch costume to (large v)\n        set rotation style [all around v]\n        go to x: (((item (E#) of [enyx v]) * (32)) + (MapX)) y: (((item (E#) of [enyy v]) * (32)) + (MapY))\n        if <(direction) < [0]> then\n            SwitchTo [ac] [20] [2] [3]\n        else\n            SwitchTo [ac] [20] [2]\n        end\n        stamp\n        delete this clone\n    end\n    if <(N.7) = [ag]> then\n        if <(N.9) = [1]> then\n            if <<<(N.8) > [0]> and <not <(item (E#) of [enyyvel v]) = [-0.83]>>> or <(N.8) > [2]>> then\n                BossDamaged\n                MakePlayerJump\n                start sound [Stomp v]\n            end\n        end\n        if <(item (E#) of [enysta v]) > [0]> then\n            BaseHitbox\n        end\n        stop [this script v]\n    end\n    if <<(N.7) = [ah]> or <(N.7) = [aj]>> then\n        if <(N.9) = [1]> then\n            if <(N.8) > [0]> then\n                BossDamaged\n            else\n                change [xvel v] by (([direction v] of [player v]) / (-30))\n            end\n            MakePlayerJump\n            start sound [Stomp v]\n            change [plyy v] by (6)\n        else\n            if <not <(item (E#) of [enysta v]) < [-2]>> then\n                BaseHitbox\n            end\n        end\n        stop [this script v]\n    end\n    if <(N.7) = [ai]> then\n        BaseHitbox\n        stop [this script v]\n    end\n    if <(N.7) = [aw]> then\n        BaseHitbox\n        stop [this script v]\n    end\n    if <(N.7) = [ay]> then\n        if <(N.9) = [1]> then\n            CreateParticle [Explode]\n            MakePlayerJump\n            start sound [Stomp v]\n            DeleteThisEnemy\n        end\n        ChaStateBy [0.01] Limit [1]\n        if <(item (E#) of [enysta v]) = [1]> then\n            CreateEnemy ((direction) / (18)) [1] [0] [2] (item (E#) of [enyx v]) (item (E#) of [enyy v]) [8] [0]\n            replace item (E#) of [enysta v] with [0]\n        end\n        BaseHitbox\n        stop [this script v]\n    end\n    if <(N.7) = [ba]> then\n        BaseHitbox\n        stop [this script v]\n    end\nend\n\ndefine MakePlayerJump\nset [yvel v] to ((15.4) + (([abs v] of (XVel) ) / (5)))\nset [jumping v] to [1]\n\ndefine DeleteThisEnemy\nadd (E#) to [delenemy v]\ndelete this clone\n\ndefine FindFloorEnemies\nset [n. v] to [0]\nrepeat until <not <touching (entities v)?>>\n    change [n. v] by (1)\n    if <(N.) > [14]> then\n        change y by ((-14) + (<(item (E#) of [enyty v]) = [{]> * (7)))\n        stop [this script v]\n    end\n    change y by (1)\nend\n\ndefine AboveBlockScan\nif <(length of [aboacx v]) > [0]> then\n    if <<(item (E#) of [enyty v]) = [m]> or <<(item (E#) of [enyty v]) = [2]> or <(item (E#) of [enyty v]) = [ba]>>> then\n        stop [this script v]\n    end\n    set [n.4 v] to [0]\n    repeat (length of [aboacx v])\n        change [n.4 v] by (1)\n        Action\n    end\nend\n\ndefine BounceKill\nif <[powers v] contains (N.5)?> then\n    if <not < (item (E#) of [enycont v]) contains [8]?>> then\n        replace item (E#) of [enyyvel v] with [9.5]\n    end\nelse\n    if <<(N.5) = [ag]> or <<(N.5) = [ah]> or <(N.5) = [aj]>>> then\n        BossDamaged\n    else\n        if <(N.5) = [\]> then\n            if <(PTimer) = [0]> then\n                set [ptimer v] to [10]\n                stop all sounds\n                broadcast (PlaySong v)\n                CollectKeyFromEnemy\n            end\n        else\n            if <(N.5) = [%]> then\n                CreateParticle [Coin]\n                DeleteThisEnemy\n            else\n                if <<(N.5) = [c]> or <<(N.5) = [d]> or <(N.5) = [f]>>> then\n                    if <(x position) < (item (N.4) of [aboacx v])> then\n                        point in direction (-90)\n                    else\n                        point in direction (90)\n                    end\n                    replace item (E#) of [enydir v] with (direction)\n                    if <(item (E#) of [enysta v]) = [1]> then\n                        replace item (E#) of [enyyvel v] with [6]\n                        replace item (E#) of [enysta v] with [2]\n                        RepXVel [6]\n                    else\n                        replace item (E#) of [enyyvel v] with [8.5]\n                        replace item (E#) of [enysta v] with [1]\n                        RepXVel [4]\n                    end\n                else\n                    if <(N.5) = [g]> then\n                        if <not < (item (E#) of [enycont v]) contains [8]?>> then\n                            if <(x position) < (item (N.4) of [aboacx v])> then\n                                point in direction (-90)\n                            else\n                                point in direction (90)\n                            end\n                            replace item (E#) of [enydir v] with (direction)\n                            replace item (E#) of [enyyvel v] with [5]\n                            RepXVel [3]\n                        end\n                        if <(item (E#) of [enysta v]) = [0]> then\n                            replace item (E#) of [enysta v] with [1]\n                        end\n                    else\n                        GenericParticleKill\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine MakePlayerJump (multiple)\nset [yvel v] to (((15.4) + (([abs v] of (XVel) ) / (5))) * (multiple))\nset [jumping v] to [1]\n\ndefine TryUsedSpring\nif <(UsedSpring) = [0]> then\n    set [usedspring v] to [1]\nend\n\nwhen I receive [afterplayerupdate v]\nif <not <(E#) = [0]>> then\n    if <<<(Dead) = [1]> or <(AllowMovement) = [0]>> and <not <<(item (E#) of [enyty v]) = [q]> or <<(item (E#) of [enyty v]) = [ao]> or <(item (E#) of [enyty v]) = [az]>>>>> then\n        stop [this script v]\n    end\n    set [n.5 v] to (item (E#) of [enyty v])\n    set [n.6 v] to (item (E#) of [enysta v])\n    set [n.7 v] to ([abs v] of (([x position v] of [player v]) - (x position)) )\n    set [n.8 v] to ((y position) - ([y position v] of [player v]))\n    AfterPlayerUpdate <<<(N.7) < [24]> and <<(YVel) < [8]> or <(YVel) > [15.4]>>> and <<(N.8) < [-8]> and <(N.8) > [-28]>>>\nend\n\ndefine Damage?\nif <<not <(Sliding) = [0]>> and <([y position v] of [player v]) > ((y position) - (4))>> then\n    GenericParticleKill\n    stop [this script v]\nend\nDieOrDamage\n\ndefine GivePlayerPowerup (type)\nif <(type) = [au]> then\n    start sound [1up v]\nelse\n    if <(type) = [b]> then\n        if <(PUp) = [N]> then\n            start sound [Powerup v]\n            set [pup v] to [B]\n            ClearPowerupVariables\n        else\n            start sound [Coin v]\n        end\n    end\n    if <(type) = [s]> then\n        if <(PUp) = [F]> then\n            start sound [Coin v]\n        else\n            start sound [Powerup v]\n            set [pup v] to [F]\n            ClearPowerupVariables\n            set [power11 v] to [1]\n        end\n    end\n    if <(type) = [u]> then\n        if <(PUp) = [P]> then\n            start sound [Coin v]\n        else\n            start sound [Powerup v]\n            set [pup v] to [P]\n            ClearPowerupVariables\n        end\n    end\n    if <(type) = [ae]> then\n        if <(PUp) = [R]> then\n            start sound [Coin v]\n        else\n            start sound [Powerup v]\n            set [pup v] to [R]\n            ClearPowerupVariables\n            set [power44 v] to [0.3]\n        end\n    end\n    if <(type) = [ak]> then\n        if <(PUp) = [C]> then\n            start sound [Coin v]\n        else\n            start sound [Powerup v]\n            set [pup v] to [C]\n            ClearPowerupVariables\n        end\n        set [power44 v] to [3]\n    end\n    if <(type) = [ap]> then\n        if <(PUp) = [O]> then\n            start sound [Coin v]\n        else\n            start sound [Powerup v]\n            set [pup v] to [O]\n            ClearPowerupVariables\n        end\n    end\n    if <(type) = [aq]> then\n        if <(PUp) = [H]> then\n            start sound [Coin v]\n        else\n            start sound [Powerup v]\n            set [pup v] to [H]\n            ClearPowerupVariables\n            set [power11 v] to [1]\n        end\n    end\n    if <(type) = [at]> then\n        stop all sounds\n        start sound [Powerup v]\n        set [startimer v] to [10]\n        broadcast (PlaySong v)\n    end\n    broadcast (Powerup v)\nend\nDeleteThisEnemy\n\ndefine FindFloorExtrasOnly\nset [y v] to (y position)\nset [n. v] to [0]\nrepeat until <not <touching (extras v)?>>\n    change [n. v] by (1)\n    if <(N.) > ((([abs v] of (item (E#) of [enyyvel v]) ) + (11)) * (2))> then\n        set y to (Y)\n        stop [this script v]\n    end\n    change y by (1)\nend\n\nwhen I receive [editcollisionbeforeplayer v]\nif <not <(E#) = [0]>> then\n    if <<<(item (E#) of [enyty v]) = [c]> or <(item (E#) of [enyty v]) = [%]>> or <<(item (E#) of [enyty v]) = [d]> or <(item (E#) of [enyty v]) = [f]>>> then\n        show\n    end\nend\n\ndefine ExtraXFix\nset x to (N.4)\nset [n.4 v] to (x position)\nif <(item (E#) of [enyyvel v]) > [-0.1]> then\n    change y by (-2)\nelse\n    change y by (1)\nend\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <touching (uniques v)?>>>\n    change [n. v] by (1)\n    set x to (N.4)\n    if <(N.) > ((4) + ((item (E#) of [enyxvel v]) * (0.2)))> then\n        set [sid v] to (item (E#) of [enyyvel v])\n        if <not <(item (E#) of [enyty v]) = [az]>> then\n            DeleteThisEnemy\n        end\n    end\n    change x by (N.)\n    if <<touching (blocks v)?> or <touching (uniques v)?>> then\n        set x to (N.4)\n        change x by ((N.) * (-1))\n    end\nend\n\ndefine FindBelow\nset [x v] to (x position)\nswitch costume to (floorcheck2 v)\nBelow [1]\nset [y v] to (x position)\nset x to (X)\nswitch costume to (floorcheck3 v)\nBelow [-1]\nset x to (((x position) + (Y)) / (2))\nswitch costume to (hitbox v)\nif <<touching (blocks v)?> or <touching (uniques v)?>> then\n    set x to (X)\nend\n\ndefine BuzzyBeetleCeiling\nif <(item (E#) of [enysta v]) = [3.5]> then\n    BaseY\n    hide\n    if <(item (E#) of [enyyvel v]) = (Gravity)> then\n        show\n        replace item (E#) of [enysta v] with [5]\n        RepXVel [5]\n    end\nelse\n    switch costume to (floorcheck4 v)\n    if <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>> then\n        replace item (E#) of [enysta v] with [3.5]\n    else\n        switch costume to (ceilingcheck v)\n        if <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>> then\n            replace item (E#) of [enysta v] with [3.5]\n        else\n            switch costume to (hitbox3 v)\n            move (1) steps\n            if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n                FindXSpace\n                turn right (180) degrees\n                replace item (E#) of [enydir v] with (direction)\n            end\n            switch costume to (floorcheck4 v)\n            if <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>> then\n                switch costume to (hitbox3 v)\n                FindXSpace\n                turn right (180) degrees\n                replace item (E#) of [enydir v] with (direction)\n            end\n        end\n    end\n    switch costume to (hitbox v)\nend\n\ndefine BaseHitbox\nif <<([abs v] of ((x position) - ([x position v] of [player v])) ) < [24]> and <<((y position) - ([y position v] of [player v])) < ((48) - ((Small) * (24)))> and <((y position) - ([y position v] of [player v])) > [-16]>>> then\n    Damage?\nend\n\ndefine BombSurroundings\nchange y by (-2)\nInteract (x position) (y position) [Bomb]\nInteract ((x position) + (32)) (y position) [Bomb]\nInteract ((x position) + (-32)) (y position) [Bomb]\nInteract (x position) ((y position) + (32)) [Bomb]\nInteract ((x position) + (32)) ((y position) + (32)) [Bomb]\nInteract ((x position) + (-32)) ((y position) + (32)) [Bomb]\nInteract (x position) ((y position) + (-32)) [Bomb]\nInteract ((x position) + (32)) ((y position) + (-32)) [Bomb]\nInteract ((x position) + (-32)) ((y position) + (-32)) [Bomb]\nchange y by (2)\n\ndefine Interact (x) (y) (type)\nadd (x) to [intx v]\nadd (y) to [inty v]\nadd (type) to [inttype v]\nif <(type) = [Bomb]> then\n    add [Bomb] to [aboactype v]\n    add (x) to [aboacx v]\n    add (y) to [aboacy v]\nend\n\ndefine BombKill\nif <<(N.5) = [ag]> or <<(N.5) = [ah]> or <(N.5) = [aj]>>> then\n    BossDamaged\nelse\n    if <[powers v] contains (N.5)?> then\n        replace item (E#) of [enyyvel v] with [9.5]\n    else\n        if <(N.5) = [g]> then\n            if <(x position) < (item (N.4) of [aboacx v])> then\n                point in direction (-90)\n            else\n                point in direction (90)\n            end\n            replace item (E#) of [enydir v] with (direction)\n            replace item (E#) of [enyyvel v] with [7]\n            RepXVel [7]\n            if <(item (E#) of [enysta v]) = [0]> then\n                replace item (E#) of [enysta v] with [1]\n            end\n        else\n            GenericParticleKill\n        end\n    end\nend\n\ndefine CreateParticle (type)\nadd (x position) to [creparx v]\nadd (y position) to [crepary v]\nset [n.5 v] to (item (E#) of [enyty v])\nif <(type) = [1]> then\n    if <<<(N.5) = [c]> or <<(N.5) = [d]> or <(N.5) = [f]>>> and <not <<(item (E#) of [enysta v]) = [0]> or <(item (E#) of [enysta v]) = [3]>>>> then\n        add (join [1] (join (N.5) [2])) to [crepartype v]\n    else\n        add (join [1] (N.5)) to [crepartype v]\n    end\nelse\n    add (type) to [crepartype v]\nend\n\ndefine TouchKill\nGenericParticleKill\n\ndefine GenericParticleKill\nif <not <[powers v] contains (item (E#) of [enyty v])?>> then\n    if <(item (E#) of [enyty v]) = [l]> then\n        if <(item (E#) of [enysta v]) = [0]> then\n            start sound [dry bones v]\n            replace item (E#) of [enysta v] with [0.1]\n        end\n    else\n        if <<(item (E#) of [enyty v]) = [1]> or <(item (E#) of [enyty v]) = [2]>> then\n            CreateParticle [Drift]\n            DeleteThisEnemy\n        else\n            if <(item (E#) of [enyty v]) = [%]> then\n                CreateParticle [Coin]\n                DeleteThisEnemy\n            else\n                CreateParticle [1]\n                DeleteThisEnemy\n            end\n        end\n    end\nend\n\nwhen I receive [endotherscripts v]\nstop [other scripts in sprite v]\ndelete this clone\n\ndefine MovedByConveyor (move)\nif <not <<(N.5) = [aa]> or <(N.5) = [ac]>>> then\n    replace item (E#) of [enyx v] with ((((x position) + (move)) - (MapX)) / (32))\n    switch costume to (floorcheck5 v)\n    if <(item (E#) of [enyxvel v]) < (move)> then\n        if <not <touching (uniques v)?>> then\n            replace item (E#) of [enydir v] with ((([abs v] of (move) ) / (move)) * (90))\n        end\n    end\nend\n\ndefine SpikeBallMovement\nset [n.8 v] to (item (E#) of [enysta v])\nif <(N.8) = [0]> then\n    SpikeBallYMovement\n    BaseX (item (E#) of [enyxvel v])\nelse\n    if <(N.8) = [1]> then\n        RepYVel ((item (E#) of [enyyvel v]) + (-0.83))\n        if <(item (E#) of [enyyvel v]) < [-12]> then\n            RepYVel [-12]\n        end\n        change y by (item (E#) of [enyyvel v])\n        if <(item (E#) of [enyyvel v]) < ((-6) + (<((y position) - (MapY)) < ((SelectedWater) + (28))> * (3.1)))> then\n            if <touching (entities v)?> then\n                FindFloorEnemies\n                RepYVel [0]\n                replace item (E#) of [enysta v] with [1.1]\n            end\n        end\n    end\n    if <(N.8) = [2]> then\n        move (4) steps\n        if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n            CreateParticle [Explode]\n            Interact (x position) (y position) [Normal]\n            move (16) steps\n            Interact (x position) (y position) [Normal]\n            AboveAction (x position) [POW]\n            DeleteThisEnemy\n        end\n    end\n    if <<(N.8) > [1]> and <(N.8) < [2]>> then\n        ChaStateBy [0.06] Limit [2]\n        set rotation style [don't rotate v]\n        FindBelow\n    end\n    if <<([abs v] of (x position) ) > [226]> or <([abs v] of (y position) ) > [170]>> then\n        DeleteThisEnemy\n    end\n    hide\nend\n\ndefine SpikeBallYMovement\nRepYVel ((item (E#) of [enyyvel v]) + ((Gravity) * (1)))\nif <(item (E#) of [enyyvel v]) < [-16]> then\n    RepYVel [-16]\nend\nchange y by ((item (E#) of [enyyvel v]) / (2))\nif <not <<touching (semisolids v)?> and <not <(item (E#) of [enyyvel v]) > [0]>>>> then\n    change y by ((item (E#) of [enyyvel v]) / (2))\nend\nif <(item (E#) of [enyyvel v]) > [0]> then\n    if <<touching (blocks v)?> or <touching (uniques v)?>> then\n        FindCeiling\n        RepYVel [0.82]\n    end\n    if <touching (extras v)?> then\n        FindCeiling\n    end\nelse\n    switch costume to (hitboxfloor v)\n    if <touching (extras v)?> then\n        FindFloor\n        if <([abs v] of (item (E#) of [enyyvel v]) ) < [4]> then\n            RepYVel (Gravity)\n        else\n            RepYVel ((item (E#) of [enyyvel v]) / (-1.5))\n            ChaXVelBy ((item (E#) of [enyyvel v]) / (3))\n        end\n    end\n    if <<<touching (blocks v)?> or <touching (uniques v)?>> or <touching (semisolids v)?>> then\n        FindFloor\n        if <([abs v] of (item (E#) of [enyyvel v]) ) < [4]> then\n            RepYVel (Gravity)\n        else\n            RepYVel ((item (E#) of [enyyvel v]) / (-1.5))\n            ChaXVelBy ((item (E#) of [enyyvel v]) / (3))\n        end\n    else\n        if <<(item (E#) of [enyyvel v]) < [-0.5]> and <(item (E#) of [enyyvel v]) > [-2]>> then\n            change y by ((item (E#) of [enyxvel v]) / (-0.5))\n            if <<<touching (blocks v)?> or <touching (uniques v)?>> or <touching (semisolids v)?>> then\n                FindFloor\n                if <(item (E#) of [enyxvel v]) < [8]> then\n                    ChaXVelBy [0.25]\n                end\n                RepYVel (Gravity)\n            else\n                change y by ((item (E#) of [enyxvel v]) / (0.5))\n            end\n        end\n    end\nend\nswitch costume to (hitbox v)\nif <(item (E#) of [enyyvel v]) < [0]> then\n    if <([abs v] of ((item (E#) of [enyyvel v]) / (-4)) ) > (item (E#) of [enyxvel v])> then\n        replace item (E#) of [enyxvel v] with ((item (E#) of [enyyvel v]) / (-4))\n    end\nend\nif <(item (E#) of [enyxvel v]) > [4]> then\n    ChaXVelBy [-0.1]\nend\nif <(item (E#) of [enyxvel v]) > [8]> then\n    ChaXVelBy [-0.4]\nend\nif <<(item (E#) of [enyxvel v]) < [4]> and <not <(item (E#) of [enyyvel v]) = (Gravity)>>> then\n    ChaXVelBy [0.2]\nend\n\ndefine CollectKeyFromEnemy\nif < (item (E#) of [enycont v]) contains [/]?> then\n    replace item (E#) of [enycont v] with []\n    CreateParticle [Key]\n    change [keys v] by (1)\nend\n\nwhen I receive [flagclicked v]\nset rotation style [left-right v]\nswitch costume to (large v)\nset size to (400) %\nhide\n\ndefine PlantMovement\nif <not <<(AllowPlayerControl) = [0]> or <(AllowMovement) = [0]>>> then\n    if <not <(Y) = [b]>> then\n        if <(item (E#) of [enysta v]) = [0]> then\n            if <<([abs v] of ((x position) - ([x position v] of [player v])) ) > [48]> or <([y position v] of [player v]) > ((y position) + (32))>> then\n                ChaStateBy ((1) / (16)) Limit [9]\n            end\n        else\n            ChaStateBy ((1) / (16)) Limit [9]\n        end\n    end\nend\nset [n.8 v] to (item (E#) of [enysta v])\nif <(N.8) < [2]> then\n    change y by ((-64) - ((N.8) * (-32)))\nelse\n    if <(N.8) < [4]> then\n        if <<(item (E#) of [enyty v]) = [ao]> and <(N.8) = [3]>> then\n            change y by (32)\n            point towards (player v)\n            change y by (-32)\n            if <(Y) = [b]> then\n                CreateEnemy (direction) [1] [0] [1] (item (E#) of [enyx v]) ((item (E#) of [enyy v]) + (1)) [0] [0]\n            end\n        end\n    else\n        if <(N.8) < [6]> then\n            change y by ((-64) - (((N.8) - (6)) * (32)))\n        else\n            change y by (-64)\n            if <(N.8) > [8]> then\n                replace item (E#) of [enysta v] with [0]\n            end\n        end\n    end\nend\n\ndefine PlantCostuming\npoint towards (player v)\nif <<(item (E#) of [enysta v]) < [1]> or <(item (E#) of [enysta v]) > [5]>> then\n    switch costume to (join (item (E#) of [enyty v]) [4])\nelse\n    if <(item (E#) of [enyty v]) = [q]> then\n        SwitchTo [q] [20] [2] [2]\n    else\n        if <((y position) + (32)) > ([y position v] of [player v])> then\n            switch costume to (ao2 v)\n        else\n            switch costume to (ao3 v)\n        end\n    end\nend\n\nwhen I receive [pow v]\nset [powshake v] to [0.01]\nset [n.5 v] to (item (E#) of [enyty v])\nif <not <(E#) = [0]>> then\n    if <<<<<(N.5) = [b]> or <(N.5) = [\]>> or <(N.5) = [u]>> or <<(N.5) = [t]> or <<(N.5) = [ae]> or <(N.5) = [ak]>>>> or <(N.5) = [s]>> then\n        replace item (E#) of [enyyvel v] with [8]\n    else\n        GenericParticleKill\n    end\nend\n\ndefine FireballMovement\nswitch costume to (smallhitbox v)\nshow\nmove (8) steps\nif <(direction) > [0]> then\n    turn right (15) degrees\n    if <(direction) > [135]> then\n        point in direction (135)\n    end\nelse\n    turn left (15) degrees\n    if <(direction) < [-135]> then\n        point in direction (-135)\n    end\nend\nif <<<touching (blocks v)?> or <<touching (semisolids v)?> and <([abs v] of (direction) ) > [90]>>> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n    YSmoothing\n    if <(N.) > [3]> then\n        move (-8) steps\n        if <([abs v] of (direction) ) > [90]> then\n            point in direction ((180) - (direction))\n        else\n            point in direction ((direction) * (-1))\n        end\n        move (8) steps\n        replace item (E#) of [enysta v] with ((item (E#) of [enysta v]) + (1))\n    else\n        replace item (E#) of [enysta v] with [0]\n    end\n    if <<(item (E#) of [enysta v]) > [6]> or <<<touching (blocks v)?> or <<touching (semisolids v)?> and <([abs v] of (direction) ) > [90]>>> or <<touching (uniques v)?> or <touching (extras v)?>>>> then\n        CreateParticle [Drift]\n        DeleteThisEnemy\n    end\nend\nreplace item (E#) of [enydir v] with (direction)\nhide\n\ndefine FireKill\nif <not <<<(N.5) = [\]> or <<(N.5) = [l]> or <(N.5) = [f]>>> or <<(N.5) = [{]> or <(N.5) = [aa]>>>> then\n    if <<(N.5) = [ag]> or <<(N.5) = [ah]> or <(N.5) = [aj]>>> then\n        replace item (E#) of [enyext v] with ((item (E#) of [enyext v]) + (0.7))\n        replace item (E#) of [enysta v] with [-2]\n    else\n        if <[powers v] contains (N.5)?> then\n            if <not < (item (E#) of [enycont v]) contains [T]?>> then\n                replace item (E#) of [enyyvel v] with [9.5]\n            end\n        else\n            if <(N.5) = [g]> then\n                if <not < (item (E#) of [enycont v]) contains [8]?>> then\n                    if <(x position) < (item (N.4) of [aboacx v])> then\n                        point in direction (-90)\n                    else\n                        point in direction (90)\n                    end\n                    replace item (E#) of [enydir v] with (direction)\n                    replace item (E#) of [enyyvel v] with [5]\n                    RepXVel [3]\n                end\n                if <(item (E#) of [enysta v]) = [0]> then\n                    replace item (E#) of [enysta v] with [1]\n                end\n            else\n                start sound [hit1 v]\n                CreateParticle [Explode]\n                DeleteThisEnemy\n            end\n        end\n    end\nend\n\ndefine PropellerKill\nif <not <<(N.5) = [q]> or <(N.5) = [{]>>> then\n    if <<(N.5) = [ag]> or <<(N.5) = [ah]> or <(N.5) = [aj]>>> then\n        BossDamaged\n    else\n        if <[powers v] contains (N.5)?> then\n    end\nend\n\ndefine BullseyeBill\nset [y v] to (direction)\npoint towards (player v)\nset [x v] to (direction)\npoint in direction (Y)\nif <([abs v] of ((X) - (Y)) ) < (([abs v] of (item (E#) of [enyxvel v]) ) * (4))> then\n    RepXVel ((item (E#) of [enyxvel v]) + (-0.5))\n    if <(item (E#) of [enyxvel v]) < [0]> then\n        RepXVel [0]\n    end\nelse\n    RepXVel ((item (E#) of [enyxvel v]) + (0.5))\n    if <(item (E#) of [enyxvel v]) > [4]> then\n        RepXVel [4]\n    end\nend\nif <([abs v] of ((X) - (Y)) ) < [2]> then\n    RepXVel [0]\nend\nif <([abs v] of ((X) - (Y)) ) > [180]> then\n    if <((X) - (Y)) > [0]> then\n        if <not <(item (E#) of [enyext v]) = [L]>> then\n            RepXVel ((item (E#) of [enyxvel v]) * (-1))\n        end\n        replace item (E#) of [enyext v] with [L]\n        turn left (item (E#) of [enyxvel v]) degrees\n    else\n        if <not <(item (E#) of [enyext v]) = [R]>> then\n            RepXVel ((item (E#) of [enyxvel v]) * (-1))\n        end\n        replace item (E#) of [enyext v] with [R]\n        turn right (item (E#) of [enyxvel v]) degrees\n    end\nelse\n    if <((X) - (Y)) > [0]> then\n        if <not <(item (E#) of [enyext v]) = [R]>> then\n            RepXVel ((item (E#) of [enyxvel v]) * (-1))\n        end\n        replace item (E#) of [enyext v] with [R]\n        turn right (item (E#) of [enyxvel v]) degrees\n    else\n        if <not <(item (E#) of [enyext v]) = [L]>> then\n            RepXVel ((item (E#) of [enyxvel v]) * (-1))\n        end\n        replace item (E#) of [enyext v] with [L]\n        turn left (item (E#) of [enyxvel v]) degrees\n    end\nend\nreplace item (E#) of [enydir v] with (direction)\n\ndefine TrackMovement\npoint in direction (item (E#) of [enydir v])\nset [fblock v] to [0]\nreplace item (E#) of [enyxvel v] with ((item (E#) of [enyxvel v]) + ((1) / (16)))\nif <not <(item (E#) of [enyxvel v]) < [1]>> then\n    replace item (E#) of [enyxvel v] with [0]\nend\nset [n. v] to (round (((item (E#) of [enyx v]) * (32)) / (32)))\nset [n.2 v] to (round (((item (E#) of [enyy v]) * (32)) / (32)))\nif <(item (E#) of [enyxvel v]) = [0.5]> then\n    ScanFor (N.) (N.2) Semis\n    if <(FBlock) = [0]> then\n        ScanFor ((N.) + ([sin v] of (direction) )) ((N.2) + ([cos v] of (direction) )) Semis\n    end\n    TrackVariations\n    point in direction (item (E#) of [enydir v])\nend\nif <not <(item (E#) of [enyyvel v]) = [0.5]>> then\n    change x by ((round ([sin v] of (direction) )) * (2))\n    change y by ((round ([cos v] of (direction) )) * (2))\n    PosUpd\n    change y by (1)\nend\n\ndefine Between (1) And (2) Entities\nif <not <<(item (E#) of [enydir v]) = (1)> or <(item (E#) of [enydir v]) = (2)>>> then\n    if <(item (E#) of [enyxvel v]) = [0.5]> then\n        if <((direction) mod (180)) = ((1) mod (180))> then\n            if <((direction) mod (180)) = (1)> then\n                point in direction (2)\n            else\n                point in direction (2)\n            end\n        else\n            if <((direction) mod (180)) = (2)> then\n                point in direction (1)\n            else\n                point in direction (1)\n            end\n        end\n    end\n    replace item (E#) of [enydir v] with (direction)\nend\n\ndefine TrackVariations\nif <(FSubtype) = [a1]> then\n    RepYVel [0.5]\n    set x to (((round (((x position) - (MapX)) / (32))) * (32)) + (MapX))\n    point in direction (-90)\n    replace item (E#) of [enydir v] with (direction)\n    stop [this script v]\nend\nif <(FSubtype) = [u1]> then\n    Between [0] And [0] Entities\nend\nif <(FSubtype) = [d1]> then\n    Between [180] And [180] Entities\nend\nif <(FSubtype) = [l1]> then\n    Between [-90] And [-90] Entities\nend\nif <(FSubtype) = [r1]> then\n    Between [90] And [90] Entities\nend\nif <(FSubtype) = [ur]> then\n    Between [0] And [90] Entities\nend\nif <(FSubtype) = [ul]> then\n    Between [-90] And [0] Entities\nend\nif <(FSubtype) = [dr]> then\n    Between [180] And [90] Entities\nend\nif <(FSubtype) = [dl]> then\n    Between [180] And [-90] Entities\nend\nif <(FSubtype) = [x3]> then\n    Between [-45] And [-45] Entities\nend\nif <(FSubtype) = [x4]> then\n    Between [45] And [45] Entities\nend\nif <(FSubtype) = [x5]> then\n    Between [135] And [135] Entities\nend\nif <(FSubtype) = [x6]> then\n    Between [-135] And [-135] Entities\nend\nif <(FSubtype) = [x7]> then\n    Between [-90] And [45] Entities\nend\nif <(FSubtype) = [x8]> then\n    Between [-90] And [135] Entities\nend\nif <(FSubtype) = [x9]> then\n    Between [90] And [-135] Entities\nend\nif <(FSubtype) = [x10]> then\n    Between [90] And [-45] Entities\nend\nif <(FSubtype) = [x11]> then\n    Between [0] And [135] Entities\nend\nif <(FSubtype) = [x12]> then\n    Between [0] And [-135] Entities\nend\nif <(FSubtype) = [x13]> then\n    Between [-45] And [180] Entities\nend\nif <(FSubtype) = [x14]> then\n    Between [45] And [180] Entities\nend\nif <(FSubtype) = [x15]> then\n    Between [-45] And [45] Entities\nend\nif <(FSubtype) = [x16]> then\n    Between [135] And [45] Entities\nend\nif <(FSubtype) = [x17]> then\n    Between [135] And [-135] Entities\nend\nif <(FSubtype) = [x18]> then\n    Between [-45] And [-135] Entities\nend\nif <(FSubtype) = [x19]> then\n    if <(On/Off) = [1]> then\n        Between [-90] And [45] Entities\n    else\n        Between [-90] And [135] Entities\n    end\nend\nif <(FSubtype) = [x20]> then\n    if <(On/Off) = [1]> then\n        Between [0] And [135] Entities\n    else\n        Between [0] And [-135] Entities\n    end\nend\nif <(FSubtype) = [x21]> then\n    if <(On/Off) = [1]> then\n        Between [90] And [-135] Entities\n    else\n        Between [90] And [-45] Entities\n    end\nend\nif <(FSubtype) = [x22]> then\n    if <(On/Off) = [1]> then\n        Between [180] And [-45] Entities\n    else\n        Between [180] And [45] Entities\n    end\nend\nif <(FSubtype) = [ud]> then\n    As [180] Or [0]\nend\nif <(FSubtype) = [lr]> then\n    As [90] Or [-90]\nend\nif <(FSubtype) = [x1]> then\n    As [135] Or [-45]\nend\nif <(FSubtype) = [x2]> then\n    As [-135] Or [45]\nend\n\ndefine ScanFor (x) (y) Semis\nset [fblock v] to [0]\nset [fsubtype v] to []\nif <not <<(x) < (item (1) of [semix v])> or <(x) > (item (length of [semix v]) of [semix v])>>> then\n    set [n. v] to ((item # of (x) in [semix v]) - (1))\n    repeat until <<(item (N.) of [semix v]) > (x)> or <<(N.) > (length of [semix v])> or <(item ((N.) + (1)) of [semiy v]) > (y)>>>\n        change [n. v] by (1)\n        if <<(item (N.) of [semix v]) = (x)> and <(item (N.) of [semiy v]) = (y)>> then\n            set [fblock v] to [1]\n            if <(letter (1) of (item (N.) of [semitype v])) = [8]> then\n                SubtypeOf (N.)\n            end\n            stop [this script v]\n        end\n    end\nend\n\ndefine SubtypeOf (no.)\nset [n.5 v] to (item (no.) of [semitype v])\nset [n.3 v] to (join (letter (3) of (N.5)) (letter (4) of (N.5)))\nset [n.4 v] to (join (letter (1) of (N.5)) (letter (2) of (N.5)))\nif <(round (N.4)) = (N.4)> then\n    set [fsubtype v] to (join (N.3) (letter (5) of (N.5)))\nelse\n    set [fsubtype v] to (join (letter (2) of (N.5)) (N.3))\nend\n\ndefine As (1) Or (2)\nif <not <<(direction) = (1)> or <(direction) = (2)>>> then\n    set [x v] to (((round (((X) - (MapX)) / (32))) * (32)) + (MapX))\n    set [y v] to (((round (((Y) - (MapY)) / (32))) * (32)) + (MapY))\n    point in direction (1)\n    replace item (E#) of [enydir v] with (direction)\nend\n\ndefine SwitchTo (costume) (speed) (mod)\nswitch costume to (join (costume) ((([floor v] of ((GTime) * (speed)) ) mod (mod)) + (1)))\n\ndefine SwitchTo (costume) (speed) (mod) (plus)\nswitch costume to (join (costume) ((([floor v] of ((GTime) * (speed)) ) mod (mod)) + (plus)))\n\ndefine ChaStateBy (amount) Limit (limit)\nreplace item (E#) of [enysta v] with ((item (E#) of [enysta v]) + (amount))\nif <(item (E#) of [enysta v]) > (limit)> then\n    replace item (E#) of [enysta v] with (limit)\nend\n\ndefine AfterPlayerUpdate <stomped>\nif <(N.5) = [{]> then\n    if <not <(N.6) = [0]>> then\n        replace item (E#) of [enysta v] with ((N.6) + (0.1))\n        if <(item (E#) of [enysta v]) > [1]> then\n            replace item (E#) of [enysta v] with [0]\n        end\n    end\n    if <<<(N.7) < [25]> and <(YVel) < [7]>> and <<(N.8) < [-16]> and <(N.8) > [-32]>>> then\n        MakePlayerJump [1.2]\n        set [xvel v] to [0]\n        TryUsedSpring\n        if <(item (E#) of [enysta v]) = [0]> then\n            replace item (E#) of [enysta v] with [0.1]\n        end\n    end\n    if <(item (E#) of [enysta v]) = [0]> then\n        switch costume to (above v)\n        if <<touching (entities v)?> or <touching (extras v)?>> then\n            replace item (E#) of [enysta v] with [0.1]\n            change y by (32)\n            AboveAction (x position) [Bounce]\n            change y by (-32)\n        end\n        switch costume to (hitbox2 v)\n    end\n    stop [this script v]\nend\nif <<(N.5) = [c]> or <<(N.5) = [d]> or <(N.5) = [f]>>> then\n    if <(N.6) = [3]> then\n        if <<(N.7) < [64]> and <([y position v] of [player v]) < (y position)>> then\n            replace item (E#) of [enysta v] with [3.5]\n            if <([x position v] of [player v]) > (x position)> then\n                replace item (E#) of [enydir v] with [90]\n            else\n                replace item (E#) of [enydir v] with [-90]\n            end\n        end\n    end\n    if <<(N.6) = [2]> or <(N.6) = [5]>> then\n        switch costume to (sideshitbox v)\n        if <touching (entities v)?> then\n            add [TouchKill] to [aboactype v]\n            add ((x position) + ((direction) / (6))) to [aboacx v]\n            add (y position) to [aboacy v]\n        end\n        if <touching (uniques v)?> then\n            Interact (x position) (y position) [Normal]\n        end\n        switch costume to (stackhitbox v)\n    end\nend\nif <(N.5) = [g]> then\n    if <(N.6) > [0]> then\n        ChaStateBy [0.1] Limit [15]\n        if <(item (E#) of [enysta v]) > [12]> then\n            BombSurroundings\n            if <(distance to [player v]) < [48]> then\n                if <((Invincible) + (StarTimer)) = [0]> then\n                    broadcast (Powerdown v)\n                end\n            end\n            set [screenshake v] to [0.01]\n            CreateParticle [Explode]\n            start sound [bomb-omb v]\n            DeleteThisEnemy\n        end\n        if <<([abs v] of ((x position) - (([x position v] of [player v]) + (([direction v] of [player v]) / (6)))) ) < ((12) + ([abs v] of (XVel) ))> and <<([abs v] of (N.8) ) < [16]> and <(Holding) = []>>> then\n            if <<<key (space v) pressed?> and <(item (E#) of [enyyvel v]) < [6]>> and <<(item (E#) of [enysta v]) > [0]> and <(item (E#) of [enysta v]) < [11]>>> then\n                set [holdingtimer v] to (item (E#) of [enysta v])\n                set [holding v] to (item (E#) of [enyty v])\n                DeleteThisEnemy\n            end\n        end\n    else\n        if <stomped> then\n            if <(Sliding) = [0]> then\n                MakePlayerJump\n                CollectKeyFromEnemy\n                replace item (E#) of [enysta v] with [1]\n            end\n        end\n        if <(item (E#) of [enysta v]) = [0]> then\n            BaseHitbox\n        end\n    end\n    stop [this script v]\nend\nif <(N.5) = [o]> then\n    ChaStateBy [0.05] Limit [7]\n    if <<((item (E#) of [enysta v]) + (-0.05)) < [4.2]> and <not <(item (E#) of [enysta v]) < [4.2]>>> then\n        add [] to [enycont v]\n        add (item (E#) of [enydir v]) to [enydir v]\n        add [1] to [enysta v]\n        add [10] to [enyyvel v]\n        add [0] to [enyext v]\n        add [p] to [enyty v]\n        add (item (E#) of [enyx v]) to [enyx v]\n        add [0] to [enyxvel v]\n        add ((item (E#) of [enyy v]) + (0.25)) to [enyy v]\n    end\n    if <(item (E#) of [enysta v]) > [6.5]> then\n        replace item (E#) of [enysta v] with [0]\n    end\nend\nif <(N.5) = [p]> then\n    if <not <(N.6) = [1]>> then\n        show\n        switch costume to (sideshitbox v)\n        if <touching (entities v)?> then\n            AboveAction ((x position) + ((direction) / (6))) [TouchKill]\n        end\n        if <touching (uniques v)?> then\n            Interact (x position) (y position) [Normal]\n        end\n        switch costume to (stackhitbox v)\n        BaseHitbox\n        stop [this script v]\n    end\nend\nif <(N.5) = [\]> then\n    if <stomped> then\n        if <(PTimer) = [0]> then\n            set [ptimer v] to [10]\n            stop all sounds\n            broadcast (PlaySong v)\n            CollectKeyFromEnemy\n        end\n    end\nend\nif <(N.5) = [1]> then\n    show\n    if <(item (E#) of [enyext v]) = [0]> then\n        if <<touching (entities v)?> or <touching (extras v)?>> then\n            CreateParticle [Drift]\n            move (8) steps\n            AboveAction ((x position) + (([sin v] of (direction) ) * (16))) [Fire]\n            DeleteThisEnemy\n        end\n    else\n        BaseHitbox\n    end\nend\nif <<(N.5) = [q]> or <(N.5) = [ao]>> then\n    if <not <<(AllowPlayerControl) = [0]> or <(AllowMovement) = [0]>>> then\n        if <<(N.7) < [24]> and <<(N.8) < (((48) - (<<(N.6) < [1]> or <(N.6) > [5]>> * (32))) - ((Small) * (24)))> and <(N.8) > [-48]>>> then\n            DieOrDamage\n        end\n        AboveBlockScan\n    end\n    PlantCostuming\n    stamp\n    delete this clone\nend\nif <(N.5) = [2]> then\n    show\n    if <(item (E#) of [enyext v]) = [0]> then\n        if <touching (entities v)?> then\n            AboveAction ((x position) + (([sin v] of (direction) ) * (16))) [Kill]\n        end\n    else\n        BaseHitbox\n    end\nend\nif <(N.5) = [ax]> then\n    show\n    CreateWhirlwind (x position) (y position)\nend\nif <(N.5) = [az]> then\n    if <not <<(AllowPlayerControl) = [0]> or <(AllowMovement) = [0]>>> then\n        if <<stomped> and <not <(YVel) = [0]>>> then\n            if <not <<(N.6) > [0.32]> and <(N.6) < [1.12]>>> then\n                start sound [Stomp v]\n                MakePlayerJump [1]\n                CreateParticle [1]\n                DeleteThisEnemy\n            end\n        end\n        if <(item (E#) of [enysta v]) < [2.1]> then\n            if <<(N.6) > [0.32]> and <(N.6) < [1.12]>> then\n                if <<(N.7) > [24]> or <([abs v] of (N.8) ) > [32]>> then\n                    ChaStateBy [0.02] Limit [2.5]\n                end\n            else\n                ChaStateBy [0.02] Limit [2.5]\n                if <not <(item (E#) of [enysta v]) < [2.1]>> then\n                    point towards (player v)\n                    CreateEnemy (direction) [0] [0] [ba] ((item (E#) of [enyx v]) + ((direction) / (180))) (item (E#) of [enyy v]) [0] [0]\n                    point in direction (item (E#) of [enydir v])\n                end\n            end\n        else\n            ChaStateBy [0.02] Limit [2.5]\n        end\n        AboveBlockScan\n        if <(item (E#) of [enysta v]) = [2.5]> then\n            replace item (E#) of [enysta v] with [0]\n        end\n        BaseHitbox\n    end\n    CostumeSelf\n    stamp\n    delete this clone\nend\n\ndefine AboveAction (x) (type)\nadd (type) to [aboactype v]\nadd (x) to [aboacx v]\nif <(type) = [Wind]> then\n    add (((item (E#) of [enyy v]) * (32)) + (MapY)) to [aboacy v]\nelse\n    add (y position) to [aboacy v]\nend\n\ndefine FindCeilingEntitiesOnly\nset [n. v] to [0]\nset [n.4 v] to (y position)\nrepeat until <not <<touching (extras v)?> or <touching (entities v)?>>>\n    change [n. v] by (1)\n    if <(N.) > (([abs v] of (item (E#) of [enyyvel v]) ) + (8))> then\n        set y to (N.4)\n        stop [this script v]\n    end\n    change y by (-1)\nend\n\ndefine ChaXVelBy (amount)\nRepXVel ((item (E#) of [enyxvel v]) + (amount))\n\ndefine ClearPowerupVariables\nset [power11 v] to [0]\nset [power22 v] to [0]\nset [power33 v] to [0]\nset [power44 v] to [0]\n\ndefine BossDamaged\nif <not <(item (E#) of [enysta v]) < [0]>> then\n    start sound [Stomp v]\n    replace item (E#) of [enyext v] with ((item (E#) of [enyext v]) + (1))\n    replace item (E#) of [enysta v] with [-2]\n    replace item (E#) of [enydir v] with [0]\nend\n\ndefine ShootProjectiles (x) (y)\npoint towards (player v)\nCreateEnemy (direction) [0] [0] [ai] (x) (y) [0] [0]\nCreateEnemy (direction) [0] [-1] [ai] (x) (y) [0] [0]\nCreateEnemy (direction) [0] [-2] [ai] (x) (y) [0] [0]\npoint in direction (item (E#) of [enydir v])\n\ndefine CreateEnemy (direction) (extra) (state) (type) (x) (y) (xvel) (yvel)\nadd (direction) to [enydir v]\nadd (extra) to [enyext v]\nadd (state) to [enysta v]\nadd (type) to [enyty v]\nadd (x) to [enyx v]\nadd (y) to [enyy v]\nadd (xvel) to [enyxvel v]\nadd (yvel) to [enyyvel v]\n\ndefine Action\nset [n.5 v] to (item (E#) of [enyty v])\nset [n.6 v] to (item (N.4) of [aboactype v])\nset [n.7 v] to ([abs v] of ((x position) - (item (N.4) of [aboacx v])) )\nset [n.8 v] to ([abs v] of ((y position) - (item (N.4) of [aboacy v])) )\nif <<(N.6) < [99]> and <not < (item (E#) of [enycont v]) contains [8]?>>> then\n    if <<<(N.7) < [25.5]> and <(N.8) < [16]>> and <not <<(item (E#) of [enyty v]) = [ac]> or <(item (E#) of [enyty v]) = [aa]>>>> then\n        change y by (-2)\n        if <not <(N.6) = [0]>> then\n            change x by (N.6)\n            replace item (E#) of [enyx v] with (((x position) - (MapX)) / (32))\n            stop [this script v]\n        end\n    end\nend\nif <<(N.6) = [Wind]> and <not <(N.5) = [ax]>>> then\n    set [n.8 v] to ([abs v] of ((y position) - ((item (N.4) of [aboacy v]) + (72))) )\n    if <<(N.7) < [28]> and <<((y position) - ((item (N.4) of [aboacy v]) + (72))) > [-72]> and <(N.8) < [88]>>> then\n        replace item (E#) of [enyxvel v] with ((item (E#) of [enyxvel v]) / (1.5))\n        replace item (E#) of [enyx v] with ((((x position) + (((x position) - (item (N.4) of [aboacx v])) / (-4))) - (MapX)) / (32))\n        if <(((x position) - (item (N.4) of [aboacx v])) / (-4)) > [0]> then\n            point in direction (90)\n        else\n            point in direction (-90)\n        end\n        replace item (E#) of [enydir v] with (direction)\n    end\n    if <<(N.7) < [28]> and <(N.8) < [80]>> then\n        if <(item (E#) of [enyyvel v]) < [-2]> then\n            replace item (E#) of [enyyvel v] with [-2]\n        end\n        replace item (E#) of [enyyvel v] with ((item (E#) of [enyyvel v]) + (1.5))\n        if <(item (E#) of [enyyvel v]) > [6]> then\n            replace item (E#) of [enyyvel v] with [6]\n        end\n    end\nend\nif <<(N.7) < [29]> and <(N.8) < [24]>> then\n    if <(N.6) = [Fire]> then\n        if <<(N.7) < [24]> and <(N.8) < [21]>> then\n            FireKill\n        end\n    end\n    if <(N.6) = [Ignite]> then\n        if <(item (E#) of [enyty v]) = [g]> then\n            if <not < (item (E#) of [enycont v]) contains [8]?>> then\n                if <(x position) < (item (N.4) of [aboacx v])> then\n                    point in direction (-90)\n                else\n                    point in direction (90)\n                end\n                replace item (E#) of [enydir v] with (direction)\n                RepYVel [0]\n                RepXVel [2]\n            end\n            if <(item (E#) of [enysta v]) = [0]> then\n                replace item (E#) of [enysta v] with [1]\n            end\n        end\n    end\n    if <(N.6) = [Prop]> then\n        PropellerKill\n    end\n    if <(N.6) = [Kill]> then\n        BounceKill\n        stop [this script v]\n    end\n    if <<(N.7) < [14]> and <(N.8) < [14]>> then\n        if <(N.6) = [Bomb]> then\n            BombKill\n        end\n        if <(N.6) = [Muncher]> then\n            if <<(PTimer) = [0]> and <<(item (E#) of [enyty v]) = [\]> and <(item (E#) of [enyyvel v]) > [-1]>>> then\n                set [ptimer v] to [10]\n                stop all sounds\n                broadcast (PlaySong v)\n                CollectKeyFromEnemy\n            end\n        end\n    end\n    if <not < (item (E#) of [enycont v]) contains [8]?>> then\n        if <(N.6) = [TouchKill]> then\n            if <<(N.7) < [14]> and <(N.8) < [22]>> then\n                TouchKill\n            end\n        end\n        if <(N.6) = [Bounce]> then\n            if <not <(N.5) = [ax]>> then\n                RepYVel [13]\n            end\n        end\n        if <(N.6) = [Right]> then\n            MovedByConveyor [2]\n            stop [this script v]\n        end\n        if <(N.6) = [Left]> then\n            MovedByConveyor [-2]\n            stop [this script v]\n        end\n        if <(N.6) = [FRight]> then\n            MovedByConveyor [4]\n            stop [this script v]\n        end\n        if <(N.6) = [FLeft]> then\n            MovedByConveyor [-4]\n            stop [this script v]\n        end\n        if <(N.6) = [RBounce]> then\n            if <(item (E#) of [enyxvel v]) > [5]> then\n                RepXVel [14]\n            else\n                RepXVel [10]\n            end\n            replace item (E#) of [enydir v] with [90]\n        end\n        if <(N.6) = [LBounce]> then\n            if <(item (E#) of [enyxvel v]) > [5]> then\n                RepXVel [14]\n            else\n                RepXVel [10]\n            end\n            replace item (E#) of [enydir v] with [-90]\n        end\n    end\nend\n\ndefine RepXVel (no)\nreplace item (E#) of [enyxvel v] with (no)\n\ndefine RepYVel (no)\nreplace item (E#) of [enyyvel v] with (no)\n\ndefine RoundY\nset y to (((round ((((y position) - (2)) - (MapY)) / (32))) * (32)) + (MapY))\n\ndefine Spawn?\nif <<<<<(N.4) = [c]> or <<(N.4) = [d]> or <(N.4) = [f]>>> and <<(N.5) = [2]> or <(N.5) = [5]>>> or <<<(N.4) = [l]> and <not <(N.5) = [0]>>> or <<(N.4) = [%]> or <(N.4) = [aa]>>>> or <<<<(N.4) = [1]> or <(N.4) = [2]>> or <<(N.4) = [m]> or <(N.4) = [ax]>>> or <<<(N.4) = [p]> and <(N.5) = [1]>> or <<(N.4) = [ae]> or <<(N.4) = [ai]> or <(N.4) = [ba]>>>>>> then\n    hide\n    create clone of (_myself_ v)\n    show\nelse\n    create clone of (_myself_ v)\nend\n\ndefine DieOrDamage\nif <(StarTimer) > [0]> then\n    CreateParticle [Explode]\n    DeleteThisEnemy\nelse\n    if <(Invincible) = [0]> then\n        broadcast (Powerdown v)\n    end\nend\n\ndefine Below (#)\nset [n. v] to [0]\nrepeat until <not <<touching (entities v)?> or <touching (extras v)?>>>\n    change [n. v] by (2)\n    set x to (X)\n    if <(N.) > [14]> then\n        stop [this script v]\n    end\n    change x by ((N.) * (#))\nend\n\ndefine FloorTurnCheck\nset [n.9 v] to <<<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> or <<<touching (entities v)?> and <not <(N.7) = [p]>>> or <<touching (semisolids v)?> and <not <(item (E#) of [enyyvel v]) > [0]>>>>>\n\ndefine CreateWhirlwind (x) (y)\nif <<([abs v] of (([x position v] of [player v]) - (x)) ) < [25]> and <([y position v] of [player v]) > ((y) - (20))>> then\n    if <not <(YVel) = [0.82]>> then\n        if <([y position v] of [player v]) < ((y) + (152))> then\n            change [yvel v] by (3)\n            if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n                change [yvel v] by (1)\n                if <not <(([y position v] of [player v]) + (YVel)) < ((y) + (154))>> then\n                    change [yvel v] by (9)\n                end\n                if <(YVel) > [15]> then\n                    set [yvel v] to [15]\n                end\n            else\n                if <(YVel) > [8]> then\n                    set [yvel v] to [8]\n                end\n            end\n        end\n    end\n    if <<(([y position v] of [player v]) + (YVel)) < ((y) + (158))> and <([abs v] of (([x position v] of [player v]) - (x)) ) < [24]>> then\n        if <<(([y position v] of [player v]) + (YVel)) < ((y) + (120))> and <([abs v] of (XVel) ) < [1]>> then\n            change [plyx v] by (((PlyX) - ((item (E#) of [enyx v]) * (32))) * (-0.32))\n        else\n            change [plyx v] by (((PlyX) - ((item (E#) of [enyx v]) * (32))) * (-0.14))\n        end\n    end\n    if <<not <(YVel) = [0]>> and <([y position v] of [player v]) < ((y) + (152))>> then\n        if <(([y position v] of [player v]) + (YVel)) < ((y) + (120))> then\n            set [xvel v] to ((XVel) / (1.3))\n        else\n            set [xvel v] to ((XVel) / (1.1))\n        end\n    end\nend\nAboveAction (x) [Wind]\nif <((GTime) mod (0.03)) < [0.01]> then\n    if <(y position) < [-175]> then\n        set y to (-175)\n    else\n        change y by (12)\n    end\n    CreateParticle [Wind]\n    change y by (-12)\nend\n\ndefine WrenchMovement\nset [n.6 v] to (item (E#) of [enysta v])\nif <(N.6) < [0.32]> then\n    change y by ((item (E#) of [enysta v]) * (-100))\nelse\n    if <(N.6) < [1.12]> then\n        change y by (-32)\n    else\n        if <(N.6) < [1.28]> then\n            change y by ((((item (E#) of [enysta v]) - (1.12)) * (72)) - (32))\n        else\n            if <(N.6) < [1.76]> then\n                change y by (-20)\n            else\n                if <(N.6) < [1.92]> then\n                    change y by ((((item (E#) of [enysta v]) - (1.76)) * (124.5)) - (20))\n                end\n            end\n        end\n    end\nend\nset y to (round ((y position) - (1)))\nif <(y position) < [-158]> then\n    set y to (-158)\nend\n\n@Background\n\nwhen I receive [start game loop v]\nwait (0) seconds\nset [framefinished v] to [1]\nset [gtime v] to [0]\nforever\n    if <<(Menu) = [Game]> or <(Menu) = [Home]>> then\n        set [conveyerspeed v] to [0]\n        set [framefinished v] to [0]\n        if <(Dead) = [0]> then\n            change [gtime v] by (0.01)\n        end\n        set [fps v] to ((1) / (timer))\n        reset timer\n        Backgrounds\n    end\nend\n\ndefine MapLimits (top) (bottom)\nif <(MapY) < (top)> then\n    set [mapy v] to (top)\nend\nif <(MapY) > (bottom)> then\n    set [mapy v] to (bottom)\nend\n\nwhen I receive [maplimits v]\nMapMovement\nMapLimits\n\ndefine MapLimits\nif <<(GoalReached) = [1]> and <(EditMode) = [0]>> then\n    set [mapx v] to ((VisualGoalX) * (-32))\n    set [mapy v] to ((((VisualGoalY) - (1)) * (-32)) + (4))\nend\nMapLimits (((Floor) * (-1312)) + (356)) (((Floor) * (-1312)) + (1316))\nif <(EditMode) = [0]> then\n    if <(SelectedXCamera) = [2]> then\n        if <(MapX) > [0]> then\n            set [mapx v] to [0]\n        end\n    end\n    if <(Floor) = (GoalFloor)> then\n        if <((GoalX) * (-32)) > (MapX)> then\n            set [mapx v] to ((GoalX) * (-32))\n        end\n    end\nend\n\ndefine MapMovement\nset [n.3 v] to (round ((((PlyX) * (-1)) - (MapX)) / ((2) + (round ([abs v] of ((SprS) / (1.5)) )))))\nset [n.4 v] to (round ((((PlyY) * (-1)) - (MapY)) / (2)))\nif <(SelectedXCamera) = [1]> then\n    change [mapx v] by (N.3)\nend\nif <(SelectedXCamera) = [2]> then\n    change [mapx v] by (N.3)\nend\nif <(SelectedXCamera) = [3]> then\n    if <(N.3) < [0]> then\n        change [mapx v] by (N.3)\n    end\nend\nif <(AllowPlayerControl) = [1]> then\n    if <(SelectedXCamera) = [4]> then\n        change [mapx v] by (-1)\n    end\n    if <(SelectedXCamera) = [6]> then\n        change [mapx v] by (-2)\n    end\n    if <(SelectedXCamera) = [7]> then\n        change [mapx v] by (-3)\n    end\n    if <(SelectedXCamera) = [8]> then\n        change [mapx v] by (-4)\n    end\nend\nif <(SelectedYCamera) = [1]> then\n    if <(N.4) < [0]> then\n        if <(N.4) < [-25]> then\n            change [mapy v] by ((N.4) - (-25))\n        end\n    else\n        change [mapy v] by (N.4)\n    end\nend\nif <(SelectedYCamera) = [2]> then\n    if <(N.4) < [-25]> then\n        change [mapy v] by ((N.4) - (-25))\n    end\nend\nif <(SelectedYCamera) = [3]> then\n    if <not <(N.4) < [0]>> then\n        change [mapy v] by (N.4)\n    end\nend\nif <(SelectedYCamera) = [4]> then\n    change [mapy v] by (-1)\nend\n\nwhen I receive [flagclicked v]\nset rotation style [don't rotate v]\nswitch costume to (dot v)\nset size to (400) %\nhide\nbroadcast (UpdateAreaSettings v) and wait\nbroadcast (Start Game Loop v)\nset [floor v] to [1]\n\ndefine DrawLineAt (x)\nset pen color to (#f3f3f3)\nset pen size to (4)\nif <(x) = []> then\n    set x to (-260)\nelse\n    set x to (x)\nend\nset y to (-190)\nif <([abs v] of (x position) ) < [250]> then\n    change y by ((MapY) mod (32))\n    repeat (16)\n        pen down\n        change y by (16)\n        pen up\n        change y by (16)\n    end\n    set pen color to (#f30000)\n    set x to ((x) - (4))\n    set y to (-190)\n    change y by ((((GTime) * (180)) + (MapY)) mod (32))\n    repeat (16)\n        pen down\n        change y by (16)\n        pen up\n        change y by (16)\n    end\nend\n\nwhen I receive [gameoverlays v]\nif <(EditMode) = [1]> then\n    if <(SelectedXCamera) = [2]> then\n        DrawLineAt ((MapX) + (-240))\n    end\nend\n\nwhen I receive [endotherscripts v]\nstop [other scripts in sprite v]\n\ndefine Backgrounds\nerase all\nbroadcast (BlockUpdate v)\nclear graphic effects\nif <(EditMode) = [0]> then\n    if <<(AllowMovement) = [1]> or <<(AnimatePipe) > [30]> and <(UsingPipe) = [1]>>> then\n        MapMovement\n    end\n    if <(AllowPlayerControl) = [1]> then\n        if <(PTimer) > [0]> then\n            change [ptimer v] by ((-1) / (30))\n            if <(PTimer) < [0]> then\n                stop all sounds\n                set [ptimer v] to [0]\n            end\n        end\n    end\nelse\n    if <not <<(Searching) = [1]> and <not <(Inventory) = [0]>>>> then\n        set [n. v] to ((<key (space v) pressed?> * (3)) + (1))\n        if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n            change [mapy v] by ((-5) * (N.))\n        end\n        if <<key (s v) pressed?> or <key (down arrow v) pressed?>> then\n            change [mapy v] by ((5) * (N.))\n        end\n        if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n            change [mapx v] by ((-5) * (N.))\n        end\n        if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n            change [mapx v] by ((5) * (N.))\n        end\n    end\nend\nif <not <(ScreenShake) = [0]>> then\n    change [screenshake v] by (0.1)\n    if <(ScreenShake) > [0.71]> then\n        set [screenshake v] to [0]\n        change [mapx v] by (1)\n    end\n    change [mapx v] by (round (([sin v] of ((ScreenShake) * (900)) ) * (4)))\nend\nif <not <(POWShake) = [0]>> then\n    change [powshake v] by (0.1)\n    if <(POWShake) > [0.71]> then\n        set [powshake v] to [0]\n        change [mapx v] by (1)\n    end\n    change [mapx v] by (round (([sin v] of ((POWShake) * (900)) ) * (8)))\nend\nMapLimits\nset [n.6 v] to (((MapX) mod ((256) * (-8))) / (2))\nStamp (N.6)\nStamp ((N.6) + ((256) * (4)))\nif <(GoalFloor) = (Floor)> then\n    Goal (((GoalX) * (32)) + (MapX)) ((([floor v] of ((GTime) * (20)) ) mod (3)) + (1))\nend\n\ndefine StartGame\nbroadcast (UpdateAreaSettings v) and wait\nbroadcast (Start Game Loop v)\n\nwhen I receive [lagclearing v]\nset [clearinglag v] to [1]\nset [mapx v] to [0]\nset [mapy v] to [4]\nset [plyx v] to [0]\nset [plyy v] to [-2]\nMakeEn [4] [1] [a]\nMakeEn [4] [2] [a]\nMakeEn [4] [3] [a]\nMakeEn [4] [4] [a]\nMakeEn [3] [1] [a]\nMakeEn [3] [2] [a]\nMakeEn [3] [3] [a]\nMakeEn [3] [4] [a]\nMakeBl [0] [-1]\nMakeBl [3] [-1]\nMakeBl [4] [-1]\nset [editmode v] to [1]\nbroadcast (SwitchEdit/PlayMode v)\nset [allowplayercontrol v] to [0]\nset [yvel v] to [24]\nrepeat (36)\n    set [gtime v] to [0]\nend\nset [editmode v] to [0]\nbroadcast (SwitchEdit/PlayMode v)\nset [allowplayercontrol v] to [1]\nset [mapx v] to [0]\nset [mapy v] to [4]\nset [plyx v] to [0]\nset [plyy v] to [-2]\nset [clearinglag v] to [0]\n\ndefine MakeEn (x) (y) (type)\nadd (x) to [ex v]\nadd (y) to [ey v]\nadd (type) to [ety v]\nadd [-90] to [ed v]\nadd [] to [ec v]\n\ndefine MakeBl (x) (y)\nadd (x) to [bx v]\nadd (y) to [by v]\nadd [1a2] to [bty v]\n\ndefine Stamp (x)\nswitch costume to (dot v)\nset size to (400) %\nif <(SelectedBackground) = [10]> then\n    set [n.5 v] to ((GTime) mod (2.2))\n    if <<<(N.5) < [1.31]> and <not <(N.5) < [1.2]>>> and <(AllowMovement) = [1]>> then\n        if <(N.5) < [1.22]> then\n            if <<(N.5) < [1.21]> and <(EditMode) = [0]>> then\n                start sound [thunder v]\n            end\n            switch costume to (10-2+4 v)\n        else\n            if <(N.5) < [1.24]> then\n                switch costume to (10-3+5 v)\n            else\n                if <(N.5) < [1.26]> then\n                    switch costume to (10-2+4 v)\n                else\n                    if <(N.5) < [1.28]> then\n                        switch costume to (10-3+5 v)\n                    else\n                        switch costume to (10-6 v)\n                    end\n                end\n            end\n        end\n    else\n        switch costume to (10-1 v)\n    end\nelse\n    if <(SelectedBackground) = [12]> then\n        switch costume to (join [12-] ((([floor v] of ((GTime) * (40)) ) mod (8)) + (1)))\n    else\n        switch costume to (SelectedBackground)\n    end\nend\ngo to x: (x) y: ((((MapY) + (((Floor) - (1)) * (1312))) / (2)) + (232))\nif <(x) < [752]> then\n    stamp\nend\n\ndefine Goal (x) (cost)\nif <(([abs v] of (x) ) + (MapX)) < [576]> then\n    switch costume to (tiny v)\n    go to x: (x) y: ((MapY) mod (32))\n    switch costume to (end v)\n    stamp\n    switch costume to (large v)\n    go to x: (x) y: (((GoalY) * (32)) + (MapY))\n    if <(GoalReached) = [1]> then\n        switch costume to (goal4 v)\n    else\n        switch costume to (join [Goal] (cost))\n    end\n    if <<([abs v] of ((x position) - ([x position v] of [player v])) ) < [36]> and <<((y position) - ([y position v] of [player v])) < ((64) - ((Small) * (24)))> and <((y position) - ([y position v] of [player v])) > [-36]>>> then\n        if <<(AllowPlayerControl) = [1]> and <<(EditMode) = [0]> and <(GoalReached) = [0]>>> then\n            if <(cost) = [1]> then\n                add (x position) to [creparx v]\n                add (y position) to [crepary v]\n                add [Mush] to [crepartype v]\n            end\n            if <(cost) = [2]> then\n                add (x position) to [creparx v]\n                add (y position) to [crepary v]\n                add [Fire] to [crepartype v]\n            end\n            if <(cost) = [3]> then\n                add (x position) to [creparx v]\n                add (y position) to [crepary v]\n                add [Star] to [crepartype v]\n            end\n            if <(AbleToSave) = [0.5]> then\n                set [abletosave v] to [1]\n            end\n            set [visualgoalx v] to (GoalX)\n            set [visualgoaly v] to (GoalY)\n            broadcast (Goal! v)\n        end\n    end\n    stamp\nend\n\n@SemiSolids\n\ndefine LoadSemiSolids\nset [s# v] to ((item # of ((round ((MapX) / (-32))) - (8)) in [semix v]) - (1))\nif <(S#) < [0]> then\n    set [s# v] to [0]\nend\nrepeat ((length of [semix v]) - (S#))\n    change [s# v] by (1)\n    change [loaded v] by (1)\n    set [x v] to (((item (S#) of [semix v]) * (32)) + (MapX))\n    set [y v] to (((item (S#) of [semiy v]) * (32)) + (MapY))\n    if <(X) > [256]> then\n        stop [this script v]\n    end\n    if <<([abs v] of (X) ) < [256]> and <([abs v] of (Y) ) < [196]>> then\n        switch costume to (large v)\n        go to x: (X) y: (Y)\n        set [n.5 v] to (item (S#) of [semitype v])\n        if <(letter (1) of (N.5)) = [8]> then\n            if <<<(N.5) = [8x19]> or <(N.5) = [8x20]>> or <<(N.5) = [8x21]> or <(N.5) = [8x22]>>> then\n                if <(On/Off) = [1]> then\n                    switch costume to (N.5)\n                else\n                    switch costume to (join (N.5) [a])\n                end\n            else\n                switch costume to (N.5)\n            end\n            stamp\n        else\n            CheckBlockSubtype (S#)\n            set [n.6 v] to <<<(FSubtype) = [ul]> or <(FSubtype) = [ur]>> or <<(FSubtype) = [a2]> or <(FSubtype) = [u]>>>\n            if <<<<<(N.6) = [1]> or <(FSubtype) = [l2]>> or <(FSubtype) = [rl]>> or <<(FSubtype) = [r2]> or <(FSubtype) = [u2]>>> and <(EditMode) = [0]>> then\n                switch costume to (hitbox v)\n                create clone of (_myself_ v)\n            else\n                switch costume to (item (S#) of [semitype v])\n                stamp\n            end\n        end\n    end\nend\n\nwhen I receive [nonblocksupdate v]\nif <[1] = [1]> then\n    delete this clone\nend\nclear graphic effects\nshow\nif <not <(DeleteBonusNo.) = [0]>> then\n    delete (DeleteBonusNo.) of [bonseex v]\n    delete (DeleteBonusNo.) of [bosest v]\n    delete (DeleteBonusNo.) of [boseti v]\n    delete (DeleteBonusNo.) of [bosety v]\n    delete (DeleteBonusNo.) of [bosex v]\n    delete (DeleteBonusNo.) of [bosey v]\n    set [deletebonusno. v] to [0]\nend\nif <(length of [semix v]) > [0]> then\n    LoadSemiSolids\nend\nif <(length of [bosex v]) > [0]> then\n    LoadBonus\nend\nif <(length of [pipex v]) > [0]> then\n    LoadPipes\nend\nset [s# v] to [0]\nif <(EditMode) = [1]> then\n    set [x v] to (((OSpawnX) * (32)) + (MapX))\n    set [y v] to (((OSpawnY) * (32)) + (MapY))\n    if <<([abs v] of (X) ) < [256]> and <([abs v] of (Y) ) < [196]>> then\n        switch costume to (large v)\n        go to x: (X) y: (Y)\n        switch costume to (spawn v)\n        stamp\n    end\nend\nhide\nbroadcast (EntityUpdate v)\n\ndefine CheckBlockSubtype (no.)\nset [n.3 v] to (item (no.) of [semitype v])\nset [n.4 v] to (join (letter (1) of (N.3)) (letter (2) of (N.3)))\nset [n.6 v] to (join (letter (3) of (N.3)) (letter (4) of (N.3)))\nif <(round (N.4)) = (N.4)> then\n    set [fsubtype v] to (join (N.6) (letter (5) of (N.3)))\nelse\n    set [fsubtype v] to (join (letter (2) of (N.3)) (N.6))\nend\n\nwhen I receive [afteruniquesupdate v]\nif <not <(S#) = [0]>> then\n    if <(X) = [B]> then\nend\n\ndefine LoadBonus\nif <(EditMode) = [0]> then\n    set [s# v] to [0]\n    repeat ((length of [bosex v]) - (S#))\n        change [s# v] by (1)\n        change [loaded v] by (1)\n        set [x v] to (((item (S#) of [bosex v]) * (32)) + (MapX))\n        set [y v] to (((item (S#) of [bosey v]) * (32)) + (MapY))\n        switch costume to (large v)\n        go to x: (X) y: (Y)\n        set [n.5 v] to (item (S#) of [bosety v])\n        if <<(N.5) = [k]> or <<(N.5) = [w]> or <<(N.5) = [x]> or <(N.5) = [ak]>>>> then\n            if <<(N.5) = [w]> or <(N.5) = [x]>> then\n                switch costume to (hitbox v)\n                if <(item (S#) of [boseti v]) = [0]> then\n                    if <<([abs v] of (X) ) < [256]> and <<(Y) > [-196]> and <(Y) < [196]>>> then\n                        set [x v] to [B]\n                        create clone of (_myself_ v)\n                    end\n                else\n                    set [x v] to [B]\n                    create clone of (_myself_ v)\n                end\n            else\n                switch costume to (k2 v)\n                set [x v] to [B]\n                create clone of (_myself_ v)\n            end\n        end\n        if <(N.5) = [y]> then\n            switch costume to (k2 v)\n            if <<([abs v] of (X) ) < [212]> and <<(Y) > [-190]> and <(Y) < [150]>>> then\n                set [x v] to [B]\n                create clone of (_myself_ v)\n            end\n        end\n        if <(N.5) = [n]> then\n            switch costume to (hitbox v)\n            if <(item (S#) of [bosest v]) > [4]> then\n                replace item (S#) of [bosest v] with ((item (S#) of [bosest v]) + (0.1))\n            end\n            if <<([abs v] of (X) ) < [256]> and <([abs v] of (Y) ) < [180]>> then\n                set [x v] to [B]\n                create clone of (_myself_ v)\n            else\n                if <(item (S#) of [bosest v]) = [4]> then\n                    replace item (S#) of [bosey v] with ((item (S#) of [bosey v]) + ((-3) / (32)))\n                    if <(((item (S#) of [bosey v]) * (32)) + (MapY)) < [-480]> then\n                        replace item (S#) of [bosest v] with [0]\n                        replace item (S#) of [bosey v] with (item (S#) of [bonseex v])\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [entitymovementupdate v]\nif <(AllowMovement) = [0]> then\n    stop [this script v]\nend\nif <not <(S#) = [0]>> then\n    if <(X) = [B]> then\n        set [n.5 v] to (item (S#) of [bosety v])\n        set [x v] to (((item (S#) of [bosex v]) * (32)) + (MapX))\n        if <(item (S#) of [bosety v]) = [ak]> then\n            replace item (S#) of [boseti v] with ((item (S#) of [boseti v]) + (0.01))\n            if <(item (S#) of [boseti v]) > [3.6]> then\n                set [ghost v] effect to (((item (S#) of [boseti v]) - (3.6)) * (250))\n            end\n            if <<(item (S#) of [boseti v]) > [4]> or <not <(PUp) = [C]>>> then\n                set [deletebonusno. v] to (S#)\n                change [power33 v] by (-1)\n            end\n        end\n        if <<(N.5) = [k]> or <(N.5) = [y]>> then\n            PlatformMovement (N.5)\n        end\n        if <<(N.5) = [w]> or <(N.5) = [x]>> then\n            if <(item (S#) of [boseti v]) = [0]> then\n        end\n        if <(N.5) = [n]> then\n            DonutMovement <<<([abs v] of (([x position v] of [player v]) - (x position)) ) < [25.5]> and <<(YVel) = [0]> or <(YVel) = (Gravity)>>> and <<(([y position v] of [player v]) - (y position)) > [12]> and <(([y position v] of [player v]) - (y position)) < [36]>>>\n        end\n        set [x v] to [B]\n    end\n    if <(X) = [P]> then\n        set [n.5 v] to (item (S#) of [pipetype v])\n        Pipe/DoorMovement <<<(YVel) = [0]> or <(YVel) = (Gravity)>> and <(UsingPipe) = [0]>>\n    end\nend\n\ndefine PlatformMovement (type)\npoint in direction (item (S#) of [bosest v])\nif <(type) = [w]> then\n    replace item (S#) of [boseti v] with ((item (S#) of [boseti v]) + ((1) / (16)))\nend\nset [fblock v] to [0]\nif <<<(type) = [w]> and <((direction) mod (45)) = [0]>> or <not <(type) = [w]>>> then\n    ScanFor (round (((X) - (MapX)) / (32))) (round (((Y) - (MapY)) / (32)))\n    if <<<(FBlock) = [0]> and <((direction) mod (45)) = [0]>> and <not <<(type) = [w]> or <(type) = [x]>>>> then\n        set [fblock v] to [1]\n        set [fsubtype v] to [a1]\n    end\nend\nif <<(FBlock) = [0]> or <not <(letter (1) of (item (N.) of [semitype v])) = [8]>>> then\n    if <<<(type) = [w]> and <(item (S#) of [boseti v]) < [18.8]>> or <(type) = [x]>> then\nend\nif <(AllowMovement) = [0]> then\n    set [x v] to [B]\n    stop [this script v]\nend\nif <(type) = [x]> then\n    replace item (S#) of [bonseex v] with ((item (S#) of [bonseex v]) + ((2) / (16)))\nelse\n    replace item (S#) of [bonseex v] with ((item (S#) of [bonseex v]) + ((1) / (16)))\nend\nif <not <(item (S#) of [bonseex v]) < [1]>> then\n    replace item (S#) of [bonseex v] with [0]\nend\nif <(item (S#) of [bonseex v]) = [0.5]> then\n    RoundPos\nend\nPlatformVariations\nStandard (type)\nif <<(type) = [w]> and <(item (S#) of [boseti v]) > [15]>> then\n    if <<<(FBlock) = [0]> or <(FSubtype) = [a1]>> or <not <(letter (1) of (item (N.) of [semitype v])) = [8]>>> then\n        set [y v] to [x]\n    end\nend\n\ndefine ScanFor (x) (y)\nset [fblock v] to [0]\nset [fsubtype v] to []\nif <not <<(x) < (item (1) of [semix v])> or <(x) > (item (length of [semix v]) of [semix v])>>> then\n    set [n. v] to ((item # of (x) in [semix v]) - (1))\n    repeat until <<(item (N.) of [semix v]) > (x)> or <<(N.) > (length of [semix v])> or <(item ((N.) + (1)) of [semiy v]) > (y)>>>\n        change [n. v] by (1)\n        if <<(item (N.) of [semix v]) = (x)> and <(item (N.) of [semiy v]) = (y)>> then\n            set [fblock v] to [1]\n            CheckBlockSubtype (N.)\n            stop [this script v]\n        end\n    end\nend\n\ndefine PlatformVariations\nif <(FSubtype) = [a1]> then\n    if <(item (S#) of [bosest v]) = [0.3]> then\n        RoundPos\n    else\n        MakeMove\n    end\n    stop [this script v]\nend\nif <(item (S#) of [boseti v]) = [0]> then\n    if <(FSubtype) = [u1]> then\n        ChangeDirectionBetween [0] And [0]\n    end\n    if <(FSubtype) = [d1]> then\n        ChangeDirectionBetween [180] And [180]\n    end\n    if <(FSubtype) = [l1]> then\n        ChangeDirectionBetween [-90] And [-90]\n    end\n    if <(FSubtype) = [r1]> then\n        ChangeDirectionBetween [90] And [90]\n    end\nend\nif <(FSubtype) = [ud]> then\n    MaintainDirectionAs [0] Or [180]\nend\nif <(FSubtype) = [lr]> then\n    MaintainDirectionAs [90] Or [-90]\nend\nif <(FSubtype) = [ur]> then\n    ChangeDirectionBetween [0] And [90]\nend\nif <(FSubtype) = [ul]> then\n    ChangeDirectionBetween [-90] And [0]\nend\nif <(FSubtype) = [dr]> then\n    ChangeDirectionBetween [180] And [90]\nend\nif <(FSubtype) = [dl]> then\n    ChangeDirectionBetween [180] And [-90]\nend\nif <(FSubtype) = [x1]> then\n    MaintainDirectionAs [135] Or [-45]\nend\nif <(FSubtype) = [x2]> then\n    MaintainDirectionAs [-135] Or [45]\nend\nif <<(item (S#) of [boseti v]) = [0]> or <(item (S#) of [boseti v]) = [0.1]>> then\n    if <(FSubtype) = [x3]> then\n        ChangeDirectionBetween [-45] And [-45]\n    end\n    if <(FSubtype) = [x4]> then\n        ChangeDirectionBetween [45] And [45]\n    end\n    if <(FSubtype) = [x5]> then\n        ChangeDirectionBetween [135] And [135]\n    end\n    if <(FSubtype) = [x6]> then\n        ChangeDirectionBetween [-135] And [-135]\n    end\nend\nif <(FSubtype) = [x7]> then\n    ChangeDirectionBetween [-90] And [45]\nend\nif <(FSubtype) = [x8]> then\n    ChangeDirectionBetween [-90] And [135]\nend\nif <(FSubtype) = [x9]> then\n    ChangeDirectionBetween [90] And [-135]\nend\nif <(FSubtype) = [x10]> then\n    ChangeDirectionBetween [90] And [-45]\nend\nif <(FSubtype) = [x11]> then\n    ChangeDirectionBetween [0] And [135]\nend\nif <(FSubtype) = [x12]> then\n    ChangeDirectionBetween [0] And [-135]\nend\nif <(FSubtype) = [x13]> then\n    ChangeDirectionBetween [-45] And [180]\nend\nif <(FSubtype) = [x14]> then\n    ChangeDirectionBetween [45] And [180]\nend\nif <(FSubtype) = [x15]> then\n    ChangeDirectionBetween [-45] And [45]\nend\nif <(FSubtype) = [x16]> then\n    ChangeDirectionBetween [135] And [45]\nend\nif <(FSubtype) = [x17]> then\n    ChangeDirectionBetween [135] And [-135]\nend\nif <(FSubtype) = [x18]> then\n    ChangeDirectionBetween [-45] And [-135]\nend\nif <(FSubtype) = [x19]> then\n    if <(On/Off) = [1]> then\n        ChangeDirectionBetween [-90] And [45]\n    else\n        ChangeDirectionBetween [-90] And [135]\n    end\nend\nif <(FSubtype) = [x20]> then\n    if <(On/Off) = [1]> then\n        ChangeDirectionBetween [0] And [135]\n    else\n        ChangeDirectionBetween [0] And [-135]\n    end\nend\nif <(FSubtype) = [x21]> then\n    if <(On/Off) = [1]> then\n        ChangeDirectionBetween [90] And [-135]\n    else\n        ChangeDirectionBetween [90] And [-45]\n    end\nend\nif <(FSubtype) = [x22]> then\n    if <(On/Off) = [1]> then\n        ChangeDirectionBetween [180] And [-45]\n    else\n        ChangeDirectionBetween [180] And [45]\n    end\nend\nMakeMove\n\ndefine MaintainDirectionAs (1) Or (2)\nif <not <<(direction) = (1)> or <(direction) = (2)>>> then\n    RoundPos\n    point in direction (1)\n    replace item (S#) of [bosest v] with (direction)\n    replace item (S#) of [bonseex v] with [0.5]\nend\n\ndefine ChangeDirectionBetween (1) And (2)\nif <not <<(direction) = (1)> or <(direction) = (2)>>> then\n    if <(item (S#) of [bonseex v]) = [0.5]> then\n        if <((direction) mod (180)) = ((1) mod (180))> then\n            if <((direction) mod (180)) = (1)> then\n                point in direction (2)\n            else\n                point in direction (2)\n            end\n        else\n            if <((direction) mod (180)) = (2)> then\n                point in direction (1)\n            else\n                point in direction (1)\n            end\n        end\n        replace item (S#) of [bosest v] with (direction)\n    end\nend\n\nwhen I receive [endotherscripts v]\nstop [other scripts in sprite v]\ndelete this clone\n\ndefine DonutMovement <active>\nif <(item (S#) of [bosest v]) = [4]> then\n    replace item (S#) of [bosey v] with ((item (S#) of [bosey v]) + ((-3) / (32)))\n    change y by (-3)\n    if <active> then\n        if <<(YVel) = [0]> or <(YVel) = (Gravity)>> then\n            change [plyy v] by (-3)\n        end\n    end\nelse\n    if <active> then\n        replace item (S#) of [bosest v] with ((item (S#) of [bosest v]) + (0.1))\n    else\n        switch costume to (above v)\n        if <touching (entities v)?> then\n            replace item (S#) of [bosest v] with ((item (S#) of [bosest v]) + (0.1))\n        else\n            replace item (S#) of [bosest v] with [0]\n        end\n        switch costume to (hitbox v)\n    end\n    if <(item (S#) of [bosest v]) > [2.9]> then\n        replace item (S#) of [bosest v] with [4]\n    end\nend\n\nwhen I receive [costumeall v]\nif <not <(S#) = [0]>> then\n    set [n.5 v] to (item (S#) of [bosety v])\n    CostumeAll\nend\n\nwhen I receive [flagclicked v]\nset rotation style [don't rotate v]\nswitch costume to (large v)\nset size to (400) %\nhide\n\ndefine LoadPipes\nset [s# v] to [0]\nhide\nrepeat ((length of [pipex v]) - (S#))\n    change [s# v] by (1)\n    change [loaded v] by (1)\n    set [x v] to (((item (S#) of [pipex v]) * (32)) + (MapX))\n    set [y v] to (((item (S#) of [pipey v]) * (32)) + (MapY))\n    if <<([abs v] of (X) ) < [256]> and <([abs v] of (Y) ) < [196]>> then\n        set [n.5 v] to (item (S#) of [pipetype v])\n        switch costume to (large v)\n        go to x: (X) y: (Y)\n        switch costume to (N.5)\n        set [x v] to [P]\n        if <<(EditMode) = [1]> or <(distance to [player v]) > [64]>> then\n            if <(EditMode) = [1]> then\n                set [color v] effect to (([floor v] of (((S#) - (1)) / (2)) ) * (32))\n            end\n            if <<(join (letter (2) of (N.5)) (letter (3) of (N.5))) > [2]> and <not <<(N.5) = [.21]> or <(N.5) = [.11]>>>> then\n                switch costume to (large v)\n                PickCorrectPipeCostume (N.5)\n                if <not <(EditMode) = [0]>> then\n                    stamp\n                end\n            else\n                if <<(N.5) = [.11]> and <not <(PTimer) = [0]>>> then\n                    switch costume to (large v)\n                    switch costume to (.112 v)\n                end\n                stamp\n            end\n            clear graphic effects\n        else\n            create clone of (_myself_ v)\n        end\n    end\nend\n\ndefine Pipe/DoorMovement <grounded>\nif <<<<(N.5) = [.3]> or <(N.5) = [.5]>> or <<(N.5) = [.7]> or <(N.5) = [.9]>>> and <((S#) mod (2)) = [0]>> then\n    stop [this script v]\nend\nset [n.6 v] to ([abs v] of ((y position) - ([y position v] of [player v])) )\nset [n.7 v] to (([y position v] of [player v]) - (y position))\nif <<<<(N.5) = [.1]> or <<(N.5) = [.11]> and <not <(PTimer) = [0]>>>> or <<(N.5) = [.2]> or <(N.5) = [.21]>>> or <<(N.5) = [.3]> or <(N.5) = [.4]>>> then\n    if <<([abs v] of (((x position) - (<(join (letter (2) of (N.5)) (letter (3) of (N.5))) > [2]> * (16))) - ([x position v] of [player v])) ) < [24]> and <(N.6) < [16]>> then\n        if <<<key (s v) pressed?> or <key (down arrow v) pressed?>> and <grounded>> then\n            if <(N.5) = [.2]> then\n                if <(Keys) > [0]> then\n                    change [keys v] by (-1)\n                    set [pipeuseno. v] to (S#)\n                    set [plyx v] to ((item (PipeUseNo.) of [pipex v]) * (32))\n                    add (x position) to [creparx v]\n                    add ((y position) + (16)) to [crepary v]\n                    add [Key] to [crepartype v]\n                    replace item (S#) of [pipetype v] with [.21]\n                    if <((S#) mod (2)) = [1]> then\n                        set [pipedestnno. v] to ((S#) + (1))\n                        if <(item ((S#) + (1)) of [pipetype v]) = [.2]> then\n                            replace item ((S#) + (1)) of [pipetype v] with [.21]\n                        end\n                    else\n                        set [pipedestnno. v] to ((S#) + (-1))\n                        if <(item ((S#) + (-1)) of [pipetype v]) = [.2]> then\n                            replace item ((S#) + (-1)) of [pipetype v] with [.21]\n                        end\n                    end\n                    broadcast (UnlockDoor v)\n                end\n            else\n                UsedPipe\n            end\n        end\n    end\nend\nif <<(N.5) = [.5]> or <(N.5) = [.6]>> then\n    if <<([abs v] of (((x position) + (16)) - ([x position v] of [player v])) ) < [12]> and <(N.6) < [16]>> then\n        if <<<key (d v) pressed?> or <key (right arrow v) pressed?>> and <grounded>> then\n            UsedPipe\n        end\n    end\nend\nif <<(N.5) = [.7]> or <(N.5) = [.8]>> then\n    if <<([abs v] of ((x position) - ([x position v] of [player v])) ) < [24]> and <<(N.7) > ((-16) - (<(Small) = [0]> * (25)))> and <(N.7) < [16]>>> then\n        if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> and <<(YVel) = [0.82]> and <(UsingPipe) = [0]>>> then\n            UsedPipe\n        end\n    end\nend\nif <<(N.5) = [.9]> or <(N.5) = [.12]>> then\n    if <<([abs v] of (((x position) + (-16)) - ([x position v] of [player v])) ) < [12]> and <(N.6) < [16]>> then\n        if <<<key (a v) pressed?> or <key (left arrow v) pressed?>> and <grounded>> then\n            UsedPipe\n        end\n    end\nend\nif <(item (PipeDestnNo.) of [pipetype v]) = [.2]> then\n    set [pipedestnno. v] to (PipeUseNo.)\nend\n\ndefine LoadWaterAndLava\nif <<not <(SelectedLavaLevel) = [-200]>> or <<(Tool) = [Pen]> and <<(EditMode) = [1]> and <(item (PlacingBlock) of [ilist v]) = [Lava]>>>> then\n    show\n    switch costume to (large v)\n    set x to ((MapX) mod (32))\n    if <<(Tool) = [Pen]> and <<(EditMode) = [1]> and <(item (PlacingBlock) of [ilist v]) = [Lava]>>> then\n        set y to (((MouseY) * (32)) + (MapY))\n    else\n        set y to ((SelectedLavaLevel) + (MapY))\n    end\n    switch costume to (join [Lava] ((([floor v] of ((GTime) * (16)) ) mod (4)) + (1)))\n    if <(y position) < [-200]> then\n        hide\n    end\n    if <(y position) > [208]> then\n        set y to (232)\n    end\n    if <(EditMode) = [1]> then\n        stamp\n        hide\n    else\n        create clone of (_myself_ v)\n    end\nend\nif <<<not <(SelectedWater) = [-200]>> or <(SelectedBackground) = [4]>> or <<(Tool) = [Pen]> and <<(EditMode) = [1]> and <(item (PlacingBlock) of [ilist v]) = [Water]>>>> then\n    show\n    set [ghost v] effect to (50)\n    switch costume to (large v)\n    set x to ((MapX) mod (32))\n    if <(SelectedBackground) = [4]> then\n        set [selectedwater v] to (((MapY) * (-1)) + (1000))\n    end\n    if <<(Tool) = [Pen]> and <<(EditMode) = [1]> and <(item (PlacingBlock) of [ilist v]) = [Water]>>> then\n        set y to (((MouseY) * (32)) + (MapY))\n    else\n        set y to ((SelectedWater) + (MapY))\n    end\n    switch costume to (join [Water] ((([floor v] of ((GTime) * (16)) ) mod (4)) + (1)))\n    if <(y position) < [-200]> then\n        hide\n    end\n    if <(y position) > [208]> then\n        set y to (232)\n    end\n    if <(EditMode) = [1]> then\n        stamp\n        hide\n    end\nend\n\nwhen I receive [gameoverlays v]\nif <(S#) = [0]> then\n    LoadWaterAndLava\n    broadcast (Overlays v)\nend\n\ndefine AwaitPlayerInteraction\nset [n.5 v] to (([y position v] of [player v]) - (((item (S#) of [bosey v]) * (32)) + (MapY)))\nif <<([abs v] of (([x position v] of [player v]) - (((item (S#) of [bosex v]) * (32)) + (MapX))) ) < [25.5]> and <<(N.5) > [16]> and <(N.5) < [36]>>> then\n    if <<(YVel) = (Gravity)> or <<(YVel) = [0]> or <(YVel) > [15]>>> then\n        Activate (round (item (S#) of [bosex v])) (round (item (S#) of [bosey v]))\n        if <(item (S#) of [bosety v]) = [x]> then\n            replace item (S#) of [boseti v] with ((0.1) - ((2) / (16)))\n        else\n            replace item (S#) of [boseti v] with ((0.1) - ((1) / (16)))\n        end\n    end\nend\n\ndefine Activate (x) (y)\nset [n.2 v] to [0]\nset [fblock v] to [1]\nset [ftype v] to [w]\nrepeat until <<(FBlock) = [0]> or <not <<(FType) = [w]> or <(FType) = [x]>>>>\n    change [n.2 v] by (1)\n    ScanFor ((x) + (N.2)) (y) InBonusSemis\n    if <<(FBlock) = [1]> and <<(FType) = [w]> or <(FType) = [x]>>> then\n        if <(FType) = [w]> then\n            replace item (N.) of [boseti v] with (((0.1) - ((1) / (16))) + (N.2))\n        else\n            replace item (N.) of [boseti v] with (((0.1) - ((2) / (16))) + (N.2))\n        end\n    end\nend\nset [n.2 v] to [0]\nset [fblock v] to [1]\nset [ftype v] to [w]\nrepeat until <<(FBlock) = [0]> or <not <<(FType) = [w]> or <(FType) = [x]>>>>\n    change [n.2 v] by (-1)\n    ScanFor ((x) + (N.2)) (y) InBonusSemis\n    if <<(FBlock) = [1]> and <<(FType) = [w]> or <(FType) = [x]>>> then\n        if <(FType) = [w]> then\n            replace item (N.) of [boseti v] with (((0.1) - ((1) / (16))) + (N.2))\n        else\n            replace item (N.) of [boseti v] with (((0.1) - ((2) / (16))) + (N.2))\n        end\n    end\nend\n\ndefine ScanFor (x) (y) InBonusSemis\nset [fblock v] to [0]\nset [ftype v] to [0]\nset [n. v] to [0]\nrepeat (length of [bosex v])\n    change [n. v] by (1)\n    if <<(round (item (N.) of [bosex v])) = (x)> and <(round (item (N.) of [bosey v])) = (y)>> then\n        set [fblock v] to [1]\n        set [ftype v] to (letter (1) of (item (N.) of [bosety v]))\n        stop [this script v]\n    end\nend\n\ndefine UsedPipe\nset [pipeuseno. v] to (S#)\nif <((S#) mod (2)) = [1]> then\n    set [pipedestnno. v] to ((S#) + (1))\nelse\n    set [pipedestnno. v] to ((S#) + (-1))\nend\nbroadcast (UsePipe v)\n\ndefine CostumeAll\nif <(X) = [B]> then\n    switch costume to (large v)\n    if <<<(N.5) = [k]> or <<(N.5) = [y]> or <(N.5) = [ak]>>> or <<(N.5) = [w]> or <(N.5) = [x]>>> then\n        if <<([abs v] of (x position) ) > [272]> or <([abs v] of (y position) ) > [212]>> then\n            delete this clone\n        end\n        if <(N.5) = [ak]> then\n            if <(item (S#) of [boseti v]) < [0.02]> then\n                switch costume to (ak1 v)\n            else\n                if <(item (S#) of [boseti v]) < [0.04]> then\n                    switch costume to (ak2 v)\n                else\n                    switch costume to (ak3 v)\n                end\n            end\n        end\n        if <(N.5) = [k]> then\n            switch costume to (k v)\n        else\n            if <(N.5) = [y]> then\n                switch costume to (y v)\n            else\n                set [n.7 v] to ((([floor v] of ((GTime) * (20)) ) mod (2)) + (1))\n                if <(N.5) = [w]> then\n                    if <(item (S#) of [boseti v]) = [0]> then\n                        AwaitPlayerInteraction\n                    end\n                    if <(Y) = [x]> then\n                        change y by (([sin v] of ((item (S#) of [boseti v]) * (600)) ) * (4))\n                    end\n                    switch costume to (join [w] (N.7))\n                else\n                    if <(N.5) = [x]> then\n                        if <(item (S#) of [boseti v]) = [0]> then\n                            AwaitPlayerInteraction\n                        end\n                        switch costume to (join [x] (N.7))\n                    end\n                end\n            end\n        end\n    end\n    if <(N.5) = [n]> then\n        if <(item (S#) of [bosest v]) = [0]> then\n            switch costume to (n v)\n        else\n            switch costume to (n2 v)\n            change x by (([sin v] of ((item (S#) of [bosest v]) * (600)) ) * (4))\n        end\n    end\nend\nstamp\ndelete this clone\n\ndefine Move (x)\nadd (round (((item (S#) of [bosex v]) - (((x position) - (MapX)) / (32))) * (-32))) to [aboactype v]\nadd (x) to [aboacx v]\nadd ((y position) + (32)) to [aboacy v]\n\ndefine Standard (type)\nswitch costume to (large v)\ngo to x: (X) y: (Y)\nif <<(type) = [k]> or <(type) = [y]>> then\n    switch costume to (k2 v)\nelse\n    switch costume to (hitbox v)\nend\nshow\nif <<([abs v] of (x position) ) > [272]> or <([abs v] of (y position) ) > [212]>> then\n    hide\nelse\n    Move (x position)\n    if <<(type) = [k]> or <(type) = [y]>> then\n        Move ((x position) + (32))\n        Move ((x position) + (-32))\n    end\nend\nset [n.5 v] to (([y position v] of [player v]) - (((item (S#) of [bosey v]) * (32)) + (MapY)))\nif <<([abs v] of (([x position v] of [player v]) - (((item (S#) of [bosex v]) * (32)) + (MapX))) ) < ((27.5) + (<<(type) = [k]> or <(type) = [y]>> * (28.5)))> and <<(N.5) > [16]> and <(N.5) < [37]>>> then\n    if <<<(YVel) = [0]> or <(YVel) = (Gravity)>> and <(PlayerCarried) = [0]>> then\n        set [playercarried v] to [1]\n        change [plyx v] by (round (((item (S#) of [bosex v]) - (((x position) - (MapX)) / (32))) * (-32)))\n        set [n.5 v] to (round (((item (S#) of [bosey v]) - (((y position) - (MapY)) / (32))) * (-32)))\n        if <(N.5) < [0]> then\n            change [plyy v] by (N.5)\n        end\n    end\nend\nreplace item (S#) of [bosex v] with (((X) - (MapX)) / (32))\nreplace item (S#) of [bosey v] with (((Y) - (MapY)) / (32))\n\ndefine RoundPos\nset [x v] to (((round (((X) - (MapX)) / (32))) * (32)) + (MapX))\nset [y v] to (((round (((Y) - (MapY)) / (32))) * (32)) + (MapY))\n\ndefine PickCorrectPipeCostume (type)\nif <<<(type) = [.2]> or <(type) = [.1]>> or <(type) = [.21]>> then\n    switch costume to (type)\nelse\n    if <(type) = [.11]> then\n        if <(PTimer) = [0]> then\n            switch costume to (.11 v)\n        else\n            switch costume to (.112 v)\n        end\n    else\n        if <((S#) mod (2)) = [1]> then\n            switch costume to (join [] (type))\n        else\n            switch costume to (join (join [] (type)) [2])\n        end\n    end\nend\n\ndefine MakeMove\nset [n.8 v] to (round ([sin v] of (direction) ))\nset [n.9 v] to (round ([cos v] of (direction) ))\nif <(item (S#) of [bosety v]) = [x]> then\n    change [x v] by ((N.8) * (4))\n    change [y v] by ((N.9) * (4))\nelse\n    change [x v] by ((N.8) * (2))\n    change [y v] by ((N.9) * (2))\nend\n\n@Placement\n\nwhen I receive [blockupdate v]\nif <<not <(EditMode) = [0]>> and <(Inventory) = [0]>> then\n    set [mousex v] to (round (((mouse x) - (MapX)) / (32)))\n    set [mousey v] to (round (((mouse y) - (MapY)) / (32)))\n    if <(mouse x) > [239]> then\n        set [mousex v] to (round (((239) - (MapX)) / (32)))\n    end\n    if <(mouse y) > [179]> then\n        set [mousey v] to (round (((179) - (MapY)) / (32)))\n    end\n    if <(mouse y) < [-170]> then\n        set [mousey v] to (round (((-170) - (MapY)) / (32)))\n    end\n    if <not <[rotate v] contains (item (PlacingBlock) of [ilist v])?>> then\n        set [placedirection v] to [-90]\n    end\n    if <<<<mouse down?> and <(((MusicMenu) + (CameraMenu)) + ((TimeMenu) + ((BackgroundMenu) + (AreaMenu)))) = [0]>> or <<(length of [px v]) > [0]> or <not <(FillX) = [x]>>>> and <<(UiJustClicked) = [0]> and <(UIJustClicked2) = [0]>>> then\n        if <not <(JustEdited) = (join (MouseX) (MouseY))>> then\n            SetPlacingBlockType\n            Placement (item (PlacingBlock) of [ilist v])\n        end\n    else\n        set [justedited v] to [x]\n    end\nend\nclear graphic effects\nhide\n\nwhen I receive [costumeall v]\nset [framefinished v] to [1]\nif <<not <(EditMode) = [0]>> and <(Inventory) = [0]>> then\n    set [ghost v] effect to (40)\n    if <(length of [px v]) > [0]> then\n        LoadPlacementBlocks\n    end\n    if <not <mouse down?>> then\n        switch costume to (large v)\n        change [mousex2 v] by (((MouseX2) - (MouseX)) / (-1.15))\n        change [mousey2 v] by (((MouseY2) - (MouseY)) / (-1.15))\n        if <([abs v] of ((MouseX2) - (MouseX)) ) > [0.5]> then\n            set [mousex2 v] to (MouseX)\n        end\n        if <([abs v] of ((MouseY2) - (MouseY)) ) > [0.5]> then\n            set [mousey2 v] to (MouseY)\n        end\n        go to x: (((MouseX2) * (32)) + (MapX)) y: (((MouseY2) * (32)) + (MapY))\n        set [n.5 v] to (item (PlacingBlock) of [ilist v])\n        if <(Tool) = [Pen]> then\n            if <<(letter (1) of (N.5)) = [.]> and <(join (letter (2) of (N.5)) (letter (3) of (N.5))) > [2]>> then\n                PipePlacingCostume\n            else\n                switch costume to (join [] (N.5))\n                if <(N.5) = [f]> then\n                    if <([abs v] of (PlaceDirection) ) = [45]> then\n                        switch costume to (f2 v)\n                    end\n                end\n            end\n        else\n            switch costume to (erase v)\n        end\n        if <(letter (1) of (N.5)) = [.]> then\n            stamp\n        else\n            if <[rotate v] contains (N.5)?> then\n                set rotation style [left-right v]\n                point in direction (PlaceDirection)\n            else\n                set rotation style [don't rotate v]\n                point in direction (90)\n            end\n            if <<(N.5) = [\[]> or <(N.5) = [\]]>> then\n                point in direction (90)\n                stamp\n                point in direction (PlaceDirection)\n            else\n                stamp\n            end\n            if <<[rotate v] contains (N.5)?> and <(Tool) = [Pen]>> then\n                set [ghost v] effect to (20)\n                switch costume to (arrow v)\n                change y by (([sin v] of ((GTime) * (360)) ) * (4))\n                stamp\n            end\n            set rotation style [don't rotate v]\n        end\n    end\nend\n\ndefine Placement (placing)\nif <<(mouse y) > [-140]> or <(length of [px v]) > [0]>> then\n    if <<(Tool2) = [Fill]> and <not <<<(placing) = [Water]> or <(letter (1) of (placing)) = [.]>> or <<(placing) = [Lava]> or <(placing) = [Goal]>>>>> then\n        FillPlacement\n        set [justedited v] to [x]\n    else\n        add (MouseX) to [px v]\n        add (MouseY) to [py v]\n        set [justedited v] to (join (MouseX) (MouseY))\n    end\nend\nif <<not <(Tool2) = [Fill]>> or <(FillX) = [x]>> then\n    set [placementsmade v] to [0]\n    repeat until <<(length of [px v]) = [0]> or <(PlacementsMade) > ((FPS) / (5))>>\n        set [abletosave v] to [0]\n        set [n.4 v] to [0]\n        set [placingontrack v] to [0]\n        ScanFor (item (1) of [px v]) (item (1) of [py v])\n        if <<<(FoundInList) = [Block]> or <(FoundInList) = [Semi]>> and <(FBlock) = [1]>> then\n            Check (N.) BlockType [0]\n        end\n        if <(Tool) = [Pen]> then\n            if <not <<<<(FoundInList) = [Block]> or <(FoundInList) = [Semi]>> and <(FBlock) = [1]>> and <(placing) = (FType)>>> then\n                Place (placing)\n            end\n            change [placementsmade v] by (1)\n            delete (1) of [px v]\n            delete (1) of [py v]\n        else\n            if <<(item (1) of [px v]) = (GoalX)> and <(item (1) of [py v]) = (GoalY)>> then\n                set [goalx v] to [0]\n                set [goaly v] to [-50]\n                set [goalfloor v] to [0]\n            end\n            if <(FBlock) = [1]> then\n                if <(FoundInList) = [Block]> then\n                    delete (N.) of [bty v]\n                    delete (N.) of [bx v]\n                    delete (N.) of [by v]\n                end\n                if <(FoundInList) = [Semi]> then\n                    delete (N.) of [semitype v]\n                    delete (N.) of [semix v]\n                    delete (N.) of [semiy v]\n                end\n                if <(FoundInList) = [Enemy]> then\n                    delete (N.) of [ec v]\n                    delete (N.) of [ed v]\n                    delete (N.) of [ety v]\n                    delete (N.) of [ex v]\n                    delete (N.) of [ey v]\n                end\n                if <(FoundInList) = [Pipe]> then\n                    delete (N.) of [pipetype v]\n                    delete (N.) of [pipex v]\n                    delete (N.) of [pipey v]\n                    if <((N.) mod (2)) = [1]> then\n                        delete (N.) of [pipetype v]\n                        delete (N.) of [pipex v]\n                        delete (N.) of [pipey v]\n                    else\n                        delete ((N.) + (-1)) of [pipetype v]\n                        delete ((N.) + (-1)) of [pipex v]\n                        delete ((N.) + (-1)) of [pipey v]\n                    end\n                end\n                if <(FoundInList) = [Unique]> then\n                    delete (N.) of [ucont v]\n                    delete (N.) of [uty v]\n                    delete (N.) of [ux v]\n                    delete (N.) of [uy v]\n                end\n                FixSurroundingsOf (item (1) of [px v]) (item (1) of [py v])\n            end\n            change [placementsmade v] by (0.4)\n            delete (1) of [px v]\n            delete (1) of [py v]\n        end\n    end\nend\n\ndefine ReplaceUnContents (no.) Excluding (item)\nset [n.3 v] to [0]\nset [n.4 v] to []\nset [n.8 v] to (item (no.) of [uty v])\nrepeat (length of (item (no.) of [ucont v]))\n    change [n.3 v] by (1)\n    if <not <(letter (N.3) of (item (no.) of [ucont v])) = (item)>> then\n        set [n.4 v] to (join (N.4) (letter (N.3) of (item (no.) of [ucont v])))\n    end\nend\nif <(N.4) = []> then\n    if <<(N.8) = [$]> or <(N.8) = [\(]>> then\n        set [n.4 v] to [%]\n    end\nend\nif <(length of (N.4)) < (< (N.4) contains [8]?> + (1))> then\n    if < (N.4) contains [8]?> then\n        if <(N.8) = [z]> then\n            set [n.4 v] to [8aa]\n        end\n        if <(N.8) = [ab]> then\n            set [n.4 v] to [8ac]\n        end\n    else\n        if <(N.8) = [z]> then\n            set [n.4 v] to [aa]\n        end\n        if <(N.8) = [ab]> then\n            set [n.4 v] to [ac]\n        end\n    end\nend\n\ndefine FillPlacement\nif <(FillX) = [x]> then\n    if <<mouse down?> and <(AllowFilling) = [1]>> then\n        if <(length of [px v]) = [0]> then\n            set [fillx v] to (MouseX)\n            set [filly v] to (MouseY)\n            AddNotification [Made a mistake? Click \[C\] to cancel the filling.] [90]\n        else\n            AddNotification [Filling still in progress, please wait...] [60]\n        end\n    end\nelse\n    delete all of [px v]\n    delete all of [py v]\n    set [n.2 v] to ((FillX) - (MouseX))\n    set [n.3 v] to ((FillY) - (MouseY))\n    if <([abs v] of (N.2) ) > [256]> then\n        set [n.2 v] to ((([abs v] of (N.2) ) / (N.2)) * (256))\n    end\n    if <([abs v] of (N.3) ) > [256]> then\n        set [n.3 v] to ((([abs v] of (N.3) ) / (N.3)) * (256))\n    end\n    if <(([abs v] of (N.2) ) * ([abs v] of (N.3) )) > [256]> then\n        AddNotification [Fill Size Limit Reached.] [30]\n        if <([abs v] of (N.2) ) > ([abs v] of (N.3) )> then\n            set [n.3 v] to (round ((([abs v] of (N.3) ) / (N.3)) * ([abs v] of ((256) / (N.2)) )))\n        else\n            set [n.2 v] to (round ((([abs v] of (N.2) ) / (N.2)) * ([abs v] of ((256) / (N.3)) )))\n        end\n    end\n    set [n.4 v] to (N.2)\n    repeat (([abs v] of (N.3) ) + (1))\n        repeat (([abs v] of (N.2) ) + (1))\n            FindPlacementFor ((FillX) - (N.2)) ((FillY) - (N.3)) InPlacementList\n            insert ((FillX) - (N.2)) at (N.) of [px v] \n            insert ((FillY) - (N.3)) at (N.) of [py v] \n            if <(N.2) > [0]> then\n                change [n.2 v] by (-1)\n            else\n                change [n.2 v] by (1)\n            end\n        end\n        set [n.2 v] to (N.4)\n        if <(N.3) > [0]> then\n            change [n.3 v] by (-1)\n        else\n            change [n.3 v] by (1)\n        end\n    end\n    if <not <mouse down?>> then\n        set [fillx v] to [x]\n    end\nend\n\ndefine FindPlacementFor (x) (y) InPlacementList\nset [n. v] to ((item # of (x) in [px v]) - (1))\nrepeat until <<not <(item (N.) of [px v]) < (x)>> or <(N.) > (length of [px v])>>\n    change [n. v] by (1)\nend\n\ndefine AddNotification (text) (timer)\nif <[notif v] contains (text)?> then\n    delete (item # of (text) in [notif v]) of [notiftimer v]\n    delete (item # of (text) in [notif v]) of [notif v]\n    FindNotificationSlot (timer)\n    insert (text) at (N.) of [notif v] \n    insert (timer) at (N.) of [notiftimer v] \nelse\n    FindNotificationSlot (timer)\n    insert (text) at (N.) of [notif v] \n    insert (timer) at (N.) of [notiftimer v] \nend\n\ndefine ScanFor (x) (y)\nset [foundinsemi v] to []\nset [fblock v] to [0]\nif <not <<(x) < (item (1) of [bx v])> or <(x) > (item (length of [bx v]) of [bx v])>>> then\n    set [n. v] to ((item # of (x) in [bx v]) - (1))\n    repeat until <<(item (N.) of [bx v]) > (x)> or <<(N.) > (length of [bx v])> or <(item ((N.) + (1)) of [by v]) > (y)>>>\n        change [n. v] by (1)\n        if <<(item (N.) of [bx v]) = (x)> and <(item (N.) of [by v]) = (y)>> then\n            set [fblock v] to [1]\n            set [foundinlist v] to [Block]\n            stop [this script v]\n        end\n    end\nend\nif <not <<(x) < (item (1) of [semix v])> or <(x) > (item (length of [semix v]) of [semix v])>>> then\n    set [n. v] to ((item # of (x) in [semix v]) - (1))\n    repeat until <<(item (N.) of [semix v]) > (x)> or <<(N.) > (length of [semix v])> or <(item ((N.) + (1)) of [semiy v]) > (y)>>>\n        change [n. v] by (1)\n        if <<(item (N.) of [semix v]) = (x)> and <(item (N.) of [semiy v]) = (y)>> then\n            set [fblock v] to [1]\n            set [foundinlist v] to [Semi]\n            set [foundinsemi v] to (N.)\n            if <(FixingSurroundings) = [1]> then\n                stop [this script v]\n            end\n            set [n. v] to ((length of [semix v]) + (2))\n        end\n    end\nend\nif <(FixingSurroundings) = [0]> then\n    if <not <<(x) < (item (1) of [ex v])> or <(x) > (item (length of [ex v]) of [ex v])>>> then\n        set [n. v] to ((item # of (x) in [ex v]) - (1))\n        repeat until <<(item (N.) of [ex v]) > (x)> or <<(N.) > (length of [ex v])> or <(item ((N.) + (1)) of [ey v]) > (y)>>>\n            change [n. v] by (1)\n            if <<(item (N.) of [ex v]) = (x)> and <(item (N.) of [ey v]) = (y)>> then\n                set [fblock v] to [1]\n                set [foundinlist v] to [Enemy]\n                stop [this script v]\n            end\n        end\n    end\n    if <not <<(x) < (item (1) of [ux v])> or <(x) > (item (length of [ux v]) of [ux v])>>> then\n        set [n. v] to ((item # of (x) in [ux v]) - (1))\n        repeat until <<(item (N.) of [ux v]) > (x)> or <<(N.) > (length of [ux v])> or <(item ((N.) + (1)) of [uy v]) > (y)>>>\n            change [n. v] by (1)\n            if <<(item (N.) of [ux v]) = (x)> and <(item (N.) of [uy v]) = (y)>> then\n                set [fblock v] to [1]\n                set [foundinlist v] to [Unique]\n                stop [this script v]\n            end\n        end\n    end\n    set [n. v] to [0]\n    repeat (length of [pipex v])\n        change [n. v] by (1)\n        if <<(item (N.) of [pipex v]) = (x)> and <(item (N.) of [pipey v]) = (y)>> then\n            set [fblock v] to [1]\n            set [foundinlist v] to [Pipe]\n            stop [this script v]\n        end\n    end\nend\nif <(FBlock) = [1]> then\n    set [n. v] to (FoundInSemi)\nend\n\ndefine LoadPlacementBlocks\nif <<not <(FillX) = [x]>> or <(length of [px v]) > [0]>> then\n    set [bno. v] to ((item # of ((round ((MapX) / (-32))) - (8)) in [px v]) - (1))\n    if <(BNo.) < [0]> then\n        set [bno. v] to [0]\n    end\n    set [loaded v] to [0]\n    repeat ((length of [px v]) - (BNo.))\n        change [bno. v] by (1)\n        change [loaded v] by (1)\n        set [x v] to (((item (BNo.) of [px v]) * (32)) + (MapX))\n        set [y v] to (((item (BNo.) of [py v]) * (32)) + (MapY))\n        if <(X) > [256]> then\n            stop [this script v]\n        end\n        if <<([abs v] of (X) ) < [256]> and <([abs v] of (Y) ) < [196]>> then\n            switch costume to (large v)\n            go to x: (X) y: (Y)\n            if <(Tool) = [Pen]> then\n                switch costume to (fill v)\n            else\n                switch costume to (erasefill v)\n            end\n            stamp\n        end\n    end\nend\n\ndefine FindPlacementFor (x) (y)\nif <(PlacingType) = [Block]> then\n    set [n. v] to ((item # of (x) in [bx v]) - (1))\n    repeat until <<not <(item (N.) of [bx v]) < (x)>> or <(N.) > (length of [bx v])>>\n        change [n. v] by (1)\n    end\n    repeat until <<not <(item (N.) of [by v]) < (y)>> or <<(item (N.) of [bx v]) > (x)> or <(N.) > (length of [bx v])>>>\n        change [n. v] by (1)\n    end\nend\nif <(PlacingType) = [Semi]> then\n    set [n. v] to ((item # of (x) in [semix v]) - (1))\n    repeat until <<not <(item (N.) of [semix v]) < (x)>> or <(N.) > (length of [semix v])>>\n        change [n. v] by (1)\n    end\n    repeat until <<not <(item (N.) of [semiy v]) < (y)>> or <<(item (N.) of [semix v]) > (x)> or <(N.) > (length of [semix v])>>>\n        change [n. v] by (1)\n    end\nend\nif <(PlacingType) = [Enemy]> then\n    set [n. v] to ((item # of (x) in [ex v]) - (1))\n    repeat until <<not <(item (N.) of [ex v]) < (x)>> or <(N.) > (length of [ex v])>>\n        change [n. v] by (1)\n    end\n    repeat until <<not <(item (N.) of [ey v]) < (y)>> or <<(item (N.) of [ex v]) > (x)> or <(N.) > (length of [ex v])>>>\n        change [n. v] by (1)\n    end\nend\nif <(PlacingType) = [Unique]> then\n    set [n. v] to ((item # of (x) in [ux v]) - (1))\n    repeat until <<not <(item (N.) of [ux v]) < (x)>> or <(N.) > (length of [ux v])>>\n        change [n. v] by (1)\n    end\n    repeat until <<not <(item (N.) of [uy v]) < (y)>> or <<(item (N.) of [ux v]) > (x)> or <(N.) > (length of [ux v])>>>\n        change [n. v] by (1)\n    end\nend\nif <(PlacingType) = [Pipe]> then\n    set [n. v] to ((length of [pipex v]) + (1))\nend\n\ndefine FindNotificationSlot (timer)\nset [n. v] to [1]\nrepeat until <<(item (N.) of [notiftimer v]) < (timer)> or <(N.) > (length of [notiftimer v])>>\n    change [n. v] by (1)\nend\nif <<(N.) > (length of [notiftimer v])> and <(item (length of [notiftimer v]) of [notiftimer v]) < (timer)>> then\n    set [n. v] to [1]\nend\n\ndefine SetPlacingBlockType\nif <[blocks v] contains (item (PlacingBlock) of [ilist v])?> then\n    set [placingtype v] to [Block]\nend\nif <[semis v] contains (item (PlacingBlock) of [ilist v])?> then\n    set [placingtype v] to [Semi]\nend\nif <[enys v] contains (item (PlacingBlock) of [ilist v])?> then\n    set [placingtype v] to [Enemy]\nend\nif <[unis v] contains (item (PlacingBlock) of [ilist v])?> then\n    set [placingtype v] to [Unique]\nend\nif <[pipes v] contains (item (PlacingBlock) of [ilist v])?> then\n    set [placingtype v] to [Pipe]\nend\n\ndefine Check (no.) BlockType (checksubtype)\nif <(FoundInList) = [Block]> then\n    set [n.4 v] to (item (no.) of [bty v])\nend\nif <(FoundInList) = [Semi]> then\n    set [n.4 v] to (item (no.) of [semitype v])\nend\nset [n.5 v] to (join (letter (1) of (N.4)) (letter (2) of (N.4)))\nif <(round (N.5)) = (N.5)> then\n    set [ftype v] to (N.5)\n    if <(checksubtype) = [1]> then\n        set [fsubtype v] to (join (join (letter (3) of (N.4)) (letter (4) of (N.4))) (letter (5) of (N.4)))\n    end\nelse\n    set [ftype v] to (letter (1) of (N.4))\n    if <(checksubtype) = [1]> then\n        set [fsubtype v] to (join (join (letter (2) of (N.4)) (letter (3) of (N.4))) (letter (4) of (N.4)))\n    end\nend\nif <(FoundInList) = [Enemy]> then\n    set [ftype v] to [x]\n    if <(checksubtype) = [1]> then\n        set [fsubtype v] to (letter (1) of (item (no.) of [ety v]))\n    end\nend\nif <(FoundInList) = [Unique]> then\n    set [ftype v] to [x]\n    if <(checksubtype) = [1]> then\n        set [fsubtype v] to (letter (1) of (item (no.) of [uty v]))\n    end\nend\nif <(FoundInList) = [Pipe]> then\n    set [ftype v] to [x]\n    if <(checksubtype) = [1]> then\n        set [fsubtype v] to (letter (1) of (item (no.) of [pipetype v]))\n    end\nend\n\ndefine FixSurroundingsOf (x) (y)\nset [fgentle v] to [0]\nset [ftype v] to (item (PlacingBlock) of [ilist v])\nCheckForSlopes\nset [fixingsurroundings v] to [1]\nFixingBlock (x) ((y) + (1))\nFixingBlock (x) ((y) + (-1))\nFixingBlock ((x) + (1)) (y)\nFixingBlock ((x) + (-1)) (y)\nFixingBlock ((x) + (1)) ((y) + (-1))\nFixingBlock ((x) + (-1)) ((y) + (-1))\nFixingBlock (x) ((y) + (-2))\nif <<(FGentle) = [1]> or < (HUD) contains [8]?>> then\n    FixingBlock ((x) + (1)) ((y) + (-2))\n    FixingBlock ((x) + (-1)) ((y) + (-2))\n    FixingBlock ((x) + (1)) ((y) + (1))\n    FixingBlock ((x) + (-1)) ((y) + (1))\n    FixingBlock ((x) + (2)) (y)\n    FixingBlock ((x) + (-2)) (y)\nend\nset [fixingsurroundings v] to [0]\n\ndefine UpdateConnectingBlocks\ndelete all of [connecting v]\nadd (FBlockNo) to [connecting v]\nConnecting [1] [2] [3] [32]\nConnecting [5] [6] [7] [¬]\nConnecting [15] [16] [17] [¬]\nif <(FBlockNo) = [11]> then\n    add [4] to [connecting v]\nend\nif <(FBlockNo) = [12]> then\n    add [4] to [connecting v]\n    add [11] to [connecting v]\nend\n\ndefine CheckForSlopes\nif <<[gentleslopes v] contains (FType)?> or <<(FType) = [8]> or <<(FType) = [9]> or <(FType) = [10]>>>> then\n    set [fgentle v] to [1]\nend\n\ndefine ScanSidesOf (x) (y) ThenPickCostume\nif <(FixingSurroundings) = [0]> then\n    set [fblockno v] to (item (PlacingBlock) of [ilist v])\nelse\n    Check (N.) BlockType [0]\n    set [fblockno v] to (FType)\nend\nset [fixingsurroundings v] to [1]\nset [sid v] to []\nset [pisid v] to []\nset [cor v] to []\nset [abovetype v] to []\nUpdateConnectingBlocks\nset [n.6 v] to <<((y) + (-1)) = ((((Floor) - (1)) * (41)) - (5))> and <not <(FBlockNo) = [8]>>>\nset [n.7 v] to <<((y) + (1)) = (((Floor) * (41)) - (5))> and <not <(FBlockNo) = [8]>>>\nScanFor (x) ((y) + (1))\nCheck (N.) BlockType [1]\nif <<<(FBlock) = [1]> and <<[connecting v] contains (FType)?> or <<(FBlockNo) = [9]> and <(FoundInList) = [Block]>>>> or <(N.7) = [1]>> then\n    set [sid v] to (join (Sid) [U])\n    if <<<(FSubtype) = [ul]> or <(FSubtype) = [ur]>> or <<(FSubtype) = [ul2]> or <(FSubtype) = [ur2]>>> then\n        set [abovetype v] to (FType)\n    end\nend\nif <<(FBlock) = [1]> and <(FType) = [10]>> then\n    set [pisid v] to (join (PiSid) [U])\nend\nScanFor (x) ((y) + (-1))\nCheck (N.) BlockType [0]\nif <<<(FBlock) = [1]> and <<[connecting v] contains (FType)?> or <<<(FBlockNo) = [33]> or <(FBlockNo) = [9]>> and <(FoundInList) = [Block]>>>> or <(N.6) = [1]>> then\n    set [sid v] to (join (Sid) [D])\nend\nif <<(FBlock) = [1]> and <(FType) = [10]>> then\n    set [pisid v] to (join (PiSid) [D])\nend\nScanFor ((x) + (1)) (y)\nCheck (N.) BlockType [0]\nif <<(FBlock) = [1]> and <<[connecting v] contains (FType)?> or <<(FBlockNo) = [10]> and <(FoundInList) = [Block]>>>> then\n    set [sid v] to (join (Sid) [R])\nend\nif <<(FBlock) = [1]> and <(FType) = [9]>> then\n    set [pisid v] to (join (PiSid) [R])\nend\nScanFor ((x) + (-1)) (y)\nCheck (N.) BlockType [0]\nif <<(FBlock) = [1]> and <<[connecting v] contains (FType)?> or <<(FBlockNo) = [10]> and <(FoundInList) = [Block]>>>> then\n    set [sid v] to (join (Sid) [L])\n    if <<<(FBlockNo) = [11]> and <(FType) = [4]>> or <<(FBlockNo) = [12]> and <<(FType) = [4]> or <(FType) = [11]>>>> then\n        set [cor v] to (join (Cor) [!])\n    end\nend\nif <<(FBlock) = [1]> and <(FType) = [9]>> then\n    set [pisid v] to (join (PiSid) [L])\nend\nif <not <(AboveType) = []>> then\n    if <not <(length of (Sid)) = [2]>> then\n        set [fblockno v] to (AboveType)\n    end\nend\nScanFor ((x) + (1)) ((y) + (1))\nCheck (N.) BlockType [0]\nif <<<(FBlock) = [1]> and <<[connecting v] contains (FType)?> or <<(FBlockNo) = [9]> or <(FBlockNo) = [10]>>>> or <(N.7) = [1]>> then\n    set [cor v] to (join (Cor) [1])\nend\nScanFor ((x) + (-1)) ((y) + (1))\nCheck (N.) BlockType [0]\nif <<<(FBlock) = [1]> and <<[connecting v] contains (FType)?> or <<(FBlockNo) = [9]> or <(FBlockNo) = [10]>>>> or <(N.7) = [1]>> then\n    set [cor v] to (join (Cor) [4])\n    if <<<(FBlockNo) = [11]> and <not <(FType) = [4]>>> or <<(FBlockNo) = [12]> and <not <<(FType) = [4]> or <(FType) = [11]>>>>> then\n        set [cor v] to (join (Cor) [?])\n    end\nend\nif <<[gentleslopes v] contains (FBlockNo)?> or <<(FBlockNo) = [8]> or <<(FBlockNo) = [9]> or <(FBlockNo) = [10]>>>> then\n    ScanFor ((x) + (1)) ((y) + (-1))\n    Check (N.) BlockType [0]\n    if <<<(FBlock) = [1]> and <<[connecting v] contains (FType)?> or <<(FBlockNo) = [9]> or <(FBlockNo) = [10]>>>> or <(N.6) = [1]>> then\n        set [cor v] to (join (Cor) [2])\n    end\n    ScanFor ((x) + (-1)) ((y) + (-1))\n    Check (N.) BlockType [0]\n    if <<<(FBlock) = [1]> and <<[connecting v] contains (FType)?> or <<(FBlockNo) = [9]> or <(FBlockNo) = [10]>>>> or <(N.6) = [1]>> then\n        set [cor v] to (join (Cor) [3])\n    end\n    ScanFor ((x) + (2)) (y)\n    Check (N.) BlockType [0]\n    if <<(FBlock) = [1]> and <[connecting v] contains (FType)?>> then\n        set [cor v] to (join (Cor) [R])\n    end\n    ScanFor ((x) + (-2)) (y)\n    Check (N.) BlockType [0]\n    if <<(FBlock) = [1]> and <[connecting v] contains (FType)?>> then\n        set [cor v] to (join (Cor) [L])\n    end\n    ScanFor ((x) + (1)) ((y) + (2))\n    Check (N.) BlockType [0]\n    if <<(FBlock) = [1]> and <[connecting v] contains (FType)?>> then\n        set [cor v] to (join (Cor) [5])\n    end\n    ScanFor ((x) + (-1)) ((y) + (2))\n    Check (N.) BlockType [0]\n    if <<(FBlock) = [1]> and <[connecting v] contains (FType)?>> then\n        set [cor v] to (join (Cor) [6])\n    end\nend\nScanFor (x) ((y) + (2))\nCheck (N.) BlockType [0]\nif <<(FBlock) = [1]> and <[connecting v] contains (FType)?>> then\n    set [cor v] to (join (Cor) [T])\nend\nif <<(FBlockNo) = [13]> or <(FBlockNo) = [14]>> then\n    if < (Sid) contains [U]?> then\n        PlcBlo [d]\n    else\n        PlcBlo [u]\n    end\n    stop [this script v]\nend\nif <(FBlockNo) = [34]> then\n    PlcBlo [a]\n    stop [this script v]\nend\nif <(FBlockNo) = [19]> then\n    if <(length of (Sid)) = [4]> then\n        PlcBlo [a]\n    else\n        PlcBlo [u]\n    end\n    stop [this script v]\nend\nif <<<<(FBlockNo) = [20]> or <(FBlockNo) = [28]>> or <(FBlockNo) = [27]>> or <<(FBlockNo) = [21]> or <(FBlockNo) = [24]>>> then\n    PlcBlo [a]\n    if <<(FBlockNo) = [20]> and <(((x) + (y)) mod (2)) = [1]>> then\n        PlcBlo [d]\n    end\n    stop [this script v]\nend\nif <(FBlockNo) = [30]> then\n    PlcBlo [d]\n    if < (Sid) contains [R]?> then\n        PlcBlo [l]\n    end\n    if < (Sid) contains [L]?> then\n        PlcBlo [r]\n        if < (Sid) contains [R]?> then\n            PlcBlo [a]\n        end\n    end\n    stop [this script v]\nend\nif <(FBlockNo) = [31]> then\n    PlcBlo [d]\n    if < (Sid) contains [U]?> then\n        PlcBlo [a]\n    end\n    if < (Sid) contains [D]?> then\n        PlcBlo [l]\n        if < (Sid) contains [U]?> then\n            PlcBlo [r]\n        end\n    end\n    stop [this script v]\nend\nif <(FBlockNo) = [22]> then\n    if < (Sid) contains [U]?> then\n        PlcBlo [d]\n    else\n        PlcBlo [a]\n    end\n    stop [this script v]\nend\nif <(FBlockNo) = [23]> then\n    if < (Sid) contains [D]?> then\n        PlcBlo [a]\n    else\n        PlcBlo [d]\n    end\n    stop [this script v]\nend\nif <<(FBlockNo) = [26]> or <(FBlockNo) = [29]>> then\n    PlcBlo [u]\n    stop [this script v]\nend\nif <<[fullblocks v] contains (FBlockNo)?> or <[semis v] contains (FBlockNo)?>> then\n    if <(FBlockNo) = [8]> then\n        TrackPickCostume\n    else\n        if <<(FBlockNo) = [9]> or <(FBlockNo) = [10]>> then\n            PipePickCostume\n        else\n            FullBlockPickCostume\n        end\n    end\nend\nif <[slopes v] contains (FBlockNo)?> then\n    SlopePickCostume\nend\nif <[gentleslopes v] contains (FBlockNo)?> then\n    GentleSlopePickCostume\nend\n\ndefine ScanSidesOf (x) (y) ThenPickCostumeAndReplace (no.) InList (found)\nif <not <<<(found) = [Enemy]> or <(found) = [Unique]>> or <(found) = [Pipe]>>> then\n    ScanSidesOf (x) (y) ThenPickCostume\n    if <(found) = [Block]> then\n        replace item (no.) of [bty v] with (PlacingCostume)\n    end\n    if <(found) = [Semi]> then\n        replace item (no.) of [semitype v] with (PlacingCostume)\n    end\nend\n\ndefine FullBlockPickCostume\nPlcBlo [a2]\nif <(length of (Sid)) = [4]> then\n    PlcBlo [a]\n    if <not < (Cor) contains [1]?>> then\n        PlcBlo [a3]\n    end\n    if <not < (Cor) contains [4]?>> then\n        PlcBlo [a4]\n    end\n    if <not << (Cor) contains [1]?> or < (Cor) contains [4]?>>> then\n        PlcBlo [a5]\n    end\nend\nif <(length of (Sid)) = [3]> then\n    if <not < (Sid) contains [U]?>> then\n        PlcBlo [u]\n    end\n    if <not < (Sid) contains [D]?>> then\n        PlcBlo [d]\n        if <not < (Cor) contains [1]?>> then\n            PlcBlo [d3]\n        end\n        if <not < (Cor) contains [4]?>> then\n            PlcBlo [d4]\n        end\n        if <not << (Cor) contains [1]?> or < (Cor) contains [4]?>>> then\n            PlcBlo [d5]\n        end\n    end\n    if <not < (Sid) contains [R]?>> then\n        PlcBlo [r]\n        if <not < (Cor) contains [4]?>> then\n            PlcBlo [r3]\n        end\n    end\n    if <not < (Sid) contains [L]?>> then\n        PlcBlo [l]\n        if <not < (Cor) contains [1]?>> then\n            PlcBlo [l3]\n        end\n    end\nend\nCommonPlacement\nif <(length of (Sid)) = [2]> then\n    if <(Sid) = [UR]> then\n        PlcBlo [dl]\n        if <not < (Cor) contains [1]?>> then\n            PlcBlo [dl2]\n        end\n    end\n    if <(Sid) = [UL]> then\n        PlcBlo [dr]\n        if <not < (Cor) contains [4]?>> then\n            PlcBlo [dr2]\n        end\n    end\nend\nif <<(FBlockNo) = [11]> or <(FBlockNo) = [12]>> then\n    if < (Cor) contains [!]?> then\n        if <(PlacingCostume) = (join (FBlockNo) [d])> then\n            if < (Cor) contains [?]?> then\n                PlcBlo [a9]\n            else\n                PlcBlo [a8]\n            end\n        end\n        if <(PlacingCostume) = (join (FBlockNo) [a])> then\n            if < (Cor) contains [?]?> then\n                PlcBlo [a6]\n            else\n                PlcBlo [a7]\n            end\n        end\n    end\nend\n\ndefine GentleSlopePickCostume\nPlcBlo [a2]\nif <(length of (Sid)) = [4]> then\n    PlcBlo [a]\n    if <not < (Cor) contains [1]?>> then\n        PlcBlo [a3]\n        if <not << (Cor) contains [T]?> or < (Cor) contains [6]?>>> then\n            PlcBlo [a6]\n        end\n    end\n    if <not < (Cor) contains [4]?>> then\n        PlcBlo [a4]\n        if <not << (Cor) contains [T]?> or < (Cor) contains [5]?>>> then\n            PlcBlo [a7]\n        end\n    end\n    if <not << (Cor) contains [1]?> or < (Cor) contains [4]?>>> then\n        PlcBlo [a5]\n    end\nend\nif <(length of (Sid)) = [3]> then\n    if <not < (Sid) contains [U]?>> then\n        PlcBlo [u]\n        if <<not << (Cor) contains [R]?> or < (Cor) contains [1]?>>> and < (Cor) contains [2]?>> then\n            PlcBlo [u3]\n        end\n        if <<not << (Cor) contains [L]?> or < (Cor) contains [4]?>>> and < (Cor) contains [3]?>> then\n            PlcBlo [u4]\n        end\n        if <<not << (Cor) contains [R]?> or < (Cor) contains [L]?>>> and <not << (Cor) contains [1]?> or < (Cor) contains [4]?>>>> then\n            PlcBlo [u5]\n            if << (Cor) contains [1]?> or <not < (Cor) contains [2]?>>> then\n                PlcBlo [u4]\n            end\n            if << (Cor) contains [4]?> or <not < (Cor) contains [3]?>>> then\n                PlcBlo [u3]\n            end\n            if <not << (Cor) contains [2]?> or < (Cor) contains [3]?>>> then\n                PlcBlo [u]\n            end\n        end\n    end\n    if <not < (Sid) contains [D]?>> then\n        PlcBlo [d]\n        if <not << (Cor) contains [R]?> or < (Cor) contains [2]?>>> then\n            PlcBlo [d8]\n        end\n        if <not << (Cor) contains [L]?> or < (Cor) contains [3]?>>> then\n            PlcBlo [d9]\n        end\n        if <not <<< (Cor) contains [R]?> or < (Cor) contains [L]?>> or << (Cor) contains [2]?> or < (Cor) contains [3]?>>>> then\n            PlcBlo [d10]\n        end\n        if <not < (Cor) contains [1]?>> then\n            PlcBlo [d3]\n            if <not << (Cor) contains [T]?> or < (Cor) contains [6]?>>> then\n                PlcBlo [d6]\n            end\n            if <not << (Cor) contains [L]?> or < (Cor) contains [3]?>>> then\n                PlcBlo [d12]\n                if <not << (Cor) contains [T]?> or < (Cor) contains [6]?>>> then\n                    PlcBlo [d14]\n                end\n            end\n        end\n        if <not < (Cor) contains [4]?>> then\n            PlcBlo [d4]\n            if <not << (Cor) contains [T]?> or < (Cor) contains [5]?>>> then\n                PlcBlo [d7]\n            end\n            if <not << (Cor) contains [R]?> or < (Cor) contains [2]?>>> then\n                PlcBlo [d11]\n                if <not << (Cor) contains [T]?> or < (Cor) contains [5]?>>> then\n                    PlcBlo [d13]\n                end\n            end\n        end\n        if <not << (Cor) contains [1]?> or < (Cor) contains [4]?>>> then\n            PlcBlo [d5]\n        end\n    end\n    if <not < (Sid) contains [R]?>> then\n        PlcBlo [r]\n        if <not < (Cor) contains [4]?>> then\n            PlcBlo [r3]\n        end\n    end\n    if <not < (Sid) contains [L]?>> then\n        PlcBlo [l]\n        if <not < (Cor) contains [1]?>> then\n            PlcBlo [l3]\n        end\n    end\nend\nCommonPlacement\nif <(length of (Sid)) = [2]> then\n    if <(Sid) = [UR]> then\n        PlcBlo [dl]\n        if < (Cor) contains [2]?> then\n            PlcBlo [dl2]\n        end\n        if <not < (Cor) contains [1]?>> then\n            PlcBlo [dl3]\n        end\n    end\n    if <(Sid) = [UL]> then\n        PlcBlo [dr]\n        if < (Cor) contains [3]?> then\n            PlcBlo [dr2]\n        end\n        if <not < (Cor) contains [4]?>> then\n            PlcBlo [dr3]\n        end\n    end\n    if <(Sid) = [DR]> then\n        PlcBlo [ul]\n        if << (Cor) contains [1]?> or <not < (Cor) contains [2]?>>> then\n            PlcBlo [ul2]\n        end\n    end\n    if <(Sid) = [DL]> then\n        PlcBlo [ur]\n        if << (Cor) contains [4]?> or <not < (Cor) contains [3]?>>> then\n            PlcBlo [ur2]\n        end\n    end\nend\n\ndefine SlopePickCostume\nPlcBlo [a2]\nif <(length of (Sid)) = [4]> then\n    PlcBlo [a]\n    if <not < (Cor) contains [1]?>> then\n        PlcBlo [a3]\n        if <not < (Cor) contains [T]?>> then\n            PlcBlo [a6]\n        end\n    end\n    if <not < (Cor) contains [4]?>> then\n        PlcBlo [a4]\n        if <not < (Cor) contains [T]?>> then\n            PlcBlo [a7]\n        end\n    end\n    if <not << (Cor) contains [1]?> or < (Cor) contains [4]?>>> then\n        PlcBlo [a5]\n    end\nend\nif <(length of (Sid)) = [3]> then\n    if <not < (Sid) contains [U]?>> then\n        PlcBlo [u]\n    end\n    if <not < (Sid) contains [D]?>> then\n        PlcBlo [d]\n        if <not < (Cor) contains [1]?>> then\n            PlcBlo [d3]\n            if <not < (Cor) contains [T]?>> then\n                PlcBlo [d6]\n            end\n        end\n        if <not < (Cor) contains [4]?>> then\n            PlcBlo [d4]\n            if <not < (Cor) contains [T]?>> then\n                PlcBlo [d7]\n            end\n        end\n        if <not << (Cor) contains [1]?> or < (Cor) contains [4]?>>> then\n            PlcBlo [d5]\n        end\n    end\n    if <not < (Sid) contains [R]?>> then\n        PlcBlo [r]\n        if <not < (Cor) contains [4]?>> then\n            PlcBlo [r3]\n            if << (Cor) contains [1]?> and <not < (Cor) contains [T]?>>> then\n                PlcBlo [r4]\n            end\n        end\n    end\n    if <not < (Sid) contains [L]?>> then\n        PlcBlo [l]\n        if <not < (Cor) contains [1]?>> then\n            PlcBlo [l3]\n            if << (Cor) contains [4]?> and <not < (Cor) contains [T]?>>> then\n                PlcBlo [l4]\n            end\n        end\n    end\nend\nCommonPlacement\nif <(length of (Sid)) = [2]> then\n    if <(Sid) = [UR]> then\n        PlcBlo [dl]\n        if <not < (Cor) contains [1]?>> then\n            PlcBlo [dl2]\n            if <<not < (Cor) contains [4]?>> or < (Cor) contains [T]?>> then\n                PlcBlo [dl3]\n            end\n        end\n    end\n    if <(Sid) = [UL]> then\n        PlcBlo [dr]\n        if <not < (Cor) contains [4]?>> then\n            PlcBlo [dr2]\n            if <<not < (Cor) contains [1]?>> or < (Cor) contains [T]?>> then\n                PlcBlo [dr3]\n            end\n        end\n    end\nend\n\ndefine TrackPickCostume\nPlcBlo [a1]\nif <(length of (Sid)) = [0]> then\n    if < (Cor) contains [4]?> then\n        PlcBlo [x3]\n    end\n    if < (Cor) contains [1]?> then\n        PlcBlo [x4]\n    end\n    if < (Cor) contains [2]?> then\n        PlcBlo [x5]\n    end\n    if < (Cor) contains [3]?> then\n        PlcBlo [x6]\n    end\n    if << (Cor) contains [1]?> and < (Cor) contains [3]?>> then\n        PlcBlo [x2]\n    end\n    if << (Cor) contains [2]?> and < (Cor) contains [4]?>> then\n        PlcBlo [x1]\n    end\n    if << (Cor) contains [1]?> and < (Cor) contains [4]?>> then\n        PlcBlo [x15]\n    end\n    if << (Cor) contains [1]?> and < (Cor) contains [2]?>> then\n        PlcBlo [x16]\n    end\n    if << (Cor) contains [2]?> and < (Cor) contains [3]?>> then\n        PlcBlo [x17]\n    end\n    if << (Cor) contains [3]?> and < (Cor) contains [4]?>> then\n        PlcBlo [x18]\n    end\nend\nif <(length of (Sid)) = [1]> then\n    if <(Sid) = [U]> then\n        PlcBlo [u1]\n        if < (Cor) contains [2]?> then\n            PlcBlo [x11]\n        end\n        if < (Cor) contains [3]?> then\n            PlcBlo [x12]\n        end\n        if << (Cor) contains [2]?> and < (Cor) contains [3]?>> then\n            PlcBlo [x20]\n        end\n    end\n    if <(Sid) = [D]> then\n        PlcBlo [d1]\n        if < (Cor) contains [4]?> then\n            PlcBlo [x13]\n        end\n        if < (Cor) contains [1]?> then\n            PlcBlo [x14]\n        end\n        if << (Cor) contains [1]?> and < (Cor) contains [4]?>> then\n            PlcBlo [x22]\n        end\n    end\n    if <(Sid) = [L]> then\n        PlcBlo [l1]\n        if < (Cor) contains [1]?> then\n            PlcBlo [x7]\n        end\n        if < (Cor) contains [2]?> then\n            PlcBlo [x8]\n        end\n        if << (Cor) contains [1]?> and < (Cor) contains [2]?>> then\n            PlcBlo [x19]\n        end\n    end\n    if <(Sid) = [R]> then\n        PlcBlo [r1]\n        if < (Cor) contains [3]?> then\n            PlcBlo [x9]\n        end\n        if < (Cor) contains [4]?> then\n            PlcBlo [x10]\n        end\n        if << (Cor) contains [3]?> and < (Cor) contains [4]?>> then\n            PlcBlo [x21]\n        end\n    end\nend\nif <(length of (Sid)) = [2]> then\n    if <(Sid) = [UD]> then\n        PlcBlo [ud]\n    end\n    if <(Sid) = [RL]> then\n        PlcBlo [lr]\n    end\n    if <(Sid) = [UL]> then\n        PlcBlo [ul]\n    end\n    if <(Sid) = [UR]> then\n        PlcBlo [ur]\n    end\n    if <(Sid) = [DL]> then\n        PlcBlo [dl]\n    end\n    if <(Sid) = [DR]> then\n        PlcBlo [dr]\n    end\nend\n\nwhen I receive [endotherscripts v]\nstop [other scripts in sprite v]\n\ndefine ReplaceEnContents (no.) Excluding (item)\nset [n.3 v] to [0]\nset [n.4 v] to []\nrepeat (length of (item (no.) of [ec v]))\n    change [n.3 v] by (1)\n    if <not <(letter (N.3) of (item (no.) of [ec v])) = (item)>> then\n        set [n.4 v] to (join (N.4) (letter (N.3) of (item (no.) of [ec v])))\n    end\nend\n\nwhen I receive [flagclicked v]\nswitch costume to (large v)\nset size to (400) %\nhide\n\ndefine PipePickCostume\nPlcBlo [a2]\nif <(length of (Sid)) = [4]> then\n    PlcBlo [a]\n    if <<< (PiSid) contains [R]?> and <(FBlockNo) = [10]>> or << (PiSid) contains [U]?> and <(FBlockNo) = [9]>>> then\n        PlcBlo [a8]\n    end\n    if <<< (PiSid) contains [L]?> and <(FBlockNo) = [10]>> or << (PiSid) contains [D]?> and <(FBlockNo) = [9]>>> then\n        PlcBlo [a9]\n    end\n    if <not << (Cor) contains [1]?> or < (Cor) contains [4]?>>> then\n        PlcBlo [a3]\n    end\n    if <not << (Cor) contains [2]?> or < (Cor) contains [3]?>>> then\n        PlcBlo [a4]\n    end\n    if <not << (Cor) contains [1]?> or < (Cor) contains [2]?>>> then\n        PlcBlo [a5]\n    end\n    if <not << (Cor) contains [3]?> or < (Cor) contains [4]?>>> then\n        PlcBlo [a6]\n    end\n    if <not <<< (Cor) contains [1]?> or < (Cor) contains [2]?>> or << (Cor) contains [3]?> or < (Cor) contains [4]?>>>> then\n        PlcBlo [a7]\n    end\nend\nif <(length of (Sid)) = [3]> then\n    if <not < (Sid) contains [U]?>> then\n        PlcBlo [u]\n        if <<< (PiSid) contains [R]?> and <(FBlockNo) = [10]>> and < (Cor) contains [1]?>> then\n            PlcBlo [u3]\n        end\n        if <<< (PiSid) contains [L]?> and <(FBlockNo) = [10]>> and < (Cor) contains [4]?>> then\n            PlcBlo [u4]\n        end\n        if <not << (Cor) contains [2]?> or < (Cor) contains [3]?>>> then\n            PlcBlo [u5]\n        end\n    end\n    if <not < (Sid) contains [D]?>> then\n        PlcBlo [d]\n        if <<< (PiSid) contains [R]?> and <(FBlockNo) = [10]>> and < (Cor) contains [2]?>> then\n            PlcBlo [d3]\n        end\n        if <<< (PiSid) contains [L]?> and <(FBlockNo) = [10]>> and < (Cor) contains [3]?>> then\n            PlcBlo [d4]\n        end\n        if <not << (Cor) contains [1]?> or < (Cor) contains [4]?>>> then\n            PlcBlo [d5]\n        end\n    end\n    if <not < (Sid) contains [R]?>> then\n        PlcBlo [r]\n        if <<< (PiSid) contains [U]?> and <(FBlockNo) = [9]>> and < (Cor) contains [1]?>> then\n            PlcBlo [r4]\n        end\n        if <<< (PiSid) contains [D]?> and <(FBlockNo) = [9]>> and < (Cor) contains [2]?>> then\n            PlcBlo [r5]\n        end\n        if <not << (Cor) contains [3]?> or < (Cor) contains [4]?>>> then\n            PlcBlo [r3]\n        end\n    end\n    if <not < (Sid) contains [L]?>> then\n        PlcBlo [l]\n        if <<< (PiSid) contains [U]?> and <(FBlockNo) = [9]>> and < (Cor) contains [4]?>> then\n            PlcBlo [l4]\n        end\n        if <<< (PiSid) contains [D]?> and <(FBlockNo) = [9]>> and < (Cor) contains [3]?>> then\n            PlcBlo [l5]\n        end\n        if <not << (Cor) contains [1]?> or < (Cor) contains [2]?>>> then\n            PlcBlo [l3]\n        end\n    end\nend\nif <(length of (Sid)) = [2]> then\n    if <(Sid) = [UR]> then\n        PlcBlo [dl]\n        if <not < (Cor) contains [1]?>> then\n            PlcBlo [dl2]\n        end\n    end\n    if <(Sid) = [UL]> then\n        PlcBlo [dr]\n        if <not < (Cor) contains [4]?>> then\n            PlcBlo [dr2]\n        end\n    end\n    if <(Sid) = [DR]> then\n        PlcBlo [ul]\n        if <not < (Cor) contains [2]?>> then\n            PlcBlo [ul2]\n        end\n    end\n    if <(Sid) = [DL]> then\n        PlcBlo [ur]\n        if <not < (Cor) contains [3]?>> then\n            PlcBlo [ur2]\n        end\n    end\n    if <(Sid) = [UD]> then\n        PlcBlo [ud]\n    end\n    if <(Sid) = [RL]> then\n        PlcBlo [rl]\n    end\nend\nif <(length of (Sid)) = [1]> then\n    if <(Sid) = [U]> then\n        PlcBlo [d2]\n    end\n    if <(Sid) = [D]> then\n        PlcBlo [u2]\n    end\n    if <(Sid) = [R]> then\n        PlcBlo [l2]\n    end\n    if <(Sid) = [L]> then\n        PlcBlo [r2]\n    end\nend\n\ndefine PipePlacingCostume\nset [n.8 v] to ((length of [pipex v]) mod (2))\nif <(item (PlacingBlock) of [ilist v]) = [.3]> then\n    if <(PlaceDirection) = [-90]> then\n        if <(N.8) = [1]> then\n            switch costume to (.32 v)\n        else\n            switch costume to (.3 v)\n        end\n    end\n    if <(PlaceDirection) = [90]> then\n        if <(N.8) = [1]> then\n            switch costume to (.34 v)\n        else\n            switch costume to (.33 v)\n        end\n    end\n    if <(PlaceDirection) = [-45]> then\n        if <(N.8) = [1]> then\n            switch costume to (.72 v)\n        else\n            switch costume to (.7 v)\n        end\n    end\n    if <(PlaceDirection) = [45]> then\n        if <(N.8) = [1]> then\n            switch costume to (.92 v)\n        else\n            switch costume to (.9 v)\n        end\n    end\nend\nif <(item (PlacingBlock) of [ilist v]) = [.4]> then\n    if <(PlaceDirection) = [-90]> then\n        if <(N.8) = [1]> then\n            switch costume to (.42 v)\n        else\n            switch costume to (.4 v)\n        end\n    end\n    if <(PlaceDirection) = [90]> then\n        if <(N.8) = [1]> then\n            switch costume to (.62 v)\n        else\n            switch costume to (.6 v)\n        end\n    end\n    if <(PlaceDirection) = [-45]> then\n        if <(N.8) = [1]> then\n            switch costume to (.82 v)\n        else\n            switch costume to (.8 v)\n        end\n    end\n    if <(PlaceDirection) = [45]> then\n        if <(N.8) = [1]> then\n            switch costume to (.122 v)\n        else\n            switch costume to (.12 v)\n        end\n    end\nend\nif <(item (PlacingBlock) of [ilist v]) = [.11]> then\n    switch costume to (.112 v)\nend\n\ndefine SetPipePlacingType\nset [n.4 v] to (item (PlacingBlock) of [ilist v])\nif <(item (PlacingBlock) of [ilist v]) = [.3]> then\n    if <(PlaceDirection) = [-90]> then\n        set [n.4 v] to [.3]\n    end\n    if <(PlaceDirection) = [90]> then\n        set [n.4 v] to [.5]\n    end\n    if <(PlaceDirection) = [-45]> then\n        set [n.4 v] to [.7]\n    end\n    if <(PlaceDirection) = [45]> then\n        set [n.4 v] to [.9]\n    end\nend\nif <(item (PlacingBlock) of [ilist v]) = [.4]> then\n    if <(PlaceDirection) = [-90]> then\n        set [n.4 v] to [.4]\n    end\n    if <(PlaceDirection) = [90]> then\n        set [n.4 v] to [.6]\n    end\n    if <(PlaceDirection) = [-45]> then\n        set [n.4 v] to [.8]\n    end\n    if <(PlaceDirection) = [45]> then\n        set [n.4 v] to [.12]\n    end\nend\n\ndefine ReplaceSection (no.) OfArea (area) With (input)\nset [n. v] to [1]\nset [n.2 v] to []\nrepeat ((no.) - (1))\n    set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\n    repeat until <(letter (N.) of (item (area) of [areas v])) = [;]>\n        change [n. v] by (1)\n        set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\n        if <(N.) > (length of (item (area) of [areas v]))> then\n            stop [this script v]\n        end\n    end\n    change [n. v] by (1)\nend\nset [n.2 v] to (join (N.2) (input))\nrepeat until <(letter (N.) of (item (area) of [areas v])) = [;]>\n    change [n. v] by (1)\n    if <(N.) > (length of (item (area) of [areas v]))> then\n        stop [this script v]\n    end\nend\nset [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\nrepeat ((length of (item (area) of [areas v])) - (N.))\n    change [n. v] by (1)\n    set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\nend\nreplace item (area) of [areas v] with (N.2)\n\ndefine FixingBlock (x) (y)\nScanFor (x) (y)\nif <(FBlock) = [1]> then\n    Check (N.) BlockType [0]\n    CheckForSlopes\n    ScanSidesOf (x) (y) ThenPickCostumeAndReplace (N.) InList (FoundInList)\nend\n\ndefine PlcBlo (subtype)\nset [placingcostume v] to (join (FBlockNo) (subtype))\n\ndefine Place (place)\nif <(place) = [Spawn]> then\n    set [ospawnx v] to (item (1) of [px v])\n    set [ospawny v] to (item (1) of [py v])\nelse\n    if <(place) = [Goal]> then\n        set [goalx v] to (item (1) of [px v])\n        set [goaly v] to (item (1) of [py v])\n        set [goalfloor v] to (Floor)\n    else\n        if <(place) = [Water]> then\n            AddNotification [To remove the water from this area, click the button in the inventory.] [180]\n            set [selectedwater v] to ((item (1) of [py v]) * (32))\n            ReplaceSection [5] OfArea (Floor) With ((item (1) of [py v]) * (32))\n            set [uijustclicked2 v] to [1]\n            set [placingblock v] to [1]\n        else\n            if <(place) = [Lava]> then\n                AddNotification [To remove the lava from this area, click the button in the inventory.] [180]\n                set [selectedlavalevel v] to ((item (1) of [py v]) * (32))\n                ReplaceSection [6] OfArea (Floor) With ((item (1) of [py v]) * (32))\n                set [uijustclicked2 v] to [1]\n                set [placingblock v] to [1]\n            else\n                if <(FBlock) = [0]> then\n                    change [placementsmade v] by (-0.5)\n                else\n                    if <(FoundInList) = [Block]> then\n                        delete (N.) of [bty v]\n                        delete (N.) of [bx v]\n                        delete (N.) of [by v]\n                    end\n                    if <not <(FoundInSemi) = []>> then\n                        if <<[pot v] contains (place)?> and <(letter (1) of (item (FoundInSemi) of [semitype v])) = [8]>> then\n                            set [placingontrack v] to [1]\n                        end\n                    end\n                    if <(FoundInList) = [Semi]> then\n                        if <not <<(PlacingType) = [Enemy]> or <<[pot v] contains (place)?> and <(letter (1) of (item (N.) of [semitype v])) = [8]>>>> then\n                            delete (N.) of [semitype v]\n                            delete (N.) of [semix v]\n                            delete (N.) of [semiy v]\n                        end\n                    end\n                    if <(FoundInList) = [Enemy]> then\n                        set [n.5 v] to (item (N.) of [ety v])\n                        if <<(place) = [/]> and <not <<<(N.5) = [k]> or <<(N.5) = [n]> or <(N.5) = [{]>>> or <<(N.5) = [y]> or <<(N.5) = [w]> or <(N.5) = [x]>>>>>> then\n                            if < (item (N.) of [ec v]) contains (place)?> then\n                                ReplaceEnContents (N.) Excluding (place)\n                                replace item (N.) of [ec v] with (N.4)\n                            else\n                                replace item (N.) of [ec v] with (join (item (N.) of [ec v]) (place))\n                            end\n                            set [n.4 v] to [x]\n                            stop [this script v]\n                        else\n                            delete (N.) of [ec v]\n                            delete (N.) of [ed v]\n                            delete (N.) of [ety v]\n                            delete (N.) of [ex v]\n                            delete (N.) of [ey v]\n                            if <<not <(FoundInSemi) = []>> and <not <(PlacingType) = [Enemy]>>> then\n                                delete (FoundInSemi) of [semitype v]\n                                delete (FoundInSemi) of [semix v]\n                                delete (FoundInSemi) of [semiy v]\n                            end\n                        end\n                    end\n                    if <(FoundInList) = [Pipe]> then\n                        delete (N.) of [pipetype v]\n                        delete (N.) of [pipex v]\n                        delete (N.) of [pipey v]\n                        if <((N.) mod (2)) = [1]> then\n                            delete (N.) of [pipetype v]\n                            delete (N.) of [pipex v]\n                            delete (N.) of [pipey v]\n                        else\n                            delete ((N.) + (-1)) of [pipetype v]\n                            delete ((N.) + (-1)) of [pipex v]\n                            delete ((N.) + (-1)) of [pipey v]\n                        end\n                        if <not <(FoundInSemi) = []>> then\n                            delete (FoundInSemi) of [semitype v]\n                            delete (FoundInSemi) of [semix v]\n                            delete (FoundInSemi) of [semiy v]\n                        end\n                    end\n                    if <(FoundInList) = [Unique]> then\n                        if <<<<[cbpi v] contains (place)?> and <[containers v] contains (item (N.) of [uty v])?>> or <<[enys v] contains (place)?> and <<(item (N.) of [uty v]) = [z]> or <(item (N.) of [uty v]) = [ab]>>>> and <not <<<<(place) = [ao]> or <(place) = [n]>> or <<<(place) = [q]> or <(place) = [w]>> or <<(place) = [av]> or <(place) = [as]>>>> or <<<<(place) = [aj]> or <(place) = [ah]>> or <<(place) = [x]> or <(place) = [y]>>> or <<(place) = [k]> or <(place) = [ag]>>>>>> then\n                            if << (item (N.) of [ucont v]) contains (place)?> and <not <<(item (N.) of [uty v]) = [z]> or <(item (N.) of [uty v]) = [ab]>>>> then\n                                ReplaceUnContents (N.) Excluding (place)\n                                replace item (N.) of [ucont v] with (N.4)\n                            else\n                                if < (item (N.) of [ucont v]) contains [8]?> then\n                                    replace item (N.) of [ucont v] with (join [8] (place))\n                                else\n                                    replace item (N.) of [ucont v] with (place)\n                                end\n                                if <not <<(item (N.) of [uty v]) = [z]> or <(item (N.) of [uty v]) = [ab]>>> then\n                                    AddNotification [Powerups in Blocks will be released as Mushrooms if the Player is Small.] [150]\n                                end\n                            end\n                            stop [this script v]\n                        else\n                            delete (N.) of [ucont v]\n                            delete (N.) of [uty v]\n                            delete (N.) of [ux v]\n                            delete (N.) of [uy v]\n                            if <<not <(FoundInSemi) = []>> and <not <<[pot v] contains (place)?> and <(letter (1) of (item (FoundInSemi) of [semitype v])) = [8]>>>> then\n                                delete (FoundInSemi) of [semitype v]\n                                delete (FoundInSemi) of [semix v]\n                                delete (FoundInSemi) of [semiy v]\n                            end\n                        end\n                    end\n                end\n                if <not <<(item (1) of [py v]) = (((Floor) * (41)) - (5))> or <(item (1) of [py v]) = ((((Floor) - (1)) * (41)) - (5))>>> then\n                    ScanSidesOf (item (1) of [px v]) (item (1) of [py v]) ThenPickCostume\n                    FindPlacementFor (item (1) of [px v]) (item (1) of [py v])\n                    if <(PlacingType) = [Block]> then\n                        insert (PlacingCostume) at (N.) of [bty v] \n                        insert (item (1) of [px v]) at (N.) of [bx v] \n                        insert (item (1) of [py v]) at (N.) of [by v] \n                    end\n                    if <(PlacingType) = [Semi]> then\n                        insert (PlacingCostume) at (N.) of [semitype v] \n                        insert (item (1) of [px v]) at (N.) of [semix v] \n                        insert (item (1) of [py v]) at (N.) of [semiy v] \n                    end\n                    if <(PlacingType) = [Pipe]> then\n                        add (item (1) of [px v]) to [pipex v]\n                        add (item (1) of [py v]) to [pipey v]\n                        SetPipePlacingType\n                        add (N.4) to [pipetype v]\n                        set [uijustclicked2 v] to [1]\n                    end\n                    if <(PlacingType) = [Enemy]> then\n                        if <(PlacingOnTrack) = [1]> then\n                            insert [8] at (N.) of [ec v] \n                        else\n                            insert [] at (N.) of [ec v] \n                        end\n                        if <(item (PlacingBlock) of [ilist v]) = [{]> then\n                            insert [90] at (N.) of [ed v] \n                        else\n                            insert (PlaceDirection) at (N.) of [ed v] \n                        end\n                        insert (place) at (N.) of [ety v] \n                        insert (item (1) of [px v]) at (N.) of [ex v] \n                        insert (item (1) of [py v]) at (N.) of [ey v] \n                    end\n                    if <(PlacingType) = [Unique]> then\n                        if <not <(N.4) = [x]>> then\n                            if <(PlacingOnTrack) = [1]> then\n                                if <(place) = [z]> then\n                                    insert [8aa] at (N.) of [ucont v] \n                                else\n                                    if <(place) = [ab]> then\n                                        insert [8ac] at (N.) of [ucont v] \n                                    else\n                                        insert [8] at (N.) of [ucont v] \n                                    end\n                                end\n                            else\n                                if <<(place) = [$]> or <(place) = [\(]>> then\n                                    insert [%] at (N.) of [ucont v] \n                                else\n                                    if <(place) = [z]> then\n                                        insert [aa] at (N.) of [ucont v] \n                                    else\n                                        if <(place) = [ab]> then\n                                            insert [ac] at (N.) of [ucont v] \n                                        else\n                                            if <<(place) = [\[]> or <<(place) = [\]]> or <<(place) = [e]> or <(place) = [h]>>>> then\n                                                insert (letter (1) of (PlaceDirection)) at (N.) of [ucont v] \n                                            else\n                                                insert [] at (N.) of [ucont v] \n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                            insert (place) at (N.) of [uty v] \n                            insert (item (1) of [px v]) at (N.) of [ux v] \n                            insert (item (1) of [py v]) at (N.) of [uy v] \n                        end\n                    end\n                    FixSurroundingsOf (item (1) of [px v]) (item (1) of [py v])\n                end\n            end\n        end\n    end\nend\n\ndefine CommonPlacement\nif <(length of (Sid)) = [2]> then\n    if <(Sid) = [DR]> then\n        PlcBlo [ul]\n    end\n    if <(Sid) = [DL]> then\n        PlcBlo [ur]\n    end\n    if <(Sid) = [UD]> then\n        PlcBlo [ud]\n    end\n    if <(Sid) = [RL]> then\n        PlcBlo [rl]\n    end\nend\nif <(length of (Sid)) = [1]> then\n    if <(Sid) = [U]> then\n        PlcBlo [d2]\n    end\n    if <(Sid) = [D]> then\n        PlcBlo [u2]\n    end\n    if <(Sid) = [R]> then\n        PlcBlo [l2]\n    end\n    if <(Sid) = [L]> then\n        PlcBlo [r2]\n    end\nend\n\ndefine Connecting (1) (2) (3) (4)\nif <<<(FBlockNo) = (1)> or <(FBlockNo) = (2)>> or <<(FBlockNo) = (3)> or <(FBlockNo) = (4)>>> then\n    add (1) to [connecting v]\n    add (2) to [connecting v]\n    add (3) to [connecting v]\n    add (4) to [connecting v]\nend\n\n@Blocks\n\nwhen I receive [blockupdate v]\nif <[1] = [1]> then\n    delete this clone\nend\nshow\nLoadBlocks\nhide\nset [b# v] to [0]\nbroadcast (NonBlocksUpdate v)\n\ndefine LoadBlocks\nset rotation style [don't rotate v]\nclear graphic effects\nset [b# v] to ((item # of ((round ((MapX) / (-32))) - (8)) in [bx v]) - (1))\nif <(B#) < [0]> then\n    set [b# v] to [0]\nend\nset [abovetype v] to (B#)\nrepeat ((length of [bx v]) - (B#))\n    change [b# v] by (1)\n    set [x v] to (((item (B#) of [bx v]) * (32)) + (MapX))\n    set [y v] to (((item (B#) of [by v]) * (32)) + (MapY))\n    if <(X) > [256]> then\n        stop [this script v]\n    end\n    if <<([abs v] of (X) ) < [256]> and <([abs v] of (Y) ) < [196]>> then\n        switch costume to (large v)\n        go to x: (X) y: (Y)\n        set [n. v] to (item (B#) of [bty v])\n        if <<<<(letter (2) of (N.)) = [a]> or <(letter (3) of (N.)) = [a]>> and <not <(letter (length of (N.)) of (N.)) = [2]>>> or <(EditMode) = [1]>> then\n            if <<(distance to [player v]) < [64]> and <(EditMode) = [0]>> then\n                SpawnAsBlockOrNot\n            else\n                switch costume to (N.)\n                stamp\n            end\n        else\n            SpawnAsBlockOrNot\n        end\n    end\nend\n\ndefine Check (no.) BlockType (checksubtype)\nset [n.4 v] to (item (no.) of [bty v])\nset [n. v] to (join (letter (1) of (N.4)) (letter (2) of (N.4)))\nset [n.5 v] to (join (letter (3) of (N.4)) (letter (4) of (N.4)))\nif <(round (N.)) = (N.)> then\n    set [ftype v] to (N.)\n    if <(checksubtype) = [1]> then\n        set [fsubtype v] to (join (N.5) (letter (5) of (N.4)))\n    end\nelse\n    set [ftype v] to (letter (1) of (N.4))\n    if <(checksubtype) = [1]> then\n        set [fsubtype v] to (join (letter (2) of (N.4)) (N.5))\n    end\nend\n\ndefine SpawnAsBlockOrNot\nCheck (B#) BlockType [1]\nif <[fullblocks v] contains (FType)?> then\n    switch costume to (tile v)\n    create clone of (_myself_ v)\n    stop [this script v]\nend\nif <(FSubtype) = [a2]> then\n    switch costume to (tile v)\n    create clone of (_myself_ v)\n    stop [this script v]\nend\nif <[slopes v] contains (FType)?> then\n    if <<(FSubtype) = [dr2]> or <(FSubtype) = [dr3]>> then\n        set [fsubtype v] to [dr]\n    end\n    if <<(FSubtype) = [dl2]> or <(FSubtype) = [dl3]>> then\n        set [fsubtype v] to [dl]\n    end\n    switch costume to (join [Z] (FSubtype))\n    if <not <(costume [name v]) = (join [Z] (FSubtype))>> then\n        switch costume to (tile v)\n    end\n    create clone of (_myself_ v)\n    stop [this script v]\nend\nif <[gentleslopes v] contains (FType)?> then\n    if <<(FSubtype) = [d14]> or <(FSubtype) = [d12]>> then\n        set [fsubtype v] to [d9]\n    end\n    switch costume to (join [X] (FSubtype))\n    if <not <(costume [name v]) = (join [X] (FSubtype))>> then\n        switch costume to (tile v)\n    end\n    create clone of (_myself_ v)\n    clear graphic effects\n    stop [this script v]\nend\nstamp\ndelete this clone\n\nwhen I receive [afteruniquesupdate v]\nif <not <(B#) = [0]>> then\n    Stamp\n    delete this clone\nend\n\nwhen I receive [flagclicked v]\nswitch costume to (large v)\nset size to (400) %\nhide\nset [placingtype v] to [Block]\nset [placingblock v] to [1]\nset [fixingsurroundings v] to [0]\nset [tool2 v] to [Fill]\nset [fillx v] to [x]\nset [tool v] to [Pen]\nset [allowfilling v] to [1]\nset [editmode v] to [1]\nset [inventory v] to [0]\nset [placedirection v] to [-90]\n\ndefine Stamp\nswitch costume to (large v)\ngo to x: (X) y: (Y)\nswitch costume to (item (B#) of [bty v])\nstamp\n\n@Player\n\nwhen I receive [player update v]\nif <(Inventory) = [0]> then\n    show\nelse\n    hide\nend\nset [drifting v] to [0]\nchange [jumping v] by ((-0.1) + ((Crouching) * (0.05)))\nif <(Jumping) < [0]> then\n    set [jumping v] to [0]\nend\nchange [sliding v] by (-0.07)\nif <(Sliding) < [0]> then\n    set [sliding v] to [0]\nend\nif <not <(Climbing) = [0]>> then\n    change [climbing v] by (-0.5)\n    if <(Climbing) < [0]> then\n        set [climbing v] to [0]\n    end\n    if <(Climbing) = [0]> then\n        if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n            set [yvel v] to [6]\n        end\n    end\nend\nif <(EditMode) = [0]> then\n    set rotation style [don't rotate v]\n    SetXPlayerX\n    SetYPlayerY\n    if <(AllowMovement) = [1]> then\n        if <(Cor) = [C]> then\n            set [crouching v] to [1]\n            set [cor v] to [0]\n        end\n        if <(PUp) = [N]> then\n            set [crouching v] to [0]\n        else\n            switch costume to (bhitbox v)\n            if <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>> then\n                set [crouching v] to [0]\n            end\n        end\n        change [usedspring v] by (-0.1)\n        if <(UsedSpring) < [0]> then\n            set [usedspring v] to [0]\n        end\n        set [sprs v] to ((SprS) / (1.13))\n        if <([abs v] of (SprS) ) < [0.2]> then\n            set [sprs v] to [0]\n        end\n        if <<(StarTimer) > [0]> and <(AllowPlayerControl) = [1]>> then\n            change [startimer v] by ((-1) / (30))\n            if <(StarTimer) < [0]> then\n                set [startimer v] to [0]\n            end\n        end\n        if <not <(Climbing) = [0]>> then\n            Climbing\n        else\n            if <(PlyY) < ((SelectedWater) + (24))> then\n                if <(PUp) = [C]> then\n                    broadcast (Powerdown v)\n                end\n                if <<(PUp) = [O]> and <not <<(YVel) = [0]> or <(YVel) = (Gravity)>>>> then\n                    Climbing\n                else\n                    SwimmingMovement <<key (w v) pressed?> or <key (up arrow v) pressed?>>\n                end\n            else\n                NormalMovement <<key (w v) pressed?> or <key (up arrow v) pressed?>>\n            end\n        end\n        if <<(PUp) = [N]> or <(Crouching) = [1]>> then\n            set [small v] to [1]\n        else\n            set [small v] to [0]\n        end\n    end\nelse\n    if <([abs v] of (x position) ) > [200]> then\n        set x to (0)\n    end\n    if <(y position) < [-110]> then\n        set y to (2)\n    end\n    set [xvel v] to [0]\n    set [yvel v] to (Gravity)\nend\nset [plyx v] to ((x position) - (MapX))\nset [plyy v] to ((y position) - (MapY))\nif <(EditMode) = [0]> then\n    if <(AllowPlayerControl) = [1]> then\n        change [timer v] by ((-1) / (30))\n        if <(Timer) < [0.01]> then\n            broadcast (Death v)\n        end\n        if <<(Timer) < [100]> and <(FastSoundPlayed) = [0]>> then\n            stop all sounds\n        end\n    end\n    if <(AllowMovement) = [1]> then\n        set y to (round ((y position) - (3)))\n        if <<(PlyY) < ((SelectedLavaLevel) + (24))> and <(AllowPlayerControl) = [1]>> then\n            broadcast (Death v)\n        end\n        if <<(y position) < [-170]> and <(AllowPlayerControl) = [1]>> then\n            broadcast (Death v)\n        end\n    end\nelse\n    BasicMovementReset\nend\nif <(EditMode) = [1]> then\n    if <not <(Inventory) = [0]>> then\n        set [playerstamped v] to [1]\n    else\n        set [playerstamped v] to [0]\n    end\nend\nif <(PlayerStamped) = [1]> then\n    hide\n    CostumePlayer\n    stamp\n    if <(PUp) = [P]> then\n        Prop\n        stamp\n    end\nend\nbroadcast (AfterPlayerUpdate v)\n\ndefine NormalMovement <jump>\nif <(PUp) = [N]> then\n    switch costume to (nhitbox v)\nelse\n    switch costume to (bhitbox v)\nend\nswitch costume to (hitboxfloor v)\nif <<(YVel) > [1]> and <not <<jump> and <(AllowPlayerControl) = [1]>>>> then\n    set [yvel v] to ((YVel) / (1.24))\nend\nchange [yvel v] by (Gravity)\nif <(YVel) < [-16]> then\n    set [yvel v] to [-16]\nend\nif <<(PUp) = [P]> and <(Power33) > [0]>> then\n    set [yvel v] to [-1.2]\nend\nif <(PUp) = [R]> then\n    if <(Power22) > [0]> then\n        set [yvel v] to [4]\n    end\n    if <(Power33) > [0]> then\n        set [yvel v] to [-1.2]\n    end\nend\nYCollisions\nif <<(YVel) = [0]> or <(YVel) = (Gravity)>> then\n    if <<<(PUp) = [O]> and <(Crouching) = [0]>> and <(([floor v] of ((PlyTimer) * (16)) ) mod (4)) = [0]>> then\n        set [xvel v] to ((XVel) / (2))\n    end\n    if <<<jump> and <(AllowPlayerControl) = [1]>> and <(Jumping) = [0]>> then\n        if <(Crouching) = [1]> then\n            set [xvel v] to ((direction) / (30))\n            set [yvel v] to [0.82]\n        else\n            start sound [jump v]\n            set [yvel v] to (((15.4) + (<(PUp) = [O]> * (2))) + (([abs v] of (XVel) ) / (5)))\n        end\n        set [jumping v] to [1]\n    else\n        if <<<<key (s v) pressed?> or <key (down arrow v) pressed?>> and <(AllowPlayerControl) = [1]>> and <(Holding) = []>> then\n            set [crouching v] to [1]\n            if <(PUp) = [H]> then\n                set [sliding v] to [0]\n            else\n                set [n.3 v] to [0]\n                SlidingLeft\n                set [n.3 v] to [1]\n                SlidingLeft\n            end\n        else\n            set [sliding v] to [0]\n        end\n    end\nend\nchange [extcoll v] by (-0.5)\nif <(ExtColl) < [0]> then\n    set [extcoll v] to [0]\nend\nif <<(PUp) = [N]> or <(Crouching) = [1]>> then\n    switch costume to (nhitboxsides v)\nelse\n    switch costume to (bhitboxsides v)\nend\nFirePowerupUse\nHammerPowerupUse\nPropellerPowerupUse <jump>\nRaccoonPowerupUse <jump>\nCloudPowerupUsage\nNormalXMovement <<key (a v) pressed?> or <key (left arrow v) pressed?>> <<key (d v) pressed?> or <key (right arrow v) pressed?>> <<(YVel) = [0]> or <(YVel) = (Gravity)>> <<<(Crouching) = [0]> and <(AllowPlayerControl) = [1]>> and <<<(PUp) = [P]> and <(Power44) = [0]>> or <not <(PUp) = [P]>>>>\n\ndefine FindFloor\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>>\n    change [n. v] by (1)\n    if <(N.) > [16]> then\n        SetYPlayerY\n        stop [this script v]\n    end\n    change y by (1)\nend\n\ndefine FindCeiling\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>>\n    change [n. v] by (1)\n    if <(N.) > [16]> then\n        SetYPlayerY\n        stop [this script v]\n    end\n    change y by (-1)\nend\n\nwhen I receive [costumeall v]\nchange [invincible v] by (-0.1)\nif <(Invincible) < [0]> then\n    set [invincible v] to [0]\nend\nbroadcast (GameOverlays v)\n\ndefine FindXSpace\nset [plyx v] to ((x position) - (MapX))\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>>\n    change [n. v] by (1)\n    SetXPlayerX\n    if <(N.) > [38]> then\n        stop [this script v]\n    end\n    change x by (N.)\n    if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n        SetXPlayerX\n        change x by ((N.) * (-0.95))\n    end\nend\n\ndefine YSmoothing\nset [plyy v] to ((y position) - (MapY))\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>>\n    change [n. v] by (1)\n    SetYPlayerY\n    if <(N.) > (((([abs v] of (XVel) ) + ([abs v] of (SprS) )) * (2)) + (4))> then\n        YSmoothingSemis\n        stop [this script v]\n    end\n    change y by (N.)\n    if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n        SetYPlayerY\n        change y by ((N.) * (-0.7))\n    end\nend\nYSmoothingSemis\n\ndefine SlidingLeft\nif <(N.3) = [1]> then\n    switch costume to (hitboxright v)\nelse\n    switch costume to (hitboxleft v)\nend\nset [plyy v] to ((y position) - (MapY))\nset [n. v] to [0]\nrepeat until <<<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> or <touching (semisolids v)?>>\n    change [n. v] by (1)\n    if <(N.) > [16]> then\n        SetYPlayerY\n        stop [this script v]\n    end\n    change y by (-1)\nend\nSetYPlayerY\nif <(N.) > [2]> then\n    change y by ((N.) / (-2))\n    set [sliding v] to [1]\n    if <(N.3) = [1]> then\n        change [xvel v] by ((N.) / (16))\n        if <(XVel) > [7.5]> then\n            set [xvel v] to [7.5]\n        end\n    else\n        change [xvel v] by ((N.) / (-16))\n        if <(XVel) < [-7.5]> then\n            set [xvel v] to [-7.5]\n        end\n    end\nelse\n    stop [this script v]\nend\n\ndefine FindXSpaceSmall\nset [plyx v] to ((x position) - (MapX))\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>>\n    change [n. v] by (1)\n    SetXPlayerX\n    if <(N.) > [6]> then\n        stop [this script v]\n    end\n    change x by (N.)\n    if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n        SetXPlayerX\n        change x by ((N.) * (-1))\n    end\nend\nset [xvel v] to [0]\n\ndefine FindXSpaceExtreme\nset [plyx v] to ((x position) - (MapX))\nset [plyy v] to ((y position) - (MapY))\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>>\n    set [n.2 v] to [0]\n    change [n. v] by (1)\n    if <(N.) > [8]> then\n        FindXSpaceExtreme2\n        stop [this script v]\n    end\n    change y by (1)\n    repeat until <<not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>> or <(N.2) > [8]>>\n        change [n.2 v] by (1)\n        SetXPlayerX\n        change x by (N.2)\n        if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n            SetXPlayerX\n            change x by ((N.2) * (-1))\n        end\n    end\nend\n\ndefine FindFloorSemi\nset [n. v] to [0]\nrepeat until <not <touching (semisolids v)?>>\n    change [n. v] by (1)\n    if <(N.) > [30]> then\n        SetYPlayerY\n        stop [this script v]\n    end\n    change y by (0.5)\nend\n\ndefine BasicMovementReset\nset [holding v] to []\nset [xvel v] to [0]\nset [yvel v] to (Gravity)\nset [crouching v] to [0]\nset [sprs v] to [0]\nset [usedspring v] to [0]\nset [pup v] to [N]\nset [jumping v] to [0]\nset [invincible v] to [0]\nset [dead v] to [0]\nset [on/off v] to [1]\nset [power11 v] to [0]\nset [power22 v] to [0]\nset [power33 v] to [0]\nset [power44 v] to [0]\nset [startimer v] to [0]\nset [fastsoundplayed v] to [0]\ndelete this clone\n\nwhen I receive [powerup v]\nset [invincible v] to [4.2]\nset [cor v] to [C]\n\nwhen I receive [death v]\nstop all sounds\nset [pup v] to [N]\nbroadcast (PlaySong v)\nset [dead v] to [1]\nset [invincible v] to [0]\nset [allowmovement v] to [0]\nset [allowplayercontrol v] to [0]\nset [yvel v] to [12]\nrepeat (30)\n    if <not <(EditMode) = [0]>> then\n        set [dead v] to [0]\n        stop [this script v]\n    end\nend\nif <(y position) > [-165]> then\n    repeat (60)\n        change [plyy v] by (YVel)\n        change [yvel v] by (-0.85)\n        if <not <(EditMode) = [0]>> then\n            set [dead v] to [0]\n            stop [this script v]\n        end\n    end\nelse\n    hide\n    wait (2) seconds\nend\nbroadcast (StartLevel v)\n\nwhen I receive [resetmap v]\npoint in direction (90)\nset [gravity v] to [-0.83]\nset [plyx v] to (SpawnX)\nset [plyy v] to ((SpawnY) - (2))\nset [floor v] to ((round (((PlyY) - (496)) / (1312))) + (1))\nset [mapx v] to ((PlyX) * (-1))\nset [mapy v] to ((((round ((PlyY) / (16))) * (16)) * (-1)) + (4))\nset [usingpipe v] to [0]\nset [playerstamped v] to [0]\nBasicMovementReset\nbroadcast (MapLimits v)\nbroadcast (UpdateAreaSettings v)\nSetXPlayerX\nSetYPlayerY\nset rotation style [don't rotate v]\n\nwhen I receive [powerdown v]\nset [power11 v] to [0]\nset [power22 v] to [0]\nset [power33 v] to [0]\nset [power44 v] to [0]\nif <<<(Dead) = [0]> and <(GoalReached) = [0]>> and <(AllowMovement) = [1]>> then\n    if <(PUp) = [N]> then\n        broadcast (Death v)\n    else\n        start sound [PowerDown v]\n        if <(PUp) = [B]> then\n            set [pup v] to [N]\n        else\n            set [pup v] to [B]\n        end\n        set [invincible v] to [4.2]\n    end\nend\n\nwhen I receive [shortinvincibility v]\nset [invincible v] to [4.2]\nset [allowmovement v] to [0]\nset [allowplayercontrol v] to [0]\nwait (0.3) seconds\nset [allowmovement v] to [1]\nset [allowplayercontrol v] to [1]\n\ndefine YSmoothingSemis\nset [plyy v] to ((y position) - (MapY))\nif <not <(YVel) > [0]>> then\n    set [n. v] to [0]\n    SetYPlayerY\n    repeat until <not <touching (semisolids v)?>>\n        change [n. v] by (1)\n        SetYPlayerY\n        if <(N.) > (((([abs v] of (XVel) ) + ([abs v] of (SprS) )) * (2)) + (4))> then\n            stop [this script v]\n        end\n        change y by (N.)\n    end\nend\n\ndefine CreateParticle (x) (y) (type)\nadd (x) to [creparx v]\nadd (y) to [crepary v]\nadd (type) to [crepartype v]\n\ndefine FindXSpaceExtreme2\nSetXPlayerX\nSetYPlayerY\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>>\n    set [n.2 v] to [0]\n    change [n. v] by (1)\n    if <(N.) > [8]> then\n        SetXPlayerX\n        SetYPlayerY\n        broadcast (Powerdown v)\n        stop [this script v]\n    end\n    change y by (-1)\n    repeat until <<not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>> or <(N.2) > [8]>>\n        change [n.2 v] by (1)\n        SetXPlayerX\n        change x by (N.2)\n        if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n            SetXPlayerX\n            change x by ((N.2) * (-1))\n        end\n    end\nend\n\nwhen I receive [flagclicked v]\nswitch costume to (nhitbox v)\nset size to (400) %\nhide\nset [allowplayercontrol v] to [1]\nset [allowmovement v] to [1]\nset [musicmenu v] to [0]\nset [usingpipe v] to [0]\nbroadcast (ResetMap v)\n\nwhen I receive [usepipe v]\nset [allowmovement v] to [0]\nset [allowplayercontrol v] to [0]\nset [crouching v] to [0]\nset [usingpipe v] to [1]\nset [animatepipe v] to [0]\nset [yvel v] to [0]\nset [xvel v] to [0]\nif <<not <(Floor) = ((round ((((item (PipeDestnNo.) of [pipey v]) * (32)) - (498)) / (1312))) + (1))>> and <<(PTimer) = [0]> and <(StarTimer) = [0]>>> then\n    stop all sounds\nend\nPipeEntrance\nset [xvel v] to [0]\nset [playerstamped v] to [0]\nset [crouching v] to [0]\nPipeExit (item (PipeDestnNo.) of [pipetype v])\nset [playerstamped v] to [0]\nset [usingpipe v] to [0]\nset [allowmovement v] to [1]\nset [allowplayercontrol v] to [1]\nset [xvel v] to [0]\nset [yvel v] to [-1]\nif <not <(PUp) = [N]>> then\n    set [cor v] to [C]\nend\n\ndefine UsingPipeAnimation\nif <<<(item (PipeUseNo.) of [pipetype v]) = [.1]> or <<(item (PipeUseNo.) of [pipetype v]) = [.21]> or <(item (PipeUseNo.) of [pipetype v]) = [.11]>>> and <(AnimatePipe) < [31]>> then\n    if <(AnimatePipe) > [6]> then\n        set [brightness v] effect to (((AnimatePipe) - (6)) * ((-100) / (17)))\n    end\n    if <(AnimatePipe) > [23]> then\n        set [ghost v] effect to (100)\n    end\nend\nif <<<(item (PipeDestnNo.) of [pipetype v]) = [.1]> or <<(item (PipeDestnNo.) of [pipetype v]) = [.21]> or <(item (PipeDestnNo.) of [pipetype v]) = [.11]>>> and <(AnimatePipe) > [29]>> then\n    if <<(AnimatePipe) > [34]> and <(AnimatePipe) < [51]>> then\n        set [brightness v] effect to ((((AnimatePipe) - (34)) * ((100) / (17))) - (100))\n    end\n    if <(AnimatePipe) < [35]> then\n        set [ghost v] effect to (100)\n    end\nend\n\ndefine PipeEntrance\nset [n.5 v] to (item (PipeUseNo.) of [pipetype v])\nif <<(N.5) = [.1]> or <<(N.5) = [.21]> or <(N.5) = [.11]>>> then\n    start sound [Door v]\n    set [xvel v] to [2]\n    UsingPipe [0] [-2]\n    PipeAnimate [] []\nend\nset [playerstamped v] to [1]\nCostumePlayer\nstamp\nhide\nif <<(N.5) = [.3]> or <(N.5) = [.4]>> then\n    start sound [PowerDown v]\n    UsingPipe [-16] [-2]\n    PipeAnimate [] [-1]\nend\nif <<(N.5) = [.5]> or <(N.5) = [.6]>> then\n    start sound [PowerDown v]\n    point in direction (90)\n    set [xvel v] to ((direction) / (45))\n    UsingPipe [4] [-2]\n    PipeAnimate [1] []\nend\nif <<(N.5) = [.7]> or <(N.5) = [.8]>> then\n    start sound [PowerDown v]\n    UsingPipe [-16] ((2) + (<not <(PUp) = [N]>> * (20)))\n    PipeAnimate [] [1]\nend\nif <<(N.5) = [.9]> or <(N.5) = [.12]>> then\n    start sound [PowerDown v]\n    point in direction (-90)\n    set [xvel v] to ((direction) / (45))\n    UsingPipe [-4] [-2]\n    PipeAnimate [-1] []\nend\n\ndefine CostumePlayer\nchange [plytimer v] by ((0.005) + (([abs v] of (round (XVel)) ) / (400)))\nclear graphic effects\nif <(UsingPipe) = [1]> then\n    UsingPipeAnimation\nend\nif <(Invincible) > [0]> then\n    if <((GTime) mod (0.15)) < [0.075]> then\n        set [ghost v] effect to (100)\n    end\nend\nif <(SprS) = [0.01]> then\n    set [sprs v] to [0]\nend\nset rotation style [left-right v]\nif <(Dead) = [1]> then\n    switch costume to (dead v)\nelse\n    if <(StarTimer) > [0]> then\n        set [color v] effect to ((([floor v] of ((GTime) * (20)) ) mod (4)) * (25))\n    end\n    if <(Climbing) = [1]> then\n        SwitchTo [Climb] [16] [2] [1]\n    else\n        if <<not <(Sliding) = [0]>> and <(ExtColl) = [0]>> then\n            SwitchTo [Slide]\n        else\n            if <(Crouching) = [1]> then\n                SwitchTo [Crouch]\n                if <(Sliding) = [0]> then\n                    set [extcoll v] to [1]\n                end\n            else\n                if <((y position) - (MapY)) < ((SelectedWater) + (24))> then\n                    SwimmingCostumes\n                else\n                    NormalCostumes\n                end\n            end\n        end\n    end\nend\n\ndefine PipeExit (type)\nif <<(type) = [.1]> or <<(type) = [.21]> or <(type) = [.11]>>> then\n    set [xvel v] to [2]\n    DestPipe [0] [-2]\n    PipeAnimate [] []\nend\nset [playerstamped v] to [1]\nif <<(type) = [.3]> or <(type) = [.4]>> then\n    DestPipe [-16] [-32]\n    PipeAnimate [] [1]\nend\nif <<(type) = [.5]> or <(type) = [.6]>> then\n    point in direction (-90)\n    set [xvel v] to ((direction) / (45))\n    DestPipe [36] [0]\n    PipeAnimate [-1] []\nend\nif <<(type) = [.7]> or <(type) = [.8]>> then\n    DestPipe [-16] ((6) + (<(PUp) = [N]> * (26)))\n    PipeAnimate [] [-1]\nend\nif <<(type) = [.9]> or <(type) = [.12]>> then\n    point in direction (90)\n    set [xvel v] to ((direction) / (45))\n    DestPipe [-36] [0]\n    PipeAnimate [1] []\nend\n\ndefine EssentialPipeExit\nset [mapx v] to (((round ((PlyX) / (16))) * (16)) * (-1))\nset [mapy v] to (((round ((PlyY) / (16))) * (16)) * (-1))\nset [floor v] to ((round (((PlyY) - (496)) / (1312))) + (1))\nbroadcast (MapLimits v)\nbroadcast (UpdateAreaSettings v)\nbroadcast (PipeTransition v)\nwait (0.5) seconds\n\nwhen I receive [unlockdoor v]\nset [allowmovement v] to [0]\nset [allowplayercontrol v] to [0]\nset [crouching v] to [0]\nset [usingpipe v] to [1]\nset [animatepipe v] to [0]\nset [yvel v] to [0]\nset [xvel v] to [0]\nchange [plyy v] by (-2)\nwait (0.5) seconds\nbroadcast (UsePipe v)\n\ndefine SwimmingMovement <jump>\nswitch costume to (hitboxfloor v)\nif <(YVel) = [0.82]> then\n    set [yvel v] to [0.1]\nend\nif <<(YVel) > [1]> and <not <<jump> and <(AllowPlayerControl) = [1]>>>> then\n    set [yvel v] to ((YVel) / (1.24))\nend\nchange [yvel v] by ((Gravity) / (2))\nif <(YVel) = ((Gravity) / (2))> then\n    set [yvel v] to (Gravity)\nend\nif <(YVel) > [9]> then\n    set [yvel v] to [9]\nend\nif <(YVel) < [-3]> then\n    set [yvel v] to [-3]\nend\nYCollisions\nRaccoonPowerupUse <>\nSwimmingXMovement <<key (a v) pressed?> or <key (left arrow v) pressed?>> <<key (d v) pressed?> or <key (right arrow v) pressed?>> <<(YVel) = [0]> or <(YVel) = (Gravity)>> <jump>\n\ndefine NormalCostumes\nif <not <(Holding) = []>> then\n    if <<<(YVel) = [0]> or <(YVel) = (Gravity)>> or <(PUp) = [O]>> then\n        if <not <([abs v] of (XVel) ) < [0.05]>> then\n            SwitchTo [Hold] [16] ((4) - (<(PUp) = [N]> * (2))) [1]\n        else\n            SwitchTo [IdleHold]\n        end\n    else\n        if <(PUp) = [N]> then\n            switch costume to (swimn2 v)\n        else\n            switch costume to (join (join [Swim] (PUp)) [4])\n        end\n    end\nelse\n    if <<(PUp) = [R]> and <(Power44) > [0.3]>> then\n        switch costume to (join [SpinR] ((([floor v] of ((GTime) * (30)) ) mod (4)) + (1)))\n    else\n        if <<(PUp) = [C]> and <(Power22) > [0]>> then\n            switch costume to (join [SpinC] ((([floor v] of ((GTime) * (40)) ) mod (4)) + (1)))\n        else\n            if <<(PUp) = [P]> and <<(Power22) > [0]> or <<(Power44) > [0]> or <(Power33) > [0]>>>> then\n                if <(Power33) > [0]> then\n                    SwitchTo [Spin] [32] [4] [1]\n                else\n                    SwitchTo [Spin] [48] [4] [1]\n                end\n            else\n                if <<(PUp) = [R]> and <<(Power22) > [0]> or <(Power33) > [0]>>> then\n                    if <(Power33) > [0]> then\n                        SwitchTo [Fly] [20] [3] [4]\n                    else\n                        SwitchTo [Fly] [20] [3] [1]\n                    end\n                else\n                    if <not <<(YVel) = [0]> or <(YVel) = (Gravity)>>> then\n                        if <<<(PUp) = [F]> or <(PUp) = [H]>> and <(Power22) > [0]>> then\n                            SwitchTo [Glide]\n                        else\n                            if <([abs v] of (XVel) ) > [7]> then\n                                SwitchTo [Glide]\n                            else\n                                SwitchTo [Jump]\n                            end\n                        end\n                    else\n                        if <<<(PUp) = [F]> or <(PUp) = [H]>> and <(Power22) > [0]>> then\n                            if <(Power22) > [0.5]> then\n                                SwitchTo [Throw] [0] [1] [1]\n                            else\n                                SwitchTo [Throw] [0] [1] [2]\n                            end\n                        else\n                            if <<(Drifting) = [1]> and <not <(PUp) = [O]>>> then\n                                SwitchTo [Drift]\n                            else\n                                if <not <([abs v] of (XVel) ) < [0.05]>> then\n                                    if <<([abs v] of (XVel) ) > [7]> and <not <(PUp) = [O]>>> then\n                                        if <(PUp) = [N]> then\n                                            SwitchTo [Run] [12] [2] [1]\n                                        else\n                                            SwitchTo [Run] [16] [4] [1]\n                                        end\n                                    else\n                                        if <(PUp) = [N]> then\n                                            SwitchTo [Walk] [12] [2] [1]\n                                        else\n                                            SwitchTo [Walk] [16] [4] [1]\n                                        end\n                                    end\n                                else\n                                    if <(UsingPipe) = [1]> then\n                                        SwitchTo [Pipe]\n                                    else\n                                        SwitchTo [Idle]\n                                        set [plytimer v] to [0.08]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine SwimmingCostumes\nif <(PUp) = [C]> then\n    set [ghost v] effect to (100)\n    stop [this script v]\nend\nif <(PUp) = [O]> then\n    if <not <(Holding) = []>> then\n        if <not <([abs v] of (XVel) ) < [0.05]>> then\n            SwitchTo [Hold] [16] [4] [1]\n        else\n            SwitchTo [IdleHold]\n        end\n    else\n        if <not <<(YVel) = [0]> or <(YVel) = (Gravity)>>> then\n            if <(([abs v] of (XVel) ) + (0.5)) > ([abs v] of (YVel) )> then\n                if <([abs v] of (XVel) ) < [0.05]> then\n                    SwitchTo [Swim] [16] [2] [1]\n                else\n                    SwitchTo [Swim] [12] [3] [9]\n                end\n            else\n                if <(YVel) > [0]> then\n                    SwitchTo [Swim] [16] [3] [6]\n                else\n                    SwitchTo [Swim] [16] [3] [3]\n                end\n            end\n        else\n            if <not <([abs v] of (XVel) ) < [0.05]>> then\n                SwitchTo [Walk] [16] [4] [1]\n            else\n                if <(UsingPipe) = [1]> then\n                    SwitchTo [Pipe]\n                else\n                    SwitchTo [Idle]\n                    set [plytimer v] to [0.08]\n                end\n            end\n        end\n    end\nelse\n    if <<(PUp) = [R]> and <(Power44) > [0.3]>> then\n        switch costume to (join [SpinR] ((([floor v] of ((GTime) * (30)) ) mod (4)) + (1)))\n    else\n        if <not <(Holding) = []>> then\n            if <<(YVel) = [0]> or <(YVel) = (Gravity)>> then\n                if <not <([abs v] of (XVel) ) < [0.05]>> then\n                    SwitchTo [Hold] [16] ((4) - (<(PUp) = [N]> * (2))) [1]\n                else\n                    SwitchTo [IdleHold]\n                end\n            else\n                if <(PUp) = [N]> then\n                    switch costume to (swimn2 v)\n                else\n                    switch costume to (join (join [Swim] (PUp)) [4])\n                end\n            end\n        else\n            if <not <<(YVel) = [0]> or <(YVel) = (Gravity)>>> then\n                if <<<(PUp) = [F]> or <(PUp) = [H]>> and <(Power22) > [0]>> then\n                    SwitchTo [Glide]\n                else\n                    SwitchTo [Swim] [8] [4] [1]\n                end\n            else\n                if <<<(PUp) = [F]> or <(PUp) = [H]>> and <(Power22) > [0]>> then\n                    if <(Power22) > [0.5]> then\n                        SwitchTo [Throw] [0] [1] [1]\n                    else\n                        SwitchTo [Throw] [0] [1] [2]\n                    end\n                else\n                    if <(Drifting) = [1]> then\n                        SwitchTo [Drift]\n                    else\n                        if <not <([abs v] of (XVel) ) < [0.05]>> then\n                            if <([abs v] of (XVel) ) > [7]> then\n                                if <(PUp) = [N]> then\n                                    SwitchTo [Run] [12] [2] [1]\n                                else\n                                    SwitchTo [Run] [16] [4] [1]\n                                end\n                            else\n                                if <(PUp) = [N]> then\n                                    SwitchTo [Walk] [12] [2] [1]\n                                else\n                                    SwitchTo [Walk] [16] [4] [1]\n                                end\n                            end\n                        else\n                            if <(UsingPipe) = [1]> then\n                                SwitchTo [Pipe]\n                            else\n                                SwitchTo [Idle]\n                                set [plytimer v] to [0.08]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [overlays v]\nif <(PlayerStamped) = [0]> then\n    CostumePlayer\n    stamp\n    if <(PUp) = [P]> then\n        Prop\n        stamp\n    end\n    if <(PUp) = [C]> then\n        Clouds\n    end\n    SetXPlayerX\n    SetYPlayerY\n    hide\nend\n\nwhen I receive [goal! v]\nstop all sounds\nbroadcast (PlaySong v)\nset [invincible v] to [4.2]\nset [allowplayercontrol v] to [0]\nset [goalreached v] to [1]\npoint in direction (90)\nrepeat (120)\n    if <(XVel) < [2.5]> then\n        set [xvel v] to [2.5]\n    end\n    if <<(PlyY) < ((SelectedWater) + (24))> and <<(YVel) < [0.5]> and <(y position) < [-20]>>> then\n        set [yvel v] to [8]\n    end\n    if <not <(EditMode) = [0]>> then\n        set [allowmovement v] to [1]\n        set [allowplayercontrol v] to [1]\n        set [goalreached v] to [0]\n        stop [this script v]\n    end\nend\nbroadcast (PipeTransition v)\nif <(MyLevel) = [1]> then\n    set [editmode v] to [1]\n    broadcast (ResetMap v)\nelse\n    broadcast (FlagClicked v)\nend\nset [allowmovement v] to [1]\nset [allowplayercontrol v] to [1]\nset [goalreached v] to [0]\n\ndefine FirePowerupUse\nif <(PUp) = [F]> then\n    if <<(Holding) = []> and <(Crouching) = [0]>> then\n        if <(Power11) = [0]> then\n            if <<key (space v) pressed?> and <(Power22) = [0]>> then\n                set [power11 v] to [1]\n                set [power22 v] to [1]\n                add [] to [enycont v]\n                add ((direction) / (2)) to [enydir v]\n                add [0] to [enyext v]\n                add [0] to [enysta v]\n                add [1] to [enyty v]\n                add (((x position) - (MapX)) / (32)) to [enyx v]\n                add [8] to [enyxvel v]\n                add (((y position) - (MapY)) / (32)) to [enyy v]\n                add [0] to [enyyvel v]\n            end\n        else\n            if <not <key (space v) pressed?>> then\n                set [power11 v] to [0]\n            end\n        end\n        if <(Power22) > [0]> then\n            change [power22 v] by (-0.1)\n            if <(Power22) < [0]> then\n                set [power22 v] to [0]\n            end\n        end\n    end\nend\n\ndefine Prop\nif <(Climbing) = [0]> then\n    if <<(Power22) > [0]> or <<(Power44) > [0]> or <(Power33) > [0]>>> then\n        move (2) steps\n        if <(Power33) > [0]> then\n            SwitchTo [Prop] [90] [7] [1]\n        else\n            SwitchTo [Prop] [190] [7] [1]\n        end\n    else\n        switch costume to (join [PropP] ((([floor v] of ((GTime) * (30)) ) mod (7)) + (1)))\n    end\n    if <<(Crouching) = [1]> and <(Sliding) = [0]>> then\n        move (2) steps\n        change y by (-18)\n    end\nelse\n    if <(([floor v] of ((PlyTimer) * (16)) ) mod (2)) = [1]> then\n        move (2) steps\n    end\n    SwitchTo [Prop] [30] [5] [8]\nend\n\ndefine PropellerPowerupUse <jumping>\nif <(PUp) = [P]> then\n    if <<(Holding) = []> and <(Crouching) = [0]>> then\n        if <<<(YVel) = [0]> or <(YVel) = (Gravity)>> or <(Jumping) = [1]>> then\n            set [power11 v] to [0]\n            set [power22 v] to [0]\n            set [power44 v] to [0]\n        else\n            if <<(Power22) = [0]> and <not <<(Power11) = [0.9]> or <<(Power11) = [0.95]> or <(Power11) = [0.96]>>>>> then\n                if <(Power11) = [0.8]> then\n                    if <jumping> then\n                        start sound [PropFly v]\n                        set [power11 v] to [0.9]\n                        set [power22 v] to [1]\n                    end\n                else\n                    set [power11 v] to [0.5]\n                end\n                if <not <jumping>> then\n                    set [power11 v] to [0.8]\n                end\n            end\n        end\n    end\n    if <(Power22) > [0]> then\n        change [power22 v] by (-0.03)\n        if <not <(YVel) = [0.82]>> then\n            set [yvel v] to [8]\n        end\n        if <<(Power22) < [0]> or <<not <jumping>> and <(Power22) < [0.6]>>> then\n            set [power22 v] to [0]\n        end\n    else\n        if <<(Power11) = [0.9]> and <not <jumping>>> then\n            set [power11 v] to [0.95]\n        end\n    end\n    if <<key (s v) pressed?> or <key (down arrow v) pressed?>> then\n        if <<(Power44) = [1]> and <<(Sid) = [P1]> and <not <<(YVel) = [0]> or <(YVel) = (Gravity)>>>>> then\n            start sound [PropDown v]\n            set [sid v] to []\n        end\n        if <<(YVel) = [0]> or <(YVel) = (Gravity)>> then\n            set [power44 v] to [0]\n        else\n            if <<(YVel) < [4]> and <not <(Crouching) = [1]>>> then\n                if <(Power44) = [0]> then\n                    set [sid v] to [P1]\n                end\n                set [power22 v] to [0]\n                set [power33 v] to [0]\n                set [power44 v] to [1]\n                set [yvel v] to [-12]\n                Int ((x position) + (10)) ((y position) - (32)) [Normal]\n                Int ((x position) + (-10)) ((y position) - (32)) [Normal]\n                Action (x position) ((y position) - (24)) [Prop]\n                Action (x position) ((y position) - (30)) [POW]\n                set [xvel v] to [0]\n            end\n        end\n    else\n        set [power44 v] to [0]\n        if <(Power11) = [0.95]> then\n            if <jumping> then\n                start sound [PropSpin v]\n                set [power33 v] to [1]\n            end\n        end\n        if <(Power33) > [0]> then\n            set [power44 v] to [0]\n            set [power11 v] to [0.96]\n            change [power33 v] by (-0.05)\n            if <<(Power33) < [0]> or <<(YVel) = [0]> or <(YVel) = (Gravity)>>> then\n                set [power33 v] to [0]\n            end\n        end\n        if <(Power11) = [0.96]> then\n            if <not <jumping>> then\n                set [power11 v] to [0.95]\n            end\n        end\n    end\nend\n\ndefine Climbing\nset [power11 v] to [0]\nset [power22 v] to [0]\nif <not <(PUp) = [C]>> then\n    set [power33 v] to [0]\n    set [power44 v] to [0]\nend\nset [n.5 v] to <<key (w v) pressed?> or <key (up arrow v) pressed?>>\nswitch costume to (hitboxfloor v)\nif <(N.5) = [1]> then\n    change [yvel v] by (1)\nend\nif <<key (s v) pressed?> or <key (down arrow v) pressed?>> then\n    change [yvel v] by (-1)\nend\nif <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n    change [xvel v] by (1)\nend\nif <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n    change [xvel v] by (-1)\nend\nif <(Climbing) = [0]> then\n    set [yvel v] to ((YVel) / (1.3))\n    set [xvel v] to ((XVel) / (1.25))\n    if <(XVel) > [0]> then\n        point in direction (90)\n    else\n        point in direction (-90)\n    end\nelse\n    set [yvel v] to ((YVel) / (1.5))\n    set [xvel v] to ((XVel) / (1.5))\nend\nYCollisions\nif <<not <((y position) - (MapY)) < ((SelectedWater) + (24))>> and <<(N.5) = [1]> and <(Climbing) = [0]>>> then\n    set [yvel v] to [9.5]\nend\nchange [extcoll v] by (-0.5)\nif <(ExtColl) < [0]> then\n    set [extcoll v] to [0]\nend\nif <<(PUp) = [N]> or <(Crouching) = [1]>> then\n    switch costume to (nhitboxsides v)\nelse\n    switch costume to (bhitboxsides v)\nend\nXCollisions\n\ndefine YCollisions\nchange y by ((YVel) / (2))\nif <not <<<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> or <touching (semisolids v)?>>> then\n    change y by ((YVel) / (2))\nend\nif <(PUp) = [N]> then\n    switch costume to (nhitbox v)\nelse\n    switch costume to (bhitbox v)\nend\nif <(YVel) > [0]> then\n    if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n        FindXSpaceSmall\n        if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n            FindCeiling\n            set [yvel v] to [0.82]\n        end\n    end\nelse\n    switch costume to (hitboxfloor v)\n    if <touching (semisolids v)?> then\n        FindFloorSemi\n        set [yvel v] to [0]\n        set [climbing v] to [0]\n    end\n    if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n        FindFloor\n        if <(YVel) < [-2]> then\n            CreateParticle (x position) ((y position) - (16)) [Drift]\n        end\n        set [climbing v] to [0]\n        set [yvel v] to [0]\n    else\n        if <<(YVel) = (Gravity)> and <(Jumping) = [0]>> then\n            change y by ((([abs v] of (XVel) ) + (4)) * (-1.5))\n            if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n                FindFloor\n                set [yvel v] to [0]\n                set [climbing v] to [0]\n            else\n                change y by ((([abs v] of (XVel) ) + (4)) * (1.5))\n            end\n        end\n    end\nend\n\ndefine XCollisions\nset [n.4 v] to ((SprS) + (ConveyerSpeed))\nif <<([abs v] of (XVel) ) = [0.8]> or <([abs v] of (XVel) ) = ((1) / (1.5))>> then\n    if <not <(ConveyerSpeed) = [0]>> then\n        change [xvel v] by ((([abs v] of (XVel) ) / (XVel)) * ([abs v] of ((ConveyerSpeed) / (1.4)) ))\n    end\n    change x by ((round (XVel)) + (N.4))\nelse\n    change x by (((XVel) + (N.4)) / (((UsedSpring) / (2)) + (1)))\nend\nif <<<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> or <<touching (semisolids v)?> and <not <(YVel) > [0]>>>> then\n    YSmoothing\n    if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n        FindXSpace\n        if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n            set [extcoll v] to [1]\n            FindXSpaceExtreme\n        end\n        set [xvel v] to [0]\n        set [sprs v] to [0.01]\n        set [sliding v] to [0]\n    end\nend\n\ndefine SwitchTo (costume) (speed) (mod) (plus)\nswitch costume to (join (join (costume) (PUp)) ((([floor v] of ((PlyTimer) * (speed)) ) mod (mod)) + (plus)))\n\ndefine RaccoonPowerupUse <jumping>\nif <(PUp) = [R]> then\n    if <<(Holding) = []> and <(Crouching) = [0]>> then\n        if <(Power44) > [0]> then\n            change [power44 v] by (-0.1)\n            if <(Power44) < [0.3]> then\n                set [power44 v] to [0.3]\n                if <not <key (space v) pressed?>> then\n                    set [power44 v] to [0]\n                end\n            end\n        end\n        if <<key (space v) pressed?> and <(Power44) = [0]>> then\n            set [power44 v] to [1]\n            set [plytimer v] to [0]\n            Int ((x position) + (20)) (y position) [Normal]\n            Int ((x position) + (-20)) (y position) [Normal]\n            Action ((x position) + (20)) (y position) [Prop]\n            Action ((x position) + (-20)) (y position) [Prop]\n            Action ((x position) + (20)) (y position) [POW]\n            Action ((x position) + (-20)) (y position) [POW]\n            stop [this script v]\n        end\n        if <not <(PlyY) < ((SelectedWater) + (24))>> then\n            if <<(YVel) = [0]> or <(YVel) = (Gravity)>> then\n                set [power33 v] to [0]\n                set [power22 v] to [0]\n                if <([abs v] of (XVel) ) > [7]> then\n                    set [power11 v] to [1]\n                else\n                    set [power11 v] to [0]\n                end\n            end\n            if <(Power11) > [0]> then\n                if <(YVel) < [-4]> then\n                    set [power11 v] to [0]\n                end\n                if <not <<(YVel) = [0]> or <(YVel) = (Gravity)>>> then\n                    if <not <jumping>> then\n                        set [power11 v] to [0.5]\n                    end\n                end\n                if <(Power11) = [0.5]> then\n                    if <jumping> then\n                        set [power22 v] to [1]\n                        set [power11 v] to [1]\n                    end\n                end\n            else\n                if <not <jumping>> then\n                    change [power11 v] by (-0.5)\n                end\n                if <<jumping> and <(Power11) < [-0.9]>> then\n                    set [power33 v] to [1]\n                    set [power11 v] to [0]\n                end\n            end\n            if <(Power22) > [0]> then\n                change [power22 v] by (-0.08)\n            end\n            if <(Power33) > [0]> then\n                change [power33 v] by (-0.08)\n            end\n        end\n    end\nend\n\ndefine SetYPlayerY\nset y to ((PlyY) + (MapY))\n\ndefine SetXPlayerX\nset x to ((PlyX) + (MapX))\n\ndefine Int (x) (y) (type)\nadd (x) to [intx v]\nadd (y) to [inty v]\nadd (type) to [inttype v]\n\ndefine Action (x) (y) (type)\nadd (x) to [aboacx v]\nadd (y) to [aboacy v]\nadd (type) to [aboactype v]\n\ndefine SwitchTo (cost)\nswitch costume to (join (cost) (PUp))\n\ndefine CloudPowerupUsage\nset [n.5 v] to <<key (up arrow v) pressed?> or <key (w v) pressed?>>\nif <(PUp) = [C]> then\n    if <<(Holding) = []> and <(Crouching) = [0]>> then\n        if <<<(YVel) = [0]> or <(YVel) = (Gravity)>> or <(YVel) > [15]>> then\n            set [power11 v] to [1]\n            set [power22 v] to [0]\n        else\n            if <(Power11) = [0.5]> then\n                if <(Power44) > [0]> then\n                    if <(N.5) = [1]> then\n                        add [0] to [bonseex v]\n                        add [0] to [bosest v]\n                        add [0] to [boseti v]\n                        add [ak] to [bosety v]\n                        add (((x position) - (MapX)) / (32)) to [bosex v]\n                        add ((((y position) - (MapY)) / (32)) - (0.8)) to [bosey v]\n                        set [power22 v] to [1]\n                        set [power11 v] to [0]\n                        set [yvel v] to [10]\n                        change [power44 v] by (-1)\n                        change [power33 v] by (1)\n                        set [xvel v] to [0]\n                        if <(Power33) > [3]> then\n                            ScanForOldestCloud\n                            set [deletebonusno. v] to (N.2)\n                            set [power33 v] to [3]\n                        end\n                    end\n                end\n            end\n            if <<(Power11) = [1]> and <(N.5) = [0]>> then\n                set [power11 v] to [0.5]\n            end\n        end\n    end\nend\n\ndefine ScanForOldestCloud\nset [n. v] to [0]\nrepeat (length of [bosex v])\n    change [n. v] by (1)\n    if <(item (N.) of [bosety v]) = [ak]> then\n        if <(item (N.) of [boseti v]) > (N.3)> then\n            set [n.2 v] to (N.)\n            set [n.3 v] to (item (N.) of [boseti v])\n        end\n        change [n.4 v] by (1)\n    end\n    if <(N.4) > [2]> then\n        stop [this script v]\n    end\nend\n\ndefine UsingPipe (x) (y)\nset [plyx v] to (((item (PipeUseNo.) of [pipex v]) * (32)) + (x))\nset [plyy v] to (((item (PipeUseNo.) of [pipey v]) * (32)) + (y))\n\ndefine DestPipe (x) (y)\nset [plyx v] to (((item (PipeDestnNo.) of [pipex v]) * (32)) + (x))\nset [plyy v] to (((item (PipeDestnNo.) of [pipey v]) * (32)) + (y))\nEssentialPipeExit\n\ndefine Clouds\nchange y by ((32) - ((YVel) / (2)))\nmove (-16) steps\nrepeat (Power44)\n    switch costume to (cloud v)\n    change x by ((([abs v] of ((XVel) / (2)) ) + (8)) * ((direction) / (-90)))\n    change y by ((([sin v] of ((GTime) * (180)) ) * (2)) - (1))\n    stamp\nend\n\ndefine NormalXMovement <left> <right> <grounded> <control>\nif <(Crouching) = [1]> then\n    if <(Sliding) = [0]> then\n        set [xvel v] to ((XVel) / (1.09))\n    else\n        set [xvel v] to ((XVel) / (1.05))\n    end\nelse\n    if <<key (space v) pressed?> and <(AllowPlayerControl) = [1]>> then\n        set [xvel v] to ((XVel) / (1.12))\n    else\n        set [xvel v] to ((XVel) / (1.3))\n    end\nend\nif <<(PUp) = [R]> and <<(Power22) > [0]> or <(Power33) > [0]>>> then\n    if <([abs v] of (XVel) ) > [4]> then\n        set [xvel v] to ((([abs v] of (XVel) ) / (XVel)) * (4))\n    end\nend\nif <(Crouching) = [1]> then\n    if <<<right> and <not <left>>> and <(AllowPlayerControl) = [1]>> then\n        point in direction (90)\n    end\n    if <<<left> and <not <right>>> and <(AllowPlayerControl) = [1]>> then\n        point in direction (-90)\n    end\nend\nif <<<right> and <not <left>>> and <control>> then\n    if <(Sliding) < [1]> then\n        set [sliding v] to [0]\n    end\n    change [xvel v] by (0.8)\n    if <<grounded> and <(XVel) < [0.79]>> then\n        change [xvel v] by (-0.76)\n        set [drifting v] to [1]\n        if <((round (((GTime) mod (0.02)) * (100))) / (100)) = [0.01]> then\n            start sound [skid v]\n        end\n        CreateParticle (((x position) + (-8)) + ((XVel) * (-2))) ((y position) - (16)) [Drift]\n    end\n    if <<grounded> or <(XVel) > [3.3]>> then\n        point in direction (90)\n    end\nend\nif <<<left> and <not <right>>> and <control>> then\n    if <(Sliding) < [1]> then\n        set [sliding v] to [0]\n    end\n    change [xvel v] by (-0.8)\n    if <<grounded> and <(XVel) > [-0.79]>> then\n        change [xvel v] by (0.76)\n        set [drifting v] to [1]\n        if <((round (((GTime) mod (0.02)) * (100))) / (100)) = [0.01]> then\n            start sound [skid v]\n        end\n        CreateParticle (((x position) + (8)) + ((XVel) * (-2))) ((y position) - (16)) [Drift]\n    end\n    if <<grounded> or <(XVel) < [-3.3]>> then\n        point in direction (-90)\n    end\nend\nXCollisions\n\ndefine SwimmingXMovement <left> <right> <grounded> <jump>\nif <<<jump> and <(AllowPlayerControl) = [1]>> and <(Jumping) = [0]>> then\n    if <(Crouching) = [1]> then\n        set [xvel v] to ((direction) / (30))\n        set [yvel v] to [0.82]\n    else\n        if <<(YVel) < [0.5]> or <grounded>> then\n            start sound [swim v]\n            set [yvel v] to [5]\n        end\n    end\n    set [jumping v] to [1]\nelse\n    if <grounded> then\n        if <<<<key (s v) pressed?> or <key (down arrow v) pressed?>> and <(AllowPlayerControl) = [1]>> and <(Holding) = []>> then\n            set [crouching v] to [1]\n            if <(PUp) = [H]> then\n                set [sliding v] to [0]\n            else\n                set [n.3 v] to [0]\n                SlidingLeft\n                set [n.3 v] to [1]\n                SlidingLeft\n            end\n        else\n            set [sliding v] to [0]\n        end\n    end\nend\nchange [extcoll v] by (-0.5)\nif <(ExtColl) < [0]> then\n    set [extcoll v] to [0]\nend\nif <<(PUp) = [N]> or <(Crouching) = [1]>> then\n    switch costume to (nhitboxsides v)\nelse\n    switch costume to (bhitboxsides v)\nend\nif <<not <((y position) - (MapY)) < ((SelectedWater) + (24))>> and <jump>> then\n    set [yvel v] to [9.5]\nend\nFirePowerupUse\nHammerPowerupUse\nif <(Crouching) = [1]> then\n    if <(Sliding) = [0]> then\n        set [xvel v] to ((XVel) / (1.09))\n    else\n        set [xvel v] to ((XVel) / (1.05))\n    end\nelse\n    if <<key (space v) pressed?> and <(AllowPlayerControl) = [1]>> then\n        if <grounded> then\n            set [xvel v] to ((XVel) / (1.3))\n        else\n            set [xvel v] to ((XVel) / (1.2))\n        end\n    else\n        set [xvel v] to ((XVel) / (1.55))\n    end\nend\nif <(Crouching) = [1]> then\n    if <<<right> and <not <left>>> and <(AllowPlayerControl) = [1]>> then\n        point in direction (90)\n    end\n    if <<<left> and <not <right>>> and <(AllowPlayerControl) = [1]>> then\n        point in direction (-90)\n    end\nend\nif <<<right> and <not <left>>> and <<(Crouching) = [0]> and <(AllowPlayerControl) = [1]>>> then\n    if <(Sliding) < [1]> then\n        set [sliding v] to [0]\n    end\n    change [xvel v] by (0.8)\n    if <<grounded> and <(XVel) < [0.79]>> then\n        change [xvel v] by (-0.76)\n        set [drifting v] to [1]\n        if <((round (((GTime) mod (0.02)) * (100))) / (100)) = [0]> then\n            start sound [skid v]\n        end\n        CreateParticle (((x position) + (-8)) + ((XVel) * (-2))) ((y position) - (16)) [Drift]\n    end\n    if <<grounded> or <(XVel) > [1]>> then\n        point in direction (90)\n    end\nend\nif <<<left> and <not <right>>> and <<(Crouching) = [0]> and <(AllowPlayerControl) = [1]>>> then\n    if <(Sliding) < [1]> then\n        set [sliding v] to [0]\n    end\n    change [xvel v] by (-0.8)\n    if <<grounded> and <(XVel) > [-0.79]>> then\n        change [xvel v] by (0.76)\n        set [drifting v] to [1]\n        if <((round (((GTime) mod (0.02)) * (100))) / (100)) = [0]> then\n            start sound [skid v]\n        end\n        CreateParticle (((x position) + (8)) + ((XVel) * (-2))) ((y position) - (16)) [Drift]\n    end\n    if <<grounded> or <(XVel) < [-1]>> then\n        point in direction (-90)\n    end\nend\nXCollisions\n\ndefine PipeAnimate (x) (y)\nrepeat (30)\n    change [plyx v] by (x)\n    change [plyy v] by (y)\n    change [animatepipe v] by (1)\nend\n\ndefine HammerPowerupUse\nif <(PUp) = [H]> then\n    if <<(Holding) = []> and <(Crouching) = [0]>> then\n        if <(Power11) = [0]> then\n            if <<key (space v) pressed?> and <(Power22) = [0]>> then\n                set [power11 v] to [1]\n                set [power22 v] to [1]\n                add [] to [enycont v]\n                add ((direction) / (18)) to [enydir v]\n                add [0] to [enyext v]\n                add [0] to [enysta v]\n                add [2] to [enyty v]\n                add (((x position) - (MapX)) / (32)) to [enyx v]\n                add [8] to [enyxvel v]\n                add (((y position) - (MapY)) / (32)) to [enyy v]\n                add [0] to [enyyvel v]\n            end\n        else\n            if <not <key (space v) pressed?>> then\n                set [power11 v] to [0]\n            end\n        end\n        if <(Power22) > [0]> then\n            change [power22 v] by (-0.1)\n            if <(Power22) < [0]> then\n                set [power22 v] to [0]\n            end\n        end\n    end\nend\n\n@PenUI\n\ndefine Write (word)\nset [n.4 v] to [0]\nset [n.3 v] to [0]\nrepeat (length of (word))\n    change [n.4 v] by (1)\n    change [n.3 v] by (1)\n    switch costume to (letter (N.4) of (word))\n    stamp\n    ExcludeLetters (word)\n    if <<(N.3) > [20]> and <(letter (N.4) of (word)) = [ ]>> then\n        set [n.3 v] to [0]\n        set x to (-220)\n        change y by (((size) / (400)) * (-16))\n    end\nend\n\nwhen I receive [overlays v]\nif <[1] = [1]> then\n    delete this clone\nend\ngo to x: (0) y: (0)\nset size to (260) %\nif <(length of [notif v]) > [0]> then\n    Notifications\nend\nbroadcast (Overlays2 v)\n\ndefine Notifications\nFindLongestNotification\nif <(AllowNotification) = [1]> then\n    if <(length of [notif v]) > [0]> then\n        set [n.2 v] to ((length of [notif v]) + (1))\n        Standard3 [1]\n        PenOptions [24] [100] [-230.4] [180] [1]\n        change x by (((N.) + (1)) * (10.4))\n        pen up\n        repeat (length of [notif v])\n            change [n.2 v] by (-1)\n            Standard3 [0]\n            PenOptions [24] (((((N.2) + (1)) mod (2)) * (-5)) + (100)) [-230.4] [190] [1]\n            set y to (((190) - ((N.2) * (20))) + ((Loaded) * (-10.4)))\n            change x by (((N.) + (1)) * (10.4))\n            set y to (184)\n            pen up\n            set x to (-220)\n            set y to (((190) - ((N.2) * (20))) + ((Loaded) * (-10.4)))\n            if <(length of (item (N.2) of [notif v])) > [24]> then\n                Standard4\n                if <(length of (item (N.2) of [notif v])) > [50]> then\n                    Standard4\n                end\n            end\n            change y by (-2)\n            Write (item (N.2) of [notif v])\n            replace item (N.2) of [notiftimer v] with ((item (N.2) of [notiftimer v]) - (1))\n        end\n    end\nend\n\ndefine FindLongestNotification\nset [n. v] to [0]\nset [n.2 v] to [0]\nset [loaded v] to [0]\nrepeat until <not <(N.2) < (length of [notif v])>>\n    change [n.2 v] by (1)\n    if <(AllowNotification) = [0]> then\n        replace item (N.2) of [notiftimer v] with ((item (N.2) of [notiftimer v]) - (1))\n    end\n    if <(item (N.2) of [notiftimer v]) < [0]> then\n        delete (N.2) of [notif v]\n        delete (N.2) of [notiftimer v]\n    else\n        if <(length of (item (N.2) of [notif v])) > [24]> then\n            change [loaded v] by (1)\n            if <(length of (item (N.2) of [notif v])) > [50]> then\n                change [loaded v] by (1)\n            end\n        end\n        if <(length of (item (N.2) of [notif v])) > (N.)> then\n            set [n. v] to (length of (item (N.2) of [notif v]))\n            if <(N.) > [25]> then\n                set [n. v] to [25]\n            end\n        end\n    end\nend\n\ndefine Music Menu\nswitch costume to (  v)\nSize/Bright [] [-100]\nset pen (transparency v) to (0)\nPenOptions [24] [95] [260] [120] [1]\nset y to (-120)\npen up\nrepeat (8)\n    set y to (120)\n    pen down\n    change x by ((([abs v] of (MusicMenu) ) * (-160)) / (8))\n    set y to (-120)\n    set [n.2 v] to (x position)\n    set x to (260)\n    pen up\n    set x to (N.2)\nend\n\ndefine MusicList\nif <(MusicScroll) < [0]> then\n    set [musicscroll v] to [0]\nend\nif <(MusicScroll) > ((length of [music v]) - (8))> then\n    set [musicscroll v] to ((length of [music v]) - (8))\nend\nset y to ((114) + (((((MusicScroll) + (-0.5)) * (32)) mod (32)) - (16)))\nset size to (260) %\nset [n.2 v] to (round (MusicScroll))\nset [sid v] to [0]\nrepeat (8)\n    switch costume to (a v)\n    change [n.2 v] by (1)\n    if <(MusicMenu) = [1]> then\n        if <(SelectedMusic) = (N.2)> then\n            if <not <([abs v] of (y position) ) > [122]>> then\n                PenOptions [28] ((85) + (([sin v] of ((GTime) * (480)) ) * (5))) [260] [] [1]\n                set x to (78)\n                pen up\n            end\n        end\n        if <<([abs v] of ((y position) - (mouse y)) ) < [16]> and <<(mouse x) < [220]> and <(mouse x) > [60]>>> then\n            if <<mouse down?> and <(MusicExtra) = [0]>> then\n                set [musicextra v] to [0.5]\n                stop all sounds\n                if <not <(N.2) = (SelectedMusic)>> then\n                    start sound (item (N.2) of [music v])\n                end\n                set [sid v] to (N.2)\n                set [gtime v] to [0.93]\n            end\n            set pen size to (28)\n            if <(N.2) = (SelectedMusic)> then\n                set pen (brightness v) to ((85) + (([sin v] of ((GTime) * (480)) ) * (15)))\n            else\n                set pen (brightness v) to (75)\n            end\n            set x to (260)\n            pen down\n            set x to (78)\n            pen up\n        end\n    end\n    set x to (260)\n    change x by (([abs v] of (MusicMenu) ) * (-160))\n    change x by (2)\n    set [n.4 v] to ((((MusicTimer) * (16)) mod (24)) - (8))\n    if <(N.4) < [0]> then\n        set [n.4 v] to [0]\n    end\n    set [n.6 v] to (length of (item (N.2) of [music v]))\n    if <(N.4) > ((N.6) - (12))> then\n        set [n.4 v] to ((N.6) - (12))\n    end\n    if <(N.6) < [12]> then\n        set [n.4 v] to [0]\n    end\n    change x by (((N.4) mod (1)) * (-10.4))\n    set [n.4 v] to ([floor v] of (N.4) )\n    Write (item (N.2) of [music v]) Limited\n    set x to (210)\n    Size/Bright [260] [-100]\n    change y by (-16)\n    if <(y position) < [-127]> then\n        change y by ((32) * (8))\n    end\n    PenOptions [4] [90] [260] [] [1]\n    change x by ((([abs v] of (MusicMenu) ) * (-160)) - (10))\n    pen up\n    change y by (-16)\nend\nif <(MusicMenu) = [1]> then\n    PenOptions [24] [95] [230] [128] [1]\n    set y to (-125)\n    pen up\n    PenOptions [4] [80] [230] [110] [1]\n    set y to (-110)\n    pen up\n    Size/Bright [400] []\n    switch costume to (scroll v)\n    go to x: (230) y: (((((MusicScroll) / ((length of [music v]) - (8))) * (-1)) + (0.5)) * (220))\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        if <(BackgroundExtra) = [0]> then\n            set [musicextra v] to [1]\n        end\n    end\n    if <not <mouse down?>> then\n        set [musicextra v] to [0]\n    end\n    if <(MusicExtra) = [1]> then\n        change y by (((y position) - (mouse y)) / (-2.5))\n        if <(y position) > [110]> then\n            set y to (110)\n        end\n        if <(y position) < [-110]> then\n            set y to (-110)\n        end\n        set [musicscroll v] to (([abs v] of (((y position) / (220)) - (0.5)) ) * ((length of [music v]) - (8)))\n    end\n    stamp\nend\nPenOptions [12] [100] [260] [134] [1]\nchange x by ((([abs v] of (MusicMenu) ) * (-160)) - (10))\nset y to (-134)\nset x to (260)\npen up\nif <not <(Sid) = [0]>> then\n    ReplaceSection [1] OfArea (Floor) With (Sid)\n    set [selectedmusic v] to (Sid)\nend\nSize/Bright [400] [-100]\ngo to x: ((([abs v] of (MusicMenu) ) * (-160)) + (216)) y: (0)\nWrite [Music Menu] Sideways\n\ndefine Write (word) Limited\nset [n.3 v] to [0]\nrepeat ((length of (word)) - (N.4))\n    change [n.4 v] by (1)\n    change [n.3 v] by (1)\n    switch costume to (letter (N.4) of (word))\n    if <not <(x position) > [238]>> then\n        stamp\n    end\n    change x by (((size) / (260)) * (10.4))\n    if <<(N.3) > [10]> and <((N.4) + (1)) < (length of (word))>> then\n        repeat (3)\n            change [n.4 v] by (1)\n            switch costume to (. v)\n            if <not <(x position) > [238]>> then\n                stamp\n            end\n            change x by (6)\n        end\n        stop [this script v]\n    end\nend\n\ndefine RetrieveSection (no.) FromArea (area)\nif <(length of (item (area) of [areas v])) = [0]> then\n    stop [this script v]\nend\nset [n. v] to [0]\nset [n.2 v] to []\nrepeat ((no.) - (1))\n    repeat until <(letter (N.) of (item (area) of [areas v])) = [;]>\n        change [n. v] by (1)\n    end\n    change [n. v] by (1)\nend\nrepeat until <(letter (N.) of (item (area) of [areas v])) = [;]>\n    set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\n    change [n. v] by (1)\nend\n\ndefine ReplaceSection (no.) OfArea (area) With (input)\nset [n. v] to [1]\nset [n.2 v] to []\nrepeat ((no.) - (1))\n    set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\n    repeat until <(letter (N.) of (item (area) of [areas v])) = [;]>\n        change [n. v] by (1)\n        set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\n        if <(N.) > (length of (item (area) of [areas v]))> then\n            stop [this script v]\n        end\n    end\n    change [n. v] by (1)\nend\nset [n.2 v] to (join (N.2) (input))\nrepeat until <(letter (N.) of (item (area) of [areas v])) = [;]>\n    change [n. v] by (1)\n    if <(N.) > (length of (item (area) of [areas v]))> then\n        stop [this script v]\n    end\nend\nset [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\nrepeat ((length of (item (area) of [areas v])) - (N.))\n    change [n. v] by (1)\n    set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\nend\nreplace item (area) of [areas v] with (N.2)\n\nwhen I receive [endotherscripts v]\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [updateareasettings v]\nRetrieveSection [1] FromArea (Floor)\nset [selectedmusic v] to (N.2)\nRetrieveSection [2] FromArea (Floor)\nset [selectedbackground v] to (N.2)\nRetrieveSection [3] FromArea (Floor)\nset [selectedxcamera v] to (N.2)\nRetrieveSection [4] FromArea (Floor)\nset [selectedycamera v] to (N.2)\nRetrieveSection [5] FromArea (Floor)\nset [selectedwater v] to (N.2)\nRetrieveSection [6] FromArea (Floor)\nset [selectedlavalevel v] to (N.2)\n\ndefine BackgroundMenu\nStandard (BackgroundMenu)\nif <(BackgroundMenu) = [1]> then\n    PenOptions [4] [80] [-225] [110] [1]\n    set y to (-110)\n    pen up\n    Size/Bright [400] []\n    switch costume to (scroll v)\n    go to x: (-225) y: ((110) - (((SelectedBackground) - (1)) * ((220) / (14))))\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        set [backgroundextra v] to [1]\n    end\n    if <not <mouse down?>> then\n        set [backgroundextra v] to [0]\n    end\n    if <(BackgroundExtra) = [1]> then\n        change y by (((y position) - (mouse y)) / (-1))\n        if <(y position) > [110]> then\n            set y to (110)\n        end\n        if <(y position) < [-110]> then\n            set y to (-110)\n        end\n        set [n.4 v] to ((round (([abs v] of (((y position) / (220)) - (0.5)) ) * (14))) + (1))\n        set [selectedbackground v] to (N.4)\n        ReplaceSection [2] OfArea (Floor) With (SelectedBackground)\n        broadcast (UpdateAreaSettings v)\n    end\n    stamp\nend\nStandard2 (BackgroundMenu)\nWrite [Backgrounds] Sideways\n\ndefine Write (word) Sideways\nset rotation style [all around v]\nif <(x position) > [0]> then\n    point in direction (0)\n    set [n.4 v] to [0]\nelse\n    point in direction (180)\n    set [n.4 v] to ((length of (word)) + (1))\nend\nchange y by ((((length of (word)) - (1)) / (2)) * (-16))\nset [n.3 v] to [0]\nrepeat (length of (word))\n    if <(x position) > [0]> then\n        change [n.4 v] by (1)\n    else\n        change [n.4 v] by (-1)\n    end\n    change [n.3 v] by (1)\n    switch costume to (letter (N.4) of (word))\n    stamp\n    change y by (16)\nend\npoint in direction (90)\nset rotation style [don't rotate v]\n\ndefine AreaMenu\nStandard (AreaMenu)\nif <(AreaMenu) = [1]> then\n    PenOptions [4] [80] [-225] [110] [1]\n    set y to (-70)\n    pen up\n    clear graphic effects\n    set size to (400) %\n    set y to (-112)\n    switch costume to (add v)\n    if <(distance to [mouse-pointer v]) < [20]> then\n        change size by (25)\n        if <<<(BackgroundExtra) = [0]> and <(UIJustClicked2) = [0]>> and <mouse down?>> then\n            set [y v] to (pick random (1) to (4))\n            if <(Y) = (SelectedBackground)> then\n                set [y v] to [1]\n                if <(SelectedBackground) = [1]> then\n                    set [y v] to (pick random (2) to (4))\n                end\n            end\n            add (join (join (pick random (1) to (5)) (join [;] (Y))) [;1;1;-200;-200;]) to [areas v]\n            set [floor v] to (length of [areas v])\n            change [plyy v] by (1310)\n            set [mapy v] to ((PlyY) * (-1))\n            set [uijustclicked2 v] to [1]\n            broadcast (MapLimits v)\n            broadcast (UpdateAreaSettings v)\n            broadcast (Fast Transition v)\n        end\n    end\n    stamp\n    set size to (400) %\n    switch costume to (scroll v)\n    go to x: (-225) y: ((110) - (((Floor) - (1)) * ((180) / ((length of [areas v]) - (1)))))\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        set [backgroundextra v] to [1]\n    end\n    if <not <mouse down?>> then\n        set [backgroundextra v] to [0]\n    end\n    if <(BackgroundExtra) = [1]> then\n        change y by (((y position) - (mouse y)) / (-1))\n        if <(y position) > [110]> then\n            set y to (110)\n        end\n        if <(y position) < [-70]> then\n            set y to (-70)\n        end\n        set [n.4 v] to ((round (([abs v] of ((((y position) + (-20)) / (180)) - (0.5)) ) * ((length of [areas v]) - (1)))) + (1))\n        if <not <(N.4) = (Floor)>> then\n            change [plyy v] by ((-1310) * ((Floor) - (N.4)))\n            set [mapy v] to ((PlyY) * (-1))\n            set [floor v] to (N.4)\n            broadcast (MapLimits v)\n            broadcast (UpdateAreaSettings v)\n            broadcast (Fast Transition v)\n        end\n    end\n    stamp\nend\nStandard2 (AreaMenu)\nWrite (join [Floor ] (Floor)) Sideways\nset y to (-90)\nset x to (-260)\npen down\nchange x by ((([abs v] of (AreaMenu) ) * (30)) + (10))\npen up\n\nwhen I receive [overlays2 v]\nif <[1] = [1]> then\n    delete this clone\nend\nOverlays2\n\ndefine CameraMenu\nswitch costume to (  v)\nclear graphic effects\nset [brightness v] effect to (-100)\nset pen (transparency v) to (0)\nPenOptions [24] [95] [-260] [120] [1]\nset y to (-120)\npen up\nrepeat (7)\n    set y to (120)\n    pen down\n    change x by ((([abs v] of (CameraMenu) ) * (160)) / (7))\n    set y to (-120)\n    set [n.2 v] to (x position)\n    set x to (-260)\n    pen up\n    set x to (N.2)\nend\nif <(CameraMenu) = [1]> then\n    PenOptions [4] [90] [-260] [0] [1]\n    set x to (-80)\n    pen up\n    PenOptions [4] [80] [-220] [90] [1]\n    set x to (-100)\n    pen up\n    clear graphic effects\n    set size to (400) %\n    switch costume to (scroll2 v)\n    go to x: (((((SelectedXCamera) - (1)) / (7)) * (120)) - (220)) y: (90)\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        set [backgroundextra v] to [1]\n    end\n    if <not <mouse down?>> then\n        set [backgroundextra v] to [0]\n    end\n    if <(BackgroundExtra) = [1]> then\n        change x by (((x position) - (mouse x)) / (-1))\n        if <(x position) > [-100]> then\n            set x to (-100)\n        end\n        if <(x position) < [-220]> then\n            set x to (-220)\n        end\n        set [selectedxcamera v] to ((round ((((x position) - (-220)) / (120)) * (7))) + (1))\n        ReplaceSection [3] OfArea (Floor) With (SelectedXCamera)\n    end\n    stamp\n    switch costume to (  v)\n    Size/Bright [400] [-100]\n    go to x: (-216) y: (110)\n    Write [X Camera] CameraMenu\n    switch costume to (  v)\n    set size to (260) %\n    go to x: (-220) y: (74)\n    if <(SelectedXCamera) = [1]> then\n        Write [No Limits.] CameraMenu\n        XCameraIcon [X1]\n    end\n    if <(SelectedXCamera) = [2]> then\n        Write [Impassable  wall on the left.] CameraMenu\n        XCameraIcon [X2]\n    end\n    if <(SelectedXCamera) = [3]> then\n        Write [Only moves  to the right.] CameraMenu\n        XCameraIcon [X3]\n    end\n    if <(SelectedXCamera) = [4]> then\n        Write [Auto Scroll Right.] CameraMenu\n        XCameraIcon [X4]\n    end\n    if <(SelectedXCamera) = [5]> then\n        Write [Stationary.] CameraMenu\n        XCameraIcon [X5]\n    end\n    if <(SelectedXCamera) = [6]> then\n        Write [Auto Scroll Right x2.] CameraMenu\n        XCameraIcon [X6]\n    end\n    if <(SelectedXCamera) = [7]> then\n        Write [Auto Scroll Right x3.] CameraMenu\n        XCameraIcon [X7]\n    end\n    if <(SelectedXCamera) = [8]> then\n        Write [Auto Scroll Right x4.] CameraMenu\n        XCameraIcon [X8]\n    end\n    switch costume to (  v)\n    PenOptions [4] [80] [-220] [-40] [1]\n    set x to (-100)\n    pen up\n    Size/Bright [400] []\n    switch costume to (scroll2 v)\n    go to x: (((((SelectedYCamera) - (1)) / (4)) * (120)) - (220)) y: (-40)\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        set [cameraextra v] to [1]\n    end\n    if <not <mouse down?>> then\n        set [cameraextra v] to [0]\n    end\n    if <(CameraExtra) = [1]> then\n        change x by (((x position) - (mouse x)) / (-1))\n        if <(x position) > [-100]> then\n            set x to (-100)\n        end\n        if <(x position) < [-220]> then\n            set x to (-220)\n        end\n        set [selectedycamera v] to ((round ((((x position) - (-220)) / (120)) * (4))) + (1))\n        ReplaceSection [4] OfArea (Floor) With (SelectedYCamera)\n    end\n    stamp\n    switch costume to (  v)\n    Size/Bright [400] [-100]\n    go to x: (-220) y: (-20)\n    Write [Y Camera] CameraMenu\n    switch costume to (  v)\n    set size to (260) %\n    go to x: (-220) y: (-56)\n    if <(SelectedYCamera) = [1]> then\n        Write [Limited only by Area Top and Bottom.] CameraMenu\n        YCameraIcon [Y1]\n    end\n    if <(SelectedYCamera) = [2]> then\n        Write [Only moves  up.] CameraMenu\n        YCameraIcon [Y2]\n    end\n    if <(SelectedYCamera) = [3]> then\n        Write [Only moves  down.] CameraMenu\n        YCameraIcon [Y3]\n    end\n    if <(SelectedYCamera) = [4]> then\n        Write [Auto Scroll Up.] CameraMenu\n        YCameraIcon [Y4]\n    end\n    if <(SelectedYCamera) = [5]> then\n        Write [Stationary.] CameraMenu\n        YCameraIcon [Y5]\n    end\n    switch costume to (  v)\nend\nPenOptions [12] [100] [-260] [134] [1]\nset [n.7 v] to (([abs v] of (CameraMenu) ) * (160))\nchange x by ((N.7) + (10))\nset y to (-134)\nset x to (-260)\npen up\nSize/Bright [400] [-100]\ngo to x: ((N.7) + (-216)) y: (0)\nWrite [Camera Modes] Sideways\n\nwhen I receive [playsong v]\nPlaySong\n\nwhen I receive [flagclicked v]\nset rotation style [don't rotate v]\nset [brightness v] effect to (-100)\nset size to (260) %\nhide\nset pen size to (24)\nset pen color to (#f0f7ff)\nset [musicmenu v] to [0]\nset [backgroundmenu v] to [0]\nset [musicscroll v] to [0]\nset [musicextra v] to [0]\nset [areamenu v] to [0]\nset [cameramenu v] to [0]\nset [allownotification v] to [1]\nwait (0.1) seconds\nSearchFor []\n\ndefine Write (word) CameraMenu\nset [n.4 v] to [0]\nset [n.3 v] to [0]\nrepeat (length of (word))\n    change [n.4 v] by (1)\n    change [n.3 v] by (1)\n    switch costume to (letter (N.4) of (word))\n    stamp\n    ExcludeLetters (word)\n    if <(x position) > [-100]> then\n        set x to (-220)\n        change y by (((size) / (400)) * (-16))\n    end\nend\n\ndefine Overlays2\ngo to x: (0) y: (0)\nif <(Menu) = [Home]> then\n    set [brightness v] effect to (100)\n    set size to (400) %\n    go to x: (-168) y: (170)\n    Write [Made By BenjaminWins11] Unlimited []\nend\nif <(Menu) = [Load]> then\n    show\n    set [brightness v] effect to (100)\n    set size to ((480) - ((length of (Title)) * (4.25))) %\n    go to x: ((((length of (Title)) - (1)) / (2)) * ((size) / (-25))) y: (20)\n    Write (Title) Unlimited [1]\n    set size to (400) %\n    go to x: ((((length of (join [Made By: ] (Maker))) - (1)) / (2)) * (-16)) y: (-160)\n    Write (join [Made By: ] (Maker)) Unlimited [1]\n    hide\nend\nif <(Inventory) > [0]> then\n    if <(Searching) = [1]> then\n        if <not <key (any v) pressed?>> then\n            set [sid v] to []\n        end\n        SearchingLetters\n        SearchList\n    else\n        if <not <(SelectedInventory) = []>> then\n            set [n.5 v] to ((((length of (item (SelectedInventory) of [iname v])) - (1)) / (2)) * (-16))\n            clear graphic effects\n            set size to (400) %\n            set [brightness v] effect to (100)\n            go to x: (N.5) y: (148)\n            Write (item (SelectedInventory) of [iname v]) Unlimited []\n            set [brightness v] effect to (-95)\n            go to x: (N.5) y: ((149) + (([sin v] of ((GTime) * (480)) ) * (1)))\n            Write (item (SelectedInventory) of [iname v]) Unlimited []\n            set [n.5 v] to (item (SelectedInventory) of [ilist v])\n            if <<[pot v] contains (N.5)?> or <<<(N.5) = [k]> or <(N.5) = [w]>> or <<(N.5) = [x]> or <(N.5) = [y]>>>> then\n                clear graphic effects\n                set size to (400) %\n                go to x: (220) y: (-121)\n                switch costume to (track v)\n                stamp\n            end\n        end\n    end\nend\nif <not <(MusicMenu) = [0]>> then\n    change [musictimer v] by (0.01)\n    set [n.5 v] to (MusicMenu)\n    Standard5\n    set [musicmenu v] to (N.5)\n    if <not <(MusicMenu) = [1]>> then\n        set [musictimer v] to [0]\n    end\n    if <not <(MusicMenu) = [0]>> then\n        Music Menu\n        MusicList\n    end\nend\nif <not <(TimeMenu) = [0]>> then\n    set [n.5 v] to (TimeMenu)\n    Standard5\n    set [timemenu v] to (N.5)\n    if <not <(TimeMenu) = [0]>> then\n        TimeMenu\n    end\nend\nif <not <(BackgroundMenu) = [0]>> then\n    set [n.5 v] to (BackgroundMenu)\n    Standard5\n    set [backgroundmenu v] to (N.5)\n    if <not <(BackgroundMenu) = [0]>> then\n        BackgroundMenu\n    end\nend\nif <not <(AreaMenu) = [0]>> then\n    set [n.5 v] to (AreaMenu)\n    Standard5\n    set [areamenu v] to (N.5)\n    if <not <(AreaMenu) = [0]>> then\n        AreaMenu\n    end\nend\nif <not <(CameraMenu) = [0]>> then\n    set [n.5 v] to (CameraMenu)\n    Standard5\n    set [cameramenu v] to (N.5)\n    if <not <(CameraMenu) = [0]>> then\n        CameraMenu\n    end\nend\nif <<<(Tool) = [Pen]> and <(EditMode) = [1]>> and <(Inventory) = [0]>> then\n    show\n    set [n.7 v] to (item (PlacingBlock) of [ilist v])\n    if <[rotate v] contains (N.7)?> then\n        Size/Bright [400] [-100]\n        go to x: (0) y: (170)\n        HUDText [\[R\] to Rotate] [1.8]\n    end\n    if <(letter (1) of (N.7)) = [.]> then\n        Size/Bright [400] [-100]\n        go to x: (0) y: (-132)\n        if <<<(N.7) = [.1]> or <(N.7) = [.2]>> or <<(N.7) = [.11]> or <(N.7) = [.4]>>> then\n            HUDText [Placing Entrance/Exit] [2]\n        else\n            if <((length of [pipex v]) mod (2)) = [1]> then\n                HUDText [Placing Exit] [1.7]\n            else\n                HUDText [Placing Entrance] [1.5]\n            end\n        end\n    end\n    hide\nend\n\ndefine PlaySong\nif <not <(Menu) = [Load]>> then\n    if <(ClearingLag) = [1]> then\n        stop [this script v]\n    end\n    if <(EditMode) = [0]> then\n        if <(GoalReached) = [1]> then\n            play sound [SMB3 Goal v] until done\n        else\n            if <(Dead) = [1]> then\n                if <(item (SelectedMusic) of [music v]) = [SMB1 Overworld]> then\n                    play sound [SMB1 Death v] until done\n                else\n                    play sound [SMB3 Death v] until done\n                end\n            else\n                if <<(Timer) < [100]> and <(FastSoundPlayed) = [0]>> then\n                    set [fastsoundplayed v] to [1]\n                    wait (0.1) seconds\n                    play sound [Time v] until done\n                    PlaySong\n                    stop [this script v]\n                else\n                    if <(PTimer) > [3]> then\n                        play sound [Kinopios House v] until done\n                        PlaySong\n                        stop [this script v]\n                    else\n                        if <(StarTimer) > [3]> then\n                            play sound [Star v] until done\n                            PlaySong\n                            stop [this script v]\n                        else\n                            wait (0.1) seconds\n                            if <(EditMode) = [0]> then\n                                if <(Menu) = [Home]> then\n                                    play sound [SMM2 Title Screen v] until done\n                                else\n                                    play sound (item (SelectedMusic) of [music v]) until done\n                                end\n                                wait until <(UsingPipe) = [0]>\n                                PlaySong\n                                stop [this script v]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine SearchFor (search)\ndelete all of [schres v]\ndelete all of [schlistno v]\nset [n. v] to [0]\nrepeat (length of [iname v])\n    change [n. v] by (1)\n    if < (item (N.) of [iname v]) contains (search)?> then\n        add (item (N.) of [iname v]) to [schres v]\n        add (item # of (item (N.) of [ilist v]) in [ilist v]) to [schlistno v]\n    end\nend\n\ndefine Write (word) Unlimited (1)\nset [n.4 v] to [0]\nset [n.3 v] to [0]\nset [n. v] to (word)\nif << (word) contains [Made]?> and <(Menu) = [Home]>> then\n    set [n. v] to [Made by BenjaminWins11]\nend\nrepeat (length of (N.))\n    change [n.4 v] by (1)\n    change [n.3 v] by (1)\n    switch costume to (letter (N.4) of (N.))\n    if <(1) = [1]> then\n        create clone of (_myself_ v)\n    else\n        stamp\n    end\n    ExcludeLetters (word)\nend\n\ndefine SearchingLetters\nif <key ((join [] [-]) v) pressed?> then\n    if <(Sid) = [-]> then\n        set [sid v] to []\n    else\n        set [sid v] to [-]\n        set [n.3 v] to []\n        set [n.4 v] to [0]\n        repeat ((length of (SearchText)) - (1))\n            change [n.4 v] by (1)\n            set [n.3 v] to (join (N.3) (letter (N.4) of (SearchText)))\n        end\n        set [searchtext v] to (N.3)\n        SearchFor (SearchText)\n    end\nend\nif <key (space v) pressed?> then\n    Add [ ] ToSearch\nend\nif <key (a v) pressed?> then\n    Add [a] ToSearch\nend\nif <key (b v) pressed?> then\n    Add [b] ToSearch\nend\nif <key (c v) pressed?> then\n    Add [c] ToSearch\nend\nif <key (d v) pressed?> then\n    Add [d] ToSearch\nend\nif <key (e v) pressed?> then\n    Add [e] ToSearch\nend\nif <key (f v) pressed?> then\n    Add [f] ToSearch\nend\nif <key (g v) pressed?> then\n    Add [g] ToSearch\nend\nif <key (h v) pressed?> then\n    Add [h] ToSearch\nend\nif <key (i v) pressed?> then\n    Add [i] ToSearch\nend\nif <key (j v) pressed?> then\n    Add [j] ToSearch\nend\nif <key (k v) pressed?> then\n    Add [k] ToSearch\nend\nif <key (l v) pressed?> then\n    Add [l] ToSearch\nend\nif <key (m v) pressed?> then\n    Add [m] ToSearch\nend\nif <key (n v) pressed?> then\n    Add [n] ToSearch\nend\nif <key (o v) pressed?> then\n    Add [o] ToSearch\nend\nif <key (p v) pressed?> then\n    Add [p] ToSearch\nend\nif <key (q v) pressed?> then\n    Add [q] ToSearch\nend\nif <key (r v) pressed?> then\n    Add [r] ToSearch\nend\nif <key (s v) pressed?> then\n    Add [s] ToSearch\nend\nif <key (t v) pressed?> then\n    Add [t] ToSearch\nend\nif <key (u v) pressed?> then\n    Add [u] ToSearch\nend\nif <key (v v) pressed?> then\n    Add [v] ToSearch\nend\nif <key (w v) pressed?> then\n    Add [w] ToSearch\nend\nif <key (x v) pressed?> then\n    Add [x] ToSearch\nend\nif <key (y v) pressed?> then\n    Add [y] ToSearch\nend\nif <key (z v) pressed?> then\n    Add [z] ToSearch\nend\n\ndefine Add (letter) ToSearch\nif <not <(length of (SearchText)) > [27]>> then\n    if <not < (Sid) contains (letter)?>> then\n        set [searchtext v] to (join (SearchText) (letter))\n        set [sid v] to (join (Sid) (letter))\n        set [searchscroll v] to [0]\n        set [cameraextra v] to [0]\n        SearchFor (SearchText)\n    end\nend\n\ndefine SearchList\nset pen (transparency v) to (0)\nPenOptions [24] [95] [-240] [120] [1]\nclear graphic effects\nset [brightness v] effect to (-100)\nset y to (-84)\npen up\nrepeat (20)\n    set y to (120)\n    pen down\n    change x by ((480) / (20))\n    set y to (-84)\n    set [n.2 v] to (x position)\n    set x to (-240)\n    pen up\n    set x to (N.2)\nend\nset size to (260) %\nif <(length of [schres v]) < [8]> then\n    set [searchscroll v] to [0]\nend\nPenOptions [4] [90] [-215] ((114) + (((((SearchScroll) + (-0.5)) * (32)) mod (32)) - (16))) []\nset [n.2 v] to (round (SearchScroll))\nrepeat (((length of [schres v]) * <not <(length of [schres v]) > [7]>>) + (<(length of [schres v]) > [7]> * (7)))\n    change [n.2 v] by (1)\n    if <<(y position) > [-92]> and <(y position) < [126]>> then\n        if <(item (N.2) of [schlistno v]) = (PlacingBlock)> then\n            PenOptions [30] ((93) + (([sin v] of ((GTime) * (480)) ) * (5))) [-260] [] [1]\n            set x to (260)\n            pen up\n            set pen size to (4)\n            set pen (brightness v) to (90)\n        else\n            if <(CameraExtra) = [0]> then\n                if <([abs v] of ((y position) - (mouse y)) ) < [16]> then\n                    PenOptions [30] [85] [-260] [] [1]\n                    set x to (260)\n                    pen up\n                    set pen size to (4)\n                    set pen (brightness v) to (90)\n                    if <mouse down?> then\n                        if <(mouse x) < [216]> then\n                            set [placingblock v] to (item (N.2) of [schlistno v])\n                            if <[hud v] contains (item (PlacingBlock) of [ilist v])?> then\n                                delete (item # of (item (PlacingBlock) of [ilist v]) in [hud v]) of [hud v]\n                                insert (item (PlacingBlock) of [ilist v]) at (1) of [hud v] \n                            else\n                                delete (3) of [hud v]\n                                insert (item (PlacingBlock) of [ilist v]) at (1) of [hud v] \n                            end\n                            set [tool v] to [Pen]\n                            set [gtime v] to [0.93]\n                        end\n                    end\n                end\n            end\n        end\n    end\n    set x to (-215)\n    if <(y position) > [116]> then\n        set [ghost v] effect to (((y position) - (116)) * ((100) / (16)))\n    else\n        if <(y position) < [-80]> then\n            set [ghost v] effect to (((y position) - (-80)) * ((100) / (-16)))\n        else\n            clear graphic effects\n            set [brightness v] effect to (-100)\n        end\n    end\n    Write (item (N.2) of [schres v]) Unlimited []\n    change y by (-16)\n    if <(y position) < [-94]> then\n        change y by ((32) * (7))\n    end\n    set x to (-240)\n    pen down\n    set x to (240)\n    pen up\n    change y by (-16)\nend\nif <(length of [schres v]) > [7]> then\n    PenOptions [24] [95] [228] [128] [1]\n    set y to (-84)\n    set x to (240)\n    pen up\n    PenOptions [4] [95] [] [-94] [1]\n    set x to (218)\n    set y to (-84)\n    pen up\n    switch costume to (  v)\n    PenOptions [4] [80] [228] [120] [1]\n    set y to (-84)\n    pen up\n    Size/Bright [400] []\n    switch costume to (scroll2 v)\n    go to x: (228) y: (((((SearchScroll) * (-1)) / ((length of [schres v]) - (7))) * (204)) - (-120))\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        set [cameraextra v] to [1]\n    end\n    if <not <mouse down?>> then\n        set [cameraextra v] to [0]\n    end\n    if <(CameraExtra) = [1]> then\n        change y by (((y position) - (mouse y)) / (-2.5))\n        if <(y position) > [120]> then\n            set y to (120)\n        end\n        if <(y position) < [-84]> then\n            set y to (-84)\n        end\n        set [searchscroll v] to ([abs v] of ((((y position) - (120)) / (204)) * ((length of [schres v]) - (7))) )\n    end\n    stamp\n    set [brightness v] effect to (-100)\nend\nPenOptions [12] [100] [-240] [136] [1]\nset x to (240)\npen up\nset size to (400) %\ngo to x: (-215) y: (-124)\nif <(SearchText) = []> then\n    set [ghost v] effect to (40)\n    change x by (8)\n    if <((GTime) mod (0.5)) < [0.2]> then\n        Write [Type to Search] Unlimited []\n    else\n        if <((GTime) mod (0.5)) < [0.3]> then\n            Write [Type to Search.] Unlimited []\n        else\n            if <((GTime) mod (0.5)) < [0.4]> then\n                Write [Type to Search..] Unlimited []\n            else\n                Write [Type to Search...] Unlimited []\n            end\n        end\n    end\n    set [ghost v] effect to (0)\n    if <((GTime) mod (0.2)) < [0.1]> then\n        set x to (-215)\n        Write [|] Unlimited []\n    end\nelse\n    if <((GTime) mod (0.2)) < [0.1]> then\n        Write (join (SearchText) [|]) Unlimited []\n    else\n        Write (SearchText) Unlimited []\n    end\nend\ngo to x: (-80) y: (160)\nWrite [Search Menu] Unlimited []\nset size to (260) %\ngo to x: (-78) y: (148)\nWrite [\[-\] to Backspace] Unlimited []\n\ndefine HUDText (word) (offset)\nchange x by ((((length of (word)) - (offset)) / (2)) * (-16))\nWrite (word)\nchange y by (2)\nset x to (0)\nset [brightness v] effect to (100)\nchange x by ((((length of (word)) - (offset)) / (2)) * (-16))\nWrite (word)\n\ndefine XCameraIcon (cost)\nset size to (400) %\ngo to x: (-160) y: (20)\nswitch costume to (cost)\nstamp\n\ndefine YCameraIcon (cost)\nset size to (400) %\ngo to x: (-160) y: (-110)\nswitch costume to (cost)\nstamp\n\ndefine TimeMenu\nStandard (TimeMenu)\nif <(TimeMenu) = [1]> then\n    PenOptions [4] [80] [-225] [110] [1]\n    set y to (-110)\n    pen up\n    Size/Bright [400] []\n    switch costume to (scroll v)\n    go to x: (-225) y: ((110) - ((((MaxTimer) / (10)) - (1)) * ((220) / (59))))\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        set [backgroundextra v] to [1]\n    end\n    if <not <mouse down?>> then\n        set [backgroundextra v] to [0]\n    end\n    if <(BackgroundExtra) = [1]> then\n        change y by (((y position) - (mouse y)) / (-1))\n        if <(y position) > [110]> then\n            set y to (110)\n        end\n        if <(y position) < [-110]> then\n            set y to (-110)\n        end\n        set [maxtimer v] to (((round (([abs v] of (((y position) / (220)) - (0.5)) ) * (59))) + (1)) * (10))\n    end\n    stamp\nend\nStandard2 (TimeMenu)\nWrite (join [Timer - ] (MaxTimer)) Sideways\n\ndefine Standard (menu)\nswitch costume to (  v)\nclear graphic effects\nset [brightness v] effect to (-100)\nset pen (transparency v) to (0)\nPenOptions [24] [95] [-260] [120] [1]\nset y to (-120)\npen up\nrepeat (2)\n    set y to (120)\n    pen down\n    change x by ((([abs v] of (menu) ) * (30)) / (2))\n    set y to (-120)\n    set [n.2 v] to (x position)\n    set x to (-260)\n    pen up\n    set x to (N.2)\nend\n\ndefine Standard2 (menu)\nPenOptions [12] [100] [-260] [134] [1]\nchange x by ((([abs v] of (menu) ) * (30)) + (10))\nset y to (-134)\nset x to (-260)\npen up\nSize/Bright [400] [-100]\ngo to x: ((([abs v] of (menu) ) * (30)) + (-216)) y: (0)\n\ndefine PenOptions (size) (brightness) (x) (y) (down?)\nset pen size to (size)\nset pen (brightness v) to ((brightness) - ((DarkMode) * (50)))\nif <not <(x) = []>> then\n    set x to (x)\nend\nif <not <(y) = []>> then\n    set y to (y)\nend\nif <(down?) = [1]> then\n    pen down\nend\n\ndefine ExcludeLetters (word)\nchange x by (((size) / (400)) * ((16) - (<<<(letter (N.4) of (word)) = [i]> or <(letter (N.4) of (word)) = [t]>> or <<(letter ((N.4) + (1)) of (word)) = [i]> or <(letter ((N.4) + (1)) of (word)) = [t]>>> * (3))))\n\ndefine Standard4\nchange y by (((size) / (250)) * (10))\nset x to (-230.4)\npen down\nchange x by (((N.) + (1)) * (10.4))\npen up\nset x to (-220)\nset y to (((200) - ((N.2) * (20))) + ((Loaded) * (-10.4)))\nchange [loaded v] by (-1)\n\ndefine Standard3 (-)\nSize/Bright [] [-100]\nset pen (transparency v) to (0)\nset [n.6 v] to (item ((N.2) - (-)) of [notiftimer v])\nset [n.7 v] to ((100) - (((N.6) - (1)) * ((10) / (1.5))))\nif <((item ((N.2) - (-)) of [notiftimer v]) - (1)) < [15]> then\n    set [ghost v] effect to (N.7)\n    set pen (transparency v) to (N.7)\nend\n\nwhen I start as a clone\ngo to [front v] layer\n\ndefine Standard5\nif <(N.5) > [0]> then\n    change [n.5 v] by (((1) - (N.5)) / (2))\n    if <(N.5) > [0.99]> then\n        set [n.5 v] to [1]\n    end\nend\nif <(N.5) < [0]> then\n    change [n.5 v] by ((N.5) / (-2))\n    if <(N.5) > [-0.2]> then\n        set [n.5 v] to [0]\n    end\nend\n\ndefine Size/Bright (size) (brightness)\nclear graphic effects\nif <not <(size) = []>> then\n    set size to (size) %\nend\nif <not <(brightness) = []>> then\n    set [brightness v] effect to (brightness)\nend\n\n@UI\n\ndefine MakeCircle (amount) (x)\nif <([abs v] of (x) ) < [324]> then\n    switch costume to (base v)\n    set [n.2 v] to (N.)\n    set [n.4 v] to [-2]\n    go to x: (x) y: (0)\n    point towards (mouse-pointer v)\n    set [n.3 v] to (([ceiling v] of ((direction) / ((360) / (amount))) ) mod (amount))\n    if <(N.3) = [0]> then\n        set [n.3 v] to (amount)\n    end\n    set pen color to (#272727)\n    set pen size to ((260) / ((([abs v] of (x) ) / (152)) + (1)))\n    pen down\n    pen up\n    set pen color to (#d5dcff)\n    set pen (brightness v) to ((100) - ((DarkMode) * (40)))\n    set pen size to ((256) / ((([abs v] of (x) ) / (152)) + (1)))\n    pen down\n    pen up\n    set pen color to (#eaeeff)\n    set [n.4 v] to (round (((x) / (-192)) + (InventorySlide)))\n    if <(N.4) < [-2]> then\n        set pen color to (#fff7e4)\n        if <(N.4) < [-7]> then\n            set pen color to (#f7fff0)\n            if <(N.4) < [-8]> then\n                set pen color to (#ffe4e4)\n                if <(N.4) < [-13]> then\n                    set pen color to (#eaeeff)\n                end\n            end\n        end\n    end\n    set pen (brightness v) to ((100) - ((DarkMode) * (35)))\n    set pen size to ((128) / ((([abs v] of (x) ) / (152)) + (1)))\n    pen down\n    pen up\n    if <<(x) = [0]> and <<([abs v] of (mouse x) ) < [124]> and <([abs v] of (mouse y) ) < [132]>>> then\n        ColourIt (amount)\n    end\n    if <<(PlacingBlock) > (N.2)> and <(PlacingBlock) < (((N.2) + (amount)) + (1))>> then\n        ColourSelected (amount) (x)\n    end\n    set pen color to (#272727)\n    go to x: (x) y: (0)\n    point in direction (0)\n    turn right ((360) / ((amount) * (2))) degrees\n    set [n.3 v] to ((N.3) + (N.))\n    repeat (amount)\n        set size to ((400) / ((([abs v] of (x) ) / (152)) + (1))) %\n        change [n. v] by (1)\n        go to x: (x) y: (0)\n        move ((88) / ((([abs v] of (x) ) / (152)) + (1))) steps\n        switch costume to (item (N.) of [ilist v])\n        if <<(N.) = (N.3)> and <(x) = [0]>> then\n            change size by (40)\n            if <<([abs v] of (mouse x) ) < [124]> and <([abs v] of (mouse y) ) < [132]>> then\n                set [selectedinventory v] to (N.)\n            end\n            if <<mouse down?> and <<([abs v] of (mouse x) ) < [124]> and <([abs v] of (mouse y) ) < [132]>>> then\n                if <not <(N.) = (PlacingBlock)>> then\n                    set [uijustclicked v] to [1]\n                end\n                if <([abs v] of (PlaceDirection) ) = [45]> then\n                    set [placedirection v] to [-90]\n                end\n                if <<[rotate v] contains (item (PlacingBlock) of [ilist v])?> and <<[unis v] contains (item (PlacingBlock) of [ilist v])?> and <not <(item (PlacingBlock) of [ilist v]) = [e]>>>> then\n                    set [placedirection v] to [-90]\n                end\n                set [tool v] to [Pen]\n                set [placingblock v] to (N.)\n                set [n.5 v] to (item (PlacingBlock) of [ilist v])\n                if <<[rotate v] contains (N.5)?> and <<[unis v] contains (N.5)?> and <not <(N.5) = [e]>>>> then\n                    set [placedirection v] to [90]\n                end\n                if <[hud v] contains (N.5)?> then\n                    delete (item # of (N.5) in [hud v]) of [hud v]\n                    insert (N.5) at (1) of [hud v] \n                else\n                    delete (3) of [hud v]\n                    insert (N.5) at (1) of [hud v] \n                end\n            end\n        end\n        switch costume to (base v)\n        set [brightness v] effect to ((DarkMode) * (-25))\n        if <(x) = [0]> then\n            create clone of (_myself_ v)\n            clear graphic effects\n            switch costume to (item (N.) of [ilist v])\n            create clone of (_myself_ v)\n        else\n            stamp\n            clear graphic effects\n            switch costume to (item (N.) of [ilist v])\n            stamp\n        end\n        turn right ((360) / (amount)) degrees\n    end\n    change [n. v] by ((amount) * (-1))\n    go to x: (x) y: (0)\n    point in direction (0)\n    if <<<(N.) = (N.3)> or <(N.3) = ((N.2) + (amount))>> and <(x) = [0]>> then\n        set pen size to (6)\n        pen down\n        move ((130) / ((([abs v] of (x) ) / (152)) + (1))) steps\n    else\n        set pen size to (3)\n        pen down\n        move ((128) / ((([abs v] of (x) ) / (152)) + (1))) steps\n    end\n    pen up\n    repeat (amount)\n        change [n. v] by (1)\n        go to x: (x) y: (0)\n        if <<<(N.) = (N.3)> or <(N.) = ((N.3) + (1))>> and <(x) = [0]>> then\n            set pen size to (6)\n            pen down\n            move ((130) / ((([abs v] of (x) ) / (152)) + (1))) steps\n        else\n            set pen size to (3)\n            pen down\n            move ((128) / ((([abs v] of (x) ) / (152)) + (1))) steps\n        end\n        pen up\n        turn right ((360) / (amount)) degrees\n    end\nelse\n    change [n. v] by (amount)\nend\n\ndefine ColourIt (amount)\npoint in direction (((N.3) - (0.5)) * ((360) / (amount)))\nturn right ((360) / ((amount) * (-2))) degrees\nset pen size to (4)\nrepeat ((360) / (amount))\n    go to x: (0) y: (0)\n    set pen color to (#f74545)\n    pen down\n    move (130) steps\n    pen up\n    turn right (1) degrees\nend\n\ndefine ColourSelected (amount) (x)\nset pen size to (3)\npoint in direction ((((PlacingBlock) - (N.2)) - (0.5)) * ((360) / (amount)))\nturn right ((360) / ((amount) * (-2))) degrees\nrepeat ((360) / (amount))\n    go to x: (x) y: (0)\n    set pen color to (#f79d9d)\n    if <(UiJustClicked) = [0]> then\n        pen down\n        move ((127) / ((([abs v] of (x) ) / (152)) + (1))) steps\n        pen up\n    else\n        pen down\n        move (((127) / ((([abs v] of (x) ) / (152)) + (1))) + ((UiJustClicked) * ((6) / ((([abs v] of (x) ) / (152)) + (1))))) steps\n        pen up\n    end\n    turn right (1) degrees\nend\n\ndefine RetrieveSection (no.) FromArea (area)\nset [n. v] to [0]\nset [n.2 v] to []\nrepeat ((no.) - (1))\n    repeat until <(letter (N.) of (item (area) of [areas v])) = [;]>\n        change [n. v] by (1)\n    end\n    change [n. v] by (1)\nend\nrepeat until <(letter (N.) of (item (area) of [areas v])) = [;]>\n    set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\n    change [n. v] by (1)\nend\n\nwhen I receive [endotherscripts v]\nstop [other scripts in sprite v]\ndelete this clone\n\ndefine HUD\nset size to (300) %\ngo to x: (59) y: (-160)\nset [n.2 v] to [0]\nshow\nrepeat (3)\n    set size to (300) %\n    change [n.2 v] by (1)\n    clear graphic effects\n    if <(item (N.2) of [hud v]) = (item (PlacingBlock) of [ilist v])> then\n        set [brightness v] effect to (25)\n    end\n    set [y v] to (item (N.2) of [hud v])\n    switch costume to (base2 v)\n    if <touching (mouse-pointer v)?> then\n        change size by (30)\n    end\n    create clone of (_myself_ v)\n    switch costume to (Y)\n    create clone of (_myself_ v)\n    change x by (39)\nend\nset [y v] to []\nclear graphic effects\nset size to (300) %\nset x to (196)\nSpawnButton (join [Inventory] ((([floor v] of ((GTime) * (20)) ) mod (8)) + (1)))\nset x to (0)\nSpawnButton [Play]\nset x to (-215)\nSpawnButton [Floors]\nset x to (-176)\nSpawnButton [Back]\nset x to (-137)\nSpawnButton [Music]\nset x to (-98)\nSpawnButton [Camera]\nset x to (-59)\nif <(GoalY) = [-50]> then\n    set [brightness v] effect to (-25)\nend\nSpawnButton [Save]\nclear graphic effects\nhide\n\nwhen I receive [overlays2 v]\nif <[1] = [1]> then\n    delete this clone\nend\nOverlays2\n\ndefine InventoryHUD\nshow\nset y to (-160)\nset size to (300) %\nset x to (0)\nSpawnButton [Down]\nif <(Searching) = [0]> then\n    set x to (59)\n    SpawnButton [Right]\n    set x to (-59)\n    SpawnButton [Left]\nend\nset x to (-215)\nif <(Searching) = [0]> then\n    switch costume to (search v)\nelse\n    switch costume to (circles v)\nend\nif <touching (mouse-pointer v)?> then\n    change size by (30)\nend\ncreate clone of (_myself_ v)\nset size to (300) %\nif <not <(SelectedWater) = [-200]>> then\n    set x to (215)\n    SpawnButton [RemoveWater]\nend\nif <not <(SelectedLavaLevel) = [-200]>> then\n    set x to (176)\n    SpawnButton [RemoveLava]\nend\nset x to (-176)\nSpawnButton [Time]\nset x to (-137)\nSpawnButton [Restart]\nset x to (-98)\nif <(Tool2) = [Fill]> then\n    SpawnButton [Place2]\nelse\n    SpawnButton [Place1]\nend\nset x to (137)\nif <(AllowNotification) = [1]> then\n    SpawnButton [Notif2]\nelse\n    SpawnButton [Notif1]\nend\nset x to (98)\nif <(DarkMode) = [1]> then\n    SpawnButton [Dark1]\nelse\n    SpawnButton [Dark2]\nend\nhide\n\ndefine GameHUD\nshow\nset y to (-160)\nset x to (-215)\nif <(Menu) = [Game]> then\n    set size to (300) %\n    SpawnButton [Pause]\nelse\n    go [backward v] (4) layers\n    go to x: (0) y: (80)\n    switch costume to (cooler logo v)\n    set size to (300) %\n    create clone of (_myself_ v)\n    go to x: (-120) y: (-80)\n    switch costume to (make v)\n    if <(distance to [mouse-pointer v]) < [72]> then\n        set size to (550) %\n        if <mouse down?> then\n            set [mylevel v] to [1]\n            set [menu v] to [Game]\n            set [uijustclicked v] to [1]\n            set [uijustclicked2 v] to [1]\n            broadcast (PipeTransition v)\n            broadcast (SwitchEdit/PlayMode v)\n            broadcast (NewLevel v)\n            broadcast (ResetMap v)\n        end\n    else\n        set size to (500) %\n    end\n    create clone of (_myself_ v)\n    go to x: (120) y: (-80)\n    switch costume to (load v)\n    if <(distance to [mouse-pointer v]) < [72]> then\n        set size to (550) %\n        if <<mouse down?> and <(Loading) = [0]>> then\n            broadcast (AskCode v)\n        end\n    else\n        set size to (500) %\n    end\n    create clone of (_myself_ v)\n    go [forward v] (4) layers\nend\nif <(Keys) > [0]> then\n    set y to (-160)\n    set x to (170)\n    set size to (400) %\n    switch costume to (/ v)\n    repeat (Keys)\n        create clone of (_myself_ v)\n        change x by (8)\n        if <(x position) > [220]> then\n            hide\n            stop [this script v]\n        end\n    end\nend\nhide\n\nwhen I receive [flagclicked v]\nset rotation style [don't rotate v]\nset size to (400) %\nhide\nset pen color to (#272727)\nset pen size to (3)\nset [inventoryslide v] to [0]\nset [aiminventoryslide v] to [0]\ndelete all of [hud v]\nadd [1] to [hud v]\nadd [2] to [hud v]\nadd [3] to [hud v]\n\ndefine ReplaceSection (no.) OfArea (area) With (input)\nset [n. v] to [1]\nset [n.2 v] to []\nrepeat ((no.) - (1))\n    set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\n    repeat until <(letter (N.) of (item (area) of [areas v])) = [;]>\n        change [n. v] by (1)\n        set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\n        if <(N.) > (length of (item (area) of [areas v]))> then\n            stop [this script v]\n        end\n    end\n    change [n. v] by (1)\nend\nset [n.2 v] to (join (N.2) (input))\nrepeat until <(letter (N.) of (item (area) of [areas v])) = [;]>\n    change [n. v] by (1)\n    if <(N.) > (length of (item (area) of [areas v]))> then\n        stop [this script v]\n    end\nend\nset [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\nrepeat ((length of (item (area) of [areas v])) - (N.))\n    change [n. v] by (1)\n    set [n.2 v] to (join (N.2) (letter (N.) of (item (area) of [areas v])))\nend\nreplace item (area) of [areas v] with (N.2)\n\ndefine Overlays2\nif <(UIJustClicked2) = [1]> then\n    if <not <mouse down?>> then\n        set [uijustclicked2 v] to [0]\n    end\nend\nset [selectedinventory v] to []\nif <(Inventory) = [0]> then\n    if <(EditMode) = [1]> then\n        HUD\n    else\n        GameHUD\n    end\n    clear graphic effects\n    hide\n    change [uijustclicked v] by (-0.1)\n    if <(UiJustClicked) < [0]> then\n        set [uijustclicked v] to [0]\n    end\nelse\n    change [uijustclicked v] by (-0.25)\n    if <(UiJustClicked) < [0]> then\n        set [uijustclicked v] to [0]\n    end\n    show\n    InventoryHUD\n    if <(Searching) = [0]> then\n        show\n        InventoryMenu\n    else\n        SearchMenuImages\n    end\n    hide\nend\n\ndefine InventoryMenu\nif <([abs v] of (mouse y) ) < [132]> then\n    if <<<mouse down?> and <(mouse x) > [124]>> and <([abs v] of ((AimInventorySlide) - (InventorySlide)) ) < [0.07]>> then\n        set [aiminventoryslide v] to ((round (InventorySlide)) + (-1))\n    end\n    if <<<mouse down?> and <(mouse x) < [-124]>> and <([abs v] of ((AimInventorySlide) - (InventorySlide)) ) < [0.07]>> then\n        set [aiminventoryslide v] to ((round (InventorySlide)) + (1))\n    end\nend\nchange [inventoryslide v] by (((round (AimInventorySlide)) - (InventorySlide)) / (3))\nif <<(AimInventorySlide) > [0]> or <(InventorySlide) > [0]>> then\n    set [aiminventoryslide v] to [-17]\n    set [inventoryslide v] to [-16]\nend\nif <<(AimInventorySlide) < [-17]> or <(InventorySlide) < [-17]>> then\n    set [aiminventoryslide v] to [0]\n    set [inventoryslide v] to [-1]\nend\nif <([abs v] of (((round (AimInventorySlide)) - (InventorySlide)) / (3)) ) < [0.001]> then\n    set [inventoryslide v] to (AimInventorySlide)\nend\nset [n. v] to [0]\nif <(Inventory) > [1]> then\n    set [inventory v] to [1]\nend\nstamp\nclear graphic effects\nMakeCircle [7] ((InventorySlide) * (192))\nMakeCircle [7] (((InventorySlide) + (1)) * (192))\nMakeCircle [8] (((InventorySlide) + (2)) * (192))\nMakeCircle [6] (((InventorySlide) + (3)) * (192))\nMakeCircle [5] (((InventorySlide) + (4)) * (192))\nMakeCircle [7] (((InventorySlide) + (5)) * (192))\nMakeCircle [5] (((InventorySlide) + (6)) * (192))\nMakeCircle [5] (((InventorySlide) + (7)) * (192))\nMakeCircle [5] (((InventorySlide) + (8)) * (192))\nMakeCircle [7] (((InventorySlide) + (9)) * (192))\nMakeCircle [8] (((InventorySlide) + (10)) * (192))\nMakeCircle [7] (((InventorySlide) + (11)) * (192))\nMakeCircle [8] (((InventorySlide) + (12)) * (192))\nMakeCircle [3] (((InventorySlide) + (13)) * (192))\nMakeCircle [8] (((InventorySlide) + (14)) * (192))\nMakeCircle [4] (((InventorySlide) + (15)) * (192))\nMakeCircle [6] (((InventorySlide) + (16)) * (192))\nMakeCircle [7] (((InventorySlide) + (17)) * (192))\ngo to x: (0) y: (0)\nhide\n\ndefine SearchMenu\nif <<mouse down?> and <(UIJustClicked2) = [0]>> then\n    if <<(mouse y) < [-140]> and <(CameraExtra) = [0]>> then\n        set [uijustclicked2 v] to [1]\n        set [inventory v] to [0]\n        stop [this script v]\n    end\nend\ngo to x: (([sin v] of ((GTime) * (180)) ) * (8)) y: (([cos v] of ((GTime) * (180)) ) * (8))\nchange [inventory v] by (((1) - (Inventory)) / (12))\nset [ghost v] effect to ((100) + ((Inventory) * (-70)))\nswitch costume to (background v)\nset size to (1498) %\nstamp\nclear graphic effects\ngo to x: (0) y: (-118)\nswitch costume to (search2 v)\nstamp\nswitch costume to (1 v)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [overlays v]\nif <[1] = [1]> then\n    delete this clone\nend\nif <not <(Inventory) = [0]>> then\n    if <(Searching) = [1]> then\n        SearchMenu\n    else\n        InventoryBackground\n    end\nend\n\ndefine SearchMenuImages\ngo to x: (160) y: ((114) + (((((SearchScroll) + (-0.5)) * (32)) mod (32)) - (16)))\nset size to (325) %\nshow\nset [n.2 v] to (round (SearchScroll))\nrepeat (((length of [schres v]) * <not <(length of [schres v]) > [7]>>) + (<(length of [schres v]) > [7]> * (7)))\n    change [n.2 v] by (1)\n    if <(y position) > [116]> then\n        set [ghost v] effect to (((y position) - (116)) * ((100) / (11)))\n    else\n        if <(y position) < [-80]> then\n            set [ghost v] effect to (((y position) - (-80)) * ((100) / (-11)))\n        else\n            clear graphic effects\n        end\n    end\n    switch costume to (item (item (N.2) of [schlistno v]) of [ilist v])\n    create clone of (_myself_ v)\n    change y by (-32)\nend\nclear graphic effects\nswitch costume to (1 v)\ngo to x: (0) y: (34)\nset size to (2000) %\nswitch costume to (search2 v)\ncreate clone of (_myself_ v)\nswitch costume to (1 v)\ngo to x: (0) y: (-78)\nset size to (2300) %\nswitch costume to (search3 v)\ncreate clone of (_myself_ v)\nswitch costume to (1 v)\nclear graphic effects\nhide\n\ndefine InventoryBackground\nhide\nif <not <([abs v] of (mouse y) ) < [132]>> then\n    if <<mouse down?> and <(UIJustClicked2) = [0]>> then\n        set [uijustclicked2 v] to [1]\n        set [inventory v] to [0]\n        stop [this script v]\n    end\nend\ngo to x: (([sin v] of ((GTime) * (180)) ) * (8)) y: (([cos v] of ((GTime) * (180)) ) * (8))\nif <([abs v] of (mouse y) ) < [132]> then\n    change [inventory v] by (((1) - (Inventory)) / (12))\n    set [ghost v] effect to ((100) + ((Inventory) * (-70)))\nelse\n    change [inventory v] by (((0.4) - (Inventory)) / (3))\n    set [ghost v] effect to ((100) + ((Inventory) * (-70)))\nend\nset [brightness v] effect to ((DarkMode) * (-50))\nswitch costume to (background v)\nset size to (1498) %\nstamp\nclear graphic effects\n\ndefine SpawnButton (costume)\nswitch costume to (costume)\nif <touching (mouse-pointer v)?> then\n    change size by (30)\nend\ncreate clone of (_myself_ v)\nset size to (300) %\n\nwhen this sprite clicked\nif <(UIJustClicked2) = [0]> then\n    delete all of [px v]\n    delete all of [py v]\n    if <(Inventory) = [0]> then\n        if <(length of (Y)) = [0]> then\n            if <(costume [name v]) = [Play]> then\n                broadcast (SwitchEdit/PlayMode v)\n            end\n            if <(costume [name v]) = [Pause]> then\n                broadcast (SwitchEdit/PlayMode v)\n            end\n            if <(letter (6) of (costume [name v])) = [t]> then\n                set [inventory v] to [0.01]\n                set [areamenu v] to [0]\n                set [backgroundmenu v] to [0]\n                set [musicmenu v] to [0]\n                set [cameramenu v] to [0]\n                set [gtime v] to [0]\n                set [searchtext v] to []\n                set [timemenu v] to [0]\n            end\n            if <(costume [name v]) = [Floors]> then\n                if <(AreaMenu) = [0]> then\n                    set [areamenu v] to [0.01]\n                else\n                    set [areamenu v] to [-0.99]\n                end\n                set [backgroundmenu v] to [0]\n                set [cameramenu v] to [0]\n                set [timemenu v] to [0]\n            end\n            if <(costume [name v]) = [Back]> then\n                if <(BackgroundMenu) = [0]> then\n                    set [backgroundmenu v] to [0.01]\n                else\n                    set [backgroundmenu v] to [-0.99]\n                end\n                set [areamenu v] to [0]\n                set [cameramenu v] to [0]\n                set [timemenu v] to [0]\n            end\n            if <(costume [name v]) = [Camera]> then\n                if <(CameraMenu) = [0]> then\n                    set [cameramenu v] to [0.01]\n                else\n                    set [cameramenu v] to [-0.99]\n                end\n                set [areamenu v] to [0]\n                set [backgroundmenu v] to [0]\n                set [timemenu v] to [0]\n            end\n            if <(costume [name v]) = [Music]> then\n                if <(MusicMenu) = [0]> then\n                    set [musicmenu v] to [0.01]\n                else\n                    set [musicmenu v] to [-0.99]\n                end\n            end\n            if <(costume [name v]) = [Save]> then\n                if <(GoalY) = [-50]> then\n                    AddNotification [You can not save this level until a Goal has been placed.] [120]\n                else\n                    broadcast (Save v)\n                end\n            end\n        else\n            delete (item # of (Y) in [hud v]) of [hud v]\n            insert (Y) at (1) of [hud v] \n            set [placingblock v] to (item # of (Y) in [ilist v])\n            set [tool v] to [Pen]\n        end\n    end\n    if <not <(Inventory) = [0]>> then\n        if <(costume [name v]) = [Down]> then\n            set [inventory v] to [0]\n        end\n        if <(costume [name v]) = [Search]> then\n            set [searching v] to [1]\n            set [searchtext v] to []\n            set [sid v] to []\n        end\n        if <(costume [name v]) = [Time]> then\n            if <(TimeMenu) = [0]> then\n                set [timemenu v] to [0.01]\n            else\n                set [timemenu v] to [-0.99]\n            end\n            set [areamenu v] to [0]\n            set [backgroundmenu v] to [0]\n            set [cameramenu v] to [0]\n            set [inventory v] to [0]\n        end\n        if <(costume [name v]) = [Circles]> then\n            set [searching v] to [0]\n        end\n        if <(costume [name v]) = [Right]> then\n            set [aiminventoryslide v] to ((round (InventorySlide)) + (-1))\n        end\n        if <(costume [name v]) = [Left]> then\n            set [aiminventoryslide v] to ((round (InventorySlide)) + (1))\n        end\n        if <(costume [name v]) = [Restart]> then\n            set [abletosave v] to [0.5]\n            broadcast (StartLevel v)\n        end\n        if < (costume [name v]) contains [Dark]?> then\n            if <(DarkMode) = [0]> then\n                set [darkmode v] to [1]\n            else\n                set [darkmode v] to [0]\n            end\n        end\n        if < (costume [name v]) contains [Place]?> then\n            if <(Tool2) = [Fill]> then\n                set [tool2 v] to [Single]\n            else\n                set [tool2 v] to [Fill]\n            end\n        end\n        if < (costume [name v]) contains [Notif]?> then\n            if <(AllowNotification) = [0]> then\n                set [allownotification v] to [1]\n            else\n                set [allownotification v] to [0]\n            end\n        end\n        if <(costume [name v]) = [RemoveWater]> then\n            set [selectedwater v] to [-200]\n            ReplaceSection [5] OfArea (Floor) With [-200]\n        end\n        if <(costume [name v]) = [RemoveLava]> then\n            set [selectedlavalevel v] to [-200]\n            ReplaceSection [6] OfArea (Floor) With [-200]\n        end\n    end\n    set [uijustclicked2 v] to [1]\nend\n\ndefine AddNotification (text) (timer)\nFindNotificationSlot (timer)\ninsert (text) at (N.) of [notif v] \ninsert (timer) at (N.) of [notiftimer v] \n\ndefine FindNotificationSlot (timer)\nset [n. v] to [1]\nrepeat until <<(item (N.) of [notiftimer v]) < (timer)> or <(N.) > (length of [notiftimer v])>>\n    change [n. v] by (1)\nend\nif <<(N.) > (length of [notiftimer v])> and <(item (length of [notiftimer v]) of [notiftimer v]) < (timer)>> then\n    set [n. v] to [1]\nend\n\n@Extras\n\ndefine LoadExtras\nset [e# v] to [0]\nif <(E#) < [0]> then\n    set [e# v] to [0]\nend\nrepeat ((length of [extrax v]) - (E#))\n    change [e# v] by (1)\n    change [loaded v] by (1)\n    set [x v] to (((item (E#) of [extrax v]) * (32)) + (MapX))\n    set [y v] to (((item (E#) of [extray v]) * (32)) + (MapY))\n    if <<([abs v] of (X) ) < [228]> and <([abs v] of (Y) ) < [160]>> then\n        switch costume to (large v)\n        go to x: (X) y: (Y)\n        if <<(item (E#) of [extty v]) = [e]> or <(item (E#) of [extty v]) = [h]>> then\n            switch costume to (hitbox4 v)\n        else\n            if <(item (E#) of [extty v]) = [i]> then\n                switch costume to (thwomphitbox v)\n            else\n                switch costume to (hitbox v)\n            end\n        end\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I receive [entityupdate v]\nif <[1] = [1]> then\n    delete this clone\nend\nshow\nset [playercarried v] to [0]\nif <not <(length of [delextra v]) = [0]>> then\n    DeleteExtras\nend\nif <(EditMode) = [0]> then\n    LoadExtras\nend\nset [e# v] to [0]\nhide\n\nwhen I receive [costumeall v]\nif <not <(E#) = [0]>> then\n    set [n.5 v] to (item (E#) of [extsta v])\n    if <(item (E#) of [extty v]) = [}]> then\n        if <(N.5) = [0]> then\n            switch costume to (}1 v)\n        else\n            if <(N.5) > [0]> then\n                if <(N.5) < [0.2]> then\n                    switch costume to (}2 v)\n                else\n                    if <(N.5) < [0.7]> then\n                        switch costume to (}3 v)\n                    else\n                        if <(N.5) < [0.8]> then\n                            switch costume to (}2 v)\n                        else\n                            switch costume to (}1 v)\n                        end\n                    end\n                end\n            else\n                if <(N.5) > [-0.2]> then\n                    switch costume to (}4 v)\n                else\n                    if <(N.5) > [-0.7]> then\n                        switch costume to (}5 v)\n                    else\n                        if <(N.5) > [-0.8]> then\n                            switch costume to (}4 v)\n                        else\n                            switch costume to (}1 v)\n                        end\n                    end\n                end\n            end\n        end\n        stamp\n        delete this clone\n    end\n    if <(item (E#) of [extty v]) = [e]> then\n        set rotation style [left-right v]\n        point in direction (item (E#) of [extdir v])\n        if <(N.5) = [0]> then\n            Switch [e] [20] [2]\n        else\n            Switch [e] [30] [2]\n        end\n        stamp\n        delete this clone\n    end\n    if <(item (E#) of [extty v]) = [h]> then\n        set rotation style [left-right v]\n        point in direction (item (E#) of [extdir v])\n        if <(N.5) = [0]> then\n            Switch [h] [20] [2]\n        else\n            Switch [h] [30] [2]\n        end\n        stamp\n        delete this clone\n    end\n    if <(item (E#) of [extty v]) = [i]> then\n        show\n        if <<(N.5) > [0]> and <(N.5) < [3]>> then\n            switch costume to (i2 v)\n        else\n            switch costume to (i1 v)\n        end\n        stamp\n        delete this clone\n    end\n    if <(item (E#) of [extty v]) = [j]> then\n        Switch [j] [40] [8]\n        stamp\n        delete this clone\n    end\n    if <(item (E#) of [extty v]) = [r]> then\n        switch costume to (r v)\n        stamp\n        delete this clone\n    end\n    if <(item (E#) of [extty v]) = [z]> then\n        switch costume to (z v)\n        stamp\n        delete this clone\n    end\n    if <(item (E#) of [extty v]) = [ab]> then\n        switch costume to (ab v)\n        stamp\n        delete this clone\n    end\nend\n\nwhen I receive [afterplayerupdate v]\nif <(E#) = [0]> then\n    set [playercarried v] to [0]\nelse\n    if <<(Dead) = [0]> and <(AllowMovement) = [1]>> then\n        set [n. v] to ((y position) - ([y position v] of [player v]))\n        set [n.2 v] to (([y position v] of [player v]) - (y position))\n        set [n.3 v] to ([abs v] of (([x position v] of [player v]) - (x position)) )\n        set [n.4 v] to (item (E#) of [extty v])\n        if <(N.4) = [}]> then\n            set [n.5 v] to (([x position v] of [player v]) - (x position))\n            if <not <(item (E#) of [extsta v]) = [0]>> then\n                if <(item (E#) of [extsta v]) > [0]> then\n                    replace item (E#) of [extsta v] with ((item (E#) of [extsta v]) + (0.1))\n                    if <(item (E#) of [extsta v]) > [1]> then\n                        replace item (E#) of [extsta v] with [0]\n                    end\n                else\n                    replace item (E#) of [extsta v] with ((item (E#) of [extsta v]) + (-0.1))\n                    if <(item (E#) of [extsta v]) < [-1]> then\n                        replace item (E#) of [extsta v] with [0]\n                    end\n                end\n            end\n            if <<<(N.5) < [29]> and <(N.5) > [-8]>> and <([abs v] of (N.2) ) < [23]>> then\n                set [sprs v] to [16]\n                set [xvel v] to [0]\n                if <(item (E#) of [extsta v]) = [0]> then\n                    replace item (E#) of [extsta v] with [0.1]\n                end\n            end\n            if <<<(N.5) < [8]> and <(N.5) > [-29]>> and <([abs v] of (N.2) ) < [23]>> then\n                set [sprs v] to [-16]\n                set [xvel v] to [0]\n                if <(item (E#) of [extsta v]) = [0]> then\n                    replace item (E#) of [extsta v] with [-0.1]\n                end\n            end\n            if <<(item (E#) of [extsta v]) = [0]> and <not <(Y) = [x]>>> then\n                BounceLeft\n                BounceRight\n                switch costume to (hitbox v)\n            end\n            stop [this script v]\n        end\n        if <(N.4) = [i]> then\n            switch costume to (thwomphitbox3 v)\n            show\n            if <<(N.3) < [32]> and <<(N.) < ((64) - ((Small) * (24)))> and <(N.) > [-40]>>> then\n                if <(StarTimer) = [0]> then\n                    if <(Invincible) = [0]> then\n                        broadcast (Powerdown v)\n                    end\n                else\n                    CreateParticle (x position) [Explode]\n                    DeleteThisExtra\n                end\n            end\n        end\n        if <(N.4) = [j]> then\n            if <<<(N.3) < [25.5]> and <<(N.2) > [16]> and <(N.2) < [32]>>> or <<<<(N.3) < [25.5]> and <<(N.2) > ((-28) - (<(Small) = [0]> * (30)))> and <(N.2) < [-16]>>> and <(YVel) = [0.82]>> or <<<(N.3) < [27]> and <([abs v] of (N.) ) < [29]>> and <<<<key (a v) pressed?> or <key (d v) pressed?>> or <<key (left arrow v) pressed?> or <key (right arrow v) pressed?>>> or <not <((SprS) + (ConveyerSpeed)) = [0]>>>>>> then\n                if <<(Invincible) = [0]> and <(StarTimer) = [0]>> then\n                    broadcast (Powerdown v)\n                end\n            end\n        end\n        if <<(N.4) = [z]> or <(N.4) = [ab]>> then\n            replace item (E#) of [extsta v] with ((item (E#) of [extsta v]) + (0.1))\n            if <(item (E#) of [extsta v]) > [2]> then\n                if <not <<(N.3) < [26]> and <([abs v] of (N.) ) < [40]>>> then\n                    add [] to [enycont v]\n                    set [n.8 v] to ((0.25) + (<not <<(item (E#) of [extcont v]) = []> or <<(item (E#) of [extcont v]) = [aa]> or <(item (E#) of [extcont v]) = [ac]>>>> * (0.5)))\n                    if <(x position) > ([x position v] of [player v])> then\n                        add [-90] to [enydir v]\n                        add ((item (E#) of [extrax v]) - (N.8)) to [enyx v]\n                        CreateParticle ((x position) + (-16)) [Explode]\n                    else\n                        add [90] to [enydir v]\n                        add ((item (E#) of [extrax v]) + (N.8)) to [enyx v]\n                        CreateParticle ((x position) + (16)) [Explode]\n                    end\n                    add [0] to [enyext v]\n                    if <(item (E#) of [extcont v]) = []> then\n                        add [1] to [enysta v]\n                        if <(N.4) = [z]> then\n                            add [aa] to [enyty v]\n                        else\n                            add [ac] to [enyty v]\n                        end\n                        add [0] to [enyxvel v]\n                        add (item (E#) of [extray v]) to [enyy v]\n                        add [0] to [enyyvel v]\n                    else\n                        if <<(item (E#) of [extcont v]) = [aa]> or <(item (E#) of [extcont v]) = [ac]>> then\n                            add [1] to [enysta v]\n                            add (item (E#) of [extcont v]) to [enyty v]\n                            add [0] to [enyxvel v]\n                            add (item (E#) of [extray v]) to [enyy v]\n                            add [0] to [enyyvel v]\n                        else\n                            add [0] to [enysta v]\n                            add (item (E#) of [extcont v]) to [enyty v]\n                            add (pick random ((5.5) + (<(N.4) = [ab]> * (3.0))) to ((6.3) + (<(N.4) = [ab]> * (4.0)))) to [enyxvel v]\n                            add (item (E#) of [extray v]) to [enyy v]\n                            add [1] to [enyyvel v]\n                        end\n                    end\n                    replace item (E#) of [extsta v] with [-13]\n                end\n            end\n        end\n    end\nend\n\ndefine AboveBlockScan\nif <(length of [aboacx v]) > [0]> then\n    set [n.4 v] to [0]\n    repeat (length of [aboacx v])\n        change [n.4 v] by (1)\n        set [n.2 v] to ([abs v] of ((y position) - (item (N.4) of [aboacy v])) )\n        set [n.3 v] to (item (N.4) of [aboactype v])\n        set [n.5 v] to ([abs v] of ((x position) - (item (N.4) of [aboacx v])) )\n        if <<(N.3) = [Wind]> and <not <(letter (1) of (item (E#) of [extyv v])) = [8]>>> then\n            set [n.8 v] to ([abs v] of ((y position) - ((item (N.4) of [aboacy v]) + (72))) )\n            if <<(N.5) < [28]> and <(N.8) < [80]>> then\n                if <(item (E#) of [extyv v]) < [-2]> then\n                    replace item (E#) of [extyv v] with [-2]\n                end\n                replace item (E#) of [extyv v] with ((item (E#) of [extyv v]) + (1.5))\n                if <(item (E#) of [extyv v]) > [6]> then\n                    replace item (E#) of [extyv v] with [6]\n                end\n            end\n            if <<(N.5) < [28]> and <<((y position) - ((item (N.4) of [aboacy v]) + (72))) > [-72]> and <(N.8) < [88]>>> then\n                replace item (E#) of [extxv v] with ((item (E#) of [extxv v]) / (1.5))\n                set [n.9 v] to (((x position) - (item (N.4) of [aboacx v])) / (-4))\n                change x by (N.9)\n                PlayerStandAbove\n                change x by ((N.9) * (-1))\n                replace item (E#) of [extrax v] with ((((x position) + (N.9)) - (MapX)) / (32))\n            end\n        end\n        if <<(N.3) < [99]> and <not <(letter (1) of (item (E#) of [extyv v])) = [8]>>> then\n            if <<(N.5) < [25.5]> and <(N.2) < [16]>> then\n                Conveyer (N.3)\n                change y by (-2)\n                stop [this script v]\n            end\n        end\n        if <<(N.5) < [30]> and <(N.2) < [24]>> then\n            if <(N.3) = [POW]> then\n                if <(item (E#) of [extty v]) = [r]> then\n                    CreateParticle (x position) [POW]\n                    broadcast (POW v)\n                    DeleteThisExtra\n                end\n            end\n            if <not <(letter (1) of (item (E#) of [extyv v])) = [8]>> then\n                if <(N.3) = [Bounce]> then\n                    replace item (E#) of [extyv v] with [13]\n                end\n                if <(N.3) = [Right]> then\n                    Conveyer [2]\n                    stop [this script v]\n                end\n                if <(N.3) = [Left]> then\n                    Conveyer [-2]\n                    stop [this script v]\n                end\n                if <(N.3) = [FRight]> then\n                    Conveyer [4]\n                    stop [this script v]\n                end\n                if <(N.3) = [FLeft]> then\n                    Conveyer [-4]\n                    stop [this script v]\n                end\n                if <not <(item (E#) of [extty v]) = [i]>> then\n                    if <<(letter (1) of (N.3)) = [R]> and <(letter (2) of (N.3)) = [B]>> then\n                        replace item (E#) of [extxv v] with [12]\n                        replace item (E#) of [extdir v] with [90]\n                    end\n                    if <<(letter (1) of (N.3)) = [L]> and <(letter (2) of (N.3)) = [B]>> then\n                        replace item (E#) of [extxv v] with [12]\n                        replace item (E#) of [extdir v] with [-90]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [afteruniquesupdate v]\nif <not <(E#) = [0]>> then\n    if <<(AllowPlayerControl) = [0]> or <(AllowMovement) = [0]>> then\n        stop [this script v]\n    end\n    AboveBlockScan\nend\n\ndefine BasicYMovement\nif <((y position) - (MapY)) < ((SelectedWater) + (28))> then\n    replace item (E#) of [extyv v] with ((item (E#) of [extyv v]) + ((Gravity) / (2)))\n    if <(item (E#) of [extyv v]) = ((Gravity) / (2))> then\n        replace item (E#) of [extyv v] with (Gravity)\n    end\n    if <(item (E#) of [extyv v]) > [9]> then\n        replace item (E#) of [extyv v] with [9]\n    end\n    if <(item (E#) of [extyv v]) < [-3]> then\n        replace item (E#) of [extyv v] with [-3]\n    end\nelse\n    replace item (E#) of [extyv v] with ((item (E#) of [extyv v]) + (Gravity))\n    if <(item (E#) of [extyv v]) < [-12]> then\n        replace item (E#) of [extyv v] with [-12]\n    end\nend\nchange y by (item (E#) of [extyv v])\nif <(item (E#) of [extyv v]) > [0]> then\n    if <<touching (blocks v)?> or <touching (uniques v)?>> then\n        FindCeiling\n        if <<([abs v] of (item (E#) of [extyv v]) ) > [4]> and <(item (E#) of [extty v]) = [r]>> then\n            broadcast (POW v)\n            CreateParticle (x position) [POW]\n            DeleteThisExtra\n        end\n        replace item (E#) of [extyv v] with [0.82]\n    end\nelse\n    switch costume to (hitboxfloor2 v)\n    if <touching (extras v)?> then\n        switch costume to (hitboxfloor v)\n        if <touching (extras v)?> then\n            if <<(item (E#) of [extyv v]) < [-10]> and <(item (E#) of [extty v]) = [r]>> then\n                replace item (E#) of [extsta v] with [1]\n            end\n            set [x v] to [x]\n            FindFloorExtras\n            replace item (E#) of [extyv v] with (Gravity)\n        end\n    end\n    switch costume to (hitboxfloor v)\n    if <touching (entities v)?> then\n        set [x v] to [x]\n        FindFloor\n        if <<(item (E#) of [extyv v]) < [-10]> and <(item (E#) of [extty v]) = [r]>> then\n            replace item (E#) of [extsta v] with [1]\n        end\n        replace item (E#) of [extyv v] with (Gravity)\n    end\n    if <<<touching (blocks v)?> or <touching (uniques v)?>> or <touching (semisolids v)?>> then\n        set [x v] to [0]\n        FindFloorIgnoreEnemies\n        if <<(item (E#) of [extyv v]) < [-4]> and <(item (E#) of [extty v]) = [r]>> then\n            replace item (E#) of [extsta v] with [1]\n        end\n        replace item (E#) of [extyv v] with (Gravity)\n    end\n    switch costume to (hitbox2 v)\nend\n\nwhen I receive [entitymovementupdate v]\nif <not <(E#) = [0]>> then\n    EntMoveUpd (item (E#) of [extty v])\nend\n\ndefine UpdatePositionOnList\nif <(y position) > [-160]> then\n    replace item (E#) of [extrax v] with (((x position) - (MapX)) / (32))\n    replace item (E#) of [extray v] with (((y position) - (MapY)) / (32))\nelse\n    delete this clone\nend\n\ndefine FindFloor\nset [n. v] to [0]\nrepeat until <not <<<touching (blocks v)?> or <<touching (uniques v)?> or <touching (entities v)?>>> or <touching (semisolids v)?>>>\n    change [n. v] by (1)\n    if <(N.) > ((([abs v] of (item (E#) of [extyv v]) ) + (4)) * (2))> then\n        stop [this script v]\n    end\n    change y by (1)\nend\n\ndefine FindCeiling\nset [n. v] to [0]\nrepeat until <not <<<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> or <touching (entities v)?>>>\n    change [n. v] by (1)\n    if <(N.) > (([abs v] of (item (E#) of [extyv v]) ) + (8))> then\n        set y to (((item (E#) of [extray v]) * (32)) + (MapY))\n        stop [this script v]\n    end\n    change y by (-1)\nend\n\ndefine FindFloorExtras\nset [n. v] to [0]\nrepeat until <not <touching (extras v)?>>\n    change [n. v] by (1)\n    if <(N.) > [14]> then\n        change y by (-4)\n        stop [this script v]\n    end\n    change y by (1)\nend\n\ndefine BasicXMovement (normalspeed)\nif <(item (E#) of [extxv v]) < (normalspeed)> then\n    replace item (E#) of [extxv v] with ((item (E#) of [extxv v]) + (((normalspeed) - (item (E#) of [extxv v])) / (6)))\n    if <(item (E#) of [extxv v]) > ((normalspeed) - (0.1))> then\n        replace item (E#) of [extxv v] with (normalspeed)\n    end\nend\nif <(item (E#) of [extxv v]) > (normalspeed)> then\n    if <(item (E#) of [extyv v]) = (Gravity)> then\n        replace item (E#) of [extxv v] with ((item (E#) of [extxv v]) - (0.4))\n    else\n        replace item (E#) of [extxv v] with ((item (E#) of [extxv v]) - (0.2))\n    end\n    if <(item (E#) of [extxv v]) < (normalspeed)> then\n        replace item (E#) of [extxv v] with (normalspeed)\n    end\nend\nswitch costume to (hitbox2 v)\nmove (round (item (E#) of [extxv v])) steps\nif <<<<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> or <touching (entities v)?>> or <<touching (semisolids v)?> and <not <(YVel) > [0]>>>> then\n    YSmoothing\n    if <touching (entities v)?> then\n        set [y v] to [x]\n    end\n    if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n        FindXSpaceIgnoreExtras\n        turn right (180) degrees\n        replace item (E#) of [extdir v] with (direction)\n        if <<([abs v] of (item (E#) of [extxv v]) ) > [4]> and <(item (E#) of [extty v]) = [r]>> then\n            broadcast (POW v)\n            CreateParticle (x position) [POW]\n            DeleteThisExtra\n        end\n        replace item (E#) of [extxv v] with [0]\n    end\nend\nset rotation style [don't rotate v]\nif <<(X) = [x]> and <([abs v] of (item (E#) of [extxv v]) ) < [0.1]>> then\n    FindBelow\nend\n\ndefine FindXSpaceIgnoreExtras\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <touching (uniques v)?>>>\n    change [n. v] by (1)\n    set x to (((item (E#) of [extrax v]) * (32)) + (MapX))\n    if <(N.) > ((([abs v] of (item (E#) of [extxv v]) ) * (4)) + (8))> then\n        if <touching (extras v)?> then\n            FindXSpace\n        end\n        stop [this script v]\n    end\n    change x by (N.)\n    if <<touching (blocks v)?> or <touching (uniques v)?>> then\n        set x to (((item (E#) of [extrax v]) * (32)) + (MapX))\n        change x by ((N.) * (-1))\n    end\nend\n\ndefine YSmoothing\nset [n. v] to [0]\nset [n.5 v] to (y position)\nrepeat until <not <<<<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> or <touching (entities v)?>> or <<touching (semisolids v)?> and <not <(YVel) > [0]>>>>>\n    change [n. v] by (1)\n    set y to (N.5)\n    if <(N.) > (((item (E#) of [extxv v]) * (2)) + (4))> then\n        stop [this script v]\n    end\n    change y by (N.)\nend\n\ndefine PlayerStandAbove\nset [n. v] to (round (((item (E#) of [extrax v]) - (((x position) - (MapX)) / (32))) * (-32)))\nset [n.2 v] to (round (((item (E#) of [extray v]) - (((y position) - (MapY)) / (32))) * (-32)))\nset [n.5 v] to (([y position v] of [player v]) - (((item (E#) of [extray v]) * (32)) + (MapY)))\nif <<<(item (E#) of [extty v]) = [e]> or <(item (E#) of [extty v]) = [h]>> and <(PlayerCarried) = [0]>> then\n    if <<([abs v] of (([x position v] of [player v]) - ((((item (E#) of [extrax v]) * (32)) + (MapX)) + ((direction) / (9)))) ) < [18]> and <([abs v] of (N.5) ) < [16]>> then\n        change [plyx v] by (N.)\n        set [playercarried v] to [1]\n        stop [this script v]\n    end\nend\nif <<([abs v] of (([x position v] of [player v]) - (((item (E#) of [extrax v]) * (32)) + (MapX))) ) < ((26) - (<(Y) = [z]> * (9)))> and <<(N.5) > [-8]> and <(N.5) < [36]>>> then\n    if <<<(YVel) = [0]> or <(YVel) > [15]>> and <(PlayerCarried) = [0]>> then\n        if <<(item (E#) of [extty v]) = [e]> or <(item (E#) of [extty v]) = [h]>> then\n            FlyingSwoop\n        end\n        change [plyx v] by (N.)\n        change [plyy v] by (N.2)\n        if <<([abs v] of (N.) ) > [0]> or <([abs v] of (N.2) ) > [0]>> then\n            set [playercarried v] to [1]\n        end\n        stop [this script v]\n    end\nelse\n    if <<(item (E#) of [extty v]) = [e]> or <(item (E#) of [extty v]) = [h]>> then\n        replace item (E#) of [extsta v] with [0]\n    end\nend\n\ndefine BounceLeft\nswitch costume to (left v)\nif <<touching (entities v)?> or <<touching (extras v)?> and <not <(Y) = [z]>>>> then\n    replace item (E#) of [extsta v] with [-0.1]\n    add [LBounce] to [aboactype v]\n    add ((x position) + (-32)) to [aboacx v]\n    add (y position) to [aboacy v]\nend\n\ndefine BounceRight\nswitch costume to (right v)\nif <<touching (entities v)?> or <<touching (extras v)?> and <not <(Y) = [z]>>>> then\n    replace item (E#) of [extsta v] with [0.1]\n    add [RBounce] to [aboactype v]\n    add ((x position) + (32)) to [aboacx v]\n    add (y position) to [aboacy v]\nend\n\ndefine FindBelow\nshow\nset [x v] to (x position)\nif <([abs v] of (x position) ) > [225]> then\n    stop [this script v]\nend\nswitch costume to (floorcheck2 v)\nset [n. v] to [0]\nrepeat until <not <<touching (entities v)?> or <touching (extras v)?>>>\n    change [n. v] by (2)\n    set x to (X)\n    if <(N.) > [20]> then\n        stop [this script v]\n    end\n    change x by (N.)\nend\nset [n.4 v] to (x position)\nset x to (X)\nswitch costume to (floorcheck3 v)\nset [n. v] to [0]\nrepeat until <not <<touching (entities v)?> or <touching (extras v)?>>>\n    change [n. v] by (2)\n    set x to (X)\n    if <(N.) > [20]> then\n        stop [this script v]\n    end\n    change x by ((N.) * (-1))\nend\nset x to (((x position) + (N.4)) / (2))\nswitch costume to (hitbox5 v)\nif <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n    set x to (X)\nelse\n    set [y v] to [z]\n    replace item (E#) of [extyv v] with [-3]\nend\n\ndefine FlyingSwoop\nif <not <(letter (1) of (item (E#) of [extyv v])) = [8]>> then\n    replace item (E#) of [extsta v] with ((item (E#) of [extsta v]) + (1))\n    if <(item (E#) of [extty v]) = [h]> then\n        if <(item (E#) of [extsta v]) < [45]> then\n            change y by (round (([sin v] of ((item (E#) of [extsta v]) * (8)) ) * (-2)))\n        end\n    else\n        if <(item (E#) of [extsta v]) < [42]> then\n            change y by (round (([sin v] of ((item (E#) of [extsta v]) * (8)) ) * (-4)))\n        else\n            change y by (2)\n        end\n    end\nend\n\ndefine DeleteExtras\nrepeat (length of [delextra v])\n    delete (item (1) of [delextra v]) of [extdir v]\n    delete (item (1) of [delextra v]) of [extsta v]\n    delete (item (1) of [delextra v]) of [extty v]\n    delete (item (1) of [delextra v]) of [extrax v]\n    delete (item (1) of [delextra v]) of [extxv v]\n    delete (item (1) of [delextra v]) of [extray v]\n    delete (item (1) of [delextra v]) of [extyv v]\n    delete (item (1) of [delextra v]) of [extcont v]\n    FixDeleteListAfter (item (1) of [delextra v])\n    delete (1) of [delextra v]\nend\n\ndefine FixDeleteListAfter (no.)\nset [n.2 v] to [0]\nrepeat (length of [delextra v])\n    change [n.2 v] by (1)\n    if <(item (N.2) of [delextra v]) > (no.)> then\n        replace item (N.2) of [delextra v] with ((item (N.2) of [delextra v]) - (1))\n    end\nend\n\nwhen I receive [editcollisionbeforeplayer v]\nif <not <(E#) = [0]>> then\n    set [n.5 v] to (item (E#) of [extty v])\n    if <<<(N.5) = [j]> or <<(N.5) = [z]> or <(N.5) = [ab]>>> or <<(N.5) = [}]> or <(N.5) = [r]>>> then\n        switch costume to (hitbox6 v)\n    end\n    if <(N.5) = [i]> then\n        hide\n    end\n    stop [this script v]\nend\n\ndefine ThwompMovement\nif <(item (E#) of [extsta v]) = [0]> then\n    if <<([abs v] of (([x position v] of [player v]) - (x position)) ) < [88]> and <([y position v] of [player v]) < (y position)>> then\n        replace item (E#) of [extsta v] with [1]\n        replace item (E#) of [extyv v] with [0]\n        replace item (E#) of [extxv v] with (((y position) - (MapY)) / (32))\n    end\nelse\n    if <(item (E#) of [extsta v]) = [1]> then\n        replace item (E#) of [extyv v] with ((item (E#) of [extyv v]) + (-1.3))\n        if <(item (E#) of [extyv v]) < [-24]> then\n            replace item (E#) of [extyv v] with [-24]\n        end\n        change y by (item (E#) of [extyv v])\n        if <<<touching (blocks v)?> or <touching (uniques v)?>> or <touching (semisolids v)?>> then\n            start sound [Thwomp v]\n            FindFloorIgnoreEnemies\n            replace item (E#) of [extyv v] with (Gravity)\n            replace item (E#) of [extsta v] with [2]\n            add ((x position) - (16)) to [intx v]\n            add ((y position) - (16)) to [inty v]\n            add [Normal] to [inttype v]\n            add ((x position) - (-16)) to [intx v]\n            add ((y position) - (16)) to [inty v]\n            add [Normal] to [inttype v]\n            add ((x position) - (16)) to [intx v]\n            add ((y position) - (48)) to [inty v]\n            add [Normal] to [inttype v]\n            add ((x position) - (-16)) to [intx v]\n            add ((y position) - (48)) to [inty v]\n            add [Normal] to [inttype v]\n            add ((x position) - (8)) to [aboacx v]\n            add ((y position) - (12)) to [aboacy v]\n            add [Kill] to [aboactype v]\n            add ((x position) - (-8)) to [aboacx v]\n            add ((y position) - (12)) to [aboacy v]\n            add [Kill] to [aboactype v]\n            set [screenshake v] to [0.01]\n        end\n        if <touching (extras v)?> then\n            start sound [Thwomp v]\n            FindFloorExtras\n            replace item (E#) of [extyv v] with (Gravity)\n            replace item (E#) of [extsta v] with [2]\n            add ((x position) - (16)) to [intx v]\n            add ((y position) - (48)) to [inty v]\n            add [Normal] to [inttype v]\n            add ((x position) - (-16)) to [intx v]\n            add ((y position) - (48)) to [inty v]\n            add [Normal] to [inttype v]\n            set [screenshake v] to [0.01]\n        end\n    else\n        if <(item (E#) of [extsta v]) < [3]> then\n            replace item (E#) of [extsta v] with ((item (E#) of [extsta v]) + (0.05))\n            if <not <(item (E#) of [extsta v]) < [3]>> then\n                replace item (E#) of [extsta v] with [3]\n            end\n        else\n            if <(item (E#) of [extsta v]) = [3]> then\n                change y by (2)\n                if <touching (blocks v)?> then\n                    FindCeilingIgnoreEnemies\n                    replace item (E#) of [extsta v] with [4]\n                end\n                if <(((y position) - (MapY)) / (32)) > (item (E#) of [extxv v])> then\n                    set y to (((item (E#) of [extxv v]) * (32)) + (MapY))\n                    replace item (E#) of [extsta v] with [4]\n                end\n            else\n                replace item (E#) of [extsta v] with ((item (E#) of [extsta v]) + (0.1))\n                if <not <(item (E#) of [extsta v]) < [5]>> then\n                    replace item (E#) of [extsta v] with [0]\n                end\n            end\n        end\n    end\nend\n\ndefine FindFloorIgnoreEnemies\nset [n. v] to [0]\nrepeat until <not <<<touching (blocks v)?> or <touching (uniques v)?>> or <touching (semisolids v)?>>>\n    change [n. v] by (1)\n    if <(N.) > ((([abs v] of (item (E#) of [extyv v]) ) + (4)) * (2))> then\n        set y to (((item (E#) of [extray v]) * (32)) + (MapY))\n        stop [this script v]\n    end\n    change y by (1)\nend\n\ndefine FindCeilingIgnoreEnemies\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>>\n    change [n. v] by (1)\n    if <(N.) > (([abs v] of (item (E#) of [extyv v]) ) + (8))> then\n        set y to (((item (E#) of [extray v]) * (32)) + (MapY))\n        stop [this script v]\n    end\n    change y by (-1)\nend\n\nwhen I receive [endotherscripts v]\nstop [other scripts in sprite v]\ndelete this clone\n\ndefine DeleteThisExtra\nadd (E#) to [delextra v]\ndelete this clone\n\ndefine FindXSpace\nset [n. v] to [0]\nrepeat until <not <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>>>\n    change [n. v] by (1)\n    set x to (((item (E#) of [extrax v]) * (32)) + (MapX))\n    if <(N.) > ((([abs v] of (item (E#) of [extxv v]) ) * (4)) + (8))> then\n        DeleteThisExtra\n        stop [this script v]\n    end\n    change x by (N.)\n    if <<touching (blocks v)?> or <<touching (uniques v)?> or <touching (extras v)?>>> then\n        set x to (((item (E#) of [extrax v]) * (32)) + (MapX))\n        change x by ((N.) * (-1))\n    end\nend\n\nwhen I receive [flagclicked v]\nset rotation style [don't rotate v]\nswitch costume to (large v)\nset size to (400) %\nhide\n\ndefine CreateParticle (x) (type)\nadd (x) to [creparx v]\nadd (y position) to [crepary v]\nadd (type) to [crepartype v]\n\ndefine TrackMovements\npoint in direction (item (E#) of [extdir v])\nset [fblock v] to [0]\nreplace item (E#) of [extxv v] with ((item (E#) of [extxv v]) + ((1) / (16)))\nif <not <(item (E#) of [extxv v]) < [1]>> then\n    replace item (E#) of [extxv v] with [0]\nend\nset [n. v] to (round (((x position) - (MapX)) / (32)))\nset [n.2 v] to (round (((y position) - (MapY)) / (32)))\nif <(item (E#) of [extxv v]) = [0.5]> then\n    ScanFor (N.) (N.2) Tracks\n    if <(FBlock) = [0]> then\n        ScanFor (round ((N.) + ([sin v] of (direction) ))) (round ((N.2) + ([cos v] of (direction) ))) Tracks\n    end\n    TracksVariants\n    point in direction (item (E#) of [extdir v])\nend\nif <not <(item (E#) of [extyv v]) = [81]>> then\n    change x by ((round ([sin v] of (direction) )) * (2))\n    change y by ((round ([cos v] of (direction) )) * (2))\n    PlayerStandAbove\n    replace item (E#) of [extrax v] with (((x position) - (MapX)) / (32))\n    replace item (E#) of [extray v] with (((y position) - (MapY)) / (32))\nend\nswitch costume to (hitbox v)\n\ndefine ScanFor (x) (y) Tracks\nset [fblock v] to [0]\nset [fsubtype v] to []\nif <not <<(x) < (item (1) of [semix v])> or <(x) > (item (length of [semix v]) of [semix v])>>> then\n    set [n. v] to ((item # of (x) in [semix v]) - (1))\n    repeat until <<(item (N.) of [semix v]) > (x)> or <<(N.) > (length of [semix v])> or <(item ((N.) + (1)) of [semiy v]) > (y)>>>\n        change [n. v] by (1)\n        if <<(item (N.) of [semix v]) = (x)> and <(item (N.) of [semiy v]) = (y)>> then\n            set [fblock v] to [1]\n            set [n.6 v] to (item (N.) of [semitype v])\n            if <(letter (1) of (N.6)) = [8]> then\n                set [fsubtype v] to (join (join (letter (2) of (N.6)) (letter (3) of (N.6))) (letter (4) of (N.6)))\n            end\n            stop [this script v]\n        end\n    end\nend\n\ndefine TracksVariants\nif <(FSubtype) = [a1]> then\n    replace item (E#) of [extyv v] with [81]\n    set x to (((round (((x position) - (MapX)) / (32))) * (32)) + (MapX))\n    stop [this script v]\nend\nif <(FSubtype) = [u1]> then\n    ChangeDirectionBetween [0] And [0] Extras\nend\nif <(FSubtype) = [d1]> then\n    ChangeDirectionBetween [180] And [180] Extras\nend\nif <(FSubtype) = [l1]> then\n    ChangeDirectionBetween [-90] And [-90] Extras\nend\nif <(FSubtype) = [r1]> then\n    ChangeDirectionBetween [90] And [90] Extras\nend\nif <(FSubtype) = [ur]> then\n    ChangeDirectionBetween [0] And [90] Extras\nend\nif <(FSubtype) = [ul]> then\n    ChangeDirectionBetween [-90] And [0] Extras\nend\nif <(FSubtype) = [dr]> then\n    ChangeDirectionBetween [180] And [90] Extras\nend\nif <(FSubtype) = [dl]> then\n    ChangeDirectionBetween [180] And [-90] Extras\nend\nif <(FSubtype) = [x3]> then\n    ChangeDirectionBetween [-45] And [-45] Extras\nend\nif <(FSubtype) = [x4]> then\n    ChangeDirectionBetween [45] And [45] Extras\nend\nif <(FSubtype) = [x5]> then\n    ChangeDirectionBetween [135] And [135] Extras\nend\nif <(FSubtype) = [x6]> then\n    ChangeDirectionBetween [-135] And [-135] Extras\nend\nif <(FSubtype) = [x7]> then\n    ChangeDirectionBetween [-90] And [45] Extras\nend\nif <(FSubtype) = [x8]> then\n    ChangeDirectionBetween [-90] And [135] Extras\nend\nif <(FSubtype) = [x9]> then\n    ChangeDirectionBetween [90] And [-135] Extras\nend\nif <(FSubtype) = [x10]> then\n    ChangeDirectionBetween [90] And [-45] Extras\nend\nif <(FSubtype) = [x11]> then\n    ChangeDirectionBetween [0] And [135] Extras\nend\nif <(FSubtype) = [x12]> then\n    ChangeDirectionBetween [0] And [-135] Extras\nend\nif <(FSubtype) = [x13]> then\n    ChangeDirectionBetween [-45] And [180] Extras\nend\nif <(FSubtype) = [x14]> then\n    ChangeDirectionBetween [45] And [180] Extras\nend\nif <(FSubtype) = [x15]> then\n    ChangeDirectionBetween [-45] And [45] Extras\nend\nif <(FSubtype) = [x16]> then\n    ChangeDirectionBetween [135] And [45] Extras\nend\nif <(FSubtype) = [x17]> then\n    ChangeDirectionBetween [135] And [-135] Extras\nend\nif <(FSubtype) = [x18]> then\n    ChangeDirectionBetween [-45] And [-135] Extras\nend\nif <(FSubtype) = [x19]> then\n    if <(On/Off) = [1]> then\n        ChangeDirectionBetween [-90] And [45] Extras\n    else\n        ChangeDirectionBetween [-90] And [135] Extras\n    end\nend\nif <(FSubtype) = [x20]> then\n    if <(On/Off) = [1]> then\n        ChangeDirectionBetween [0] And [135] Extras\n    else\n        ChangeDirectionBetween [0] And [-135] Extras\n    end\nend\nif <(FSubtype) = [x21]> then\n    if <(On/Off) = [1]> then\n        ChangeDirectionBetween [90] And [-135] Extras\n    else\n        ChangeDirectionBetween [90] And [-45] Extras\n    end\nend\nif <(FSubtype) = [x22]> then\n    if <(On/Off) = [1]> then\n        ChangeDirectionBetween [180] And [-45] Extras\n    else\n        ChangeDirectionBetween [180] And [45] Extras\n    end\nend\nif <(FSubtype) = [ud]> then\n    MaintainDirectionAs [180] Or [0] Extras\nend\nif <(FSubtype) = [lr]> then\n    MaintainDirectionAs [90] Or [-90] Extras\nend\nif <(FSubtype) = [x1]> then\n    MaintainDirectionAs [135] Or [-45] Extras\nend\nif <(FSubtype) = [x2]> then\n    MaintainDirectionAs [-135] Or [45] Extras\nend\n\ndefine MaintainDirectionAs (1) Or (2) Extras\nif <not <<(direction) = (1)> or <(direction) = (2)>>> then\n    set [x v] to (((round (((X) - (MapX)) / (32))) * (32)) + (MapX))\n    set [y v] to (((round (((Y) - (MapY)) / (32))) * (32)) + (MapY))\n    point in direction (1)\n    replace item (E#) of [extdir v] with (direction)\nend\n\ndefine ChangeDirectionBetween (1) And (2) Extras\nset [n.6 v] to ((direction) mod (180))\nif <not <<(item (E#) of [extdir v]) = (1)> or <(item (E#) of [extdir v]) = (2)>>> then\n    if <(N.6) = ((1) mod (180))> then\n        if <(N.6) = (1)> then\n            point in direction (2)\n        else\n            point in direction (2)\n        end\n    else\n        if <(N.6) = (2)> then\n            point in direction (1)\n        else\n            point in direction (1)\n        end\n    end\n    replace item (E#) of [extdir v] with (direction)\nend\n\nwhen I receive [pow v]\nif <not <(E#) = [0]>> then\n    if <(item (E#) of [extty v]) = [j]> then\n        CreateParticle (x position) [1j]\n        DeleteThisExtra\n    end\nend\n\ndefine EntMoveUpd (type)\nset rotation style [don't rotate v]\npoint in direction (item (E#) of [extdir v])\nif <<(Dead) = [1]> or <<(AllowMovement) = [0]> or <(AllowPlayerControl) = [0]>>> then\n    set y to (round (y position))\n    stop [this script v]\nend\nswitch costume to (hitbox2 v)\nif <<(item (E#) of [extyv v]) = [8]> or <(item (E#) of [extyv v]) = [81]>> then\n    TrackMovements\n    stop [this script v]\nend\nif <<<(type) = [}]> or <(type) = [j]>> or <<(type) = [z]> or <(type) = [ab]>>> then\n    BasicYMovement\n    BasicXMovement [0]\n    PlayerStandAbove\n    UpdatePositionOnList\n    switch costume to (hitbox v)\n    set y to (round ((y position) - (1)))\n    if <<(item (E#) of [extyv v]) < [-3]> and <(type) = [j]>> then\n        add (x position) to [aboacx v]\n        add ((y position) - (28)) to [aboacy v]\n        add [Muncher] to [aboactype v]\n    end\n    stop [this script v]\nend\nif <(type) = [e]> then\n    move (1) steps\n    PlayerStandAbove\n    UpdatePositionOnList\n    switch costume to (hitbox4 v)\n    set y to (round ((y position) - (1)))\n    stop [this script v]\nend\nif <(type) = [h]> then\n    move (2) steps\n    PlayerStandAbove\n    UpdatePositionOnList\n    switch costume to (hitbox4 v)\n    set y to (round ((y position) - (1)))\n    stop [this script v]\nend\nif <(type) = [i]> then\n    switch costume to (thwomphitbox v)\n    ThwompMovement\n    UpdatePositionOnList\n    switch costume to (thwomphitbox2 v)\n    stop [this script v]\nend\nif <(type) = [r]> then\n    if <not <(item (E#) of [extsta v]) = [0]>> then\n        if <([abs v] of (item (E#) of [extyv v]) ) < [1]> then\n            replace item (E#) of [extsta v] with ((item (E#) of [extsta v]) + (1))\n            if <(item (E#) of [extsta v]) > [1]> then\n                CreateParticle (x position) [POW]\n                broadcast (POW v)\n                DeleteThisExtra\n            end\n        else\n            replace item (E#) of [extsta v] with [0]\n        end\n    end\n    if <<([abs v] of ((x position) - (([x position v] of [player v]) + (([direction v] of [player v]) / (6)))) ) < ((12) + ([abs v] of (XVel) ))> and <<([abs v] of ((y position) - ([y position v] of [player v])) ) < [16]> and <(Holding) = []>>> then\n        if <<key (space v) pressed?> and <(item (E#) of [extyv v]) < [6]>> then\n            set [holding v] to [r]\n            DeleteThisExtra\n        end\n    end\n    BasicYMovement\n    BasicXMovement [0]\n    PlayerStandAbove\n    UpdatePositionOnList\n    switch costume to (hitbox v)\n    set y to (round ((y position) - (1)))\n    stop [this script v]\nend\n\ndefine Switch (cost) (speed) (mod)\nswitch costume to (join (cost) ((([floor v] of ((GTime) * (speed)) ) mod (mod)) + (1)))\n\ndefine Conveyer (change)\nchange x by (change)\nPlayerStandAbove\nchange x by ((change) * (-1))\nreplace item (E#) of [extrax v] with ((((x position) + (change)) - (MapX)) / (32))\n\n@HUD\n\nwhen I receive [overlays2 v]\nif <[] = []> then\n    delete this clone\nend\nshow\ngo to x: (0) y: (-180)\nif <(EditMode) = [1]> then\n    switch costume to (full2 v)\n    stamp\n    hide\nelse\n    go to x: (120) y: (-162)\n    if <(Coins) < [10]> then\n        Write (join [0] (Coins))\n    else\n        Write (Coins)\n    end\n    go to x: (-120) y: (-162)\n    if <(round (Timer)) < [10]> then\n        Write (join [00] (round (Timer)))\n    else\n        if <(round (Timer)) < [100]> then\n            Write (join [0] (round (Timer)))\n        else\n            Write (round (Timer))\n        end\n    end\n    go to x: (0) y: (-180)\n    if <([abs v] of (XVel) ) > [7]> then\n        switch costume to (full3 v)\n    else\n        switch costume to (full v)\n    end\nend\n\nwhen I receive [endotherscripts v]\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [flagclicked v]\nset size to (400) %\ngo to x: (0) y: (-180)\nhide\n\ndefine Write (word)\nset [n.4 v] to [0]\nrepeat (length of (word))\n    change [n.4 v] by (1)\n    switch costume to (letter (N.4) of (word))\n    create clone of (_myself_ v)\n    change x by (16)\nend\n\nwhen I start as a clone\ngo [forward v] (6) layers\n\n
Hello and welcome to a new scrolling platformer!\n\nArrow keys to move, Z to phase though certain platforms.\nTry and get through all nine levels! (more levels coming soon)\n\nPlease heart and star!