var _idlesprite = 4140; var _hurtsprite = 5203; var _sparesprite = 3737; var _disappointed = 4079; var _flipped = 5131; var _weaponraise = 6811; if (global.mercymod[myself] >= global.mercymax[myself]) { _idlesprite = 3737; _sparesprite = 3737; _hurtsprite = 460; _disappointed = 7795; _flipped = 3414; _weaponraise = 8011; } if (flattened) { _idlesprite = 7806; _hurtsprite = 6785; _disappointed = 8288; _flipped = 1348; _weaponraise = 7289; if (global.mercymod[myself] >= global.mercymax[myself]) { _idlesprite = 3381; _sparesprite = 3381; _hurtsprite = 6440; _disappointed = 3906; _flipped = 7994; _weaponraise = 7373; } } idlesprite = _idlesprite; hurtsprite = _hurtsprite; sparedsprite = _sparesprite; if (maneanimcon == 1) { maneanimtimer++; headlen = 20; if (scr_monsterpop() == 1) { headdir = lerp(headdir, -180, maneanimtimer / 20); headx = lengthdir_x(headlen, headdir); heady = lengthdir_y(headlen, headdir); if (maneanimtimer == 9) hidespikes = true; if (maneanimtimer == 20) { maneanimtimer = 0; maneanimcon = 2; } } else { headdir = lerp(headdir, -180, maneanimtimer / 30); headx = lengthdir_x(headlen, headdir); heady = lengthdir_y(headlen, headdir); if (maneanimtimer == 10) hidespikes = true; if (maneanimtimer == 30) { maneanimtimer = 0; maneanimcon = 2; } } } if (maneanimcon == 2) { maneanimtimer++; if (maneanimtimer == 1) { maneanimtimer = 0; maneanimcon = 0; heady = 0; headdir = 0; headlen = 0; state = 1; } } if (bookcon == 1) { booktimer++; if (booktimer <= 20) { book_x = lerp(book_x, -40, booktimer / 20); draw_sprite_ext(spr_floradin_big_book, 0, xstart + book_x, y - 20, 2, 2, 0, c_white, 1); var _flat_xscale = image_xscale; if (flattened) _flat_xscale = flat_xscale; if (global.mercymod[myself] < global.mercymax[myself]) draw_sprite_ext(idlesprite, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, image_alpha); else draw_sprite_ext(sparedsprite, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, image_alpha); } if (booktimer == 20) { snd_play(snd_impact); instance_create(x, y, obj_shake); } if (booktimer == 24) scr_mercyadd(myself, 60); if (booktimer > 20 && booktimer < 24) draw_sprite_ext(spr_floradin_big_book, 1, xstart + book_x, y - 20, 2, 2, 0, c_white, 1); if (booktimer >= 24) draw_sprite_ext(spr_floradin_big_book, 2, xstart + book_x, y - 20, 2, 2, 0, c_white, 1); if (booktimer >= 30 && !i_ex(obj_writer)) { book_x = -180; booktimer = 0; bookcon = 0; flattened = true; if (flat_xscale < 3) flat_xscale += 0.2; } exit; } if (state == 0) { if (flash == 1) fsiner++; siner += 0.14285714285714285; var _flat_xscale = image_xscale; if (flattened) _flat_xscale = flat_xscale; if (idlesprite == spr_enemy_floradin && !flattened && global.mercymod[myself] < global.mercymax[myself]) { if (weaponraise) { draw_sprite_ext(_weaponraise, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, image_alpha); } else if (disappointed) { draw_sprite_ext(_disappointed, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, image_alpha); } else { draw_monster_body_part(spr_enemy_floradin_body, siner, x, y); if (!hidespikes) draw_monster_body_part(spr_enemy_floradin_spikes, siner, x + headx, y + heady); draw_monster_body_part(spr_enemy_floradin_head, siner, x + headx, y + heady); } } else if (weaponraise) { draw_sprite_ext(_weaponraise, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, image_alpha); } else if (disappointed) { draw_sprite_ext(_disappointed, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, image_alpha); } else if (flipped) { draw_sprite_ext(_flipped, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, image_alpha); } else if (global.mercymod[myself] >= global.mercymax[myself]) { draw_sprite_ext(sparedsprite, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, image_alpha); if (flash == 1) draw_sprite_ext(sparedsprite, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, image_alpha); } else { draw_sprite_ext(idlesprite, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, image_alpha); if (flash == 1) draw_sprite_ext_flash(idlesprite, siner, x, y, _flat_xscale, image_yscale, 0, image_blend, (-cos(fsiner / 5) * 0.4) + 0.6); } } if (state == 1) { draw_monster_body_part(spr_enemy_floradin_body, 0, x, y); draw_monster_body_part(spr_enemy_floradin_spikes_return, spikegrowtimer / 4, x + headx, y + heady); draw_monster_body_part(spr_enemy_floradin_head, 0, x + headx, y + heady); spikegrowtimer++; if (spikegrowtimer < 3) headx = lerp(headx, 0, spikegrowtimer / 2); if (spikegrowtimer == 16) { state = 0; spikegrowtimer = 0; hidespikes = false; } } if (state == 3 && hurttimer >= 0) { var _flat_xscale = image_xscale; if (flattened) _flat_xscale = flat_xscale; draw_sprite_ext(hurtsprite, 0, x + shakex + hurtspriteoffx, y + hurtspriteoffy, _flat_xscale, 2, 0, image_blend, 1); } if (becomeflash == 0) flash = 0; becomeflash = 0;