AMOGUS PLATFORMER
@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nerase all\n\nwhen I receive [start v]\nforever\n    broadcast (forever v)\n    if <(SCENE #) > [200]> then\n        switch backdrop to (false3 v)\n    else\n        if <(SCENE #) > [100]> then\n            switch backdrop to (false2 v)\n        else\n            switch backdrop to (false v)\n        end\n    end\nend\n\n@Player\n\ndefine Moved By Moving Platforms\nchange x by (PLATFORM DX)\nchange y by (PLATFORM DY)\nCheck If Touching Solid \nif <(touching solid?) > [0]> then\n    find closest space (x position) (y position) max [16]\n    if <(touching solid?) > [0]> then\n        broadcast (loselife v)\n    end\nend\n\nwhen [p v] key pressed\nbroadcast (pause game v)\n\nwhen I receive [pause game v]\nif <(PAUSED?) = [0]> then\n    hide\n    broadcast (pause v)\n    stop [other scripts in sprite v]\n    set [paused? v] to [1]\nelse\n    set [paused? v] to [0]\n    show\n    broadcast (unpause v)\n    broadcast (game loop v)\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 ((speed x) / (steps))\n    Check toching solid\n    if <(touching solid?) > [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 toching solid\n    if <(touching solid?) > [0]> then\n        Collide y? - Ceiling or floor?\n    end\nend\n\ndefine Check toching solid\nif <<touching (level v)?> or <touching (moving platform v)?>> then\n    set [touching solid? v] to [1]\nelse\n    set [touching solid? v] to [0]\nend\n\nwhen I receive [tick v]\nclear graphic effects\nMoved By Moving Platforms\nCONTROLS - UP AND DOWN\nControls - Left And Right\nMove in steps (([abs v] of (speed x) ) + ([abs v] of (speed y) ))\nSet Costume\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 [key x v] to ((RIGHT) - (LEFT))\nif <(KEY X) = [0]> then\n    if <<(falling) > [2]> and <(wall slide) < [1]>> then\n        set [speed x v] to ((speed x) * (0.95))\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.25)\n    end\nelse\n    change [speed x v] by ((ACCELERATION) * (KEY X))\n    if <not <(direction) = ((90) * (KEY X))>> then\n        set [wall slide v] to [0]\n    end\n    point in direction ((90) * (KEY X))\n    change [frame v] by (0.5)\nend\nset [speed x v] to ((speed x) * (RESISTENCE))\n\ndefine Reset And Begin Level\nclear graphic effects\nset [speed y 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]\nset [long jump v] to [0]\npoint in direction (90)\nBegin scence # (SPAWN SCENE) x (SPAWN X) y (SPAWN Y)\n\nwhen I receive [game loop v]\nforever\n    broadcast (tick - first v)\n    broadcast (tick v)\n    broadcast (tick - Last v)\n    set [platform dx v] to []\n    set [platform dy v] to []\nend\n\nwhen I receive [tick - last v]\nif <(x position) > [230]> then\n    Begin scence # ((SCENE #) + (1)) x [-230] y (y position)\nelse\n    if <(x position) < [-230]> then\n        Begin scence # ((SCENE #) + (-1)) x [230] y (y position)\n    end\nend\nif <(y position) > [180]> then\n    Begin scence # ((SCENE #) + (100)) x (x position) y [-170]\nelse\n    if <(y position) < [-180]> then\n        Begin scence # ((SCENE #) + (-100)) x (x position) y [170]\n    end\nend\nif <touching (danger v)?> then\n    broadcast (loselife v)\nend\nif <touching (apple v)?> then\n    broadcast (win - restart v)\nend\n\ndefine Begin scence # (scence #) x (numbax) y (numbay)\nset [scene # v] to (scence #)\nset x to (numbax)\nset y to (numbay)\nswitch costume to (hitbox v)\nset rotation style [don't rotate v]\nbroadcast (Clear Clone v)\nbroadcast (change scence v)\nbroadcast (game loop v)\n\nwhen I receive [tick - first v]\nswitch costume to (hitbox 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 (e69 v)\n    stop [this script v]\nend\nif <(falling) > [2]> then\n    if <(speed y) > [0]> then\n        switch costume to (e1 v)\n    else\n        switch costume to (e1 v)\n    end\n    stop [this script v]\nend\nif <(frame) > [0]> then\n    switch costume to ((34) + (([floor v] of (frame) ) mod (8)))\nelse\n    switch costume to (e1 v)\nend\nstop [this script v]\n\ndefine Collide x? - Slope or wall\nCheck can wall slide\nchange y by (1)\nCheck toching solid\nif <(touching solid?) > [0]> then\n    change y by (1)\n    Check toching solid\n    if <(touching solid?) > [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.4))\n\ndefine Slip\nchange y by (-2)\nchange x by (1)\nCheck toching solid\nif <(touching solid?) < [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 toching solid\nif <(touching solid?) < [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) < [5]> 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 toching solid\nset [wall slide v] to (touching solid?)\nswitch costume to (hitbox v)\nset rotation style [don't rotate v]\n\nwhen I receive [start v]\nshow\nbroadcast (clear v)\nif <(.PRO MODE) = [1]> then\n    set [lives v] to [1]\nelse\n    if <(.PRO MODE) = [baby]> then\n        set [lives v] to [Infinity]\n    else\n        set [lives v] to [5]\n    end\nend\nset [gravity v] to [-1.5]\nset [jumpforce v] to [12]\nset [acceleration v] to [0.6]\nset [resistence v] to [0.91]\nset [friction v] to [0.8]\nset [jump duration v] to [6]\nset [spawn scene v] to [1]\nset [spawn x v] to [-150]\nset [spawn y v] to [55]\nbroadcast (Setup v) and wait\nReset And Begin Level\n\nwhen flag clicked\nset [music v] to [0]\nhide\n\nwhen I receive [loselife v]\nstart sound [Kill v]\nset [dead v] to [1]\nstop [other scripts in sprite v]\nswitch costume to (costume2 v)\npoint in direction (90)\nwait (0.1) seconds\nset rotation style [all around v]\npoint in direction (0)\nswitch costume to (costume3 v)\nrepeat (10)\n    turn right (9) degrees\nend\nwait (0.5) seconds\nif <not <(.PRO MODE) = [baby]>> then\n    change [lives v] by (-1)\n    if <(Lives) = [0]> then\n        broadcast (meeting v)\n    end\nend\nReset And Begin Level\nset [dead v] to [0]\n\ndefine find closest space (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 toching solid\n        if <(touching solid?) < [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\ndefine stamp shadow\n\nchange [brightness v] effect by (-999)\nset [ghost v] effect to (90)\nset [id v] to [shadow]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nforever\n    switch costume to (e1 v)\n    go to [back v] layer\n    say (id)\n    go to x: (PLAYER X) y: ((PLAYER Y) - (5))\nend\n\nwhen flag clicked\nstamp shadow\nclear graphic effects\nset [id v] to [main]\nhide variable [level # v]\n\nwhen I receive [forever v]\ngo to [front v] layer\ngo [backward v] (5) layers\nset [player x v] to (x position)\nset [player y v] to (y position)\n\nwhen I receive [jump sussy baka v]\nset [speed y v] to [10]\n\ndefine CONTROLS - UP AND DOWN\nif <(UP) = [1]> 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        set [long jump v] to [12]\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 (JUMPFORCE)\n    end\nelse\n    set [jumping v] to [0]\nend\nchange [speed y v] by (GRAVITY)\nCheck can wall slide\nif <(wall slide) > [0]> then\n    Check Can Wall Slide\n    if <(speed y) < [0]> then\n        set [speed y v] to ((speed y) * (.6))\n    end\nend\n\ndefine Controls - Up and Down\n\n@Level\n\nwhen flag clicked\nhide\nset [scene # v] to [0]\ngo to x: (0) y: (0)\ngo to [back v] layer\n\nwhen I receive [change scence v]\nshow\nswitch costume to (join (join [Scene] (SCENE #)) (join [_] (LEVEL #)))\nerase all\nstamp shadow\noutline\n\ndefine stamp shadow\nchange [brightness v] effect by (-999)\nset [ghost v] effect to (90)\nchange y by (-20)\nstamp\nchange y by (20)\nclear graphic effects\n\ndefine outline\nset rotation style [don't rotate v]\nchange [brightness v] effect by (-999)\nrepeat (8)\n    move (3) steps\n    stamp\n    move (-3) steps\n    turn right (45) degrees\nend\nclear graphic effects\n\n@ScratchNapped 2!\n\nwhen flag clicked\nhide\n\nwhen I receive [win - restart v]\nswitch costume to (costume1 v)\nshow\ngo to [front v] layer\nwait until <key (space v) pressed?>\nbroadcast (Start v)\nhide\n\nwhen I receive [meeting v]\nswitch costume to (costume2 v)\nshow\ngo to [front v] layer\nwait until <key (space v) pressed?>\nbroadcast (Start v)\nhide\n\nwhen I receive [forever v]\ngo to [front v] layer\ngo [backward v] (1) layers\n\nforever\n\nshow\ngo to [front v] layer\n\n@Animation2\n\nwhen flag clicked\nset [lives v] to []\nset [level # v] to [0]\nshow\ngo to x: (181) y: (-79)\npoint in direction (-90)\nswitch costume to (walk1_miss v)\nrepeat (13)\n    change [costume v] by (1)\n    broadcast (change x v)\n    if <(costume) > [4]> then\n        set [costume v] to [1]\n    end\n    wait (.1) seconds\nend\nswitch costume to (walk1_miss v)\nwait (1) seconds\nset [speed y v] to [12]\nrepeat (23)\n    switch costume to (jump_miss v)\n    change [speed y v] by (-1)\n    change y by (speed y)\nend\nswitch costume to (walk1_miss v)\nforever\n    repeat (13)\n        change [costume v] by (1)\n        broadcast (change x v)\n        if <(costume) > [4]> then\n            set [costume v] to [1]\n        end\n        wait (.1) seconds\n    end\nend\n\nwhen I receive [change x v]\nrepeat (5)\n    switch costume to (costume1 v)\n    change x by (-3)\n    switch costume to (costume)\nend\n\nwhen [space v] key pressed\nif <(Lives) = []> then\n    broadcast (Menu v)\nend\n\nwhen I receive [menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nforever\n    if <mouse down?> then\n        if <(Lives) = []> then\n            broadcast (Menu v)\n        end\n    end\nend\n\n@Made In Scratch\n\nwhen I receive [made in scratch v]\nset [ghost v] effect to (100)\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nbroadcast (Menu v)\nhide\n\nwhen flag clicked\ngo to [front v] layer\nswitch backdrop to (backdrop1 v)\nhide\n\nwhen I receive [menu v]\nhide\nstop [other scripts in sprite v]\n\n@Animation\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nwait until <touching (animation2 v)?>\nrepeat (100)\n    switch costume to (big v)\n    change y by (3)\n    switch costume to (costume1 v)\nend\nswitch costume to (big v)\ngo to x: (0) y: (-500)\nrepeat (50)\n    switch costume to (big v)\n    change y by (8)\n    switch costume to (game title v)\nend\nwait (1) seconds\nbroadcast (made in scratch v)\nwait (2) seconds\nhide\n\nbroadcast (Start v)\n\nwhen I receive [menu v]\nhide\nstop [other scripts in sprite v]\n\n@Danger\n\nwhen flag clicked\nhide\nset [scene # v] to [0]\ngo to x: (0) y: (0)\ngo to [back v] layer\n\nwhen I receive [change scence v]\nshow\nswitch costume to (join (join [Scene] (SCENE #)) (join [_] (LEVEL #)))\nif <not <(SCENE #) = [7]>> then\n    outline\nend\nforever\n    if <(SCENE #) = [7]> then\n        set y to ((5) * ([sin v] of ((timer) * (180)) ))\n    end\nend\n\nwhen I receive [start v]\nforever\n    play sound ((1) + ((MUSIC) mod (2))) until done\nend\n\ndefine stamp shadow\nchange [brightness v] effect by (-999)\nset [ghost v] effect to (90)\nchange y by (-20)\nstamp\nchange y by (20)\nclear graphic effects\n\ndefine outline\nset rotation style [don't rotate v]\nchange [brightness v] effect by (-999)\nrepeat (8)\n    move (3) steps\n    stamp\n    move (-3) steps\n    turn right (45) degrees\nend\nclear graphic effects\n\n@Moving Platform\n\nwhen I receive [change scence v]\nshow\nif <(LEVEL #) = [1]> then\n    Level 1 spawns\nelse\n    Level 2 Spawns\nend\nhide\n\ndefine Animate Platform\nforever\n    glide (1) secs to x: ((x position) + (46)) y: ((y position) - (27))\n    wait (.2) seconds\n    glide (1) secs to x: ((x position) + (49)) y: ((y position) + (27))\n    wait (.2) seconds\n    glide (1) secs to x: ((x position) - (95)) y: (y position)\n    wait (.2) seconds\nend\n\nwhen I receive [tick - first v]\ngo to [front v] layer\ngo [backward v] (2) layers\ntick (x position) (y position)\nset [last x v] to (x position)\nset [last y v] to (y position)\n\ndefine tick (new x) (new y)\nif <(turn) > []> then\n    change y by (4)\n    if <touching (player v)?> then\n        Rotation Maths CCW ((0) - (turn))\n    end\nelse\n    if <(new y) > (last y)> then\n        change y by (1)\n    else\n        set y to ((last y) + (1))\n    end\n    if <touching (player v)?> then\n        set [platform dx v] to ((new x) - (last x))\n        set [platform dy v] to ((new y) - (last y))\n    end\nend\ngo to x: (new x) y: (new y)\n\nwhen flag clicked\nhide\n\ndefine Door at (x) (y) key (key name) Amount (amount)\nshow\nswitch costume to (key name)\ngo to x: (x) y: (y)\nforever\n    wait until <touching (player v)?>\n    if < (key name) contains [Key]?> then\n        if <[collected v] contains (key name)?> then\n            repeat (10)\n                change y by (4)\n            end\n            wait (1) seconds\n            repeat (10)\n                change y by (-4)\n            end\n        end\n    else\n        if <<(AMOGUS COINS) > (amount)> or <(AMOGUS COINS) = (amount)>> then\n            repeat (10)\n                change y by (4)\n            end\n            wait (1) seconds\n            repeat (10)\n                change y by (-4)\n            end\n        end\n    end\nend\n\ndefine Amimate 2\nshow\nforever\n    glide (1) secs to x: ((x position) - (101)) y: (y position)\n    wait (.2) seconds\n    glide (1) secs to x: ((x position) + (101)) y: (y position)\n    wait (.2) seconds\nend\n\nwhen I receive [setup v]\ndelete this clone\n\ndefine Level 1 spawns\nif <(SCENE #) = [1]> then\n    Spawn [Platform] at [-56] [7] [90] Amount (Coin doors) [] Turn []\nend\nif <(SCENE #) = [102]> then\n    Spawn [Platform] at [-56] [7] [90] Amount (Coin doors) [] Turn []\nend\nif <(SCENE #) = [8]> then\n    Spawn [Key_Y] at [51] [-76] [90] Amount (Coin doors) [] Turn []\nend\nif <(SCENE #) = [4]> then\n    Spawn [D_Coin] at [113] [-71] [90] Amount (Coin doors) [7] Turn []\nend\nif <(SCENE #) = [201]> then\n    Spawn [D_Coin] at [121] [-72] [90] Amount (Coin doors) [13] Turn []\nend\nif <(SCENE #) = [203]> then\n    Spawn [D_Coin] at [230] [104] [90] Amount (Coin doors) [25] Turn []\nend\nif <(SCENE #) = [208]> then\n    Spawn [D_Coin] at [28] [100] [90] Amount (Coin doors) [25] Turn []\nend\nif <(SCENE #) = [202]> then\n    Spawn [Platform] at [-74] [3] [90] Amount (Coin doors) [] Turn []\nend\nif <(SCENE #) = [0]> then\n    Spawn [Rotating longer boi] at [1] [4] [90] Amount (Coin doors) [] Turn [2]\nend\nif <(SCENE #) = [1]> then\n    Spawn [Key_Y2] at [-193] [-89] [90] Amount (Coin doors) [] Turn []\nend\n\ndefine Level 2 Spawns\nif <(SCENE #) = [1]> then\n    Spawn [Platform] at [150] [10] [90] Amount (Coin doors) [] Turn []\n    Spawn [Platform] at [-150] [10] [90] Amount (Coin doors) [] Turn []\n    Spawn [Rotating long boi] at [0] [0] [90] Amount (Coin doors) [] Turn [1]\nend\n\ndefine Animate 3\nshow\nforever\n    glide (2) secs to x: (x position) y: ((y position) - (164))\n    wait (.2) seconds\n    glide (2) secs to x: (x position) y: ((y position) + (164))\n    wait (.2) seconds\nend\n\nwhen I receive [clear clone v]\ndelete this clone\n\ndefine Spawn (type) at (x) (y) (dir) Amount (Coin doors) (amount) Turn (degrees)\nset [turn v] to (degrees)\nshow\nswitch costume to (type)\ngo to x: (x) y: (y)\npoint in direction (dir)\nset [coin door amount v] to (amount)\ncreate clone of (_myself_ v)\n\nset [amogus coins v] to [69]\n\ngo to x: (-74) y: (3)\n\ngo to x: (-56) y: (7)\n\ngo to x: (2) y: (5)\n\ngo to x: (-56) y: (7)\n\nwhen I start as a clone\nshow\nif < (costume [name v]) contains [Key]?> then\n    Door at (x position) (y position) key (costume [name v]) Amount []\nend\nif < (costume [name v]) contains [Coin]?> then\n    Door at (x position) (y position) key [Coin] Amount (coin door amount)\nend\nif <(turn) > []> then\n    set rotation style [all around v]\n    forever\n        turn right (turn) degrees\n    end\nend\nif <(LEVEL #) = [1]> then\n    if <(SCENE #) = [1]> then\n        Animate Platform\n    end\n    if <(SCENE #) = [102]> then\n        Animate Platform\n    end\n    if <(SCENE #) = [202]> then\n        Amimate 2\n    end\nelse\n    if <(SCENE #) = [1]> then\n        Animate 3\n    end\nend\n\ndefine Rotation Maths CCW (ccw)\nset [dx v] to (([x position v] of [player v]) - (x position))\nset [dy v] to (([y position v] of [player v]) - (y position))\nset [sin v] to ([sin v] of (ccw) )\nset [cos v] to ([cos v] of (ccw) )\nset [platform dx v] to ((((dx) * (cos)) - ((dy) * (sin))) - (dx))\nset [platform dy v] to ((((dx) * (sin)) + ((dy) * (cos))) - (dy))\n\n@Apple\n\nwhen I receive [change scence v]\nshow\nif <(SCENE #) = [108]> then\n    switch costume to (scene108 v)\nelse\n    switch costume to (sceneblank v)\nend\n\n@COIN\n\nwhen I receive [change scence 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 (([sin v] of (frame) ) * (0.5))\n    change [frame v] by (5)\nend\nif <(costume [number v]) = [1]> then\n    change [amogus coins v] by (1)\n    start sound [Coin v]\nelse\n    add [Key_Y] to [collected v]\n    add [Key_Y2] to [collected v]\n    start sound [Wand v]\nend\nset [my scene v] to []\nrepeat (20)\n    change y by (2)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\nwhen I receive [setup v]\ndelete all of [collected v]\nset [frame v] to [0]\nset [amogus coins v] to [0]\ngo to [front v] layer\nshow\nhide\nif <(LEVEL #) = [1]> then\n    Level 1 spawns\nend\n\ndefine Place (costume) scene (scene) xy (x) (y)\nswitch costume to (costume)\nset [my scene v] to (scene)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\nset [my scene v] to []\n\nwhen I receive [clear v]\ndelete this clone\n\ndefine Level 1 spawns\nPlace [1] scene [1] xy [53] [-65]\nPlace [1] scene [1] xy [156] [57]\nPlace [1] scene [101] xy [205] [37]\nPlace [1] scene [2] xy [89] [-88]\nPlace [1] scene [3] xy [111] [-80]\nPlace [2] scene [203] xy [17] [107]\nPlace [1] scene [102] xy [166] [-25]\nPlace [1] scene [103] xy [-91] [-88]\nPlace [1] scene [203] xy [-60] [107]\nPlace [1] scene [203] xy [111] [107]\nPlace [1] scene [202] xy [-70] [-37]\nPlace [1] scene [4] xy [80] [99]\nPlace [1] scene [4] xy [201] [139]\nPlace [1] scene [5] xy [201] [139]\nPlace [1] scene [5] xy [-191] [-96]\nPlace [1] scene [105] xy [90] [85]\nPlace [1] scene [6] xy [-105] [134]\nPlace [1] scene [6] xy [100] [181]\nPlace [1] scene [7] xy [-100] [-6]\nPlace [1] scene [107] xy [7] [-100]\nPlace [1] scene [0] xy [-77] [70]\nPlace [1] scene [0] xy [-187] [-92]\nPlace [1] scene [0] xy [118] [48]\nPlace [1] scene [0] xy [-192] [134]\nPlace [1] scene [0] xy [8] [-90]\nPlace [1] scene [201] xy [190] [-72]\n\n@Among us not working\n\nwhen flag clicked\n\nshow\n\ngo to [front v] layer\n\nstop [all v]\n\n@Checkpoint\n\nwhen I receive [change scence v]\nif <(SCENE #) = (my scene)> then\n    show\nelse\n    hide\nend\n\nwhen I start as a clone\nforever\n    if <touching (player v)?> then\n        set [spawn scene v] to (SCENE #)\n        set [spawn x v] to (x position)\n        set [spawn y v] to (y position)\n    end\n    if <<<(SPAWN SCENE) = (SCENE #)> and <(SPAWN X) = (x position)>> and <(SPAWN Y) = (y position)>> then\n        switch costume to (2 v)\n    else\n        switch costume to (1 v)\n    end\nend\n\nwhen I receive [setup v]\ndelete all of [collected v]\nset [frame v] to [0]\nset [amogus coins v] to [0]\ngo to [front v] layer\nshow\nhide\nset [my scene v] to []\nif <(LEVEL #) = [1]> then\n    Level 1 spawns\nend\n\ndefine Place (costume) scene (scene) xy (x) (y)\nswitch costume to (costume)\nset [my scene v] to (scene)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\nset [my scene v] to []\n\nwhen I receive [clear v]\ndelete this clone\n\ndefine Level 1 spawns\nPlace [1] scene [4] xy [155] [-111]\nPlace [1] scene [1] xy [-29] [-110]\nPlace [1] scene [202] xy [-166] [-118]\n\n@UI\n\nwhen I receive [forever v]\ngo to [front v] layer\n\nwhen flag clicked\nhide\nhide variable [amogus coins v]\nhide variable [lives v]\nhide variable [scene # v]\n\nwhen I receive [start v]\nshow\nshow variable [amogus coins v]\nshow variable [lives v]\nshow variable [scene # v]\n\n@Play button\n\nwhen I receive [menu v]\nshow\nforever\n    go to [front v] layer\n    go [backward v] (4) layers\n    if <touching (mouse-pointer v)?> then\n        change size by (((120) - (size)) / (5))\n    else\n        change size by (((100) - (size)) / (5))\n    end\nend\n\nwhen this sprite clicked\nhide\nset [.pro mode v] to [0]\nbroadcast (Start v)\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nhide\n\n@Sprite1\n\nwhen I receive [menu v]\nshow\nforever\n    go to [front v] layer\n    go [backward v] (4) layers\n    if <touching (mouse-pointer v)?> then\n        change size by (((120) - (size)) / (5))\n    else\n        change size by (((100) - (size)) / (5))\n    end\nend\n\nwhen this sprite clicked\nhide\nset [.pro mode v] to [1]\nbroadcast (Start v)\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nhide\n\n@Screen\n\nwhen I receive [menu v]\nshow\nforever\n    go to [front v] layer\n    go [backward v] (7) layers\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nhide\n\nwhen I receive [menu v]\nshow\nforever\n    next costume\n    wait (.1) seconds\nend\n\n@AMong us\n\nwhen I receive [menu v]\nshow\nforever\n    go to [front v] layer\n    go [backward v] (1) layers\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nhide\n\n@Imposter\n\nwhen flag clicked\nhide\n\nwhen I receive [change scence v]\nif <(LEVEL #) = [1]> then\n    Level 1 Spawns\nend\n\nwhen I start as a clone\nshow\nforever\n    change [costume v] by (1)\n    if <(costume) > [8]> then\n        set [costume v] to [1]\n    end\n    wait (0.04) seconds\nend\n\nwhen I receive [clear clone v]\ndelete this clone\n\nwhen I start as a clone\nset [speed y v] to [0]\nforever\n    move down\n    Move - Left or Right\n    if <<(dead) = [0]> and <touching (player v)?>> then\n        if <([speed y v] of [player v]) < [-3]> then\n            imposter is dead ahhahahahahaha\n        else\n            broadcast (loselife v)\n        end\n    end\nend\n\ndefine move down\nswitch costume to (costume3 v)\nchange [speed y v] by (-1)\nchange y by (speed y)\nrepeat until <not <touching (level v)?>>\n    set [speed y v] to [0]\n    change y by (1)\nend\n\ndefine Move - Left or Right\nswitch costume to (costume3 v)\nmove (2) steps\nrepeat (4)\n    if <not <<touching (level v)?> or <touching (_edge_ v)?>>> then\n        if <not <<touching (safe v)?> or <touching (moving platform v)?>>> then\n            switch costume to (costume)\n            stop [this script v]\n        end\n    end\n    change y by (1)\nend\nchange y by (-4)\nmove (-2) steps\nturn right (180) degrees\nswitch costume to (costume)\n\ndefine imposter is dead ahhahahahahaha\nbroadcast (jump sussy baka v)\ngo to [front v] layer\nstart sound [Kill v]\nstop [other scripts in sprite v]\nswitch costume to (costume1 v)\npoint in direction (90)\nwait (0.1) seconds\nset rotation style [all around v]\npoint in direction (0)\nswitch costume to (costume2 v)\nrepeat (10)\n    turn right (9) degrees\nend\nwait (0.5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\ndefine Spawn (type) at (x) (y) (dir)\ngo to x: (x) y: (y)\npoint in direction (dir)\ncreate clone of (_myself_ v)\n\ndefine Level 1 Spawns\nif <(SCENE #) = [2]> then\n    Spawn [Imposter] at [-7] [-94] [90]\nend\nif <(SCENE #) = [202]> then\n    Spawn [Imposter] at [-11] [23] [-90]\nend\nif <(SCENE #) = [8]> then\n    Spawn [Imposter] at [17] [-98] [-90]\nend\nif <(SCENE #) = [3]> then\n    Spawn [Imposter] at [-54] [53] [90]\nend\nif <(SCENE #) = [4]> then\n    Spawn [Imposter] at [76] [-97] [90]\nend\nif <(SCENE #) = [5]> then\n    Spawn [Imposter] at [-107] [-93] [-90]\n    Spawn [Imposter] at [75] [-97] [90]\nend\nif <(SCENE #) = [6]> then\n    Spawn [Imposter] at [75] [-97] [90]\nend\nif <(SCENE #) = [7]> then\n    if <([y position v] of [player v]) > [10]> then\n        Spawn [Imposter] at [-222] [-96] [90]\n        Spawn [Imposter] at [-210] [-96] [-90]\n    end\n    Spawn [Imposter] at [32] [12] [-90]\nend\nif <(SCENE #) = [102]> then\n    Spawn [Imposter] at [-122] [36] [-90]\nend\n\n@Safe\n\nwhen flag clicked\nhide\nset [scene # v] to [0]\ngo to x: (0) y: (0)\ngo to [back v] layer\n\nwhen I receive [change scence v]\nset [ghost v] effect to (100)\nshow\nswitch costume to (join (join [Scene] (SCENE #)) (join [_] (LEVEL #)))\n\nset [amogus coins v] to [69]\n\n@Baby mode\n\nwhen I receive [menu v]\nshow\nforever\n    go to [front v] layer\n    go [backward v] (4) layers\n    if <touching (mouse-pointer v)?> then\n        change size by (((130) - (size)) / (5))\n    else\n        change size by (((100) - (size)) / (5))\n    end\nend\n\nwhen this sprite clicked\nhide\nset [.pro mode v] to [baby]\nbroadcast (Start v)\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nset [level # v] to [1]\nshow variable [level # v]\nhide\n\n@Mobile\n\nwhen I receive [menu v]\nshow\nforever\n    go to [front v] layer\n    go [backward v] (3) layers\n    if <touching (mouse-pointer v)?> then\n        change size by (((110) - (size)) / (5))\n    else\n        change size by (((90) - (size)) / (5))\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume2 v)\nhide\n\nwhen this sprite clicked\nwait until <not <mouse down?>>\nset size to (2) %\nnext costume\nif <([costume # v] of [mobile v]) = [2]> then\n    hide\n    show variable [stick size v]\nelse\n    show\n    hide variable [stick size v]\nend\n\nwhen I receive [start v]\nhide\n\nwhen I receive [click v]\nset size to (2) %\nnext costume\nif <([costume # v] of [mobile v]) = [2]> then\n    hide\n    show variable [stick size v]\nelse\n    show\n    hide variable [stick size v]\nend\n\n@Controls\n\nwhen I receive [start v]\nforever\n    if <([costume # v] of [mobile v]) = [1]> then\n        set [up v] to <<key (up arrow v) pressed?> or <<key (space v) pressed?> or <key (w v) pressed?>>>\n        set [right v] to <<key (right arrow v) pressed?> or <key (d v) pressed?>>\n        set [left v] to <<key (left arrow v) pressed?> or <key (a v) pressed?>>\n    else\n        set [up v] to <(STICK Y) > [0.3]>\n        set [right v] to <(STICK X) > [0.5]>\n        set [left v] to <(STICK X) < [-0.5]>\n    end\nend\n\nwhen flag clicked\nhide\n\nif  then\n\n@Paused\n\nwhen I receive [pause v]\nshow\nset [ghost v] effect to (50)\ngo to [front v] layer\n\nwhen I receive [unpause v]\nclear graphic effects\nhide\n\n@Control stick\n\nwhen flag clicked\nhide variable [stick size v]\nhide\ngo to x: (-156) y: (-98)\nset [control stick v] to [Control stick]\nset [stick size v] to [120]\nset [max stick v] to ((size) / (4))\nswitch costume to (base v)\nset [ghost v] effect to (60)\ncreate clone of (_myself_ v)\nset [max stick v] to []\nforever\n    set size to (STICK SIZE) %\n    go to [front v] layer\n    go [backward v] (1) layers\n    if <([costume # v] of [mobile v]) > [1]> then\n        show\n        if <mouse down?> then\n            wait until <not <mouse down?>>\n            if <(LEVEL #) = [0]> then\n                broadcast (click v)\n            end\n        end\n    else\n        hide\n    end\nend\n\nwhen I start as a clone\nhide\nswitch costume to (stick v)\nset [ghost v] effect to (25)\nforever\n    set size to (STICK SIZE) %\n    go to [front v] layer\n    if <([costume # v] of [mobile v]) > [1]> then\n        show\n    else\n        hide\n    end\nend\n\ndefine Stick drag\nrepeat until <not <mouse down?>>\n    go to (mouse-pointer v)\n    point towards (Control stick)\n    turn right (180) degrees\n    set [stick dir v] to (direction)\n    set [stick powa v] to (distance to [(Control stick) v])\n    if <(STICK POWA) > (max stick)> then\n        move ((max stick) - (STICK POWA)) steps\n        set [stick powa v] to (max stick)\n    end\n    set [stick powa v] to ((STICK POWA) / (max stick))\n    set [stick x v] to ((STICK POWA) * ([sin v] of (STICK DIR) ))\n    set [stick y v] to ((STICK POWA) * ([cos v] of (STICK DIR) ))\nend\n\nwhen I receive [start v]\nhide variable [stick size v]\nif <(max stick) = []> then\n    stop [this script v]\nend\nforever\n    set [stick powa v] to []\n    set [stick x v] to [0]\n    set [stick y v] to [0]\n    repeat until <mouse down?>\n        go to (Control 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\n@Pause button\n\nwhen flag clicked\nhide\nset [ghost v] effect to (20)\n\nwhen I receive [start v]\nshow\nforever\n    go to [front v] layer\nend\n\nwhen this sprite clicked\nbroadcast (pause game v)\n\n
Use left or a and right or d keys to move. Use up, space, or w to jump. You can wall jump and press p or the pause button to pause the game\n\nAlso there is mobile controls , but i dont recomend using them\n\n\n\nWait... There is a 69 in my url