event_inherited(); if (global.pause_plat) { } else if (!init) { scr_plat_depthcast(); init = true; if (scr_flag_get_ext(_ROOM_STATE_FLAG, _TREE_SMASHED_BIT, 1) && state == 0) wreck_tree(); } for (var i = 0; i < array_length(fruits); i++) { if (instance_exists(fruits[i])) { fruits[i].depth = other.depth - 1; fruits[i].x = x + (fruitoffsets[i][0] * image_xscale); fruits[i].y = y + (fruitoffsets[i][1] * image_yscale); } } if (instance_exists(branch)) { branch.x = x; branch.y = y; branch.depth = other.depth - 1; } if (global.pause_plat) exit; if (state >= 1) { timer++; if (state == 1) { scr_flag_set_ext(_ROOM_STATE_FLAG, _TREE_SMASHED_BIT, 1); if (timer == 1) { vspeed = -8; entity_gravity = 2; physics = true; } if (timer == 12) { vspeed = 0; physics = false; entity_gravity = 0; gravity = 0; state = 2; timer = 0; } } else if (state == 2) { if (timer <= 55) image_angle = sin(timer / 8) * (timer / 15); if (timer == 56) scr_lerpvar("image_angle", image_angle, image_angle - 35, 30, 3, "in"); if (timer == 85) { state = 3; timer = 0; } } else if (state == 3 && timer == 1) { state = 0; scr_shakeobj(); hspeed = 0; vspeed = 0; slope = instance_create((x + 60) - (38 * image_xscale), (y - 320) + (164 * image_yscale), obj_plat_slope); slope.depth = -10; slope.visible = 0; slope.image_xscale = 1.6 * image_xscale; slope.image_yscale = 2.1 * image_yscale; with (slope) { set_slope(); with (instance_create(x2, y2 + 4, obj_plat_floor)) { visible = 0; depth = -10; } } } }