Merge branch 'azerothcore:master' into Playerbot

This commit is contained in:
ZhengPeiRu21
2022-04-19 09:07:56 -06:00
committed by GitHub
17 changed files with 636 additions and 46 deletions

View File

@@ -49,8 +49,8 @@ enum Spells
SPELL_CHROMATIC_MUT_1 = 23174, //Spell cast on player if they get all 5 debuffs
SPELL_ELEMENTAL_SHIELD = 22276,
SPELL_FRENZY = 28371, //The frenzy spell may be wrong
SPELL_ENRAGE = 28747
SPELL_FRENZY = 23128,
SPELL_ENRAGE = 23537
};
enum Events
@@ -239,7 +239,7 @@ public:
// Cast new random vulnerabilty on self
DoCast(me, SPELL_ELEMENTAL_SHIELD);
Talk(EMOTE_SHIMMER);
events.ScheduleEvent(EVENT_SHIMMER, 45000);
events.ScheduleEvent(EVENT_SHIMMER, urand(17000, 25000));
break;
}
case EVENT_BREATH_1:

View File

@@ -62,7 +62,6 @@ public:
void Reset() override
{
me->RemoveAurasDueToSpell(SPELL_MARK_OF_FROST_AURA);
_scheduler.CancelAll();
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
me->RestoreFaction();
@@ -71,7 +70,6 @@ public:
if (p->GetZoneId() == me->GetZoneId())
{
p->RemoveAurasDueToSpell(SPELL_MARK_OF_FROST);
p->RemoveAurasDueToSpell(SPELL_AURA_OF_FROST);
p->RemoveAurasDueToSpell(SPELL_CHILL);
p->RemoveAurasDueToSpell(SPELL_FROST_BREATH);

View File

@@ -664,8 +664,12 @@ public:
{
Map::PlayerList const& pList = instance->GetPlayers();
for (Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr)
if (Vehicle* veh = itr->GetSource()->GetVehicle())
veh->Dismiss();
{
if (Creature* vehicleCreature = itr->GetSource()->GetVehicleCreatureBase())
{
vehicleCreature->DespawnOrUnsummon();
}
}
}
break;
case TYPE_IGNIS:
@@ -837,8 +841,12 @@ public:
{
Map::PlayerList const& pList = instance->GetPlayers();
for (Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr)
if (Vehicle* veh = itr->GetSource()->GetVehicle())
veh->Dismiss();
{
if (Creature* vehicleCreature = itr->GetSource()->GetVehicleCreatureBase())
{
vehicleCreature->DespawnOrUnsummon();
}
}
}
}
@@ -1239,9 +1247,12 @@ void instance_ulduar::instance_ulduar_InstanceMapScript::SpawnLeviathanEncounter
if (!_leviathanVehicles.empty())
{
for (ObjectGuid const& guid : _leviathanVehicles)
{
if (Creature* cr = instance->GetCreature(guid))
if (Vehicle* veh = cr->GetVehicleKit())
veh->Dismiss();
{
cr->DespawnOrUnsummon();
}
}
_leviathanVehicles.clear();
}

View File

@@ -4389,6 +4389,23 @@ class spell_gen_arcane_charge : public SpellScript
}
};
// 20589 - Escape artist
// 30918 - Improved Sprint
class spell_gen_remove_impairing_auras : public SpellScript
{
PrepareSpellScript(spell_gen_remove_impairing_auras);
void HandleScriptEffect(SpellEffIndex /* effIndex */)
{
GetHitUnit()->RemoveMovementImpairingAuras(true);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_remove_impairing_auras::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
void AddSC_generic_spell_scripts()
{
RegisterSpellScript(spell_silithyst);
@@ -4522,4 +4539,5 @@ void AddSC_generic_spell_scripts()
RegisterSpellScript(spell_contagion_of_rot);
RegisterSpellScript(spell_gen_holiday_buff_food);
RegisterSpellScript(spell_gen_arcane_charge);
RegisterSpellScript(spell_gen_remove_impairing_auras);
}