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.
AM2R-The-Horde-Multitroid/Export_Code/gml_Script_chStepFire.gml

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