You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
4.7 KiB
102 lines
4.7 KiB
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
|