261 {
262 if (lard)
263 {
264 float lard_quant = lard.GetQuantity();
265
266 float available_lard_quant = lard_quant;
267
270
272
274 float add_energy_coef = 1;
275
276 float energy_limit = GetCompEM().GetEnergyMax() - GetCompEM().GetEnergy();
277
278 if (add_energy > energy_limit )
279 {
280 add_energy_coef = energy_limit / add_energy;
281 add_energy = energy_limit;
282 available_lard_quant = available_lard_quant * add_energy_coef;
283 }
284
285 GetCompEM().AddEnergy( add_energy );
286 lard.AddQuantity(-available_lard_quant);
287
289
291 }
292 }
void UpdateCheckForReceivingUpgrade()
float m_BurnTimePerFullLardEx
float m_MaxConsumableLardQuantityEx