if (kFire && kFirePushedSteps == 0 && nofire == 0 && turning == 0 && morphing == 0 && unmorphing == 0 && walljumping == 0 && monster_drain == 0 && (!instance_exists(oEMPNoise))) { nofire = 6 idle = 0 chStepSetSprite() if (state == RUNNING) firing = 60 if (state == STANDING || state == RUNNING || state == DUCKING || (state == JUMPING && vjump == 1) || (state == GRIP && ((facing == RIGHT && aimdirection != 0) || (facing == LEFT && aimdirection != 1))) || (state == GRABBEDQUEEN && image_index == 2)) { if ((global.opmslstyle == 0 && armmsl == 0) || (global.opmslstyle == 1 && (global.currentweapon == 0 || global.currentweapon == 3))) { if (aimdirection == 0) shoot_beam(0) if (aimdirection == 1) shoot_beam(180) if (aimdirection == 2) shoot_beam(45) if (aimdirection == 3) shoot_beam(135) if (aimdirection == 4) shoot_beam(315) if (aimdirection == 5) shoot_beam(225) if (aimdirection == 6) shoot_beam(90) if (aimdirection == 7) shoot_beam(270) } if ((global.opmslstyle == 0 && armmsl == 1) || (global.opmslstyle == 1 && (global.currentweapon == 1 || global.currentweapon == 2))) { if (aimdirection == 0) shoot_missile(0) if (aimdirection == 1) shoot_missile(180) if (aimdirection == 2) shoot_missile(45) if (aimdirection == 3) shoot_missile(135) if (aimdirection == 4) shoot_missile(315) if (aimdirection == 5) shoot_missile(225) if (aimdirection == 6) shoot_missile(90) if (aimdirection == 7) shoot_missile(270) } } } if (kFire && kFirePushedSteps == 1 && (state == 23 || state == 24 || state == 27 || state == GRABBEDQUEENMORPH || state == GRABBEDQUEENBELLY) && (!instance_exists(oEMPNoise))) { if (global.bomb == 1 && instance_number(oBomb) < 3 && ((global.opmslstyle == 0 && armmsl == 0) || (global.opmslstyle == 1 && global.currentweapon < 3))) { instance_create(x, (y - 5), oBomb) sfx_play(sndBombSet) } if (((global.opmslstyle == 0 && armmsl == 1) || (global.opmslstyle == 1 && global.currentweapon == 3)) && global.pbombs > 0 && instance_number(oPBomb) == 0 && instance_number(oPBombExpl) == 0 && instance_number(oQueenFinalExplosion) == 0 && state != GRABBEDQUEENMORPH && (!((state == GRABBEDQUEENBELLY && distance_to_point((oQueenFront.x + 81), y) > 4)))) { bmb = instance_create(x, (y - 5), oPBomb) if (state == GRABBEDQUEENBELLY) bmb.special = 1 global.pbombs -= 1 if (global.currentweapon == 3 && global.pbombs == 0) global.currentweapon = 0 } } if (kFire && kFirePushedSteps > 15 && chargebeam < 1 && nofire == 0 && sjball == 0 && state != SJSTART && state != SUPERJUMP && state != SJEND && global.cbeam == 1 && monster_drain == 0 && (!instance_exists(oEMPNoise))) chargebeam += 0.02 if (chargebeam > 0) { idle = 0 if (facing == 0 || state == IDLE || state == SAVING || state == SAVINGSHIP || state == SAVINGFX || state == SAVINGSHIPFX || state == HURT || state == KNOCKBACK1 || state == KNOCKBACK1_LAND || state == KNOCKBACK2 || state == KNOCKBACK2_LAND || state == GRABBEDGAMMA || state == WATERJET || state == LOCKEDBALL || state == RECOVER || state == A4EXPL || state == ELEVATOR || state == GRABBEDQUEENMORPH || state == GRABBEDQUEENBELLY || (state == GRABBEDQUEEN && image_index < 2) || (global.opmslstyle == 0 && armmsl == 1) || (global.opmslstyle == 1 && (global.currentweapon == 1 || global.currentweapon == 2)) || global.cbeam == 0) chargebeam = 0 if (!kFire) { charge_beam_fire() if (turning == 0 && morphing == 0 && unmorphing == 0 && walljumping == 0 && state != CLIMBING && state != SJSTART && state != SUPERJUMP && state != SJEND && state != BRAKING) chargebeam = 0 } if (state == BALL || state == AIRBALL || state == SPIDERBALL) { if (chargebeam >= 1 && global.bomb == 1) instance_create(x, (y - 5), oChargeBomb) chargebeam = 0 } if (state == BALL || state == AIRBALL || state == SPIDERBALL) chargebeam = 0 if (state == RUNNING) firing = 60 } if (instance_number(oChargeBeamSpark1) == 0 && chargebeam > 0) instance_create((x + aspr2x), (y + aspr2y), oChargeBeamSpark1) damage = 15 if global.wbeam damage *= 1.5 if global.ibeam damage *= 1.5 if global.sbeam damage *= 1.5 if global.pbeam damage *= 1.5