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

◆ Upgrade()

void FlammableBase::Upgrade ( ItemBase source)
inlineprotected

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

288 {
289 if (!GetRag())
290 {
291 return;
292 }
293 RuinRags();
294 LockRags(true);
295 float torchCurrentEnergy = GetCompEM().GetEnergy();
296 float sourceQuantity = 100000;//for upgrade from environment(gas pump)
297
298 if (source)
299 {
300 sourceQuantity = source.GetQuantity();
301 }
302
303 float maxOverallCapacity = GetRagQuantity() * 2 * m_BurnTimePerRagEx;
304 //float maxUpgradeCapacity = GetRagQuantity() * m_BurnTimePerRagEx;
305 float currentlyUpgraded = Math.Max(0, torchCurrentEnergy - (GetRagQuantity() * m_BurnTimePerRagEx));
306 //float freeUpgradeCapacity = maxUpgradeCapacity - currentlyUpgraded;
307 float freeUpgradeCapacity = maxOverallCapacity - torchCurrentEnergy;
308 float upgradeQuantity = Math.Min(freeUpgradeCapacity, sourceQuantity);
309 int upgradedRags = Math.Ceil((upgradeQuantity + currentlyUpgraded) / m_BurnTimePerRagEx);
310 upgradedRags = Math.Min(GetRagQuantity(), upgradedRags);
311 m_RagsUpgradedCount = upgradedRags;
312 GetCompEM().AddEnergy(upgradeQuantity);
313 m_ConsumeRagFlipFlop = 0;//consume fuel first
314 if (source)
315 {
316 source.AddQuantity(-upgradeQuantity);
317 }
320 }
int m_RagsUpgradedCount
Определения Torch.c:21
void RuinRags()
Определения Torch.c:376
Rag GetRag()
Определения Torch.c:531
void UpdateCheckForReceivingUpgrade()
Определения Torch.c:188
int GetRagQuantity()
Определения Torch.c:787
bool m_ConsumeRagFlipFlop
Определения Torch.c:22
void LockRags(bool do_lock)
Определения Torch.c:536
void CalculateQuantity()
Определения Torch.c:415
float m_BurnTimePerRagEx
Определения Torch.c:13

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

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