sSkreekA6 0 -1 0 0 oEnemy <undefined> 1 603 7 0 0 -1 2 self 0 0 1 action_inherited(); myhealth = 10; damage = 30; hitsound = sndEHit2; deathsound = sndEDeath2; platyoffset = -6; frozenspr = sSkreekA6_frozen; flipx = 1; state = 0; active = 0; spit = 0; cooldown = 0; if (x >= oCharacter.x) facing = -1; if (x < oCharacter.x) facing = 1; image_speed = 0.2; // originally 0.25 // Trap trigger trigger = 0; launch = 0; 1 603 7 0 0 -1 2 self 0 0 1 //if (instance_exists(oLavaSurface)) sprite_index = sSkreekGlow; 1 603 7 0 0 -1 2 self 0 0 1 action_inherited(); //enemy_active_check(80); enemy_target_check(128, 1); // Trap launch if ((trigger != 0) && (launch == 0)) { target = 0; } else if (launch == trigger) { enemy_target_check(128, 1); } else if (trigger != 0) { target = 0; } if (stun == 0 && frozen == 0) { if (state == 0) { canbehit = 0; hitscrewattack = 0; if (irandom(50) == 1) { var bubble = instance_create(x, y, oLBubble); if (instance_exists(bubble)) { bubble.hspeed = random_range(-1, 1); bubble.vspeed = -random(0.4); } } } if ((target == 1) && (state == 0) && (cooldown <= 0)) { canbehit = 1; hitscrewattack = 1; if (x >= oCharacter.x) { facing = -1; image_angle = 270; } if (x < oCharacter.x) { facing = 1; image_angle = 90; } vspeed = -6; state = 1; } if (state == 1) { vspeed += 0.12; if ((vspeed >= -2.8) && (floor(image_angle) != abs(180*(sign(facing)-1)))) { image_angle -= sign(facing)*5; //lerp(image_angle, 90*abs(sign(facing)-1), 0.1); if (spit == 0) { sprite_index = sSkreekA6_spit; frozenspr = sSkreekA6_spit_frozen; //image_speed = 0.1; image_index = 0; spit = 1; } } if ((spit >= 1) && (vspeed >= 0.6) && (spit < 27)) { spit ++; if (((spit mod 13) == 0) && (image_index > 2)) { var proj = instance_create(x, y, oSkreekSpit); proj.speed = 3; proj.direction = 90*abs(sign(facing)-1); proj.image_angle = proj.direction; /*else { // hard/fusion spit THIS DIDN'T WORK var proj = instance_create(x, y, oSkreekSpit); proj.speed = 3; proj.direction = (90*abs(sign(facing)-1)) + 15; proj.image_angle = proj.direction; //proj.image_xscale = facing; var proj2 = instance_create(x, y, oSkreekSpit); proj2.speed = 3; proj2.direction = (90*abs(sign(facing)-1)) - 15; proj2.image_angle = proj2.direction; //proj2.image_xscale = facing; }*/ } } } if ((y > ystart) && (state != 0)) { // return to waiting phase sprite_index = sSkreekA6; frozenspr = sSkreekA6_frozen; image_speed = 0.2; vspeed = 0; y = ystart; cooldown = 60; state = 0; spit = 0; } } else speed = 0; if (cooldown > 0) { cooldown --; } if (state == 100) enemy_death(); 1 603 7 0 0 -1 2 self 0 0 1 if (other.speedboost > 0) { state = 100; enemy_death3(); } dodamage = 1; if (state == 0 || 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) { 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 (sprite_index == sSkreekA6_spit) { image_speed = 0; image_index = 3; } 1 603 7 0 0 -1 2 self 0 0 1 instance_destroy(); 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 -1