plot_check_on = true; plot_post = 70; plot_flag = 1455; tempflag_index = 61; turnofflayers("DEBUG"); turnofflayers("NPCs"); if (scr_debug()) scr_setparty(1, 1); con = -1; customcon = 0; timer = 0; init = 0; waiting = false; shadow_alpha = 0.5; visible = true; blackall = scr_marker(0, 0, spr_whitepixel); blackall.image_blend = c_black; blackall.image_alpha = 0; blackall.image_xscale = room_width; blackall.image_yscale = room_height; blackall.depth = 25050; orange_marker = -4; orange_marker2 = -4; green_marker = -4; npc_aqua_netskie = -4; npc_shinobeetle = -4; if (plot_check_on == false || scr_flag_get(plot_flag) < plot_post) { con = 0; } else { con = 999; with (obj_custom_interactable_solid) instance_destroy(); if (global.flag[1455] == 100) { if (global.flag[676] == 1) { npc_aqua_netskie = scr_makenpc_fromasset(findsprite(spr_enemy_aqua_idle_fox, "NPCs")); scr_setnpclogic(npc_aqua_netskie, { animspeed: 0.25, alwaysanimate: true }, function(arg0) { scr_speaker("no_name"); msgsetloc(0, "* Mites and fleas^1, kee kee^1, I found so many mites and fleas!/%", "obj_ch5_DWCR03_slash_Create_0_gml_49_0"); }); npc_shinobeetle = scr_makenpc_fromasset(findsprite(spr_shinobeetle_spare, "NPCs")); scr_setnpclogic(npc_shinobeetle, { animspeed: 0.25, alwaysanimate: true }, function(arg0) { scr_speaker("no_name"); msgsetloc(0, "* I^1, I'm not a mite.../%", "obj_ch5_DWCR03_slash_Create_0_gml_54_0"); }); } } } obj_watersurface.make_reflection(1198); with (obj_caterpillarchara) obj_watersurface.make_reflection(id); debrisCircleStep = function() { if (visible) { var _distToGo = point_distance(x, y, xTo, yTo); var _percent = _distToGo / dist; z = sin(_percent * pi) * 90; if (_distToGo > spd) { x += lengthdir_x(spd, direction); y += lengthdir_y(spd, direction); depth = odepth - (y - ystart); } else { x = xTo; y = yTo; scr_depth(id, -20); } } }; debrisCircleDraw = function() { draw_sprite_ext(sprite_index, image_index, x, y - z, 2, 2, 0, c_white, image_alpha); }; debrisSpawnCircle = function() { var _rocks = 4; for (var i = 0; i < _rocks; i++) { var _angle = (i * (360 / _rocks)) + random_range(-10, 10) + 15; var _rock = instance_create(orange_marker2.x + 10, or_pos2.y + 10, obj_marker_fancy); with (_rock) { rock = true; odepth = other.orange_marker2.depth; xTo = xstart + ((90 + random_range(-5, 25)) * cos(degtorad(_angle))); yTo = ystart + ((40 + random_range(-20, 0)) * sin(degtorad(_angle))); z = 0; sprite_index = choose(spr_wood_debris1, spr_wood_debris2, spr_wood_debris3, spr_wood_debris4); step_func = method(id, other.debrisCircleStep); draw_func = method(id, other.debrisCircleDraw); image_xscale = 2; image_yscale = 2; visible = false; direction = point_direction(xstart, ystart, xTo, yTo); dist = point_distance(xstart, ystart, xTo, yTo); spd = (dist / 15) * random_range(0.7, 1.2); } c_var_instance(_rock, "visible", true); } }; debrisFallStep = function() { if ((y + vspeed) > ystart) { gravity = 0; vspeed = 0; visible = false; var _splash = instance_create(x, bbox_bottom, obj_utwaterpillar); _splash.depth = depth - 1; snd_play(snd_splash, 0.5, 0.6 + random(0.2)); snd_play(snd_rocket, 0.3, 1.4 + random(0.2)); instance_destroy(); } }; debrisSpawnFall = function(arg0) { var _cy = cameray(); var _fallingrocks = 5; for (var i = 0; i < _fallingrocks; i++) { var _xpos = arg0 + 50 + ((i / (_fallingrocks - 1)) * 540) + irandom_range(-10, 10); var _ypos = (i % 2) ? (irandom_range(145, 200) + 40) : (irandom_range(345, 445) + 40); var _rock = instance_create(_xpos, _ypos, obj_marker_fancy); with (_rock) { rock = true; if (_ypos > 250) depth = 96000; else depth = 98000; var _falloffset = 420 + random(30) + (((i % 2) ? -1 : 1) * (i * 2) * 30); show_debug_message_concat(_falloffset); y -= _falloffset; sprite_index = choose(spr_wood_debris1, spr_wood_debris2, spr_wood_debris3, spr_wood_debris4); step_func = method(id, other.debrisFallStep); image_xscale = 2; image_yscale = 2; visible = false; } c_var_instance(_rock, "visible", true); c_var_instance(_rock, "gravity", 0.4 + random(0.4)); c_var_instance(_rock, "vspeed", random(4)); } };