sGenesisRoar 0 -1 0 0 <undefined> <undefined> 1 603 7 0 0 -1 2 self 0 0 1 canbeX = 1; makeActive(); setCollisionBounds(-4, -12, 4, 0); state = 0; statetime = 0; //hp = 250; hp = global.mod_genesisHealth; flashing = 0; fxtimer = 0; facing = 0; ceiling = 0; dark = 1; col = 0; hpush = 5; vpush = -4; //damage = 80; damage = global.mod_genesisDamage; turning = 0; turnframe = 0; scan_log(38, get_text("ScanEvents", "ScanBioform"), 180, 0); 1 603 7 0 0 -1 2 self 0 0 1 repeat (8) { expl = instance_create(x - 16 + random(32), y - random(80), oFXAnimSpark); expl.image_speed = 0.3 + random(0.5); expl.additive = 0; expl.sprite_index = sExpl1; } instance_create(x, y, oScreenFlash); sfx_play(sndMissileExpl); make_explosion4(x, y); if(oControl.mod_fusion == 0) { with (oDoor) event_user(3); spawn_many_powerups(x - 40, y - 64, 80, 64); mus_current_fadein(); with (oA8RedLightFX) fadeout = 1; } else { core = instance_create(mean(bbox_left, bbox_right), mean(bbox_top, bbox_bottom), oCoreX); core.lastBossX = x; core.lastBossY = y; core.lastBossSprite = sprite_index; core.lastBossFrame = image_index; core.lastBossAngle = image_angle; core.lastBossFacing = facing; core.lastYscale = image_yscale; core.lastBossDepth = depth; } instance_destroy(); 1 603 7 0 0 -1 2 self 0 0 1 expl = instance_create(x - 16 + random(32), y - random(16), oFXAnimSpark); expl.image_speed = 0.5; expl.additive = 0; expl.sprite_index = sExpl1; expl.image_xscale = 0.5; expl.image_yscale = 0.5; alarm[10] = 5; 1 603 7 0 0 -1 2 self 0 0 1 if (state == 3 && statetime < 70) { prj = instance_create(x + 20 * facing, y - 22, oGenesisAcid); prj.hspeed = (6 + random(3)) * facing; prj.vspeed = 1 - random(3); alarm[0] = 2; } 1 603 7 0 0 -1 2 self 0 0 1 if (state == 0) { if (statetime == 0) { image_yscale = -1; facing = -1; x = 512; y = 64; hspeed = -2; ceiling = 1; dark = 1; sprite_index = sGenesisWalk; image_speed = 0.25; } if (statetime == 150) { mus_play(musGenesis); oMusicV2.bossbgm = musGenesis; } if (statetime > 0 && x <= 210) { hspeed = 0; sprite_index = sGenesisStand; image_speed = 0.2; } if (statetime == 250) sfx_play(sndGenesisGrowl); if (statetime == 300) { state = 1; statetime = 0; } } // if (state == 0) if (state == 1) { if (statetime == 0) { sprite_index = sGenesisLeap; image_speed = 0; image_index = 0; image_yscale = 1; y += 30; ceiling = 0; speed = 0; dark = 0; event_user(0); sfx_play(sndGenesisJump); } if (statetime < 5) { xVel = lengthdir_x(4, point_direction(x, y, oCharacter.x, oCharacter.y)); yVel = lengthdir_y(4, point_direction(x, y, oCharacter.x, oCharacter.y)); } else yVel += 0.1; if (image_index < 2) image_index += 0.25; if (isCollisionBottom(1)) { state = 2; statetime = 0; } } if (state == 2) { if (statetime == 0) { sprite_index = sGenesisStand; image_speed = 0.2; yVel = 0; } xVel *= 0.6; if (point_distance(x, y, oCharacter.x, oCharacter.y) < 60 && statetime == 10) { state = 6; statetime = 0; } if (statetime == 50) { state = 3; statetime = 0; } } if (state == 3) { if (statetime == 0) { sprite_index = sGenesisRoar; image_speed = 0; image_index = 0; event_user(0); sfx_play(sndGenesisSpit); } if (statetime == 12) image_index = 1; if (statetime == 20) alarm[0] = 1; if (statetime == 80) { state = 4; statetime = 0; } } if (state == 4) { if (statetime == 0) sprite_index = sGenesisCrouch; if (statetime == 10) { sprite_index = sGenesisLeap; image_speed = 0; image_index = 0; yVel = -8; sfx_play(sndGenesisJump); } if (statetime > 10) { if (yVel < -4) yVel += 0.2; } if (isCollisionTop(1)) { state = 5; statetime = 0; } } if (state == 5) { if (statetime == 0) { sprite_index = sGenesisWalk; image_speed = 0.25; image_yscale = -1; ceiling = 1; xVel = 0; yVel = 0; y = 64; event_user(0); hspeed = 2 * facing; } if (statetime == 60) sfx_play(sndGenesisGrowl); if (statetime == 120 || collision_line(x + 30 * facing, y + 1, x + 30 * facing, y + 8, oSolid, true, true)) { state = 1; statetime = -1; speed = 0; } } if (state == 6) { if (statetime == 0) { sprite_index = sGenesisSlash; image_speed = 0; image_index = 0; event_user(0); } if (statetime == 10) { prj = instance_create(x + 20 * facing, y, oGenesisSlashProj); prj.hspeed = 2 * facing; prj.image_xscale = facing; image_index = 1; sfx_play(sndGenesisSwing); } if (statetime == 30) { state = 4; statetime = -1; } } if (state == 100) { if (statetime == 0) { sprite_index = sGenesisCrouch; speed = 0; yVel = 0; xVel = 0; sfx_play(sndGenesisDeath); if (ceiling) { sprite_index = sGenesisLeap; image_speed = 0; image_index = 0; image_yscale = 1; y += 30; ceiling = 0; speed = 0; dark = 0; } } if (!isCollisionBottom(1)) { yVel += 0.1; } else { sprite_index = sGenesisCrouch; yVel = 0; } } // if (state == 100) if (ceiling == 0) moveTo(xVel, yVel); if (dark == 1) { if (col > 0) { col -= 10; } else col = 0; } else { if (col < 255) { col += 10; } else col = 255; if (col > 255) col = 255; } image_blend = make_color_rgb(col, col, col); if (fxtimer < 5) { fxtimer += 1; } else fxtimer = 0; if (flashing > 0) flashing -= 1; if (turning) { turnframe += 0.25; if (turnframe >= 2) { turning = 0; turnframe = 0; } } statetime += 1; 1 603 7 0 0 -1 2 self 0 0 1 if (dark == 0 && flashing == 0 && state != 100) with (other) event_user(0); 1 603 7 0 0 -1 2 self 0 0 1 if (dark == 0 && flashing == 0 && state != 100) { hp -= 10 * (1 + other.smissile * 2); flashing = 30; with (other) event_user(0); event_user(1); } 1 603 7 0 0 -1 2 self 0 0 1 if (dark == 0 && flashing == 0 && state != 100) { hp -= 5; flashing = 30; with (other) event_user(0); if (other.pbeam == 0) with (other) instance_destroy(); event_user(1); } 1 603 7 0 0 -1 2 self 0 0 1 if (dark == 0 && flashing == 0 && state != 100) { hp -= 25; flashing = 180; event_user(1); } 1 603 7 0 0 -1 2 self 0 0 1 if (dark == 0 && flashing == 0 && state != 100) { hp -= 10; flashing = 60; event_user(1); } 1 603 7 0 0 -1 2 self 0 0 1 if (dark == 0 && state != 100) damage_player(damage, hpush, vpush, 0, 0); 1 603 7 0 0 -1 2 self 0 0 1 if (hp <= 0) { state = 100; statetime = 0; alarm[10] = 1; alarm[11] = 300; if(oControl.mod_fusion == 0) { mus_fadeout(musGenesis); oMusicV2.bossbgm = sndJump; } global.event[307] = 1; } else sfx_play(sndGenesisHit); 1 603 7 0 0 -1 2 self 0 0 1 var t = 0 if (oCharacter.x <= x && facing == 1 || x + (sprite_width / 2) >= 912) { facing = -1; if (state != 1) { turning = 1; turnframe = 0; t = 1 } } if (oCharacter.x >= x && facing == -1 && t == 0) { facing = 1; if (state != 1) { turning = 1; turnframe = 0; } } //if (x >= 912 - sprite_width) { x--; } 1 603 7 0 0 -1 2 self 0 0 1 if (!flashing) { if (turning == 0) { draw_sprite_ext(sprite_index, -1, x, y, facing, image_yscale, 0, image_blend, image_alpha); } else draw_sprite_ext(sGenesisTurn, turnframe, x, y, facing, image_yscale, 0, image_blend, image_alpha); } if (flashing) { if (turning == 0) { draw_sprite_ext(sprite_index, -1, x, y, facing, image_yscale, 0, make_color_rgb(80, 80, 80), image_alpha); } else draw_sprite_ext(sGenesisTurn, turnframe, x, y, facing, image_yscale, 0, make_color_rgb(80, 80, 80), image_alpha); draw_set_blend_mode(bm_add); repeat (3) { if (turning == 0) { draw_sprite_ext(sprite_index, -1, x, y, facing, image_yscale, 0, image_blend, image_alpha - fxtimer * 0.25); } else draw_sprite_ext(sGenesisTurn, turnframe, x, y, facing, image_yscale, 0, image_blend, image_alpha - fxtimer * 0.25); } draw_set_blend_mode(bm_normal); } 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 -1