if (init == 0) { if (myself >= 0) { if (global.monster[myself] == 1) { if (global.monsterstatus[myself] == 1) success = 1; } } depth -= num; } if (initdelay == 0) { } initdelay--; if (initdelay <= 0) { siner++; if (siner < 6) { var _timer = siner; var _sizer = lerp(4, 2, clamp01(_timer / 4)); draw_sprite_ext(sprite_index, 0, x, y, _sizer, _sizer, 0, c_white, clamp01(_timer / 3)); if (siner == 4) snd_play(snd_impact); } else if (siner < 34) { var _timer = siner - 6; if (_timer == 7 && num == 0) pacify_sound = snd_play_x(snd_pacify, 1, 1); var _spinease = lerp(-1.5707963267948966, 0, clamp01(scr_ease_out(_timer / 10, 3))); var _swap = _spinease > -1.5707963267948966; var _sprite = _swap ? spr_spell_zzz : sprite_index; if (!_swap) _spinease *= -1; var _warp = lerp(4, 2, clamp01(_timer / 2)); var _crossfadeA = clamp01(inverselerp(8, 30, _timer)); var _crossfadeB = clamp01(inverselerp(8, 20, _timer)); var _spin = lerp(360, -90, scr_ease_inout(_timer / 20, 3)); var _altspin = lerp(360, -10, scr_ease_inout(_timer / 20, 3)); if (_timer >= 20) { _spin = lerp(-20, 0, scr_ease_in((_timer - 20) / 8, 3)); _altspin = lerp(-10, 0, scr_ease_in((_timer - 20) / 8, 3)); } draw_sprite_ext(spr_spare_z, 0, x, y, 3, 3, last_altspin, c_white, _crossfadeB / 2); draw_sprite_ext(spr_spare_z, 0, x, y, 3, 3, _altspin, c_white, _crossfadeB); last_altspin = _altspin; if (_timer >= 20) _spin = lerp(-90, 10, scr_ease_in((_timer - 20) / 8, 3)); draw_sprite_ext(sprite_index, 0, x, y, 2, 2, last_spin, c_white, (1 - _crossfadeA) / 2); draw_sprite_ext(sprite_index, 0, x, y, 2, 2, _spin, c_white, 1 - _crossfadeA); last_spin = _spin; } else { var _timer = siner - 34; if (_timer == 0) { if (success) snd_play_echo(420, 3, 0.34, 1, 1.5 + (num * 0.25)); else snd_play_x(snd_bump, 2, 1 + random_range(-0.5, 0.5)); if (num == 0) snd_stop(pacify_sound); if (joker) { if (laugh) snd_play(snd_joker_laugh0); } } var _lerp = clamp01(inverselerp(6, 24, _timer)); var _tween = scr_ease_out(_lerp, 2) * 20; if (success) { var _alpha = clamp01(lerp(1, 0, _timer / 20)); draw_sprite_ext(spr_spare_z_split, 0, x + _tween, y, 3, 3, 0, c_white, _alpha); draw_sprite_ext(spr_spare_z_split, 1, x - _tween, y, 3, 3, 0, c_white, _alpha); draw_sprite_ext(spr_spare_z_split, 0, x + (_tween * 2), y, 3, 3, 0, c_white, _alpha); draw_sprite_ext(spr_spare_z_split, 1, x - (_tween * 2), y, 3, 3, 0, c_white, _alpha); } else { var _shake = 0; if (_timer < 8) { _shake = (8 - _timer) * (((_timer % 2) * 2) - 1); _lerp = 0; _tween = 0; } else { _lerp = clamp01(inverselerp(8, 22, _timer)); _tween = scr_ease_in(_lerp, 2) * 6; } draw_sprite_ext(spr_spare_z, 0, x + _tween + _shake, y + (_tween * 10), 3, 3, -_tween * 5, c_white, 1 - _lerp); } if (_timer < 9) draw_sprite_ext(spr_thrash_slash, _timer / 3, x, y, 1, 2, 90, c_white, 1); } stimer++; if (siner == 55) { } if (siner == 56) { if (success == 1) { with (target) { global.flag[51 + myself] = 3; event_user(10); scr_monsterdefeat(); } } } if (siner >= 64) instance_destroy(); }