aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkaelima <kaelima@live.se>2012-03-16 23:16:22 +0100
committerkaelima <kaelima@live.se>2012-03-16 23:16:49 +0100
commitd810acdeeaf26c7430f63ee31c4d306c554bf072 (patch)
tree20f79ec4151df8a4828744d6642e9dc2e2ce63e2 /src
parent6f031b814edf8ed10984d2f094f163fec47b40fc (diff)
Core/InstanceScript: Encounterframe research - extended the EncounterFrameType enum
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Instances/InstanceScript.cpp16
-rwxr-xr-xsrc/server/game/Instances/InstanceScript.h10
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp18
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp10
4 files changed, 30 insertions, 24 deletions
diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp
index c6a93ff4272..6b0431aae83 100755
--- a/src/server/game/Instances/InstanceScript.cpp
+++ b/src/server/game/Instances/InstanceScript.cpp
@@ -397,22 +397,22 @@ void InstanceScript::SendEncounterUnit(uint32 type, Unit* unit /*= NULL*/, uint8
switch (type)
{
- case ENCOUNTER_FRAME_ADD:
- case ENCOUNTER_FRAME_REMOVE:
- case 2:
+ case ENCOUNTER_FRAME_ENGAGE:
+ case ENCOUNTER_FRAME_DISENGAGE:
+ case ENCOUNTER_FRAME_UPDATE_PRIORITY:
data.append(unit->GetPackGUID());
data << uint8(param1);
break;
- case 3:
- case 4:
- case 6:
+ case ENCOUNTER_FRAME_ADD_TIMER:
+ case ENCOUNTER_FRAME_ENABLE_OBJECTIVE:
+ case ENCOUNTER_FRAME_DISABLE_OBJECTIVE:
data << uint8(param1);
data << uint8(param2);
break;
- case 5:
+ case ENCOUNTER_FRAME_UPDATE_OBJECTIVE:
data << uint8(param1);
break;
- case 7:
+ case ENCOUNTER_FRAME_UNK7:
default:
break;
}
diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h
index 69f11c203c1..71f1572624b 100755
--- a/src/server/game/Instances/InstanceScript.h
+++ b/src/server/game/Instances/InstanceScript.h
@@ -42,8 +42,14 @@ typedef std::set<Creature*> MinionSet;
enum EncounterFrameType
{
- ENCOUNTER_FRAME_ADD = 0,
- ENCOUNTER_FRAME_REMOVE = 1,
+ ENCOUNTER_FRAME_ENGAGE = 0,
+ ENCOUNTER_FRAME_DISENGAGE = 1,
+ ENCOUNTER_FRAME_UPDATE_PRIORITY = 2,
+ ENCOUNTER_FRAME_ADD_TIMER = 3,
+ ENCOUNTER_FRAME_ENABLE_OBJECTIVE = 4,
+ ENCOUNTER_FRAME_UPDATE_OBJECTIVE = 5,
+ ENCOUNTER_FRAME_DISABLE_OBJECTIVE = 6,
+ ENCOUNTER_FRAME_UNK7 = 7, // Seems to have something to do with sorting the encounter units
};
enum EncounterState
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
index c557b6ad831..de104a78e43 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -210,19 +210,19 @@ class boss_blood_council_controller : public CreatureScript
if (Creature* keleseth = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_KELESETH_GUID)))
{
- instance->SendEncounterUnit(ENCOUNTER_FRAME_ADD, keleseth);
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, keleseth);
DoZoneInCombat(keleseth);
}
if (Creature* taldaram = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_TALDARAM_GUID)))
{
- instance->SendEncounterUnit(ENCOUNTER_FRAME_ADD, taldaram);
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, taldaram);
DoZoneInCombat(taldaram);
}
if (Creature* valanar = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_PRINCE_VALANAR_GUID)))
{
- instance->SendEncounterUnit(ENCOUNTER_FRAME_ADD, valanar);
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, valanar);
DoZoneInCombat(valanar);
}
@@ -412,12 +412,12 @@ class boss_prince_keleseth_icc : public CreatureScript
summons.DespawnAll();
Talk(SAY_KELESETH_DEATH);
- instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me);
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
void JustReachedHome()
{
- instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me);
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->SetHealth(_spawnHealth);
_isEmpowered = false;
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
@@ -636,12 +636,12 @@ class boss_prince_taldaram_icc : public CreatureScript
summons.DespawnAll();
Talk(EMOTE_TALDARAM_DEATH);
- instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me);
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
void JustReachedHome()
{
- instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me);
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->SetHealth(_spawnHealth);
_isEmpowered = false;
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
@@ -859,12 +859,12 @@ class boss_prince_valanar_icc : public CreatureScript
summons.DespawnAll();
Talk(SAY_VALANAR_DEATH);
- instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me);
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
}
void JustReachedHome()
{
- instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me);
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->SetHealth(me->GetMaxHealth());
_isEmpowered = false;
if (Creature* controller = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_BLOOD_PRINCES_CONTROL)))
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index 36594d5a684..af2eb57b7c3 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -232,7 +232,7 @@ class ValithriaDespawner : public BasicEvent
{
case NPC_VALITHRIA_DREAMWALKER:
if (InstanceScript* instance = creature->GetInstanceScript())
- instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, creature);
+ instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, creature);
break;
case NPC_BLAZING_SKELETON:
case NPC_SUPPRESSER:
@@ -304,7 +304,7 @@ class boss_valithria_dreamwalker : public CreatureScript
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_HEAL_PCT, true);
// Glyph of Dispel Magic - not a percent heal by effect, its cast with custom basepoints
me->ApplySpellImmune(0, IMMUNITY_ID, 56131, true);
- _instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me);
+ _instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
_missedPortals = 0;
_under25PercentTalkDone = false;
_over75PercentTalkDone = false;
@@ -322,7 +322,7 @@ class boss_valithria_dreamwalker : public CreatureScript
return;
DoCast(me, SPELL_COPY_DAMAGE);
- _instance->SendEncounterUnit(ENCOUNTER_FRAME_ADD, me);
+ _instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me);
_events.ScheduleEvent(EVENT_INTRO_TALK, 15000);
_events.ScheduleEvent(EVENT_DREAM_PORTAL, urand(45000, 48000));
if (IsHeroic())
@@ -341,7 +341,7 @@ class boss_valithria_dreamwalker : public CreatureScript
{
_done = true;
Talk(SAY_VALITHRIA_SUCCESS);
- _instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me);
+ _instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
me->RemoveAurasDueToSpell(SPELL_CORRUPTION_VALITHRIA);
DoCast(me, SPELL_ACHIEVEMENT_CHECK);
DoCastAOE(SPELL_DREAMWALKERS_RAGE);
@@ -376,7 +376,7 @@ class boss_valithria_dreamwalker : public CreatureScript
{
_justDied = true;
Talk(SAY_VALITHRIA_DEATH);
- _instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me);
+ _instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
if (Creature* trigger = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_VALITHRIA_TRIGGER)))
trigger->AI()->DoAction(ACTION_DEATH);
}