function scr_plat_encounter(arg0, arg1 = -1, arg2 = false) { with (obj_plat_game) paused = true; if (!instance_exists(obj_mainchara)) { with (obj_plat_player) { var mc = instance_create(x, y, obj_mainchara); mc.sprite_index = sprite_index; mc.image_index = image_index; mc.image_speed = 0; mc.cutscene = 1; mc.fun = 1; mc.depth = depth; } } with (obj_plat_player) instance_destroy(); with (obj_plat_follower) { restore_default_behavior(); with (back_marker) scr_doom(self, 30).respects_platmode = false; var cp = instance_create(x, y, obj_caterpillarchara); with (cp) { depth = other.depth; name = other.name; initialize(); x = other.x; y = other.y; sprite_index = other.sprite_index; image_index = other.image_index; image_speed = 0; fun = 1; follow = 0; var after_sprite = sprite_index; if (name == "ralsei") { after_sprite = 4371; parent = obj_mainchara; target = 24; global.cinstance[1] = id; } else { after_sprite = 8042; parent = obj_mainchara; global.cinstance[0] = id; } image_xscale = other.image_xscale; encounter_return_offset = [after_sprite, sprite_xoffset, sprite_yoffset, 2]; } instance_destroy(); } if (is_array(arg0)) { for (var i = 0; i < array_length(arg0); i++) { with (arg0[i]) { newme = instance_create(x, y, obj_testoverworldenemy); newme.image_xscale = image_xscale; newme.image_yscale = image_yscale; newme.sprite_index = touchsprite; newme.touchsprite = touchsprite; newme.slidesprite = sprite_index; newme.depth = depth; newme.silent = arg2; newme.eraser = false; newme.washit = false; newme.whichmonster = whichmonster; newme.platmode = true; if (i == 0) { if (arg1 > 0) global.flag[54] = arg1; global.flag[55] = x; global.flag[56] = y; global.encounterno = myencounter; with (newme) event_user(0); } } } } else { with (arg0) { if (arg1 > 0) global.flag[54] = arg1; global.flag[55] = x; global.flag[56] = y; newme = instance_create(x, y, obj_testoverworldenemy); newme.image_xscale = image_xscale; newme.image_yscale = image_yscale; newme.sprite_index = touchsprite; newme.touchsprite = touchsprite; newme.slidesprite = sprite_index; newme.depth = depth; newme.silent = arg2; newme.eraser = false; newme.washit = false; newme.whichmonster = whichmonster; newme.platmode = true; with (newme) event_user(0); global.encounterno = myencounter; return newme; } } }