aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/EasternKingdoms/MagistersTerrace
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2012-11-20 09:29:52 +0100
committerSpp <spp@jorge.gr>2012-11-20 09:29:52 +0100
commit81606e5d1ea562b6842ff327fffb551aecd5a79c (patch)
treee1935eff5e9b042a30f7bfdd495bc35d4cdcb804 /src/server/scripts/EasternKingdoms/MagistersTerrace
parentced723a53a04b08cc7cafd4dda913108f138c31b (diff)
Core/Misc: Define some methods const
Diffstat (limited to 'src/server/scripts/EasternKingdoms/MagistersTerrace')
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp1
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp33
2 files changed, 14 insertions, 20 deletions
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<uint64> FelCrystals;
- std::list<uint64>::const_iterator CrystalItr;
+ std::vector<uint64> 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;
+ }
};
};