Volcanic -A Platformer-  #all #games

Instructions: *Turn Up Volume*\n\nControls:\nWASD or <^> to move\nW= Jump  A= Left  D= Right\nUp Arrow= Jump  Left Arrow= Left  Right Arrow= Right\n\nObjective:\nSurpass all the obstacles that are in your way and succeed onto the next level by touching the gems!

@Stage\n\nwhen flag clicked\nforever\n    play sound [1 v] until done\n    play sound [2 v] until done\n    wait (1) seconds\nend\n\n@Player\n\nwhen flag clicked\ngo to x: (-201) y: (-114)\nset [x velocity v] to [0]\nset [y velocity v] to [0]\nset [x v] to [1]\nforever\n    Platform Gravity: [-1] Jump Height: [14] Movement Speed: [3] Friction: [.7] Slopes: [8]\nend\n\ndefine Platform Gravity: (gravity) Jump Height: (jump height) Movement Speed: (side movement speed) Friction: (friction) Slopes: (slope)\nchange [y velocity v] by (gravity)\nchange y by (Y Velocity)\nif <touching (level v)?> then\n    repeat until <not <touching (level v)?>>\n        change y by ((([abs v] of (Y Velocity) ) / (Y Velocity)) * (-1))\n    end\n    set [y velocity v] to (<<<key (w v) pressed?> or <key (up arrow v) pressed?>> and <(([abs v] of (Y Velocity) ) / (Y Velocity)) = [-1]>> * (jump height))\nend\nset [x velocity v] to (((X Velocity) + ((<<key (a v) pressed?> or <key (left arrow v) pressed?>> * ((side movement speed) * (-1))) + (<<key (d v) pressed?> or <key (right arrow v) pressed?>> * (side movement speed)))) * (friction))\nchange x by (X Velocity)\nset [slope v] to [0]\nrepeat until <<(Slope) = ((slope) * (-1))> or <not <touching (level v)?>>>\n    change y by (1)\n    change [slope v] by (-1)\nend\nif <touching (level v)?> then\n    change y by (Slope)\n    repeat until <not <touching (level v)?>>\n        change x by ((([abs v] of (X Velocity) ) / (X Velocity)) * (-1))\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (lava v)?> then\n        go to x: (-201) y: (-114)\n        broadcast (death v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (saw v)?> then\n        go to x: (-201) y: (-114)\n        broadcast (death v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (spikes v)?> then\n        go to x: (-201) y: (-114)\n        broadcast (death v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (diamonds v)?> then\n        broadcast (Next Level v)\n        wait (0.5) seconds\n        go to x: (-201) y: (-114)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (bounce pad v)?> then\n        set [y velocity v] to [17.5]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (speed pad v)?> then\n        set [x velocity v] to [24]\n    end\nend\n\n@Trail\n\nwhen flag clicked\nshow\nforever\n    go to (player v)\nend\n\n@Background\n\nwhen flag clicked\nforever\n    set y to (([y position v] of [player v]) * (-0.03))\n    set x to (([x position v] of [player v]) * (-0.03))\nend\n\n@Level\n\nwhen I receive [next level v]\nwait (0.5) seconds\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [2]> then\n        broadcast (Level 2 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [3]> then\n        broadcast (Level 3 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [4]> then\n        broadcast (Level 4 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [5]> then\n        broadcast (Level 5 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [6]> then\n        broadcast (Level 6 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [7]> then\n        broadcast (Level 7 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [8]> then\n        broadcast (Level 8 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [9]> then\n        broadcast (Level 9 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [10]> then\n        broadcast (Level 10 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [11]> then\n        broadcast (Level 11 v)\n    end\nend\n\n@Lava\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    glide (1) secs to x: (0) y: (10)\n    glide (1) secs to x: (0) y: (0)\nend\n\nwhen I receive [next level v]\nwait (0.5) seconds\nnext costume\n\n@Saw\n\nwhen flag clicked\nshow\ngo to x: (-85) y: (-145)\nforever\n    turn right (4) degrees\nend\n\nwhen I receive [level 2 v]\nshow\ngo to x: (125) y: (-145)\n\nwhen I receive [level 3 v]\nshow\ngo to x: (10) y: (-145)\n\nwhen I receive [level 4 v]\nhide\ngo to x: (0) y: (-145)\n\nwhen I receive [level 5 v]\nshow\ngo to x: (120) y: (-145)\n\nwhen I receive [level 6 v]\nshow\ngo to x: (-50) y: (-145)\n\nwhen I receive [level 7 v]\nshow\ngo to x: (210) y: (-145)\n\nwhen I receive [level 8 v]\nshow\ngo to x: (-95) y: (-145)\n\nwhen I receive [level 9 v]\nshow\ngo to x: (155) y: (-145)\n\nwhen I receive [level 10 v]\nshow\ngo to x: (114) y: (-145)\n\nwhen I receive [level 11 v]\nhide\ngo to x: (0) y: (-145)\n\n@Spikes\n\nwhen I receive [next level v]\nwait (0.5) seconds\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\n@Bounce Pad\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nwait (0.5) seconds\nnext costume\n\n@Speed Pad\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nwait (0.5) seconds\nnext costume\n\n@Glow\n\nwhen I receive [next level v]\nwait (0.5) seconds\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\n@Shadows\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [ghost v] effect to (75)\n\nwhen I receive [next level v]\nwait (0.5) seconds\nnext costume\n\n@Words\n\nwhen flag clicked\nswitch costume to (costume1 v)\nshow\nwait (0.5) seconds\nset [ghost v] effect to (70)\ngo to x: (0) y: (30)\nrepeat until <(y position) = [0]>\n    change y by (-1)\n    change [ghost v] effect by (-2)\n    wait (0.015) seconds\nend\n\nwhen I receive [next level v]\nwait (0.5) seconds\nnext costume\nset [ghost v] effect to (70)\ngo to x: (0) y: (30)\nrepeat until <(y position) = [0]>\n    change y by (-1)\n    change [ghost v] effect by (-2)\n    wait (0.015) seconds\nend\n\n@Diamonds\n\nwhen flag clicked\nset [shift v] to [0]\nforever\n    change [shift v] by (6)\n    point in direction ((([sin v] of (Shift) ) * (10)) + (90))\nend\n\nwhen flag clicked\nshow\ngo to x: (210) y: (-114)\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nwait (0.5) seconds\nnext costume\n\nwhen I receive [level 4 v]\ngo to x: (210) y: (50)\n\nwhen I receive [level 5 v]\ngo to x: (-210) y: (50)\n\nwhen I receive [level 6 v]\ngo to x: (210) y: (-114)\n\nwhen I receive [level 7 v]\ngo to x: (210) y: (65)\n\nwhen I receive [level 8 v]\ngo to x: (210) y: (-40)\n\nwhen I receive [level 9 v]\ngo to x: (210) y: (-5)\n\nwhen I receive [level 10 v]\ngo to x: (210) y: (45)\n\nwhen I receive [level 11 v]\nhide\ngo to x: (210) y: (-114)\n\n@Red border\n\nwhen flag clicked\nhide\n\nwhen I receive [death v]\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (0.2) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\n@Screen\n\n@Effect\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\n    wait (0.5) seconds\nend\n\nwhen I start as a clone\ngo to [back v] layer\nshow\nset [ghost v] effect to (70)\npoint in direction (45)\ngo to x: (240) y: (180)\nglide (6) secs to x: (-240) y: (-180)\ndelete this clone\n\n@Ash\n\nwhen I start as a clone\ngo [backward v] (5) layers\nset [ghost v] effect to (0)\nset size to (200) %\nshow\ngo to x: (pick random (260) to (-260)) y: (180)\nglide (pick random (3) to (5)) secs to x: (pick random (230) to (-230)) y: (-180)\ndelete this clone\n\nwhen flag clicked\nbroadcast (green flag v)\nhide\nforever\n    wait (0.001) seconds\n    create clone of (_myself_ v)\nend\n\n@Transition\n\nwhen I receive [next level v]\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nrepeat (20)\n    change [brightness v] effect by (-5)\nend\nif <(i) = [++]> then\n    next costume\nelse\n    if <(i) = [--]> then\n        switch costume to ((costume [number v]) - (1))\n    else\n        switch costume to (i)\n    end\nend\nrepeat (20)\n    change [brightness v] effect by (5)\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen flag clicked\ngo to [front v] layer\nset [ghost v] effect to (100)\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (0)\nwait (0.5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\n    broadcast (Green Flag clicked v)\nend\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n