More nopch fixes

This commit is contained in:
Shauren
2017-05-25 00:23:05 +02:00
parent d4eb2f79ca
commit 38c6694b8e
24 changed files with 173 additions and 87 deletions

View File

@@ -23,9 +23,14 @@ Category: Scholomance
*/
#include "ScriptMgr.h"
#include "GameObject.h"
#include "InstanceScript.h"
#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "scholomance.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
enum Says
{
@@ -59,14 +64,14 @@ class boss_darkmaster_gandling : public CreatureScript
void Reset() override
{
_Reset();
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_GANDLING)))
if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_ACTIVE);
}
void JustDied(Unit* /*killer*/) override
{
_JustDied();
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_GANDLING)))
if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_ACTIVE);
}
@@ -78,7 +83,7 @@ class boss_darkmaster_gandling : public CreatureScript
events.ScheduleEvent(EVENT_CURSE, 2000);
events.ScheduleEvent(EVENT_SHADOW_PORTAL, 16000);
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GATE_GANDLING)))
if (GameObject* gate = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GATE_GANDLING)))
gate->SetGoState(GO_STATE_READY);
}
@@ -353,7 +358,7 @@ class spell_shadow_portal_rooms : public SpellScriptLoader
break;
}
if (gate_to_close && (caster->GetMap()->GetId() == 289))
if (gate_to_close)
{
for (uint8 i = 0; i < 3; ++i)
{

View File

@@ -24,11 +24,11 @@ SDCategory: Temple of Ahn'Qiraj
EndScriptData */
#include "ScriptMgr.h"
#include "InstanceScript.h"
#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "temple_of_ahnqiraj.h"
#include "WorldPacket.h"
#include "Item.h"
#include "Spell.h"
enum Spells
{

View File

@@ -16,9 +16,12 @@
*/
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "CreatureAIImpl.h"
#include "GameObject.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellScript.h"
/*######
## Quest 25134: Lazy Peons

View File

@@ -27,11 +27,11 @@ EndScriptData */
EndContentData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "Player.h"
#include "ScriptedEscortAI.h"
#include "ScriptedGossip.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "Player.h"
#include "WorldSession.h"
/*######

View File

@@ -16,11 +16,16 @@
*/
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "DynamicObject.h"
#include "InstanceScript.h"
#include "ObjectAccessor.h"
#include "Player.h"
#include "Vehicle.h"
#include "ScriptedCreature.h"
#include "Spell.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "stonecore.h"
#include "Vehicle.h"
enum Spells
{
@@ -267,7 +272,7 @@ class boss_high_priestess_azil : public CreatureScript
me->RemoveAurasDueToSpell(SPELL_EARTH_FURY_CASTING_VISUAL);
me->RemoveAurasDueToSpell(SPELL_EARTH_FURY_ENERGY_SHIELD);
Position pos = me->GetPosition();
pos.m_positionZ = me->GetMap()->GetHeight(me->GetPhases(), pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ());
me->UpdateGroundPositionZ(pos.GetPositionX(), pos.GetPositionY(), pos.m_positionZ);
me->GetMotionMaster()->MovePoint(POINT_GROUND, pos);
break;
}
@@ -543,9 +548,9 @@ public:
bool operator()(WorldObject* object) const
{
// Valid targets are players, pets and Devout Followers
if (Creature* creature = object->ToCreature())
return (!creature->ToPet() && object->GetEntry() != NPC_DEVOUT_FOLLOWER);
return (!object->ToPlayer());
if (object->GetTypeId() == TYPEID_UNIT)
return !object->ToUnit()->IsPet() && object->GetEntry() != NPC_DEVOUT_FOLLOWER;
return object->GetTypeId() != TYPEID_PLAYER;
}
};

View File

@@ -16,7 +16,13 @@
*/
#include "ScriptMgr.h"
#include "GameObject.h"
#include "InstanceScript.h"
#include "Map.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "Spell.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "stonecore.h"
@@ -266,7 +272,7 @@ class boss_slabhide : public CreatureScript
case EVENT_LAND:
{
Position pos = me->GetPosition();
pos.m_positionZ = me->GetMap()->GetHeight(me->GetPhases(), pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ());
me->UpdateGroundPositionZ(pos.GetPositionX(), pos.GetPositionY(), pos.m_positionZ);
me->GetMotionMaster()->MoveLand(POINT_SLABHIDE_LAND, pos);
break;
}

View File

@@ -16,10 +16,14 @@
*/
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "Player.h"
#include "ahnkahet.h"
#include "GameObject.h"
#include "InstanceScript.h"
#include "ObjectAccessor.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "Spell.h"
#include "SpellScript.h"
enum Spells
{

View File

@@ -16,10 +16,17 @@
*/
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "PassiveAI.h"
#include "AreaBoundary.h"
#include "azjol_nerub.h"
#include "GameObject.h"
#include "InstanceScript.h"
#include "ObjectAccessor.h"
#include "PassiveAI.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
enum Spells
{
@@ -146,7 +153,7 @@ public:
return;
}
_guardianTrigger = (*summoned.begin())->GetGUID();
if (Creature* trigger = DoSummon(NPC_WORLD_TRIGGER, me->GetPosition(), 0u, TEMPSUMMON_MANUAL_DESPAWN))
_assassinTrigger = trigger->GetGUID();
else
@@ -355,7 +362,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
me->RemoveAurasDueToSpell(SPELL_LEECHING_SWARM);
DoCastSelf(SPELL_IMPALE_AURA, true);
events.SetPhase(PHASE_SUBMERGE);
switch (_nextSubmerge)
{
@@ -474,8 +481,8 @@ class npc_anubarak_anub_ar_assassin : public CreatureScript
{
if (!boundary)
return true;
for (CreatureBoundary::const_iterator it = boundary->cbegin(); it != boundary->cend(); ++it)
if (!(*it)->IsWithinBoundary(&jumpTo))
for (AreaBoundary const* it : *boundary)
if (!it->IsWithinBoundary(&jumpTo))
return false;
return true;
}

View File

@@ -17,9 +17,11 @@
*/
#include "ScriptMgr.h"
#include "InstanceScript.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "Player.h"
#include "trial_of_the_crusader.h"
enum Yells
@@ -533,9 +535,8 @@ class MistressKissTargetSelector
bool operator()(WorldObject* unit) const
{
if (unit->GetTypeId() == TYPEID_PLAYER)
if (unit->ToPlayer()->getPowerType() == POWER_MANA)
return false;
if (unit->GetTypeId() == TYPEID_PLAYER && unit->ToUnit()->getPowerType() == POWER_MANA)
return false;
return true;
}

View File

@@ -16,12 +16,17 @@
*/
#include "ScriptMgr.h"
#include "InstanceScript.h"
#include "MoveSplineInit.h"
#include "ObjectAccessor.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "Spell.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
#include "Transport.h"
#include "Player.h"
#include "MoveSplineInit.h"
#include "halls_of_reflection.h"
enum Text
@@ -371,12 +376,12 @@ class npc_jaina_or_sylvanas_intro_hor : public CreatureScript
switch (gossipListId)
{
case 0:
player->PlayerTalkClass->SendCloseGossip();
CloseGossipMenuFor(player);
_events.ScheduleEvent(EVENT_START_INTRO, 1000);
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
break;
case 1:
player->PlayerTalkClass->SendCloseGossip();
CloseGossipMenuFor(player);
_events.ScheduleEvent(EVENT_SKIP_INTRO, 1000);
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
break;
@@ -865,7 +870,7 @@ class npc_jaina_or_sylvanas_escape_hor : public CreatureScript
switch (gossipListId)
{
case 0:
player->PlayerTalkClass->SendCloseGossip();
CloseGossipMenuFor(player);
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
_events.ScheduleEvent(EVENT_ESCAPE_6, 0);
break;

View File

@@ -16,7 +16,10 @@
*/
#include "ScriptMgr.h"
#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "gundrak.h"

View File

@@ -20,7 +20,12 @@
#include "ScriptedCreature.h"
#include "SpellAuraEffects.h"
#include "icecrown_citadel.h"
#include "Map.h"
#include "ObjectAccessor.h"
#include "Player.h"
#include "Spell.h"
#include "SpellMgr.h"
#include "TemporarySummon.h"
enum Texts
{

View File

@@ -15,13 +15,14 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ScriptMgr.h"
#include "GameObjectAI.h"
#include "InstanceScript.h"
#include "Player.h"
#include "ScriptedGossip.h"
#include "ScriptMgr.h"
#include "Spell.h"
#include "icecrown_citadel.h"
#include "SpellInfo.h"
static std::vector<uint32> const TeleportSpells =
{

View File

@@ -16,13 +16,16 @@
*/
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "GridNotifiers.h"
#include "CombatAI.h"
#include "AreaBoundary.h"
#include "CombatAI.h"
#include "GridNotifiers.h"
#include "InstanceScript.h"
#include "Log.h"
#include "naxxramas.h"
#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellScript.h"
/* Constants */
enum Yells

View File

@@ -16,11 +16,16 @@
*/
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "SpellAuraEffects.h"
#include "GameObject.h"
#include "InstanceScript.h"
#include "naxxramas.h"
#include "Player.h"
#include "PlayerAI.h"
#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "SpellAuraEffects.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
enum Texts
{
@@ -161,7 +166,7 @@ class KelThuzadCharmedPlayerAI : public SimpleCharmedPlayerAI
public:
KelThuzadCharmedPlayerAI(Player* player) : SimpleCharmedPlayerAI(player) { }
struct CharmedPlayerTargetSelectPred : public std::unary_function<Unit*, bool>
struct CharmedPlayerTargetSelectPred
{
bool operator()(Unit const* target) const
{

View File

@@ -16,12 +16,16 @@
*/
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "Player.h"
#include "ObjectGuid.h"
#include "GameObject.h"
#include "InstanceScript.h"
#include "Map.h"
#include "naxxramas.h"
#include "ObjectAccessor.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellMgr.h"
#include "SpellScript.h"
enum Phases
{
@@ -1075,29 +1079,28 @@ class spell_thaddius_polarity_charge : public SpellScriptLoader
}
uint8 maxStacks = 0;
if (GetCaster())
switch (GetCaster()->GetMap()->GetDifficultyID())
{
case DIFFICULTY_10_N:
maxStacks = MAX_POLARITY_10M;
break;
case DIFFICULTY_25_N:
maxStacks = MAX_POLARITY_25M;
break;
default:
break;
}
switch (GetCaster()->GetMap()->GetDifficultyID())
{
case DIFFICULTY_10_N:
maxStacks = MAX_POLARITY_10M;
break;
case DIFFICULTY_25_N:
maxStacks = MAX_POLARITY_25M;
break;
default:
break;
}
uint8 stacksCount = 1; // do we get a stack for our own debuff?
std::list<WorldObject*>::iterator it = targetList.begin();
while(it != targetList.end())
while (it != targetList.end())
{
if ((*it)->GetTypeId() != TYPEID_PLAYER)
{
it = targetList.erase(it);
continue;
}
if ((*it)->ToPlayer()->HasAura(triggeringId))
if ((*it)->ToUnit()->HasAura(triggeringId))
{
it = targetList.erase(it);
if (stacksCount < maxStacks)
@@ -1112,11 +1115,11 @@ class spell_thaddius_polarity_charge : public SpellScriptLoader
++it;
}
if (GetCaster() && GetCaster()->ToPlayer())
if (GetCaster()->GetTypeId() == TYPEID_PLAYER)
{
if (!GetCaster()->ToPlayer()->HasAura(ampId))
GetCaster()->ToPlayer()->AddAura(ampId, GetCaster());
GetCaster()->ToPlayer()->SetAuraStack(ampId, GetCaster(), stacksCount);
if (!GetCaster()->HasAura(ampId))
GetCaster()->AddAura(ampId, GetCaster());
GetCaster()->SetAuraStack(ampId, GetCaster(), stacksCount);
}
}

View File

@@ -16,15 +16,19 @@
*/
#include "ScriptMgr.h"
#include "CombatAI.h"
#include "InstanceScript.h"
#include "ObjectAccessor.h"
#include "oculus.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
#include "SpellScript.h"
#include "Spell.h"
#include "SpellAuraEffects.h"
#include "SpellInfo.h"
#include "CombatAI.h"
#include "Player.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "Vehicle.h"
#include "oculus.h"
enum GossipNPCs
{

View File

@@ -17,6 +17,7 @@
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "halls_of_stone.h"

View File

@@ -15,16 +15,22 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ObjectMgr.h"
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "PassiveAI.h"
#include "DB2Stores.h"
#include "GameObject.h"
#include "GameObjectAI.h"
#include "InstanceScript.h"
#include "MapManager.h"
#include "MoveSplineInit.h"
#include "ulduar.h"
#include "ObjectAccessor.h"
#include "PassiveAI.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "Spell.h"
#include "SpellInfo.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
#include "ulduar.h"
enum Texts
{

View File

@@ -15,14 +15,19 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ScriptMgr.h"
#include "AreaBoundary.h"
#include "GameObject.h"
#include "InstanceScript.h"
#include "Vehicle.h"
#include "Map.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptMgr.h"
#include "Spell.h"
#include "SpellScript.h"
#include "WorldPacket.h"
#include "TemporarySummon.h"
#include "ulduar.h"
#include "Vehicle.h"
#include "WorldStatePackets.h"
static BossBoundaryData const boundaries =
{

View File

@@ -23,9 +23,14 @@ SDCategory: Utgarde Keep
EndScriptData */
#include "ScriptMgr.h"
#include "InstanceScript.h"
#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "SpellScript.h"
#include "Spell.h"
#include "SpellAuraEffects.h"
#include "SpellInfo.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "utgarde_keep.h"
enum Yells

View File

@@ -24,9 +24,12 @@ SDCategory: Black Temple
EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "black_temple.h"
#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "Spell.h"
#include "SpellInfo.h"
#include "TemporarySummon.h"
enum ReliquaryOfSouls
{
@@ -563,7 +566,7 @@ public:
void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
{
if (me->GetCurrentSpell(CURRENT_GENERIC_SPELL))
for (SpellEffectInfo const* effect : spell->GetEffectsForDifficulty(me->GetMap()->GetDifficultyID()))
for (SpellEffectInfo const* effect : spell->GetEffectsForDifficulty(GetDifficulty()))
if (effect->Effect == SPELL_EFFECT_INTERRUPT_CAST)
if (me->GetCurrentSpell(CURRENT_GENERIC_SPELL)->m_spellInfo->Id == SPELL_SOUL_SHOCK
|| me->GetCurrentSpell(CURRENT_GENERIC_SPELL)->m_spellInfo->Id == SPELL_DEADEN)

View File

@@ -25,6 +25,8 @@ EndScriptData */
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
#include "SpellInfo.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "gruuls_lair.h"

View File

@@ -24,8 +24,12 @@ SDCategory: Tempest Keep, The Eye
EndScriptData */
#include "ScriptMgr.h"
#include "GameObject.h"
#include "InstanceScript.h"
#include "ObjectAccessor.h"
#include "ScriptedCreature.h"
#include "Spell.h"
#include "SpellInfo.h"
#include "SpellMgr.h"
#include "SpellScript.h"
#include "the_eye.h"
@@ -843,7 +847,7 @@ class boss_kaelthas : public CreatureScript
default:
break;
}
if (me->HasUnitState(UNIT_STATE_CASTING) && !me->FindCurrentSpellBySpellId(SPELL_KAEL_GAINING_POWER) && !me->FindCurrentSpellBySpellId(SPELL_KAEL_STUNNED))
return;
}