UNDERWORLD / Atari-Style Platformer / LukeManiaStudios

Instructions: ==============[INFORMATION]==============\nUNDERWORLD / Atari game /LukeManiaStudios\n\n3.0 Edition / v1.0 \n================[CONTROLS]===============           \n      [W]\n [A] [S] [D]   -  To Move\n\n[F] - To pause\n\n[SPACE] - To "accept" or "continue"\n===============[EXTRA BITS]===============\nI made this as a bit of a side project, and i think it turned out quite well! I was inspired by the Atari-2600 and it's style, so i made an entire game with that in mind!\n\nBy the way, it took me 2 years to finally pick up the project again. I released the Demo in June of 2018 and never got any further (the date's different because of a massive clean-up)\n\nPlease ❤️ and ⭐

@Stage\n\nwhen flag clicked\nforever\n    Code_C\nend\n\nwhen I receive [music_update v]\nforever\n    Code_K\nend\n\nwhen I receive [menu_ready v]\nwait (1) seconds\nplay sound [1 v] until done\nbroadcast (music_update v)\nforever\n    Code_D\nend\n\ndefine Code_C\nif <<(Set_Show) = [0]> and <<(Music_Enable) = [1]> and <(Pause) = [0]>>> then\n    set volume to (100) %\nelse\n    set volume to (0) %\nend\nif <(TPG) = [1]> then\n    switch backdrop to (backdrop2 v)\nelse\n    switch backdrop to (backdrop1 v)\nend\n\ndefine Code_D\nif <(Level) = [15]> then\n    set volume to (100) %\n    repeat (10)\n        change volume by (-10)\n        wait (0.03) seconds\n    end\n    stop all sounds\n    play sound [Sonic Mania OST -  Mini Boss Theme v] until done\n    broadcast (music_update v)\nend\n\ndefine Code_K\nif <not <(Level) = [15]>> then\n    stop all sounds\n    play sound [2 v] until done\n    stop all sounds\n    broadcast (music_update v)\nend\n\nrepeat (50)\n\nstop all sounds\n\nrepeat (10)\n\nstop all sounds\nset [pitch v] effect to (-50)\nplay sound [Marble Zone Intro v] until done\nplay sound [Marble Zone LOOP2 v] until done\n\nchange [pitch v] effect by (-2)\nwait (0.1) seconds\n\nset [pitch v] effect to (0)\nstart sound [Marble Zone LOOP v]\n\nstop all sounds\n\nplay sound [chemical plant2 v] until done\nforever\n    play sound [chemical plant3 v] until done\nend\n\n@Dave\n\nset [level v] to [22]\n\nwhen flag clicked\nhide\nset [walk v] to [2]\nforever\n    change [walk v] by (1)\n    if <(Walk) > [3]> then\n        set [walk v] to [2]\n    end\n    wait (0.01) seconds\nend\n\nCode_A\n\nset [level v] to [24]\n\ngo to x: (-109) y: (180)\n\nif <(Level) = [15]> then\n    go to x: (0) y: (-9)\nelse\n    go to x: (-189) y: (-4)\nend\n\ndefine platform\nshow\nswitch costume to (hitbox v)\nif <(Moving_Platform) = [0]> then\n    if <key (d v) pressed?> then\n        point in direction (90)\n        change [x v] by (2)\n    end\n    if <key (a v) pressed?> then\n        point in direction (-90)\n        change [x v] by (-2)\n    end\nend\nchange x by (x)\nif <<touching (level v)?> or <touching (dorr v)?>> then\n    change x by ((x) * (-1))\n    set [x v] to [0]\nelse\n    set [x v] to ((x) * (0.8))\nend\nchange y by (y)\nif <<touching (level v)?> or <touching (dorr v)?>> then\n    set [jump v] to [0]\n    change y by ((y) * (-1))\n    set [y v] to [0]\n    if <(lock) = [0]> then\n        if <key (w v) pressed?> then\n            if <(TPG) = [0]> then\n                set [jump v] to [1]\n                start sound [PlayerJump v]\n                set [y v] to [15]\n                set [lock v] to [1]\n            else\n                set [jump v] to [1]\n                start sound [PlayerJump v]\n                set [y v] to [15]\n                set [lock v] to [1]\n            end\n        end\n    end\nelse\n    change [y v] by (-1)\n    set [lock v] to [0]\nend\nif <<touching (lava v)?> or <<touching (sprite9 v)?> and <touching color (#cc0000)?>>> then\n    set [burned v] to [1]\n    switch costume to (burned v)\n    play sound [Flameout v] until done\n    change [health v] by (-1)\n    if <(Level) = [21]> then\n        go to x: (-193) y: (24)\n    else\n        if <(Level) = [23]> then\n            go to x: (-193) y: (43)\n        else\n            if <(Level) = [25]> then\n                go to x: (-109) y: (180)\n            else\n                if <(Level) = [26]> then\n                    go to x: (-211) y: (-98)\n                else\n                    if <(Level) = [25]> then\n                        go to x: (0) y: (-9)\n                    else\n                        if <(Level) = [16]> then\n                            go to x: (0) y: (-30)\n                        else\n                            if <(Level) = [15]> then\n                                go to x: (0) y: (0)\n                            else\n                                go to x: (-189) y: (-4)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    switch costume to (idle v)\n    set [burned v] to [0]\nend\nif <(Level) = [24]> then\n    if <<[-180] > (y position)> and <not <(Boss-Lock) = [active]>>> then\n        change [level v] by (1)\n        if <<<(Level) = [13]> or <(Level) = [14]>> or <(Level) = [17]>> then\n            go to x: (-189) y: (-90)\n        else\n            if <(Level) = [21]> then\n                go to x: (-193) y: (24)\n            else\n                if <(Level) = [23]> then\n                    go to x: (-193) y: (43)\n                else\n                    if <(Level) = [25]> then\n                        go to x: (-109) y: (180)\n                    else\n                        if <(Level) = [26]> then\n                            go to x: (-211) y: (-98)\n                        else\n                            if <(Level) = [15]> then\n                                go to x: (0) y: (-9)\n                            else\n                                if <(Level) = [15]> then\n                                    go to x: (0) y: (0)\n                                else\n                                    go to x: (-189) y: (-4)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nelse\n    if <<(x position) > [216]> and <not <(Boss-Lock) = [active]>>> then\n        change [level v] by (1)\n        if <<<(Level) = [13]> or <(Level) = [14]>> or <<(Level) = [16]> or <(Level) = [17]>>> then\n            go to x: (-189) y: (-90)\n        else\n            if <(Level) = [21]> then\n                go to x: (-193) y: (24)\n            else\n                if <(Level) = [23]> then\n                    go to x: (-193) y: (43)\n                else\n                    if <(Level) = [25]> then\n                        go to x: (-109) y: (180)\n                    else\n                        if <(Level) = [26]> then\n                            go to x: (-211) y: (-98)\n                        else\n                            if <(Level) = [15]> then\n                                go to x: (0) y: (-9)\n                            else\n                                go to x: (-189) y: (-4)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nif <(y) > [2]> then\n    if <(TPG) = [0]> then\n        set [walk v] to [4]\n    end\n    if <(TPG) = [1]> then\n        set [walk v] to [4]\n    end\nend\nif <[-4] > (y)> then\n    if <(TPG) = [0]> then\n        set [walk v] to [10]\n    end\n    if <(TPG) = [1]> then\n        set [walk v] to [10]\n    end\nend\nswitch costume to (idle v)\nif <<key (a v) pressed?> or <key (d v) pressed?>> then\n    switch costume to (Walk)\nend\n\nwhen I receive [message1 v]\nshow\nset [moving_platform v] to [0]\nset [level v] to [1]\nforever\n    Code_A\nend\n\nwhen I start as a clone\ngo to (random position v)\ncreate clone of (_myself_ v)\ndelete this clone\n\nwhen I receive [message1 v]\ngo to x: (-189) y: (-4)\nset size to (350) %\nforever\n    Code_B\nend\n\ndefine Code_A\nplatform\nif <(Level) = [15]> then\n    set size to (550) %\nelse\n    set size to (350) %\nend\n\nif <<(Set_Show) = [0]> and <(Pause) = [0]>> then\nset [pan left/right v] effect to (x position)\n\ndefine Code_B\nif <key (f v) pressed?> then\n    set [pause v] to [1]\n    wait until <not <key (f v) pressed?>>\n    wait until <key (f v) pressed?>\n    set [pause v] to [0]\n    wait until <not <key (f v) pressed?>>\nend\n\n@Lava\n\nCode_A\n\nwhen flag clicked\nset [level v] to [0]\nshow\nforever\n    Code_F\nend\n\nhide\n\nif <not <touching (anti-cheat v)?>> then\n    set [error v] to [code interference]\nend\n\nwhen flag clicked\nforever\n    Code_E\nend\n\ndefine Code_E\n\ndefine Code_F\nnext costume\ngo [backward v] (100) layers\nif <<<(Level) = [13]> or <(Level) = [14]>> or <<(Level) = [16]> or <<(Level) = [17]> or <(Level) = [26]>>>> then\n    go to x: (0) y: (-40)\nelse\n    go to x: (0) y: (-5)\nend\nif <(Level) = [24]> then\n    hide\nelse\n    show\nend\n\n\n    go to x: (0) y: (-40)\nelse\n    go to x: (0) y: (-5)\nend\n\nset [level v] to [26]\n\n@Level\n\nwhen flag clicked\ngo to x: (2) y: (6)\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nshow\nforever\n    switch costume to (Level)\nend\n\nCode_G\n\nset [level v] to [15]\n\ndefine Code_G\n\nif <<not <(x position) = [2]>> or <not <(y position) = [6]>>> then\n    set [error v] to [code interference]\nend\n\n\nwhen flag clicked\nswitch costume to (level1 v)\nforever\n    if <(costume [number v]) = [15]> then\n        broadcast (Start_Boss-1 v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [enable_music v]\nstop all sounds\nset volume to (100) %\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\nwait (0.1) seconds\ngo to [front v] layer\n\n@Menu\n\nwhen flag clicked\nhide\n\nwhen I receive [menu_ready v]\nCode_H\n\ndefine Code_H\nwait (1) seconds\nset [tpg v] to [0]\nshow\nrepeat until <key (space v) pressed?>\n    if <<<key (t v) pressed?> and <<key (p v) pressed?> and <key (g v) pressed?>>> and <(TPG) = [0]>> then\n        start sound [Life chest sound v]\n        set [tpg v] to [1]\n    end\nend\nstart sound [Notice1 v]\nhide\nbroadcast (message1 v)\nstop [this script v]\n\n@Interference\n\nwhen flag clicked\ngo to [front v] layer\nset [ghost v] effect to (94)\ngo to x: (0) y: (0)\n\n@Sprite3\n\nwhen flag clicked\nhide\nset [level v] to [1]\nset [crystals v] to [0]\nset [set_show v] to [0]\nforever\n    Code_I\nend\n\ndefine Code_I\nif <<<(Level) = [10]> and <(Crystals) = [0]>> or <<(Level) = [20]> and <(Crystals) = [1]>>> then\n    show\n    go to x: (8) y: (24)\n    if <touching (dave v)?> then\n        hide\n        change [crystals v] by (1)\n        set [set_show v] to [1]\n        start sound [MenuPopup1 v]\n        wait until <(Set_Show) = [0]>\n    end\nend\nif <(TPG) = [1]> then\n    switch costume to (tpg v)\nelse\n    switch costume to (costume1 v)\nend\n\n@Sprite4\n\nwhen flag clicked\nhide\nforever\n    Code_J\nend\n\ndefine Code_J\nif <(TPG) = [1]> then\n    switch costume to ((Crystals) + (5))\nelse\n    switch costume to (Crystals)\nend\nif <(Set_Show) = [1]> then\n    go to [front v] layer\n    show\n    wait until <key (space v) pressed?>\n    start sound [Notice1 v]\n    set [set_show v] to [0]\n    hide\nend\n\n@Dave2\n\nset size to (100) %\n\n@Sprite5\n\nchange [pixelate v] effect by (-25)\n\nwhen I receive [menu_ready v]\nwait (1) seconds\nhide\n\nwhen flag clicked\nshow\n\n@Sprite6\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\nset [ghost v] effect to (100)\nwait (1) seconds\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (1) seconds\nswitch costume to (costume2 v)\nset [pan left/right v] effect to (-200)\nplay sound [cbmx2 v] until done\nwait (0.1) seconds\nswitch costume to (costume6 v)\nset [pan left/right v] effect to (0)\nplay sound [cbmxSPACE v] until done\nwait (0.1) seconds\nswitch costume to (costume7 v)\nset [pan left/right v] effect to (200)\nplay sound [cbmx3 v] until done\nwait (0.3) seconds\nbroadcast (Star v)\n\nwhen I receive [menu_ready v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\n@Sprite7\n\nwhen flag clicked\npoint in direction (90)\nset rotation style [all around v]\nhide\ngo to x: (235) y: (179)\ngo to [front v] layer\n\nwhen I receive [star v]\nshow\nstart sound [gem collect v]\nglide (1) secs to x: (123) y: (33)\nstop all sounds\nstart sound [Notice1 v]\npoint in direction (0)\nrepeat until <touching (_edge_ v)?>\n    move (10) steps\n    turn right (6) degrees\nend\nhide\nbroadcast (Presents v)\n\nwhen I receive [star v]\nset [pan left/right v] effect to (100)\nwait (0.05) seconds\nrepeat (10)\n    change [pan left/right v] effect by (-3)\nend\n\nwhen I receive [star v]\nwait (1) seconds\nrepeat (10)\n    change [pan left/right v] effect by (7)\nend\n\n@Sprite8\n\nwhen I receive [presents v]\nset [ghost v] effect to (100)\nwait (1) seconds\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (1) seconds\nbroadcast (Menu_Ready v)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen flag clicked\nhide\n\n@Sprite9\n\ndefine Go to opening (number_of_opening)\ngo to [front v] layer\nshow\nif <(number_of_opening) = [1]> then\n    show\n    set y to (356)\n    set x to (-153)\n    glide (0.4) secs to x: (-153) y: (0)\n    change x by (-3)\n    repeat (10)\n        change x by (6)\n        wait (0.05) seconds\n        change x by (-6)\n        wait (0.05) seconds\n    end\n    change x by (3)\n    glide (0.4) secs to x: (-153) y: (-696)\n    hide\nend\nif <(number_of_opening) = [2]> then\n    show\n    set y to (356)\n    set x to (9)\n    glide (0.4) secs to x: (9) y: (0)\n    change x by (-3)\n    repeat (10)\n        change x by (6)\n        wait (0.05) seconds\n        change x by (-6)\n        wait (0.05) seconds\n    end\n    change x by (3)\n    glide (0.4) secs to x: (9) y: (-696)\n    hide\nend\nif <(number_of_opening) = [3]> then\n    show\n    set y to (356)\n    set x to (169)\n    glide (0.4) secs to x: (169) y: (0)\n    change x by (-3)\n    repeat (10)\n        change x by (6)\n        wait (0.05) seconds\n        change x by (-6)\n        wait (0.05) seconds\n    end\n    change x by (3)\n    glide (0.4) secs to x: (169) y: (-696)\n    hide\nend\ndelete this clone\n\nwhen I start as a clone\nif <(State) = [spawn]> then\n    Droplet_Generate-at- (pick random (1) to (3))\nend\nif <(State) = [droplets]> then\n    show\n    repeat (10)\n        change y by (-1)\n    end\n    repeat (10)\n        change y by (-15)\n    end\n    delete this clone\nend\n\nwhen [space v] key pressed\n\nwait until <not <key (space v) pressed?>>\n\ndefine Droplet_Generate-at- (generate)\nset [state v] to [droplets]\nhide\nrepeat (5)\n    if <(generate) = [1]> then\n        go to x: (-204) y: (176)\n    end\n    if <(generate) = [2]> then\n        go to x: (-41) y: (176)\n    end\n    if <(generate) = [3]> then\n        go to x: (119) y: (176)\n    end\n    repeat (10)\n        change x by (9.4)\n        if <(pick random (1) to (5)) = [1]> then\n            create clone of (_myself_ v)\n        end\n    end\n    repeat (10)\n        change x by (-9.4)\n        if <(pick random (1) to (5)) = [2]> then\n            create clone of (_myself_ v)\n        end\n    end\nend\nswitch costume to (costume1 v)\nGo to opening (generate)\n\nwhen I start as a clone\n\nhide\n\ncreate clone of (_myself_ v)\n\nwhen I receive [start_boss-1 v]\nset [boss-lock v] to [active]\nrepeat (10)\n    switch costume to (costume2 v)\n    set [state v] to [spawn]\n    create clone of (_myself_ v)\n    wait (0.03) seconds\n    set [state v] to [spawn]\n    create clone of (_myself_ v)\n    wait (7) seconds\nend\nset [boss-lock v] to [inactive]\nbroadcast (End_Boss-1 v)\n\nwhen backdrop switches to [backdrop1 v]\n\nwhen flag clicked\nset [boss-lock v] to [inactive]\n\n@Sprite10\n\ndefine Main_Code\n\nif <(Level) = [16]> then\n    if <touching (dave v)?> then\n        set [ghost v] effect to (50)\n    else\n        set [ghost v] effect to (0)\n    end\nelse\nend\n\nwhen flag clicked\nforever\n    go to x: (214) y: (117)\n    set [ghost v] effect to (100)\nend\n\nMain_Code\n\nMain_Code\n\n@Dorr\n\nwhen flag clicked\nset [music_enable v] to [1]\nhide\n\nwhen I receive [start_boss-1 v]\nswitch costume to (costume1 v)\ngo to x: (245) y: (7)\nshow\n\nwhen I receive [end_boss-1 v]\nset [music_enable v] to [0]\nswitch costume to (costume1 v)\nstart sound [DragonRumble1 v]\nrepeat (10)\n    change x by (-5)\n    wait (0.01) seconds\n    change x by (5)\n    wait (0.01) seconds\nend\nstop all sounds\nstart sound [DragonBreakout v]\nrepeat (5)\n    next costume\n    wait (0.05) seconds\nend\nwait (0.05) seconds\nhide\nbroadcast (Enable_Music v)\nset [music_enable v] to [1]\n\n