2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 13:47:43 +00:00

Implement CScriptSpecialFunction::ThinkAreaDamage, and more CThardus

This commit is contained in:
2019-11-24 07:01:07 -08:00
parent 655dc01a06
commit 697a100bca
16 changed files with 241 additions and 119 deletions

View File

@@ -2068,14 +2068,14 @@ void CPlayer::UpdateWaterSurfaceCameraBias(CStateManager& mgr) {
}
}
void CPlayer::UpdatePhazonCameraShake(float dt, CStateManager& mgr) {
void CPlayer::UpdateEnvironmentDamageCameraShake(float dt, CStateManager& mgr) {
xa2c_damageLoopSfxDelayTicks = std::min(2, xa2c_damageLoopSfxDelayTicks + 1);
if (xa10_phazonCounter != 0) {
if (xa14_phazonCameraShakeTimer == 0.f)
if (xa10_envDmgCounter != 0) {
if (xa14_envDmgCameraShakeTimer == 0.f)
mgr.GetCameraManager()->AddCameraShaker(CCameraShakeData::BuildPhazonCameraShakeData(1.f, 0.075f), false);
xa14_phazonCameraShakeTimer += dt;
if (xa14_phazonCameraShakeTimer > 2.f)
xa14_phazonCameraShakeTimer = 0.f;
xa14_envDmgCameraShakeTimer += dt;
if (xa14_envDmgCameraShakeTimer > 2.f)
xa14_envDmgCameraShakeTimer = 0.f;
}
}
@@ -2380,7 +2380,7 @@ void CPlayer::UpdatePlayerControlDirection(float dt, CStateManager& mgr) {
void CPlayer::Think(float dt, CStateManager& mgr) {
UpdateStepCameraZBias(dt);
UpdateWaterSurfaceCameraBias(mgr);
UpdatePhazonCameraShake(dt, mgr);
UpdateEnvironmentDamageCameraShake(dt, mgr);
UpdatePhazonDamage(dt, mgr);
UpdateFreeLook(dt);
UpdatePlayerHints(mgr);
@@ -5681,18 +5681,18 @@ void CPlayer::SetSpawnedMorphBallState(EPlayerMorphBallState state, CStateManage
}
}
void CPlayer::DecrementPhazon() {
if (xa10_phazonCounter == 0)
void CPlayer::DecrementEnvironmentDamage() {
if (xa10_envDmgCounter == 0)
return;
xa10_phazonCounter--;
xa10_envDmgCounter--;
}
void CPlayer::IncrementPhazon() {
if (xa10_phazonCounter != 0)
xa10_phazonCounter++;
void CPlayer::IncrementEnvironmentDamage() {
if (xa10_envDmgCounter != 0)
xa10_envDmgCounter++;
else
xa14_phazonCameraShakeTimer = 0.f;
xa14_envDmgCameraShakeTimer = 0.f;
}
bool CPlayer::CheckSubmerged() const {