mirror of https://github.com/AxioDL/metaforce.git
CBloodFlower: Implement GetCollisionResponseType
CBloodFlower seems to be missing the implementation from v0-00. This change adds in its equivalent behavior.
This commit is contained in:
parent
cbf7140d21
commit
d1a714cf1a
|
@ -146,6 +146,17 @@ void CBloodFlower::Render(const CStateManager& mgr) const {
|
||||||
x574_podEffect->Render(GetActorLights());
|
x574_podEffect->Render(GetActorLights());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EWeaponCollisionResponseTypes CBloodFlower::GetCollisionResponseType(const zeus::CVector3f&, const zeus::CVector3f&,
|
||||||
|
const CWeaponMode& weaponMode, EProjectileAttrib) const {
|
||||||
|
const auto* const damageVulnerability = GetDamageVulnerability();
|
||||||
|
|
||||||
|
if (damageVulnerability->WeaponHurts(weaponMode, false)) {
|
||||||
|
return EWeaponCollisionResponseTypes::Unknown28;
|
||||||
|
}
|
||||||
|
|
||||||
|
return EWeaponCollisionResponseTypes::Unknown78;
|
||||||
|
}
|
||||||
|
|
||||||
bool CBloodFlower::ShouldAttack(CStateManager& mgr, float arg) {
|
bool CBloodFlower::ShouldAttack(CStateManager& mgr, float arg) {
|
||||||
if (TooClose(mgr, 0.f))
|
if (TooClose(mgr, 0.f))
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -56,6 +56,9 @@ public:
|
||||||
void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type, float dt) override;
|
void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type, float dt) override;
|
||||||
void Render(const CStateManager& mgr) const override;
|
void Render(const CStateManager& mgr) const override;
|
||||||
void Touch(CActor&, CStateManager&) override {}
|
void Touch(CActor&, CStateManager&) override {}
|
||||||
|
EWeaponCollisionResponseTypes GetCollisionResponseType(const zeus::CVector3f& v1, const zeus::CVector3f& v2,
|
||||||
|
const CWeaponMode& weaponMode,
|
||||||
|
EProjectileAttrib attribute) const override;
|
||||||
CProjectileInfo* GetProjectileInfo() override { return &x590_projectileInfo; }
|
CProjectileInfo* GetProjectileInfo() override { return &x590_projectileInfo; }
|
||||||
|
|
||||||
bool ShouldAttack(CStateManager&, float) override;
|
bool ShouldAttack(CStateManager&, float) override;
|
||||||
|
|
Loading…
Reference in New Issue