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