Merge remote-tracking branch 'origin/master' into mmaps

This commit is contained in:
Nay
2012-12-23 16:02:26 +00:00
25 changed files with 618 additions and 131 deletions

View File

@@ -59,7 +59,7 @@ enum Emotes
EMOTE_SLOW = 0,
EMOTE_FREEZE = 1,
EMOTE_FROZEN = 2,
EMOTE_CRACK = 3,
EMOTE_SHATTER = 4,
EMOTE_EXPLODE = 5

View File

@@ -323,7 +323,7 @@ public:
}
void IsSummonedBy(Unit* /*summoner*/)
{
{
std::list<Player*> playerOnQuestList;
Trinity::AnyPlayerInObjectRangeCheck checker(me, 5.0f);
Trinity::PlayerListSearcher<Trinity::AnyPlayerInObjectRangeCheck> searcher(me, playerOnQuestList, checker);

View File

@@ -62,6 +62,9 @@ enum Spells
SPELL_INCITE_TERROR = 73070,
SPELL_BLOODBOLT_WHIRL = 71772,
SPELL_ANNIHILATE = 71322,
// Blood Infusion
SPELL_BLOOD_INFUSION_CREDIT = 72934
};
enum Shadowmourne
@@ -182,6 +185,10 @@ class boss_blood_queen_lana_thel : public CreatureScript
{
_JustDied();
Talk(SAY_DEATH);
if (Is25ManRaid() && me->HasAura(SPELL_SHADOWS_FATE))
DoCastAOE(SPELL_BLOOD_INFUSION_CREDIT, true);
CleanAuras();
// Blah, credit the quest
if (_creditBloodQuickening)

View File

@@ -1218,6 +1218,12 @@ class spell_deathbringer_blood_nova_targeting : public SpellScriptLoader
if (targetsAtRange < minTargets)
targetsAtRange = std::min<uint32>(targets.size() - 1, minTargets);
if (!targetsAtRange)
{
targets.clear();
return;
}
std::list<WorldObject*>::const_iterator itr = targets.begin();
std::advance(itr, urand(0, targetsAtRange));
target = *itr;
@@ -1228,10 +1234,10 @@ class spell_deathbringer_blood_nova_targeting : public SpellScriptLoader
// use the same target for first and second effect
void FilterTargetsSubsequent(std::list<WorldObject*>& unitList)
{
unitList.clear();
if (!target)
return;
unitList.clear();
unitList.push_back(target);
}

View File

@@ -51,62 +51,65 @@ enum ScriptTexts
enum Spells
{
// Festergut
SPELL_RELEASE_GAS_VISUAL = 69125,
SPELL_GASEOUS_BLIGHT_LARGE = 69157,
SPELL_GASEOUS_BLIGHT_MEDIUM = 69162,
SPELL_GASEOUS_BLIGHT_SMALL = 69164,
SPELL_MALLABLE_GOO_H = 70852,
SPELL_RELEASE_GAS_VISUAL = 69125,
SPELL_GASEOUS_BLIGHT_LARGE = 69157,
SPELL_GASEOUS_BLIGHT_MEDIUM = 69162,
SPELL_GASEOUS_BLIGHT_SMALL = 69164,
SPELL_MALLABLE_GOO_H = 70852,
// Rotface
SPELL_VILE_GAS_H = 69240,
SPELL_VILE_GAS_H = 69240,
// Professor Putricide
SPELL_SLIME_PUDDLE_TRIGGER = 70341,
SPELL_MALLEABLE_GOO = 70852,
SPELL_UNSTABLE_EXPERIMENT = 70351,
SPELL_TEAR_GAS = 71617, // phase transition
SPELL_TEAR_GAS_CREATURE = 71618,
SPELL_TEAR_GAS_CANCEL = 71620,
SPELL_TEAR_GAS_PERIODIC_TRIGGER = 73170,
SPELL_CREATE_CONCOCTION = 71621,
SPELL_GUZZLE_POTIONS = 71893,
SPELL_OOZE_TANK_PROTECTION = 71770, // protects the tank
SPELL_CHOKING_GAS_BOMB = 71255,
SPELL_OOZE_VARIABLE = 74118,
SPELL_GAS_VARIABLE = 74119,
SPELL_UNBOUND_PLAGUE = 70911,
SPELL_UNBOUND_PLAGUE_SEARCHER = 70917,
SPELL_PLAGUE_SICKNESS = 70953,
SPELL_UNBOUND_PLAGUE_PROTECTION = 70955,
SPELL_MUTATED_PLAGUE = 72451,
SPELL_MUTATED_PLAGUE_CLEAR = 72618,
SPELL_SLIME_PUDDLE_TRIGGER = 70341,
SPELL_MALLEABLE_GOO = 70852,
SPELL_UNSTABLE_EXPERIMENT = 70351,
SPELL_TEAR_GAS = 71617, // phase transition
SPELL_TEAR_GAS_CREATURE = 71618,
SPELL_TEAR_GAS_CANCEL = 71620,
SPELL_TEAR_GAS_PERIODIC_TRIGGER = 73170,
SPELL_CREATE_CONCOCTION = 71621,
SPELL_GUZZLE_POTIONS = 71893,
SPELL_OOZE_TANK_PROTECTION = 71770, // protects the tank
SPELL_CHOKING_GAS_BOMB = 71255,
SPELL_OOZE_VARIABLE = 74118,
SPELL_GAS_VARIABLE = 74119,
SPELL_UNBOUND_PLAGUE = 70911,
SPELL_UNBOUND_PLAGUE_SEARCHER = 70917,
SPELL_PLAGUE_SICKNESS = 70953,
SPELL_UNBOUND_PLAGUE_PROTECTION = 70955,
SPELL_MUTATED_PLAGUE = 72451,
SPELL_MUTATED_PLAGUE_CLEAR = 72618,
// Slime Puddle
SPELL_GROW_STACKER = 70345,
SPELL_GROW = 70347,
SPELL_SLIME_PUDDLE_AURA = 70343,
SPELL_GROW_STACKER = 70345,
SPELL_GROW = 70347,
SPELL_SLIME_PUDDLE_AURA = 70343,
// Gas Cloud
SPELL_GASEOUS_BLOAT_PROC = 70215,
SPELL_GASEOUS_BLOAT = 70672,
SPELL_GASEOUS_BLOAT_PROTECTION = 70812,
SPELL_EXPUNGED_GAS = 70701,
SPELL_GASEOUS_BLOAT_PROC = 70215,
SPELL_GASEOUS_BLOAT = 70672,
SPELL_GASEOUS_BLOAT_PROTECTION = 70812,
SPELL_EXPUNGED_GAS = 70701,
// Volatile Ooze
SPELL_OOZE_ERUPTION = 70492,
SPELL_VOLATILE_OOZE_ADHESIVE = 70447,
SPELL_OOZE_ERUPTION_SEARCH_PERIODIC = 70457,
SPELL_VOLATILE_OOZE_PROTECTION = 70530,
SPELL_OOZE_ERUPTION = 70492,
SPELL_VOLATILE_OOZE_ADHESIVE = 70447,
SPELL_OOZE_ERUPTION_SEARCH_PERIODIC = 70457,
SPELL_VOLATILE_OOZE_PROTECTION = 70530,
// Choking Gas Bomb
SPELL_CHOKING_GAS_BOMB_PERIODIC = 71259,
SPELL_CHOKING_GAS_EXPLOSION_TRIGGER = 71280,
SPELL_CHOKING_GAS_BOMB_PERIODIC = 71259,
SPELL_CHOKING_GAS_EXPLOSION_TRIGGER = 71280,
// Mutated Abomination vehicle
SPELL_ABOMINATION_VEHICLE_POWER_DRAIN = 70385,
SPELL_MUTATED_TRANSFORMATION = 70311,
SPELL_MUTATED_TRANSFORMATION_DAMAGE = 70405,
SPELL_MUTATED_TRANSFORMATION_NAME = 72401,
SPELL_ABOMINATION_VEHICLE_POWER_DRAIN = 70385,
SPELL_MUTATED_TRANSFORMATION = 70311,
SPELL_MUTATED_TRANSFORMATION_DAMAGE = 70405,
SPELL_MUTATED_TRANSFORMATION_NAME = 72401,
// Unholy Infusion
SPELL_UNHOLY_INFUSION_CREDIT = 71518
};
#define SPELL_GASEOUS_BLOAT_HELPER RAID_MODE<uint32>(70672, 72455, 72832, 72833)
@@ -293,6 +296,10 @@ class boss_professor_putricide : public CreatureScript
{
_JustDied();
Talk(SAY_DEATH);
if (Is25ManRaid() && me->HasAura(SPELL_SHADOWS_FATE))
DoCastAOE(SPELL_UNHOLY_INFUSION_CREDIT, true);
DoCast(SPELL_MUTATED_PLAGUE_CLEAR);
}

View File

@@ -82,6 +82,9 @@ enum Spells
SPELL_FOCUS_FIRE = 71350,
SPELL_ORDER_WHELP = 71357,
SPELL_CONCUSSIVE_SHOCK = 71337,
// Frost Infusion
SPELL_FROST_INFUSION_CREDIT = 72289
};
enum Events
@@ -231,8 +234,12 @@ class boss_sindragosa : public CreatureScript
void JustDied(Unit* killer)
{
BossAI::JustDied(killer);
_JustDied();
Talk(SAY_DEATH);
if (Is25ManRaid() && me->HasAura(SPELL_SHADOWS_FATE))
DoCastAOE(SPELL_FROST_INFUSION_CREDIT, true);
}
void EnterCombat(Unit* victim)

View File

@@ -54,6 +54,9 @@ enum SharedSpells
// The Lich King
SPELL_ARTHAS_TELEPORTER_CEREMONY = 72915,
SPELL_FROSTMOURNE_TELEPORT_VISUAL = 73078,
// Shadowmourne questline
SPELL_SHADOWS_FATE = 71169
};
enum TeleporterSpells