Storm Platformer! #all #games #trending #platformer

Instructions: ඞ --Hi!-- ඞ\n3 views thanks so much!\n#all #trending #games #platformer\nhttps://turbowarp.org/759229137 Might lag without turbowarp.\nPART 2 at 45 hearts or stars! Might have some fire.\n#248 on trending don’t ask why I went that far down, I was seeing how much of @Borkums338 ‘s projects were on trending. Lol

@Stage\n\n@Magic2.0000000000000000000000000000000000000000000000001\n\nwhen I receive [frame v]\nset pen size to (5)\nchange [alpha v] by (-4)\nset pen color to (#eae341)\nchange [yv v] by (-0.5)\nset pen color to (((Alpha) * (52341)) + (((200) * (7624)) + (((pick random (220) to (240)) * (256)) + (255))))\nchange pen (color v) by (177)\ngo to x: ((x position) + (xv)) y: ((y position) + (yv))\n\nwhen flag clicked\nset [clone v] to [0]\n\ndefine make\npen up\nrepeat (25)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [bang v]\nset [clone v] to [0]\nmake\n\nwhen I start as a clone\nset pen color to (#eae341)\nset [alpha v] to [80]\nset [clone v] to [1]\ngo to (ground v)\nset pen color to (((Alpha) * (16777216)) + (((200) * (65536)) + (((pick random (220) to (240)) * (256)) + (255))))\nset pen color to (#eae341)\nset [yv v] to (pick random (-2) to (10))\nset [xv v] to (pick random (-6) to (6))\npen down\n\nwhen I receive [message1 v]\nerase all\ndelete this clone\n\n@Magic\n\ndefine Init\ndelete (all) of [list v]\ndelete (all) of [listy v]\nrepeat until <(distance to [ground v]) < [50]>\n    add (x position) to [list v]\n    add (y position) to [listy v]\n    point towards (ground v)\n    turn right (pick random (-90) to (90)) degrees\n    repeat (pick random (1) to (5))\n        move (10) steps\n    end\n    add (x position) to [list v]\n    add (y position) to [listy v]\nend\ngo to (ground v)\nadd (x position) to [list v]\nadd (y position) to [listy v]\n\ndefine Draw\nset pen size to (10)\nset [alpha v] to [80]\nrepeat (5)\n    change pen size by (-2)\n    set pen color to (((Alpha) * (16777216)) + (((853) * (65536)) + (((200) * (256)) + (255))))\n    set [i v] to [1]\n    go to x: (item (i) of [list v]) y: (item (i) of [listy v])\n    pen down\n    repeat (length of [listy v])\n        go to x: (item (i) of [list v]) y: (item (i) of [listy v])\n        change [i v] by (1)\n    end\n    pen up\n    change [alpha v] by (25)\nend\n\nwhen flag clicked\nwait until <(sTART) = [1]>\nif <[0] = [0]> then\n    delete this clone\nend\nwait (1) seconds\nforever\n    wait ((3) - (pick random (1) to (3))) seconds\n    pen up\n    erase all\n    pen up\n    set y to (180)\n    set x to (pick random (-240) to (240))\n    Init\n    Draw\n    broadcast (Bang v) and wait\n    start sound [Explode v]\n    wait (0.01) seconds\n    repeat (19)\n        erase all\n        broadcast (Frame v) and wait\n    end\n    erase all\n    broadcast (message1 v)\nend\n\n@Ground\n\nwhen I receive [change scene v]\nswitch costume to (join [Ground-] (SCENE #))\n\nset [scene # v] to [11]\nbroadcast (Change Scene v)\n\nwhen flag clicked\nshow variable [scene # v]\nshow\n\nif <[1] > (Spawn protection)> then\n\n@Player\n\nwhen flag clicked\nwait until <(sTART) = [1]>\nset [gravity v] to [-1]\nset [jump force v] to [13]\nset [acceleration v] to [1.5]\nset [resistance v] to [0.8]\nset [jump duration v] to [6]\nReset and Begin Level\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 ((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 ((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\nif <touching (ground v)?> then\n    set [touching v] to [1]\nelse\n    set [touching v] to [0]\nend\n\nwhen I receive [tick - player v]\nControls - Up and Down\nControls - Left and Right\nMove - in Steps ([abs v] of (speed y) )\nSet Costume\n\ndefine Controls - Up and Down\nif <<<key (w v) pressed?> or <<key (space v) pressed?> or <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 [speed x v] to (((direction) / (90)) * (7))\n    end\n    if <<(falling) < [3]> and <(jumping) = [0]>> then\n        set [jumping v] to [1]\n        set [falling v] to [3]\n    end\n    if <<(jumping) > [0]> and <(jumping) < (JUMP DURATION)>> then\n        change [jumping v] by (1)\n        set [speed y v] to (JUMP FORCE)\n    end\nelse\n    set [jumping v] to [0]\nend\nchange [speed y v] by (GRAVITY)\nif <(wall slide) > [0]> then\n    Check Can Wall Slide\n    if <(speed y) < [0]> then\n        set [speed y v] to ((speed y) * (0.6))\n    end\nend\n\ndefine Controls - Left and Right\nset [key x v] to (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <(STICK X) > [0.5]>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <[-0.5] > (STICK X)>>)\nif <(KEY X) = [0]> then\n    if <<(falling) > [2]> and <(wall slide) < [1]>> then\n        set [speed x v] to ((speed x) * (0.98))\n        stop [this script v]\n    end\n    if <([abs v] of (speed x) ) < [1]> then\n        set [frame v] to [0]\n        set [speed x v] to [0]\n    else\n        change [frame v] by (0.5)\n    end\nelse\n    change [speed x v] by ((KEY X) * (ACCELERATION))\n    point in direction ((KEY X) * (90))\n    change [frame v] by (1)\nend\nset [speed x v] to ((speed x) * (RESISTANCE))\n\ndefine Reset and Begin Level\nclear graphic effects\npoint in direction (90)\nBegin Scene # [1] go to x, y: [-150] [50]\nset [speed y v] to [0]\nset [lives v] to (round ((Mode) * (3)))\nset [spawn protection v] to [0]\nset [speed x v] to [0]\nset [falling v] to [99]\nset [wall slide v] to [0]\nset [jumping v] to [0]\n\nwhen I receive [game loop v]\nclear graphic effects\nforever\n    broadcast (Tick - First 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 <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 (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]\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 [player: temp v] to (direction)\nset [distance v] to [1]\npoint in direction (dir)\nrepeat (64)\n    Check Touching Solid\n    if <(touching) < [1]> then\n        point in direction (Player: 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]\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 <(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 [speed x v] to [0]\n        stop [this script v]\n    end\n    set [speed x v] to ((speed x) * (0.8))\nend\nset [speed x v] to ((speed x) * (0.95))\nSlip\n\ndefine Collide Y - Ceiling or Floor\nset y to (last value)\nif <(speed y) > [0]> then\n    set [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 [speed y v] to ((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 [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 [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 [spawn protection v] to [5]\nchange [lives v] by (-1)\nstop [other scripts in sprite v]\nset [brightness v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change [pixelate v] effect by (25)\nend\nclear graphic effects\nif <(Lives) = [0]> then\n    Reset and Begin Level\nelse\n    Begin Scene # (SCENE #) go to x, y: [-150] [0]\nend\nrepeat (10)\n    change [color v] effect by (25)\n    wait (.3) seconds\nend\nset [spawn protection v] to [0]\nclear graphic effects\n\nwhen I receive [tick - player v]\nif <(SCENE #) = [1]> then\n    set [scene rain y v] to [150]\n    set [rain least x v] to [-150]\nelse\n    if <(SCENE #) = [2]> then\n        set [rain least x v] to [-220]\n        set [scene rain y v] to [150]\n    else\n        if <(SCENE #) = [3]> then\n            set [scene rain y v] to [150]\n            set [rain least x v] to [-220]\n        else\n            if <(SCENE #) = [4]> then\n                set [scene rain y v] to [150]\n                set [rain least x v] to [-220]\n            else\n                if <(SCENE #) = [5]> then\n                    set [rain least x v] to [-280]\n                    set [scene rain y v] to [480]\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nwait until <(sTART) = [1]>\nshow\n\nwhen flag clicked\nset [spawn protection v] to [0]\n\n@Rain\n\nwhen flag clicked\nhide\nwait until <(sTART) = [1]>\nforever\n    wait (0.0061784596231) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nshow\nset size to (10) %\nswitch costume to (costume1 v)\ngo to x: (pick random (220) to (Rain least x)) y: (Scene rain y)\nrepeat until <<touching (ground v)?> or <touching (player v)?>>\n    change y by (-25)\nend\nswitch costume to (costume2 v)\nrepeat (10)\n    set size to ((size) * (1.15427345)) %\n    point in direction (pick random (direction) to (100))\nend\ndelete this clone\n\nwhen flag clicked\nwait until <(sTART) = [1]>\nforever\n    play sound [Rain v] until done\nend\n\n@Danger\n\nwhen I receive [change scene v]\nswitch costume to (blank v)\nswitch costume to (join [Ground-] (SCENE #))\n\nwhen flag clicked\nshow\n\nset [scene # v] to [10]\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (2.4)\ngo to [front v] layer\nset [ghost v] effect to (0)\nwait until <(sTART) = [1]>\nrepeat (100)\n    if <(sTART) = [1]> then\n        set y to ((y position) * (1.2))\n    end\nend\ngo to [front v] layer\nset [ghost v] effect to (100)\nforever\n    set [ghost v] effect to (100)\nend\n\nwhen [timer v] > ((timer) + (0.01))\nhide variable [scene # v]\ngo to x: (0) y: (240)\nclear graphic effects\ngo to [front v] layer\nforever\n    set y to ((y position) / (1.2))\nend\n\nwhen flag clicked\nforever\n    set [timer v] to (timer)\nend\n\n@Keep It Up!\n\nwhen I receive [lose life v]\nswitch costume to (pick random (1) to (3))\nclear graphic effects\nshow\nset size to (100) %\nrepeat (10)\n    wait (.1) seconds\n    change [color v] effect by (25)\nend\nrepeat (15)\n    change [mosaic v] effect by (2)\n    set size to ((size) / (1.2)) %\n    change [fisheye v] effect by (25)\n    change [whirl v] effect by (10)\n    change [color v] effect by (25)\nend\nhide\n\nwhen flag clicked\nhide\n\n@Lives\n\nwhen flag clicked\ngo to x: (0) y: (100)\nset size to (40) %\nforever\n    if <(Lives) = [∞]> then\n        switch costume to (∞ v)\n    end\n    if <(Lives) = [7]> then\n        switch costume to (7 v)\n    end\n    if <(Lives) = [6]> then\n        switch costume to (6 v)\n    end\n    if <(Lives) = [5]> then\n        switch costume to (5 v)\n    end\n    if <(Lives) = [4]> then\n        switch costume to (4 v)\n    end\n    if <(Lives) = [3]> then\n        switch costume to (3 v)\n    end\n    if <(Lives) = [2]> then\n        switch costume to (2 v)\n    end\n    if <(Lives) = [1]> then\n        switch costume to (1 v)\n        repeat (3)\n            change [color v] effect by (25)\n            wait (0.1) seconds\n            change [color v] effect by (-25)\n            wait (0.1) seconds\n        end\n    end\n    if <(Lives) = [0]> then\n        switch costume to (0 v)\n    end\nend\n\nwhen [i v] key pressed\nset [lives v] to [∞]\n\n@Play\n\nwhen flag clicked\nset [start v] to [0]\nshow\ngo to [front v] layer\nrepeat until <<mouse down?> and <touching (mouse-pointer v)?>>\n    if <touching (mouse-pointer v)?> then\n        set size to (120) %\n    else\n        set size to (100) %\n    end\nend\nbroadcast (Mode Choice v)\nhide\n\n@Sprite1\n\nwhen I receive [mode choice v]\nwait (0.5) seconds\ngo to [front v] layer\nshow\nrepeat until <<<mouse down?> and <touching (mouse-pointer v)?>> or <(sTART) = [1]>>\n    if <touching (mouse-pointer v)?> then\n        set size to (120) %\n    else\n        set size to (100) %\n    end\nend\nif <<mouse down?> and <touching (mouse-pointer v)?>> then\n    set [mode v] to [2]\nend\nset [start v] to [1]\nhide\n\nwhen flag clicked\nhide\n\n@Sprite2\n\nwhen I receive [mode choice v]\nwait (0.5) seconds\ngo to [front v] layer\nshow\nrepeat until <<<mouse down?> and <touching (mouse-pointer v)?>> or <(sTART) = [1]>>\n    if <touching (mouse-pointer v)?> then\n        set size to (120) %\n    else\n        set size to (100) %\n    end\nend\nif <<mouse down?> and <touching (mouse-pointer v)?>> then\n    set [mode v] to [1]\nend\nset [start v] to [1]\nhide\n\nwhen flag clicked\nhide\n\n@Sprite3\n\nwhen I receive [mode choice v]\nwait (0.5) seconds\ngo to [front v] layer\nshow\nrepeat until <<<mouse down?> and <touching (mouse-pointer v)?>> or <(sTART) = [1]>>\n    if <touching (mouse-pointer v)?> then\n        set size to (120) %\n    else\n        set size to (100) %\n    end\nend\nif <<mouse down?> and <touching (mouse-pointer v)?>> then\n    set [mode v] to [0.3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333]\nend\nset [start v] to [1]\nhide\n\nwhen flag clicked\nhide\n\n@Heart\n\nwhen I receive [change scene v]\nset size to (50) %\nif <(SCENE #) = [11]> then\n    show\n    repeat until <touching (player v)?>\n        repeat (10)\n            set size to ((size) * (1.1)) %\n        end\n        repeat (10)\n            set size to ((size) / (1.1)) %\n        end\n    end\n    change [lives v] by (1)\n    hide\nelse\n    hide\nend\n\n@Control Stick\n\nwhen flag clicked\nset [mobile freindly v] to [0]\nset [myself v] to [Control Stick]\nshow\nset size to (200) %\nset [max stick v] to ((size) / (4))\nswitch costume to (base v)\nset [ghost v] effect to (60)\ncreate clone of (_myself_ v)\nforever\n    if <(Mobile freindly) = [1]> then\n        hide\n    end\nend\n\nwhen I start as a clone\nswitch costume to (stick v)\nshow\ngo [forward v] (1) 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 (myself)\n        if <(Mobile freindly) = [1]> then\n            hide\n        end\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\nrepeat until <not <mouse down?>>\n    go to (mouse-pointer v)\n    point towards (myself)\n    turn right (180) degrees\n    set [stick direction v] to (direction)\n    set [stick power v] to (distance to [(myself) 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 [4 v] key pressed\nhide\n\nwhen [5 v] key pressed\nshow\n\n