mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-05-13 18:31:21 +00:00
CRidley: DoUserAnimEvent projectile fixes
This commit is contained in:
parent
dad16bf59b
commit
cfe1507fc7
@ -698,6 +698,7 @@ void CRidley::DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUs
|
|||||||
EProjectileAttrib::None, false, zeus::skOne3f, {}, -1, false);
|
EProjectileAttrib::None, false, zeus::skOne3f, {}, -1, false);
|
||||||
mgr.AddObject(proj);
|
mgr.AddObject(proj);
|
||||||
proj->SetCameraShake(x568_data.xcc_);
|
proj->SetCameraShake(x568_data.xcc_);
|
||||||
|
proj->SetMinHomingDistance(20.f);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
case EUserEventType::EggLay: {
|
case EUserEventType::EggLay: {
|
||||||
@ -711,14 +712,14 @@ void CRidley::DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUs
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
zeus::CVector3f vec =
|
const float x = mgr.GetActiveRandom()->Range(-1.f, 1.f);
|
||||||
zeus::CVector3f(mgr.GetActiveRandom()->Range(-1.f, 1.f), 1.f, mgr.GetActiveRandom()->Range(-1.f, 1.f));
|
const float z = mgr.GetActiveRandom()->Range(-1.f, 1.f);
|
||||||
vec = GetLctrTransform(xa30_breastPlateSegId) * vec;
|
const auto vec = GetLctrTransform(xa30_breastPlateSegId) * zeus::CVector3f{x, 1.f, z};
|
||||||
|
const auto dir = mgr.GetPlayer().GetTranslation() + zeus::CVector3f{10.f * x, 10.f * z, 0.f};
|
||||||
auto* proj = new CEnergyProjectile(
|
auto* proj = new CEnergyProjectile(true, xc3c_.Token(), EWeaponType::AI, zeus::lookAt(vec, dir),
|
||||||
true, xc3c_.Token(), EWeaponType::AI, zeus::lookAt(vec + mgr.GetPlayer().GetTranslation(), vec),
|
EMaterialTypes::Character, xc3c_.GetDamage(), mgr.AllocateUniqueId(),
|
||||||
EMaterialTypes::Character, xc3c_.GetDamage(), mgr.AllocateUniqueId(), GetAreaIdAlways(), GetUniqueId(),
|
GetAreaIdAlways(), GetUniqueId(), mgr.GetPlayer().GetUniqueId(),
|
||||||
mgr.GetPlayer().GetUniqueId(), EProjectileAttrib::None, false, zeus::skOne3f, {}, -1, false);
|
EProjectileAttrib::None, false, zeus::skOne3f, {}, -1, false);
|
||||||
|
|
||||||
mgr.AddObject(proj);
|
mgr.AddObject(proj);
|
||||||
proj->SetCameraShake(x568_data.xcc_);
|
proj->SetCameraShake(x568_data.xcc_);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user