mirror of
https://github.com/ZhengPeiRu21/mod-individual-progression
synced 2025-11-29 15:38:19 +08:00
Compare commits
3 Commits
1319a39819
...
a5c8e9e263
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5c8e9e263 | ||
|
|
e715f29e1d | ||
|
|
0aa4cf52f9 |
@@ -389,6 +389,11 @@ INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_
|
||||
(14400, 0, 1, 0, 0, 0, 100, 0, 0, 0, 15000, 30000, 0, 0, 11, 12550, 32, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Arcane Feedback - In Combat - Cast Lightning Shield');
|
||||
|
||||
|
||||
-- Cadaverous Worm
|
||||
DELETE FROM `creature_loot_template` WHERE `entry` = 14370;
|
||||
UPDATE `creature_template` SET `lootid` = 0 WHERE `entry` = 14370;
|
||||
UPDATE `creature_template_model` SET `DisplayScale` = 0.25 WHERE `CreatureID` = 14370;
|
||||
|
||||
-- fix waypoints
|
||||
DELETE FROM `creature` WHERE `id1` IN (11459, 11484, 11488, 14308);
|
||||
DELETE FROM `creature` WHERE `guid` IN (247932, 247933); -- unused Eldreth Phantasm guids
|
||||
|
||||
@@ -451,7 +451,7 @@ class spell_loatheb_corrupted_mind_40 : public SpellScript
|
||||
switch (playerTarget->getClass())
|
||||
{
|
||||
case CLASS_PRIEST:
|
||||
spell_id = 29185;
|
||||
spell_id = 29194; // priests should be getting 29185, but it triggers on dmg effects as well
|
||||
break;
|
||||
case CLASS_DRUID:
|
||||
spell_id = 29194;
|
||||
@@ -483,29 +483,40 @@ class isAllowedToCastSpell : public SpellScript
|
||||
|
||||
SpellCastResult CheckCorruptedMind()
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
Unit* caster = GetCaster();
|
||||
if (!caster)
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
Player* player = caster->ToPlayer();
|
||||
if (!player)
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
Map* map = player->GetMap();
|
||||
if (!map)
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
// Only enforce the check in Naxxramas 10HC (map 533, 10-man heroic).
|
||||
if (map->GetId() != 533 || map->GetDifficulty() != RAID_DIFFICULTY_10MAN_HEROIC)
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
// Check class override auras (Corrupted Mind) on the player.
|
||||
Unit::AuraEffectList const& auraClassScripts =
|
||||
player->GetAuraEffectsByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS);
|
||||
|
||||
for (AuraEffect const* auraEff : auraClassScripts)
|
||||
{
|
||||
Player* player = caster->ToPlayer();
|
||||
if (!auraEff)
|
||||
continue;
|
||||
|
||||
if (!player)
|
||||
return SPELL_CAST_OK;
|
||||
SpellInfo const* auraInfo = auraEff->GetSpellInfo();
|
||||
if (!auraInfo)
|
||||
continue;
|
||||
|
||||
int mapId = player->GetMapId();
|
||||
|
||||
if ((player->GetRaidDifficulty() != RAID_DIFFICULTY_10MAN_HEROIC) || (mapId != 533))
|
||||
return SPELL_CAST_OK;
|
||||
|
||||
Unit::AuraEffectList const& auraClassScripts = player->GetAuraEffectsByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS);
|
||||
|
||||
for (auto itr = auraClassScripts.begin(); itr != auraClassScripts.end(); ++itr)
|
||||
{
|
||||
if ((*itr)->GetSpellInfo())
|
||||
{
|
||||
if ((*itr)->GetSpellInfo()->Effects[0].MiscValue == 4327)
|
||||
return SPELL_FAILED_FIZZLE;
|
||||
}
|
||||
}
|
||||
// Corrupted Mind override (class script) – block the cast.
|
||||
if (auraInfo->Effects[EFFECT_0].MiscValue == 4327)
|
||||
return SPELL_FAILED_FIZZLE;
|
||||
}
|
||||
|
||||
return SPELL_CAST_OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,10 +24,11 @@ public:
|
||||
{
|
||||
if (player->IsGameMaster())
|
||||
{
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
Player* target = ObjectAccessor::FindConnectedPlayer(player->GetGUID());
|
||||
return sIndividualProgression->isBeforeProgression(target, PROGRESSION_NAXX40);
|
||||
return sIndividualProgression->isBeforeProgression(target, PROGRESSION_PRE_TBC);
|
||||
}
|
||||
|
||||
};
|
||||
@@ -1,124 +0,0 @@
|
||||
/*
|
||||
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by the
|
||||
* Free Software Foundation; either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef DEF_BLACKWING_LAIR_60_1_H
|
||||
#define DEF_BLACKWING_LAIR_60_1_H
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
|
||||
constexpr uint32 EncounterCount = 8;
|
||||
|
||||
#define BWLScriptName "instance_blackwing_lair"
|
||||
#define DataHeader "BWL"
|
||||
|
||||
enum BWLEncounter
|
||||
{
|
||||
// Encounter States/Boss GUIDs
|
||||
DATA_RAZORGORE_THE_UNTAMED = 0,
|
||||
DATA_VAELASTRAZ_THE_CORRUPT = 1,
|
||||
DATA_BROODLORD_LASHLAYER = 2,
|
||||
DATA_FIREMAW = 3,
|
||||
DATA_EBONROC = 4,
|
||||
DATA_FLAMEGOR = 5,
|
||||
DATA_CHROMAGGUS = 6,
|
||||
DATA_NEFARIAN = 7,
|
||||
|
||||
// Additional Data
|
||||
DATA_LORD_VICTOR_NEFARIUS = 8,
|
||||
|
||||
// Doors
|
||||
DATA_GO_CHROMAGGUS_DOOR = 9
|
||||
};
|
||||
|
||||
enum BWLCreatureIds
|
||||
{
|
||||
NPC_RAZORGORE = 12435,
|
||||
NPC_BLACKWING_DRAGON = 12422,
|
||||
NPC_BLACKWING_TASKMASTER = 12458,
|
||||
NPC_BLACKWING_LEGIONAIRE = 12416,
|
||||
NPC_BLACKWING_WARLOCK = 12459,
|
||||
NPC_BLACKWING_MAGE = 12420,
|
||||
NPC_VAELASTRAZ = 13020,
|
||||
NPC_BROODLORD = 12017,
|
||||
NPC_FIREMAW = 11983,
|
||||
NPC_EBONROC = 14601,
|
||||
NPC_FLAMEGOR = 11981,
|
||||
NPC_CHROMAGGUS = 14020,
|
||||
NPC_VICTOR_NEFARIUS = 10162,
|
||||
NPC_NEFARIAN = 11583,
|
||||
|
||||
// Nefarian fight
|
||||
NPC_BLACK_SPAWNER = 14307,
|
||||
NPC_RED_SPAWNER = 14309,
|
||||
NPC_GREEN_SPAWNER = 14310,
|
||||
NPC_BRONZE_SPAWNER = 14311,
|
||||
NPC_BLUE_SPAWNER = 14312,
|
||||
|
||||
NPC_BRONZE_DRAKONID = 14263,
|
||||
NPC_BLUE_DRAKONID = 14261,
|
||||
NPC_RED_DRAKONID = 14264,
|
||||
NPC_GREEN_DRAKONID = 14262,
|
||||
NPC_BLACK_DRAKONID = 14265,
|
||||
NPC_CHROMATIC_DRAKONID = 14302,
|
||||
NPC_BONE_CONSTRUCT = 14605
|
||||
};
|
||||
|
||||
enum BWLGameObjectIds
|
||||
{
|
||||
GO_BLACK_DRAGON_EGG = 177807,
|
||||
GO_PORTCULLIS_RAZORGORE = 175946,
|
||||
GO_PORTCULLIS_RAZORGORE_ROOM = 176964,
|
||||
GO_PORTCULLIS_VAELASTRASZ = 175185,
|
||||
GO_PORTCULLIS_BROODLORD = 179365,
|
||||
GO_PORTCULLIS_THREEDRAGONS = 179115,
|
||||
GO_CHROMAGGUS_LEVER = 179148,
|
||||
GO_PORTCULLIS_CHROMAGGUS = 179116,
|
||||
GO_PORTCULLIS_NEFARIAN = 179117,
|
||||
GO_SUPPRESSION_DEVICE = 179784
|
||||
};
|
||||
|
||||
enum BWLEvents
|
||||
{
|
||||
EVENT_RAZOR_SPAWN = 1,
|
||||
EVENT_RAZOR_PHASE_TWO = 2,
|
||||
EVENT_RESPAWN_NEFARIUS = 3
|
||||
};
|
||||
|
||||
enum BWLMisc
|
||||
{
|
||||
// Razorgore Egg Event
|
||||
ACTION_PHASE_TWO = 1,
|
||||
DATA_EGG_EVENT = 2,
|
||||
TALK_EGG_BROKEN_RAND = 3,
|
||||
|
||||
SAY_NEFARIAN_VAEL_INTRO = 14,
|
||||
|
||||
// Nefarian fight
|
||||
DATA_NEFARIAN_LEFT_TUNNEL = 15,
|
||||
DATA_NEFARIAN_RIGHT_TUNNEL = 16,
|
||||
ACTION_NEFARIUS_ADD_KILLED = 2
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
inline AI* GetBlackwingLairAI(T* obj)
|
||||
{
|
||||
return GetInstanceAI<AI>(obj, BWLScriptName);
|
||||
}
|
||||
|
||||
#define RegisterBlackwingLairCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetBlackwingLairAI)
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user