Appel's Adventure || A Platformer Series

Instructions: IMPORTANT NOTICE:\nAFTER THE INTRO FINISHES, YOU NEED TO WAIT A LITTLE WHILE BEFORE YOU CAN PLAY\n\nInstructions:\nAppel is out for an adventure! He loves to explore, but in the end, he finds a surprise!\nArrow keys, WASD, or drag the player for mobile users to move.\nAvoid spikes and lava.\nMake it to the end.\nNo advertising or hate.\nGet ready for Appel's Adventure 2!\nHave fun, and don't forget to leave a heart and star!

@Stage\n\nwhen flag clicked\nwait (12.88) seconds\nforever\n    play sound [mbb-beach v] until done\nend\n\n@Blank\n\n@Intro\n\ndefine Go To X: (x) Y: (y) Speed: (speed)\nrepeat until <<(x) = (round (x position))> and <(y) = (round (y position))>>\n    change x by (((x) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\nend\ngo to x: (x) y: (y)\n\nwhen flag clicked\nstart sound [Lost Sky - Dreams \[NCS Release\] v]\nhide\nset [clone# v] to [1]\ncreate clone of (_myself_ v)\nset [clone# v] to [2]\ncreate clone of (_myself_ v)\nset [clone# v] to [3]\ncreate clone of (_myself_ v)\nset [clone# v] to [4]\ncreate clone of (_myself_ v)\nset [clone# v] to [5]\ncreate clone of (_myself_ v)\nset [clone# v] to [6]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(Clone#) = [1]> then\n    show\n    switch costume to (costume2 v)\n    set size to (100) %\n    go to [front v] layer\n    go to x: (0) y: (-99999)\n    point in direction (90)\n    Go To X: [0] Y: [0] Speed: [7]\nend\nwait (0.01) seconds\nif <(Clone#) = [2]> then\n    show\n    switch costume to (costume2 v)\n    set size to (100) %\n    go to [front v] layer\n    go to x: (0) y: (-99999)\n    point in direction (90)\n    Go To X: [0] Y: [0] Speed: [8]\nend\nwait (.1) seconds\nif <(Clone#) = [3]> then\n    show\n    switch costume to (costume3 v)\n    set size to (100) %\n    go to [front v] layer\n    go to x: (0) y: (-99999)\n    point in direction (90)\n    Go To X: [0] Y: [0] Speed: [9]\nend\nwait (.1) seconds\nif <(Clone#) = [4]> then\n    show\n    switch costume to (costume4 v)\n    set size to (100) %\n    go to [front v] layer\n    go to x: (0) y: (-99999)\n    point in direction (90)\n    Go To X: [0] Y: [0] Speed: [10]\nend\nwait (1) seconds\nif <(Clone#) = [5]> then\n    show\n    switch costume to (costume6 v)\n    set size to (30) %\n    switch costume to (costume1 v)\n    go to [front v] layer\n    go to x: (0) y: (99999)\n    point in direction (90)\n    Go To X: [0] Y: [0] Speed: [5]\n    set [s v] to [5]\n    repeat (10)\n        switch costume to (costume6 v)\n        set size to (S) %\n        switch costume to (costume1 v)\n        change [s v] by (((size) / (1)) + (2))\n    end\nend\nwait (1) seconds\nif <(Clone#) = [6]> then\n    set [clone# v] to [1]\n    create clone of (_myself_ v)\n    wait (.3) seconds\n    set [clone# v] to [2]\n    create clone of (_myself_ v)\n    wait (.3) seconds\n    set [clone# v] to [5]\n    create clone of (_myself_ v)\n    wait (.3) seconds\n    set [clone# v] to [2]\n    create clone of (_myself_ v)\n    wait (1) seconds\n    switch costume to (costume7 v)\n    show\n    go to [front v] layer\n    set size to (1) %\n    point in direction (90)\n    repeat until <([abs v] of (((0.85) * (my variable)) + (((100) - (size)) / (9))) ) < [0.05]>\n        set [my variable v] to (((0.85) * (my variable)) + (((100) - (size)) / (9)))\n        switch costume to (size v)\n        change size by (my variable)\n        switch costume to (i)\n        change [ghost v] effect by (-10)\n    end\n    set size to (70) %\n    point in direction (0)\n    go to x: (0) y: (([cos v] of (((timer) - (3)) * (400)) ) * (30))\n    broadcast (message1 v)\n    forever\n        turn right ((10) + (([cos v] of (((timer) - (2)) * (300)) ) * (7))) degrees\n        set y to (([cos v] of (((timer) - (3)) * (400)) ) * (30))\n    end\nend\n\nwhen I receive [message1 v]\nwait (4) seconds\nset [clone# v] to [3]\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nwait (12.88) seconds\nforever\n    go to x: (1111111) y: (1111111)\n    hide\nend\n\nwhen I start as a clone\nwait (12.88) seconds\nforever\n    hide\nend\n\nwhen flag clicked\nwait (12.88) seconds\nhide\nstop [other scripts in sprite v]\n\n@Player\n\ndefine reset\nclear graphic effects\ngo to x: (-200) y: (-50)\npoint in direction (90)\nset [dead? v] to [0]\nset [x v v] to [0]\nset [y v v] to [0]\nset size to (100) %\nshow\n\nwhen I receive [next level v]\nset [change? v] to [1]\nreset\nset [change? v] to [0]\n\nwhen I receive [alright bros let's go v]\n\nwhen I receive [alright bros let's go v]\nforever\n    set [direction v] to (direction)\nend\n\nwhen I receive [alright bros let's go v]\nset [change? v] to [0]\nforever\n    if <<(x position) = [240]> and <(dead?) = [0]>> then\n        broadcast (NEXT LEVEL v)\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [alright bros let's go v]\nforever\n    if <(y position) = [-179]> then\n        Spin off screen\n    end\nend\n\nwhen [r v] key pressed\nif <(dead?) = [0]> then\n    reset\nend\n\nwhen flag clicked\nhide\ngo to [back v] layer\n\nwhen I receive [alright bros let's go v]\nshow\n\ndefine Spin off screen\nset [dead? v] to [1]\nchange [player death v] by (1)\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nreset\n\nwhen I receive [alright bros let's go v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (center2 v)\nrepeat (10)\n    change [ghost v] effect by (5)\n    change size by (-5)\nend\ndelete this clone\n\nwhen flag clicked\nbroadcast (alright bros let's go v)\n\nwhen flag clicked\nswitch costume to (center v)\n\nwhen I receive [respawn v]\n\nwhen flag clicked\nforever\n    if <<touching (danger v)?> or <touching (gears v)?>> then\n        go to x: (-200) y: (-65)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (enemy v)?> then\n        go to x: (-200) y: (-65)\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\nset [dead? v] to [0]\nset size to (100) %\nreset\nforever\n    go to [front v] layer\n    if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> and <(dead?) = [0]>> then\n        change [x v v] by (.9)\n    end\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> and <(dead?) = [0]>> then\n        change [x v v] by (-.9)\n    end\n    set [x v v] to ((X v) * (0.9))\n    change x by (X v)\n    if <touching (ground v)?> then\n        change y by (2)\n        if <touching (ground v)?> then\n            change y by (2)\n            if <touching (ground v)?> then\n                change y by (2)\n                if <touching (ground v)?> then\n                    change y by (2)\n                    if <touching (ground v)?> then\n                        change y by (2)\n                        if <touching (ground v)?> then\n                            change x by ((X v) * (-2))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n                                if <(X v) > [0]> then\n                                    set [x v v] to [-5]\n                                else\n                                    set [x v v] to [5]\n                                end\n                                set [y v v] to [13]\n                            else\n                                set [x v v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v v] by (-0.8)\n    change y by (Y v)\n    if <touching (ground v)?> then\n        change y by ((Y v) * (-1))\n        set [y v v] to [0]\n    end\n    change y by (-1)\n    if <touching (ground v)?> then\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n            set [y v v] to [12]\n        end\n    end\n    change y by (1)\n    if <<<<<touching (gears v)?> or <touching (danger v)?>> or <touching (killer wheel2 v)?>> or <touching (lightning v)?>> and <(dead?) = [0]>> then\n        Spin off screen\n    end\n    if <touching (jump pad v)?> then\n        set [y v v] to [20]\n    end\nend\n\nwhen flag clicked\nshow\n\n@Ground\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (1 v)\n\nwhen I receive [next level v]\nnext costume\n\n@Danger\n\nwhen flag clicked\ngo to x: (0) y: (0)\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (1 v)\n\nwhen I receive [next level v]\nnext costume\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen [timer v] > (Timer2)\nshow\nrepeat (5)\n    change y by (-7.5)\nend\nrepeat until <(y position) = [0]>\n    change y by (-12.5)\nend\nrepeat (35)\n    glide (pick random (0) to (0.0001)) secs to x: (pick random (-10) to (10)) y: (pick random (-10) to (10))\nend\nglide (0.5) secs to x: (0) y: (0)\n\nwhen flag clicked\ngo to x: (0) y: (200)\nhide\nwait (0.001) seconds\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nforever\n    set [timer2 v] to ((timer) + (0.1))\nend\n\n