Fixed OrgaShooter bug
parent
c399e5e246
commit
8bff64ae3e
|
@ -66,6 +66,22 @@ inline float GetObjectEnergy(CObject* object)
|
|||
return energy;
|
||||
}
|
||||
|
||||
inline float GetObjectEnergyLevel(CObject* object)
|
||||
{
|
||||
float energy = 0.0f;
|
||||
|
||||
if (object->Implements(ObjectInterfaceType::Powered))
|
||||
{
|
||||
CObject* power = dynamic_cast<CPoweredObject*>(object)->GetPower();
|
||||
if (power != nullptr && power->Implements(ObjectInterfaceType::PowerContainer))
|
||||
{
|
||||
energy = dynamic_cast<CPowerContainerObject*>(power)->GetEnergyLevel();
|
||||
}
|
||||
}
|
||||
|
||||
return energy;
|
||||
}
|
||||
|
||||
inline bool ObjectHasPowerCell(CObject* object)
|
||||
{
|
||||
return object->Implements(ObjectInterfaceType::Powered) &&
|
||||
|
|
|
@ -1791,7 +1791,7 @@ bool CMotionVehicle::EventFrameCanoni(const Event &event)
|
|||
bOnBoard = true;
|
||||
}
|
||||
|
||||
float energy = GetObjectEnergy(m_object);
|
||||
float energy = GetObjectEnergyLevel(m_object);
|
||||
if (energy == 0.0f) return true;
|
||||
|
||||
factor = 0.5f+energy*0.5f;
|
||||
|
|
Loading…
Reference in New Issue