mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +01:00
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/game/Achievements/AchievementMgr.cpp
This commit is contained in:
7
sql/updates/world/2013_09_22_00_world_sai.sql
Normal file
7
sql/updates/world/2013_09_22_00_world_sai.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
UPDATE `smart_scripts` SET `link`=3 WHERE `entryorguid` IN (22401,21182,22402,22403) AND `source_type`=0 AND `id`=2 AND `link`=0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (22401,21182,22402,22403) AND `source_type`=0 AND `id`=3;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `id`, `event_type`, `action_type`, `action_param1`, `target_type`, `comment`) VALUES
|
||||
(22401,3,61,33,22401,7,'Zeth''Gor Quest Credit Marker, They Must Burn, Tower North - On spell hit - Give Quest Credit'),
|
||||
(21182,3,61,33,21182,7,'Zeth''Gor Quest Credit Marker, They Must Burn, Tower South - On spell hit - Give Quest Credit'),
|
||||
(22402,3,61,33,22402,7,'Zeth''Gor Quest Credit Marker, They Must Burn, Tower Forge - On spell hit - Give Quest Credit'),
|
||||
(22403,3,61,33,22403,7,'Zeth''Gor Quest Credit Marker, They Must Burn, Tower Foothill - On spell hit - Give Quest Credit');
|
||||
@@ -2323,7 +2323,6 @@ ObjectList* SmartScript::GetTargets(SmartScriptHolder const& e, Unit* invoker /*
|
||||
if (Unit* u = me->AI()->SelectTarget(SELECT_TARGET_RANDOM, 1))
|
||||
l->push_back(u);
|
||||
break;
|
||||
case SMART_TARGET_NONE:
|
||||
case SMART_TARGET_ACTION_INVOKER:
|
||||
if (scriptTrigger)
|
||||
l->push_back(scriptTrigger);
|
||||
@@ -2554,6 +2553,7 @@ ObjectList* SmartScript::GetTargets(SmartScriptHolder const& e, Unit* invoker /*
|
||||
break;
|
||||
}
|
||||
case SMART_TARGET_POSITION:
|
||||
case SMART_TARGET_NONE:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_TWILIGHT_BLOODBOLT, urand(20000, 25000), EVENT_GROUP_NORMAL);
|
||||
events.ScheduleEvent(EVENT_AIR_PHASE, 124000 + uint32(Is25ManRaid() ? 3000 : 0));
|
||||
CleanAuras();
|
||||
_offtank = NULL;
|
||||
_offtankGUID = 0;
|
||||
_vampires.clear();
|
||||
_creditBloodQuickening = false;
|
||||
_killMinchar = false;
|
||||
@@ -366,29 +366,33 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
if (me->GetVictim())
|
||||
{
|
||||
Player* newOfftank = SelectRandomTarget(true);
|
||||
if (_offtank != newOfftank)
|
||||
if (newOfftank)
|
||||
{
|
||||
_offtank = newOfftank;
|
||||
if (_offtank)
|
||||
if (_offtankGUID != newOfftank->GetGUID())
|
||||
{
|
||||
_offtankGUID = newOfftank->GetGUID();
|
||||
|
||||
// both spells have SPELL_ATTR5_SINGLE_TARGET_SPELL, no manual removal needed
|
||||
_offtank->CastSpell(me->GetVictim(), SPELL_BLOOD_MIRROR_DAMAGE, true);
|
||||
me->GetVictim()->CastSpell(_offtank, SPELL_BLOOD_MIRROR_DUMMY, true);
|
||||
newOfftank->CastSpell(me->GetVictim(), SPELL_BLOOD_MIRROR_DAMAGE, true);
|
||||
me->GetVictim()->CastSpell(newOfftank, SPELL_BLOOD_MIRROR_DUMMY, true);
|
||||
DoCastVictim(SPELL_BLOOD_MIRROR_VISUAL);
|
||||
if (Is25ManRaid() && _offtank->GetQuestStatus(QUEST_BLOOD_INFUSION) == QUEST_STATUS_INCOMPLETE &&
|
||||
_offtank->HasAura(SPELL_UNSATED_CRAVING) && !_offtank->HasAura(SPELL_THIRST_QUENCHED) &&
|
||||
!_offtank->HasAura(SPELL_GUSHING_WOUND))
|
||||
_offtank->CastSpell(_offtank, SPELL_GUSHING_WOUND, TRIGGERED_FULL_MASK);
|
||||
if (Is25ManRaid() && newOfftank->GetQuestStatus(QUEST_BLOOD_INFUSION) == QUEST_STATUS_INCOMPLETE &&
|
||||
newOfftank->HasAura(SPELL_UNSATED_CRAVING) && !newOfftank->HasAura(SPELL_THIRST_QUENCHED) &&
|
||||
!newOfftank->HasAura(SPELL_GUSHING_WOUND))
|
||||
newOfftank->CastSpell(newOfftank, SPELL_GUSHING_WOUND, TRIGGERED_FULL_MASK);
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
_offtankGUID = 0;
|
||||
}
|
||||
events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500, EVENT_GROUP_CANCELLABLE);
|
||||
break;
|
||||
}
|
||||
case EVENT_DELIRIOUS_SLASH:
|
||||
if (_offtank && !me->HasByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER))
|
||||
DoCast(_offtank, SPELL_DELIRIOUS_SLASH);
|
||||
if (_offtankGUID && !me->HasByteFlag(UNIT_FIELD_BYTES_1, 3, UNIT_BYTE1_FLAG_ALWAYS_STAND | UNIT_BYTE1_FLAG_HOVER))
|
||||
if (Player* _offtank = ObjectAccessor::GetPlayer(*me, _offtankGUID))
|
||||
DoCast(_offtank, SPELL_DELIRIOUS_SLASH);
|
||||
events.ScheduleEvent(EVENT_DELIRIOUS_SLASH, urand(20000, 24000), EVENT_GROUP_NORMAL);
|
||||
break;
|
||||
case EVENT_PACT_OF_THE_DARKFALLEN:
|
||||
@@ -470,7 +474,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
|
||||
for (std::list<HostileReference*>::const_iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
|
||||
if (Unit* refTarget = (*itr)->getTarget())
|
||||
if (refTarget != me->GetVictim() && refTarget->GetTypeId() == TYPEID_PLAYER && (includeOfftank || (refTarget != _offtank)))
|
||||
if (refTarget != me->GetVictim() && refTarget->GetTypeId() == TYPEID_PLAYER && (includeOfftank || (refTarget->GetGUID() != _offtankGUID)))
|
||||
tempTargets.push_back(refTarget->ToPlayer());
|
||||
|
||||
if (tempTargets.empty())
|
||||
@@ -493,7 +497,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
|
||||
std::set<uint64> _vampires;
|
||||
std::set<uint64> _bloodboltedPlayers;
|
||||
Player* _offtank;
|
||||
uint64 _offtankGUID;
|
||||
bool _creditBloodQuickening;
|
||||
bool _killMinchar;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user