sErisBody1 0 -1 0 0 <undefined> <undefined> 1 603 7 0 0 -1 2 self 0 0 1 canbeX = 1; //hp = 10; hp = global.mod_serrisHbody; //damage = 50; damage = global.mod_serrisDamage; if (global.item[11] == 0) { state = 2; } else state = 0; statetime = 0; flashing = 0; fxtimer = 0; inrange = 0; spr_normal = 778; spr_frozen = 780; spr_open = 779; xoff = 0; yoff = 0; shaking = 0; timer = 0; rotspeed = 0; myspeed = 0; offset = 0; moveratio = 0; movesteps = 0; event = 0; //show_debug_message("YEET"); 1 603 7 0 0 -1 2 self 0 0 1 if(oControl.mod_fusion == 1) { spawn_rnd_pickup(100); } else { monster_spawn_powerups(x, y, random(4), random(3)); } //show_debug_message("NON-YEET"); 1 603 7 0 0 -1 2 self 0 0 1 make_explosion3(x, y); repeat (8 + floor(random(4))) { bubble = instance_create(x, y, oLBubble); if (instance_exists(bubble)) { bubble.hspeed = random_range(-2.5, 2.5); bubble.vspeed = -random(0.4); } } sfx_play(sndMissileExpl); instance_destroy(); 1 603 7 0 0 -1 2 self 0 0 1 if (order == 15) visible = 0; if (state != 100 && oEris.stun == 0) { //image_angle = point_direction(xprevious, yprevious, x, y); if (order < 14) { image_angle = point_direction(x,y,oEris.mybody[order+1].x,oEris.mybody[order+1].y); } else image_angle = point_direction(x,y,oEris.x,oEris.y); } if (order != 15 && oEris.boosting && (oEris.fxtimer == 2 || oEris.fxtimer == 5)) { var aft = instance_create(x,y,oFXTrail); aft.sprite_index = sprite_index; aft.image_index = image_index; aft.depth = depth + 5; aft.fadespeed = 0.08; aft.image_angle = image_angle; aft.image_xscale = image_xscale; aft.image_yscale = image_yscale; aft.additive = 1; } // bubbles during boost if (oEris.boosting) repeat (floor(random(2))) { bubble = instance_create(x+irandom_range(-5,5), y+irandom_range(-5,5), oLBubble); if (instance_exists(bubble)) { //bubble.hspeed = 2.5*sign(x-xprevious); //bubble.vspeed = 2.5*sign(y-yprevious); bubble.direction = point_direction(x, y, xprevious, yprevious)+irandom_range(-35,35); // (-image_angle*image_yscale)+irandom_range(-35,35); bubble.alarm[0] = 10+irandom_range(0,20); bubble.speed = 2; bubble.eris = 1; } } 1 603 7 0 0 -1 2 self 0 0 1 inrange = (x > 64) && (x < 576) && (y > 48) && (y < 448); if (state == 0) sprite_index = spr_normal; if (state == 1) { sprite_index = spr_frozen; if (statetime >= 600) { state = 0; statetime = 0; hp = 2; } } if (state == 2) sprite_index = spr_open; if (state == 100) { if (statetime < 30) { speed *= 0.85; } else if (vspeed > -0.2) vspeed -= 0.01; } statetime += 1; if (flashing > 0) flashing -= 1; fxtimer += 1; if (fxtimer > 5) fxtimer = 0; if (shaking > 0) { xoff = random_range(-4, 4); yoff = random_range(-4, 4); shaking -= 1; } else { xoff = 0; yoff = 0; } if (oEris.boostphase == 1 || oEris.boostphase == 3 || oEris.boostphase == 5) { if (flashing <= 1) { flashing = 10; } } /*if (order == 1) { show_debug_message(string(x) + ", " + string(y)); } 1 603 7 0 0 -1 2 self 0 0 1 if ((inrange) && !oEris.boosting && !flashing) with (other) event_user(0); else with (other) event_user(1); 1 603 7 0 0 -1 2 self 0 0 1 if (inrange && !flashing && !oEris.boosting) { if (state == 0 || state == 1) { if (other.ibeam) { if (!other.pbeam) { hp -= 4; } else hp -= 2; if (other.chargebeam) hp = 0; with (other) event_user(0); event_user(0); } else with (other) event_user(1); if (!other.pbeam) with (other) instance_destroy(); } if (state == 2) { with (other) { event_user(0); if (!pbeam) instance_destroy(); } event_user(3); } } else with (other) { if (pbeam) event_user(1); else { event_user(0); instance_destroy(); } } 1 603 7 0 0 -1 2 self 0 0 1 if (inrange) { if (state == 1) event_user(1); if (state == 2 && !flashing) { if (other.smissile) { event_user(4); } else event_user(3); } } 1 603 7 0 0 -1 2 self 0 0 1 if (inrange) { if (state == 1) event_user(1); if (state == 2 && !flashing) event_user(2); } 1 603 7 0 0 -1 2 self 0 0 1 if (inrange) { if (state == 1) event_user(1); if (state == 2 && !flashing) event_user(2); } 1 603 7 0 0 -1 2 self 0 0 1 if (state != 100) damage_player(damage, 7, -3, 0, 0); 1 603 7 0 0 -1 2 self 0 0 1 direction = image_angle + random_range(-20, 20); speed = 4; alarm[1] = 200 + random(60); state = 100; statetime = 0; 1 603 7 0 0 -1 2 self 0 0 1 /* no clue why this is borked but it's supposed to drag the segment to meet the one in front of it var distNext = point_distance(x+lengthdir_x(sprite_width,direction), y+lengthdir_y(sprite_height,direction), oEris.mybody[order+1].x, oEris.mybody[order+1].y); if (oEris.boosting && (distNext > 1) && order < 13) { var dirNext = point_direction(x, y, oEris.mybody[order+1].x, oEris.mybody[order+1].y); x += lengthdir_x(distNext, dirNext); y += lengthdir_y(distNext, dirNext); } /*else if (distNext < 1) { var dirNext = point_direction(x, y, oEris.mybody[order+1].x, oEris.mybody[order+1].y); x += lengthdir_x(distNext, dirNext+180); y += lengthdir_y(distNext, dirNext+180); } 1 603 7 0 0 -1 2 self 0 0 1 if (state != 100) { if (instance_exists(oEris)) with (oEris) { hp -= 4; stun = 3; event_user(2); } repeat (4 + floor(random(4))) { bubble = instance_create(x, y, oLBubble); if (instance_exists(bubble)) { bubble.hspeed = random_range(-1, 1); bubble.vspeed = -random(0.4); } } shaking = 8; } 1 603 7 0 0 -1 2 self 0 0 1 if (state != 100) { if (instance_exists(oEris)) with (oEris) { hp -= 2; stun = 2; event_user(2); // was commented out??? HAHA NO I'M A GENIUS //use2 = 1; } repeat (4 + floor(random(4))) { bubble = instance_create(x, y, oLBubble); if (instance_exists(bubble)) { bubble.hspeed = random_range(-1, 1); bubble.vspeed = -random(0.4); } } shaking = 8; } 1 603 7 0 0 -1 2 self 0 0 1 if (state != 100) { if (instance_exists(oEris)) with (oEris) { hp -= 1; stun = 1; //use2 = 1; //event_user(2); } repeat (4 + floor(random(4))) { bubble = instance_create(x, y, oLBubble); if (instance_exists(bubble)) { bubble.hspeed = random_range(-1, 1); bubble.vspeed = -random(0.4); } } shaking = 8; } 1 603 7 0 0 -1 2 self 0 0 1 if (state != 100) { flashing = 10; shaking = 8; state = 2; statetime = 0; if (instance_exists(oEris)) with (oEris) stun = 2; PlaySoundMono(sndIceShatter); repeat (8) deb = instance_create(x, y - 8, oIceShard); repeat (8 + floor(random(4))) { bubble = instance_create(x, y, oLBubble); if (instance_exists(bubble)) { bubble.hspeed = random_range(-2.5, 2.5); bubble.vspeed = -random(0.4); } } if (global.waterlevel != 0 && y + 8 > global.waterlevel + global.wateroffset) { repeat (8 + floor(random(4))) { bubble = instance_create(x, y, oLBubble); if (instance_exists(bubble)) { bubble.hspeed = random_range(-1.5, 1.5); bubble.vspeed = -random(0.4); } } } } // if (state != 100) 1 603 7 0 0 -1 2 self 0 0 1 if (state != 100) { flashing = 10; if (hp <= 0) { hp = 0; state = 1; statetime = 0; sfx_stop(sndFreezeHit); sfx_play(sndFreezeHit); } else sfx_play(sndIceBeamHit); } 1 603 7 0 0 -1 2 self 0 0 1 draw_self(); draw_set_blend_mode(bm_add); repeat (2) { if (flashing > 0) draw_sprite_ext(sprite_index, -1, x + xoff, y + yoff, image_xscale, image_yscale, image_angle, -1, flashing * 0.1); } if (state == 1 && statetime > 240) { repeat (2) draw_sprite_ext(sprite_index, -1, x + xoff, y + yoff, image_xscale, image_yscale, image_angle, -1, fxtimer * 0.1); } draw_set_blend_mode(bm_normal); // speedboosting if (oEris.boosting) { if (oEris.fxtimer == 0 || oEris.fxtimer == 1) { draw_set_blend_mode(bm_add); draw_sprite_ext(sprite_index, -1, x + xoff, y + yoff, image_xscale, image_yscale, image_angle, c_green, 1.1 + oEris.fxtimer * 0.2); draw_set_blend_mode(bm_normal); } if (oEris.fxtimer == 2 || oEris.fxtimer == 3) { draw_set_blend_mode(bm_add); repeat (2) { draw_sprite_ext(sprite_index, -1, x + xoff, y + yoff, image_xscale, image_yscale, image_angle, c_yellow, 1); draw_sprite_ext(sprite_index, -1, x + xoff, y + yoff, image_xscale, image_yscale, image_angle, c_white, 1); } draw_set_blend_mode(bm_normal); } if (oEris.fxtimer == 4 || oEris.fxtimer == 5) { draw_set_blend_mode(bm_add); repeat (2) { draw_sprite_ext(sprite_index, -1, x + xoff, y + yoff, image_xscale, image_yscale, image_angle, c_red, 1); } draw_set_blend_mode(bm_normal); } } 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 -1