From 81606e5d1ea562b6842ff327fffb551aecd5a79c Mon Sep 17 00:00:00 2001 From: Spp Date: Tue, 20 Nov 2012 09:29:52 +0100 Subject: Core/Misc: Define some methods const --- .../MagistersTerrace/boss_selin_fireheart.cpp | 1 + .../instance_magisters_terrace.cpp | 33 +++++++++------------- 2 files changed, 14 insertions(+), 20 deletions(-) (limited to 'src/server/scripts/EasternKingdoms/MagistersTerrace') diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp index 74d1b5b9f1b..7b79c18239e 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp @@ -75,6 +75,7 @@ public: uint32 size = instance->GetData(DATA_FEL_CRYSTAL_SIZE); for (uint8 i = 0; i < size; ++i) { + instance->SetData64(DATA_FEL_CRYSTAL, i); uint64 guid = instance->GetData64(DATA_FEL_CRYSTAL); sLog->outDebug(LOG_FILTER_TSCR, "Selin: Adding Fel Crystal " UI64FMTD " to list", guid); Crystals.push_back(guid); diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp index da15f9020da..c8bf50c0bcc 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp @@ -72,8 +72,7 @@ public: uint32 Encounter[MAX_ENCOUNTER]; uint32 DelrissaDeathCount; - std::list FelCrystals; - std::list::const_iterator CrystalItr; + std::vector FelCrystals; uint64 SelinGUID; uint64 DelrissaGUID; @@ -85,8 +84,7 @@ public: uint64 KaelStatue[2]; uint64 EscapeOrbGUID; uint32 StatuesState; - - bool InitializedItr; + uint8 felCristalIndex; void Initialize() { @@ -107,8 +105,7 @@ public: KaelStatue[1] = 0; EscapeOrbGUID = 0; StatuesState = 0; - - InitializedItr = false; + felCristalIndex = 0; } bool IsEncounterInProgress() const @@ -119,7 +116,7 @@ public: return false; } - uint32 GetData(uint32 identifier) + uint32 GetData(uint32 identifier) const { switch (identifier) { @@ -276,7 +273,7 @@ public: OUT_LOAD_INST_DATA_COMPLETE; } - uint64 GetData64(uint32 identifier) + uint64 GetData64(uint32 identifier) const { switch (identifier) { @@ -297,26 +294,22 @@ public: case DATA_ESCAPE_ORB: return EscapeOrbGUID; case DATA_FEL_CRYSTAL: - { - if (FelCrystals.empty()) + if (FelCrystals.size() < felCristalIndex) { sLog->outError(LOG_FILTER_TSCR, "Magisters Terrace: No Fel Crystals loaded in Inst Data"); return 0; } - if (!InitializedItr) - { - CrystalItr = FelCrystals.begin(); - InitializedItr = true; - } - - uint64 guid = *CrystalItr; - ++CrystalItr; - return guid; - } + return FelCrystals.at(felCristalIndex); } return 0; } + + void SetData64(uint32 identifier, uint64 value) + { + if (identifier == DATA_FEL_CRYSTAL) + felCristalIndex = value; + } }; }; -- cgit v1.2.3