2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 14:27:42 +00:00

Initial working projectiles

This commit is contained in:
Jack Andersen
2018-02-11 19:30:21 -10:00
parent 547471c6ba
commit 46a4a37cc6
45 changed files with 545 additions and 166 deletions

View File

@@ -304,8 +304,7 @@ void CPlayerGun::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId sender, CSt
bool metroidAttached = false;
if (TCastToConstPtr<CEnergyProjectile> proj = mgr.GetObjectById(sender))
{
if ((proj->GetAttribField() & CGameProjectile::EProjectileAttrib::BigStrike) !=
CGameProjectile::EProjectileAttrib::None)
if ((proj->GetAttribField() & EProjectileAttrib::BigStrike) == EProjectileAttrib::BigStrike)
{
x394_damageTimer = proj->GetDamageDuration();
bigStrike = true;
@@ -1528,7 +1527,7 @@ void CPlayerGun::FireSecondary(float dt, CStateManager& mgr)
fireXf.origin += mgr.GetCameraManager()->GetGlobalCameraTranslation(mgr);
x744_auxWeapon->Fire(dt, x834_27_underwater, x310_currentBeam, x330_chargeState, fireXf,
mgr, x72c_currentBeam->GetWeaponType(), targetId);
mgr.InformListeners(x4a8_gunWorldXf.origin, EListenNoiseType::Zero);
mgr.InformListeners(x4a8_gunWorldXf.origin, EListenNoiseType::Character);
x3a0_missileExitTimer = 7.f;
if (!x832_26_comboFiring)
{
@@ -1654,7 +1653,7 @@ void CPlayerGun::UpdateNormalShotCycle(float dt, CStateManager& mgr)
homingTarget = kInvalidUniqueId;
x72c_currentBeam->Fire(x834_27_underwater, dt, x330_chargeState, xf, mgr, homingTarget,
x340_chargeBeamFactor, x340_chargeBeamFactor);
mgr.InformListeners(x4a8_gunWorldXf.origin, EListenNoiseType::Zero);
mgr.InformListeners(x4a8_gunWorldXf.origin, EListenNoiseType::Character);
}
void CPlayerGun::ProcessNormalState(u32 releasedStates, u32 pressedStates, CStateManager& mgr, float dt)