sSaveStation 0 -1 0 0 <undefined> <undefined> 1 603 7 0 0 -1 2 self 0 0 1 canbeX = 1; timer = 0; rotspeed = 0; myspeed = 0; offset = 0; moveratio = 0; movesteps = 0; platform_engine_active = 0; hpush = 5; vpush = -3; stun = 0; stuntime = 4; canflash = 1; flashing = 0; statetime = 0; hitbeam = 1; hitmissile = 1; hitmissileexpl = 1; hitpbomb = 1; hitbomb = 1; hitscrewattack = 1; hitpseudoscrew = 1; hitemp = 0; canbehit = 1; candamage = 1; active = 0; canfreeze = 1; frozen = 0; freezehp = 500; freezetime = 300; frozenspr = sHornoadFrozen; empspr = sHornoadFrozen; platform = -4; platyoffset = -6; justfrozen = 0; freezefall = 1; flipx = 1; target = 0; fxtimer = 0; facing = 1; if (y > global.waterlevel && global.waterlevel != 0) { inwater = 1; } else inwater = 0; 1 603 7 0 0 -1 2 self 0 0 1 justfrozen = 0; 1 603 7 0 0 -1 2 self 0 0 1 stunned = 0; 1 603 7 0 0 -1 2 self 0 0 1 if (frozen > 0) { alarm[9] = 30 + random(60); spark = instance_create(x + floor(random(16) - 8), y + floor(random(16) - 8), oFXAnimSpark); spark.gravity_direction = 270; spark.gravity = 0.1; spark.sprite_index = sIBeamFXA; spark.image_speed = 0.3; spark.image_index = 0; spark.depth = -10; } 1 603 7 0 0 -1 2 self 0 0 1 instance_activate_region(x - 32, y - 32, 64, 64, 1); 1 603 7 0 0 -1 2 self 0 0 1 if (frozen == 0 && stun == 0) statetime += 1; if (frozen > 0) { frozen -= 1; image_speed = 0; if (instance_exists(platform) == false) platform = instance_create(x - 8, y + platyoffset, oPlatform1); } if (frozen == 0) { if (instance_exists(platform)) with (platform) instance_destroy(); } if (y > global.waterlevel && global.waterlevel != 0) { if (inwater == 0) { instance_create(x, global.waterlevel, oSplash); inwater = 1; sfx_play(sndWaterExit); } } else if (inwater == 1) { instance_create(x, global.waterlevel, oSplash); inwater = 0; sfx_play(sndWaterExit); } if (fxtimer < 5) { fxtimer += 1; } else fxtimer = 0; if (stun > 0) stun -= 1; if (flashing > 0) flashing -= 1; 1 603 7 0 0 -1 2 self 0 0 1 with (other) event_user(0); 1 603 7 0 0 -1 2 self 0 0 1 if (canbehit) { if (hitmissile) { event_user(0); with (other) event_user(0); } else with (other) event_user(1); if (myhealth <= 0 && frozen) { enemy_death_frozen(); global.kills += 1; } } 1 603 7 0 0 -1 2 self 0 0 1 if (canbehit) { if (hitbeam && other.dohit) { event_user(0); with (other) event_user(0); } if (!hitbeam) with (other) event_user(1); if (other.pbeam == 0) with (other) instance_destroy(); } 1 603 7 0 0 -1 2 self 0 0 1 if (canbehit) { if (stun == 0 && hitmissileexpl) event_user(0); if (myhealth <= 0 && frozen == 0) state = 100; if (myhealth <= 0 && frozen) { enemy_death_frozen(); global.kills += 1; } } 1 603 7 0 0 -1 2 self 0 0 1 if (canbehit) { if (stun == 0 && hitpbomb) event_user(0); if (myhealth <= 0) state = 100; } 1 603 7 0 0 -1 2 self 0 0 1 if (canbehit) { if (stun == 0 && hitbomb) event_user(0); if (myhealth <= 0 && frozen == 0) state = 100; if (myhealth <= 0 && frozen) { enemy_death_frozen(); global.kills += 1; } } 1 603 7 0 0 -1 2 self 0 0 1 state = 100; enemy_death3(); 1 603 7 0 0 -1 2 self 0 0 1 if (hitscrewattack) { state = 100; enemy_death3(); } 1 603 7 0 0 -1 2 self 0 0 1 if (other.speedboost > 0) { state = 100; enemy_death3(); } dodamage = 1; if (frozen > 0 || other.state == 30 || other.state == 31 || other.state == 29 || other.speedboost > 0 || other.state == 15 && other.vjump == 0 && global.screwattack == 1) dodamage = 0; if (state == 100 || other.dash >= 29) dodamage = 0; if (other.inwater == 1 && other.state == 15 && other.vjump == 0 && global.screwattack == 1 && global.currentsuit != 2) dodamage = 1; //added if (hitpseudoscrew == 1 && other.chargebeam >= 1 && other.state == 15 && other.vjump == 0 && global.screwattack == 0 && other.speedboost == 0) { event_user(0); if (myhealth <= 0) state = 100; other.chargebeam = 0; other.nofire = 20; dodamage = 0; repeat (8) { spark = instance_create(x, y, oFXTrail); spark.additive = 1; spark.fadespeed = 0.05; spark.direction = point_direction(x, y - 8, oCharacter.x, oCharacter.y - 12) - 4 + random(8) + 90; spark.speed = 1 + random(4); if (random(2) < 1) spark.direction += 180; spark.sprite_index = sChargeBeamSpark2; if (global.wbeam) spark.sprite_index = sChargeWBeamSpark2; if (global.pbeam) spark.sprite_index = sChargePBeamSpark2; if (global.ibeam) spark.sprite_index = sChargeIBeamSpark2; } } if (dodamage == 1) damage_player(damage, hpush, vpush, 0, 0); 1 603 7 0 0 -1 2 self 0 0 1 if (hitemp) { emp = instance_create(x, y, oEnemyDisabled); emp.image_xscale = facing; emp.sprite_index = empspr; emp.image_index = image_index; emp.mask_index = empspr; if (platform_engine_active == 1) { emp.xVel = xVel / 2; emp.yVel = yVel / 2; emp.collisionBoundsOffsetLeftX = collisionBoundsOffsetLeftX - 2; emp.collisionBoundsOffsetTopY = collisionBoundsOffsetTopY - 2; emp.collisionBoundsOffsetRightX = collisionBoundsOffsetRightX - 2; emp.collisionBoundsOffsetBottomY = collisionBoundsOffsetBottomY - 2; } else { emp.xVel = hspeed / 2; emp.yVel = vspeed / 2; } emp.depth = 10; expl = instance_create(x, y, oFXAnimSpark); expl.image_speed = 0.5; expl.additive = 0; expl.depth = -10; expl.sprite_index = sGunzooShotExpl; repeat (6) instance_create(x, y, oDebris); repeat (10) { spark = instance_create(x, y, oSparkParticle); spark.mycolor = c_white; spark.speed = random_range(3, 7); } sfx_play(sndEMPHit); instance_destroy(); } // if (hitemp) 1 603 7 0 0 -1 2 self 0 0 1 frz = instance_create(x, y, oEnemyFrozen); frz.image_xscale = facing; frz.sprite_index = frozenspr; frz.image_index = image_index; frz.mask_index = frozenspr; frz.image_angle = image_angle; // X respawn variable pass-through. frz.xSprite = sprite_index; frz.xLastFrame = image_index; frz.xLastFacing = image_xscale; frz.xLastAngle = image_angle; frz.xLastDepth = depth; frz.xLastXPos = xstart; frz.xLastYPos = ystart; frz.xLastEnemy = object_index; frz.canbeX = canbeX; frz.timer = timer; frz.rotspeed = rotspeed; frz.myspeed = myspeed; frz.offset = offset; frz.moveratio = moveratio; frz.movesteps = movesteps; if (object_index == oHalzyn) { frz.xLastGlow = glow; } if (platform_engine_active == 1) { frz.xVel = xVel; frz.yVel = yVel; frz.collisionBoundsOffsetLeftX = collisionBoundsOffsetLeftX - 2; frz.collisionBoundsOffsetTopY = collisionBoundsOffsetTopY - 2; frz.collisionBoundsOffsetRightX = collisionBoundsOffsetRightX - 2; frz.collisionBoundsOffsetBottomY = collisionBoundsOffsetBottomY - 2; } else { frz.xVel = hspeed; frz.yVel = vspeed; } frz.depth = 10; frz.falling = freezefall; PlaySoundMono(sndFreezeHit); instance_destroy(); 1 603 7 0 0 -1 2 self 0 0 1 dmg = other.damage; if (global.difficulty == 2) dmg = ceil(dmg / 2); if (justfrozen == 0) myhealth -= dmg; if (myhealth <= 0 && justfrozen == 0 && state != 100) { state = 100; statetime = 0; global.kills += 1; } stun = stuntime; if (other.ibeam && frozen == 0 && canfreeze && myhealth < freezehp) event_user(15); if (canflash) { flashing = 5; fxtimer = 0; } if (frozen) { if (myhealth > 0) PlaySoundMono(sndFreezeHit); } else PlaySoundMono(hitsound); 1 603 7 0 0 -1 2 self 0 0 1 if (y > global.waterlevel && global.waterlevel != 0) { inwater = 1; } else inwater = 0; 1 603 7 0 0 -1 2 self 0 0 1 if (flipx) { image_xscale = facing; } else image_xscale = 1; if (frozen) { myspr = frozenspr; } else myspr = sprite_index; if (!flashing) { draw_sprite_ext(myspr, -1, x, y, image_xscale, 1, image_angle, -1, image_alpha); if (frozen > 0 && frozen < freezetime * 0.2) { draw_set_blend_mode(bm_add); draw_sprite_ext(myspr, -1, x, y, image_xscale, 1, image_angle, -1, 1 - fxtimer * 0.25); draw_set_blend_mode(bm_normal); } } if (flashing) { draw_sprite_ext(myspr, -1, x, y, image_xscale, 1, image_angle, make_color_rgb(80, 80, 80), 1); draw_set_blend_mode(bm_add); repeat (3) draw_sprite_ext(myspr, -1, x, y, image_xscale, 1, image_angle, -1, 1 - 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