The Explorer || A Platformer || {MOBILE FRIENDLY}                      #games #art #stgp
@Stage\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen I receive [outro v]\nrepeat (100)\n    change volume by (-5)\nend\n\nwhen I receive [bring the action! v]\nforever\n    repeat (4)\n        set volume to (60) %\n        play sound [Sound Of Legend - Hold That Sucker Down \(Official Music Video\) \[Mpgun v] until done\n    end\n    set volume to (90) %\n    play sound [Gravity Falls \[Theme Song\] Hip Hop Remix.mp3 v] until done\nend\n\nwhen I receive [bring the action! v]\nforever\n    play sound [rain v] until done\nend\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nstop [this script v]\n\n@Sprite1\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [nextlevel v]\nnext costume\n\nwhen I receive [bring the action! v]\nshow\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nhide\nstop [this script v]\n\n@Sprite2\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nshow\nif <(id) = [1]> then\n    set [ghost v] effect to (50)\n    set [brightness v] effect to (0)\n    forever\n        set y to (([cos v] of ((timer) * (400)) ) * (10))\n    end\nelse\n    if <(id) = [2]> then\n        set [ghost v] effect to (50)\n        set [brightness v] effect to (-10)\n        forever\n            set y to (([sin v] of ((timer) * (500)) ) * (9))\n        end\n    else\n        if <(id) = [3]> then\n            set [ghost v] effect to (50)\n            set [brightness v] effect to (-20)\n            forever\n                set y to (([cos v] of (((timer) + (3)) * (500)) ) * (12))\n            end\n        end\n    end\nend\n\nset [color v] effect to (3)\n\nwhen I receive [setup v]\nwait (0.1) seconds\ngo to x: (0) y: (0)\nset [id v] to [0]\nhide\ngo to [back v] layer\nrepeat (3)\n    change [id v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [setup v]\ndelete this clone\n\nwhen I receive [nextlevel v]\nnext costume\n\nwhen I receive [bring the action! v]\nswitch costume to (costume1 v)\nbroadcast (Setup v)\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nhide\nstop [this script v]\n\n@Rain\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (50)\nrepeat until <<<touching (sprite1 v)?> or <touching (_edge_ v)?>> or <touching (sprite3 v)?>>\n    change y by (-10)\n    change x by (1)\nend\nif <<touching (sprite1 v)?> or <touching (sprite3 v)?>> then\n    repeat (6)\n        next costume\n    end\n    delete this clone\nelse\n    delete this clone\nend\n\nstart sound [Rain Hit v]\n\nchange size by (-20)\n\nwhen I receive [bring the action! v]\nforever\n    show\n    set [ghost v] effect to (100)\n    go to x: (pick random (-220) to (220)) y: (150)\n    if <not <touching (sprite1 v)?>> then\n        switch costume to (costume1 v)\n        if <(LEVEL) > [17]> then\n            if <(pick random (1) to (15)) = [4]> then\n                create clone of (_myself_ v)\n            end\n        else\n            create clone of (_myself_ v)\n        end\n    end\nend\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nhide\nstop [this script v]\n\n@Sprite3\n\nwhen flag clicked\nhide\n\nchange y by ((Yvelocity) * (-1))\nset [yvelocity v] to [0]\n\nrepeat (4)\n\nif <touching (sprite1 v)?> then\n\nchange x by (-1)\n\nset [xvelocity v] to [8]\n\nset [xvelocity v] to [-8]\nset [yvelocity v] to [8]\n\ndefine Physics\nshow\nset size to (80) %\nclear graphic effects\nset rotation style [left-right v]\nif <not <touching (sprite2 v)?>> then\n    change [yvelocity v] by (-1)\nelse\n    change [yvelocity v] by (1)\nend\nif <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    point in direction (90)\n    change [xvelocity v] by (2)\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(x position) > (mouse x)>>> then\n    point in direction (-90)\n    change [xvelocity v] by (-2)\nend\nchange x by (Xvelocity)\nset [xvelocity v] to ((Xvelocity) * (0.7))\nif <touching (sprite1 v)?> then\n    change y by (1)\n    if <touching (sprite1 v)?> then\n        change y by (1)\n        if <touching (sprite1 v)?> then\n            change y by (1)\n            if <touching (sprite1 v)?> then\n                change y by (1)\n                if <touching (sprite1 v)?> then\n                    change y by (-4)\n                    change x by ((Xvelocity) * (-1))\n                    set [xvelocity v] to ((Xvelocity) * (-1))\n                    if <(Xvelocity) > [0]> then\n                        change x by (1)\n                    else\n                        change x by (-1)\n                    end\n                    if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n                        if <(Xvelocity) > [0]> then\n                            set [xvelocity v] to [8]\n                        else\n                            set [xvelocity v] to [-8]\n                        end\n                        set [yvelocity v] to [8]\n                    else\n                        set [xvelocity v] to [0]\n                    end\n                end\n            end\n        end\n    end\nend\nchange y by (Yvelocity)\nif <touching (sprite1 v)?> then\n    change y by ((Yvelocity) * (-1))\n    set [yvelocity v] to [0]\n    if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        set [yvelocity v] to [15]\n    end\nend\nif <<touching (_edge_ v)?> and <(x position) > [180]>> then\n    broadcast (Setup v)\n    broadcast (NEXTLEVEL v)\nend\nif <<touching (lava v)?> or <key (r v) pressed?>> then\n    point in direction (90)\n    broadcast (DIE v) and wait\n    broadcast (Setup v)\nend\n\nwhen flag clicked\n\nforever\n    if <touching (sprite2 v)?> then\n        play sound [Plunge v] until done\n        wait until <not <touching (sprite2 v)?>>\n    end\nend\n\nplay sound [Plunge v] until done\n\nstart sound [pop v]\n\nstart sound [pop v]\n\nchange size by (10)\n\nwhen I receive [setup v]\ngo to x: (-180) y: (100)\nset [xvelocity v] to [0]\nset [yvelocity v] to [0]\n\nwhen I receive [die v]\nclear graphic effects\nset rotation style [all around v]\nrepeat (5)\n    change [ghost v] effect by (-20)\n    change size by (-15)\n    turn right (30) degrees\nend\nhide\n\nwhen flag clicked\nswitch costume to (costume10 v)\nforever\n    wait (pick random (2) to (7)) seconds\n    repeat (3)\n        next costume\n    end\n    repeat (3)\n        switch costume to ((costume [number v]) - (1))\n    end\nend\n\nwhen I receive [bring the action! v]\n\nwhen I receive [bring the action! v]\ngo to x: (-180) y: (100)\nset [xvelocity v] to [0]\nset [yvelocity v] to [0]\nforever\n    Physics\nend\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nhide\nstop [this script v]\n\n@Sprite5\n\nwhen flag clicked\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [nextlevel v]\nnext costume\n\nwhen I receive [bring the action! v]\ngo to x: (0) y: (0)\nshow\nforever\n    go to [back v] layer\nend\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nhide\nstop [this script v]\n\n@BLACK\n\nwhen flag clicked\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [nextlevel v]\nnext costume\n\nwhen flag clicked\nset [level v] to [1]\n\nwhen I receive [nextlevel v]\nchange [level v] by (1)\n\nwhen flag clicked\nforever\n    if <(LEVEL) = [6]> then\n        set [ghost v] effect to (50)\n    else\n        if <(LEVEL) > [6]> then\n            if <[18] > (LEVEL)> then\n                set [ghost v] effect to (40)\n            else\n                set [ghost v] effect to (70)\n            end\n        else\n            set [ghost v] effect to (70)\n        end\n    end\nend\n\nset [ghost v] effect to (70)\n\n\n\nwhen I receive [bring the action! v]\nshow\ngo to x: (0) y: (0)\nset [ghost v] effect to (70)\nforever\n    go to [front v] layer\n    go [backward v] (1) layers\nend\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nhide\nstop [this script v]\n\n@LAVA\n\nwhen flag clicked\n\nwhen I start as a clone\nshow\nif <(ID) = [1]> then\n    set [ghost v] effect to (50)\n    set [brightness v] effect to (0)\n    forever\n        set y to (([cos v] of ((timer) * (400)) ) * (10))\n    end\nelse\n    if <(ID) = [2]> then\n        set [ghost v] effect to (50)\n        set [brightness v] effect to (-10)\n        forever\n            set y to (([sin v] of ((timer) * (500)) ) * (9))\n        end\n    else\n        if <(ID) = [3]> then\n            set [ghost v] effect to (50)\n            set [brightness v] effect to (-20)\n            forever\n                set y to (([cos v] of (((timer) + (3)) * (500)) ) * (12))\n            end\n        end\n    end\nend\n\nset [color v] effect to (3)\n\nwhen I receive [setup v]\nwait (0.1) seconds\ngo to x: (0) y: (0)\nset [id v] to [0]\nhide\ngo to [back v] layer\nrepeat (3)\n    change [id v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [setup v]\ndelete this clone\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\n\nwhen I receive [nextlevel v]\nnext costume\n\nwhen I receive [bring the action! v]\nbroadcast (Setup v)\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nhide\nstop [this script v]\n\n@Fog\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nset x to (475)\nforever\n    change x by (-1)\n    if <(x position) = [0]> then\n        if <not <(LEVEL) > [17]>> then\n            create clone of (_myself_ v)\n        end\n    end\n    if <(x position) = [-475]> then\n        delete this clone\n    end\n    if <(LEVEL) > [17]> then\n        delete this clone\n    end\nend\n\nwhen I start as a clone\nset [ghost v] effect to (70)\n\nwhen I receive [bring the action! v]\nset [ghost v] effect to (70)\ngo to x: (0) y: (0)\nshow\ncreate clone of (_myself_ v)\nforever\n    change x by (-1)\n    go to [back v] layer\n    go to [back v] layer\n    if <<(x position) = [-475]> or <(LEVEL) > [17]>> then\n        hide\n    end\nend\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nhide\nstop [this script v]\n\n@Screen Shot 2020-06-18 at 16\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    go [backward v] (0) layers\n    go to x: (0) y: (0)\n    show\nend\n\n@Sprite4\n\nwhen flag clicked\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    forever\n        set [ghost v] effect to (20)\n        go to [front v] layer\n        switch costume to (costume3 v)\n        set size to ((([sin v] of ((timer) * (100)) ) * (10)) + (110)) %\n        switch costume to (costume1 v)\n        point towards (sprite3 v)\n        move ((distance to [sprite3 v]) / (7)) steps\n        if <<(LEVEL) > [6]> and <(LEVEL) < [18]>> then\n            show\n        else\n            hide\n        end\n    end\nelse\n    if <(costume [number v]) = [2]> then\n        forever\n            set [ghost v] effect to (50)\n            go to [front v] layer\n            go [backward v] (1) layers\n            switch costume to (costume3 v)\n            set size to ((([sin v] of (((timer) + (3)) * (100)) ) * (10)) + (110)) %\n            switch costume to (costume2 v)\n            point towards (sprite3 v)\n            move ((distance to [sprite3 v]) / (7)) steps\n            if <<(LEVEL) > [6]> and <(LEVEL) < [18]>> then\n                show\n            else\n                hide\n            end\n        end\n    end\nend\n\nset size to (100) %\n\npoint in direction ([direction v] of [sprite3 v])\n\npoint in direction ([direction v] of [sprite3 v])\n\nwhen I receive [bring the action! v]\nswitch costume to (costume1 v)\nrepeat (2)\n    create clone of (_myself_ v)\n    next costume\nend\nhide\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nhide\nstop [this script v]\n\n@THE MACHETE\n\nwhen flag clicked\nforever\n    if <touching (sprite3 v)?> then\n        stop [other scripts in sprite v]\n        hide\n        broadcast (OUTRO v)\n        play sound [Win v] until done\n        wait (1) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    if <(LEVEL) > [23]> then\n        show\n        set y to (([sin v] of ((timer) * (200)) ) * (10))\n    else\n        hide\n    end\nend\n\n\n\nwhen I receive [outro v]\n\nstop [other scripts in sprite v]\nhide\nstop [this script v]\n\n@SUBER COOL INDRO\n\nwhen flag clicked\nset volume to (100) %\nreset timer\nstart sound [Alan Walker - Faded \(instrumental version\).mp3 v]\nerase all\ngo to x: (0) y: (0)\nset pen color to (#0021ff)\nrepeat (150)\n    switch costume to (costume1 v)\n    turn right (15) degrees\n    create clone of (_myself_ v)\n    turn right (30) degrees\n    create clone of (_myself_ v)\n    turn right (40) degrees\n    create clone of (_myself_ v)\n    switch costume to (costume2 v)\n    turn right (15) degrees\n    create clone of (_myself_ v)\n    turn right (30) degrees\n    create clone of (_myself_ v)\n    turn right (40) degrees\n    create clone of (_myself_ v)\nend\nwait (20) seconds\nbroadcast (message1 v)\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    set pen size to (10)\n    pen down\n    repeat (2)\n        repeat (30)\n            move (3) steps\n            turn right ((([sin v] of ((timer) * (200)) ) * (3)) + (2)) degrees\n            set pen size to ((([abs v] of (x position) ) / (10)) + (10))\n        end\n    end\n    delete this clone\nend\n\nchange pen (brightness v) by (-1)\nmove (3) steps\nturn right ((([sin v] of ((timer) * (200)) ) * (3)) + (3)) degrees\nset pen size to ((([abs v] of (x position) ) / (10)) + (10))\ndelete this clone\n\nwhen I receive [message1 v]\n\nerase all\n\nwhen I start as a clone\nset pen size to (10)\npen down\nrepeat (10)\n    repeat (70)\n        change pen (brightness v) by (-1)\n    end\n    repeat (70)\n        change pen (brightness v) by (1)\n    end\nend\n\nrepeat (360)\n\nwhen I receive [end v]\nrepeat (100)\n    change volume by (-1)\nend\n\nswitch costume to (costume4 v)\n\nwhen I start as a clone\nif <(costume [number v]) = [2]> then\n    set pen size to (10)\n    pen down\n    repeat (2)\n        repeat (30)\n            move (30) steps\n            turn right ((([sin v] of ((timer) * (100)) ) * (10)) + (10)) degrees\n            set pen size to ((([abs v] of (x position) ) / (10)) + (10))\n        end\n    end\n    delete this clone\nend\n\ngo [forward v] (1) layers\n\nwhen flag clicked\nswitch costume to (costume4 v)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(costume [number v]) = [3]> then\n    point in direction (90)\n    hide\n    wait (1.7) seconds\n    show\n    set [timer v] to [0]\n    set [brakes v] to [200]\n    set size to (0) %\n    repeat (40)\n        change [timer v] by (40)\n        change [brakes v] by (-5)\n        set size to (((((([sin v] of (timer) ) * (brakes)) / (timer)) * (100)) * (-1)) + (90)) %\n    end\n    wait (0.8) seconds\n    switch costume to (costume3 v)\n    create clone of (_myself_ v)\n    switch costume to (costume4 v)\n    repeat (15)\n        change size by (((0) - (size)) / (5))\n    end\n    hide\n    switch costume to (costume3 v)\n    switch costume to (costume3 v)\n    point in direction (90)\n    wait (2) seconds\n    show\n    set [timer v] to [0]\n    set [brakes v] to [200]\n    set size to (0) %\n    repeat (40)\n        change [timer v] by (40)\n        change [brakes v] by (-5)\n        set size to (((((([sin v] of (timer) ) * (brakes)) / (timer)) * (100)) * (-1)) + (90)) %\n    end\n    wait (1) seconds\n    switch costume to (avery walking-b v)\n    create clone of (_myself_ v)\n    switch costume to (costume3 v)\n    repeat (30)\n        change size by (((0) - (size)) / (5))\n    end\n    hide\nend\n\ncreate clone of (_myself_ v)\n\ndelete this clone\n\nset size to (0) %\n\nwhen I start as a clone\nif <(costume [number v]) = [4]> then\n\ncreate clone of (_myself_ v)\n\ncreate clone of (_myself_ v)\n\nhide\n\ndelete this clone\n\nhide\n\nwhen I start as a clone\nif <(costume [number v]) = [5]> then\n    show\n    switch costume to (costume2 v)\n    set size to (100) %\n    switch costume to (avery walking-b v)\n    set y to (0)\n    set x to (-600)\n    start sound [Low Whoosh v]\n    repeat (30)\n        go to [front v] layer\n        change x by (((0) - (x position)) / (5))\n    end\n    stop [other scripts in sprite v]\n    broadcast (BRING THE ACTION! v)\n    erase all\n    stop [this script v]\nend\n\nwhen I receive [bring the action! v]\nhide\ndelete this clone\n\n@OUTRO\n\nrepeat (100)\n    change volume by (-1)\nend\n\nwhen I receive [outro v]\nwait (4) seconds\nhide\nswitch costume to (unknown31 v)\nrepeat (6)\n    create clone of (_myself_ v)\n    next costume\nend\n\nwhen I receive [outro v]\nwait (4) seconds\nset volume to (100) %\nforever\n    play sound [Sound Of Legend - Hold That Sucker Down \(Official dis sun v] until done\nend\n\ngo to x: (-200) y: (0)\n\nset size to (150) %\n\npoint in direction (10)\n\nwhen flag clicked\n\nforever\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (unknown31 v)\n    show\n    set size to (200) %\n    go to x: (0) y: (-300)\n    repeat (30)\n        change y by (((100) - (y position)) / (4))\n    end\n    repeat (30)\n        change size by (((130) - (size)) / (4))\n    end\n    set [move v] to [0]\n    point in direction (90)\n    go to [front v] layer\n    repeat (1000000000)\n        point in direction ((([cos v] of ((timer) * (300)) ) * (10)) + (90))\n        set x to ((([tan v] of ((Move) * (50)) ) * (10)) + (0))\n        change [move v] by (0.06)\n    end\n    point in direction (90)\n    repeat (120)\n        change size by (0.1)\n        point in direction ((([cos v] of ((timer) * (300)) ) * (10)) + (90))\n    end\n    clear graphic effects\n    set [size v] to [0]\n    repeat (25)\n        change [size v] by (120)\n        change [brightness v] effect by (10)\n        turn right (5) degrees\n        switch costume to (costume5 v)\n        set size to (size) %\n        switch costume to (unknown31 v)\n    end\n    switch costume to (costume6 v)\nend\n\nchange size by (50)\n\nforever\n\nwhen I start as a clone\nif <(costume [number v]) = [2]> then\n    hide\nend\n\nswitch costume to (unknown31 v)\n\nwhen I start as a clone\nif <(costume [number v]) = [3]> then\n    hide\n    go to x: (0) y: (0)\n    show\n    set size to (200) %\n    go to x: (-300) y: (-100)\n    repeat (30)\n        change x by (((0) - (x position)) / (4))\n        set [ghost v] effect to ([abs v] of (x position) )\n        point in direction (((x position) / (2)) + (90))\n    end\n    wait (0.02) seconds\n    delete this clone\nend\n\nchange y by (10)\n\nwhen I start as a clone\nif <(costume [number v]) = [4]> then\n    hide\n    go to x: (0) y: (0)\n    show\n    set size to (200) %\n    go to x: (300) y: (-100)\n    repeat (30)\n        change x by (((0) - (x position)) / (4))\n        set [ghost v] effect to ([abs v] of (x position) )\n        point in direction (((x position) / (2)) + (90))\n    end\n    switch costume to (costume4 v)\n    repeat (30)\n        change size by (((130) - (size)) / (4))\n    end\n    repeat (100000)\n        broadcast (flash v)\n        repeat (30)\n            change y by (((-70) - (y position)) / (4))\n        end\n        broadcast (flash v)\n        repeat (30)\n            change y by (((-110) - (y position)) / (4))\n        end\n    end\n    repeat (30)\n        change y by (((-100) - (y position)) / (4))\n    end\n    repeat (120)\n        set y to (([sin v] of ((timer) * (150)) ) + (-95))\n    end\n    repeat (3)\n        wait (0.4) seconds\n        broadcast (flash v)\n    end\nend\n\nwait (2) seconds\n\nrepeat (30)\n    change size by (((100) - (size)) / (4))\nend\n\nchange size by (10)\n\nchange y by (((-110) - (y position)) / (4))\n\nwhen I receive [flash v]\nif <(costume [number v]) = [5]> then\n    set [ghost v] effect to (100)\n    show\n    go to [front v] layer\n    repeat (3)\n        change [ghost v] effect by (-34)\n    end\n    repeat (3)\n        change [ghost v] effect by (34)\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [6]> then\n    show\n    go to x: (0) y: (0)\n    set size to (100) %\n    set [ghost v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    reset timer\n    repeat (10000000000)\n        set [ghost v] effect to ((([sin v] of ((timer) * (300)) ) * (50)) + (20))\n    end\nend\n\nswitch costume to (unknown31 v)\nshow\nset size to (200) %\ngo to x: (0) y: (-300)\n\nrepeat (30)\n    change size by (((130) - (size)) / (4))\nend\nset [move v] to [0]\npoint in direction (90)\ngo to [front v] layer\nrepeat (180)\n    set x to ((([tan v] of ((Move) * (50)) ) * (10)) + (0))\n    change [move v] by (0.12)\nend\n\nchange y by (((100) - (y position)) / (4))\n\nwhen flag clicked\n\nwhen flag clicked\nwait (13) seconds\n\nset x to (0)\n\n
OMG TOP LOVED!!!!!! 3/7/20\n\nThe Explorer || A Platformer\n\nStory: You're a young explorer longing for adventure, you hear about a golden machete hidden deep inside the ruins of an ancient temple, you go to find it...\n\nInstructions\n--use arrow keys to move \n--pressing up arrow while touching a ceiling will enable     ledge clinging\n--Avoid lava and spikes\n--You can swim in water\n\nNote - This game is fairly easy, this is for the people who find my previous games hard.\n\nAnother Note - I actually bothered to make the platform engine from scratch.\n\nThere are 24 levels\n\nGood Luck!\n\noh yeah there may be a part 2 if I decide its worth it (basically if everyone likes the style of this project)