3D Platformer Creator

Instructions: 日本語は下です!!　サムネを変えてみたよ!!!\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nThis is a desert! ??\nThe wind is blowing! !! !!\n\n▼ How to play\nYou can operate it with the arrow keys or tap !!\nIt is mobile compatible.\n\nWhen it hits the wind, it slows down.\n\n▼ Goal\nTrend 1P\n⭐ and ❤ 300\nNumber of references 10000\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nここは砂漠！？\n風が吹いてきます！！！\n\n▼遊び方\n矢印キー、またはタップで操作できます!!\nモバイル対応です。\n\n風にあたると動きが遅くなります。\n\n▼目標\n傾向1P⇨達成!\n⭐と❤ 300⇨達成!\n参照数10000⇨達成!\n\n▼フォロー推奨\n@idontknow0315様\n@SUKEKOSU3様\n@kako-ken様\n@TNTend様\n@maluyuu様

@Stage\n\nwhen [m v] key pressed\nset [mouse v] to (join (mouse x) (join [, ] (mouse y)))\nshow variable [mouse v]\n\nwhen [c v] key pressed\nhide variable [mouse v]\n\nwhen flag clicked\nswitch backdrop to (intro v)\n\nwhen I receive [start v]\nswitch backdrop to (sky v)\n\nwhen I receive [find ninjas v]\nforever\n    if <(Level Set 3) = [6]> then\n        switch backdrop to (cave entrance v)\n    else\n        if <<(Level Set 3) > [6]> and <(Level Set 3) < [10]>> then\n            switch backdrop to (cave v)\n        else\n            switch backdrop to (sky v)\n        end\n    end\nend\n\n@Ninja\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <<touching (ground v)?> or <touching (blocker v)?>>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <<touching (ground v)?> or <touching (blocker v)?>>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>> and <([abs v] of (speed) ) > [3]>> then\n        if <(wall jump) = [0]> then\n            set [speed x v] to ((-1.2) * (speed))\n            set [speed y v] to [11]\n            set [falling? v] to [6]\n            set [wall jump v] to [5]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\ndefine Set Costume\nif <(falling?) < [3]> then\n    if <(frame) = [0]> then\n        switch costume to (stand_1 v)\n    else\n        switch costume to ([floor v] of ((4) + ((frame) mod (8))) )\n    end\nelse\n    if <(speed y) > [0]> then\n        switch costume to (jump_1 v)\n    else\n        switch costume to (fall_1 v)\n    end\nend\n\nwhen I receive [play v]\nshow\nset size to (50) %\npoint in direction (90)\nset rotation style [left-right v]\ngo to x: (-200) y: (100)\nforever\n    if <(In Cutscene) = [0]> then\n        switch costume to (hitbox v)\n        change [speed y v] by (-1)\n        change y by (speed y)\n        Touch Ground <(speed y) > [0]>\n        if <(wall jump) > [0]> then\n            change [wall jump v] by (-1)\n        else\n            set [speed x v] to ((speed x) * (0.7))\n            if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n                change [speed x v] by (-2)\n            end\n            if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n                change [speed x v] by (2)\n            end\n        end\n        if <(speed x) < [-0.5]> then\n            Walk [-90] (speed x)\n        else\n            if <(speed x) > [0.5]> then\n                Walk [90] (speed x)\n            else\n                set [frame v] to [0]\n            end\n        end\n        if <<(speed y) < [4]> or <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n            change [speed y v] by (-.5)\n        else\n            change [speed y v] by (-1)\n        end\n        if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>> and <(falling?) < [3]>> then\n            set [speed y v] to [14]\n        end\n        if <(x position) > [237]> then\n            change [level set 1 v] by (1)\n            go to x: (-251) y: (y position)\n        end\n        if <<touching (spikes v)?> or <(y position) < [-193]>> then\n            broadcast (Die v)\n        end\n        switch costume to (stand_1 v)\n        Set Costume\n    end\nend\n\nwhen flag clicked\nset [level set 1 v] to [1]\nset [level set 2 v] to [1]\nset [level set 3 v] to [1]\nset [speed x v] to [0]\nset [speed y v] to [0]\nset [falling? v] to [10]\nset [wall jump v] to [0]\nhide\n\nwhen I receive [begin search v]\nstop [other scripts in sprite v]\nset [level set 2 v] to [1]\nshow\nset size to (50) %\npoint in direction (90)\nset rotation style [left-right v]\ngo to x: (-200) y: (50)\nforever\n    if <(In Cutscene) = [0]> then\n        switch costume to (hitbox v)\n        change [speed y v] by (-1)\n        change y by (speed y)\n        Touch Ground <(speed y) > [0]>\n        if <(wall jump) > [0]> then\n            change [wall jump v] by (-1)\n        else\n            set [speed x v] to ((speed x) * (0.7))\n            if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n                change [speed x v] by (-2)\n            end\n            if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n                change [speed x v] by (2)\n            end\n        end\n        if <(speed x) < [-0.5]> then\n            Walk [-90] (speed x)\n        else\n            if <(speed x) > [0.5]> then\n                Walk [90] (speed x)\n            else\n                set [frame v] to [0]\n            end\n        end\n        if <<(speed y) < [4]> or <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n            change [speed y v] by (-.5)\n        else\n            change [speed y v] by (-1)\n        end\n        if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>> and <(falling?) < [3]>> then\n            set [speed y v] to [14]\n        end\n        if <(x position) > [237]> then\n            change [level set 2 v] by (1)\n            go to x: (-251) y: (y position)\n        end\n        if <<touching (spikes v)?> or <(y position) < [-193]>> then\n            broadcast (Die v)\n        end\n        if <touching (trigger plane v)?> then\n            set [in cutscene v] to [1]\n            broadcast (Flight to LoH v)\n        end\n        switch costume to (stand_1 v)\n        Set Costume\n    end\nend\n\nwhen I receive [start v]\nforever\n    play sound [Ninja Music v] until done\nend\n\nwhen I receive [start flight v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [beat flight v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [find ninjas v]\nstop [other scripts in sprite v]\nwait until <(Start Finding) = [yes]>\nset [level set 3 v] to [1]\nbroadcast (Next v)\nshow\nset size to (50) %\npoint in direction (90)\nset rotation style [left-right v]\ngo to x: (-200) y: (50)\nforever\n    if <(In Cutscene) = [0]> then\n        switch costume to (hitbox v)\n        change [speed y v] by (-1)\n        change y by (speed y)\n        Touch Ground <(speed y) > [0]>\n        if <(wall jump) > [0]> then\n            change [wall jump v] by (-1)\n        else\n            set [speed x v] to ((speed x) * (0.7))\n            if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n                change [speed x v] by (-2)\n            end\n            if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n                change [speed x v] by (2)\n            end\n        end\n        if <(speed x) < [-0.5]> then\n            Walk [-90] (speed x)\n            set [star dir v] to [-90]\n        else\n            if <(speed x) > [0.5]> then\n                Walk [90] (speed x)\n                set [star dir v] to [90]\n            else\n                set [frame v] to [0]\n            end\n        end\n        if <<(speed y) < [4]> or <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n            change [speed y v] by (-.5)\n        else\n            change [speed y v] by (-1)\n        end\n        if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>> and <(falling?) < [3]>> then\n            set [speed y v] to [14]\n        end\n        if <(x position) > [237]> then\n            change [level set 3 v] by (1)\n            go to x: (-251) y: (y position)\n            broadcast (Next v)\n        end\n        if <<<touching (spikes v)?> or <touching (boss v)?>> or <<(y position) < [-193]> or <touching color (#ff7474)?>>> then\n            broadcast (Die v)\n        end\n        if <key (r v) pressed?> then\n            if <(in boss fight?) = [1]> then\n                broadcast (Start Boss Fight v)\n                set [enemies killed v] to [0]\n            end\n        end\n        if <(Level Set 3) > [2]> then\n            if <(throw in progress) = [0]> then\n                if <key (space v) pressed?> then\n                    broadcast (Throw Star v)\n                end\n            end\n        end\n        switch costume to (stand_1 v)\n        Set Costume\n    end\nend\n\nwhen I receive [die v]\nset [speed x v] to [0]\nset [speed y v] to [0]\nset [wall jump v] to [0]\nset [slope v] to [0]\nswitch costume to (stand_1 v)\ngo to x: (-200) y: (50)\n\nwhen I receive [boss fight v]\ngo to x: (-250) y: (-48)\nswitch costume to (move_1 v)\nrepeat (35)\n    next costume\n    if <(costume [number v]) > [11]> then\n        switch costume to (move_1 v)\n    end\n    move (3) steps\nend\nswitch costume to (stand_1 v)\n\nwhen I receive [boss death v]\ngo to x: (-100) y: (-47)\nswitch costume to (stand_1 v)\n\n@Ground\n\nwhen I receive [play v]\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\ngo [backward v] (1) layers\nforever\n    switch costume to (Level Set 1)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [begin search v]\nstop [other scripts in sprite v]\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\ngo [backward v] (1) layers\nforever\n    switch costume to ((Level Set 2) + (5))\nend\n\nwhen I receive [start flight v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [beat flight v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [find ninjas v]\nhide\nstop [other scripts in sprite v]\nwait until <(Start Finding) = [yes]>\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\ngo [backward v] (1) layers\nforever\n    switch costume to ((Level Set 3) + (11))\nend\n\n@Spikes\n\nwhen I receive [play v]\ngo to x: (0) y: (0)\nshow\ngo to [back v] layer\nforever\n    switch costume to (Level Set 1)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [begin search v]\nstop [other scripts in sprite v]\ngo to x: (0) y: (0)\nshow\ngo to [back v] layer\nforever\n    switch costume to ((Level Set 2) + (5))\nend\n\nwhen I receive [start flight v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [beat flight v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [find ninjas v]\nhide\nstop [other scripts in sprite v]\nwait until <(Start Finding) = [yes]>\ngo to x: (0) y: (0)\nshow\ngo to [back v] layer\nforever\n    switch costume to ((Level Set 3) + (11))\nend\n\n@Words\n\nwhen I receive [play v]\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nforever\n    switch costume to (Level Set 1)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [begin search v]\nstop [other scripts in sprite v]\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nforever\n    switch costume to ((Level Set 2) + (5))\nend\n\nwhen I receive [start flight v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [beat flight v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [find ninjas v]\nhide\nstop [other scripts in sprite v]\nwait until <(Start Finding) = [yes]>\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nforever\n    switch costume to ((Level Set 3) + (11))\nend\n\n@Enemies\n\nwhen flag clicked\nhide\nset [enemies killed v] to [0]\n\ndefine Clone at (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [next v]\nif <(in boss fight?) = [0]> then\n    if <(Start Finding) = [yes]> then\n        broadcast (Delete Clones v) and wait\n        if <(Level Set 3) = [4]> then\n            Clone at [0] [0]\n        else\n            if <(Level Set 3) = [5]> then\n                Clone at [0] [150]\n            else\n                if <(Level Set 3) = [8]> then\n                    Clone at [120] [70]\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [die v]\nif <(in boss fight?) = [0]> then\n    if <(Start Finding) = [yes]> then\n        broadcast (Delete Clones v) and wait\n        if <(Level Set 3) = [4]> then\n            Clone at [0] [0]\n        else\n            if <(Level Set 3) = [5]> then\n                Clone at [0] [150]\n            else\n                if <(Level Set 3) = [8]> then\n                    Clone at [120] [70]\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nshow\nset [x v] to [0]\nset [y v] to [0]\nset rotation style [left-right v]\nrepeat until <<touching (ninja star v)?> or <(y position) < [-184]>>\n    change [y v] by (-1)\n    if <([x position v] of [ninja v]) < (x position)> then\n        change [x v] by (-.6)\n        point in direction (90)\n    else\n        change [x v] by (.6)\n        point in direction (-90)\n    end\n    set [x v] to ((x) * (.9))\n    change x by (x)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change y by (-4)\n                        change x by ((x) * (-1))\n                        if <([x position v] of [ninja v]) > ((y position) + (5))> then\n                            set [y v] to [8]\n                            if <([abs v] of (x) ) = (x)> then\n                                set [x v] to [-5]\n                            else\n                                set [x v] to [5]\n                            end\n                        else\n                            set [x v] to [0]\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (y)\n    if <touching (ground v)?> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<([x position v] of [ninja v]) > ((y position) + (5))> and <touching (ground v)?>> then\n        set [y v] to [12]\n    end\n    change y by (1)\n    if <touching (ninja v)?> then\n        broadcast (Die v)\n    end\nend\nif <(in boss fight?) = [1]> then\n    change [enemies killed v] by (1)\nend\nbroadcast (Slime Die v)\ndelete this clone\n\nwhen I receive [delete clones v]\ndelete this clone\n\nwhen I receive [start boss fight v]\nbroadcast (Delete Clones v) and wait\nwait (1) seconds\nrepeat (10)\n    Clone at [20] [0]\n    wait (1) seconds\nend\nwait until <(forcefield down?) = [1]>\nwait until <(forcefield down?) = [0]>\nwait (1) seconds\nset [enemies killed v] to [ 0]\nrepeat (15)\n    Clone at [20] [0]\n    wait (1) seconds\nend\n\n@Boss\n\ndefine Talk (input) (wait...)\nset [number v] to [0]\nset [hold v] to []\nrepeat (length of (input))\n    set [hold v] to (join (Hold) (letter (Number) of (input)))\n    say (Hold)\n    change [number v] by (1)\nend\nsay (input) for (wait...) seconds\n\nwhen flag clicked\nhide\ngo to x: (130) y: (9)\nset [in boss fight? v] to [0]\nset [forcefield down? v] to [0]\n\nwhen I receive [find ninjas v]\nwait (1) seconds\nwait until <(Level Set 3) = [10]>\nbroadcast (Boss Fight v)\n\nwhen I receive [boss fight v]\nswitch costume to (boss good v)\nset [in cutscene v] to [1]\ngo to x: (130) y: (9)\nshow\nwait (2) seconds\nTalk [I am the slime boss!!] [2]\nTalk [I captured the survivors!!] [2]\nTalk [You will never get them back, unless...] [2]\nTalk [YOU FIGHT ME TO THE DEATH!!] [2]\nbroadcast (Start Boss Fight v)\n\nwhen I receive [start boss fight v]\nshow\ngo to [front v] layer\nswitch costume to (boss good v)\nset [boss health v] to [8]\nset [in cutscene v] to [0]\nset [in boss fight? v] to [1]\nwait (0.7) seconds\nTalk [Face this!!] [2]\nwait until <(enemies killed) = [10]>\nswitch costume to (boss bad v)\nTalk [OW!!!] [2]\nset [forcefield down? v] to [1]\nrepeat (4)\n    wait until <touching (ninja star v)?>\n    change [boss health v] by (-1)\n    wait until <not <touching (ninja star v)?>>\nend\nswitch costume to (boss good v)\nset [forcefield down? v] to [0]\nwait until <(enemies killed) = [15]>\nswitch costume to (boss bad v)\nTalk [NO, YOU CAN'T BEAT ME...] [2]\nset [forcefield down? v] to [1]\nrepeat (2)\n    wait until <touching (ninja star v)?>\n    change [boss health v] by (-1)\n    wait until <not <touching (ninja star v)?>>\nend\nswitch costume to (boss good v)\nwait (1) seconds\nglide (1) secs to x: (-100) y: (100)\nwait (0.3) seconds\nglide (0.6) secs to x: (-100) y: (-53)\nglide (0.6) secs to x: (-10) y: (100)\nglide (0.6) secs to x: (-10) y: (-53)\nglide (0.6) secs to x: (-135) y: (100)\nglide (0.6) secs to x: (-135) y: (-53)\nglide (0.6) secs to x: (-75) y: (100)\nglide (0.6) secs to x: (-75) y: (-53)\nswitch costume to (boss bad v)\nTalk [HOW!!] [2]\nrepeat (1)\n    wait until <touching (ninja star v)?>\n    change [boss health v] by (-1)\n    wait until <not <touching (ninja star v)?>>\nend\nswitch costume to (boss good v)\nglide (1) secs to x: (130) y: (9)\nset [forcefield down? v] to [0]\nwait (1) seconds\nswitch costume to (boss plane v)\nglide (1) secs to x: (-30) y: (120)\nwait (0.7) seconds\nbroadcast (Final Phase v)\n\ndefine Drop Bomb\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\ngo to [back v] layer\nswitch costume to (bomb v)\nrepeat until <touching (ground v)?>\n    change [y v] by (-0.2)\n    change y by (y)\nend\nset [bomb x v] to (x position)\nset [bomb y v] to ((y position) + (25))\nbroadcast (Bomb Explode v)\ndelete this clone\n\nwhen I receive [final phase v]\nshow\ngo to x: (-30) y: (120)\nset [boss health v] to [1]\nset [in cutscene v] to [0]\nswitch costume to (boss plane v)\nrepeat (9)\n    Drop Bomb\n    wait (0.8) seconds\nend\nwait (0.7) seconds\nswitch costume to (boss bad v)\nTalk [This is it for me...] [2]\nglide (1) secs to x: (130) y: (9)\nset [forcefield down? v] to [1]\nwait until <touching (ninja star v)?>\nchange [boss health v] by (-1)\nset [in cutscene v] to [1]\nbroadcast (Boss Death v)\n\nwhen I receive [final phase v]\nglide (0.7) secs to x: (-120) y: (120)\nglide (1.2) secs to x: (120) y: (120)\nglide (0.7) secs to x: (-80) y: (120)\nglide (0.5) secs to x: (-40) y: (120)\nglide (0.5) secs to x: (-100) y: (120)\nglide (0.5) secs to x: (-120) y: (120)\nglide (1.2) secs to x: (120) y: (120)\nglide (0.7) secs to x: (-80) y: (120)\nglide (0.5) secs to x: (-40) y: (120)\nglide (0.5) secs to x: (-100) y: (120)\n\nwhen I receive [boss death v]\nset [in boss fight? v] to [0]\nwait (2) seconds\nTalk [Uh, I have been defeated, you've won :\(] [2]\nTalk [The survivors are just up ahead...] [2]\nTalk [NO!!] [2]\nset [in cutscene v] to [0]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ngo to x: (-2222222222222) y: (-222222222222222222222)\n\n@Boss Healthbar\n\nwhen flag clicked\nhide\n\nwhen I receive [start boss fight v]\nshow\nforever\n    switch costume to (boss health)\nend\n\nwhen I receive [final phase v]\nshow\nforever\n    switch costume to (boss health)\nend\n\nwhen I receive [boss death v]\nhide\n\n@Forcefield\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\n\nwhen I receive [start boss fight v]\nshow\ngo to x: (130) y: (28)\nswitch costume to (forcefield v)\nrepeat (10)\n    set [ghost v] effect to (-10)\nend\nwait until <(forcefield down?) = [1]>\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nwait until <(forcefield down?) = [0]>\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait until <(forcefield down?) = [1]>\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nwait until <(forcefield down?) = [0]>\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait until <(forcefield down?) = [1]>\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [boss death v]\nhide\n\n@Blocker\n\nwhen flag clicked\nhide\n\nwhen I receive [boss fight v]\nshow\ngo to [front v] layer\n\nwhen I receive [boss death v]\nhide\n\n@Restart Message\n\nwhen flag clicked\nhide\n\nwhen I receive [boss death v]\nhide\n\nwhen I receive [start boss fight v]\nshow\ngo to [front v] layer\n\n@Ninja Star\n\nwhen flag clicked\nhide\nset [throw in progress v] to [0]\n\nwhen I receive [throw star v]\nshow\nset [throw in progress v] to [1]\ngo to (ninja v)\nif <(star dir) = [90]> then\n    repeat until <<<touching (_edge_ v)?> or <touching (ground v)?>> or <touching color (#ff7474)?>>\n        change x by (10)\n        turn right (15) degrees\n    end\nelse\n    repeat until <<<touching (_edge_ v)?> or <touching (ground v)?>> or <touching color (#ff7474)?>>\n        change x by (-10)\n        turn right (-15) degrees\n    end\nend\nwait (0.1) seconds\nset [throw in progress v] to [0]\nhide\n\nwhen I receive [slime die v]\nhide\nset [throw in progress v] to [0]\n\nwhen I receive [throw star v]\nforever\n    if <touching (boss v)?> then\n        wait (0.1) seconds\n        hide\n        set [throw in progress v] to [0]\n    end\nend\n\n@Throw Button\n\nwhen flag clicked\nhide\n\nwhen I receive [find ninjas v]\nwait until <(Start Finding) = [yes]>\nwait (0.1) seconds\nwait until <(Level Set 3) > [2]>\nshow\nrepeat (2)\n    go to [front v] layer\nend\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (10)\n        if <mouse down?> then\n            if <(throw in progress) = [0]> then\n                broadcast (Throw Star v)\n                wait until <not <mouse down?>>\n            end\n        end\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\n@Title\n\nwhen I receive [start v]\nshow\ngo to x: (0) y: (100)\nforever\n    point in direction ((([sin v] of ((timer) * (400)) ) * (3)) + (90))\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [play v]\nhide\n\n@Image\n\nwhen flag clicked\nhide\n\nwhen I receive [play v]\nhide\n\nwhen I receive [start v]\nshow\ngo to x: (0) y: (0)\n\n@Menu Button\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\ngo to x: (0) y: (-100)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (10)\n        if <mouse down?> then\n            broadcast (Play v)\n            stop [this script v]\n        end\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen I receive [flight to loh v]\nstop all sounds\nstop [other scripts in sprite v]\n\nwhen I receive [play v]\nhide\n\nwhen I receive [find ninjas v]\nforever\n    play sound [Ninja Music v] until done\nend\n\nwhen I receive [start v]\nforever\n    play sound [Ninja Music v] until done\nend\n\n@Backstory\n\nwhen I receive [backstory v]\nshow\ngo to [front v] layer\nswitch costume to (black v)\nset [ghost v] effect to (100)\nset [brightness v] effect to (-100)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\nwait (0.5) seconds\nswitch costume to (backstory1 v)\nrepeat (20)\n    change [brightness v] effect by (5)\nend\nwait until <mouse down?>\nrepeat (20)\n    change [brightness v] effect by (-5)\nend\nnext costume\nrepeat (20)\n    change [brightness v] effect by (5)\nend\nwait until <mouse down?>\nrepeat (20)\n    change [brightness v] effect by (-5)\nend\nnext costume\nrepeat (20)\n    change [brightness v] effect by (5)\nend\nwait until <mouse down?>\nrepeat (20)\n    change [brightness v] effect by (-5)\nend\nnext costume\nrepeat (20)\n    change [brightness v] effect by (5)\nend\nwait until <mouse down?>\nrepeat (20)\n    change [brightness v] effect by (-5)\nend\nnext costume\nrepeat (20)\n    change [brightness v] effect by (5)\nend\nwait until <mouse down?>\nrepeat (20)\n    change [brightness v] effect by (-5)\nend\nnext costume\nrepeat (20)\n    change [brightness v] effect by (5)\nend\nwait until <mouse down?>\nrepeat (20)\n    change [brightness v] effect by (-5)\nend\nwait (1) seconds\nhide\nbroadcast (Begin Search v)\n\nwhen I receive [begin search v]\nset [in cutscene v] to [0]\n\nwhen I receive [play v]\nset [in cutscene v] to [0]\nhide\nwait (1) seconds\nwait until <(Level Set 1) = [5]>\nset [in cutscene v] to [1]\nbroadcast (Backstory v)\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\n\nwhen [h v] key pressed\nhide\n\n@Trigger Plane\n\nwhen flag clicked\nhide\n\nwhen I receive [begin search v]\nwait (0.00001) seconds\nwait until <(Level Set 2) = [6]>\nshow\nrepeat (10)\n    go to [front v] layer\nend\n\nwhen I receive [start flight v]\nstop [other scripts in sprite v]\nhide\n\n@Transition\n\nwhen I start as a clone\ngo to [front v] layer\nif <(costume [number v]) = [2]> then\n    show\n    set [ghost v] effect to (0)\n    repeat (18)\n        switch costume to (blank v)\n        change size by ((size) / (4))\n        switch costume to (circle v)\n    end\n    change [done? v] by (1)\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset [start finding v] to [no]\n\nwhen I receive [flight to loh v]\nset [done? v] to [0]\nset [clone id v] to [0]\nwait (0) seconds\nset [brightness v] effect to (20)\nhide\nrepeat (3)\n    create clone of (_myself_ v)\n    change [brightness v] effect by (-10)\n    wait (0.05) seconds\nend\nswitch costume to (circle v)\nset [brightness v] effect to (20)\nrepeat (3)\n    create clone of (_myself_ v)\n    change [brightness v] effect by (-10)\n    wait (0.05) seconds\nend\nwait until <(Done?) = [6]>\nbroadcast (Start Flight v)\n\nwhen flag clicked\nswitch costume to (circle v)\n\nwhen I receive [find ninjas v]\nset [done? v] to [0]\nset [clone id v] to [0]\nwait (0) seconds\nset [brightness v] effect to (20)\nhide\nrepeat (3)\n    create clone of (_myself_ v)\n    change [brightness v] effect by (-10)\n    wait (0.05) seconds\nend\nswitch costume to (circle v)\nset [brightness v] effect to (20)\nrepeat (3)\n    create clone of (_myself_ v)\n    change [brightness v] effect by (-10)\n    wait (0.05) seconds\nend\nwait until <(Done?) = [6]>\nset [in cutscene v] to [0]\nset [start finding v] to [yes]\n\nwhen I receive [boss death v]\nset [done? v] to [0]\nset [clone id v] to [0]\nwait (0) seconds\nset [brightness v] effect to (20)\nhide\nrepeat (3)\n    create clone of (_myself_ v)\n    change [brightness v] effect by (-10)\n    wait (0.05) seconds\nend\nswitch costume to (circle v)\nset [brightness v] effect to (20)\nrepeat (3)\n    create clone of (_myself_ v)\n    change [brightness v] effect by (-10)\n    wait (0.05) seconds\nend\nwait until <(Done?) = [6]>\n\n@Plane\n\nwhen flag clicked\nhide\nset size to (20) %\ngo to x: (0) y: (-20)\nhide variable [plane health v]\nset [ghost v] effect to (100)\n\nwhen I receive [start flight v]\npoint in direction (0)\nset [plane health v] to [5]\nshow\nset [x v] to [0]\nset [y v] to [0]\nwait until <(Allowed to fly?) = [yes]>\nshow variable [plane health v]\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nforever\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x v] by (1)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [x v] by (-1)\n    end\n    set [x v] to ((x) * (.9))\n    if <touching color (#000000)?> then\n        broadcast (Hit v)\n        change [plane health v] by (-1)\n        wait until <not <touching color (#000000)?>>\n    end\n    if <(Plane Health) < [1]> then\n        broadcast (Death v)\n    end\nend\n\nwhen I receive [death v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [beat flight v]\nhide variable [plane health v]\nstop [other scripts in sprite v]\nhide\n\n@Flight Instructions\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\nset [allowed to fly? v] to [no]\n\nwhen I receive [start flight v]\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait until <mouse down?>\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [allowed to fly? v] to [yes]\n\nwhen I receive [beat flight v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [death v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [start flight v]\nforever\n    play sound [Plane Music v] until done\nend\n\n@Clouds And Bombs\n\nwhen flag clicked\nhide\n\nwhen I receive [start flight v]\nwait until <(Allowed to fly?) = [yes]>\nrepeat (5)\n    Clone (pick random (-255) to (255)) (pick random (-185) to (185))\nend\n\nwhen I start as a clone\nshow\nswitch costume to (pick random (1) to (pick random (1) to (2)))\nforever\n    change y by (-7)\n    change x by (([x v] of [plane v]) * (-1))\n    if <(y position) < [-187]> then\n        switch costume to (pick random (1) to (pick random (1) to (2)))\n        go to x: (pick random (-255) to (255)) y: (188)\n    end\n    if <(x position) > [245]> then\n        switch costume to (pick random (1) to (pick random (1) to (2)))\n        go to x: (-245) y: (pick random (-185) to (185))\n    end\n    if <(x position) < [-245]> then\n        switch costume to (pick random (1) to (pick random (1) to (2)))\n        go to x: (245) y: (pick random (-185) to (185))\n    end\n    if <<touching (plane v)?> and <(costume [number v]) = [2]>> then\n        wait (0.0001) seconds\n        New Clone After Hit\n        delete this clone\n    end\nend\n\ndefine New Clone After Hit\ngo to x: (245) y: (pick random (-185) to (185))\ncreate clone of (_myself_ v)\n\ndefine Clone (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [death v]\nstop [other scripts in sprite v]\nhide\nrepeat (1)\n    delete this clone\nend\n\nwhen I receive [beat flight v]\nstop [other scripts in sprite v]\nhide\nrepeat (1)\n    delete this clone\nend\n\n@Explosion\n\nwhen flag clicked\nhide\n\nwhen I receive [hit v]\nstart sound [BOOM!!!!! v]\nswitch costume to (exploding a v)\ngo to (plane v)\nshow\nset size to (500) %\nrepeat (13)\n    next costume\n    wait (0.00000001) seconds\nend\nhide\nstop [this script v]\n\nwhen I receive [bomb explode v]\ngo to x: (bomb x) y: (bomb y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nstart sound [BOOM!!!!! v]\nswitch costume to (exploding a v)\nshow\nset size to (500) %\nrepeat (13)\n    next costume\n    wait (0.00000001) seconds\nend\nhide\ndelete this clone\n\n@Retry Flight Button\n\nwhen flag clicked\nhide\n\nwhen I receive [death v]\nset [allowed to fly? v] to [no]\nset [ghost v] effect to (100)\nshow\ngo to x: (0) y: (-100)\nwait (0.5) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (10)\n        if <mouse down?> then\n            broadcast (Start Flight v)\n            hide\n            stop [this script v]\n        end\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\n@Retry Image\n\nwhen flag clicked\nhide\n\nwhen I receive [death v]\nset [ghost v] effect to (100)\nshow\ngo to x: (0) y: (50)\nwait (0.5) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [start flight v]\nhide\n\n@Time\n\nwhen I receive [start flight v]\nwait (0.0001) seconds\nset [time v] to [30]\nwait until <(Allowed to fly?) = [yes]>\nshow variable [time v]\nrepeat (60)\n    wait (0.9) seconds\n    change [time v] by (-1)\nend\nstop [this script v]\n\nwhen I receive [start flight v]\nwait (0.0001) seconds\nwait until <(Allowed to fly?) = [yes]>\nforever\n    if <(Time) < [1]> then\n        broadcast (Beat Flight v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nhide variable [time v]\n\n@Beat Flight\n\nwhen flag clicked\nhide\n\nwhen I receive [beat flight v]\nstop all sounds\nhide variable [time v]\nwait (0.5) seconds\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait until <mouse down?>\nhide\nbroadcast (Find Ninjas v)\n\n@Intro\n\nwhen I start as a clone\nif <(Clone) = [Particles]> then\n    go to x: (0) y: (0)\n    show\n    go to [front v] layer\n    switch costume to (particle v)\n    set size to (100) %\n    show\n    set [x v] to (pick random (-15) to (15))\n    set [y v] to (pick random (20) to (30))\n    repeat until <<touching (_edge_ v)?> or <touching (level v)?>>\n        change [y v] by (-2)\n        set [x v] to ((x) * (0.9))\n        set [y v] to ((y) * (0.9))\n        change x by (x)\n        change y by (y)\n    end\n    delete this clone\nend\n\ndefine Clone Sprite ID (id) # (#)\nset [clone v] to (id)\nrepeat (#)\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nhide\nClone Sprite ID [Back] # [1]\nwait (0.7) seconds\nClone Sprite ID [Dot] # [1]\n\nwhen I start as a clone\nif <(Clone) = [Back]> then\n    show\n    go to [back v] layer\n    switch costume to (back v)\n    forever\n        point in direction ((([cos v] of ((timer) * (100)) ) * (15)) + (90))\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [Dot]> then\n    go to x: (0) y: (200)\n    show\n    go to [front v] layer\n    switch costume to (dot v)\n    set [i v] to [-1]\n    repeat (20)\n        change [i v] by (join [-] (([abs v] of (I) ) / (4)))\n        change y by ((I) / (2.5))\n    end\n    repeat (5)\n        switch costume to (nothing v)\n        change size by (((10000) - (size)) / (16))\n        switch costume to (dot v)\n    end\n    wait (0.5) seconds\n    Clone Sprite ID [JC] # [1]\nend\n\nwhen I start as a clone\nif <(Clone) = [JC]> then\n    go to x: (0) y: (0)\n    show\n    go to [front v] layer\n    switch costume to (jc v)\n    set size to (2) %\n    Grow to size [100]\n    wait (0.7) seconds\n    switch costume to (spin1 v)\n    repeat (30)\n        switch costume to ((costume [number v]) + (2))\n        if <(costume [number v]) > [12]> then\n            switch costume to (spin1 v)\n        end\n    end\n    broadcast (Name v)\nend\n\ndefine Grow to size (size)\nset [bounce v] to [0]\nrepeat until <([abs v] of (((0.85) * (Bounce)) + (((size) - (size)) / (8))) ) < [0.05]>\n    set [bounce v] to (((0.85) * (Bounce)) + (((size) - (size)) / (8)))\n    change size by (Bounce)\nend\n\nwhen I start as a clone\nif <(Clone) = [J]> then\n    go to x: (-135) y: (-130)\n    show\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (letter1 v)\n    Jump to y [-120]\nend\n\ndefine Jump to y (y)\nset [bounce v] to [0]\nrepeat until <([abs v] of (((0.85) * (Bounce)) + (((y) - (y position)) / (8))) ) < [0.05]>\n    set [bounce v] to (((0.85) * (Bounce)) + (((y) - (y position)) / (8)))\n    change y by (Bounce)\nend\n\nwhen I receive [name v]\nrepeat (1)\n    delete this clone\nend\nClone Sprite ID [Ninja] # [1]\nwait (0) seconds\nClone Sprite ID [J] # [1]\nwait (0) seconds\nClone Sprite ID [C] # [1]\nwait (0) seconds\nClone Sprite ID [_] # [1]\nwait (0) seconds\nClone Sprite ID [P] # [1]\nwait (0) seconds\nClone Sprite ID [r] # [1]\nwait (0) seconds\nClone Sprite ID [o1] # [1]\nwait (0) seconds\nClone Sprite ID [G] # [1]\nwait (0) seconds\nClone Sprite ID [o2] # [1]\nwait (0) seconds\nClone Sprite ID [l] # [1]\nwait (0) seconds\nClone Sprite ID [d] # [1]\nwait (1.5) seconds\nClone Sprite ID [Square] # [1]\nwait (0.7) seconds\nClone Sprite ID [Logo] # [1]\n\nwhen I start as a clone\nif <(Clone) = [C]> then\n    go to x: (-105) y: (-130)\n    show\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (letter2 v)\n    Jump to y [-120]\nend\n\nwhen I start as a clone\nif <(Clone) = [_]> then\n    go to x: (-75) y: (-130)\n    show\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (letter3 v)\n    Jump to y [-120]\nend\n\nwhen I start as a clone\nif <(Clone) = [P]> then\n    go to x: (-45) y: (-130)\n    show\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (letter4 v)\n    Jump to y [-120]\nend\n\nwhen I start as a clone\nif <(Clone) = [r]> then\n    go to x: (-15) y: (-130)\n    show\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (letter5 v)\n    Jump to y [-120]\nend\n\nwhen I start as a clone\nif <(Clone) = [o1]> then\n    go to x: (15) y: (-130)\n    show\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (letter6 v)\n    Jump to y [-120]\nend\n\nwhen I start as a clone\nif <(Clone) = [G]> then\n    go to x: (45) y: (-130)\n    show\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (letter7 v)\n    Jump to y [-120]\nend\n\nwhen I start as a clone\nif <(Clone) = [o2]> then\n    go to x: (75) y: (-130)\n    show\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (letter8 v)\n    Jump to y [-120]\nend\n\nwhen I start as a clone\nif <(Clone) = [l]> then\n    go to x: (105) y: (-130)\n    show\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (letter9 v)\n    Jump to y [-120]\nend\n\nwhen I start as a clone\nif <(Clone) = [d]> then\n    go to x: (135) y: (-130)\n    show\n    set size to (100) %\n    go to [front v] layer\n    switch costume to (letter10 v)\n    Jump to y [-120]\nend\n\nwhen I start as a clone\nif <(Clone) = [Ninja]> then\n    go to x: (0) y: (0)\n    show\n    go to [front v] layer\n    switch costume to (ninja v)\n    set size to (2) %\n    Grow to size [100]\nend\n\ndefine Smooth (x) (y) (s) (d) (g)\nrepeat until <<(round (x position)) = (x)> and <<(round (y position)) = (y)> and <<(round (size)) = (s)> and <(round (direction)) = (d)>>>>\n    change x by (((x) - (x position)) / (5))\n    change y by (((y) - (y position)) / (5))\n    change size by (((s) - (size)) / (5))\n    turn right (((d) - (direction)) / (5)) degrees\n    change [ghost v] effect by (g)\nend\n\nwhen I start as a clone\nif <(Clone) = [Square]> then\n    show\n    go to [front v] layer\n    go to x: (0) y: (1000)\n    switch costume to (square v)\n    Smooth [0] [-370] [100] [90] [0]\nend\n\nwhen I start as a clone\nif <(Clone) = [Logo]> then\n    go to x: (0) y: (0)\n    show\n    go to [front v] layer\n    switch costume to (logo v)\n    set size to (2) %\n    Grow to size [100]\n    wait (0.7) seconds\n    Clone Sprite ID [Particles] # [15]\n    glide (0.1) secs to x: (226) y: (-100)\n    hide\n    wait (1.5) seconds\n    broadcast (Start v)\nend\n\nwhen I start as a clone\nif <(Clone) = [Logo]> then\n    Clone Sprite ID [Particles] # [15]\n    repeat (18)\n        turn right (20) degrees\n    end\nend\n\nwhen I receive [start v]\nstop all sounds\nstop [other scripts in sprite v]\nrepeat (1)\n    delete this clone\nend\n\nwhen flag clicked\nset volume to (100) %\nstart sound [Intro v]\nwait (10) seconds\nrepeat (50)\n    change volume by (-2)\nend\n\nwhen flag clicked\nforever\n    if <<key (space v) pressed?> or <mouse down?>> then\n        broadcast (Start v)\n        stop [this script v]\n    end\nend\n\n@TN\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n