A Platformer #platformer #griffpatch #games #trending #fun 
@Stage\n\nwhen flag clicked\n\nwhen I receive [lose life v]\nrepeat (40)\n    change [pitch v] effect by (-10)\nend\nclear sound effects\n\nwait (1) seconds\nset [pitch v] effect to (0)\n\nstart sound [Nebula v]\n\nwhen I receive [lol v]\nset [timer v] to [1]\nstop [other scripts in sprite v]\nforever\n    play sound [2 v] until done\nend\n\nrepeat until <not <(timer) = [1]>>\n\nbroadcast (no pls no v)\n\nwhen I receive [no pls no v]\n\nrepeat until <(timer) = [1]>\n    play sound [Main menu v] until done\nend\nset volume to (0) %\n\nwhen I receive [clear all v]\nset [timer v] to [0]\nset volume to (100) %\nset [pitch v] effect to (0)\nswitch backdrop to (backdrop2 v)\nrepeat until <(timer) = [1]>\n    play sound [Main menu v] until done\nend\n\n@Player\n\nwhen flag clicked\n\npoint in direction (90)\ngo to x: (0) y: (0)\nforever\n    if <(STICK POWER) > [0]> then\n        point in direction (STICK DIRECTION)\n        move ((3) * (STICK POWER)) steps\n    end\nend\n\ndefine Move - in steps (steps)\nchange [falling v] by (1)\nrepeat (steps)\n    set [last value v] to (x position)\n    change x by ((Player: speed x) / (steps))\n    Check Touching Solid\n    if <(touching) > [0]> then\n        Collide X - Slope or Wall?\n    end\n    set [last value v] to (y position)\n    change y by ((Player: speed y) / (steps))\n    Check Touching Solid\n    if <(touching) > [0]> then\n        Collide Y - Ceiling or Floor?\n    end\nend\n\ndefine Check Touching Solid\ngo to [front v] layer\nif <<touching (level v)?> or <<touching (platform v)?> or <touching (platform smash v)?>>> then\n    set [touching v] to [1]\n    stop [this script v]\nend\nset [touching v] to [0]\nset [hit costume v] to (costume [name v])\nif <(hit costume) = [hitbox v2]> then\n    switch costume to (hitbox feet v)\nend\nif <touching (jump through v)?> then\n    if <(jump through) < [1]> then\n        change y by (-6)\n        if <touching (jump through v)?> then\n            set [touching v] to [1]\n        else\n            set [jump through v] to [1]\n        end\n        change y by (6)\n    end\nelse\n    set [jump through v] to [0]\nend\nswitch costume to (hit costume)\n\nwhen I receive [tick - player v]\nMoved - by Moving Platform\nswitch backdrop to <touching (level v)?>\nControls - up and down\nControls - left and right\nMove - in steps (([abs v] of (Player: speed x) ) + ([abs v] of (Player: speed y) ))\nSet costume\n\ndefine Controls - up and down\nif <<key (up arrow v) pressed?> or <(STICK Y) > [0.5]>> then\n    if <<(wall slide) > [0]> and <(jumping) = [0]>> then\n        set [jumping v] to [1]\n        set [falling v] to [3]\n        set [wall slide v] to [0]\n        turn right (180) degrees\n        set [player: speed x v] to (((direction) / (90)) * (7))\n        set [long jump v] to [12]\n    end\n    if <<(falling) < [3]> and <(jumping) = [0]>> then\n        start sound [Jump v]\n        set [jumping v] to [1]\n        set [falling v] to [3]\n    end\n    if <<(jumping) > [0]> and <(jumping) < [6]>> then\n        start sound [Jump v]\n        change [jumping v] by (1)\n        set [player: speed y v] to (JumpForce)\n    end\nelse\n    set [jumping v] to [0]\nend\nchange [player: speed y v] by (Gravity)\nif <(wall slide) > [0]> then\n    Check Can Wall Slide\n    if <(Player: speed y) < [0]> then\n        set [player: speed y v] to ((Player: speed y) * (0.6))\n    end\nend\nif <key (down arrow v) pressed?> then\n    switch costume to (stand6 v)\nend\n\ndefine Controls - left and right\nif <(long jump) > [0]> then\n    change [long jump v] by (-1)\n    stop [this script v]\nend\nset [keyx v] to (<<key (right arrow v) pressed?> or <(STICK X) > [0.5]>> - <<key (left arrow v) pressed?> or <(STICK X) < [-0.5]>>)\nif <(KeyX) = [0]> then\n    if <([abs v] of (Player: speed x) ) < [1]> then\n        set [frame v] to [0]\n        set [player: speed x v] to [0]\n    else\n        change [frame v] by (0.5)\n    end\n    if <<(falling) > [2]> and <(wall slide) < [1]>> then\n        set [player: speed x v] to ((Player: speed x) * (0.98))\n        stop [this script v]\n    end\nelse\n    change [player: speed x v] by ((KeyX) * (Acceleration))\n    if <not <(direction) = ((KeyX) * (90))>> then\n        set [wall slide v] to [0]\n    end\n    point in direction ((KeyX) * (90))\n    change [frame v] by (1)\nend\nset [player: speed x v] to ((Player: speed x) * (Resistance))\n\nset [player: speed x v] to ((Player: speed x) * (Resistance))\n\ndefine Reset and Begin Level\nbroadcast (thing v)\nset [invulnerable v] to [0]\nset [player: speed x v] to [0]\nset [player: speed y v] to [0]\nset [falling v] to [99]\nset [wall slide v] to [0]\nset [jumping v] to [0]\nset [long jump v] to [0]\npoint in direction (90)\nBegin Scene # (SPAWN SCENE) Go to x, y: (SPAWN X) (SPAWN Y)\n\nwhen I receive [game loop v]\nclear graphic effects\nforever\n    broadcast (Tick - First v)\n    broadcast (Tick - Platforms v)\n    broadcast (Tick - player v)\n    broadcast (Tick - last v)\nend\n\nwhen I receive [tick - last v]\nif <(x position) > [235]> then\n    Begin Scene # ((Scene#) + (1)) Go to x, y: [-235] []\nend\nif <(x position) < [-235]> then\n    Begin Scene # ((Scene#) + (-1)) Go to x, y: [235] []\nend\nif <(y position) > [180]> then\n    Begin Scene # ((Scene#) + (100)) Go to x, y: [] [-160]\nend\nif <(y position) < [-180]> then\n    Begin Scene # ((Scene#) + (-100)) Go to x, y: [] [180]\nend\nif <touching (danger v)?> then\n    broadcast (Lose Life v)\nend\n\ndefine Begin Scene # (scene) Go to x, y: (x) (y)\nset [scene# v] to (scene)\nif <(x) > []> then\n    set x to (x)\nend\nif <(y) > []> then\n    set y to (y)\nend\nbroadcast (About to Change Scene v)\nbroadcast (Change Scene v)\nstop [other scripts in sprite v]\nwait (0) seconds\nswitch costume to (hitbox v2 v)\nset rotation style [don't rotate v]\nFix collision in direction [0]\nif <(x) > []> then\n    Fix collision in direction [0]\nelse\n    Fix collision in direction [90]\nend\nSet costume\nbroadcast (Game Loop v)\n\ndefine Fix collision in direction (dir)\nset [temp v] to (direction)\nset [distance v] to [1]\npoint in direction (dir)\nrepeat (400)\n    Check Touching Solid\n    if <(touching) < [1]> then\n        point in direction (temp)\n        stop [this script v]\n    end\n    move (distance) steps\n    turn right (180) degrees\n    change [distance v] by (1)\nend\n\nwhen I receive [tick - first v]\nswitch costume to (hitbox v2 v)\nset rotation style [don't rotate v]\nset [platform dx v] to []\nset [platform dy v] to []\n\ndefine Set costume\nset rotation style [left-right v]\nif <(wall slide) > [0]> then\n    switch costume to (hangon01 v)\n    stop [this script v]\nend\nif <(falling) > [1]> then\n    if <(Player: speed y) > [0]> then\n        switch costume to (jump01 v)\n    else\n        switch costume to (run_j2 v)\n    end\n    stop [this script v]\nend\nif <(frame) > [0]> then\n    switch costume to ((1) + ([floor v] of ((frame) mod (16)) ))\nelse\n    switch costume to (hit angle 0 v)\n    repeat (5)\n        Check Touching Solid\n        if <(touching) < [1]> then\n            switch costume to ((costume [number v]) + (5))\n            stop [this script v]\n        end\n        next costume\n    end\n    switch costume to (stand v)\nend\n\ndefine Collide X - Slope or Wall?\nCheck Can Wall Slide\nchange y by (1)\nCheck Touching Solid\nif <(touching) > [0]> then\n    change y by (1)\n    Check Touching Solid\n    if <(touching) > [0]> then\n        change y by (-2)\n        set x to (last value)\n        set [player: speed x v] to [0]\n        stop [this script v]\n    end\n    set [player: speed x v] to ((Player: speed x) * (0.8))\nend\nset [player: speed x v] to ((Player: speed x) * (0.95))\n\ndefine Collide Y - Ceiling or Floor?\nset y to (last value)\nif <(Player: speed y) > [0]> then\n    set [player: speed y v] to [0]\n    stop [this script v]\nend\nif <(falling) > [0]> then\n    set [falling v] to [0]\n    Slip\nend\nset [player: speed y v] to ((Player: speed y) * (0.8))\n\ndefine Slip\nchange y by (-2)\nchange x by (1)\nCheck Touching Solid\nif <(touching) < [1]> then\n    set [falling v] to [9]\n    change [player: speed x v] by (1)\n    stop [this script v]\nend\nchange x by (-2)\nCheck Touching Solid\nif <(touching) < [1]> then\n    set [falling v] to [9]\n    change [player: speed x v] by (-1)\n    stop [this script v]\nend\nchange y by (2)\nchange x by (1)\n\ndefine Check Can Wall Slide\nif <(falling) < [2]> then\n    set [wall slide v] to [0]\n    stop [this script v]\nend\nswitch costume to (hitbox wallslide v)\nset rotation style [left-right v]\nCheck Touching Solid\nset [wall slide v] to (touching)\nswitch costume to (hitbox v2 v)\nset rotation style [don't rotate v]\n\nwhen I receive [lose life v]\nset [invulnerable v] to [1]\nstop [other scripts in sprite v]\nstart sound [Oops v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nwait (0.5) seconds\nchange [lives v] by (-1)\nif <(LIVES) > [0]> then\n    Reset and Begin Level\nelse\n    broadcast (Game over v)\nend\n\nReset and Begin Level\n\nset x to (x)\n\nset x to (x)\n\nwhen I receive [game loop v]\nset [ghost v] effect to (0)\nforever\n    broadcast (Tick - First v)\n    broadcast (Tick - player v)\n    broadcast (Tick - last v)\nend\n\ndefine Moved - by Moving Platform\nchange x by (PLATFORM DX)\nchange y by (PLATFORM DY)\nCheck Touching Solid\nif <(touching) > [0]> then\n    Find Closest Space to (x position) (y position) max [16]\n    if <(touching) > [0]> then\n        broadcast (Lose Life v)\n    end\nend\n\ndefine Find Closest Space to (x) (y) max (max)\nset [temp v] to (direction)\nset [distance v] to [1]\npoint in direction (0)\nrepeat (max)\n    repeat (16)\n        go to x: (x) y: (y)\n        move (distance) steps\n        Check Touching Solid\n        if <(touching) < [1]> then\n            point in direction (temp)\n            stop [this script v]\n        end\n        turn right (22.5) degrees\n    end\n    change [distance v] by (1)\nend\ngo to x: (x) y: (y)\npoint in direction (temp)\n\nFix collision in direction [90]\n\nwhen I receive [lol v]\nshow\nerase all\nset [gravity v] to [-1.5]\nset [jumpforce v] to [12]\nset [jump duration v] to [6]\nset [acceleration v] to [1.5]\nset [resistance v] to [0.8]\nbroadcast (Setup v) and wait\nset [spawn scene v] to [1]\nset [spawn x v] to [-150]\nset [spawn y v] to [50]\nReset and Begin Level\n\nwhen flag clicked\n\nwhen I receive [player - bounce v]\nset [player: speed y v] to [10]\n\nwhen flag clicked\nset [lives v] to [3]\n\nwhen [up arrow v] key pressed\n\nerase all\n\nforever\n\nforever\n\nbroadcast (LOL v)\n\nwhen I receive [lol v]\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\nwhen flag clicked\n\nerase all\n\nset [fishes v] to [0]\n\nwhen flag clicked\nset drag mode [not draggable v]\n\nwhen flag clicked\nhide\n\nswitch costume to (stand6 v)\n\nwhen flag clicked\n\nforever\n    if <key (down arrow v) pressed?> then\nend\n\n\n\nif <(hit costume) = [hitbox v2]> then\n    switch costume to (hitbox feet2 v)\nend\n\nwhen [d v] key pressed\nrepeat until <not <key (d v) pressed?>>\n    move (10) steps\n    change [brightness v] effect by (100)\nend\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\nclear graphic effects\n\nset [brightness v] effect to (10)\n\nwhen I receive [dash v]\nmove (10) steps\nchange [brightness v] effect by (100)\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\nclear graphic effects\n\nrepeat until <not <(de) = [yes]>>\nend\n\n@Level\n\ndefine Stamp Shadow\nset [brightness v] effect to (-100)\nset [ghost v] effect to (90)\nchange y by (-20)\nstamp\nchange y by (20)\nclear graphic effects\n\ndefine Stamp Outline\nset pen color to (#7f7f7f)\nset rotation style [don't rotate v]\nset [brightness v] effect to (-100)\nrepeat (8)\n    move (3.3) steps\n    stamp\n    move (-3.3) steps\n    turn right (45) degrees\nend\n\nwhen I receive [change scene v]\n\nwhen I receive [change scene v]\nswitch costume to (join [scene] (Scene#))\nerase all\nStamp Outline\nStamp Shadow\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [back v] layer\n\nwhen I receive [change scene v]\n\nwhen flag clicked\nforever\n    erase all\n    Stamp Outline\n    Stamp Shadow\nend\n\nerase all\nStamp Outline\nStamp Shadow\n\nwhen flag clicked\nforever\n    hide variable [fishes v]\nend\n\nclear graphic effects\n\n@Danger\n\nwhen I receive [change scene v]\nerase all\nStamp Outline\nStamp Shadow\n\ndefine Stamp Outline\nset rotation style [don't rotate v]\nset [brightness v] effect to (-100)\nrepeat (8)\n    move (3) steps\n    stamp\n    move (-3) steps\n    turn right (45) degrees\nend\nclear graphic effects\n\nwhen I receive [change scene v]\nerase all\nStamp Outline\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [back v] layer\n\nwhen I receive [change scene v]\nshow\nswitch costume to (blank v)\nswitch costume to (join [scene] (Scene#))\nif <(Scene#) = [2]> then\n    forever\n        switch costume to (scene2 v)\n        set y to ((3) * ([sin v] of ((timer) * (180)) ))\n    end\nend\nif <(Scene#) = [0]> then\n    forever\n        switch costume to (scene2 v)\n        set y to ((3) * ([sin v] of ((timer) * (180)) ))\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Scene#) = [2]> then\n        switch costume to (scene2 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Scene#) = [1]> then\n        switch costume to (spikes1 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Scene#) = [3]> then\n        forever\n    end\nend\n\nswitch costume to (scene2 v)\nset y to ((3) * ([sin v] of ((timer) * (360)) ))\n\nglide (1) secs to x: (0) y: (-9)\nglide (1) secs to x: (0) y: (2)\n\nwhen flag clicked\nforever\n    if <(Scene#) = [5]> then\n        switch costume to (spikes2 v)\n    end\nend\n\n@Platform\n\nwhen I receive [change scene v]\nswitch costume to (moving platform v)\ngo to [back v] layer\nhide\nif <(Scene#) = [2]> then\n    set size to (100) %\n    show\n    Animate Platform\nend\nif <(Scene#) = [0]> then\n    Animate platform 2\nend\nif <(Scene#) = [3]> then\n    set size to (100) %\n    show\n    Animate platform 3\nend\n\nif <(Scene#) = [3]> then\n    Door at [199] [30] key [Key 1]\n    switch costume to (key 1 v)\n    show\nend\n\ndefine Animate Platform\nswitch costume to (moving platform v)\npoint in direction (90)\ngo to x: (-19) y: (31)\nforever\n    glide (2) secs to x: (218) y: (32)\n    wait (1) seconds\n    glide (2) secs to x: (-19) y: (31)\n    wait (1) seconds\nend\n\nwhen I receive [tick - platforms v]\nTick (x position) []\nset [last x v] to (x position)\nset [last y v] to (y position)\n\ndefine Tick (new x) (new y)\nif <(new y) > (last y)> then\n    change y by (1)\nelse\n    set y to ((last y) + (1))\nend\nif <touching (player v)?> then\n    set [platform dx v] to ((new x) - (last x))\n    set [platform dy v] to ((new y) - (last y))\nend\ngo to x: (new x) y: (new y)\n\nsay [Hello!]\nsay []\n\nwhen flag clicked\nswitch costume to (moving platform v)\n\ndefine Door at (x) (y) key (key name)\nshow\nswitch costume to (key name)\ngo to x: (x) y: (y)\nforever\n    wait until <touching (player v)?>\n    if <[collected v] contains (key name)?> then\n    end\nend\n\nglide (1) secs to x: (197) y: (48)\n\n\n\nrepeat (24)\n    change y by (4)\nend\nwait (1) seconds\nrepeat (24)\n    change y by (-4)\nend\nwait (1) seconds\n\nAnimate Platform\n\nAnimate Platform\n\nwhen flag clicked\nset size to (100) %\n\ndefine Animate platform 2\nswitch costume to (plank v)\ngo to x: (12) y: (-22)\nset size to (150) %\nshow\nforever\n    turn right (2) degrees\nend\n\nbroadcast (hello world v)\n\ndefine Animate platform 3\nswitch costume to (roll v)\ngo to x: (-109) y: (-14)\nset size to (130) %\nshow\nforever\n    turn right (2) degrees\nend\n\nset [scene# v] to [4]\n\nrepeat (24)\n    change y by (4)\nend\nwait (1) seconds\nrepeat (24)\n    change y by (-4)\nend\nwait (1) seconds\n\nrepeat (10)\n    change y by (10)\nend\n\n@Collectable\n\nwhen I receive [change scene v]\nif <(Scene#) = (my scene)> then\n    show\nelse\n    hide\nend\n\nwhen I start as a clone\nrepeat until <touching (player v)?>\n    change y by ((0.5) * ([sin v] of (frame) ))\n    change [frame v] by (5)\nend\nif <(costume [name v]) = [fish-a]> then\n    set [my scene v] to []\n    start sound [Chomp v]\n    change [fishes v] by (1)\nend\nif <(costume [name v]) = [Green Flag]> then\n    start sound [Wand v]\n    set [spawn scene v] to (Scene#)\n    set [spawn x v] to ([x position v] of [player v])\n    set [spawn y v] to ([y position v] of [player v])\nend\nrepeat (20)\n    change y by (2)\n    change [ghost v] effect by (5)\nend\nhide\n\nstart sound [Wand v]\nadd (costume [name v]) to [collected v]\n\nwhen I receive [setup v]\ndelete all of [collected v]\nset [frame v] to [0]\nset [fishes v] to [0]\nhide\nPlace [fish-a] scene [1] xy [-16] [-65]\nPlace [fish-a] scene [1] xy [44] [15]\nPlace [fish-a] scene [2] xy [-158] [10]\nPlace [fish-a] scene [3] xy [-167] [-89]\nPlace [fish-a] scene [3] xy [-103] [-90]\nPlace [fish-a] scene [101] xy [0] [10]\nPlace [fish-a] scene [0] xy [-176] [-21]\nPlace [fish-a] scene [-1] xy [-185] [65]\nPlace [Green Flag] scene [2] xy [-192] [23]\nPlace [Green Flag] scene [3] xy [104] [12]\nPlace [Green Flag] scene [4] xy [-176] [55]\nPlace [Green Flag] scene [5] xy [-176] [55]\nPlace [Green Flag] scene [6] xy [-176] [55]\n\nwhen flag clicked\nforever\n    show variable [fishes v]\nend\n\nset [fishes v] to [0]\n\nforever\n\ndefine Place (costume name) scene (scene) xy (x) (y)\nset [my scene v] to (scene)\nswitch costume to (costume name)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\nset [my scene v] to []\n\n\n\ncreate clone of (_myself_ v)\n\nset [fishes v] to [0]\n\nhide variable [fishes v]\n\nwhen flag clicked\nhide\n\nstart sound [Wand v]\nadd (costume [name v]) to [collected v]\n\n@Menu\n\nwhen I receive [main menu v]\n\nwhen I receive [lol v]\nshow variable [fishes v]\nhide\n\nwhen flag clicked\nclear graphic effects\nswitch costume to (thumbnail v)\nshow\n\nwhen I receive [game over v]\nclear graphic effects\nswitch costume to (game over v)\nshow\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [1]> then\n        go to x: ((mouse x) / (30)) y: ((mouse y) / (30))\n    end\nend\n\nwhen I receive [10 click per sec v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\n@Button\n\nwhen flag clicked\nclear graphic effects\nset [lives v] to [3]\nswitch costume to (costume1 v)\nwait (0.1) seconds\ngo to [front v] layer\nhide\nset size to (100) %\ngo to x: (-2) y: (-146)\npoint in direction (90)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (40)\n        change size by ((0.2) * ((109) - (size)))\n    else\n        set [brightness v] effect to (0)\n        change size by ((0.2) * ((100) - (size)))\n    end\nend\n\nshow\n\nset [speed v] to [5]\npoint in direction ((([sin v] of (SPEED) ) * (3)) + (90))\n\nwhen this sprite clicked\nstart sound [Wood Tap v]\nset [lives v] to [3]\nset size to (250) %\nbroadcast (10 click per sec v)\nhide\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nbroadcast (LOL v)\n\nwhen I receive [skin v]\nswitch costume to (costume3 v)\n\nwhen flag clicked\nforever\n    show variable [fishes v]\nend\n\nhide variable [fishes v]\n\nwhen I receive [game over v]\nclear graphic effects\nshow\n\nwhen flag clicked\nforever\n\n\n\nrepeat (10)\n    turn right (1) degrees\nend\nrepeat (10)\n    turn right (-1) degrees\nend\n\nturn left (10) degrees\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        repeat (3)\n            turn right (2) degrees\n        end\n        repeat (3)\n            turn right (-3) degrees\n        end\n        point in direction (90)\n    end\nend\n\nwhen I receive [clear all v]\nshow\n\n@Enemy\n\nwhen flag clicked\nset rotation style [left-right v]\nhide\n\nwhen I receive [change scene v]\nif <(Scene#) = [1]> then\n    if <([x position v] of [player v]) < [0]> then\n        Spawn [Red] at [43] [18] dir [-90]\n    else\n        Spawn [Red] at [43] [18] dir [-90]\n    end\nend\nif <(Scene#) = [2]> then\n    if <([x position v] of [player v]) < [0]> then\n        Spawn [Red] at [-115] [46] dir [-90]\n    else\n        Spawn [Red] at [-222] [-14] dir [90]\n    end\nend\nif <(Scene#) = [3]> then\n    if <([x position v] of [player v]) < [0]> then\n        Spawn [Red] at [11] [-88] dir [-90]\n    else\n        Spawn [Red] at [11] [-88] dir [-90]\n    end\n    Spawn [Red] at [209] [-1] dir [-90]\nend\nif <(Scene#) = [101]> then\n    if <([x position v] of [player v]) < [0]> then\n        Spawn [Red] at [181] [-46] dir [-90]\n    else\n        Spawn [Red] at [181] [-46] dir [-90]\n    end\n    Spawn [Red] at [21] [-47] dir [-90]\nend\nif <(Scene#) = [102]> then\n    if <([x position v] of [player v]) < [0]> then\n        Spawn [Red] at [139] [-46] dir [-90]\n    else\n        Spawn [Red] at [139] [-46] dir [-90]\n    end\n    Spawn [Red] at [175] [-47] dir [-90]\nend\nif <(Scene#) = [4]> then\n    if <([x position v] of [player v]) < [0]> then\n        Spawn [Red] at [190] [3] dir [-90]\n    else\n        Spawn [Red] at [190] [3] dir [-90]\n    end\n    Spawn [Red] at [42] [4] dir [-90]\nend\n\nwhen I start as a clone\nshow\nset [speed y v] to [0]\nset [frame v] to [0]\nforever\n    switch costume to (red1 v)\n    set rotation style [don't rotate v]\n    Move - Left or Right\n    Move - Down\n    change [frame v] by (0.33)\n    switch costume to ((1) + (([floor v] of (frame) ) mod (4)))\n    set rotation style [left-right v]\n    if <<(INVULNERABLE) = [0]> and <touching (player v)?>> then\n        Touching Player\n    end\nend\n\nwhen I receive [about to change scene v]\ndelete this clone\n\ndefine Move - Down\nchange [speed y v] by (-1)\nchange y by (speed y)\nrepeat until <not <<touching (level v)?> or <touching (jump through v)?>>>\n    change y by (1)\n    set [speed y v] to [0]\nend\n\ndefine Move - Left or Right\nmove (2) steps\nrepeat (4)\n    if <not <<touching (level v)?> or <touching (_edge_ v)?>>> then\n        if <not <<touching (safe zone v)?> or <touching (platform v)?>>> then\n            if <not <touching (jump through v)?>> then\n                stop [this script v]\n            end\n        end\n    end\n    change y by (1)\nend\nchange y by (-4)\nmove (-2) steps\nturn right (180) degrees\n\ndefine Touching Player\nif <([player: speed y v] of [player v]) < [-3]> then\n    broadcast (Player - Bounce v)\n    start sound [Squish Pop v]\n    switch costume to (red squish v)\n    wait (0.3) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\nbroadcast (Lose Life v)\n\ndefine Spawn (type) at (x) (y) dir (dir)\ngo to x: (x) y: (y)\npoint in direction (dir)\ncreate clone of (_myself_ v)\n\nwhen I receive [enemy v]\nrepeat (5)\n    Spawn [Red] at [56] [-89] dir [-90]\n    wait (2) seconds\nend\nbroadcast (wow v)\n\nwhen I receive [e v]\nrepeat (5)\n    Spawn [Red] at [56] [-89] dir [-90]\n    wait (2) seconds\nend\nbroadcast (FIBNE v)\n\nbroadcast (wow v)\n\nwhen I start as a clone\nset size to (100) %\nclear graphic effects\nforever\n    if <touching (sword v)?> then\n        start sound [pop v]\n        stop [other scripts in sprite v]\n        repeat (10)\n            change [ghost v] effect by (10)\n            change size by (10)\n        end\n        delete this clone\n    end\nend\n\n@Safe Zone\n\ndefine Stamp Outline\nset rotation style [don't rotate v]\nset [brightness v] effect to (-100)\nrepeat (8)\n    move (3) steps\n    stamp\n    move (-3) steps\n    turn right (45) degrees\nend\nclear graphic effects\n\nwhen I receive [change scene v]\nerase all\nStamp Outline\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [back v] layer\n\nwhen I receive [change scene v]\nhide\nswitch costume to (scene2 v)\nswitch costume to (join [scene] (Scene#))\nif <(Scene#) = [2]> then\n    forever\n        switch costume to (scene2 v)\n        set y to ((3) * ([sin v] of ((timer) * (180)) ))\n    end\nend\nglide (1) secs to x: (0) y: (-9)\nglide (1) secs to x: (0) y: (2)\n\nwhen flag clicked\nforever\n    if <(Scene#) = [2]> then\n        show\n        set [ghost v] effect to (100)\n        switch costume to (scene2 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Scene#) = [1]> then\n        switch costume to (spikes1 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Scene#) = [3]> then\n        forever\n    end\nend\n\nswitch costume to (scene2 v)\nset y to ((3) * ([sin v] of ((timer) * (360)) ))\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [back v] layer\nhide\n\n@Score\n\nwhen flag clicked\nsetup\n\nwhen I start as a clone\nshow\nforever\n    switch costume to (join [Glow-] (letter (index) of (FISHES)))\n    set x to ((((index) - (0.5)) - ((length of (FISHES)) / (2))) * ((size) / (2)))\n    change size by ((0.2) * ((100) - (size)))\nend\n\ndefine setup\nswitch costume to (glow-9 v)\nset size to (100) %\nhide\ngo to x: (253) y: (129)\nset [index v] to [1]\nrepeat (10)\n    create clone of (_myself_ v)\n    change x by ((size) / (2))\n    change [index v] by (1)\nend\n\ndefine change costume to (costume)\nif <not <(costume) = (costume [name v])>> then\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [lol v]\nshow\n\nwhen I receive [hello world v]\nhide\n\nwhen flag clicked\nbroadcast (hello world v)\n\nhide\n\nwhen I receive [game over v]\nhide\n\nwhen I receive [lol v]\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Lives\n\nwhen flag clicked\nhide\n\nwhen I receive [lol v]\nshow\ngo to x: (-148) y: (148)\nforever\n    hide variable [fishes v]\n    switch costume to (LIVES)\nend\n\n@follow\n\nforever\n    go to x: (150) y: (204)\n    wait (pick random (1) to (8)) seconds\n    glide (0.5) secs to x: (150) y: (150)\n    wait (1) seconds\n    glide (0.5) secs to x: (150) y: (204)\n    wait (50) seconds\nend\n\nwhen I receive [lol v]\npoint in direction (90)\nforever\n    hide\n    go to x: (150) y: (204)\n    wait (pick random (1) to (8)) seconds\n    show\n    glide (0.5) secs to x: (150) y: (150)\n    wait (1) seconds\n    turn left (5) degrees\n    repeat (2)\n        repeat (2)\n            turn right (5) degrees\n        end\n        repeat (2)\n            turn right (-5) degrees\n        end\n    end\n    turn left (-5) degrees\n    wait (1) seconds\n    glide (0.5) secs to x: (150) y: (204)\n    wait (50) seconds\nend\n\nwhen flag clicked\nhide\n\n@Platform smash\n\nwhen flag clicked\ngo to [back v] layer\n\nwhen I receive [change scene v]\nif <(Scene#) = [3]> then\n    go to [back v] layer\n    show\n    forever\n        start sound [Buzz Whir v]\n        glide (1) secs to x: (214) y: (113)\n        glide (0.2) secs to x: (214) y: (46)\n        start sound [Tap Conga v]\n    end\nelse\n    hide\nend\n\nwhen flag clicked\nhide\n\nwait (1) seconds\n\n@Intro\n\ndefine Go to (x) (y) size (size) dir (dir) (cos)\npoint in direction (@cam.dir)\ngo to x: (0) y: (0)\nswitch costume to (hack small v)\nset size to ((@cam.z) * (size)) %\nswitch costume to (cos)\nmove (((x) - (@cam.x)) * (@cam.z)) steps\nturn left (90) degrees\nmove (((y) - (@cam.y)) * (@cam.z)) steps\nturn right (90) degrees\npoint in direction ((@cam.dir) + (dir))\n\nwhen I receive [intro v]\nhide\nset [@slow mo v] to [3]\nset [@cam.dir v] to [90]\nset [@cam.y v] to [0]\nset [@cam.x v] to [0]\nset [name.size v] to [0]\nstart sound [Marshmello - Silence ft. Khalid \(Codeko Remix\) v]\nwait (1) seconds\nset [clone.type v] to [Name]\ncreate clone of (_myself_ v)\nbroadcast (control v)\nbroadcast (dir v)\nbroadcast (▲ v)\nwait (0.87) seconds\n▲\nset [clone.type v] to [Background]\ncreate clone of (_myself_ v)\nforever\n    change [@cam.x v] by (((0) - (@cam.x)) / (9))\n    change [@cam.y v] by (((0) - (@cam.y)) / (9))\n    change [@cam.z v] by (((1) - (@cam.z)) / (9))\n    change [name.size v] by (((100) - (name.size)) / (9))\n    set [shk.y v] to ((shk.y) * (-0.7))\n    set [shk.x v] to ((shk.x) * (-0.7))\n    change [@cam.y v] by (shk.y)\n    change [@cam.x v] by (shk.x)\n    broadcast (tick v)\nend\n\nwhen I start as a clone\nif <(clone.type) = [▲]> then\n    show\n    if <(clone.id) = [1]> then\n        \n            Go to [0] ((▲.position.y) mod (390)) size [100] dir [0] [3]\n            switch costume to (▲ v)\n        end\n    end\n    if <(clone.id) = [2]> then\n        \n            Go to [0] (((▲.position.y) mod (390)) - (390)) size [100] dir [0] [3]\n            switch costume to (▲ v)\n        end\n    end\nend\n\nwhen I receive [▲ v]\nwait (0.87) seconds\nset [▲.position.y v] to [0]\nforever\n    change [▲.position.y v] by ((10) / (@slow mo))\nend\n\ndefine ▲\nset [clone.type v] to [▲]\nset [clone.id v] to [1]\ncreate clone of (_myself_ v)\nset [clone.id v] to [2]\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nbroadcast (Intro v)\n\nwhen I receive [control v]\nwait (0.87) seconds\nshk (pick random (15) to (17))\nrepeat (5)\n    change [@slow mo v] by (((1) - (@slow mo)) / (1.2))\nend\nrepeat (10)\n    change [@slow mo v] by (((3) - (@slow mo)) / (2))\nend\nwait (0.23) seconds\nrepeat (4)\n    shk (pick random (15) to (17))\n    repeat (5)\n        change [@slow mo v] by (((1) - (@slow mo)) / (1.2))\n        change [@cam.z v] by (((2) - (@cam.z)) / (9))\n        change [name.size v] by (((115) - (name.size)) / (9))\n    end\n    repeat (10)\n        change [@slow mo v] by (((3) - (@slow mo)) / (2))\n    end\n    wait (0.23) seconds\nend\nrepeat (2)\n    shk (pick random (15) to (17))\n    repeat (5)\n        change [@slow mo v] by (((1) - (@slow mo)) / (1.2))\n        change [@cam.z v] by (((2) - (@cam.z)) / (9))\n        change [name.size v] by (((115) - (name.size)) / (9))\n    end\n    repeat (2)\n        change [@slow mo v] by (((3) - (@slow mo)) / (2))\n    end\nend\nwait (0.2) seconds\nrepeat (5)\n    change [@slow mo v] by (((1) - (@slow mo)) / (1.2))\n    change [@cam.z v] by (((2) - (@cam.z)) / (9))\n    change [name.size v] by (((115) - (name.size)) / (9))\nend\nrepeat (10)\n    change [@slow mo v] by (((3) - (@slow mo)) / (2))\nend\nwait (0.1) seconds\nrepeat (2)\n    shk (pick random (15) to (17))\n    repeat (5)\n        change [@slow mo v] by (((1) - (@slow mo)) / (1.2))\n        change [@cam.z v] by (((2) - (@cam.z)) / (9))\n        change [name.size v] by (((115) - (name.size)) / (9))\n    end\n    repeat (2)\n        change [@slow mo v] by (((3) - (@slow mo)) / (2))\n    end\nend\nwait (0) seconds\nrepeat (2)\n    shk (pick random (15) to (17))\n    repeat (5)\n        change [@slow mo v] by (((1) - (@slow mo)) / (1.2))\n        change [@cam.z v] by (((2) - (@cam.z)) / (9))\n        change [name.size v] by (((115) - (name.size)) / (9))\n    end\n    repeat (2)\n        change [@slow mo v] by (((3) - (@slow mo)) / (2))\n    end\nend\nrepeat (3)\n    shk (pick random (15) to (17))\n    repeat (5)\n        change [@slow mo v] by (((1) - (@slow mo)) / (1.2))\n        change [@cam.z v] by (((2) - (@cam.z)) / (9))\n        change [name.size v] by (((115) - (name.size)) / (9))\n    end\n    repeat (10)\n        change [@slow mo v] by (((3) - (@slow mo)) / (2))\n    end\n    wait (0.23) seconds\nend\n\nwhen I receive [dir v]\nwait (0.87) seconds\nset [dir v] to [90]\nrepeat (185)\nrepeat (5)\nset [dir v] to [90]\nset [timer v] to [2]\nrepeat (30)\n    change [dir v] by (((450) - (dir)) / (6))\nend\n\nwhen I receive [dir v]\nset [timer v] to [0]\n\n    set [@cam.dir v] to ((dir) + (([sin v] of ((timer) * (250)) ) * (2)))\n    change [timer v] by ((0.2) / (@slow mo))\nend\n\ndefine shk (amount)\nif <(pick random (0) to (1)) = [1]> then\n    if <(pick random (0) to (1)) = [1]> then\n        change [shk.x v] by (() - (amount))\n    else\n        change [shk.x v] by (16)\n    end\nelse\n    if <(pick random (0) to (1)) = [1]> then\n        change [shk.y v] by (() - (amount))\n    else\n        change [shk.y v] by (amount)\n    end\nend\n\nif <(pick random (0) to (1)) = [1]> then\n    if <(pick random (0) to (1)) = [1]> then\n        set [shk.x v] to [-16]\n    else\n        set [shk.x v] to [16]\n    end\nelse\n    if <(pick random (0) to (1)) = [1]> then\n        set [shk.y v] to [-16]\n    else\n        set [shk.y v] to [16]\n    end\nend\n\nwhen I start as a clone\nif <(clone.type) = [Background]> then\n    show\n    forever\n        set [ghost v] effect to (25)\n        go to [back v] layer\n        Go to [0] [0] size [100] dir [0] [4]\n    end\nend\n\nwhen I receive [intro v]\nwait (10.2) seconds\nshow\nset [x v] to [720]\nrepeat until <(round (x)) = [0]>\n    Go to (x) [0] size [100] dir [0] [5]\n    go to [front v] layer\n    change [x v] by (((0) - (x)) / (6))\nend\nbroadcast (Clear all v)\nwait (1) seconds\nset [effects.ghost v] to [0]\nrepeat (20)\n    change [effects.ghost v] by (((100) - (effects.ghost)) / (6))\n    set [ghost v] effect to (effects.ghost)\nend\n\nwhen I start as a clone\nif <(clone.type) = [Name]> then\n    show\n    go to [front v] layer\n    set [yv v] to [20]\n    set [name.size v] to [0]\n    repeat (3)\n        point in direction (90)\n        change [name.size v] by (yv)\n        change [yv v] by (-1.35)\n        switch costume to (hack big v)\n        set size to (name.size) %\n        switch costume to (name v)\n    end\n    repeat until <(timer) > [1.85]>\n        go to x: (0) y: (0)\n        change [name.size v] by (yv)\n        change [yv v] by (-1.35)\n        switch costume to (hack small v)\n        set size to (name.size) %\n        switch costume to (name v)\n    end\n    repeat (20)\n        Go to [0] [0] size (name.size) dir (([sin v] of ((timer) * (150)) ) * (2)) [6]\n        switch costume to (name v)\n        change [@cam.z v] by (((0.9) - (@cam.z)) / (15))\n    end\n    \n        Go to [0] [0] size (name.size) dir (([sin v] of ((timer) * (150)) ) * (2)) [6]\n        switch costume to (name v)\n    end\nend\n\nwhen I receive [clear all v]\ndelete this clone\n\nwhen I receive [intro v]\nwait until <(timer) > [1.85]>\n\nwhen flag clicked\nforever\n\ngo to [front v] layer\ngo [forward v] (999999999999999999999999999999999999999999999999999999999999) layers\n\nwhen I receive [▲ v]\nforever\n    go to [front v] layer\nend\n\nwhen I receive [clear all v]\n\nwhen I receive [clear all v]\nhide\n\n@Cover\n\nwhen flag clicked\ngo [forward v] (99999999999999999999999) layers\ngo to [front v] layer\n\nforever\nend\n\nwhen I receive [intro v]\nshow\n\nforever\nend\n\nwhen I receive [clear all v]\nhide\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go [forward v] (99999999999999999999999999999999999) layers\n    go to [front v] layer\n    go to [front v] layer\nend\n\n@Sword\n\nwhen [space v] key pressed\nbroadcast (ahhaha v)\n\nwhen flag clicked\nhide\n\nwhen [space v] key pressed\n\nwhen I receive [ahhaha v]\ngo to [back v] layer\nclear graphic effects\npoint in direction ([direction v] of [player v])\nshow\ngo to (player v)\nrepeat (10)\n    turn right (15) degrees\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen I receive [ahhaha v]\nforever\n    go to (player v)\nend\n\n@Jump through\n\ndefine Stamp Shadow\nset [brightness v] effect to (-100)\nset [ghost v] effect to (90)\nchange y by (-10)\nstamp\nchange y by (10)\nclear graphic effects\n\ndefine Stamp Outline\nset pen color to (#7f7f7f)\nset rotation style [don't rotate v]\nset [brightness v] effect to (-100)\nrepeat (8)\n    move (3.3) steps\n    stamp\n    move (-3.3) steps\n    turn right (45) degrees\nend\n\nwhen I receive [change scene v]\nswitch costume to (blank v)\nswitch costume to (join [scene] (Scene#))\nStamp Outline\nStamp Shadow\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [back v] layer\n\nwhen I receive [change scene v]\n\nwhen flag clicked\nforever\n    Stamp Outline\n    Stamp Shadow\nend\n\nwhen flag clicked\nforever\n    hide variable [fishes v]\nend\n\nclear graphic effects\n\nwhen I receive [about to change scene v]\nerase all\n\nerase all\n\n@Shadow\n\nwhen flag clicked\nshow\nforever\n    set [ghost v] effect to (70)\n    set [brightness v] effect to (-20)\n    go to [back v] layer\nend\n\nwhen flag clicked\nforever\n    go to (player v)\nend\n\nwhen flag clicked\nforever\n    point in direction ([direction v] of [player v])\n    switch costume to ([costume # v] of [player v])\nend\n\nwhen [space v] key pressed\n\nwhen I receive [lose life v]\nhide\n\nwhen I receive [thing v]\nshow\n\n@Control Stick\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nshow\nswitch costume to (stick v)\ngo [forward v] (GUI LAYERS) layers\nset [ghost v] effect to (25)\nforever\n    set [stick power v] to []\n    set [stick x v] to [0]\n    set [stick y v] to [0]\n    repeat until <mouse down?>\n        go to (Base Stick)\n    end\n    if <(distance to [mouse-pointer v]) < ((size) * (0.6))> then\n        Stick Drag\n    else\n        wait until <not <mouse down?>>\n    end\nend\n\ndefine Stick Drag\nshow\nrepeat until <not <mouse down?>>\n    go to (mouse-pointer v)\n    point towards (Base Stick)\n    turn right (180) degrees\n    set [stick direction v] to (direction)\n    set [stick power v] to (distance to [(Base Stick) v])\n    if <(STICK POWER) > (max stick)> then\n        move ((max stick) - (STICK POWER)) steps\n        set [stick power v] to (max stick)\n    end\n    set [stick power v] to ((STICK POWER) / (max stick))\n    set [stick x v] to ((STICK POWER) * ([sin v] of (STICK DIRECTION) ))\n    set [stick y v] to ((STICK POWER) * ([cos v] of (STICK DIRECTION) ))\nend\n\nwhen I receive [lol v]\ngo to [front v] layer\ngo [forward v] (GUI LAYERS) layers\nset [stick direction v] to []\nset [base stick v] to [Control Stick]\nset size to (140) %\nset [max stick v] to ((size) / (4))\nswitch costume to (base v)\nset [ghost v] effect to (60)\ncreate clone of (_myself_ v)\n\n@Cover2\n\nwhen flag clicked\nhide\ngo to (control stick v)\n\nwhen I receive [lol v]\nset [ghost v] effect to (50)\n\nwhen I receive [lol v]\nset [start game v] to [yes]\nshow\n\n@Sword button\n\nwhen this sprite clicked\nbroadcast (ahhaha v)\n\nwhen flag clicked\nset [start game v] to [no]\nhide\n\nwhen I receive [lol v]\nset [start game v] to [yes]\nif <<(start game) = [yes]> and <(ho) = [yes]>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [yes v]\nset [ho v] to [yes]\n\n@Water\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    change y by ([sin v] of (animation) )\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        set [gravity v] to [0.5]\n    else\n        set [gravity v] to [-1.5]\n    end\nend\n\nwhen flag clicked\nforever\n    change [animation v] by (15)\n    if <(Water Breathing) = [3]> then\n        broadcast (lose life v)\n        wait (1) seconds\n        broadcast (Setup v)\n        set [water breathing v] to [0]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        play sound [Splash v] until done\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n    else\n        set [water breathing v] to [0]\n    end\nend\n\ndefine Water x,y (x) (y)\ngo to x: (x) y: (y)\n\nwhen flag clicked\nhide\n\nwhen I receive [change scene v]\nif <(Scene#) = [-2]> then\n    show\n    Water x,y [-2] [65]\nelse\n    hide\nend\n\n@Sprite1\n\nwhen flag clicked\nset [de v] to [yes]\nhide\ngo to x: (150) y: (-6)\n\nwhen I receive [lol v]\nshow\n\nwhen this sprite clicked\nset [de v] to [no]\nbroadcast (Dash v)\n\n
Arrow keys or drag the joystick to move\nSpace or sword button to slice\nD to dash or dash button\nthere are bugs and glitches but its okay\nDon't use turbo mode or else..\nwell heck ya you can remix lol\nmake your own boss : https://scratch.mit.edu/projects/700460384/\npls do not insult - axel 2023\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTags\n#all #platformer #griffpatch #games #Trending #aaron_studiokode #griffpatch_tutor #fun #shadoweffects #Iwanttobefamous #loveandfav\n#followme #ilovegriffpatchtutorials #KATZRC00L #WIllwam \n#all #platformer #griffpatch #games #Trending #aaron_studiokode #griffpatch_tutor #fun #shadoweffects #Iwanttobefamous #loveandfav\n#followme #ilovegriffpatchtutorials #KATZRC00L #WIllwam