Sushi Platformer ✩

Instructions: ━━━ ICEY 2 PLATFORMER ━━━\nControls: Arrow Keys/WASD & Mobile Support\nDon't touch ice, spikes, or the enemies\nThis is part TWO of the game series\nPart 3: https://scratch.mit.edu/projects/896420760\nPart 1: https://scratch.mit.edu/projects/887236150\n━━━━━━━━━━━━━━━━━\n\n➤ Like & Star for a chance at a free follow!\n\nComment if you want Part 3\nMake sure to check out Part 1\nI will look at all of your remixes\n\nHave Fun!

@Stage\n\nwhen I receive [next level v]\nchange [color v] effect by (15)\n\nwhen flag clicked\nset [color v] effect to (-25)\n\n@Player\n\nwhen flag clicked\ngo to x: (170) y: (-110)\nset [fallspeed v] to [0]\nset [gravity v] to [-2.5]\nset [level v] to [0]\nset [runspeed v] to [5]\nset [takeoffspeed v] to [19]\nforever\n    Run Controls\n    Simulate Gravity\n    Jump Control\nend\n\ndefine Simulate Gravity\nchange y by (FallSpeed)\nif <touching (platform v)?> then\n    if <(FallSpeed) < [0]> then\n        set [reversestep v] to [1]\n    else\n        set [reversestep v] to [-1]\n        change [fallspeed v] by (-10)\n    end\n    repeat until <not <touching (platform v)?>>\n        change y by (ReverseStep)\n    end\nelse\n    change [fallspeed v] by (Gravity)\nend\n\ndefine Run Controls\nif <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>> then\n    point in direction (90)\n    change x by (RunSpeed)\n    if <touching (platform v)?> then\n        if <<key (up arrow v) pressed?> or <<(y position) < (mouse y)> and <mouse down?>>> then\n            change x by ((0) - ((6) * (RunSpeed)))\n            set [fallspeed v] to [12]\n        else\n            change x by ((0) - (RunSpeed))\n        end\n    end\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    point in direction (-90)\n    change x by ((0) - (RunSpeed))\n    if <touching (platform v)?> then\n        if <<key (up arrow v) pressed?> or <<(y position) < (mouse y)> and <mouse down?>>> then\n            change x by ((6) * (RunSpeed))\n            set [fallspeed v] to [12]\n        else\n            change x by (RunSpeed)\n        end\n    end\nend\n\nchange x by (RunSpeed)\n\ndefine Jump Control\nif <<key (up arrow v) pressed?> or <<(y position) < (mouse y)> and <mouse down?>>> then\n    change y by (-1)\n    if <touching (platform v)?> then\n        set [fallspeed v] to (TakeoffSpeed)\n    end\n    change y by (1)\nend\n\nwhen flag clicked\nforever\n    next costume\n    wait (0.1) seconds\nend\n\nwhen flag clicked\nforever\n    if <mouse down?> then\n        if  then\n            set [fallspeed v] to (TakeoffSpeed)\n        end\n    end\nend\n\n@Platform\n\nwhen flag clicked\nset [ghost v] effect to (25)\nbroadcast (Next Level v)\nswitch costume to (level 1 1 v)\nwait until <<([x position v] of [player v]) > [-60]> and <([y position v] of [player v]) > [40]>>\nswitch costume to (level 1 2 v)\nwait until <[-100] > ([y position v] of [player v])>\nswitch costume to (level 1 3 v)\nwait until <<[-140] > ([x position v] of [player v])> and <[-120] > ([y position v] of [player v])>>\nswitch costume to (level 1 4 v)\nwait until <<([x position v] of [player v]) > [120]> and <([y position v] of [player v]) > [30]>>\nswitch costume to (level 1 5 v)\nwait until <<[-130] > ([x position v] of [player v])> and <[-110] > ([y position v] of [player v])>>\nswitch costume to (level 1 6 v)\nwait until <<([x position v] of [player v]) > [170]> and <[-110] > ([y position v] of [player v])>>\nbroadcast (Next Level v)\nswitch costume to (level 2 2 v)\nwait until <<([x position v] of [player v]) < [60]> and <([y position v] of [player v]) > [90]>>\nswitch costume to (level 2 1 v)\nwait until <<([x position v] of [player v]) < [-70]> and <([y position v] of [player v]) > [-100]>>\nswitch costume to (level 2 3 v)\nwait until <<([x position v] of [player v]) < [-70]> and <([y position v] of [player v]) > [-100]>>\nbroadcast (Next Level v)\nswitch costume to (level 2 3 v)\nwait until <<[50] < ([x position v] of [player v])> and <([y position v] of [player v]) > [40]>>\nswitch costume to (level 2 4 v)\nwait until <<([x position v] of [player v]) < [100]> and <([y position v] of [player v]) > [80]>>\nswitch costume to (level 2 6 v)\nwait until <<([x position v] of [player v]) < [-115]> and <[-120] > ([y position v] of [player v])>>\nswitch costume to (level 2 5 v)\nwait until <<([x position v] of [player v]) > [170]> and <[-110] > ([y position v] of [player v])>>\nbroadcast (Next Level v)\nwait (1) seconds\nstop [all v]\n\nwhen I receive [next level v]\nchange [color v] effect by (15)\n\nwhen flag clicked\nset [color v] effect to (-25)\n\nwhen [space v] key pressed\nset [mouse v] to (join (mouse x) (join [, ] (mouse y)))\n\nwait until <<([x position v] of [player v]) > [170]> and <[-110] > ([y position v] of [player v])>>\n\n@Light\n\nwhen flag clicked\nswitch costume to (costume2 v)\nset size to (1000) %\nswitch costume to (costume1 v)\ngo to [front v] layer\nforever\n    go to (player v)\nend\n\n@The Signs\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen I receive [next level v]\nchange [level v] by (1)\nswitch costume to ((LEVEL) + (1))\nrepeat (10)\n    go to [front v] layer\n    change [ghost v] effect by (-10)\nend\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nif <(LEVEL) = [4]> then\n    switch costume to (level 3 v)\n    set [ghost v] effect to (0)\n    stop [all v]\nend\n\nset [level v] to [3]\n\n@Axolotl (1)\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen [timer v] > (0.05)\nset [ghost v] effect to (100)\ngo to [front v] layer\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen flag clicked\nforever\n    reset timer\nend\n\n