Adventure || A platformer #games #all
@Stage\n\nwhen [m v] key pressed\nif <(username) = [-zerx-]> then\n    show variable [mouse v]\n    set [mouse v] to (join (join [\(] (join [X: ] ((mouse x) + (SCROLL X)))) (join [, ] (join (join [Y: ] ((mouse y) + (SCROLL Y))) [\)])))\n    wait until <not <key (m v) pressed?>>\n    wait until <key (m v) pressed?>\n    hide variable [mouse v]\n    wait until <not <key (m v) pressed?>>\nend\n\nwhen flag clicked\nhide variables\nforever\n    set [timer v] to ((timer) + (.0000000000001))\nend\n\nwhen [timer v] > (timer)\nhide variables\nbroadcast (thumbnail v)\nforever\n    set [timer v] to ((timer) + (.0000000000001))\nend\n\ndefine hide variables\nhide variable [mouse v]\n\nwhen I receive [game v]\nforever\n    play sound [JJD - Adventure \[NCS Release\] v] until done\n    play sound [557117_Detious---Golden-Haze-Prev v] until done\nend\n\n@blank\n\n@player\n\ndefine calculate distance (x1) (y1) (x2) (y2)\nset [distance to win portal v] to ([sqrt v] of ((((y2) - (y1)) * ((y2) - (y1))) + (((x2) - (x1)) * ((x2) - (x1)))) )\n\ndefine point in direction (x) (y)\npoint in direction (((180) * <<(y position) > (y)> or <(y position) = (y)>>) + ([atan v] of (((x) - (x position)) / ((y) - (y position))) ))\n\nwhen I receive [green flag v]\nbroadcast (start game v)\n\nwhen I receive [play game v]\nforever\n    broadcast (reset v) and wait\n    broadcast (setup v) and wait\n    Game On\n    repeat until <(EXIT) > []>\n        broadcast (Tick v)\n        Tick\n    end\n    if <(EXIT) = [win]> then\n        Game - Win\n    else\n        Game - Die\n    end\nend\n\ndefine Game On\nset [blink v] to [yes]\nset rotation style [left-right v]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nset [sy v] to [0]\nset [sx v] to [0]\nset [in air v] to [0]\nset [exit v] to []\nset [lives v] to [3]\nset [coins v] to (LAST COINS)\npoint in direction (90)\nclear graphic effects\nset size to (130) %\nshow\n\ndefine Tick\nswitch costume to (hitbox v)\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    change [sx v] by (-2)\n    point in direction (-90)\nend\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    change [sx v] by (2)\n    point in direction (90)\nend\nset [sx v] to ((sx) * (0.8))\nif <([abs v] of (sx) ) > [0.9]> then\n    change player x by (round (sx))\nend\nif <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n    if <(in air) < [4]> then\n        set [sy v] to [16]\n    end\nend\nif <touching (trampoline v)?> then\n    set [sy v] to [27]\n    broadcast (bounce v)\nend\nif <touching (lava v)?> then\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        set [sy v] to [16]\n    else\n        set [sy v] to ((sy) / (3))\n    end\nend\nif <(x) < [-241]> then\n    set [x v] to [-241]\nend\nchange [sy v] by (-2)\nChange player y by (sy)\nset [scroll x v] to (x)\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (10)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nposition\nswitch costume to (costume)\n\ndefine Change player y by (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nposition\nrepeat until <not <<touching (platforms v)?> or <touching (moving platforms v)?>>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    position\n    set [sy v] to [0]\nend\n\ndefine position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine change player x by (sx)\nchange [x v] by (sx)\nposition\nif <<touching (platforms v)?> or <touching (moving platforms v)?>> then\n    repeat (8)\n        change [y v] by (1)\n        position\n        if <not <<touching (platforms v)?> or <touching (moving platforms v)?>>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-8)\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        if <(sx) > [0]> then\n            set [sx v] to [-16]\n        else\n            set [sx v] to [16]\n        end\n        set [in air v] to [0]\n    else\n        set [sx v] to [0]\n    end\n    repeat until <not <<touching (platforms v)?> or <touching (moving platforms v)?>>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        position\n    end\nend\n\ndefine Game - Die\nbroadcast (player death v)\nset [exit v] to []\nset rotation style [all around v]\nset [blink v] to [no]\nrepeat until <(y position) > [180]>\n    change y by (10)\n    turn right (15) degrees\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [game v]\nset [costume v] to [basic]\n\nwhen flag clicked\nforever\n    if <(able to die) = [1]> then\n        switch costume to (hitbox v)\n        if <<<touching (lava v)?> or <touching (enemy v)?>> or <<touching (chainsaw v)?> or <touching (spikes v)?>>> then\n            set [exit v] to [die]\n        end\n        switch costume to (costume)\n    end\nend\n\nwhen I receive [game v]\nbroadcast (green flag v) and wait\n\nwhen I receive [game v]\nshow\nbroadcast (play game v) and wait\n\nwhen flag clicked\nhide\n\ndefine Game - Win\nset [last coins v] to (COINS)\nbroadcast (win v)\nset [exit v] to []\nset [blink v] to [no]\nset rotation style [all around v]\nrepeat (50)\n    point in direction (win portal x) (win portal y)\n    calculate distance (x position) (y position) (win portal x) (win portal y)\n    turn right (65) degrees\n    move ((distance to win portal) / (2)) steps\n    change [ghost v] effect by (2)\n    change size by (-1)\nend\nchange [level v] by (1)\n\nwhen flag clicked\nbroadcast (game v)\n\nwhen flag clicked\nforever\n    if <<key (space v) pressed?> and <(costume) = [ice]>> then\n        create clone of (iceball v)\n        wait until <not <key (space v) pressed?>>\n    end\n    if <<key (space v) pressed?> and <(costume) = [fire]>> then\n        create clone of (fireball v)\n        wait until <not <key (space v) pressed?>>\n    end\n    if <<key (space v) pressed?> and <(costume) = [logo]>> then\n        broadcast (stick v)\n        wait (1) seconds\n    end\nend\n\nwhen I receive [tick v]\nif <(costume) = [logo]> then\n    point in direction (90)\nend\n\nwhen I receive [game v]\nset [level v] to [1]\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <(LEVEL) > [3]> then\n        clear graphic effects\n        point in direction (90)\n        switch costume to (costume)\n        go to [front v] layer\n        set size to (400) %\n        go to x: (0) y: (0)\n        stop [other scripts in sprite v]\n        show\n    end\nend\n\n@platforms\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nif <(LEVEL) = [1]> then\n    switch costume to (lvl 1 1 v)\n    set [x v] to [0]\n    set [y v] to [-100]\n    Clone at x: [800] y: [0]\n    Clone at x: [228] y: [220]\nend\nif <(LEVEL) = [2]> then\n    show\n    switch costume to (lvl 2 1 v)\n    set [x v] to [0]\n    set [y v] to [-100]\n    Clone at x: [600] y: [129]\n    Clone at x: [600] y: [0]\nelse\n    if <(LEVEL) = [3]> then\n        show\n        switch costume to (lvl 3 1 v)\n        set [x v] to [0]\n        set [y v] to [-100]\n        Clone at x: [550] y: [129]\n        Clone at x: [350] y: [129]\n        Clone at x: [350] y: [129]\n        Clone at x: [-200] y: [129]\n        Clone at x: [-240] y: [129]\n        Clone at x: [-260] y: [129]\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\nhide\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen flag clicked\nhide\n\n@coin\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    start sound [Get coin v]\n    change [coins v] by (1)\n    delete this clone\nend\n\nwhen I receive [reset v]\ndelete this clone\n\nwhen I receive [green flag v]\nhide\n\ndefine Clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\nchange [offset v] by (10)\ncreate clone of (_myself_ v)\n\nwhen I receive [setup v]\nhide\nset [offset v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    Clone at x: [192] y: [-28]\n    Clone at x: [224] y: [-28]\n    Clone at x: [256] y: [-28]\n    Clone at x: [288] y: [-28]\n    Clone at x: [507] y: [-28]\n    Clone at x: [539] y: [-28]\n    Clone at x: [978] y: [197]\n    Clone at x: [1010] y: [197]\n    Clone at x: [1042] y: [197]\n    Clone at x: [1074] y: [197]\nelse\n    if <(LEVEL) = [2]> then\n        Clone at x: [192] y: [-28]\n        Clone at x: [224] y: [-28]\n        Clone at x: [256] y: [-28]\n        Clone at x: [288] y: [-28]\n        Clone at x: [507] y: [-28]\n        Clone at x: [539] y: [-28]\n        Clone at x: [1196] y: [45]\n        Clone at x: [1418] y: [243]\n        Clone at x: [1154] y: [347]\n        Clone at x: [1184] y: [347]\n        Clone at x: [1210] y: [347]\n        Clone at x: [1240] y: [347]\n        Clone at x: [1270] y: [347]\n    else\n        Clone at x: [621] y: [90]\n        Clone at x: [960] y: [220]\n        Clone at x: [990] y: [220]\n        Clone at x: [1338] y: [343]\n        Clone at x: [1306] y: [343]\n        Clone at x: [953] y: [469]\n        Clone at x: [985] y: [469]\n    end\nend\nset [x v] to [-99999]\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\n@lava\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) (((y) + ((8) * ([cos v] of (((timer) - (1)) * (150)) ))) - (SCROLL Y))\n\nwhen I receive [setup v]\ncreate level\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\nhide\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen flag clicked\nhide\n\ndefine create level\nhide\nswitch costume to (lvl 1 1 v)\nset [x v] to [400]\nset [y v] to [-130]\nif <(LEVEL) = [1]> then\n\n@chainsaw\n\nwhen I receive [tick v]\nturn right (7) degrees\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [reset v]\ndelete this clone\n\nwhen I receive [green flag v]\nhide\n\ndefine Clone at x: (x) y: (y) size: (size)\nset [x v] to (x)\nset [y v] to (y)\nset size to (size) %\ncreate clone of (_myself_ v)\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    Clone at x: [783] y: [90] size: [100]\n    Clone at x: [1134] y: [180] size: [75]\nelse\n    if <(LEVEL) = [2]> then\n        Clone at x: [377] y: [-50] size: [100]\n        Clone at x: [1419] y: [140] size: [100]\n    else\n        Clone at x: [552] y: [50] size: [100]\n        Clone at x: [1167] y: [420] size: [60]\n        Clone at x: [1063] y: [445] size: [100]\n    end\nend\nset [x v] to [-99999]\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\n@spikes\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nswitch costume to (lvl 1 1 v)\nset [x v] to [200]\nset [y v] to [-100]\nif <(LEVEL) = [1]> then\n    Clone at x: [600] y: [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (lvl 2 1 v)\n        set [x v] to [1200]\n        set [y v] to [0]\n    else\n        switch costume to (lvl 2 1 v)\n        set [x v] to [900]\n        set [y v] to [234]\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\nhide\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen flag clicked\nhide\n\n@enemy\n\nwhen I receive [tick v]\nPosition (((x) + (([cos v] of ((round (((timer) - (offset)) * (30))) * (1.5)) ) * (100))) - (SCROLL X)) ((y) - (SCROLL Y))\nif <<<touching (iceball v)?> or <touching (fireball v)?>> or <touching (stick v)?>> then\n    delete this clone\nend\n\nwhen I receive [reset v]\ndelete this clone\n\nwhen I receive [green flag v]\nhide\n\ndefine Clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\nchange [offset v] by (10)\ncreate clone of (_myself_ v)\n\nwhen I receive [setup v]\nhide\nset [offset v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\nelse\n    if <(LEVEL) = [2]> then\n        Clone at x: [183] y: [-28]\n        Clone at x: [545] y: [-28]\n        Clone at x: [1232] y: [308]\n    else\n        Clone at x: [806] y: [594]\n        Clone at x: [551] y: [723]\n    end\nend\nset [x v] to [-99999]\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\n@win portal\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) (((y) + (([cos v] of ((round ((timer) * (100))) * (2)) ) * (10))) - (SCROLL Y))\nchange [size v] by (.25)\nif <touching (player v)?> then\n    set [exit v] to [win]\nend\n\nwhen I receive [reset v]\ndelete this clone\n\nwhen I receive [green flag v]\nhide\n\ndefine Clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nset size to (100) %\nset [size v] to [0]\nif <(LEVEL) = [1]> then\n    Clone at x: [1225] y: [234]\nelse\n    if <(LEVEL) = [2]> then\n        Clone at x: [1042] y: [349]\n    else\n        Clone at x: [329] y: [764]\n    end\nend\nset [x v] to [-99999]\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nset [win portal x v] to (x position)\nset [win portal y v] to (y position)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\n@Shop\n\nwhen flag clicked\nset [shopshown? v] to [0]\nforever\n    if <<touching (mouse-pointer v)?> and <(costume [number v]) = [2]>> then\n        change size by (((120) - (size)) / (4))\n        set [brightness v] effect to (-20)\n    else\n        change size by (((100) - (size)) / (4))\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen I start as a clone\nif <(shopID) = [1]> then\n    set [suceededgetout v] to [0]\n    set [shopshown? v] to [1]\n    go [forward v] (1) layers\n    set size to (100) %\n    set [ghost v] effect to (10)\n    point in direction (90)\n    go to x: (0) y: (-300)\n    switch costume to (shop v)\n    repeat until <(y position) > [-1]>\n        change y by (((0) - (y position)) / (3))\n    end\n    go to x: (0) y: (0)\n    repeat until <<not <touching (mouse-pointer v)?>> and <mouse down?>>\n        set [moveable v] to [0]\n    end\n    wait until <not <mouse down?>>\n    if <not <touching (mouse-pointer v)?>> then\n        set [moveable v] to [1]\n        broadcast (shopclear v)\n        repeat until <(y position) < [-280]>\n            change y by (((-300) - (y position)) / (6))\n        end\n        set [shopshown? v] to [0]\n        broadcast (shopbacktogame v)\n        set [suceededgetout v] to [1]\n        delete this clone\n    else\n        repeat until <(suceededgetout) = [1]>\n            wait until <mouse down?>\n            wait until <not <mouse down?>>\n            if <touching (mouse-pointer v)?> then\n                set [suceededgetout v] to [0]\n                wait until <not <mouse down?>>\n            else\n                if <not <touching (mouse-pointer v)?>> then\n                    set [moveable v] to [1]\n                    broadcast (shopclear v)\n                    repeat until <(y position) < [-280]>\n                        change y by (((-300) - (y position)) / (6))\n                    end\n                    set [shopshown? v] to [0]\n                    broadcast (shopbacktogame v)\n                    set [suceededgetout v] to [1]\n                    delete this clone\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [shopbacktogame v]\nswitch costume to (shopbutton v)\ngo to x: (-300) y: (140)\npoint in direction (90)\nshow\nrepeat until <(x position) > [-200]>\n    change x by (((-195) - (x position)) / (4))\nend\ngo to x: (-200) y: (140)\n\nwhen I receive [game v]\nset [last coins v] to [0]\nset size to (100) %\ngo to x: (-200) y: (140)\nshow\nswitch costume to (shopbutton v)\nforever\n    point in direction ((([sin v] of ((timer) * (200)) ) * (5)) + (90))\n    if <(LEVEL) > [3]> then\n        stop [other scripts in sprite v]\n        hide\n    end\nend\n\nwhen flag clicked\nset [moveable v] to [1]\ndelete all of [skins v]\nadd [basic] to [skins v]\nhide\ngo to [front v] layer\n\nwhen I receive [play game v]\nforever\n    if <touching (mouse-pointer v)?> then\n        start sound [Wood Tap v]\n        wait until <not <touching (mouse-pointer v)?>>\n    end\nend\n\nwhen I start as a clone\nif <(shopID) = [2]> then\n    go to [front v] layer\n    set size to (100) %\n    point in direction (90)\n    switch costume to (basic v)\n    forever\n        go to x: (-130) y: (0)\n        if <not <[skins v] contains [basic]?>> then\n            if <touching (mouse-pointer v)?> then\n                set [brightness v] effect to (-20)\n            else\n                set [brightness v] effect to (0)\n            end\n            if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                set [brightness v] effect to (0)\n                wait until <not <mouse down?>>\n                if <touching (mouse-pointer v)?> then\n                    if <(COINS) > [-1]> then\n                        start sound [REGISTER v]\n                        add [basic] to [skins v]\n                        change [coins v] by (0)\n                        switch costume to (basic v)\n                        set [costume v] to [basic]\n                    else\n                        start sound [Clang v]\n                    end\n                end\n            end\n        else\n            if <(costume) = [basic]> then\n                switch costume to (equippedbasic v)\n                set [brightness v] effect to (-30)\n            else\n                switch costume to (boughtbasic v)\n                if <touching (mouse-pointer v)?> then\n                    set [brightness v] effect to (-20)\n                else\n                    set [brightness v] effect to (0)\n                end\n                if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                    set [brightness v] effect to (0)\n                    wait until <not <mouse down?>>\n                    if <touching (mouse-pointer v)?> then\n                        set [costume v] to [basic]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nif <(shopID) = [3]> then\n    go to [front v] layer\n    set size to (100) %\n    point in direction (90)\n    switch costume to (logo v)\n    forever\n        go to x: (40) y: (0)\n        if <not <[skins v] contains [logo]?>> then\n            if <touching (mouse-pointer v)?> then\n                set [brightness v] effect to (-20)\n            else\n                set [brightness v] effect to (0)\n            end\n            if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                set [brightness v] effect to (0)\n                wait until <not <mouse down?>>\n                if <touching (mouse-pointer v)?> then\n                    if <(COINS) > [9]> then\n                        start sound [REGISTER v]\n                        add [logo] to [skins v]\n                        change [coins v] by (-10)\n                        change [last coins v] by (-10)\n                        switch costume to (equippedlogo v)\n                        set [costume v] to [logo]\n                    else\n                        start sound [Clang v]\n                    end\n                end\n            end\n        else\n            if <(costume) = [logo]> then\n                switch costume to (equippedlogo v)\n                set [brightness v] effect to (-30)\n            else\n                switch costume to (boughtlogo v)\n                if <touching (mouse-pointer v)?> then\n                    set [brightness v] effect to (-20)\n                else\n                    set [brightness v] effect to (0)\n                end\n                if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                    set [brightness v] effect to (0)\n                    wait until <not <mouse down?>>\n                    if <touching (mouse-pointer v)?> then\n                        set [costume v] to [logo]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nif <(shopID) = [4]> then\n    go to [front v] layer\n    set size to (100) %\n    point in direction (90)\n    switch costume to (fire v)\n    forever\n        go to x: (-130) y: (-100)\n        if <not <[skins v] contains [Fire]?>> then\n            if <touching (mouse-pointer v)?> then\n                set [brightness v] effect to (-20)\n            else\n                set [brightness v] effect to (0)\n            end\n            if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                set [brightness v] effect to (0)\n                wait until <not <mouse down?>>\n                if <touching (mouse-pointer v)?> then\n                    if <(COINS) > [19]> then\n                        start sound [REGISTER v]\n                        add [Fire] to [skins v]\n                        change [coins v] by (-20)\n                        change [last coins v] by (-20)\n                        switch costume to (equippedlogo v)\n                        set [costume v] to [fire]\n                    else\n                        start sound [Clang v]\n                    end\n                end\n            end\n        else\n            if <(costume) = [fire]> then\n                switch costume to (equippedfire v)\n                set [brightness v] effect to (-30)\n            else\n                switch costume to (boughtfire v)\n                if <touching (mouse-pointer v)?> then\n                    set [brightness v] effect to (-20)\n                else\n                    set [brightness v] effect to (0)\n                end\n                if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                    set [brightness v] effect to (0)\n                    wait until <not <mouse down?>>\n                    if <touching (mouse-pointer v)?> then\n                        set [costume v] to [fire]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nif <(shopID) = [5]> then\n    go to [front v] layer\n    set size to (100) %\n    point in direction (90)\n    switch costume to (ice v)\n    forever\n        go to x: (40) y: (-100)\n        if <not <[skins v] contains [ice]?>> then\n            if <touching (mouse-pointer v)?> then\n                set [brightness v] effect to (-20)\n            else\n                set [brightness v] effect to (0)\n            end\n            if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                set [brightness v] effect to (0)\n                wait until <not <mouse down?>>\n                if <touching (mouse-pointer v)?> then\n                    if <(COINS) > [19]> then\n                        start sound [REGISTER v]\n                        add [ice] to [skins v]\n                        change [coins v] by (-20)\n                        change [last coins v] by (-20)\n                        switch costume to (equippedice v)\n                        set [costume v] to [ice]\n                    else\n                        start sound [Clang v]\n                    end\n                end\n            end\n        else\n            if <(costume) = [ice]> then\n                switch costume to (equippedice v)\n                set [brightness v] effect to (-30)\n            else\n                switch costume to (boughtice v)\n                if <touching (mouse-pointer v)?> then\n                    set [brightness v] effect to (-20)\n                else\n                    set [brightness v] effect to (0)\n                end\n                if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                    set [brightness v] effect to (0)\n                    wait until <not <mouse down?>>\n                    if <touching (mouse-pointer v)?> then\n                        set [costume v] to [ice]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [shopclear v]\nif <not <<(costume [number v]) = [1]> or <(costume [number v]) = [2]>>> then\n    delete this clone\nend\n\nwhen I receive [reset v]\nbroadcast (shopbacktogame v)\ndelete this clone\n\ndefine shopfast\nset [shopid v] to [1]\nrepeat (4)\n    change [shopid v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nset [shopbeingtouched v] to [0]\nforever\n    if <touching (mouse-pointer v)?> then\n        set [shopbeingtouched v] to [1]\n        set [moveable v] to [0]\n    else\n        set [shopbeingtouched v] to [0]\n        if <<(shopshown?) = [0]> and <(skipbeingtouched) = [0]>> then\n            set [moveable v] to [1]\n        end\n    end\nend\n\nwhen I receive [play game v]\nforever\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        wait until <not <mouse down?>>\n        if <touching (mouse-pointer v)?> then\n            set [shopid v] to [1]\n            create clone of (_myself_ v)\n            broadcast (shop boiz v)\n            repeat until <(x position) < [-240]>\n                change x by (((-260) - (x position)) / (2))\n            end\n            shopfast\n            hide\n            go to x: (-24352345234) y: (-243524351)\n        end\n    end\nend\n\n@iceball\n\nwhen I start as a clone\ngo to [back v] layer\npoint in direction (90)\nset [direction v] to ([direction v] of [player v])\ngo to (player v)\nset [x v] to ((x position) + (SCROLL X))\nset [y v] to ((y position) + (SCROLL Y))\nshow\nrepeat until <touching (_edge_ v)?>\n    go to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n    if <(direction) = [90]> then\n        change [x v] by (15)\n        point in direction (90)\n    end\n    if <(direction) = [-90]> then\n        change [x v] by (-15)\n        point in direction (-90)\n    end\nend\ndelete this clone\n\nwhen I receive [player death v]\ndelete this clone\n\nwhen I receive [win v]\ndelete this clone\n\nwhen flag clicked\nhide\ngo to x: (0) y: (180)\n\n@fireball\n\nwhen I start as a clone\ngo to [back v] layer\npoint in direction (90)\nset [direction v] to ([direction v] of [player v])\ngo to (player v)\nset [x v] to ((x position) + (SCROLL X))\nset [y v] to ((y position) + (SCROLL Y))\nshow\nrepeat until <touching (_edge_ v)?>\n    go to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n    if <(direction) = [90]> then\n        change [x v] by (15)\n        point in direction (90)\n    end\n    if <(direction) = [-90]> then\n        change [x v] by (-15)\n        point in direction (-90)\n    end\nend\ndelete this clone\n\nwhen I receive [player death v]\ndelete this clone\n\nwhen I receive [win v]\ndelete this clone\n\nwhen flag clicked\nhide\ngo to x: (0) y: (180)\n\n@trampoline\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [reset v]\ndelete this clone\n\nwhen I receive [green flag v]\nhide\n\ndefine Clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\nset [x v] to [-99999]\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [bounce v]\nstart sound [bounce v]\nswitch costume to (trampoline 1 v)\nrepeat (3)\n    next costume\nend\nrepeat (3)\n    switch costume to ((costume [number v]) - (1))\nend\n\nwhen flag clicked\nset [color v] effect to (100)\n\n@money display\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nif <(size) = [100]> then\n    forever\n        go to [front v] layer\n        go to x: (193) y: (156)\n        set size to (35) %\n        if <<((round ((COINS) * (100))) / (100)) = [10]> or <((round ((COINS) * (100))) / (100)) > [10]>> then\n            show\n            switch costume to (letter (1) of (COINS))\n        else\n            hide\n        end\n        set [brightness v] effect to (100)\n    end\nend\n\nwhen I start as a clone\nif <(size) = [99]> then\n    wait () seconds\n    go to [front v] layer\n    set size to (35) %\n    switch costume to (0 v)\n    set [brightness v] effect to (100)\n    go to x: (263) y: (156)\n    show\n    repeat (10)\n        change x by (((193) - (x position)) / (3))\n    end\n    forever\n        go to [front v] layer\n        set size to (35) %\n        show\n        if <(COINS) < [10]> then\n            go to x: (193) y: (156)\n            switch costume to (letter (1) of (COINS))\n        else\n            go to x: (207) y: (156)\n            switch costume to (letter (2) of (COINS))\n        end\n        set [brightness v] effect to (100)\n    end\nend\n\nwhen I start as a clone\nif <(size) = [98]> then\n    wait () seconds\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (money v)\n    go to x: (263) y: (157)\n    show\n    repeat (10)\n        change x by (((165) - (x position)) / (3))\n    end\n    forever\n        go to x: (165) y: (157)\n        set size to (100) %\n        show\n        switch costume to (money v)\n    end\nend\n\nwhen I start as a clone\nif <(size) = [97]> then\n    go to [front v] layer\n    go [backward v] (1) layers\n    wait () seconds\n    set size to (100) %\n    switch costume to (shading v)\n    go to x: (100) y: (0)\n    show\n    repeat (10)\n        change x by (((0) - (x position)) / (3))\n    end\n    forever\n        go to x: (0) y: (0)\n        set size to (100) %\n        show\n        switch costume to (shading v)\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen I receive [game v]\nset size to (100) %\ncreate clone of (_myself_ v)\nset size to (99) %\ncreate clone of (_myself_ v)\nset size to (98) %\ncreate clone of (_myself_ v)\nset size to (97) %\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nforever\n    if <(LEVEL) > [3]> then\n        delete this clone\n    end\nend\n\n@love fave follow\n\nwhen flag clicked\nshow\nset [y v] to [-200]\nforever\n    set size to (400) %\n    go to x: (x) y: (y)\n    set size to (100) %\nend\n\nwhen I receive [game v]\nforever\n    switch costume to (love fave follow v)\n    repeat (10)\n        change [y v] by (4)\n    end\n    repeat (4)\n        change [y v] by (-1)\n    end\n    repeat (4)\n        change [y v] by (1)\n    end\n    wait (4) seconds\n    repeat (10)\n        change [y v] by (-4)\n    end\n    wait (40) seconds\nend\n\nwhen I receive [loved and faved v]\nswitch costume to (loved and faved v)\nset [y v] to [-200]\nrepeat (10)\n    change [y v] by (4)\nend\nrepeat (4)\n    change [y v] by (-1)\nend\nrepeat (4)\n    change [y v] by (1)\nend\nwait (4) seconds\nrepeat (10)\n    change [y v] by (-4)\nend\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@detector\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nbroadcast (loved and faved v)\n\nwhen I start as a clone\nif <(Clone ID) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(Clone ID) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\n@stick\n\nwhen I receive [stick v]\nshow\ngo to [back v] layer\ngo to (player v)\npoint in direction (90)\nrepeat (12)\n    go to (player v)\n    turn right (30) degrees\nend\nhide\n\nwhen flag clicked\nhide\n\n@win\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    go to [front v] layer\n    go [backward v] (2) layers\n    if <(LEVEL) > [3]> then\n        show\n    else\n        hide\n    end\nend\n\n@thumbnail\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    go to x: (0) y: (0)\nend\n\n
==instructions==\narrow keys or WASD to move\navoid red guys, spikes, and chainsaws\ntouch portals to advance levels (there are currently 3)\n==skins==\nBasic - nothing\nLogo - stick (space to swing)\nFire - fire ball (space to use)\nIce - Ice ball (space to use\n==credits==\n@griffpatch - for his awesome scrolling tutorial\n@plant2 - for the shop scripts\n@corpcooga - for the coin number engine\n@TimMcCool - for the love and fave detector\n==music==\nJJD - Adventure\nDetious - Golden haze\n⛔any ads will be reported⛔\n\nLove fave and follow for a sequel :D\n\nTags\n#game #games #scrolling #platformer #fire #ice #all\n\ncomment "fire" or "ice" or "logo" or "basic"