DayZ 1.29
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ Upgrade()

void FlammableBase::Upgrade ( ItemBase source)
inlineprotected

См. определение в файле Torch.c строка 294

295 {
296 if (!GetRag())
297 {
298 return;
299 }
300 RuinRags();
301 LockRags(true);
302 float torchCurrentEnergy = GetCompEM().GetEnergy();
303 float sourceQuantity = 100000;//for upgrade from environment(gas pump)
304
305 if (source)
306 {
307 sourceQuantity = source.GetQuantity();
308 }
309
310 float maxOverallCapacity = GetRagQuantity() * 2 * m_BurnTimePerRagEx;
311 //float maxUpgradeCapacity = GetRagQuantity() * m_BurnTimePerRagEx;
312 float currentlyUpgraded = Math.Max(0, torchCurrentEnergy - (GetRagQuantity() * m_BurnTimePerRagEx));
313 //float freeUpgradeCapacity = maxUpgradeCapacity - currentlyUpgraded;
314 float freeUpgradeCapacity = maxOverallCapacity - torchCurrentEnergy;
315 float upgradeQuantity = Math.Min(freeUpgradeCapacity, sourceQuantity);
316 int upgradedRags = Math.Ceil((upgradeQuantity + currentlyUpgraded) / m_BurnTimePerRagEx);
317 upgradedRags = Math.Min(GetRagQuantity(), upgradedRags);
318 m_RagsUpgradedCount = upgradedRags;
319 GetCompEM().AddEnergy(upgradeQuantity);
320 m_ConsumeRagFlipFlop = 0;//consume fuel first
321 if (source)
322 {
323 source.AddQuantity(-upgradeQuantity);
324 }
327 }
int m_RagsUpgradedCount
Определения Torch.c:27
void RuinRags()
Определения Torch.c:383
Rag GetRag()
Определения Torch.c:538
void UpdateCheckForReceivingUpgrade()
Определения Torch.c:195
int GetRagQuantity()
Определения Torch.c:794
bool m_ConsumeRagFlipFlop
Определения Torch.c:28
void LockRags(bool do_lock)
Определения Torch.c:543
void CalculateQuantity()
Определения Torch.c:422
float m_BurnTimePerRagEx
Определения Torch.c:19

Перекрестные ссылки CalculateQuantity(), Math::Ceil(), GetRag(), GetRagQuantity(), LockRags(), m_BurnTimePerRagEx, m_ConsumeRagFlipFlop, m_RagsUpgradedCount, Math::Max(), Math::Min(), RuinRags() и UpdateCheckForReceivingUpgrade().

Используется в RecipeBase::Do().