2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-11 19:03:59 +00:00

Initial CMagdolite imps

This commit is contained in:
2020-03-01 05:14:39 -08:00
committed by Luke Street
parent d3a44259c3
commit d1c796f2a9
10 changed files with 747 additions and 41 deletions

View File

@@ -651,8 +651,10 @@ bool CPatterned::Leash(CStateManager&, float arg) {
}
bool CPatterned::InDetectionRange(CStateManager& mgr, float arg) {
zeus::CVector3f delta = mgr.GetPlayer().GetTranslation() - GetTranslation();
if (delta.magSquared() < x3bc_detectionRange * x3bc_detectionRange) {
zeus::CVector3f delta = GetTranslation() - mgr.GetPlayer().GetTranslation();
const float maxRange = x3bc_detectionRange * x3bc_detectionRange;
const float dist = delta.magSquared();
if (dist < maxRange) {
if (x3c0_detectionHeightRange > 0.f)
return delta.z() * delta.z() < x3c0_detectionHeightRange * x3c0_detectionHeightRange;
return true;
@@ -884,7 +886,11 @@ void CPatterned::TryMeleeAttack(CStateManager& mgr, int arg) {
}
void CPatterned::TryGenerate(CStateManager& mgr, int arg) {
x450_bodyController->GetCommandMgr().DeliverCmd(CBCGenerateCmd(pas::EGenerateType(arg), x2e0_destPos, true));
x450_bodyController->GetCommandMgr().DeliverCmd(CBCGenerateCmd(pas::EGenerateType(arg), x2e0_destPos, false));
}
void CPatterned::TryGenerateNoXf(CStateManager& mgr, int arg) {
x450_bodyController->GetCommandMgr().DeliverCmd(CBCGenerateCmd(pas::EGenerateType::Zero, x2e0_destPos, true));
}
void CPatterned::TryJump(CStateManager& mgr, int arg) {
@@ -939,6 +945,10 @@ void CPatterned::TryGenerateDeactivate(urde::CStateManager& mgr, int arg) {
x450_bodyController->GetCommandMgr().DeliverCmd(CBCGenerateCmd(pas::EGenerateType(arg), zeus::skZero3f));
}
void CPatterned::TryStep(CStateManager& mgr, int arg) {
x450_bodyController->GetCommandMgr().DeliverCmd(CBCStepCmd(pas::EStepDirection(arg), pas::EStepType::Normal));
}
void CPatterned::BuildBodyController(EBodyType bodyType) {
if (x450_bodyController)
return;