Pennapped! || a platformer | mobile friendly

Instructions: Someone tried to propose this! Idk who but thx so much!\n\nOMG trending! Thank yo sososososososoososo mucH!\nOMG 1000 views THANK YOU MORE!\nOMG 100 likes! OMMMMMG 100 favs!!!!\n\n❤️ @TimMcCool\n❤️⭐️ @TacqBros\nMost happy commenter @038lovelove\n\nHey guys welcome to my new platformer I hope you like it! Click the ❤️+⭐️ to support me.\n\nIn game:\nMove: wasd or arrow keys\nPress e to erase the pen for no lag.\ns to skip a stage\n\nIn the boss fith:\nClick to shoot and don't touch the mini-scissors!\n\nMobile instructions:\ntapp and hold to move.\nIn the bossfith tap to shoot.\n\n\nThe boss fith may have some bugs.\n\nCredits-\n\nThanks to @IFNTY for the particels.\nRest of art and code by me.\n\nAnd Thanks to you for awesome support!\n\nTags-\n#Games#games#platformers#tijgerjongen 

@Stage\n\nwhen flag clicked\nswitch backdrop to (black v)\n\nwhen I receive [alright bros let's go v]\nswitch backdrop to (xy-grid-20px v)\nforever\n    if <<not <<(backdrop [name v]) = [boss]> or <<(backdrop [name v]) = [b s]> or <(Level) = [1]>>>> and <key (s v) pressed?>> then\n        wait until <not <key (s v) pressed?>>\n        broadcast (NEXT LEVEL v)\n    end\nend\n\nwhen I receive [start v]\nswitch backdrop to (black v)\n\nwhen I receive [boss v]\nswitch backdrop to (boss v)\nstop [other scripts in sprite v]\nforever\n    play sound [boss v] until done\nend\n\nwhen I receive [boss fight v]\nstop [other scripts in sprite v]\nforever\n    play sound [bossfight v] until done\nend\n\nwhen [e v] key pressed\nerase all\n\nwhen I receive [start v]\nforever\n    play sound [game on v] until done\nend\n\nwhen I receive [boss v]\n\nwhen I receive [brother scène v]\nswitch backdrop to (b s v)\n\n\n\nswitch backdrop to (boss v)\n\n@Ground\n\nwhen I receive [alright bros let's go v]\nshow\n\nwhen flag clicked\nforever\n    wait (1) seconds\n    change [☁ total time v] by (1)\nend\n\nwhen I receive [part 2 scène v]\nhide\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(costume [name v]) = [boss fight]> then\n        broadcast (boss v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [boss v]\nswitch backdrop to (boss v)\nswitch costume to (boss fight v)\n\nwhen I receive [outro v]\nhide\n\nwhen I receive [outro v]\nhide\n\n@Spikes\n\nwhen flag clicked\nswitch costume to (spikes 5 v)\ngo to x: (0) y: (0)\nhide\n\nwhen backdrop switches to [xy-grid-20px v]\nshow\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [brother scène v]\nhide\n\nwhen I receive [brother scène v]\nhide\n\nwhen I receive [outro v]\nhide\n\n@Player\n\ndefine respawn\nclear graphic effects\ngo to x: (-200) y: (-50)\npoint in direction (90)\nset [dead? v] to [0]\nset [x v v] to [0]\nset [y v v] to [0]\nset size to (100) %\nerase all\nshow\n\nwhen I receive [next level v]\nset [change? v] to [1]\nrespawn\nset [change? v] to [0]\n\nwhen I receive [alright bros let's go v]\nerase all\nset [level v] to [1]\nset [dead? v] to [0]\nset size to (100) %\nrespawn\nforever\n    if <(Boss talk?) = [no]> then\n        go to [front v] layer\n        if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> and <(dead?) = [0]>> then\n            change [x v v] by (.9)\n        end\n        if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> and <(dead?) = [0]>> then\n            change [x v v] by (-.9)\n        end\n        set [x v v] to ((X v) * (0.9))\n        change x by (X v)\n        if <touching (ground v)?> then\n            change y by (2)\n            if <touching (ground v)?> then\n                change y by (2)\n                if <touching (ground v)?> then\n                    change y by (2)\n                    if <touching (ground v)?> then\n                        change y by (2)\n                        if <touching (ground v)?> then\n                            change y by (2)\n                            if <touching (ground v)?> then\n                                change x by ((X v) * (-2))\n                                change y by (-5)\n                                if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n                                    if <(X v) > [0]> then\n                                        set [x v v] to [-5]\n                                    else\n                                        set [x v v] to [5]\n                                    end\n                                    set [y v v] to [13]\n                                else\n                                    set [x v v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change [y v v] by (-0.8)\n        change y by (Y v)\n        if <touching (ground v)?> then\n            change y by ((Y v) * (-1))\n            set [y v v] to [0]\n        end\n        change y by (-1)\n        if <touching (ground v)?> then\n            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n                set [y v v] to [12]\n            end\n        end\n        change y by (1)\n        if <<<<<touching (extra obstakels v)?> or <touching (spikes v)?>> or <touching (fireball v)?>> or <touching (lightning v)?>> and <(dead?) = [0]>> then\n            change [☁ total deats v] by (1)\n            wegweza\n        end\n        if <touching (jump pad v)?> then\n            set [y v v] to [20]\n        end\n    else\n        if <(Boss talk?) = [yes]> then\n            go to x: (x position) y: (y position)\n        end\n    end\nend\n\nwhen I receive [alright bros let's go v]\nforever\n    set [direction v] to (direction)\nend\n\nwhen I receive [alright bros let's go v]\nset [change? v] to [0]\nforever\n    if <<touching (next level? v)?> and <(dead?) = [0]>> then\n        broadcast (NEXT LEVEL v)\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [alright bros let's go v]\nforever\n    if <<(y position) = [-179]> or <(y position) < [-178]>> then\n        broadcast (respawn v) and wait\n    end\nend\n\nwhen [r v] key pressed\nif <(dead?) = [0]> then\n    respawn\nend\n\nwhen I receive [alright bros let's go v]\nshow\n\ndefine wegweza\nset [dead? v] to [1]\nchange [player death v] by (1)\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nrespawn\n\nwhen I receive [alright bros let's go v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (pen v)\nrepeat (10)\n    change [ghost v] effect by (5)\n    change size by (-5)\nend\ndelete this clone\n\nwhen flag clicked\nset pen color to (#0000ff)\nset [player lives # v] to [5]\nerase all\nset size to (100) %\nset [player death v] to [0]\nswitch costume to (pen v)\nhide\n\nhide\n\nwhen flag clicked\nset [pen on/off ? v] to [on]\nset pen size to (5)\nforever\n    if <(Pen on/off ?) = [on]> then\n        repeat until <key (p v) pressed?>\n            pen down\n        end\n        set [pen on/off ? v] to [off]\n    else\n        if <(Pen on/off ?) = [off]> then\n            repeat until <key (p v) pressed?>\n                pen up\n            end\n            set [pen on/off ? v] to [on]\n        end\n    end\nend\n\nwhen I receive [respawn v]\nwegweza\n\ndefine say (text)\nset [say v] to []\nset [letter v] to []\nrepeat (length of (text))\n    change [letter v] by (1)\n    set [say v] to (join (say) (letter (letter) of (text)))\n    say (say)\n    set [pitch v] effect to (pick random (-10) to (60))\n    start sound [reh v]\nend\nswitch costume to (costume1 v)\nwait (1.5) seconds\nsay []\n\nwhen I receive [pen talk v]\nif <(Pen talk #) = [1]> then\n    say [Give me my brother back!!!!]\nelse\n    if <(Pen talk #) = [2]> then\n        say [Don't talk so much your last hour has started!]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<<(Boss attack) = [1]> or <<(Boss attack) = [2]> or <(Boss attack) = [3]>>> and <touching (boss v)?>> then\n        change [player lives # v] by (-1)\n    end\nend\n\nset [player x v] to (x position)\nset [player y v] to (y position)\n\nwhen I receive [boss is death v]\nrepeat until <touching (ground v)?>\n    change y by (-3)\nend\nsay [YES!!!]\nsay [I WON!]\nsay [Brother!]\nrepeat until <touching (next level? v)?>\n    change x by (2)\nend\nbroadcast (Brother scène v)\nhide\n\nwhen flag clicked\nforever\n    if <<not <(backdrop [name v]) = [boss]>> and <key (p v) pressed?>> then\n        broadcast (NEXT LEVEL v)\n    end\n    wait (1) seconds\nend\n\nwhen I receive [brother scène v]\nhide\n\nhide\n\nwhen flag clicked\n\nwhen I receive [boss fight v]\nforever\n    if <<touching (boss v)?> and <(Boss attack) = [1]>> then\n        change [player lives # v] by (-1)\n        wait until <not <<touching (boss v)?> and <(Boss attack) = [1]>>>\n    end\nend\n\nwhen I receive [outro v]\nhide\n\n@Particles\n\nwhen flag clicked\nrepeat (10)\n    create clone of (_myself_ v)\n    wait (pick random (0.5) to (1)) seconds\nend\nhide\n\nwhen I start as a clone\nshow\ngo to x: (-200) y: (pick random (200) to (0))\nset [ghost v] effect to (0)\nrepeat (pick random (100) to (120))\n    change x by (4)\n    change y by (-1)\n    change [ghost v] effect by (1)\nend\ncreate clone of (_myself_ v)\ndelete this clone\n\nwhen I receive [outro v]\nhide\n\n@outro\n\nwhen flag clicked\nhide\n\nerase all\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (3))\ngo to x: (pick random (-220) to (220)) y: (170)\nchange size by (pick random (0) to (3))\nshow\nforever\n    change y by (-3)\n    change y by (pick random (0) to (-3))\n    if <(y position) < [-175]> then\n        delete this clone\n    end\nend\n\nwhen I receive [outro v]\nset size to (10) %\nforever\n    create clone of (_myself_ v)\n    wait (0.03) seconds\nend\n\nchange x by (10)\n\n@Story Slide2\n\nwhen I receive [start v]\nset [begin v] to [0]\nrepeat until <(Begin) = [1]>\n    if <key (s v) pressed?> then\n        broadcast (alright bros let's go v)\n        stop [other scripts in sprite v]\n        repeat (50)\n            change [ghost v] effect by (2)\n        end\n        hide\n        stop [this script v]\n    end\nend\n\nwhen I receive [begin v]\nset [begin v] to [1]\n\nwhen flag clicked\nshow\ngo to [front v] layer\nset [ghost v] effect to (100)\n\nwhen I receive [start v]\nwait (2) seconds\nswitch costume to (costume1 v)\nset [ghost v] effect to (100)\nrepeat (6)\n    repeat (50)\n        change [ghost v] effect by (-2)\n    end\n    wait (3) seconds\n    if <(costume [number v]) = [6]> then\n        broadcast (alright bros let's go v)\n    end\n    repeat (50)\n        change [ghost v] effect by (2)\n    end\n    next costume\nend\nhide\n\nwhen I receive [end v]\nswitch costume to (costume7 v)\nset [ghost v] effect to (100)\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (1) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nhide\n\nwhen I receive [endinging v]\nwait (5) seconds\nset [ghost v] effect to (100)\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (1) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\n\nwhen flag clicked\n\n@Ground2\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [next level v]\nnext costume\n\n@loading\n\nwhen flag clicked\nshow\nset [loaded? v] to [no]\nset [ghost v] effect to (0)\nswitch backdrop to (begin v)\ngo to x: (0) y: (0)\nforever\n    if <(setted_clones?) = [no]> then\n        if <(setted_clones?) = [yes]> then\n            repeat until <not <(setted_clones?) = [yes]>>\n                switch costume to (/ v)\n                wait (0.7) seconds\n                switch costume to (. v)\n                wait (0.7) seconds\n                switch costume to (.. v)\n                wait (0.7) seconds\n                switch costume to (... v)\n                wait (0.7) seconds\n            end\n        else\n            switch costume to (error v)\n            go to x: (0) y: (0)\n            go to [front v] layer\n            show\n            stop [all v]\n        end\n    else\n        switch costume to (/ v)\n        wait (0.7) seconds\n        switch costume to (. v)\n        wait (0.7) seconds\n        switch costume to (.. v)\n        wait (0.7) seconds\n        switch costume to (... v)\n        wait (0.7) seconds\n        switch costume to (completed v)\n        wait (2) seconds\n        repeat (25)\n            change [ghost v] effect by (2)\n        end\n        set [loaded? v] to [yes]\n        repeat (25)\n            change [ghost v] effect by (2)\n        end\n        hide\n        broadcast (start v)\n        stop [this script v]\n    end\nend\n\nswitch costume to (error v)\n\n@next level?\n\nwhen flag clicked\nswitch costume to (dot v)\ngo to x: (0) y: (0)\nswitch costume to (next v)\nshow\n\nwhen I receive [boss v]\nhide\n\nwhen I receive [boss is death v]\n\nwhen I receive [boss is death v]\nshow\n\n@boss\n\nwhen flag clicked\nset [brightness v] effect to (0)\nset [boss lives # v] to [5]\nset [boss talk? v] to [no]\nhide\n\ndefine say (text)\nset [say v] to []\nset [letter v] to []\nrepeat (length of (text))\n    change [letter v] by (1)\n    set [say v] to (join (say) (letter (letter) of (text)))\n    say (say)\n    set [pitch v] effect to (pick random (-10) to (60))\n    start sound [reh v]\nend\nswitch costume to (costume1 v)\nwait (1.5) seconds\nsay []\n\nwhen I receive [boss v]\nswitch costume to (hit here v)\ngo to x: (0) y: (0)\npoint in direction (180)\nset [boss talk? v] to [yes]\nshow\nwait (2) seconds\nsay [I've been expecting you]\nset [pen talk # v] to [1]\nbroadcast (Pen talk v) and wait\nsay [...]\nwait (1) seconds\nsay [Don't be so an..]\nset [pen talk # v] to [2]\nbroadcast (Pen talk v) and wait\nsay [.]\nsay [..]\nsay [...]\nsay [We will see...]\nset [boss talk? v] to [no]\nwait (1) seconds\nbroadcast (boss fight v)\nstop [this script v]\n\nwhen I receive [boss fight v]\nrepeat until <<(Boss lives #) = [0]> or <(Boss lives #) < [0]>>\n    set [boss attack v] to (pick random (1) to (3))\n    if <(Boss attack) = [1]> then\n        switch costume to (hit here v)\n        repeat (100)\n            point towards (player v)\n            wait (0.01) seconds\n        end\n        set [player x v] to ([x position v] of [player v])\n        set [player y v] to ([y position v] of [player v])\n        switch costume to (attack v)\n        glide (2) secs to x: (Player X) y: (Player Y)\n        switch costume to (hit here v)\n        if <touching (player v)?> then\n            set [boss talk? v] to [yes]\n            say [Haha got ye!]\n            set [boss talk? v] to [no]\n        else\n            switch costume to (geërgerd v)\n            wait (1) seconds\n            switch costume to (hit here v)\n        end\n    else\n        if <(Boss attack) = [2]> then\n            broadcast (boss bulets v) and wait\n        else\n            if <(Boss attack) = [3]> then\n                switch costume to (spin v)\n                repeat (round ((365) / (5)))\n                    turn left (15) degrees\n                end\n            end\n        end\n    end\nend\nset [brightness v] effect to (0)\nset [boss talk? v] to [yes]\nsay [ARGHHHH!!!!]\nrepeat (25)\n    change [brightness v] effect by (-1)\nend\nrepeat (10)\n    change y by (2)\nend\nrepeat until <touching (_edge_ v)?>\n    change y by (-5)\nend\nhide\nbroadcast (bOSS IS DEATH v)\n\nwhen flag clicked\nset [brightness v] effect to (0)\nforever\n    if <touching (player bulet v)?> then\n        set [brightness v] effect to (0)\n        repeat (15)\n            change [brightness v] effect by (-1)\n        end\n        repeat (15)\n            change [brightness v] effect by (1)\n        end\n        set [brightness v] effect to (0)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen I receive [boss v]\nswitch costume to (normal v)\nwait (1) seconds\nswitch costume to (hit here v)\nwait (1) seconds\nswitch costume to (normal v)\nwait (1) seconds\nswitch costume to (hit here v)\nwait (1) seconds\nswitch costume to (normal v)\n\nwhen I receive [outro v]\nhide\n\n@aim\n\nwhen flag clicked\nhide\n\nwhen I receive [boss fight v]\nswitch costume to (aim v)\nshow\nforever\n    go to (mouse-pointer v)\nend\n\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\n\nwhen I receive [boss fight v]\nswitch costume to (aim v)\nshow\nforever\n    if <mouse down?> then\n        set [aim x v] to (x position)\n        set [aim y v] to (y position)\n        switch costume to (aim / reloading v)\n        broadcast (Player_Shot v) and wait\n        switch costume to (aim v)\n    end\nend\n\ngo to (player v)\n\nglide (0.2) secs to x: (Aim X) y: (Aim Y)\n\npoint towards (mouse-pointer v)\n\nwhen I receive [brother scène v]\nhide\n\n@live count player\n\nwhen flag clicked\nset [boss lives # v] to [20]\nset [player lives # v] to [10]\nhide\n\nwhen I receive [boss fight v]\nset [player lives # v] to [10]\ngo to x: (-198) y: (131)\nshow\nswitch costume to (5 v)\nrepeat until <(Player lives #) = [0]>\n    if <(Player lives #) = [10]> then\n        switch costume to (5 v)\n    else\n        if <(Player lives #) = [7]> then\n            switch costume to (4 v)\n        else\n            if <(Player lives #) = [5]> then\n                switch costume to (3 v)\n            else\n                if <(Player lives #) = [3]> then\n                    switch costume to (1 v)\n                else\n                    if <(Player lives #) = [1]> then\n                        switch costume to (0.5 v)\n                    else\n                        if <(Player lives #) = [0]> then\n                            switch costume to (0 v)\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Player lives #) = [0]> then\n        broadcast (GAME OVER v)\n        stop [this script v]\n    end\nend\n\nrepeat until <(Player lives #) = [0]>\n    if <(Player lives #) = [10]> then\n        switch costume to (5 v)\n    else\n        if <(Player lives #) = [7]> then\n            switch costume to (4 v)\n        else\n            if <(Player lives #) = [5]> then\n                switch costume to (3 v)\n            else\n                if <(Player lives #) = [3]> then\n                    switch costume to (1 v)\n                else\n                    if <(Player lives #) = [1]> then\n                        switch costume to (0.5 v)\n                    else\n                        if <(Player lives #) = [0]> then\n                            switch costume to (0 v)\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [brother scène v]\nhide\n\n@live count boss\n\nwhen flag clicked\nset [boss lives # v] to [5]\nset [player lives # v] to [5]\nhide\n\nwhen I receive [boss fight v]\ngo to x: (193) y: (136)\nswitch costume to (5 v)\nshow\nrepeat until <(Boss lives #) = [0]>\n    if <(Boss lives #) = [16]> then\n        switch costume to (5 v)\n    else\n        if <(Boss lives #) = [12]> then\n            switch costume to (4 v)\n        else\n            if <(Boss lives #) = [8]> then\n                switch costume to (3 v)\n            else\n                if <(Boss lives #) = [4]> then\n                    switch costume to (1 v)\n                else\n                    if <(Boss lives #) = [1]> then\n                        switch costume to (0.5 v)\n                    else\n                        if <<(Boss lives #) = [0]> or <(Boss lives #) < [0]>> then\n                            switch costume to (0 v)\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nswitch costume to (0 v)\n\nswitch costume to ((0) - (Boss lives #))\n\nchange [boss lives # v] by (1)\n\nwhen I receive [brother scène v]\nhide\n\n@Player bulet\n\nwhen flag clicked\nhide\n\nwhen I receive [player_shot v]\ngo to (player v)\npoint towards (aim v)\nshow\nrepeat until <<touching (ground v)?> or <touching (_edge_ v)?>>\n    move (20) steps\n    if <touching (boss v)?> then\n        change [boss lives # v] by (-1)\n        hide\n        stop [this script v]\n    end\nend\n\nwhen I receive [brother scène v]\nhide\nforever\n    stop [other scripts in sprite v]\nend\n\n@Brother scène\n\nwhen flag clicked\nhide\n\nwhen I receive [brother scène v]\nswitch backdrop to (xy-grid-20px v)\npoint in direction (-90)\ncreate clone of (_myself_ v)\nswitch costume to (pen v)\ngo to x: (-201) y: (20)\nshow\nwait (3) seconds\nsay [Yeah sure!]\nglide (1) secs to x: (40) y: (20)\nwait (1) seconds\nrepeat (90)\n    turn right (4) degrees\nend\nwait (7) seconds\nswitch costume to (run v)\nrepeat until <<(x position) = [-329]> or <(x position) < [-328]>>\n    change x by (-4)\nend\nhide\nbroadcast (outro v)\n\nwhen I start as a clone\ngo to [front v] layer\npoint in direction (90)\nswitch costume to (pencil vast v)\ngo to x: (184) y: (-122)\nshow\nsay [Brother!]\nsay [Pleas save me!]\nwait until <touching color (#c4d0d0)?>\nswitch costume to (pencil los v)\nsay [Finaly thank you so much!]\nglide (1) secs to x: (48) y: (-131)\nwait (1) seconds\nglide (1) secs to x: (130) y: (-131)\nsay [Fast we got to go! Now!]\ndelete this clone\n\ndefine say (text)\nset [say v] to []\nset [letter v] to []\nrepeat (length of (text))\n    change [letter v] by (1)\n    set [say v] to (join (say) (letter (letter) of (text)))\n    say (say)\n    set [pitch v] effect to (pick random (-10) to (60))\n    start sound [reh v]\nend\nswitch costume to (costume1 v)\nwait (1.5) seconds\nsay []\n\n@end stuff\n\nwhen flag clicked\nset [ghost v] effect to (100)\nshow list [cool projects: v]\nshow\n\nhide\n\nwhen I receive [outro v]\nhide\n\nwhen I receive [outro v]\nwait (2) seconds\nshow\nswitch costume to (uiterlijk1 v)\nswitch backdrop to (black v)\nset [ghost v] effect to (100)\nrepeat (4)\n    repeat (50)\n        change [ghost v] effect by (-2)\n    end\n    wait (3) seconds\n    repeat (50)\n        change [ghost v] effect by (2)\n    end\n    next costume\nend\nhide list [cool projects: v]\n\nhide\n\nadd [] to [cool projects: v]\n\n@Tumbnail\n\nwhen flag clicked\nhide\n\ngo to [front v] layer\ngo to x: (0) y: (0)\nshow\n\n