From 80963f1a2b8697fce9725d9e662df9e4efaf7de6 Mon Sep 17 00:00:00 2001 From: krzys-h Date: Wed, 15 Jul 2015 18:10:49 +0200 Subject: [PATCH] Added global magnifyDamage setting --- src/object/old_object.cpp | 2 +- src/object/robotmain.cpp | 14 ++++++++++---- src/object/robotmain.h | 5 +++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/object/old_object.cpp b/src/object/old_object.cpp index f6ec4dde..2207a5cf 100644 --- a/src/object/old_object.cpp +++ b/src/object/old_object.cpp @@ -559,6 +559,7 @@ bool COldObject::ExplodeObject(ExplosionType type, float force, float decay) loss = force; } loss *= m_magnifyDamage; + loss *= m_main->GetGlobalMagnifyDamage(); loss *= decay; // Decreases the power of the shield. @@ -3296,4 +3297,3 @@ void COldObject::SetScale(const Math::Vector& scale) { SetPartScale(0, scale); } - diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp index 9a48e85d..dc6e5af3 100644 --- a/src/object/robotmain.cpp +++ b/src/object/robotmain.cpp @@ -219,6 +219,8 @@ CRobotMain::CRobotMain(CController* controller) m_endingLostRank = 0; m_winTerminate = false; + m_globalMagnifyDamage = 1.0f; + m_exitAfterMission = false; m_autosave = true; @@ -2909,6 +2911,7 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject) m_endTakeResearch = 0; m_endTakeWinDelay = 2.0f; m_endTakeLostDelay = 2.0f; + m_globalMagnifyDamage = 1.0f; m_obligatoryTotal = 0; m_prohibitedTotal = 0; m_mapShow = true; @@ -3256,16 +3259,15 @@ void CRobotMain::CreateScene(bool soluce, bool fixScene, bool resetObject) continue; } - if ((line->GetCommand() == "Global" || line->GetCommand() == "Level") && !resetObject) + if (line->GetCommand() == "Level" && !resetObject) { - if (line->GetCommand() == "Global") - CLogger::GetInstancePointer()->Warn("Using Global is deprecated. Please use Level instead.\n"); - g_unit = line->GetParam("unitScale")->AsFloat(4.0f); m_engine->SetTracePrecision(line->GetParam("traceQuality")->AsFloat(1.0f)); m_shortCut = line->GetParam("shortcut")->AsBool(true); m_missionType = line->GetParam("type")->AsMissionType(MISSION_NORMAL); + m_globalMagnifyDamage = line->GetParam("magnifyDamage")->AsFloat(1.0f); + continue; } @@ -6298,3 +6300,7 @@ void CRobotMain::RemoveFromSelectionHistory(CObject* object) m_selectionHistory.erase(it, m_selectionHistory.end()); } +float CRobotMain::GetGlobalMagnifyDamage() +{ + return m_globalMagnifyDamage; +} diff --git a/src/object/robotmain.h b/src/object/robotmain.h index 11bca831..42b9b912 100644 --- a/src/object/robotmain.h +++ b/src/object/robotmain.h @@ -374,6 +374,9 @@ public: void RemoveFromSelectionHistory(CObject* object); + //! Returns global magnifyDamage setting + float GetGlobalMagnifyDamage(); + protected: bool EventFrame(const Event &event); bool EventObject(const Event &event); @@ -512,6 +515,8 @@ protected: int m_endingLostRank; bool m_winTerminate; + float m_globalMagnifyDamage; + bool m_exitAfterMission; bool m_codeBattleInit;