O C O   | platformer |   

Instructions: Arrow keys\n

@Stage\n\nwhen I receive [gamemusic v]\nforever\n    stop all sounds\n    play sound [minecraft_holder_trap_remix v] until done\nend\n\nwhen flag clicked\nbroadcast (gamemusic v)\nforever\n    switch backdrop to (Level)\nend\n\n@Platforms\n\nwhen flag clicked\nset [timesofar v] to [0]\nreset timer\nhide\n\ndefine PlatformLeft\nchange y by (-1)\nif <not <touching (font v)?>> then\n    change x by (-2)\nend\nif <touching (font v)?> then\n    set [xvelocity v] to [0]\n    change x by (2)\nend\nchange y by (1)\n\ndefine PlatformRight\nchange y by (-1)\nif <not <touching (font v)?>> then\n    change x by (2)\nend\nif <touching (font v)?> then\n    set [xvelocity v] to [0]\n    change x by (-2)\nend\nchange y by (1)\n\ndefine SmoothenMovement\nswitch costume to (Level)\nif <not <(Level) = [2]>> then\n    set [xvelocity v] to ((XVelocity) * (0.85))\n    if <<(XVelocity) < [1]> and <(XVelocity) > [-1]>> then\n        set [xvelocity v] to [0]\n    end\nend\n\nwhen I receive [restartlevel v]\nbroadcast (PlatformPosition v)\n\nwhen I receive [platformleft v]\nforever\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        broadcast (HeroPointRight v)\n        change [xvelocity v] by (-1.2)\n        if <(XVelocity) < ((0) - (MaxXVelocity))> then\n            set [xvelocity v] to ((0) - (MaxXVelocity))\n        end\n    end\n    if <(XVelocity) < [-1]> then\n        PlatformLeft\n        if <(XVelocity) < [-2]> then\n            PlatformLeft\n            if <(XVelocity) < [-3]> then\n                PlatformLeft\n                if <(XVelocity) < [-4]> then\n                    PlatformLeft\n                    if <(XVelocity) < [-5]> then\n                        PlatformLeft\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [platformright v]\nforever\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        broadcast (HeroPointLeft v)\n        change [xvelocity v] by (1.2)\n        if <(XVelocity) > (MaxXVelocity)> then\n            set [xvelocity v] to (MaxXVelocity)\n        end\n    end\n    if <(XVelocity) > [1]> then\n        PlatformRight\n        if <(XVelocity) > [2]> then\n            PlatformRight\n            if <(XVelocity) > [3]> then\n                PlatformRight\n                if <(XVelocity) > [4]> then\n                    PlatformRight\n                    if <(XVelocity) > [5]> then\n                        PlatformRight\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [-tntdestroywall v]\nchange y by (428)\n\nwhen I receive [platformgoingright v]\nchange x by (-1)\n\nwhen I receive [platformgoingleft v]\nchange x by (1)\n\nwhen I receive [start v]\nbroadcast (PlatformPosition v)\n\nwhen I receive [platformposition v]\nchange [timesofar v] by (round (timer))\nreset timer\nset [maxxvelocity v] to [4]\nshow\nset [holdingitem v] to [Nothing]\nswitch costume to (Level)\nset [xvelocity v] to [0]\nif <(Level) = [1]> then\n    go to x: (917) y: (-570)\nend\nif <(Level) = [2]> then\n    go to x: (650) y: (-570)\nend\nif <(Level) = [3]> then\n    go to x: (650) y: (-185)\nend\nif <(Level) = [4]> then\n    go to x: (800) y: (-570)\nend\nbroadcast (PlatformLeft v)\nbroadcast (PlatformRight v)\nforever\n    SmoothenMovement\nend\n\nwhen I receive [levelup v]\nbroadcast (PlatformPosition v)\ngo to [front v] layer\n\nif <(Mode) = [Trainer]> then\nend\n\nif <(XVelocity) < ((0) - (MaxXVelocity))> then\n    set [xvelocity v] to ((0) - (MaxXVelocity))\nend\n\n@Controller!\n\nwhen I receive [start v]\nshow\nset [ghost v] effect to (99)\ngo to [front v] layer\nforever\n    go to (font v)\n    if <touching (movingplatforms v)?> then\n        set [touchingmovingplatforms? v] to [Yes]\n    else\n        set [touchingmovingplatforms? v] to [No]\n    end\nend\n\nwhen flag clicked\nhide\n\nwait until <(Level) = [4]>\n\nif <not <touching (platforms v)?>> then\n    broadcast (SlideDown v)\nend\n\n@HERO\n\nwhen I receive [levelup v]\ngo to [front v] layer\nswitch costume to (normal v)\n\nwhen I receive [heropointleft v]\npoint in direction (-90)\n\nwhen I receive [heropointright v]\npoint in direction (90)\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [footsteps v]\nbroadcast (WalkSounds v)\nforever\n    if <<(Level) = [4]> and <<not <key (any v) pressed?>> and <(TouchingMovingPlatforms?) = [Yes]>>> then\n        switch costume to (normal v)\n    else\n        if <not <(OldPlatformX\(Walking?\)) = ([x position v] of [platforms v])>> then\n            if <(costume [number v]) = [5]> then\n                switch costume to (normal v)\n            else\n                if <(costume [number v]) = [21]> then\n                    switch costume to (horse v)\n                else\n                    next costume\n                end\n            end\n        end\n        set [oldplatformx\(walking?\) v] to ([x position v] of [platforms v])\n    end\nend\n\nwhen flag clicked\nhide\nswitch costume to (normal v)\nset [holdingitem v] to [Normal]\nwait (0.05) seconds\n\nwhen I receive [holding v]\nif <(HoldingItem) = [Horse]> then\n    switch costume to (horse v)\nend\n\nwhen I receive [walksounds v]\n\nforever\n    if <not <(OldPlatformX\(Walking?\)) = (x position)>> then\n        play sound [Walk v] until done\n    end\nend\n\nwhen I receive [saddlehorse v]\nswitch costume to (horse v)\n\nwhen I receive [dismount v]\nswitch costume to (normal v)\n\nwhen I receive [tnt_explosionprompt v]\nsay [Can I eat the door?] for (4) seconds\n\nwhen I receive [l1ladderprompt v]\nsay [Go higher then frank again.] for (4) seconds\n\nwhen I receive [-showladder v]\nrepeat (2)\n    go to [front v] layer\n    wait (0.1) seconds\nend\n\nwhen I receive [start v]\nbroadcast (Footsteps v)\nswitch costume to (normal v)\ngo to [front v] layer\nforever\n    show\n    go to (font v)\n    if <(Level) = [4]> then\n        if <touching color (#ff0000)?> then\n            broadcast (RestartLevel v)\n        end\n    end\nend\n\nwhen I receive [levelup v]\nif <(Level) = [2]> then\n    say [Frank is too big!] for (3) seconds\nend\n\nwhen I receive [restartlevel v]\nif <(Level) = [2]> then\n    say [Frank is big!] for (3) seconds\nend\n\nwhen I receive [restartlevel v]\nstart sound [oof v]\n\n@Controller\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [#showleveltransition v]\nwait (1) seconds\nset [ghost v] effect to (100)\nshow\ngo to [front v] layer\nrepeat (20)\n    change [ghost v] effect by (-3)\nend\nbroadcast (DropCongrats v)\nwait (1) seconds\nif <(Level) = [5]> then\nend\nchange [level v] by (1)\nif <(Level) = [6]> then\n    broadcast (gameover v)\nelse\n    broadcast (LevelUp v)\nend\nrepeat (20)\n    change [ghost v] effect by (3)\nend\nhide\n\nwait (3) seconds\nwait (3) seconds\n\nset [level v] to [0]\n\n@Collectables\n\nwhen I receive [start v]\ngo to [front v] layer\ngo [backward v] (31) layers\nswitch costume to (blank v)\nset size to (400) %\nhide\nforever\n    set x to (([x position v] of [platforms v]) + ((XVelocity) * (1.6)))\n    if <([x position v] of [platforms v]) = ((x position) - ((XVelocity) * (1.6)))> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [-positionitem v]\nif <(Level) = [1]> then\n    switch costume to (l1 v)\n    set y to (-560)\n    wait until <touching (font v)?>\n    set [holdingitem v] to [Sword]\n    set y to (-1000)\nend\nif <(Level) = [2]> then\n    switch costume to (l2 v)\n    set y to (-732)\n    wait until <touching (font v)?>\n    broadcast (NextCraftingStage v)\n    change y by (350)\n    wait until <touching (font v)?>\n    broadcast (NextCraftingStage v)\n    change y by (350)\n    wait until <touching (font v)?>\n    broadcast (NextCraftingStage v)\n    change y by (350)\n    wait until <touching (font v)?>\n    set [holdingitem v] to [Pickaxe]\n    change y by (-3000)\n    stop [this script v]\nend\nif <(Level) = [3]> then\n    switch costume to (l3 v)\n    go to [front v] layer\n    set y to (-560)\n    wait until <touching (font v)?>\n    set [holdingitem v] to [Water]\n    change y by (350)\n    wait until <touching (font v)?>\n    set [holdingitem v] to [Water]\n    change y by (-500)\n    stop [this script v]\nend\nif <(Level) = [4]> then\n    switch costume to (l4 v)\n    set y to (-400)\n    wait until <touching (font v)?>\n    broadcast (NextCraftingStage v)\n    set [holdingitem v] to [Nothing]\n    set y to (-1000)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nbroadcast (-PositionItem v)\n\nwhen I receive [restartlevel v]\nbroadcast (-PositionItem v)\n\nshow\n\nset y to (-600)\n\nwhen I receive [levelup v]\nbroadcast (-PositionItem v)\n\n@L1\n\nwhen I receive [start v]\nhide\ngo to [front v] layer\nwait until <(Level) = [3]>\ngo to x: (-170) y: (-173)\nset size to (70) %\nset [lavax v] to [-900]\nrepeat (12)\n    next costume\n    create clone of (_myself_ v)\n    change [lavax v] by (260)\nend\n\nwhen I start as a clone\nforever\n    if <(Level) = [3]> then\n        repeat (2)\n            set x to (([x position v] of [platforms v]) + (LavaX))\n            if <(x position) = (([x position v] of [platforms v]) + (LavaX))> then\n                show\n                go to [front v] layer\n            else\n                hide\n            end\n        end\n        next costume\n    else\n        hide\n        if <(Level) = [4]> then\n            stop [other scripts in sprite v]\n            delete this clone\n        end\n    end\nend\n\nwhen I receive [gameover v]\nwait (0.2) seconds\ndelete this clone\n\n@Trees2\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [levelup v]\nShowTrees\n\nwhen flag clicked\ngo to x: (500) y: (500)\nhide\n\nwhen I start as a clone\n\nwhen I receive [#action v]\nif <<(distance to [hero v]) < [50]> and <not <(costume [number v]) > [4]>>> then\n    next costume\n    broadcast (NextCraftingStage v)\n    if <(costume [number v]) > [4]> then\n        hide\n        go to x: (500) y: (500)\n    end\nend\n\nwhen I receive [start v]\nShowTrees\n\nwhen I receive [restartlevel v]\nShowTrees\n\ndefine ShowTrees\nstop [other scripts in sprite v]\nhide\nset [color v] effect to (25)\nswitch costume to (tree v)\nif <(Level) = [1]> then\n    forever\n        set y to (0)\n        set x to (([x position v] of [platforms v]) + (750))\n        if <(x position) = (([x position v] of [platforms v]) + (750))> then\n            show\n        else\n            hide\n        end\n    end\nend\nif <(Level) = [4]> then\n    switch costume to (tree2 v)\n    set y to (43)\n    forever\n        set x to (([x position v] of [platforms v]) + (150))\n        if <(x position) = (([x position v] of [platforms v]) + (150))> then\n            show\n        else\n            hide\n        end\n    end\nend\n\n@portal\n\nwhen flag clicked\nhide\nset size to (33) %\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [levelup v]\nPortalPositioning\n\nwhen I receive [start v]\nPortalPositioning\n\ndefine PortalPositioning\nset size to (100) %\nshow\nif <(Level) = [1]> then\n    set [portalx v] to [58]\n    set y to (90)\nend\nif <(Level) = [2]> then\n    set [portalx v] to [430]\n    set y to (29)\nend\nif <(Level) = [3]> then\n    set [portalx v] to [-100]\n    set y to (19)\nend\nif <(Level) = [4]> then\n    set [portalx v] to [-930]\n    set y to (-118)\nend\nforever\n    set x to (([x position v] of [platforms v]) - (PortalX))\n    if <(x position) = (([x position v] of [platforms v]) - (PortalX))> then\n        show\n        next costume\n        if <touching (hero v)?> then\n            hide\n            if <(Mode) = [Normal]> then\n                broadcast (#ReleaseTheFruit v)\n                set [levelwas v] to (Level)\n                start sound [minecraft-rare-achievements-sound v]\n                wait until <(Level) > (LevelWas)>\n            else\n                if <(Mode) = [Hardcore]> then\n                    if <(Level) = [4]> then\n                        broadcast (gameover v)\n                        stop [this script v]\n                    end\n                    change [level v] by (1)\n                    broadcast (LevelUp v)\n                else\n                    broadcast (Training level complete v)\n                end\n            end\n        end\n    else\n        hide\n    end\nend\n\n@Ladders\n\nwhen flag clicked\ngo to [front v] layer\nhide\n\nwhen I receive [-showladder v]\nswitch costume to (Level)\ngo to [front v] layer\ngo [backward v] (20) layers\nforever\n    go to (platforms v)\n    if <(x position) = ([x position v] of [platforms v])> then\n        show\n    else\n        hide\n    end\n    if <(Level) = [2]> then\n        hide\n        stop [this script v]\n    end\nend\n\nwhen I receive [restartlevel v]\nstop [other scripts in sprite v]\nhide\n\n@MineBlocks\n\nforever\n    wait until <(Level) = [2]>\n    switch costume to (l2sand v)\n    go to [front v] layer\n    go [backward v] (40) layers\n    repeat until <(Level) = [3]>\n        go to (platforms v)\n        if <(x position) = ([x position v] of [platforms v])> then\n            show\n        else\n            hide\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nPositionItem\n\nwhen I receive [restartlevel v]\nPositionItem\n\ndefine PositionItem\nif <(Level) = [2]> then\n    switch costume to (l2sand v)\n    repeat until <(Level) = [3]>\n        go to [front v] layer\n        go [backward v] (40) layers\n        go to (platforms v)\n        if <(x position) = ([x position v] of [platforms v])> then\n            show\n        else\n            hide\n        end\n    end\nend\n\nwhen I receive [#crafting v]\nif <touching (cloudscore v)?> then\n    if <(HoldingItem) = [Pickaxe]> then\n        next costume\n        if <(costume [number v]) = [6]> then\n            broadcast (NextCraftingStage v)\n            set [holdingitem v] to [Nothing]\n        end\n    end\nend\n\nwhen I receive [levelup v]\nPositionItem\n\n@clouds\n\nwhen flag clicked\nswitch costume to (blank v)\nset size to (250) %\nswitch costume to (water v)\nhide\n\nwhen I receive [start v]\nshow\ngo to [back v] layer\nforever\n    set y to (-270)\n    switch costume to (Level)\n    set x to (([x position v] of [platforms v]) / (4))\nend\n\n@Land\n\nwhen I receive [start v]\nswitch costume to (blank v)\nshow\nset size to (250) %\nset y to (-290)\ngo to [back v] layer\ngo [forward v] (1) layers\nset [lavacoloureffect v] to [0]\nforever\n    switch costume to (Level)\n    set x to (([x position v] of [platforms v]) / (3))\n    if <(Level) = [3]> then\n        if <(LavaColourEffect) > [10]> then\n            change [lavacoloureffect v] by (-4)\n        else\n            if <(LavaColourEffect) < [-25]> then\n                change [lavacoloureffect v] by (4)\n            else\n                change [lavacoloureffect v] by (pick random (-1) to (1))\n            end\n        end\n        set [color v] effect to (LavaColourEffect)\n    else\n        set [color v] effect to (0)\n        set [brightness v] effect to (5)\n    end\nend\n\nwhen flag clicked\nhide\n\n@Sprite6\n\nwhen I receive [#releasethefruit v]\nif <[1] = [1]> then\n    delete this clone\nend\nset [numberofxpbonusclones v] to [5]\nset [timerstampforchests v] to (timer)\nif <(Level) = [1]> then\n    repeat until <(TimerStampForChests) < [22]>\n        change [numberofxpbonusclones v] by (-1)\n        change [timerstampforchests v] by (-3)\n    end\nend\nif <(Level) = [2]> then\n    repeat until <(TimerStampForChests) < [34]>\n        change [numberofxpbonusclones v] by (-1)\n        change [timerstampforchests v] by (-3)\n    end\nend\nif <(Level) = [3]> then\n    repeat until <(TimerStampForChests) < [23]>\n        change [numberofxpbonusclones v] by (-1)\n        change [timerstampforchests v] by (-3)\n    end\nend\nif <(Level) = [4]> then\n    repeat until <(TimerStampForChests) < [23]>\n        change [numberofxpbonusclones v] by (-1)\n        change [timerstampforchests v] by (-3)\n    end\nend\ngo to [front v] layer\nif <[1] = [1]> then\n    delete this clone\nend\nif <(Level) = [1]> then\n    set [chestx v] to [-111]\n    go to x: (([x position v] of [platforms v]) - (ChestX)) y: (-130)\n    set [chestsplaced v] to [0]\n    repeat (NumberofXPbonusClones)\n        create clone of (_myself_ v)\n        change [chestsplaced v] by (1)\n        if <(ChestsPlaced) = [2]> then\n            change [chestx v] by (132)\n        else\n            change [chestx v] by (68)\n        end\n    end\n    stop [this script v]\nend\nif <(Level) = [2]> then\n    set [chestx v] to [260]\n    go to x: (([x position v] of [platforms v]) - (ChestX)) y: (10)\n    set [chestsplaced v] to [0]\n    repeat (NumberofXPbonusClones)\n        create clone of (_myself_ v)\n        change [chestsplaced v] by (1)\n        change [chestx v] by (34)\n    end\n    stop [this script v]\nend\nif <(Level) = [3]> then\n    set [chestx v] to [-10]\n    go to x: (([x position v] of [platforms v]) - (ChestX)) y: (4)\n    set [chestsplaced v] to [0]\n    repeat (NumberofXPbonusClones)\n        create clone of (_myself_ v)\n        change [chestsplaced v] by (1)\n        if <(ChestsPlaced) = [1]> then\n            change [chestx v] by (68)\n        else\n            change [chestx v] by (34)\n        end\n    end\n    stop [this script v]\nend\nif <(Level) = [4]> then\n    set [chestx v] to [-567]\n    go to x: (([x position v] of [platforms v]) - (ChestX)) y: (-130)\n    set [chestsplaced v] to [0]\n    repeat (NumberofXPbonusClones)\n        create clone of (_myself_ v)\n        change [chestsplaced v] by (1)\n        change [chestx v] by (34)\n    end\n    stop [this script v]\nend\n\nwhen flag clicked\nhide\ngo to x: (400) y: (400)\n\nwhen I start as a clone\nshow\nrepeat until <touching (font v)?>\n    set x to (([x position v] of [platforms v]) - (ChestX))\n    if <(x position) = (([x position v] of [platforms v]) - (ChestX))> then\n        next costume\n        show\n    else\n        hide\n    end\nend\nstart sound [456966__funwithsound__success-fanfare-trumpets v]\nchange [score v] by (1000)\nset [streamofcashx v] to (x position)\nset [streamofcashy v] to (y position)\nbroadcast (StreamOfCash v)\ndelete this clone\n\nwhen I receive [levelup v]\ndelete this clone\n\nwhen I receive [start v]\ndelete this clone\n\nwhen I receive [restartlevel v]\ndelete this clone\n\nwhen I receive [gameover v]\nhide\ndelete this clone\n\n@Powerups Collection\n\nwhen flag clicked\nhide\n\nwhen I receive [streamofcash v]\nset [distancetoscore v] to (distance to [score v])\ngo to [front v] layer\nrepeat (5)\n    create clone of (_myself_ v)\n    wait (0.05) seconds\nend\n\nwhen I start as a clone\nset [color v] effect to (150)\nshow\nset size to (50) %\ngo to x: (StreamofCashX) y: (StreamOfCashY)\nrepeat (20)\n    change x by (7)\n    point towards (score v)\n    move ((DistanceToScore) / (20)) steps\nend\ndelete this clone\n\n@XP\n\nwhen I start as a clone\nshow\nset [myx v] to (([x position v] of [platforms v]) - (x position))\nrepeat until <(y position) < [-175]>\n    if <(YVelocityXP) > [-6]> then\n        change [yvelocityxp v] by (-0.2)\n    end\n    set [xvelocityxp v] to ((XVelocityXP) * (0.95))\n    change y by (YVelocityXP)\n    turn right (FruitTwistLocal) degrees\n    change [myx v] by (XVelocityXP)\n    set x to (([x position v] of [platforms v]) - (MyX))\n    if <(distance to [font v]) < [36]> then\n        glide (0.6) secs to x: (-100) y: (168)\n        start sound [xp-sound-minecraft v]\n        change [score v] by (100)\n        delete this clone\n    end\n    if <([abs v] of (x position) ) > [237]> then\n        delete this clone\n    end\nend\ndelete this clone\n\nwhen I receive [#releasethefruit v]\nset [#xp seconds left v] to [10]\nswitch costume to (frank-a v)\nclear graphic effects\npoint in direction (90)\ngo to x: (-237) y: (pick random (0) to (150))\nforever\n    set [fruittwistlocal v] to (pick random (-3) to (3))\n    set [xvelocityxp v] to (pick random (-16) to (-10))\n    set [yvelocityxp v] to [4.5]\n    create clone of (_myself_ v)\n    wait (0.1) seconds\n    if <(#XP seconds left) < [0]> then\n        broadcast (#ShowLevelTransition v)\n        stop [this script v]\n    end\n    switch costume to (frank-a v)\nend\n\nwait (0.2) seconds\ngo to x: (237) y: (pick random (60) to (150))\nset [fruittwistlocal v] to (pick random (-3) to (3))\nset [xvelocityxp v] to (pick random (-14) to (-10))\nset [yvelocityxp v] to [2]\nswitch costume to (((pick random (1) to (5)) * (3)) - (2))\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nset [#xp seconds left v] to [0]\nhide\n\nwhen I receive [levelup v]\nif <[1] = [1]> then\n    delete this clone\nend\nstop [other scripts in sprite v]\n\nwait (1) seconds\n\n@explosion\n\nwhen flag clicked\nhide\n\nwhen I receive [tnt_balst v]\nstop [other scripts in sprite v]\nset size to (100) %\nshow\ngo to [front v] layer\nswitch costume to (costume2 v)\nset y to (13)\nrepeat (30)\n    set x to (([x position v] of [platforms v]) - (370))\nend\nstart sound [boom v]\nset [localcount v] to [0]\nrepeat (25)\n    set x to (([x position v] of [platforms v]) - (370))\n    change [localcount v] by (1)\n    if <(LocalCount) = [5]> then\n        set [localcount v] to [0]\n        next costume\n    end\nend\nbroadcast (-TNTDestroyWall v)\nrepeat (20)\n    set x to (([x position v] of [platforms v]) - (370))\n    change [localcount v] by (1)\n    if <(LocalCount) = [5]> then\n        set [localcount v] to [0]\n        next costume\n    end\nend\nstop [other scripts in sprite v]\nhide\n\nhide\nwait (1) seconds\nwait until <([costume # v] of [crafting v]) = [11]>\nforever\n    go to x: (214) y: (119)\n    show\n    go to [front v] layer\n    next costume\n    set size to (20) %\n    wait (0.1) seconds\nend\n\n@crafting\n\ndefine StartLevelWithRightCostume\nwait (0.5) seconds\nswitch costume to (level 1 v)\nif <(Level) = [1]> then\n    switch costume to (level 1 v)\n    stop [this script v]\nend\nif <(Level) = [2]> then\n    switch costume to (level 2 v)\n    stop [this script v]\nend\nif <(Level) = [3]> then\n    switch costume to (3 v)\n    stop [this script v]\nend\nif <(Level) = [4]> then\n    switch costume to (level 4 v)\n    stop [this script v]\nend\n\nwhen I receive [start v]\nStartLevelWithRightCostume\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (level 1 v)\nset size to (100) %\nforever\n    if <(letter (1) of (costume [name v])) = [*]> then\n        set size to (100) %\n        repeat (10)\n            change size by (0.5)\n        end\n        repeat (10)\n            change size by (-0.5)\n        end\n    end\nend\n\nwhen I receive [nextcraftingstage v]\nnext costume\n\nwhen this sprite clicked\nbroadcast (#Crafting v)\n\nwhen [space v] key pressed\nbroadcast (#Crafting v)\n\nwhen I receive [#crafting v]\nif <(costume [number v]) = [5]> then\n    next costume\n    stop [this script v]\nend\nif <(costume [number v]) = [6]> then\n    if <([y position v] of [font v]) > [-10]> then\n        next costume\n        broadcast (-ShowLadder v)\n        stop [this script v]\n    else\n        broadcast (L1LadderPrompt v)\n    end\nend\nif <(costume [number v]) = [11]> then\n    next costume\n    set [holdingitem v] to [TNT]\nend\nif <(costume [number v]) = [22]> then\n    next costume\n    set [holdingitem v] to [BowAndArrow]\nend\n\nwhen I receive [levelup v]\nStartLevelWithRightCostume\n\nwhen I receive [joycrafting v]\nbroadcast (#Crafting v)\n\nwhen I receive [restartlevel v]\nStartLevelWithRightCostume\n\nwhen I receive [#crafting v]\nstart sound [Chop v]\nbroadcast (#ACTION v)\n\nwhen I receive [tnt_balst v]\nset [holdingitem v] to [Nothing]\nnext costume\n\nstop [this script v]\n\nwhen flag clicked\nforever\n    say (timer)\nend\n\n@Snow etc\n\nwhen I receive [start v]\nhide\nforever\n    repeat until <not <(Level) = [1]>>\n        set [myx v] to (([x position v] of [platforms v]) + (-235))\n        set y to (pick random (80) to (150))\n        set [ghost v] effect to (5)\n        switch costume to (costume1 v)\n        set size to (100) %\n        create clone of (_myself_ v)\n        wait ((pick random (1) to (10)) / (5)) seconds\n    end\n    repeat until <not <(Level) = [2]>>\n        set y to (180)\n        set [ghost v] effect to (5)\n        switch costume to (snowflake v)\n        set size to (200) %\n        set [myx v] to (([x position v] of [platforms v]) + (pick random (-250) to (319)))\n        create clone of (_myself_ v)\n        wait (0.5) seconds\n    end\n    repeat until <not <(Level) = [4]>>\n        set [myx v] to (([x position v] of [platforms v]) + (-235))\n        set y to (pick random (80) to (150))\n        set [ghost v] effect to (5)\n        switch costume to (costume1 v)\n        set size to (100) %\n        create clone of (_myself_ v)\n        wait ((pick random (1) to (10)) / (5)) seconds\n    end\n    repeat until <not <(Level) = [3]>>\n        set y to (pick random (140) to (175))\n        clear graphic effects\n        set size to (100) %\n        switch costume to (shooting star2 v)\n        set [myx v] to (([x position v] of [platforms v]) + (pick random (0) to (320)))\n        create clone of (_myself_ v)\n        wait (pick random (1) to (16)) seconds\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nset [-y v] to (pick random (-15) to (15))\nshow\nif <<(Level) = [1]> or <(Level) = [4]>> then\n    repeat until <(x position) < [-235]>\n        set x to (([x position v] of [platforms v]) - (MyX))\n        if <(costume [number v]) = [2]> then\n            switch costume to (costume1 v)\n        else\n            switch costume to (costume2 v)\n        end\n        if <not <(x position) = (([x position v] of [platforms v]) - (MyX))>> then\n            delete this clone\n        end\n        change [myx v] by (3)\n        change y by ((pick random (-1) to (1)) / (3))\n    end\n    delete this clone\nend\nif <(Level) = [2]> then\n    repeat until <(y position) < [-170]>\n        turn right (-y) degrees\n        change y by (-3)\n        set x to (([x position v] of [platforms v]) - (MyX))\n        if <not <(x position) = (([x position v] of [platforms v]) - (MyX))>> then\n            delete this clone\n        end\n        change [myx v] by (1)\n    end\n    delete this clone\nend\nif <(Level) = [3]> then\n    repeat until <(y position) < [-170]>\n        change y by (-1)\n        set x to (([x position v] of [platforms v]) - (MyX))\n        change [ghost v] effect by (1)\n        if <not <(x position) = (([x position v] of [platforms v]) - (MyX))>> then\n            delete this clone\n        end\n        change [myx v] by (-8)\n    end\n    delete this clone\nend\n\n@Blaze\n\nwhen I receive [start v]\nforever\n    if <touching (holding v)?> then\n        if <(HoldingItem) = [Water]> then\n            start sound [Splash v]\n            set [holdingitem v] to [EmptyWater]\n            if <(y position) < [0]> then\n                set [zombiex2 v] to [-450]\n                set y to (27)\n                broadcast (UpperBlazePath v)\n            else\n                stop [other scripts in sprite v]\n                hide\n            end\n        end\n    else\n        if <touching (hero v)?> then\n            broadcast (BombHit v)\n            broadcast (RestartLevel v)\n            start sound [Low Whoosh v]\n        end\n    end\nend\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [levelup v]\nPositionZombie\n\nwhen I receive [start v]\nPositionZombie\n\nwhen flag clicked\nhide\n\nwhen I receive [restartlevel v]\nPositionZombie\n\ndefine PositionZombie\nhide\nclear graphic effects\nif <(Level) = [3]> then\n    set [zombiex2 v] to [80]\n    broadcast (UpperBlazePath v)\n    set y to (-107)\n    show\n    forever\n        repeat (2)\n            set x to (([x position v] of [platforms v]) - (ZombieX2))\n            if <(x position) = (([x position v] of [platforms v]) - (ZombieX2))> then\n                show\n            else\n                hide\n            end\n        end\n        next costume\n    end\nend\n\nwhen I receive [upperblazepath v]\nforever\n    repeat (100)\n        change [zombiex2 v] by (1)\n        point in direction (90)\n    end\n    repeat (100)\n        change [zombiex2 v] by (-1)\n        point in direction (-90)\n    end\nend\n\n@Zombie1\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [levelup v]\nbroadcast (LocalZombie v)\n\nwhen I receive [start v]\nif <(Level) = [1]> then\n    set [zombiex v] to [145]\nend\nbroadcast (LocalZombie v)\ngo to [front v] layer\nset y to (-120)\nforever\n    if <touching (holding v)?> then\n        start sound [explodes v]\n        switch costume to (hit v)\n        if <(y position) < [0]> then\n            if <(Level) = [1]> then\n                set [zombiex v] to [-50]\n            end\n            if <(Level) = [????]> then\n                set [zombiex v] to [0]\n            end\n            stop [other scripts in sprite v]\n            repeat (3)\n                next costume\n                wait (0.1) seconds\n            end\n            hide\n            set y to (83)\n            broadcast (LocalZombie v)\n        else\n            stop [other scripts in sprite v]\n            repeat (3)\n                change x by (-3)\n                next costume\n                wait (0.1) seconds\n            end\n            hide\n            stop [this script v]\n        end\n    else\n        if <touching (hero v)?> then\n            broadcast (BombHit v)\n            broadcast (RestartLevel v)\n            start sound [mine v]\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [restartlevel v]\nbroadcast (LocalZombie v)\n\nwhen I receive [zombiecostume v]\nforever\n    repeat (5)\n        wait (0.1) seconds\n        switch costume to (vtinyz16 v)\n        change [zombiex v] by (-3)\n        wait (0.1) seconds\n        switch costume to (right v)\n        change [zombiex v] by (-3)\n        wait (0.1) seconds\n        switch costume to (vtinyz18 v)\n        change [zombiex v] by (-3)\n        wait (0.1) seconds\n        switch costume to (right v)\n        change [zombiex v] by (-3)\n    end\n    repeat (8)\n        next costume\n    end\n    wait (0.1) seconds\n    switch costume to (vtinyz2 v)\n    change [zombiex v] by (3)\n    repeat (5)\n        wait (0.1) seconds\n        switch costume to (vtinyz3 v)\n        change [zombiex v] by (3)\n        wait (0.1) seconds\n        switch costume to (left v)\n        change [zombiex v] by (3)\n        wait (0.1) seconds\n        switch costume to (vtinyz5 v)\n        change [zombiex v] by (3)\n        wait (0.1) seconds\n        switch costume to (left v)\n        change [zombiex v] by (3)\n    end\n    repeat (8)\n        next costume\n    end\nend\n\nif <(Level) = [3]> then\n    set [brightness v] effect to (10)\n    set [color v] effect to (130)\n    set [zombiex v] to [200]\n    broadcast (ZombieCostume v)\n    set y to (-124)\n    show\n    forever\n        set x to (([x position v] of [platforms v]) - (ZombieX))\n    end\nend\n\nwhen I receive [localzombie v]\nhide\nclear graphic effects\nbroadcast (ZombieCostume v)\nif <(Level) = [1]> then\n    forever\n        set x to (([x position v] of [platforms v]) - (ZombieX))\n        if <(x position) = (([x position v] of [platforms v]) - (ZombieX))> then\n            show\n        else\n            hide\n        end\n    end\nend\n\n@MovingPlatforms\n\nwhen I receive [start v]\nswitch costume to (blank v)\ngo to [front v] layer\nset size to (400) %\nswitch costume to (slidersset1 v)\ngo to x: (650) y: (-570)\nhide\nwait until <(Level) = [4]>\nshow\ncreate clone of (_myself_ v)\nforever\n    set [airplatformx v] to [-25]\n    repeat (50)\n        change [airplatformx v] by (1)\n        set x to (([x position v] of [platforms v]) + (AirPlatformX))\n        if <(x position) = (([x position v] of [platforms v]) + (AirPlatformX))> then\n            show\n        else\n            hide\n        end\n        if <touching (controller! v)?> then\n            broadcast (PlatformGoingRight v)\n        end\n    end\n    repeat (50)\n        change [airplatformx v] by (-1)\n        set x to (([x position v] of [platforms v]) + (AirPlatformX))\n        if <(x position) = (([x position v] of [platforms v]) + (AirPlatformX))> then\n            show\n        else\n            hide\n        end\n        if <touching (controller! v)?> then\n            broadcast (PlatformGoingLeft v)\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nbroadcast (PlatformLeft v)\nbroadcast (PlatformRight v)\n\nwhen I start as a clone\nswitch costume to (slidersset2 v)\nforever\n    repeat (50)\n        set x to (([x position v] of [platforms v]) - (AirPlatformX))\n        if <(x position) = (([x position v] of [platforms v]) - (AirPlatformX))> then\n            show\n            if <touching (controller! v)?> then\n                broadcast (PlatformGoingLeft v)\n            end\n        else\n            hide\n        end\n    end\n    repeat (50)\n        set x to (([x position v] of [platforms v]) - (AirPlatformX))\n        if <(x position) = (([x position v] of [platforms v]) - (AirPlatformX))> then\n            show\n            if <touching (controller! v)?> then\n                broadcast (PlatformGoingRight v)\n            end\n        else\n            hide\n        end\n    end\nend\n\nif <touching (controller! v)?> then\n    broadcast (PlatformGoingLeft v)\nend\n\n@Score\n\nwhen I receive [deletemyball v]\nset size to (215) %\nset [color v] effect to (-25)\nwait (1) seconds\nset size to (190) %\nclear graphic effects\n\nwhen I receive [dollarcollected v]\n\nbroadcast (DollarCollected v)\n\nwhen I start as a clone\nshow\nforever\n    switch costume to (10 v)\n    switch costume to (letter ((length of (Score)) - (Numeral)) of (Score))\nend\n\nwhen I receive [start v]\nhide\nswitch costume to (0 v)\nwait (0.3) seconds\nset size to (60) %\ngo to x: (-90) y: (160)\nset [numeral v] to [0]\ngo to [front v] layer\nrepeat (5)\n    wait (0) seconds\n    create clone of (_myself_ v)\n    change x by (-15)\n    change [numeral v] by (1)\nend\nswitch costume to (score v)\nshow\nset size to (60) %\nwait (0.1) seconds\ngo to [front v] layer\n\nrepeat (2)\nend\n\nset size to (215) %\nset [color v] effect to (-25)\nwait (1) seconds\nset size to (190) %\nclear graphic effects\n\nwhen flag clicked\nset [brightness v] effect to (100)\nset [score v] to [0]\nhide\n\n@Score2\n\nwhen I receive [start v]\nhide\nset size to (40) %\ngo to x: (-150) y: (140)\nset [numeral v] to [0]\nwait (0.5) seconds\ngo to [front v] layer\nrepeat (5)\n    create clone of (_myself_ v)\n    change x by (-10)\n    change [numeral v] by (1)\nend\nswitch costume to (score v)\nshow\n\nwhen I start as a clone\nshow\nswitch costume to (0 v)\nforever\n    if <(☁ #BestScore) > (ReadHighScore)> then\n        set [readhighscore v] to (☁ #BestScore)\n    end\n    switch costume to (10 v)\n    switch costume to (letter ((length of (ReadHighScore)) - (Numeral)) of (ReadHighScore))\n    wait (1) seconds\n    if <(Score) > (ReadHighScore)> then\n        set [☁ #bestscore v] to (Score)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nset [brightness v] effect to (100)\nhide\n\nif <(username) = [atomicmagicnumber]> then\n\n@CloudScore\n\nwhen I receive [saddlehorse v]\nswitch costume to (horse v)\nwait until <touching (piston v)?>\nbroadcast (Dismount v)\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\n\nwhen [up arrow v] key pressed\nJump\n\ngo to x: (-19) y: (-126)\n\nwhen [w v] key pressed\nJump\n\nwhen I receive [positioncontrolcharacter v]\ngo to x: (-19) y: (-109)\nswitch costume to (normal v)\n\nwhen I receive [restartlevel v]\nbroadcast (PositionControlCharacter v)\n\nwhen flag clicked\nhide\nset [ghost v] effect to (99)\ngo to x: (-210) y: (50)\n\nwhen I receive [levelup v]\nif <(Mode) = [Hardcore]> then\n    repeat (5)\n        set y to (-109)\n    end\nend\nbroadcast (PositionControlCharacter v)\n\nwhen I receive [holding v]\nif <(HoldingItem) = [Horse]> then\n    switch costume to (horse v)\nend\n\nshow\n\ndefine Jump\nchange y by (-1)\nif <<touching (platforms v)?> or <<touching (mineblocks v)?> or <touching (movingplatforms v)?>>> then\n    set [yvelocity v] to (MaxYJump)\nend\nchange y by (1)\n\nwhen I receive [dismount v]\nswitch costume to (normal v)\n\ndefine Gravity\nif <(YVelocity) < [0]> then\n    if <not <<touching (platforms v)?> or <<touching (mineblocks v)?> or <touching (movingplatforms v)?>>>> then\n        change y by (-1)\n    end\nend\n\ndefine GoingUp\nchange y by (1)\nif <not <<touching (<touching (platforms v)?> v)?> or <touching (movingplatforms v)?>>> then\n    change y by (1)\nend\nif <<touching (platforms v)?> or <touching (movingplatforms v)?>> then\n    change y by (-1)\n    set [yvelocity v] to [0]\nend\n\nset [yvelocity v] to [0]\n\nchange y by (-1)\n\ndefine LadderCheck\nif <<touching (ladders v)?> and <<([costume name v] of [joystick v]) = [N]> or <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <([costume name v] of [joystick v]) = [Action]>>>> then\n    if <<(y position) < [45]> and <(Level) = [1]>> then\n        glide (1) secs to x: (x position) y: (100)\n        set [yvelocity v] to [0]\n    end\nend\nif <<touching (ladders v)?> and <<([costume name v] of [joystick v]) = [Action]> or <<key (s v) pressed?> or <key (down arrow v) pressed?>>>> then\n    if <<(y position) > [45]> and <(Level) = [1]>> then\n        glide (1) secs to x: (x position) y: (3)\n        set [yvelocity v] to [0]\n    end\nend\n\nwait (0.2) seconds\n\nwait (0.1) seconds\n\nwhen I receive [start v]\ngo to x: (-19) y: (-109)\nswitch costume to (normal v)\nset [yvelocity v] to [0]\nset [xvelocity v] to [0]\nbroadcast (PositionControlCharacter v)\nbroadcast (Walk v)\nclear graphic effects\nset [ghost v] effect to (99)\nshow\nforever\n    switch costume to (normal v)\n    change [yvelocity v] by (-0.5)\n    LadderCheck\n    if <(YVelocity) < [0]> then\n        switch costume to (goingdown v)\n        Gravity\n        if <(YVelocity) < [-1]> then\n            Gravity\n            if <(YVelocity) < [-2]> then\n                Gravity\n                if <(YVelocity) < [-3]> then\n                    Gravity\n                    if <(YVelocity) < [-4]> then\n                        Gravity\n                    end\n                end\n            end\n        end\n    end\n    if <(y position) < [-125]> then\n        start sound [Mine v]\n        broadcast (RestartLevel v)\n    end\n    if <(YVelocity) > [1]> then\n        switch costume to (goingup v)\n        GoingUp\n        if <(YVelocity) > [2]> then\n            GoingUp\n            if <(YVelocity) > [3]> then\n                GoingUp\n                if <(YVelocity) > [4]> then\n                    GoingUp\n                    if <(YVelocity) > [5]> then\n                        GoingUp\n                    end\n                end\n            end\n        end\n    end\nend\n\nsay [Ow]\n\nsay [Ouch!] for (2) seconds\n\ngo to x: (-19) y: (-109)\n\nwhen I receive [jump v]\nJump\n\n@Timer\n\nwhen I start as a clone\nshow\nforever\n    switch costume to (10 v)\n    switch costume to (letter ((length of (#XP seconds left)) - (Numeral)) of (#XP seconds left))\n    if <(#XP seconds left) > [0]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [#releasethefruit v]\nset [#xp seconds left v] to [16]\nif <[1] = [1]> then\n    delete this clone\nend\nhide\nswitch costume to (0 v)\nwait (0.5) seconds\nset size to (50) %\ngo to x: (-147) y: (120)\nset [numeral v] to [0]\nrepeat (2)\n    wait (0) seconds\n    create clone of (_myself_ v)\n    change x by (-13)\n    change [numeral v] by (1)\nend\nswitch costume to (score v)\nshow\nforever\n    go to [front v] layer\n    change [#xp seconds left v] by (-1)\n    if <(#XP seconds left) = [0]> then\n        if <(Level) = [4]> then\n            hide\n            broadcast (gameover v)\n            stop [other scripts in sprite v]\n            stop [this script v]\n        end\n        broadcast (#ShowLevelTransition v)\n    end\n    if <(#XP seconds left) > [0]> then\n        show\n    else\n        hide\n    end\n    wait (1) seconds\nend\n\nwhen flag clicked\nset [brightness v] effect to (100)\nhide\n\n@MobB\n\nwhen I receive [start v]\nwait until <(Level) = [4]>\nforever\n    if <touching (arrow v)?> then\n        start sound [Squawk v]\n        if <(y position) > [-10]> then\n            set [mobbx v] to [-800]\n            set y to (-80)\n            broadcast (MobBPath v)\n        else\n            stop [other scripts in sprite v]\n            hide\n        end\n    else\n        if <touching (hero v)?> then\n            broadcast (BombHit v)\n            broadcast (RestartLevel v)\n            start sound [Seagulls v]\n        end\n    end\nend\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [levelup v]\nPositionZombie\n\nwhen I receive [start v]\nPositionZombie\n\nwhen flag clicked\nhide\n\nwhen I receive [restartlevel v]\nPositionZombie\n\ndefine PositionZombie\nhide\nclear graphic effects\nif <(Level) = [4]> then\n    set [mobbx v] to [-600]\n    broadcast (MobBPath v)\n    set y to (0)\n    show\n    forever\n        repeat (2)\n            set x to (([x position v] of [platforms v]) - (MobBX))\n            if <(x position) = (([x position v] of [platforms v]) - (MobBX))> then\n                show\n            else\n                hide\n            end\n        end\n        next costume\n    end\nend\n\nwhen I receive [mobbpath v]\nforever\n    repeat (100)\n        change [mobbx v] by (2)\n        point in direction (90)\n    end\n    repeat (100)\n        change [mobbx v] by (-2)\n        point in direction (-90)\n    end\nend\n\n@HOLDING\n\nwhen I receive [gameover v]\nstop [other scripts in sprite v]\nhide\ngo to x: (-500) y: (-500)\nif <[1] = [1]> then\n    delete this clone\nend\nstop [this script v]\n\nwhen flag clicked\nset [holdingitem v] to [Nothing]\nhide\n\nwhen I receive [levelup v]\ngo to x: (500) y: (500)\nhide\n\nwhen I receive [#crafting v]\n\nif <(Level) = [3]> then\n    if <(x position) < [-158]> then\n        broadcast (Level3Mining v)\n    else\n        if <([costume # v] of [crafting v]) < [17]> then\n            say [Go left to mine.] for (4) seconds\n        end\n    end\nend\nif <(Level) = [4]> then\n    if <<<(x position) > [-140]> and <(x position) < [-70]>> and <<(y position) > [-20]> and <(y position) < [-10]>>> then\n        broadcast (L4Mining v)\n    else\n        if <([costume # v] of [crafting v]) < [17]> then\n            say [Go left to mine.] for (4) seconds\n        end\n    end\nend\n\nwhen I receive [#crafting v]\ngo to [front v] layer\nif <<(costume [number v]) = [1]> or <(costume [number v]) = [2]>> then\n    switch costume to (pickaxe v)\n    wait (0.2) seconds\n    switch costume to (pickaxe2 v)\nend\nif <(costume [number v]) = [6]> then\n    if <<([x position v] of [platforms v]) > [226]> and <<([x position v] of [platforms v]) < [360]> and <(y position) > [0]>>> then\n        broadcast (TNT_Balst v)\n    end\nend\nif <(costume [number v]) = [9]> then\n    create clone of (arrow v)\nend\n\nwhen I receive [start v]\ngo to [front v] layer\nforever\n    show\n    switch costume to (HoldingItem)\n    go to (hero v)\n    point in direction ([direction v] of [hero v])\n    if <(HoldingItem) = [BowAndArrow]> then\n        set rotation style [all around v]\n        change y by (-10)\n        if <(direction) = [90]> then\n            turn right ([costume # v] of [hero v]) degrees\n        else\n            turn right ([costume # v] of [hero v]) degrees\n        end\n    else\n        go to [front v] layer\n        if <<(HoldingItem) = [TNT]> or <<(HoldingItem) = [Water]> or <(HoldingItem) = [EmptyWater]>>> then\n            set rotation style [left-right v]\n        else\n            if <(direction) = [90]> then\n            turn right ([costume # v] of [hero v]) degrees\n        end\n    end\nend\n\nwhen I receive [localpixaxe v]\nforever\n    switch costume to (pickaxe v)\n    wait (0.2) seconds\n    switch costume to (pickaxe2 v)\n    wait (0.2) seconds\nend\n\nwhen I receive [madesaddle v]\nset [holdingitem v] to [Saddle]\nswitch costume to (saddle v)\n\nwhen I receive [saddlehorse v]\nhide\n\nwhen I receive [restartlevel v]\nset [holdingitem v] to [Nothing]\ngo to x: (500) y: (500)\n\n@Arrow\n\nwhen I start as a clone\nshow\ngo to (holding v)\nif <([direction v] of [holding v]) < [0]> then\n    point in direction (-90)\nelse\n    point in direction (90)\nend\nrepeat until <touching (_edge_ v)?>\n    if <(direction) = [90]> then\n        change x by (10)\n    else\n        change x by (-10)\n    end\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\n@Start End screens\n\nwhen I receive [showmodeoptions v]\nswitch costume to (explosion v)\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [gameover v]\nwait (0.1) seconds\nset size to (100) %\nswitch costume to (explosion v)\ngo to [front v] layer\nshow\ngo to x: (0) y: (0)\ncreate clone of (_myself_ v)\nswitch costume to (bigblock v)\nshow\ngo to [front v] layer\nclear graphic effects\nset size to (100) %\nbroadcast (gamemusic v)\ngo to x: (0) y: (0)\nwait (1) seconds\nbroadcast (LaunchMinecraftVictory v)\n\nglide (1) secs to x: (0) y: (0)\n\nwhen [9 v] key pressed\nif <mouse down?> then\n    show\n    stop [other scripts in sprite v]\n    switch costume to (thumb v)\nend\n\nwhen flag clicked\nset size to (100) %\nswitch costume to (explosion v)\ngo to [front v] layer\nshow\ngo to x: (0) y: (0)\ncreate clone of (_myself_ v)\nswitch costume to (bigblock v)\nshow\ngo to [front v] layer\nclear graphic effects\nset size to (100) %\nbroadcast (gamemusic v)\ngo to x: (0) y: (0)\nwait (1) seconds\nbroadcast (LaunchMinecraftSign v)\n\nwhen I receive [movelogoforinstructions v]\nif <(costume [number v]) = [2]> then\n    repeat (33)\n        change [ghost v] effect by (3)\n    end\n    switch costume to (instructions v)\n    go to x: (0) y: (0)\n    set size to (100) %\n    repeat (33)\n        change [ghost v] effect by (-3)\n    end\n    clear graphic effects\n    create clone of (_myself_ v)\n    broadcast (ShowPlayButton v)\nend\n\nwhen I start as a clone\nif <(costume [name v]) = [Instructions]> then\n    wait (0.5) seconds\n    set [ghost v] effect to (100)\n    switch costume to (instructions3 v)\n    repeat (33)\n        change [ghost v] effect by (-3)\n    end\n    clear graphic effects\nend\n\nwhen I receive [start v]\nhide\n\nwhen I receive [start v]\nhide\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [restartlevel v]\nif <(Mode) = [Hardcore]> then\n    broadcast (gameover v)\n    stop [other scripts in sprite v]\n    switch costume to (explosion v)\n    go to x: (0) y: (0)\n    go to [front v] layer\n    show\n    broadcast (Hardcore Death v)\nend\n\nwhen I receive [training level complete v]\nif <(Mode) = [Trainer]> then\n    broadcast (gameover v)\n    stop [other scripts in sprite v]\n    switch costume to (explosion v)\n    go to x: (0) y: (0)\n    go to [front v] layer\n    show\n    broadcast (ShowTrainingLevelComplete v)\nend\n\nwhen I receive [levelup v]\nif <(Mode) = [Trainer]> then\n    broadcast (gameover v)\n    stop [other scripts in sprite v]\n    switch costume to (explosion v)\n    go to x: (0) y: (0)\n    go to [front v] layer\n    show\n    broadcast (ShowTrainingLevelComplete v)\nend\n\n@minecraft\n\nwhen I receive [showmodeoptions v]\nhide\ndelete this clone\n\nwhen I receive [movelogoforinstructions v]\nrepeat (33)\n    change y by (3)\nend\n\nwhen I receive [instructionspage v]\nrepeat (40)\n    change size by (-1)\n    change y by (1.5)\nend\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nset size to (80) %\ngo to x: (0) y: (-300)\ngo to [front v] layer\nswitch costume to (platformer v)\nshow\nglide (1) secs to x: (0) y: (50)\nbroadcast (Bump v)\nwait (0.1) seconds\nbroadcast (ShowEpisode v)\n\nwhen I receive [bump v]\nif <(costume [number v]) = [1]> then\n    set [bump v] to [5]\n    repeat (11)\n        change y by (Bump)\n        change [bump v] by (-1)\n    end\nend\n\nif <(costume [number v]) = [1]> then\n    set [bump v] to [7]\n    repeat (5)\n        change x by ((0) - (Bump))\n        change [bump v] by (-1)\n    end\nelse\n    set [bump v] to [7]\n    repeat (5)\n        change x by ((0) - (Bump))\n        change [bump v] by (-1)\n    end\nend\n\nwhen I receive [launchminecraftsign v]\nswitch costume to (minecraft v)\nwait (0.4) seconds\ngo to x: (0) y: (300)\nset size to (80) %\ngo to [front v] layer\nshow\nglide (1) secs to x: (0) y: (50)\ncreate clone of (_myself_ v)\n\nwhen I receive [start v]\nhide\ndelete this clone\n\nwhen I receive [gameover v]\nhide\n\nwhen I receive [nudgelogoleft v]\nchange x by (-15)\n\nhide\ndelete this clone\n\n@Episode 2\n\nwhen flag clicked\nset size to (100) %\nhide\n\nwhen I receive [showepisode v]\nhide\nwait (0.6) seconds\nset size to (200) %\nclear graphic effects\ngo to [front v] layer\ngo to x: (600) y: (00)\nshow\nglide (0.5) secs to x: (260) y: (0)\nbroadcast (NudgeLogoLeft v)\nglide (0.4) secs to x: (280) y: (0)\nglide (0.3) secs to x: (240) y: (0)\nbroadcast (NudgeLogoLeft v)\nglide (0.2) secs to x: (260) y: (0)\nglide (0.2) secs to x: (220) y: (0)\nbroadcast (NudgeLogoLeft v)\nwait (0.3) seconds\nbroadcast (MoveLogoForInstructions v)\n\nwhen I receive [movelogoforinstructions v]\nrepeat (33)\n    change y by (3)\nend\n\nwhen I receive [fadeoutinstructions v]\nbroadcast (Start v)\nhide\n\nwhen I receive [gameover v]\nif <[1] = [1]> then\n    delete this clone\nend\nwait (3) seconds\nset size to (170) %\nshow\nclear graphic effects\ngo to x: (-300) y: (130)\nswitch costume to (centre2 v)\nglide (0.9) secs to x: (182) y: (130)\n\nwhen I receive [showmodeoptions v]\nhide\n\nwhen I receive [start v]\nhide\n\n@Sprite2\n\nwhen flag clicked\nhide\ngo to x: (0) y: (-400)\n\nwhen I receive [showplaybutton v]\nwait (1.5) seconds\nshow\nset size to (50) %\ngo to [front v] layer\nshow\ngo to x: (0) y: (-450)\nglide (0.8) secs to x: (0) y: (-80)\nforever\n    repeat (10)\n        change size by (0.2)\n        if <<<touching (mouse-pointer v)?> and <mouse down?>> or <key (space v) pressed?>> then\n            broadcast (ShowModeOptions v)\n            hide\n            stop [this script v]\n        end\n    end\n    repeat (10)\n        change size by (-0.2)\n        if <<<touching (mouse-pointer v)?> and <mouse down?>> or <key (space v) pressed?>> then\n            broadcast (ShowModeOptions v)\n            hide\n            stop [this script v]\n        end\n    end\nend\n\nwhen I receive [start v]\ndelete this clone\n\n@gAMEPLAYsELECTION\n\nwhen I receive [showmodeoptions v]\nhide\ngo to x: (0) y: (0)\nswitch costume to (normal v)\nset [clickable v] to [Yes]\nrepeat (6)\n    create clone of (_myself_ v)\n    next costume\nend\n\nwhen flag clicked\nhide\nset size to (100) %\n\nwhen I start as a clone\ngo to [front v] layer\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        start sound [249615__vincentm400__confirm v]\n        repeat until <not <touching (mouse-pointer v)?>>\n            repeat (7)\n                change size by (0.5)\n            end\n            repeat (7)\n                change size by (-0.5)\n            end\n        end\n    end\nend\n\nwhen this sprite clicked\nif <(Clickable) = [Yes]> then\n    reset timer\n    set [clickable v] to [No]\n    set [mode v] to [Normal]\n    if <(costume [number v]) = [1]> then\n        set [level v] to [1]\n    end\n    if <(costume [number v]) = [2]> then\n        set [level v] to [1]\n        set [mode v] to [Hardcore]\n    end\n    if <(costume [number v]) = [3]> then\n        set [level v] to [1]\n        set [mode v] to [Trainer]\n    end\n    if <(costume [number v]) = [4]> then\n        set [level v] to [2]\n        set [mode v] to [Trainer]\n    end\n    if <(costume [number v]) = [5]> then\n        set [level v] to [3]\n        set [mode v] to [Trainer]\n    end\n    if <(costume [number v]) = [6]> then\n        set [level v] to [4]\n        set [mode v] to [Trainer]\n    end\n    stop [other scripts in sprite v]\n    broadcast (Start v)\n    delete this clone\nend\n\nwhen I receive [start v]\nhide\ndelete this clone\n\nwhen I receive [hardcore death v]\nset [clickable v] to [No]\nswitch costume to (hardcore v)\ngo to x: (-170) y: (-80)\nset size to (1) %\nshow\nrepeat (30)\n    go to [front v] layer\n    change size by (5)\nend\n\nwhen I receive [showtraininglevelcomplete v]\nset [clickable v] to [No]\nwait (0.1) seconds\nset size to (300) %\nchange [level v] by (0)\nif <(Level) = [1]> then\n    switch costume to (earth v)\n    go to x: (525) y: (600)\nend\nif <(Level) = [2]> then\n    switch costume to (ice v)\n    go to x: (200) y: (600)\nend\nif <(Level) = [3]> then\n    switch costume to (fire v)\n    go to x: (-175) y: (600)\nend\nif <(Level) = [4]> then\n    switch costume to (air v)\n    go to x: (-525) y: (600)\nend\nshow\ngo to [front v] layer\nglide (1) secs to x: (x position) y: (350)\nbroadcast (ShowBestTimes v)\n\n@ShowLevel\n\nwhen I receive [start v]\nset y to (0)\nforever\n    if <(Level) = [3]> then\n        set x to ((([x position v] of [platforms v]) * (1.5)) - (1000))\n        if <(x position) = ((([x position v] of [platforms v]) * (1.5)) - (1000))> then\n            switch costume to (Level)\n            show\n        else\n            hide\n        end\n    else\n        set x to ((([x position v] of [platforms v]) * (1.5)) - (1111))\n        if <(x position) = ((([x position v] of [platforms v]) * (1.5)) - (1111))> then\n            switch costume to (Level)\n            show\n        else\n            hide\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [gameover v]\nhide\nstop [this script v]\n\nthink [Hmm...] for (2) seconds\n\n@Sprite1\n\nwhen I receive [hardcore death v]\nshow\nswitch costume to (hardcore v)\ngo to x: (0) y: (-120)\nset size to (1) %\nrepeat (20)\n    go to [front v] layer\n    change size by (5)\nend\n\nbroadcast (Training level complete v)\n\nwhen flag clicked\nhide\n\nwhen I receive [showtraininglevelcomplete v]\n\nshow\nswitch costume to (trainin v)\ngo to x: (0) y: (-120)\nset size to (1) %\nrepeat (20)\n    go to [front v] layer\n    change size by (5)\nend\n\ngo to [front v] layer\n\nif <[] = [50]> then\n\n@minecraft font\n\nwhen I start as a clone\nset [digitx v] to (x position)\nset [digity v] to (y position)\nif <(y position) > [160]> then\n    show\n    go to [front v] layer\n    show\n    go to [front v] layer\n    glide (0.5) secs to x: (x position) y: (LineHeight)\n    show\n    go to [front v] layer\n    glide (0.25) secs to x: (x position) y: ((LineHeight) + (50))\n    show\n    go to [front v] layer\n    glide (0.25) secs to x: (x position) y: (LineHeight)\n    show\n    go to [front v] layer\n    glide (0.1) secs to x: (x position) y: ((LineHeight) + (20))\n    show\n    go to [front v] layer\n    glide (0.1) secs to x: (x position) y: (LineHeight)\n    set [digitclonenumber v] to [0]\n    wait (1) seconds\n    repeat (5)\n        wait (0) seconds\n        create clone of (_myself_ v)\n        change x by (-1)\n        change y by (1)\n        change [digitclonenumber v] by (1)\n    end\n    hide\nend\nwait (2) seconds\nbroadcast (3DTextRipple v)\nforever\n    change [color v] effect by (1)\nend\n\ngo to x: (DigitX) y: (DigitY)\npoint towards (textcentredot v)\nmove (DigitCloneNumber) steps\n\ndefine CapitalsCheck\nset [costumetoswitchto v] to (letter (WhichLetterToSwitchTo?) of (TextToShow))\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [A]> then\n    set [costumetoswitchto v] to [a]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [B]> then\n    set [costumetoswitchto v] to [b]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [C]> then\n    set [costumetoswitchto v] to [c]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [D]> then\n    set [costumetoswitchto v] to [d]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [E]> then\n    set [costumetoswitchto v] to [e]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [F]> then\n    set [costumetoswitchto v] to [f]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [G]> then\n    set [costumetoswitchto v] to [g]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [H]> then\n    set [costumetoswitchto v] to [h]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [I]> then\n    set [costumetoswitchto v] to [i]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [J]> then\n    set [costumetoswitchto v] to [j]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [K]> then\n    set [costumetoswitchto v] to [k]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [L]> then\n    set [costumetoswitchto v] to [l]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [M]> then\n    set [costumetoswitchto v] to [m]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [N]> then\n    set [costumetoswitchto v] to [n]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [O]> then\n    set [costumetoswitchto v] to [o]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [P]> then\n    set [costumetoswitchto v] to [p]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [Q]> then\n    set [costumetoswitchto v] to [q]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [R]> then\n    set [costumetoswitchto v] to [r]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [S]> then\n    set [costumetoswitchto v] to [s]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [T]> then\n    set [costumetoswitchto v] to [t]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [U]> then\n    set [costumetoswitchto v] to [u]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [V]> then\n    set [costumetoswitchto v] to [v]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [W]> then\n    set [costumetoswitchto v] to [w]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [X]> then\n    set [costumetoswitchto v] to [x]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [Y]> then\n    set [costumetoswitchto v] to [y]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [Z]> then\n    set [costumetoswitchto v] to [z]\nend\nif <(letter (WhichLetterToSwitchTo?) of (TextToShow)) = [ ]> then\n    set [costumetoswitchto v] to [space]\nend\n\ndefine ShowTextOnScreen\ngo to x: (0) y: (300)\nrepeat (length of (TextToShow))\n    change x by ((size) * (-0.1))\nend\nif <not <((length of (TextToShow)) / (2)) = (round (length of (TextToShow)))>> then\n    change x by ((size) * (0.1))\nend\nset [whichlettertoswitchto? v] to [1]\nstart sound [FunWin v]\nrepeat (length of (TextToShow))\n    switch costume to (  v)\n    CapitalsCheck\n    switch costume to (CostumeToSwitchTo)\n    if <not <(CostumeToSwitchTo) = [space]>> then\n        create clone of (_myself_ v)\n    end\n    change x by ((size) * (0.2))\n    wait (0.05) seconds\n    change [whichlettertoswitchto? v] by (1)\nend\nset [secondline? v] to [Yes]\ngo to x: (0) y: (300)\n\nwhen I receive [showbesttimes v]\nset [timetakenonlevel v] to (round (timer))\nset [timertexttosay v] to (join (TimeTakenOnLevel) [ seconds])\nif <(Level) = [1]> then\n    if <(TimeTakenOnLevel) < (☁ L1Time)> then\n        set [☁ l1time v] to (TimeTakenOnLevel)\n    end\n    set [wr v] to (☁ L1Time)\nend\nif <(Level) = [2]> then\n    if <(TimeTakenOnLevel) < (☁ L2Time)> then\n        set [☁ l2time v] to (TimeTakenOnLevel)\n    end\n    set [wr v] to (☁ L2Time)\nend\nif <(Level) = [3]> then\n    if <(TimeTakenOnLevel) < (☁ L3Time)> then\n        set [☁ l3time v] to (TimeTakenOnLevel)\n    end\n    set [wr v] to (☁ L3Time)\nend\nif <(Level) = [4]> then\n    if <(TimeTakenOnLevel) < (☁ L4Time)> then\n        set [☁ l4time v] to (TimeTakenOnLevel)\n    end\n    set [wr v] to (☁ L4Time)\nend\nbroadcast (ShowTheFont v)\n\nwhen I receive [showthefont v]\nhide\nclear graphic effects\nset [color v] effect to (-100)\ngo to [front v] layer\nset size to (130) %\nset [lineheight v] to [130]\nset [texttoshow v] to (join [WR ] (join (WR) [ seconds]))\nShowTextOnScreen\nset size to (120) %\nset [lineheight v] to [-120]\nset [texttoshow v] to (username)\nShowTextOnScreen\nset size to (140) %\nset [lineheight v] to [-160]\nset [texttoshow v] to (TimerTextToSay)\nShowTextOnScreen\n\nset [wr v] to (☁ L1Time)\n\nset [wr v] to (☁ L3Time)\n\nwhen I receive [launchminecraftvictory v]\nif <(Mode) = [Hardcore]> then\n    if <(TimeSoFar) < (☁ HardcoreTime)> then\n        set [☁ hardcoretime v] to (TimeSoFar)\n    end\n    set [wr v] to (☁ HardcoreTime)\n    set [timertexttosay v] to (join (TimeSoFar) [ seconds])\nend\nif <(Mode) = [Normal]> then\n    if <(TimeSoFar) < (☁ NormalTime)> then\n        set [☁ normaltime v] to (TimeSoFar)\n    end\n    set [wr v] to (☁ NormalTime)\n    set [timertexttosay v] to (join (TimeSoFar) [ seconds])\nend\nbroadcast (ShowTheFont v)\n\nset [☁ l1time v] to [60]\nset [☁ l2time v] to [60]\nset [☁ l3time v] to [60]\nset [☁ l4time v] to [60]\nset [☁ normaltime v] to [260]\nset [☁ hardcoretime v] to [260]\n\nwhen flag clicked\nhide\n\npoint towards (textcentredot v)\nmove (2) steps\n\nchange [digitclonenumber v] by (1)\n\ngo to x: (DigitX) y: (DigitY)\npoint towards (textcentredot v)\nmove (DigitCloneNumber) steps\nchange [color v] effect by (1)\n\nchange y by (10)\n\nset y to (DigitY)\n\nwait (0.1) seconds\n\nset [☁ #bestscore v] to [0]\nset [☁ l1time v] to [60]\nset [☁ l2time v] to [60]\nset [☁ l3time v] to [60]\nset [☁ l4time v] to [60]\nset [☁ normaltime v] to [300]\nset [☁ hardcoretime v] to [240]\n\n@hifive\n\nwhen I receive [showthefont v]\nif <(Mode) = [Trainer]> then\n    stop [this script v]\nend\nwait (10) seconds\ngo to [front v] layer\nswitch costume to (hifive2 v)\nshow\ngo to x: (8) y: (300)\nglide (1) secs to x: (8) y: (-30)\nforever\n    next costume\n    wait (0) seconds\nend\n\nwhen flag clicked\nhide\n\ngo to [front v] layer\n\nbroadcast (gameover v)\n\n@Final talking\n\nwhen I receive [showthefont v]\nif <(Mode) = [Trainer]> then\n    stop [this script v]\nend\nwait (13) seconds\nshow\nset x to (-30)\nset y to (10)\nif <(length of (username)) < [3]> then\n    set [username v] to [YOU]\nelse\n    set [username v] to (username)\nend\nsay (join [You beat ] (join (Mode) [ mode!])) for (4) seconds\nwait (3) seconds\nsay [High 5 time!] for (4) seconds\nwait (2) seconds\nsay (join (username) [ is the GREATEST!]) for (2) seconds\nforever\n    wait (2) seconds\n    say [How about a love, fav and FOLLOW?] for (5) seconds\n    wait (2) seconds\n    say (join (username) [ THRASHED episode 3!]) for (4) seconds\n    wait (2) seconds\n    say (join [Please be awesome ] (join (username) [ and follow me!])) for (4) seconds\n    wait (2) seconds\n    say [Still there?] for (2) seconds\n    wait (2) seconds\n    say [Ok...] for (2) seconds\n    wait (2) seconds\n    say [Free jokes coming up!] for (4) seconds\n    wait (2) seconds\n    set x to (-30)\n    say [Where do you search for lost spiders?] for (10) seconds\n    wait (0.5) seconds\n    set x to (30)\n    say [Websites] for (5) seconds\n    wait (2) seconds\n    set x to (-30)\n    say [Why was the computer annoyed?] for (10) seconds\n    wait (0.5) seconds\n    set x to (30)\n    say [It had a chip on its shoulder!] for (5) seconds\n    wait (2) seconds\n    set x to (-30)\n    say [What do tiny robots eat?] for (10) seconds\n    wait (0.5) seconds\n    set x to (30)\n    say [Microchips!] for (5) seconds\n    wait (2) seconds\n    set x to (-30)\n    say [Why did the computer cross the road?] for (10) seconds\n    wait (0.5) seconds\n    set x to (30)\n    say [To get a byte to eat!] for (5) seconds\n    wait (2) seconds\n    set x to (-30)\n    say [What did Steve say to his girlfriend?] for (10) seconds\n    set x to (30)\n    wait (0.5) seconds\n    say [I dig you!] for (5) seconds\nend\n\nwhen flag clicked\nhide\ngo to x: (10) y: (0)\n\nwait (13) seconds\n\ngo to [front v] layer\n\n@Font\n\nwhen I receive [gameover v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [start v]\nbroadcast (Walk v)\nbroadcast (PositionControlCharacter v)\nset [yvelocity v] to [0]\nset [xvelocity v] to [0]\nshow\nset [ghost v] effect to (99)\ngo to x: (-19) y: (-126)\nforever\n    set y to ([y position v] of [cloudscore v])\nend\n\nwhen I receive [positioncontrolcharacter v]\ngo to x: (-19) y: (-109)\nswitch costume to (normal v)\n\nwhen I receive [restartlevel v]\nbroadcast (PositionControlCharacter v)\n\nwhen flag clicked\nhide\ngo to x: (-210) y: (50)\nset [ghost v] effect to (99)\nset [maxyjump v] to [6]\nset [maxxvelocity v] to [4]\n\nwhen I receive [levelup v]\nbroadcast (PositionControlCharacter v)\n\nif <<touching (ladders v)?> and <<([costume name v] of [joystick v]) = [N]> or <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <([costume name v] of [joystick v]) = [Action]>>>> then\n    if <<(y position) < [45]> and <(Level) = [1]>> then\n        glide (1) secs to x: (x position) y: (100)\n        set [yvelocity v] to [0]\n    end\nend\nif <<touching (ladders v)?> and <<([costume name v] of [joystick v]) = [Action]> or <<key (s v) pressed?> or <key (down arrow v) pressed?>>>> then\n    if <<(y position) > [45]> and <(Level) = [1]>> then\n        glide (1) secs to x: (x position) y: (3)\n        set [yvelocity v] to [0]\n    end\nend\n\n@modeonly\n\nwhen I receive [launchminecraftvictory v]\ngo to x: (0) y: (0)\nif <(Mode) = [Hardcore]> then\n    switch costume to (hard v)\n    go to [front v] layer\n    show\nend\nif <(Mode) = [Normal]> then\n    switch costume to (norm v)\n    go to [front v] layer\n    show\nend\n\nwhen flag clicked\nhide\n\n@Joystick\n\nwhen I receive [start v]\nwait (0.1) seconds\ngo to x: (162) y: (-102)\nbroadcast (JoyMouseSenseDown v)\nforever\n    if <<mouse down?> and <(mouse y) < [30]>> then\n        point towards (mouse-pointer v)\n        if <<(direction) > [-23]> and <(direction) < [23]>> then\n            switch costume to (n v)\n            broadcast (Jump v)\n        end\n        if <<(direction) > [-68]> and <(direction) < [-23]>> then\n            switch costume to (nw v)\n            change [xvelocity v] by (1.2)\n            if <(XVelocity) > (MaxXVelocity)> then\n                set [xvelocity v] to (MaxXVelocity)\n            end\n            broadcast (HeroPointLeft v)\n            broadcast (Jump v)\n        end\n        if <<(direction) > [-140]> and <(direction) < [-68]>> then\n            switch costume to (w v)\n            broadcast (HeroPointLeft v)\n            change [xvelocity v] by (1.2)\n            if <(XVelocity) > (MaxXVelocity)> then\n                set [xvelocity v] to (MaxXVelocity)\n            end\n        end\n        if <<(direction) > [23]> and <(direction) < [68]>> then\n            switch costume to (ne v)\n            change [xvelocity v] by (-1.2)\n            if <(XVelocity) < ((0) - (MaxXVelocity))> then\n                set [xvelocity v] to ((0) - (MaxXVelocity))\n            end\n            broadcast (HeroPointRight v)\n            broadcast (Jump v)\n        end\n        if <<(direction) > [68]> and <(direction) < [140]>> then\n            broadcast (HeroPointRight v)\n            change [xvelocity v] by (-1.2)\n            if <(XVelocity) < ((0) - (MaxXVelocity))> then\n                set [xvelocity v] to ((0) - (MaxXVelocity))\n            end\n            switch costume to (e v)\n        end\n        if <<(direction) < [-140]> or <(direction) > [140]>> then\n            broadcast (#ACTION v) and wait\n            broadcast (#Crafting v)\n            switch costume to (action v)\n            wait (0.3) seconds\n        end\n    end\nend\n\nhide\n\nwhen I receive [joymousesensedown v]\nclear graphic effects\nforever\n    if <<mouse down?> and <(mouse y) < [30]>> then\n        show\n        go to [front v] layer\n        set [ghost v] effect to (50)\n        set [joyshowcounter v] to [0]\n    else\n        change [joyshowcounter v] by (1)\n        if <(JoyShowCounter) > [25]> then\n            switch costume to (neutral v)\n        end\n        if <(JoyShowCounter) > [50]> then\n            hide\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nif <(ControlOnGround) = [Yes]> then\n    set [yvelocity v] to (MaxYJump)\nend\n\nif <(ControlOnGround) = [Yes]> then\n    set [yvelocity v] to (MaxYJump)\nend\n\nif <(ControlOnGround) = [Yes]> then\n    set [yvelocity v] to (MaxYJump)\nend\n\nif <(ControlOnGround) = [Yes]> then\n    set [yvelocity v] to (MaxYJump)\nend\n\nbroadcast (HeroPointRight v)\nbroadcast (Jump v)\n\nswitch costume to (e v)\n\n@Frank\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n