Merge remote-tracking branch 'tc/3.3.5' into 4.3.4
Note: additional hand-picked ports from 6.x to fix build Conflicts: sql/updates/world/2016_02_22_00_world.sql sql/updates/world/2016_02_22_01_world.sql sql/updates/world/2016_02_22_02_world.sql sql/updates/world/2016_03_07_00_world.sql src/server/authserver/Realms/RealmList.cpp src/server/authserver/Realms/RealmList.h src/server/authserver/Server/AuthSession.cpp src/server/game/Accounts/AccountMgr.cpp src/server/game/AuctionHouse/AuctionHouseMgr.cpp src/server/game/Chat/Chat.cpp src/server/game/Conditions/ConditionMgr.cpp src/server/game/Conditions/ConditionMgr.h src/server/game/Entities/Player/Player.cpp src/server/game/Handlers/CharacterHandler.cpp src/server/game/Handlers/MiscHandler.cpp src/server/game/Scripting/ScriptLoader.cpp src/server/game/Scripting/ScriptLoader.h src/server/game/Server/WorldSession.cpp src/server/game/Server/WorldSocket.cpp src/server/game/World/World.cpp src/server/game/World/World.h src/server/scripts/CMakeLists.txt src/server/scripts/Commands/cs_gm.cpp src/server/scripts/Commands/cs_misc.cpp src/server/scripts/Commands/cs_rbac.cpp src/server/scripts/Commands/cs_ticket.cpp src/server/scripts/Commands/cs_wp.cpp src/server/scripts/EasternKingdoms/CMakeLists.txt src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp src/server/scripts/Kalimdor/CMakeLists.txt src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp src/server/scripts/Kalimdor/zone_orgrimmar.cpp src/server/scripts/OutdoorPvP/CMakeLists.txt src/server/scripts/Spells/spell_dk.cpp src/server/scripts/Spells/spell_hunter.cpp src/server/shared/CMakeLists.txt src/server/worldserver/CMakeLists.txt src/server/worldserver/Main.cpp src/tools/mmaps_generator/CMakeLists.txt
This commit is contained in:
commit
65aec5f8f7
143 files changed
+4022
-4094
No files matched your search
@@ -16,9 +16,15 @@ if (USE_SCRIPTPCH)
|
||||
endif ()
|
||||
|
||||
message(STATUS "SCRIPT PREPARATIONS")
|
||||
include(Spells/CMakeLists.txt)
|
||||
|
||||
include(Commands/CMakeLists.txt)
|
||||
macro(PrepareScripts name out)
|
||||
file(GLOB_RECURSE found
|
||||
${name}/*.h
|
||||
${name}/*.cpp
|
||||
)
|
||||
list(APPEND ${out} ${found})
|
||||
message(STATUS " -> Prepared: ${name}")
|
||||
endmacro(PrepareScripts)
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
@@ -28,17 +34,20 @@ set(scripts_STAT_SRCS
|
||||
../game/Maps/AreaBoundary.cpp
|
||||
)
|
||||
|
||||
PrepareScripts(Spells scripts_STAT_SRCS)
|
||||
PrepareScripts(Commands scripts_STAT_SRCS)
|
||||
|
||||
if(SCRIPTS)
|
||||
include(Custom/CMakeLists.txt)
|
||||
include(World/CMakeLists.txt)
|
||||
include(OutdoorPvP/CMakeLists.txt)
|
||||
include(EasternKingdoms/CMakeLists.txt)
|
||||
include(Kalimdor/CMakeLists.txt)
|
||||
include(Outland/CMakeLists.txt)
|
||||
include(Northrend/CMakeLists.txt)
|
||||
include(Maelstrom/CMakeLists.txt)
|
||||
include(Events/CMakeLists.txt)
|
||||
include(Pet/CMakeLists.txt)
|
||||
PrepareScripts(Custom scripts_STAT_SRCS)
|
||||
PrepareScripts(World scripts_STAT_SRCS)
|
||||
PrepareScripts(OutdoorPvP scripts_STAT_SRCS)
|
||||
PrepareScripts(EasternKingdoms scripts_STAT_SRCS)
|
||||
PrepareScripts(Kalimdor scripts_STAT_SRCS)
|
||||
PrepareScripts(Outland scripts_STAT_SRCS)
|
||||
PrepareScripts(Northrend scripts_STAT_SRCS)
|
||||
PrepareScripts(Maelstrom scripts_STAT_SRCS)
|
||||
PrepareScripts(Events scripts_STAT_SRCS)
|
||||
PrepareScripts(Pet scripts_STAT_SRCS)
|
||||
endif()
|
||||
|
||||
message(STATUS "SCRIPT PREPARATION COMPLETE")
|
||||
@@ -65,6 +74,7 @@ include_directories(
|
||||
${CMAKE_SOURCE_DIR}/src/server/game/Addons
|
||||
${CMAKE_SOURCE_DIR}/src/server/game/AI
|
||||
${CMAKE_SOURCE_DIR}/src/server/game/AI/CoreAI
|
||||
${CMAKE_SOURCE_DIR}/src/server/game/AI/PlayerAI
|
||||
${CMAKE_SOURCE_DIR}/src/server/game/AI/ScriptedAI
|
||||
${CMAKE_SOURCE_DIR}/src/server/game/AI/SmartScripts
|
||||
${CMAKE_SOURCE_DIR}/src/server/game/AuctionHouse
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
file(GLOB_RECURSE sources_Commands Commands/*.cpp Commands/*.h)
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
${sources_Commands}
|
||||
)
|
||||
|
||||
message(" -> Prepared: Commands")
|
||||
@@ -161,7 +161,7 @@ public:
|
||||
///- Get the accounts with GM Level >0
|
||||
PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_GM_ACCOUNTS);
|
||||
stmt->setUInt8(0, uint8(SEC_MODERATOR));
|
||||
stmt->setInt32(1, int32(realmHandle.Index));
|
||||
stmt->setInt32(1, int32(realm.Id.Realm));
|
||||
PreparedQueryResult result = LoginDatabase.Query(stmt);
|
||||
|
||||
if (result)
|
||||
|
||||
@@ -1603,7 +1603,7 @@ public:
|
||||
|
||||
// Query the prepared statement for login data
|
||||
stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_PINFO);
|
||||
stmt->setInt32(0, int32(realmHandle.Index));
|
||||
stmt->setInt32(0, int32(realm.Id.Realm));
|
||||
stmt->setUInt32(1, accId);
|
||||
PreparedQueryResult result = LoginDatabase.Query(stmt);
|
||||
|
||||
|
||||
@@ -474,7 +474,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_ASPEED, ASpeed, targetNameLink.c_str());
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_ASPEED, targetNameLink.c_str(), ASpeed);
|
||||
if (handler->needReportToTarget(target))
|
||||
ChatHandler(target->GetSession()).PSendSysMessage(LANG_YOURS_ASPEED_CHANGED, handler->GetNameLink().c_str(), ASpeed);
|
||||
|
||||
@@ -522,7 +522,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_SPEED, Speed, targetNameLink.c_str());
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_SPEED, targetNameLink.c_str(), Speed);
|
||||
if (handler->needReportToTarget(target))
|
||||
ChatHandler(target->GetSession()).PSendSysMessage(LANG_YOURS_SPEED_CHANGED, handler->GetNameLink().c_str(), Speed);
|
||||
|
||||
@@ -567,7 +567,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_SWIM_SPEED, Swim, targetNameLink.c_str());
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_SWIM_SPEED, targetNameLink.c_str(), Swim);
|
||||
if (handler->needReportToTarget(target))
|
||||
ChatHandler(target->GetSession()).PSendSysMessage(LANG_YOURS_SWIM_SPEED_CHANGED, handler->GetNameLink().c_str(), Swim);
|
||||
|
||||
@@ -612,7 +612,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_BACK_SPEED, BSpeed, targetNameLink.c_str());
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_BACK_SPEED, targetNameLink.c_str(), BSpeed);
|
||||
if (handler->needReportToTarget(target))
|
||||
ChatHandler(target->GetSession()).PSendSysMessage(LANG_YOURS_BACK_SPEED_CHANGED, handler->GetNameLink().c_str(), BSpeed);
|
||||
|
||||
@@ -648,7 +648,7 @@ public:
|
||||
if (handler->HasLowerSecurity(target, ObjectGuid::Empty))
|
||||
return false;
|
||||
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_FLY_SPEED, FSpeed, handler->GetNameLink(target).c_str());
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_FLY_SPEED, handler->GetNameLink(target).c_str(), FSpeed);
|
||||
if (handler->needReportToTarget(target))
|
||||
ChatHandler(target->GetSession()).PSendSysMessage(LANG_YOURS_FLY_SPEED_CHANGED, handler->GetNameLink().c_str(), FSpeed);
|
||||
|
||||
@@ -685,7 +685,7 @@ public:
|
||||
if (handler->HasLowerSecurity(player, ObjectGuid::Empty))
|
||||
return false;
|
||||
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_SIZE, Scale, handler->GetNameLink(player).c_str());
|
||||
handler->PSendSysMessage(LANG_YOU_CHANGE_SIZE, handler->GetNameLink(player).c_str(), Scale);
|
||||
if (handler->needReportToTarget(player))
|
||||
ChatHandler(player->GetSession()).PSendSysMessage(LANG_YOURS_SIZE_CHANGED, handler->GetNameLink().c_str(), Scale);
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ public:
|
||||
|
||||
if (!rdata)
|
||||
{
|
||||
data->rbac = new rbac::RBACData(accountId, accountName, realmHandle.Index, AccountMgr::GetSecurity(accountId, realmHandle.Index));
|
||||
data->rbac = new rbac::RBACData(accountId, accountName, realm.Id.Realm, AccountMgr::GetSecurity(accountId, realm.Id.Realm));
|
||||
data->rbac->LoadFromDB();
|
||||
data->needDelete = true;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
void AddSC_account_commandscript();
|
||||
void AddSC_achievement_commandscript();
|
||||
void AddSC_ahbot_commandscript();
|
||||
void AddSC_arena_commandscript();
|
||||
void AddSC_ban_commandscript();
|
||||
void AddSC_battlenet_account_commandscript();
|
||||
void AddSC_bf_commandscript();
|
||||
void AddSC_cast_commandscript();
|
||||
void AddSC_character_commandscript();
|
||||
void AddSC_cheat_commandscript();
|
||||
void AddSC_debug_commandscript();
|
||||
void AddSC_deserter_commandscript();
|
||||
void AddSC_disable_commandscript();
|
||||
void AddSC_event_commandscript();
|
||||
void AddSC_gm_commandscript();
|
||||
void AddSC_go_commandscript();
|
||||
void AddSC_gobject_commandscript();
|
||||
void AddSC_group_commandscript();
|
||||
void AddSC_guild_commandscript();
|
||||
void AddSC_honor_commandscript();
|
||||
void AddSC_instance_commandscript();
|
||||
void AddSC_learn_commandscript();
|
||||
void AddSC_lfg_commandscript();
|
||||
void AddSC_list_commandscript();
|
||||
void AddSC_lookup_commandscript();
|
||||
void AddSC_message_commandscript();
|
||||
void AddSC_misc_commandscript();
|
||||
void AddSC_mmaps_commandscript();
|
||||
void AddSC_modify_commandscript();
|
||||
void AddSC_npc_commandscript();
|
||||
void AddSC_pet_commandscript();
|
||||
void AddSC_quest_commandscript();
|
||||
void AddSC_rbac_commandscript();
|
||||
void AddSC_reload_commandscript();
|
||||
void AddSC_reset_commandscript();
|
||||
void AddSC_send_commandscript();
|
||||
void AddSC_server_commandscript();
|
||||
void AddSC_tele_commandscript();
|
||||
void AddSC_ticket_commandscript();
|
||||
void AddSC_titles_commandscript();
|
||||
void AddSC_wp_commandscript();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddCommandsScripts()
|
||||
{
|
||||
AddSC_account_commandscript();
|
||||
AddSC_achievement_commandscript();
|
||||
AddSC_ahbot_commandscript();
|
||||
AddSC_arena_commandscript();
|
||||
AddSC_ban_commandscript();
|
||||
AddSC_battlenet_account_commandscript();
|
||||
AddSC_bf_commandscript();
|
||||
AddSC_cast_commandscript();
|
||||
AddSC_character_commandscript();
|
||||
AddSC_cheat_commandscript();
|
||||
AddSC_debug_commandscript();
|
||||
AddSC_deserter_commandscript();
|
||||
AddSC_disable_commandscript();
|
||||
AddSC_event_commandscript();
|
||||
AddSC_gm_commandscript();
|
||||
AddSC_go_commandscript();
|
||||
AddSC_gobject_commandscript();
|
||||
AddSC_group_commandscript();
|
||||
AddSC_guild_commandscript();
|
||||
AddSC_honor_commandscript();
|
||||
AddSC_instance_commandscript();
|
||||
AddSC_learn_commandscript();
|
||||
AddSC_lookup_commandscript();
|
||||
AddSC_lfg_commandscript();
|
||||
AddSC_list_commandscript();
|
||||
AddSC_message_commandscript();
|
||||
AddSC_misc_commandscript();
|
||||
AddSC_mmaps_commandscript();
|
||||
AddSC_modify_commandscript();
|
||||
AddSC_npc_commandscript();
|
||||
AddSC_quest_commandscript();
|
||||
AddSC_pet_commandscript();
|
||||
AddSC_rbac_commandscript();
|
||||
AddSC_reload_commandscript();
|
||||
AddSC_reset_commandscript();
|
||||
AddSC_send_commandscript();
|
||||
AddSC_server_commandscript();
|
||||
AddSC_tele_commandscript();
|
||||
AddSC_ticket_commandscript();
|
||||
AddSC_titles_commandscript();
|
||||
AddSC_wp_commandscript();
|
||||
}
|
||||
@@ -98,7 +98,7 @@ public:
|
||||
ObjectGuid targetGuid = sObjectMgr->GetPlayerGUIDByName(target);
|
||||
uint32 accountId = sObjectMgr->GetPlayerAccountIdByGUID(targetGuid);
|
||||
// Target must exist and have administrative rights
|
||||
if (!AccountMgr::HasPermission(accountId, rbac::RBAC_PERM_COMMANDS_BE_ASSIGNED_TICKET, realmHandle.Index))
|
||||
if (!AccountMgr::HasPermission(accountId, rbac::RBAC_PERM_COMMANDS_BE_ASSIGNED_TICKET, realm.Id.Realm))
|
||||
{
|
||||
handler->SendSysMessage(LANG_COMMAND_TICKETASSIGNERROR_A);
|
||||
return true;
|
||||
@@ -122,7 +122,7 @@ public:
|
||||
|
||||
// Assign ticket
|
||||
SQLTransaction trans = SQLTransaction(NULL);
|
||||
ticket->SetAssignedTo(targetGuid, AccountMgr::IsAdminAccount(AccountMgr::GetSecurity(accountId, realmHandle.Index)));
|
||||
ticket->SetAssignedTo(targetGuid, AccountMgr::IsAdminAccount(AccountMgr::GetSecurity(accountId, realm.Id.Realm)));
|
||||
ticket->SaveToDB(trans);
|
||||
sTicketMgr->UpdateLastChange();
|
||||
|
||||
@@ -390,7 +390,7 @@ public:
|
||||
{
|
||||
ObjectGuid guid = ticket->GetAssignedToGUID();
|
||||
uint32 accountId = sObjectMgr->GetPlayerAccountIdByGUID(guid);
|
||||
security = AccountMgr::GetSecurity(accountId, realmHandle.Index);
|
||||
security = AccountMgr::GetSecurity(accountId, realm.Id.Realm);
|
||||
}
|
||||
|
||||
// Check security
|
||||
|
||||
@@ -564,29 +564,24 @@ public:
|
||||
// -> variable lowguid is filled with the GUID of the NPC
|
||||
uint32 pathid = 0;
|
||||
uint32 point = 0;
|
||||
uint32 wpGuid = 0;
|
||||
Creature* target = handler->getSelectedCreature();
|
||||
PreparedStatement* stmt = NULL;
|
||||
|
||||
// User did select a visual waypoint?
|
||||
if (!target || target->GetEntry() != VISUAL_WAYPOINT)
|
||||
{
|
||||
handler->SendSysMessage("|cffff33ffERROR: You must select a waypoint.|r");
|
||||
return false;
|
||||
}
|
||||
|
||||
// The visual waypoint
|
||||
wpGuid = target->GetGUID().GetCounter();
|
||||
|
||||
// User did select a visual waypoint?
|
||||
|
||||
// Check the creature
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_SEL_WAYPOINT_DATA_BY_WPGUID);
|
||||
stmt->setUInt32(0, wpGuid);
|
||||
stmt->setUInt32(0, target->GetSpawnId());
|
||||
PreparedQueryResult result = WorldDatabase.Query(stmt);
|
||||
|
||||
if (!result)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_WAYPOINT_NOTFOUNDSEARCH, target->GetGUID().GetCounter());
|
||||
handler->PSendSysMessage(LANG_WAYPOINT_NOTFOUNDSEARCH, target->GetSpawnId());
|
||||
// Select waypoint number from database
|
||||
// Since we compare float values, we have to deal with
|
||||
// some difficulties.
|
||||
@@ -602,11 +597,11 @@ public:
|
||||
stmt->setString(3, maxDiff);
|
||||
stmt->setFloat(4, target->GetPositionZ());
|
||||
stmt->setString(5, maxDiff);
|
||||
PreparedQueryResult queryResult = WorldDatabase.Query(stmt);
|
||||
result = WorldDatabase.Query(stmt);
|
||||
|
||||
if (!queryResult)
|
||||
if (!result)
|
||||
{
|
||||
handler->PSendSysMessage(LANG_WAYPOINT_NOTFOUNDDBPROBLEM, wpGuid);
|
||||
handler->PSendSysMessage(LANG_WAYPOINT_NOTFOUNDDBPROBLEM, target->GetSpawnId());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -634,13 +629,8 @@ public:
|
||||
{
|
||||
handler->PSendSysMessage("|cff00ff00DEBUG: wp modify del, PathID: |r|cff00ffff%u|r", pathid);
|
||||
|
||||
if (wpGuid != 0)
|
||||
if (Creature* wpCreature = handler->GetSession()->GetPlayer()->GetMap()->GetCreature(ObjectGuid(HighGuid::Unit, VISUAL_WAYPOINT, wpGuid)))
|
||||
{
|
||||
wpCreature->CombatStop();
|
||||
wpCreature->DeleteFromDB();
|
||||
wpCreature->AddObjectToRemoveList();
|
||||
}
|
||||
target->DeleteFromDB();
|
||||
target->AddObjectToRemoveList();
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_WAYPOINT_DATA);
|
||||
stmt->setUInt32(0, pathid);
|
||||
@@ -662,53 +652,42 @@ public:
|
||||
|
||||
Player* chr = handler->GetSession()->GetPlayer();
|
||||
Map* map = chr->GetMap();
|
||||
// What to do:
|
||||
// Move the visual spawnpoint
|
||||
// Respawn the owner of the waypoints
|
||||
target->DeleteFromDB();
|
||||
target->AddObjectToRemoveList();
|
||||
|
||||
// re-create
|
||||
Creature* wpCreature = new Creature();
|
||||
if (!wpCreature->Create(map->GenerateLowGuid<HighGuid::Unit>(), map, chr->GetPhaseMask(), VISUAL_WAYPOINT, chr->GetPositionX(), chr->GetPositionY(), chr->GetPositionZ(), chr->GetOrientation()))
|
||||
{
|
||||
// What to do:
|
||||
// Move the visual spawnpoint
|
||||
// Respawn the owner of the waypoints
|
||||
if (wpGuid != 0)
|
||||
{
|
||||
if (Creature* wpCreature = map->GetCreature(ObjectGuid(HighGuid::Unit, VISUAL_WAYPOINT, wpGuid)))
|
||||
{
|
||||
wpCreature->CombatStop();
|
||||
wpCreature->DeleteFromDB();
|
||||
wpCreature->AddObjectToRemoveList();
|
||||
}
|
||||
// re-create
|
||||
Creature* wpCreature2 = new Creature();
|
||||
if (!wpCreature2->Create(map->GenerateLowGuid<HighGuid::Unit>(), map, chr->GetPhaseMask(), VISUAL_WAYPOINT, chr->GetPositionX(), chr->GetPositionY(), chr->GetPositionZ(), chr->GetOrientation()))
|
||||
{
|
||||
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, VISUAL_WAYPOINT);
|
||||
delete wpCreature2;
|
||||
wpCreature2 = NULL;
|
||||
return false;
|
||||
}
|
||||
|
||||
wpCreature2->CopyPhaseFrom(chr);
|
||||
|
||||
wpCreature2->SaveToDB(map->GetId(), (1 << map->GetSpawnMode()), chr->GetPhaseMask());
|
||||
// To call _LoadGoods(); _LoadQuests(); CreateTrainerSpells();
|
||||
/// @todo Should we first use "Create" then use "LoadFromDB"?
|
||||
if (!wpCreature2->LoadCreatureFromDB(wpCreature2->GetSpawnId(), map))
|
||||
{
|
||||
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, VISUAL_WAYPOINT);
|
||||
delete wpCreature2;
|
||||
wpCreature2 = NULL;
|
||||
return false;
|
||||
}
|
||||
//sMapMgr->GetMap(npcCreature->GetMapId())->Add(wpCreature2);
|
||||
}
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_UPD_WAYPOINT_DATA_POSITION);
|
||||
stmt->setFloat(0, chr->GetPositionX());
|
||||
stmt->setFloat(1, chr->GetPositionY());
|
||||
stmt->setFloat(2, chr->GetPositionZ());
|
||||
stmt->setUInt32(3, pathid);
|
||||
stmt->setUInt32(4, point);
|
||||
WorldDatabase.Execute(stmt);
|
||||
|
||||
handler->PSendSysMessage(LANG_WAYPOINT_CHANGED);
|
||||
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, VISUAL_WAYPOINT);
|
||||
delete wpCreature;
|
||||
return false;
|
||||
}
|
||||
|
||||
wpCreature->CopyPhaseFrom(chr);
|
||||
|
||||
wpCreature->SaveToDB(map->GetId(), (1 << map->GetSpawnMode()), chr->GetPhaseMask());
|
||||
// To call _LoadGoods(); _LoadQuests(); CreateTrainerSpells();
|
||||
/// @todo Should we first use "Create" then use "LoadFromDB"?
|
||||
if (!wpCreature->LoadCreatureFromDB(wpCreature->GetSpawnId(), map))
|
||||
{
|
||||
handler->PSendSysMessage(LANG_WAYPOINT_VP_NOTCREATED, VISUAL_WAYPOINT);
|
||||
delete wpCreature;
|
||||
return false;
|
||||
}
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_UPD_WAYPOINT_DATA_POSITION);
|
||||
stmt->setFloat(0, chr->GetPositionX());
|
||||
stmt->setFloat(1, chr->GetPositionY());
|
||||
stmt->setFloat(2, chr->GetPositionZ());
|
||||
stmt->setUInt32(3, pathid);
|
||||
stmt->setUInt32(4, point);
|
||||
WorldDatabase.Execute(stmt);
|
||||
|
||||
handler->PSendSysMessage(LANG_WAYPOINT_CHANGED);
|
||||
return true;
|
||||
} // move
|
||||
|
||||
@@ -906,7 +885,7 @@ public:
|
||||
|
||||
// Set "wpguid" column to the visual waypoint
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_UPD_WAYPOINT_DATA_WPGUID);
|
||||
stmt->setInt32(0, int32(wpCreature->GetGUID().GetCounter()));
|
||||
stmt->setInt32(0, int32(wpCreature->GetSpawnId()));
|
||||
stmt->setUInt32(1, pathid);
|
||||
stmt->setUInt32(2, point);
|
||||
WorldDatabase.Execute(stmt);
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
# file(GLOB_RECURSE sources_Custom Custom/*.cpp Custom/*.h)
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
# ${sources_Custom}
|
||||
)
|
||||
|
||||
message(" -> Prepared: Custom")
|
||||
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddCustomScripts()
|
||||
{
|
||||
}
|
||||
+7
-70
@@ -508,19 +508,11 @@ public:
|
||||
};
|
||||
|
||||
// npc_lokhtos_darkbargainer
|
||||
enum LokhtosItems
|
||||
enum Lokhtos
|
||||
{
|
||||
QUEST_A_BINDING_CONTRACT = 7604,
|
||||
ITEM_SULFURON_INGOT = 17203,
|
||||
ITEM_THRORIUM_BROTHERHOOD_CONTRACT = 18628,
|
||||
ITEM_SULFURON_INGOT = 17203
|
||||
};
|
||||
|
||||
enum LokhtosQuests
|
||||
{
|
||||
QUEST_A_BINDING_CONTRACT = 7604
|
||||
};
|
||||
|
||||
enum LokhtosSpells
|
||||
{
|
||||
SPELL_CREATE_THORIUM_BROTHERHOOD_CONTRACT_DND = 23059
|
||||
};
|
||||
|
||||
@@ -570,67 +562,12 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
// npc_dughal_stormwing
|
||||
enum DughalQuests
|
||||
{
|
||||
QUEST_JAIL_BREAK = 4322
|
||||
};
|
||||
|
||||
#define SAY_DUGHAL_FREE "Thank you, $N! I'm free!!!"
|
||||
#define GOSSIP_DUGHAL "You're free, Dughal! Get out of here!"
|
||||
|
||||
// npc_marshal_windsor
|
||||
#define SAY_WINDSOR_AGGRO1 "You locked up the wrong Marshal. Prepare to be destroyed!"
|
||||
#define SAY_WINDSOR_AGGRO2 "I bet you're sorry now, aren't you !?!!"
|
||||
#define SAY_WINDSOR_AGGRO3 "You better hold me back $N or they are going to feel some prison house beatings."
|
||||
#define SAY_WINDSOR_1 "Let's get a move on. My gear should be in the storage area up this way..."
|
||||
#define SAY_WINDSOR_4_1 "Check that cell, $N. If someone is alive in there, we need to get them out."
|
||||
#define SAY_WINDSOR_4_2 "Get him out of there!"
|
||||
#define SAY_WINDSOR_4_3 "Good work! We're almost there, $N. This way."
|
||||
#define SAY_WINDSOR_6 "This is it, $N. My stuff should be in that room. Cover me, I'm going in!"
|
||||
#define SAY_WINDSOR_9 "Ah, there it is!"
|
||||
|
||||
enum MarshalWindsor
|
||||
{
|
||||
NPC_REGINALD_WINDSOR = 9682
|
||||
};
|
||||
|
||||
// npc_marshal_reginald_windsor
|
||||
#define SAY_REGINALD_WINDSOR_0_1 "Can you feel the power, $N??? It's time to ROCK!"
|
||||
#define SAY_REGINALD_WINDSOR_0_2 "Now we just have to free Tobias and we can get out of here. This way!"
|
||||
#define SAY_REGINALD_WINDSOR_5_1 "Open it."
|
||||
#define SAY_REGINALD_WINDSOR_5_2 "I never did like those two. Let's get moving."
|
||||
#define SAY_REGINALD_WINDSOR_7_1 "Open it and be careful this time!"
|
||||
#define SAY_REGINALD_WINDSOR_7_2 "That intolerant dirtbag finally got what was coming to him. Good riddance!"
|
||||
#define SAY_REGINALD_WINDSOR_7_3 "Alright, let's go."
|
||||
#define SAY_REGINALD_WINDSOR_13_1 "Open it. We need to hurry up. I can smell those Dark Irons coming a mile away and I can tell you one thing, they're COMING!"
|
||||
#define SAY_REGINALD_WINDSOR_13_2 "Administering fists of fury on Crest Killer!"
|
||||
#define SAY_REGINALD_WINDSOR_13_3 "He has to be in the last cell. Unless... they killed him."
|
||||
#define SAY_REGINALD_WINDSOR_14_1 "Get him out of there!"
|
||||
#define SAY_REGINALD_WINDSOR_14_2 "Excellent work, $N. Let's find the exit. I think I know the way. Follow me!"
|
||||
#define SAY_REGINALD_WINDSOR_20_1 "We made it!"
|
||||
#define SAY_REGINALD_WINDSOR_20_2 "Meet me at Maxwell's encampment. We'll go over the next stages of the plan there and figure out a way to decode my tablets without the decryption ring."
|
||||
|
||||
enum MarshalReginaldWindor
|
||||
{
|
||||
NPC_SHILL_DINGER = 9678,
|
||||
NPC_CREST_KILLER = 9680
|
||||
};
|
||||
|
||||
// npc_rocknot
|
||||
enum RocknotSays
|
||||
enum Rocknot
|
||||
{
|
||||
SAY_GOT_BEER = 0
|
||||
};
|
||||
|
||||
enum RocknotSpells
|
||||
{
|
||||
SPELL_DRUNKEN_RAGE = 14872
|
||||
};
|
||||
|
||||
enum RocknotQuests
|
||||
{
|
||||
QUEST_ALE = 4295
|
||||
SAY_GOT_BEER = 0,
|
||||
QUEST_ALE = 4295,
|
||||
SPELL_DRUNKEN_RAGE = 14872
|
||||
};
|
||||
|
||||
class npc_rocknot : public CreatureScript
|
||||
|
||||
@@ -1,212 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
EasternKingdoms/zone_ghostlands.cpp
|
||||
EasternKingdoms/AlteracValley/boss_galvangar.cpp
|
||||
EasternKingdoms/AlteracValley/boss_balinda.cpp
|
||||
EasternKingdoms/AlteracValley/boss_drekthar.cpp
|
||||
EasternKingdoms/AlteracValley/boss_vanndar.cpp
|
||||
EasternKingdoms/AlteracValley/alterac_valley.cpp
|
||||
EasternKingdoms/BaradinHold/boss_alizabal.cpp
|
||||
EasternKingdoms/BaradinHold/boss_occuthar.cpp
|
||||
EasternKingdoms/BaradinHold/boss_pit_lord_argaloth.cpp
|
||||
EasternKingdoms/BaradinHold/instance_baradin_hold.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_romogg_bonecrusher.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_corla.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_karsh_steelbender.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_beauty.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_ascendant_lord_obsidius.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.h
|
||||
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_high_interrogator_gerstahn.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_general_angerforge.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_ambassador_flamelash.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_moira_bronzebeard.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.h
|
||||
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_magmus.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackwingLair/blackwing_lair.h
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_drakkisath.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_mother_smolderweb.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_quartermaster_zigris.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_halycon.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_overlord_wyrmthalak.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_shadow_hunter_voshgajin.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_highlord_omokk.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_the_beast.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_urok_doomhowl.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h
|
||||
EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/boss_gehennas.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/boss_lucifron.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/boss_baron_geddon.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/boss_garr.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/molten_core.h
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/boss_sulfuron_harbinger.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/boss_magmadar.cpp
|
||||
EasternKingdoms/BlackrockMountain/MoltenCore/boss_shazzrah.cpp
|
||||
EasternKingdoms/Scholomance/boss_the_ravenian.cpp
|
||||
EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
|
||||
EasternKingdoms/Scholomance/boss_death_knight_darkreaver.cpp
|
||||
EasternKingdoms/Scholomance/boss_illucia_barov.cpp
|
||||
EasternKingdoms/Scholomance/scholomance.h
|
||||
EasternKingdoms/Scholomance/boss_vectus.cpp
|
||||
EasternKingdoms/Scholomance/boss_jandice_barov.cpp
|
||||
EasternKingdoms/Scholomance/boss_kormok.cpp
|
||||
EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
|
||||
EasternKingdoms/Scholomance/boss_doctor_theolen_krastinov.cpp
|
||||
EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
|
||||
EasternKingdoms/Scholomance/instance_scholomance.cpp
|
||||
EasternKingdoms/Scholomance/boss_lorekeeper_polkelt.cpp
|
||||
EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
|
||||
EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
|
||||
EasternKingdoms/zone_isle_of_queldanas.cpp
|
||||
EasternKingdoms/ZulGurub/boss_grilek.cpp
|
||||
EasternKingdoms/ZulGurub/boss_hazzarah.cpp
|
||||
EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp
|
||||
EasternKingdoms/ZulGurub/boss_kilnara.cpp
|
||||
EasternKingdoms/ZulGurub/boss_mandokir.cpp
|
||||
EasternKingdoms/ZulGurub/boss_renataki.cpp
|
||||
EasternKingdoms/ZulGurub/boss_venoxis.cpp
|
||||
EasternKingdoms/ZulGurub/boss_wushoolay.cpp
|
||||
EasternKingdoms/ZulGurub/boss_zanzil.cpp
|
||||
EasternKingdoms/ZulGurub/instance_zulgurub.cpp
|
||||
EasternKingdoms/ZulGurub/zulgurub.h
|
||||
EasternKingdoms/zone_wetlands.cpp
|
||||
EasternKingdoms/zone_arathi_highlands.cpp
|
||||
EasternKingdoms/Gnomeregan/instance_gnomeregan.cpp
|
||||
EasternKingdoms/Gnomeregan/gnomeregan.cpp
|
||||
EasternKingdoms/Gnomeregan/gnomeregan.h
|
||||
EasternKingdoms/zone_redridge_mountains.cpp
|
||||
EasternKingdoms/ScarletEnclave/chapter2.cpp
|
||||
EasternKingdoms/ScarletEnclave/chapter5.cpp
|
||||
EasternKingdoms/ScarletEnclave/chapter1.cpp
|
||||
EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
|
||||
EasternKingdoms/zone_eastern_plaguelands.cpp
|
||||
EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
|
||||
EasternKingdoms/Stratholme/boss_nerubenkan.cpp
|
||||
EasternKingdoms/Stratholme/instance_stratholme.cpp
|
||||
EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
|
||||
EasternKingdoms/Stratholme/boss_timmy_the_cruel.cpp
|
||||
EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
|
||||
EasternKingdoms/Stratholme/boss_magistrate_barthilas.cpp
|
||||
EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
|
||||
EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
|
||||
EasternKingdoms/Stratholme/boss_cannon_master_willey.cpp
|
||||
EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
|
||||
EasternKingdoms/Stratholme/boss_postmaster_malown.cpp
|
||||
EasternKingdoms/Stratholme/stratholme.h
|
||||
EasternKingdoms/Stratholme/stratholme.cpp
|
||||
EasternKingdoms/zone_tirisfal_glades.cpp
|
||||
EasternKingdoms/SunkenTemple/sunken_temple.cpp
|
||||
EasternKingdoms/SunkenTemple/sunken_temple.h
|
||||
EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
|
||||
EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
|
||||
EasternKingdoms/MagistersTerrace/magisters_terrace.h
|
||||
EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
|
||||
EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp
|
||||
EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
|
||||
EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
|
||||
EasternKingdoms/MagistersTerrace/magisters_terrace.cpp
|
||||
EasternKingdoms/Uldaman/uldaman.cpp
|
||||
EasternKingdoms/Uldaman/boss_ironaya.cpp
|
||||
EasternKingdoms/Uldaman/uldaman.h
|
||||
EasternKingdoms/Uldaman/instance_uldaman.cpp
|
||||
EasternKingdoms/Uldaman/boss_archaedas.cpp
|
||||
EasternKingdoms/zone_swamp_of_sorrows.cpp
|
||||
EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
|
||||
EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
|
||||
EasternKingdoms/SunwellPlateau/sunwell_plateau.h
|
||||
EasternKingdoms/SunwellPlateau/boss_muru.cpp
|
||||
EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp
|
||||
EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
|
||||
EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
|
||||
EasternKingdoms/SunwellPlateau/sunwell_plateau.cpp
|
||||
EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
|
||||
EasternKingdoms/zone_stranglethorn_vale.cpp
|
||||
EasternKingdoms/Deadmines/deadmines.h
|
||||
EasternKingdoms/Deadmines/deadmines.cpp
|
||||
EasternKingdoms/Deadmines/boss_mr_smite.cpp
|
||||
EasternKingdoms/Deadmines/instance_deadmines.cpp
|
||||
EasternKingdoms/zone_duskwood.cpp
|
||||
EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
|
||||
EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
|
||||
EasternKingdoms/ScarletMonastery/boss_bloodmage_thalnos.cpp
|
||||
EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
|
||||
EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
|
||||
EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp
|
||||
EasternKingdoms/ScarletMonastery/boss_houndmaster_loksey.cpp
|
||||
EasternKingdoms/ScarletMonastery/scarlet_monastery.h
|
||||
EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
|
||||
EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
|
||||
EasternKingdoms/ScarletMonastery/boss_herod.cpp
|
||||
EasternKingdoms/ScarletMonastery/boss_scorn.cpp
|
||||
EasternKingdoms/zone_undercity.cpp
|
||||
EasternKingdoms/zone_loch_modan.cpp
|
||||
EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
|
||||
EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp
|
||||
EasternKingdoms/ShadowfangKeep/shadowfang_keep.h
|
||||
EasternKingdoms/zone_burning_steppes.cpp
|
||||
EasternKingdoms/zone_blasted_lands.cpp
|
||||
EasternKingdoms/zone_stormwind_city.cpp
|
||||
EasternKingdoms/ZulAman/boss_halazzi.cpp
|
||||
EasternKingdoms/ZulAman/boss_hexlord.cpp
|
||||
EasternKingdoms/ZulAman/boss_daakara.cpp
|
||||
EasternKingdoms/ZulAman/boss_akilzon.cpp
|
||||
EasternKingdoms/ZulAman/instance_zulaman.cpp
|
||||
EasternKingdoms/ZulAman/boss_janalai.cpp
|
||||
EasternKingdoms/ZulAman/boss_nalorakk.cpp
|
||||
EasternKingdoms/ZulAman/zulaman.cpp
|
||||
EasternKingdoms/ZulAman/zulaman.h
|
||||
EasternKingdoms/zone_hinterlands.cpp
|
||||
EasternKingdoms/zone_western_plaguelands.cpp
|
||||
EasternKingdoms/zone_silverpine_forest.cpp
|
||||
EasternKingdoms/Karazhan/instance_karazhan.cpp
|
||||
EasternKingdoms/Karazhan/boss_nightbane.cpp
|
||||
EasternKingdoms/Karazhan/karazhan.cpp
|
||||
EasternKingdoms/Karazhan/boss_curator.cpp
|
||||
EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
|
||||
EasternKingdoms/Karazhan/boss_netherspite.cpp
|
||||
EasternKingdoms/Karazhan/boss_maiden_of_virtue.cpp
|
||||
EasternKingdoms/Karazhan/boss_midnight.cpp
|
||||
EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
|
||||
EasternKingdoms/Karazhan/bosses_opera.cpp
|
||||
EasternKingdoms/Karazhan/boss_moroes.cpp
|
||||
EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
|
||||
EasternKingdoms/Karazhan/karazhan.h
|
||||
EasternKingdoms/TheStockade/instance_the_stockade.cpp
|
||||
)
|
||||
|
||||
message(" -> Prepared: Eastern Kingdoms")
|
||||
@@ -59,6 +59,7 @@ class instance_deadmines : public InstanceMapScript
|
||||
State = CANNON_NOT_USED;
|
||||
CannonBlast_Timer = 0;
|
||||
PiratesDelay_Timer = 0;
|
||||
SmiteAlarmDelay_Timer = 0;
|
||||
}
|
||||
|
||||
ObjectGuid FactoryDoorGUID;
|
||||
|
||||
@@ -50,19 +50,9 @@ class boss_maiden_of_virtue : public CreatureScript
|
||||
public:
|
||||
boss_maiden_of_virtue() : CreatureScript("boss_maiden_of_virtue") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new boss_maiden_of_virtueAI(creature);
|
||||
}
|
||||
|
||||
struct boss_maiden_of_virtueAI : public BossAI
|
||||
{
|
||||
boss_maiden_of_virtueAI(Creature* creature) : BossAI(creature, TYPE_MAIDEN) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
_Reset();
|
||||
}
|
||||
boss_maiden_of_virtueAI(Creature* creature) : BossAI(creature, DATA_MAIDEN_OF_VIRTUE) { }
|
||||
|
||||
void KilledUnit(Unit* /*Victim*/) override
|
||||
{
|
||||
@@ -132,6 +122,11 @@ public:
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new boss_maiden_of_virtueAI(creature);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_maiden_of_virtue()
|
||||
|
||||
@@ -26,6 +26,7 @@ EndScriptData */
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "karazhan.h"
|
||||
|
||||
enum Midnight
|
||||
{
|
||||
@@ -109,6 +110,9 @@ public:
|
||||
Talk(SAY_DEATH);
|
||||
if (Unit* midnight = ObjectAccessor::GetUnit(*me, Midnight))
|
||||
midnight->KillSelf();
|
||||
|
||||
if (InstanceScript* instance = me->GetInstanceScript())
|
||||
instance->SetBossState(DATA_ATTUMEN, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override;
|
||||
@@ -157,7 +161,11 @@ public:
|
||||
me->SetVisible(true);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/) override { }
|
||||
void EnterCombat(Unit* /*who*/) override
|
||||
{
|
||||
if (InstanceScript* instance = me->GetInstanceScript())
|
||||
instance->SetBossState(DATA_ATTUMEN, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
|
||||
@@ -143,12 +143,12 @@ public:
|
||||
if (me->IsAlive())
|
||||
SpawnAdds();
|
||||
|
||||
instance->SetData(TYPE_MOROES, NOT_STARTED);
|
||||
instance->SetBossState(DATA_MOROES, NOT_STARTED);
|
||||
}
|
||||
|
||||
void StartEvent()
|
||||
{
|
||||
instance->SetData(TYPE_MOROES, IN_PROGRESS);
|
||||
instance->SetBossState(DATA_MOROES, IN_PROGRESS);
|
||||
|
||||
DoZoneInCombat();
|
||||
}
|
||||
@@ -171,7 +171,7 @@ public:
|
||||
{
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
instance->SetData(TYPE_MOROES, DONE);
|
||||
instance->SetBossState(DATA_MOROES, DONE);
|
||||
|
||||
DeSpawnAdds();
|
||||
|
||||
@@ -257,12 +257,6 @@ public:
|
||||
if (!UpdateVictim())
|
||||
return;
|
||||
|
||||
if (!instance->GetData(TYPE_MOROES))
|
||||
{
|
||||
EnterEvadeMode();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Enrage && HealthBelowPct(30))
|
||||
{
|
||||
DoCast(me, SPELL_FRENZY);
|
||||
@@ -347,7 +341,7 @@ struct boss_moroes_guestAI : public ScriptedAI
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
instance->SetData(TYPE_MOROES, NOT_STARTED);
|
||||
instance->SetBossState(DATA_MOROES, NOT_STARTED);
|
||||
}
|
||||
|
||||
void AcquireGUID()
|
||||
@@ -373,7 +367,7 @@ struct boss_moroes_guestAI : public ScriptedAI
|
||||
|
||||
void UpdateAI(uint32 /*diff*/) override
|
||||
{
|
||||
if (!instance->GetData(TYPE_MOROES))
|
||||
if (instance->GetBossState(DATA_MOROES) != IN_PROGRESS)
|
||||
EnterEvadeMode();
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
@@ -143,10 +143,10 @@ public:
|
||||
me->SetWalk(false);
|
||||
me->setActive(true);
|
||||
|
||||
if (instance->GetData(TYPE_NIGHTBANE) == DONE || instance->GetData(TYPE_NIGHTBANE) == IN_PROGRESS)
|
||||
if (instance->GetBossState(DATA_NIGHTBANE) == DONE || instance->GetBossState(DATA_NIGHTBANE) == IN_PROGRESS)
|
||||
me->DisappearAndDie();
|
||||
else
|
||||
instance->SetData(TYPE_NIGHTBANE, NOT_STARTED);
|
||||
instance->SetBossState(DATA_NIGHTBANE, NOT_STARTED);
|
||||
|
||||
HandleTerraceDoors(true);
|
||||
|
||||
@@ -165,10 +165,10 @@ public:
|
||||
|
||||
void EnterCombat(Unit* /*who*/) override
|
||||
{
|
||||
instance->SetData(TYPE_NIGHTBANE, IN_PROGRESS);
|
||||
instance->SetBossState(DATA_NIGHTBANE, IN_PROGRESS);
|
||||
|
||||
HandleTerraceDoors(false);
|
||||
Talk(YELL_AGGRO);
|
||||
Talk(YELL_AGGRO);
|
||||
}
|
||||
|
||||
void AttackStart(Unit* who) override
|
||||
@@ -179,7 +179,7 @@ public:
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
instance->SetData(TYPE_NIGHTBANE, DONE);
|
||||
instance->SetBossState(DATA_NIGHTBANE, DONE);
|
||||
|
||||
HandleTerraceDoors(true);
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ public:
|
||||
Initialize();
|
||||
|
||||
// Not in progress
|
||||
instance->SetData(TYPE_ARAN, NOT_STARTED);
|
||||
instance->SetBossState(DATA_ARAN, NOT_STARTED);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), true);
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ public:
|
||||
{
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
instance->SetData(TYPE_ARAN, DONE);
|
||||
instance->SetBossState(DATA_ARAN, DONE);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), true);
|
||||
}
|
||||
|
||||
@@ -175,7 +175,7 @@ public:
|
||||
{
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
instance->SetData(TYPE_ARAN, IN_PROGRESS);
|
||||
instance->SetBossState(DATA_ARAN, IN_PROGRESS);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_LIBRARY_DOOR), false);
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,6 @@ enum Creatures
|
||||
NPC_DEMONCHAINS = 17248,
|
||||
NPC_FIENDISHIMP = 17267,
|
||||
NPC_PORTAL = 17265,
|
||||
NPC_KILREK = 17229
|
||||
};
|
||||
|
||||
class npc_kilrek : public CreatureScript
|
||||
@@ -315,7 +314,7 @@ public:
|
||||
|
||||
Initialize();
|
||||
|
||||
instance->SetData(TYPE_TERESTIAN, NOT_STARTED);
|
||||
instance->SetBossState(DATA_TERESTIAN, NOT_STARTED);
|
||||
|
||||
me->RemoveAurasDueToSpell(SPELL_BROKEN_PACT);
|
||||
|
||||
@@ -370,7 +369,7 @@ public:
|
||||
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
instance->SetData(TYPE_TERESTIAN, DONE);
|
||||
instance->SetBossState(DATA_TERESTIAN, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
|
||||
@@ -708,13 +708,7 @@ public:
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
Talk(SAY_CRONE_DEATH);
|
||||
|
||||
instance->SetData(TYPE_OPERA, DONE);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORLEFT), true);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORRIGHT), true);
|
||||
|
||||
if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetGuidData(DATA_GO_SIDE_ENTRANCE_DOOR)))
|
||||
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
instance->SetBossState(DATA_OPERA_PERFORMANCE, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -908,13 +902,7 @@ public:
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
DoPlaySoundToSet(me, SOUND_WOLF_DEATH);
|
||||
|
||||
instance->SetData(TYPE_OPERA, DONE);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORLEFT), true);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORRIGHT), true);
|
||||
|
||||
if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetGuidData(DATA_GO_SIDE_ENTRANCE_DOOR)))
|
||||
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
instance->SetBossState(DATA_OPERA_PERFORMANCE, DONE);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -1158,12 +1146,7 @@ public:
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
Talk(SAY_JULIANNE_DEATH02);
|
||||
|
||||
instance->SetData(TYPE_OPERA, DONE);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORLEFT), true);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORRIGHT), true);
|
||||
if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetGuidData(DATA_GO_SIDE_ENTRANCE_DOOR)))
|
||||
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
instance->SetBossState(DATA_OPERA_PERFORMANCE, DONE);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
@@ -1316,13 +1299,7 @@ public:
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
Talk(SAY_ROMULO_DEATH);
|
||||
|
||||
instance->SetData(TYPE_OPERA, DONE);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORLEFT), true);
|
||||
instance->HandleGameObject(instance->GetGuidData(DATA_GO_STAGEDOORRIGHT), true);
|
||||
|
||||
if (GameObject* pSideEntrance = instance->instance->GetGameObject(instance->GetGuidData(DATA_GO_SIDE_ENTRANCE_DOOR)))
|
||||
pSideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
instance->SetBossState(DATA_OPERA_PERFORMANCE, DONE);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
|
||||
@@ -27,8 +27,6 @@ EndScriptData */
|
||||
#include "InstanceScript.h"
|
||||
#include "karazhan.h"
|
||||
|
||||
#define MAX_ENCOUNTER 12
|
||||
|
||||
/*
|
||||
0 - Attumen + Midnight (optional)
|
||||
1 - Moroes
|
||||
@@ -47,8 +45,8 @@ EndScriptData */
|
||||
const Position OptionalSpawn[] =
|
||||
{
|
||||
{ -10960.981445f, -1940.138428f, 46.178097f, 4.12f }, // Hyakiss the Lurker
|
||||
{ -10899.903320f, -2085.573730f, 49.474449f, 1.38f }, // Rokad the Ravager
|
||||
{ -10945.769531f, -2040.153320f, 49.474438f, 0.077f } // Shadikith the Glider
|
||||
{ -10945.769531f, -2040.153320f, 49.474438f, 0.077f }, // Shadikith the Glider
|
||||
{ -10899.903320f, -2085.573730f, 49.474449f, 1.38f } // Rokad the Ravager
|
||||
};
|
||||
|
||||
class instance_karazhan : public InstanceMapScript
|
||||
@@ -66,53 +64,27 @@ public:
|
||||
instance_karazhan_InstanceMapScript(Map* map) : InstanceScript(map)
|
||||
{
|
||||
SetHeaders(DataHeader);
|
||||
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
|
||||
SetBossNumber(EncounterCount);
|
||||
|
||||
// 1 - OZ, 2 - HOOD, 3 - RAJ, this never gets altered.
|
||||
m_uiOperaEvent = urand(1, 3);
|
||||
m_uiOzDeathCount = 0;
|
||||
OperaEvent = urand(EVENT_OZ, EVENT_RAJ);
|
||||
OzDeathCount = 0;
|
||||
OptionalBossCount = 0;
|
||||
}
|
||||
|
||||
uint32 m_auiEncounter[MAX_ENCOUNTER];
|
||||
std::string strSaveData;
|
||||
|
||||
uint32 m_uiOperaEvent;
|
||||
uint32 m_uiOzDeathCount;
|
||||
uint32 OptionalBossCount;
|
||||
|
||||
ObjectGuid m_uiCurtainGUID;
|
||||
ObjectGuid m_uiStageDoorLeftGUID;
|
||||
ObjectGuid m_uiStageDoorRightGUID;
|
||||
ObjectGuid m_uiKilrekGUID;
|
||||
ObjectGuid m_uiTerestianGUID;
|
||||
ObjectGuid m_uiMoroesGUID;
|
||||
ObjectGuid m_uiLibraryDoor; // Door at Shade of Aran
|
||||
ObjectGuid m_uiMassiveDoor; // Door at Netherspite
|
||||
ObjectGuid m_uiSideEntranceDoor; // Side Entrance
|
||||
ObjectGuid m_uiGamesmansDoor; // Door before Chess
|
||||
ObjectGuid m_uiGamesmansExitDoor; // Door after Chess
|
||||
ObjectGuid m_uiNetherspaceDoor; // Door at Malchezaar
|
||||
ObjectGuid MastersTerraceDoor[2];
|
||||
ObjectGuid ImageGUID;
|
||||
ObjectGuid DustCoveredChest;
|
||||
|
||||
bool IsEncounterInProgress() const override
|
||||
{
|
||||
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
|
||||
if (m_auiEncounter[i] == IN_PROGRESS)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void OnCreatureCreate(Creature* creature) override
|
||||
{
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case 17229: m_uiKilrekGUID = creature->GetGUID(); break;
|
||||
case 15688: m_uiTerestianGUID = creature->GetGUID(); break;
|
||||
case 15687: m_uiMoroesGUID = creature->GetGUID(); break;
|
||||
case NPC_KILREK:
|
||||
KilrekGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_TERESTIAN_ILLHOOF:
|
||||
TerestianGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_MOROES:
|
||||
MoroesGUID = creature->GetGUID();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,130 +104,129 @@ public:
|
||||
case NPC_PHASE_HOUND:
|
||||
case NPC_DREADBEAST:
|
||||
case NPC_SHADOWBEAST:
|
||||
SetData(TYPE_OPTIONAL_BOSS, NOT_STARTED);
|
||||
if (GetBossState(DATA_OPTIONAL_BOSS) == TO_BE_DECIDED)
|
||||
{
|
||||
++OptionalBossCount;
|
||||
if (OptionalBossCount == OPTIONAL_BOSS_REQUIRED_DEATH_COUNT)
|
||||
{
|
||||
switch (urand(NPC_HYAKISS_THE_LURKER, NPC_ROKAD_THE_RAVAGER))
|
||||
{
|
||||
case NPC_HYAKISS_THE_LURKER:
|
||||
instance->SummonCreature(NPC_HYAKISS_THE_LURKER, OptionalSpawn[0]);
|
||||
break;
|
||||
case NPC_SHADIKITH_THE_GLIDER:
|
||||
instance->SummonCreature(NPC_SHADIKITH_THE_GLIDER, OptionalSpawn[1]);
|
||||
break;
|
||||
case NPC_ROKAD_THE_RAVAGER:
|
||||
instance->SummonCreature(NPC_ROKAD_THE_RAVAGER, OptionalSpawn[2]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 uiData) override
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case TYPE_ATTUMEN: m_auiEncounter[0] = uiData; break;
|
||||
case TYPE_MOROES:
|
||||
if (m_auiEncounter[1] == DONE)
|
||||
break;
|
||||
m_auiEncounter[1] = uiData;
|
||||
break;
|
||||
case TYPE_MAIDEN: m_auiEncounter[2] = uiData; break;
|
||||
case TYPE_OPTIONAL_BOSS:
|
||||
m_auiEncounter[3] = uiData;
|
||||
if (uiData == NOT_STARTED)
|
||||
{
|
||||
++OptionalBossCount;
|
||||
if (OptionalBossCount == 50)
|
||||
{
|
||||
switch (urand(0, 2))
|
||||
{
|
||||
case 0:
|
||||
instance->SummonCreature(NPC_HYAKISS_THE_LURKER, OptionalSpawn[0]);
|
||||
break;
|
||||
case 1:
|
||||
instance->SummonCreature(NPC_ROKAD_THE_RAVAGER, OptionalSpawn[1]);
|
||||
break;
|
||||
case 2:
|
||||
instance->SummonCreature(NPC_SHADIKITH_THE_GLIDER, OptionalSpawn[2]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case TYPE_OPERA:
|
||||
m_auiEncounter[4] = uiData;
|
||||
if (uiData == DONE)
|
||||
UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, 16812, NULL);
|
||||
break;
|
||||
case TYPE_CURATOR: m_auiEncounter[5] = uiData; break;
|
||||
case TYPE_ARAN: m_auiEncounter[6] = uiData; break;
|
||||
case TYPE_TERESTIAN: m_auiEncounter[7] = uiData; break;
|
||||
case TYPE_NETHERSPITE: m_auiEncounter[8] = uiData; break;
|
||||
case TYPE_CHESS:
|
||||
if (uiData == DONE)
|
||||
DoRespawnGameObject(DustCoveredChest, DAY);
|
||||
m_auiEncounter[9] = uiData;
|
||||
break;
|
||||
case TYPE_MALCHEZZAR: m_auiEncounter[10] = uiData; break;
|
||||
case TYPE_NIGHTBANE:
|
||||
if (m_auiEncounter[11] != DONE)
|
||||
m_auiEncounter[11] = uiData;
|
||||
break;
|
||||
case DATA_OPERA_OZ_DEATHCOUNT:
|
||||
if (uiData == SPECIAL)
|
||||
++m_uiOzDeathCount;
|
||||
else if (uiData == IN_PROGRESS)
|
||||
m_uiOzDeathCount = 0;
|
||||
if (data == SPECIAL)
|
||||
++OzDeathCount;
|
||||
else if (data == IN_PROGRESS)
|
||||
OzDeathCount = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (uiData == DONE)
|
||||
{
|
||||
OUT_SAVE_INST_DATA;
|
||||
|
||||
std::ostringstream saveStream;
|
||||
saveStream << m_auiEncounter[0] << ' ' << m_auiEncounter[1] << ' ' << m_auiEncounter[2] << ' '
|
||||
<< m_auiEncounter[3] << ' ' << m_auiEncounter[4] << ' ' << m_auiEncounter[5] << ' ' << m_auiEncounter[6] << ' '
|
||||
<< m_auiEncounter[7] << ' ' << m_auiEncounter[8] << ' ' << m_auiEncounter[9] << ' ' << m_auiEncounter[10] << ' ' << m_auiEncounter[11];
|
||||
|
||||
strSaveData = saveStream.str();
|
||||
|
||||
SaveToDB();
|
||||
OUT_SAVE_INST_DATA_COMPLETE;
|
||||
}
|
||||
}
|
||||
|
||||
void SetGuidData(uint32 identifier, ObjectGuid data) override
|
||||
bool SetBossState(uint32 type, EncounterState state) override
|
||||
{
|
||||
if (!InstanceScript::SetBossState(type, state))
|
||||
return false;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case DATA_OPERA_PERFORMANCE:
|
||||
if (state == DONE)
|
||||
{
|
||||
HandleGameObject(StageDoorLeftGUID, true);
|
||||
HandleGameObject(StageDoorRightGUID, true);
|
||||
if (GameObject* sideEntrance = instance->GetGameObject(SideEntranceDoor))
|
||||
sideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, 16812, NULL);
|
||||
}
|
||||
break;
|
||||
case DATA_CHESS:
|
||||
if (state == DONE)
|
||||
DoRespawnGameObject(DustCoveredChest, DAY);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void SetGuidData(uint32 type, ObjectGuid data) override
|
||||
{
|
||||
switch (identifier)
|
||||
{
|
||||
case DATA_IMAGE_OF_MEDIVH: ImageGUID = data;
|
||||
}
|
||||
if (type == DATA_IMAGE_OF_MEDIVH)
|
||||
ImageGUID = data;
|
||||
}
|
||||
|
||||
void OnGameObjectCreate(GameObject* go) override
|
||||
{
|
||||
switch (go->GetEntry())
|
||||
{
|
||||
case 183932: m_uiCurtainGUID = go->GetGUID(); break;
|
||||
case 184278:
|
||||
m_uiStageDoorLeftGUID = go->GetGUID();
|
||||
if (m_auiEncounter[4] == DONE)
|
||||
case GO_STAGE_CURTAIN:
|
||||
CurtainGUID = go->GetGUID();
|
||||
break;
|
||||
case GO_STAGE_DOOR_LEFT:
|
||||
StageDoorLeftGUID = go->GetGUID();
|
||||
if (GetBossState(DATA_OPERA_PERFORMANCE) == DONE)
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
break;
|
||||
case 184279:
|
||||
m_uiStageDoorRightGUID = go->GetGUID();
|
||||
if (m_auiEncounter[4] == DONE)
|
||||
case GO_STAGE_DOOR_RIGHT:
|
||||
StageDoorRightGUID = go->GetGUID();
|
||||
if (GetBossState(DATA_OPERA_PERFORMANCE) == DONE)
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
break;
|
||||
case 184517: m_uiLibraryDoor = go->GetGUID(); break;
|
||||
case 185521: m_uiMassiveDoor = go->GetGUID(); break;
|
||||
case 184276: m_uiGamesmansDoor = go->GetGUID(); break;
|
||||
case 184277: m_uiGamesmansExitDoor = go->GetGUID(); break;
|
||||
case 185134: m_uiNetherspaceDoor = go->GetGUID(); break;
|
||||
case 184274: MastersTerraceDoor[0] = go->GetGUID(); break;
|
||||
case 184280: MastersTerraceDoor[1] = go->GetGUID(); break;
|
||||
case 184275:
|
||||
m_uiSideEntranceDoor = go->GetGUID();
|
||||
if (m_auiEncounter[4] == DONE)
|
||||
case GO_PRIVATE_LIBRARY_DOOR:
|
||||
LibraryDoor = go->GetGUID();
|
||||
break;
|
||||
case GO_MASSIVE_DOOR:
|
||||
MassiveDoor = go->GetGUID();
|
||||
break;
|
||||
case GO_GAMESMAN_HALL_DOOR:
|
||||
GamesmansDoor = go->GetGUID();
|
||||
break;
|
||||
case GO_GAMESMAN_HALL_EXIT_DOOR:
|
||||
GamesmansExitDoor = go->GetGUID();
|
||||
break;
|
||||
case GO_NETHERSPACE_DOOR:
|
||||
NetherspaceDoor = go->GetGUID();
|
||||
break;
|
||||
case GO_MASTERS_TERRACE_DOOR:
|
||||
MastersTerraceDoor[0] = go->GetGUID();
|
||||
break;
|
||||
case GO_MASTERS_TERRACE_DOOR2:
|
||||
MastersTerraceDoor[1] = go->GetGUID();
|
||||
break;
|
||||
case GO_SIDE_ENTRANCE_DOOR:
|
||||
SideEntranceDoor = go->GetGUID();
|
||||
if (GetBossState(DATA_OPERA_PERFORMANCE) == DONE)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
else
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
break;
|
||||
case 185119: DustCoveredChest = go->GetGUID(); break;
|
||||
case GO_DUST_COVERED_CHEST:
|
||||
DustCoveredChest = go->GetGUID();
|
||||
break;
|
||||
}
|
||||
|
||||
switch (m_uiOperaEvent)
|
||||
switch (OperaEvent)
|
||||
{
|
||||
/// @todo Set Object visibilities for Opera based on performance
|
||||
case EVENT_OZ:
|
||||
@@ -269,77 +240,77 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
std::string GetSaveData() override
|
||||
uint32 GetData(uint32 type) const override
|
||||
{
|
||||
return strSaveData;
|
||||
}
|
||||
|
||||
uint32 GetData(uint32 uiData) const override
|
||||
{
|
||||
switch (uiData)
|
||||
switch (type)
|
||||
{
|
||||
case TYPE_ATTUMEN: return m_auiEncounter[0];
|
||||
case TYPE_MOROES: return m_auiEncounter[1];
|
||||
case TYPE_MAIDEN: return m_auiEncounter[2];
|
||||
case TYPE_OPTIONAL_BOSS: return m_auiEncounter[3];
|
||||
case TYPE_OPERA: return m_auiEncounter[4];
|
||||
case TYPE_CURATOR: return m_auiEncounter[5];
|
||||
case TYPE_ARAN: return m_auiEncounter[6];
|
||||
case TYPE_TERESTIAN: return m_auiEncounter[7];
|
||||
case TYPE_NETHERSPITE: return m_auiEncounter[8];
|
||||
case TYPE_CHESS: return m_auiEncounter[9];
|
||||
case TYPE_MALCHEZZAR: return m_auiEncounter[10];
|
||||
case TYPE_NIGHTBANE: return m_auiEncounter[11];
|
||||
case DATA_OPERA_PERFORMANCE: return m_uiOperaEvent;
|
||||
case DATA_OPERA_OZ_DEATHCOUNT: return m_uiOzDeathCount;
|
||||
case DATA_OPERA_PERFORMANCE:
|
||||
return OperaEvent;
|
||||
case DATA_OPERA_OZ_DEATHCOUNT:
|
||||
return OzDeathCount;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
ObjectGuid GetGuidData(uint32 uiData) const override
|
||||
ObjectGuid GetGuidData(uint32 type) const override
|
||||
{
|
||||
switch (uiData)
|
||||
switch (type)
|
||||
{
|
||||
case DATA_KILREK: return m_uiKilrekGUID;
|
||||
case DATA_TERESTIAN: return m_uiTerestianGUID;
|
||||
case DATA_MOROES: return m_uiMoroesGUID;
|
||||
case DATA_GO_STAGEDOORLEFT: return m_uiStageDoorLeftGUID;
|
||||
case DATA_GO_STAGEDOORRIGHT: return m_uiStageDoorRightGUID;
|
||||
case DATA_GO_CURTAINS: return m_uiCurtainGUID;
|
||||
case DATA_GO_LIBRARY_DOOR: return m_uiLibraryDoor;
|
||||
case DATA_GO_MASSIVE_DOOR: return m_uiMassiveDoor;
|
||||
case DATA_GO_SIDE_ENTRANCE_DOOR: return m_uiSideEntranceDoor;
|
||||
case DATA_GO_GAME_DOOR: return m_uiGamesmansDoor;
|
||||
case DATA_GO_GAME_EXIT_DOOR: return m_uiGamesmansExitDoor;
|
||||
case DATA_GO_NETHER_DOOR: return m_uiNetherspaceDoor;
|
||||
case DATA_MASTERS_TERRACE_DOOR_1: return MastersTerraceDoor[0];
|
||||
case DATA_MASTERS_TERRACE_DOOR_2: return MastersTerraceDoor[1];
|
||||
case DATA_IMAGE_OF_MEDIVH: return ImageGUID;
|
||||
case DATA_KILREK:
|
||||
return KilrekGUID;
|
||||
case DATA_TERESTIAN:
|
||||
return TerestianGUID;
|
||||
case DATA_MOROES:
|
||||
return MoroesGUID;
|
||||
case DATA_GO_STAGEDOORLEFT:
|
||||
return StageDoorLeftGUID;
|
||||
case DATA_GO_STAGEDOORRIGHT:
|
||||
return StageDoorRightGUID;
|
||||
case DATA_GO_CURTAINS:
|
||||
return CurtainGUID;
|
||||
case DATA_GO_LIBRARY_DOOR:
|
||||
return LibraryDoor;
|
||||
case DATA_GO_MASSIVE_DOOR:
|
||||
return MassiveDoor;
|
||||
case DATA_GO_SIDE_ENTRANCE_DOOR:
|
||||
return SideEntranceDoor;
|
||||
case DATA_GO_GAME_DOOR:
|
||||
return GamesmansDoor;
|
||||
case DATA_GO_GAME_EXIT_DOOR:
|
||||
return GamesmansExitDoor;
|
||||
case DATA_GO_NETHER_DOOR:
|
||||
return NetherspaceDoor;
|
||||
case DATA_MASTERS_TERRACE_DOOR_1:
|
||||
return MastersTerraceDoor[0];
|
||||
case DATA_MASTERS_TERRACE_DOOR_2:
|
||||
return MastersTerraceDoor[1];
|
||||
case DATA_IMAGE_OF_MEDIVH:
|
||||
return ImageGUID;
|
||||
}
|
||||
|
||||
return ObjectGuid::Empty;
|
||||
}
|
||||
|
||||
void Load(char const* chrIn) override
|
||||
{
|
||||
if (!chrIn)
|
||||
{
|
||||
OUT_LOAD_INST_DATA_FAIL;
|
||||
return;
|
||||
}
|
||||
|
||||
OUT_LOAD_INST_DATA(chrIn);
|
||||
std::istringstream loadStream(chrIn);
|
||||
|
||||
loadStream >> m_auiEncounter[0] >> m_auiEncounter[1] >> m_auiEncounter[2] >> m_auiEncounter[3]
|
||||
>> m_auiEncounter[4] >> m_auiEncounter[5] >> m_auiEncounter[6] >> m_auiEncounter[7]
|
||||
>> m_auiEncounter[8] >> m_auiEncounter[9] >> m_auiEncounter[10] >> m_auiEncounter[11];
|
||||
for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
|
||||
if (m_auiEncounter[i] == IN_PROGRESS) // Do not load an encounter as "In Progress" - reset it instead.
|
||||
m_auiEncounter[i] = NOT_STARTED;
|
||||
OUT_LOAD_INST_DATA_COMPLETE;
|
||||
}
|
||||
private:
|
||||
uint32 OperaEvent;
|
||||
uint32 OzDeathCount;
|
||||
uint32 OptionalBossCount;
|
||||
ObjectGuid CurtainGUID;
|
||||
ObjectGuid StageDoorLeftGUID;
|
||||
ObjectGuid StageDoorRightGUID;
|
||||
ObjectGuid KilrekGUID;
|
||||
ObjectGuid TerestianGUID;
|
||||
ObjectGuid MoroesGUID;
|
||||
ObjectGuid LibraryDoor; // Door at Shade of Aran
|
||||
ObjectGuid MassiveDoor; // Door at Netherspite
|
||||
ObjectGuid SideEntranceDoor; // Side Entrance
|
||||
ObjectGuid GamesmansDoor; // Door before Chess
|
||||
ObjectGuid GamesmansExitDoor; // Door after Chess
|
||||
ObjectGuid NetherspaceDoor; // Door at Malchezaar
|
||||
ObjectGuid MastersTerraceDoor[2];
|
||||
ObjectGuid ImageGUID;
|
||||
ObjectGuid DustCoveredChest;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@ public:
|
||||
|
||||
void StartEvent()
|
||||
{
|
||||
instance->SetData(TYPE_OPERA, IN_PROGRESS);
|
||||
instance->SetBossState(DATA_OPERA_PERFORMANCE, IN_PROGRESS);
|
||||
|
||||
//resets count for this event, in case earlier failed
|
||||
if (m_uiEventId == EVENT_OZ)
|
||||
@@ -377,7 +377,7 @@ public:
|
||||
if (InstanceScript* instance = creature->GetInstanceScript())
|
||||
{
|
||||
// Check for death of Moroes and if opera event is not done already
|
||||
if (instance->GetData(TYPE_MOROES) == DONE && instance->GetData(TYPE_OPERA) != DONE)
|
||||
if (instance->GetBossState(DATA_MOROES) == DONE && instance->GetBossState(DATA_OPERA_PERFORMANCE) != DONE)
|
||||
{
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, OZ_GOSSIP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
|
||||
|
||||
@@ -21,27 +21,26 @@
|
||||
|
||||
#define DataHeader "KZ"
|
||||
|
||||
uint32 const EncounterCount = 12;
|
||||
|
||||
enum DataTypes
|
||||
{
|
||||
TYPE_ATTUMEN = 1,
|
||||
TYPE_MOROES = 2,
|
||||
TYPE_MAIDEN = 3,
|
||||
TYPE_OPTIONAL_BOSS = 4,
|
||||
TYPE_OPERA = 5,
|
||||
TYPE_CURATOR = 6,
|
||||
TYPE_ARAN = 7,
|
||||
TYPE_TERESTIAN = 8,
|
||||
TYPE_NETHERSPITE = 9,
|
||||
TYPE_CHESS = 10,
|
||||
TYPE_MALCHEZZAR = 11,
|
||||
TYPE_NIGHTBANE = 12,
|
||||
DATA_ATTUMEN = 0,
|
||||
DATA_MOROES = 1,
|
||||
DATA_MAIDEN_OF_VIRTUE = 2,
|
||||
DATA_OPTIONAL_BOSS = 3,
|
||||
DATA_OPERA_PERFORMANCE = 4,
|
||||
DATA_CURATOR = 5,
|
||||
DATA_ARAN = 6,
|
||||
DATA_TERESTIAN = 7,
|
||||
DATA_NETHERSPITE = 8,
|
||||
DATA_CHESS = 9,
|
||||
DATA_MALCHEZZAR = 10,
|
||||
DATA_NIGHTBANE = 11,
|
||||
|
||||
DATA_OPERA_PERFORMANCE = 13,
|
||||
DATA_OPERA_OZ_DEATHCOUNT = 14,
|
||||
|
||||
DATA_KILREK = 15,
|
||||
DATA_TERESTIAN = 16,
|
||||
DATA_MOROES = 17,
|
||||
DATA_GO_CURTAINS = 18,
|
||||
DATA_GO_STAGEDOORLEFT = 19,
|
||||
DATA_GO_STAGEDOORRIGHT = 20,
|
||||
@@ -69,6 +68,8 @@ enum MiscCreatures
|
||||
NPC_HYAKISS_THE_LURKER = 16179,
|
||||
NPC_ROKAD_THE_RAVAGER = 16181,
|
||||
NPC_SHADIKITH_THE_GLIDER = 16180,
|
||||
NPC_TERESTIAN_ILLHOOF = 15688,
|
||||
NPC_MOROES = 15687,
|
||||
|
||||
// Trash
|
||||
NPC_COLDMIST_WIDOW = 16171,
|
||||
@@ -78,6 +79,29 @@ enum MiscCreatures
|
||||
NPC_GREATER_SHADOWBAT = 16174,
|
||||
NPC_PHASE_HOUND = 16178,
|
||||
NPC_DREADBEAST = 16177,
|
||||
NPC_SHADOWBEAST = 16176
|
||||
NPC_SHADOWBEAST = 16176,
|
||||
NPC_KILREK = 17229
|
||||
};
|
||||
|
||||
enum GameObjectIds
|
||||
{
|
||||
GO_STAGE_CURTAIN = 183932,
|
||||
GO_STAGE_DOOR_LEFT = 184278,
|
||||
GO_STAGE_DOOR_RIGHT = 184279,
|
||||
GO_PRIVATE_LIBRARY_DOOR = 184517,
|
||||
GO_MASSIVE_DOOR = 185521,
|
||||
GO_GAMESMAN_HALL_DOOR = 184276,
|
||||
GO_GAMESMAN_HALL_EXIT_DOOR = 184277,
|
||||
GO_NETHERSPACE_DOOR = 185134,
|
||||
GO_MASTERS_TERRACE_DOOR = 184274,
|
||||
GO_MASTERS_TERRACE_DOOR2 = 184280,
|
||||
GO_SIDE_ENTRANCE_DOOR = 184275,
|
||||
GO_DUST_COVERED_CHEST = 185119
|
||||
};
|
||||
|
||||
enum Misc
|
||||
{
|
||||
OPTIONAL_BOSS_REQUIRED_DEATH_COUNT = 50
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -134,8 +134,6 @@ static char const* Text[]=
|
||||
"Now, know demise!"
|
||||
};
|
||||
|
||||
#define EMOTE_LAUGHS "Headless Horseman laughs" // needs assigned to db.
|
||||
|
||||
class npc_wisp_invis : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -347,7 +345,6 @@ public:
|
||||
Creature* speaker = DoSpawnCreature(HELPER, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 1000);
|
||||
if (speaker)
|
||||
speaker->CastSpell(speaker, SPELL_HEAD_SPEAKS, false);
|
||||
me->TextEmote(EMOTE_LAUGHS);
|
||||
}
|
||||
else laugh -= diff;
|
||||
}
|
||||
@@ -724,7 +721,6 @@ public:
|
||||
if (laugh <= diff)
|
||||
{
|
||||
laugh = urand(11000, 22000);
|
||||
me->TextEmote(EMOTE_LAUGHS);
|
||||
DoPlaySoundToSet(me, RandomLaugh[rand32() % 3]);
|
||||
}
|
||||
else laugh -= diff;
|
||||
|
||||
@@ -35,15 +35,25 @@ enum Gameobject
|
||||
GO_ATALAI_STATUE4 = 148833,
|
||||
GO_ATALAI_STATUE5 = 148834,
|
||||
GO_ATALAI_STATUE6 = 148835,
|
||||
GO_ATALAI_IDOL = 148836,
|
||||
GO_ATALAI_LIGHT1 = 148883,
|
||||
GO_ATALAI_LIGHT2 = 148937
|
||||
|
||||
};
|
||||
|
||||
enum CreatureIds
|
||||
{
|
||||
NPC_MALFURION_STORMRAGE = 15362
|
||||
NPC_ATALALARION = 8580
|
||||
};
|
||||
|
||||
static Position const atalalarianPos = { -466.5134f, 95.19822f, -189.6463f, 0.03490658f };
|
||||
static uint8 const nStatues = 6;
|
||||
static Position const statuePositions[nStatues]
|
||||
{
|
||||
{ -515.553f, 95.25821f, -173.707f, 0.0f },
|
||||
{ -419.8487f, 94.48368f, -173.707f, 0.0f },
|
||||
{ -491.4003f, 135.9698f, -173.707f, 0.0f },
|
||||
{ -491.4909f, 53.48179f, -173.707f, 0.0f },
|
||||
{ -443.8549f, 136.1007f, -173.707f, 0.0f },
|
||||
{ -443.4171f, 53.83124f, -173.707f, 0.0f }
|
||||
};
|
||||
|
||||
class instance_sunken_temple : public InstanceMapScript
|
||||
@@ -77,7 +87,6 @@ public:
|
||||
ObjectGuid GOAtalaiStatue4;
|
||||
ObjectGuid GOAtalaiStatue5;
|
||||
ObjectGuid GOAtalaiStatue6;
|
||||
ObjectGuid GOAtalaiIdol;
|
||||
|
||||
uint32 State;
|
||||
|
||||
@@ -98,7 +107,6 @@ public:
|
||||
case GO_ATALAI_STATUE4: GOAtalaiStatue4 = go->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE5: GOAtalaiStatue5 = go->GetGUID(); break;
|
||||
case GO_ATALAI_STATUE6: GOAtalaiStatue6 = go->GetGUID(); break;
|
||||
case GO_ATALAI_IDOL: GOAtalaiIdol = go->GetGUID(); break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,7 +163,10 @@ public:
|
||||
if (s1 && s2 && s3 && s4 && s5 && !s6)
|
||||
{
|
||||
if (GameObject* pAtalaiStatue6 = instance->GetGameObject(GOAtalaiStatue6))
|
||||
{
|
||||
UseStatue(pAtalaiStatue6);
|
||||
UseLastStatue(pAtalaiStatue6);
|
||||
}
|
||||
s6 = true;
|
||||
State = 0;
|
||||
}
|
||||
@@ -169,18 +180,13 @@ public:
|
||||
go->SetUInt32Value(GAMEOBJECT_FLAGS, 4);
|
||||
}
|
||||
|
||||
/*
|
||||
void UseLastStatue(GameObject* go)
|
||||
{
|
||||
AtalaiStatue1->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue1->GetPositionX(), AtalaiStatue1->GetPositionY(), AtalaiStatue1->GetPositionZ(), 0, 0, 0, 0, 0, 100);
|
||||
AtalaiStatue2->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue2->GetPositionX(), AtalaiStatue2->GetPositionY(), AtalaiStatue2->GetPositionZ(), 0, 0, 0, 0, 0, 100);
|
||||
AtalaiStatue3->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue3->GetPositionX(), AtalaiStatue3->GetPositionY(), AtalaiStatue3->GetPositionZ(), 0, 0, 0, 0, 0, 100);
|
||||
AtalaiStatue4->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue4->GetPositionX(), AtalaiStatue4->GetPositionY(), AtalaiStatue4->GetPositionZ(), 0, 0, 0, 0, 0, 100);
|
||||
AtalaiStatue5->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue5->GetPositionX(), AtalaiStatue5->GetPositionY(), AtalaiStatue5->GetPositionZ(), 0, 0, 0, 0, 0, 100);
|
||||
AtalaiStatue6->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue6->GetPositionX(), AtalaiStatue6->GetPositionY(), AtalaiStatue6->GetPositionZ(), 0, 0, 0, 0, 0, 100);
|
||||
go->SummonGameObject(148838, -488.997, 96.61, -189.019, -1.52, 0, 0, 0, 0, 100);
|
||||
}
|
||||
*/
|
||||
void UseLastStatue(GameObject* go)
|
||||
{
|
||||
for (uint8 i = 0; i < nStatues; ++i)
|
||||
go->SummonGameObject(GO_ATALAI_LIGHT2, statuePositions[i].GetPositionX(), statuePositions[i].GetPositionY(), statuePositions[i].GetPositionZ(), statuePositions[i].GetOrientation(), 0, 0, 0, 0, 0);
|
||||
|
||||
go->SummonCreature(NPC_ATALALARION, atalalarianPos, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 7200);
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 data) override
|
||||
{
|
||||
|
||||
@@ -29,109 +29,104 @@ EndScriptData */
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "zulaman.h"
|
||||
|
||||
#define YELL_AGGRO "Da shadow gonna fall on you... "
|
||||
#define SOUND_YELL_AGGRO 12041
|
||||
#define YELL_SPIRIT_BOLTS "Your soul gonna bleed!"
|
||||
#define SOUND_YELL_SPIRIT_BOLTS 12047
|
||||
#define YELL_DRAIN_POWER "Darkness comin\' for you"
|
||||
#define SOUND_YELL_DRAIN_POWER 12046
|
||||
#define YELL_KILL_ONE "Dis a nightmare ya don\' wake up from!"
|
||||
#define SOUND_YELL_KILL_ONE 12043
|
||||
#define YELL_KILL_TWO "Azzaga choogo zinn!"
|
||||
#define SOUND_YELL_KILL_TWO 12044
|
||||
#define YELL_DEATH "Dis not... da end of me..."
|
||||
#define SOUND_YELL_DEATH 12051
|
||||
|
||||
enum Yells
|
||||
{
|
||||
YELL_AGGRO = 0,
|
||||
YELL_KILL_ONE = 1,
|
||||
YELL_KILL_TWO = 2,
|
||||
YELL_DRAIN_POWER = 3,
|
||||
YELL_SPIRIT_BOLTS = 4,
|
||||
YELL_DEATH = 5
|
||||
};
|
||||
|
||||
enum Creatures
|
||||
{
|
||||
NPC_TEMP_TRIGGER = 23920
|
||||
NPC_TEMP_TRIGGER = 23920
|
||||
};
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_SPIRIT_BOLTS = 43383,
|
||||
SPELL_DRAIN_POWER = 44131,
|
||||
SPELL_SIPHON_SOUL = 43501,
|
||||
SPELL_SPIRIT_BOLTS = 43383,
|
||||
SPELL_DRAIN_POWER = 44131,
|
||||
SPELL_SIPHON_SOUL = 43501,
|
||||
|
||||
// Druid
|
||||
SPELL_DR_THORNS = 43420,
|
||||
SPELL_DR_LIFEBLOOM = 43421,
|
||||
SPELL_DR_MOONFIRE = 43545,
|
||||
SPELL_DR_THORNS = 43420,
|
||||
SPELL_DR_LIFEBLOOM = 43421,
|
||||
SPELL_DR_MOONFIRE = 43545,
|
||||
|
||||
// Hunter
|
||||
SPELL_HU_EXPLOSIVE_TRAP = 43444,
|
||||
SPELL_HU_FREEZING_TRAP = 43447,
|
||||
SPELL_HU_SNAKE_TRAP = 43449,
|
||||
SPELL_HU_EXPLOSIVE_TRAP = 43444,
|
||||
SPELL_HU_FREEZING_TRAP = 43447,
|
||||
SPELL_HU_SNAKE_TRAP = 43449,
|
||||
|
||||
// Mage
|
||||
SPELL_MG_FIREBALL = 41383,
|
||||
SPELL_MG_FROST_NOVA = 43426,
|
||||
SPELL_MG_ICE_LANCE = 43427,
|
||||
SPELL_MG_FROSTBOLT = 43428,
|
||||
SPELL_MG_FIREBALL = 41383,
|
||||
SPELL_MG_FROST_NOVA = 43426,
|
||||
SPELL_MG_ICE_LANCE = 43427,
|
||||
SPELL_MG_FROSTBOLT = 43428,
|
||||
|
||||
// Paladin
|
||||
SPELL_PA_CONSECRATION = 43429,
|
||||
SPELL_PA_AVENGING_WRATH = 43430,
|
||||
SPELL_PA_HOLY_LIGHT = 43451,
|
||||
SPELL_PA_CONSECRATION = 43429,
|
||||
SPELL_PA_AVENGING_WRATH = 43430,
|
||||
SPELL_PA_HOLY_LIGHT = 43451,
|
||||
|
||||
// Priest
|
||||
SPELL_PR_HEAL = 41372,
|
||||
SPELL_PR_MIND_BLAST = 41374,
|
||||
SPELL_PR_SW_DEATH = 41375,
|
||||
SPELL_PR_PSYCHIC_SCREAM = 43432,
|
||||
SPELL_PR_MIND_CONTROL = 43550,
|
||||
SPELL_PR_PAIN_SUPP = 44416,
|
||||
SPELL_PR_HEAL = 41372,
|
||||
SPELL_PR_MIND_BLAST = 41374,
|
||||
SPELL_PR_SW_DEATH = 41375,
|
||||
SPELL_PR_PSYCHIC_SCREAM = 43432,
|
||||
SPELL_PR_MIND_CONTROL = 43550,
|
||||
SPELL_PR_PAIN_SUPP = 44416,
|
||||
|
||||
// Rogue
|
||||
SPELL_RO_BLIND = 43433,
|
||||
SPELL_RO_SLICE_DICE = 43457,
|
||||
SPELL_RO_WOUND_POISON = 43461,
|
||||
SPELL_RO_BLIND = 43433,
|
||||
SPELL_RO_SLICE_DICE = 43457,
|
||||
SPELL_RO_WOUND_POISON = 43461,
|
||||
|
||||
// Shaman
|
||||
SPELL_SH_CHAIN_LIGHT = 43435,
|
||||
SPELL_SH_FIRE_NOVA = 43436,
|
||||
SPELL_SH_HEALING_WAVE = 43548,
|
||||
SPELL_SH_CHAIN_LIGHT = 43435,
|
||||
SPELL_SH_FIRE_NOVA = 43436,
|
||||
SPELL_SH_HEALING_WAVE = 43548,
|
||||
|
||||
// Warlock
|
||||
SPELL_WL_CURSE_OF_DOOM = 43439,
|
||||
SPELL_WL_RAIN_OF_FIRE = 43440,
|
||||
SPELL_WL_UNSTABLE_AFFL = 43522,
|
||||
SPELL_WL_UNSTABLE_AFFL_DISPEL = 43523,
|
||||
SPELL_WL_CURSE_OF_DOOM = 43439,
|
||||
SPELL_WL_RAIN_OF_FIRE = 43440,
|
||||
SPELL_WL_UNSTABLE_AFFL = 43522,
|
||||
SPELL_WL_UNSTABLE_AFFL_DISPEL = 43523,
|
||||
|
||||
// Warrior
|
||||
SPELL_WR_MORTAL_STRIKE = 43441,
|
||||
SPELL_WR_WHIRLWIND = 43442,
|
||||
SPELL_WR_SPELL_REFLECT = 43443,
|
||||
SPELL_WR_MORTAL_STRIKE = 43441,
|
||||
SPELL_WR_WHIRLWIND = 43442,
|
||||
SPELL_WR_SPELL_REFLECT = 43443,
|
||||
|
||||
// Thurg
|
||||
SPELL_BLOODLUST = 43578,
|
||||
SPELL_CLEAVE = 15496,
|
||||
SPELL_BLOODLUST = 43578,
|
||||
SPELL_CLEAVE = 15496,
|
||||
|
||||
// Gazakroth
|
||||
SPELL_FIREBOLT = 43584,
|
||||
SPELL_FIREBOLT = 43584,
|
||||
|
||||
// Alyson Antille
|
||||
SPELL_FLASH_HEAL = 43575,
|
||||
SPELL_DISPEL_MAGIC = 43577,
|
||||
SPELL_FLASH_HEAL = 43575,
|
||||
SPELL_DISPEL_MAGIC = 43577,
|
||||
|
||||
// Lord Raadan
|
||||
SPELL_FLAME_BREATH = 43582,
|
||||
SPELL_THUNDERCLAP = 43583,
|
||||
SPELL_FLAME_BREATH = 43582,
|
||||
SPELL_THUNDERCLAP = 43583,
|
||||
|
||||
// Darkheart
|
||||
SPELL_PSYCHIC_WAIL = 43590,
|
||||
SPELL_PSYCHIC_WAIL = 43590,
|
||||
|
||||
// Slither
|
||||
SPELL_VENOM_SPIT = 43579,
|
||||
SPELL_VENOM_SPIT = 43579,
|
||||
|
||||
// Fenstalker
|
||||
SPELL_VOLATILE_INFECTION = 43586,
|
||||
SPELL_VOLATILE_INFECTION = 43586,
|
||||
|
||||
// Koragg
|
||||
SPELL_COLD_STARE = 43593,
|
||||
SPELL_MIGHTY_BLOW = 43592
|
||||
|
||||
SPELL_COLD_STARE = 43593,
|
||||
SPELL_MIGHTY_BLOW = 43592
|
||||
};
|
||||
|
||||
#define ORIENT 1.5696f
|
||||
@@ -306,8 +301,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
instance->SetData(DATA_HEXLORDEVENT, IN_PROGRESS);
|
||||
|
||||
DoZoneInCombat();
|
||||
me->Yell(YELL_AGGRO, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_AGGRO);
|
||||
Talk(YELL_AGGRO);
|
||||
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
{
|
||||
@@ -327,12 +321,10 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
switch (urand(0, 1))
|
||||
{
|
||||
case 0:
|
||||
me->Yell(YELL_KILL_ONE, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_KILL_ONE);
|
||||
Talk(YELL_KILL_ONE);
|
||||
break;
|
||||
case 1:
|
||||
me->Yell(YELL_KILL_TWO, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_KILL_TWO);
|
||||
Talk(YELL_KILL_TWO);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -341,8 +333,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
{
|
||||
instance->SetData(DATA_HEXLORDEVENT, DONE);
|
||||
|
||||
me->Yell(YELL_DEATH, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_DEATH);
|
||||
Talk(YELL_DEATH);
|
||||
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
{
|
||||
@@ -415,8 +406,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
if (DrainPower_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_DRAIN_POWER, true);
|
||||
me->Yell(YELL_DRAIN_POWER, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_DRAIN_POWER);
|
||||
Talk(YELL_DRAIN_POWER);
|
||||
DrainPower_Timer = urand(40000, 55000); // must cast in 60 sec, or buff/debuff will disappear
|
||||
} else DrainPower_Timer -= diff;
|
||||
|
||||
@@ -427,8 +417,7 @@ class boss_hexlord_malacrass : public CreatureScript
|
||||
else
|
||||
{
|
||||
DoCast(me, SPELL_SPIRIT_BOLTS, false);
|
||||
me->Yell(YELL_SPIRIT_BOLTS, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_SPIRIT_BOLTS);
|
||||
Talk(YELL_SPIRIT_BOLTS);
|
||||
SpiritBolts_Timer = 40000;
|
||||
SiphonSoul_Timer = 10000; // ready to drain
|
||||
PlayerAbility_Timer = 99999;
|
||||
|
||||
@@ -30,21 +30,41 @@ EndScriptData */
|
||||
#include "GridNotifiersImpl.h"
|
||||
#include "CellImpl.h"
|
||||
|
||||
enum Yells
|
||||
{
|
||||
YELL_NALORAKK_WAVE1 = 0,
|
||||
YELL_NALORAKK_WAVE2 = 1,
|
||||
YELL_NALORAKK_WAVE3 = 2,
|
||||
YELL_NALORAKK_WAVE4 = 3,
|
||||
YELL_AGGRO = 4,
|
||||
YELL_SURGE = 5,
|
||||
YELL_SHIFTEDTOBEAR = 6,
|
||||
YELL_SHIFTEDTOTROLL = 7,
|
||||
YELL_BERSERK = 8,
|
||||
YELL_KILL_ONE = 9,
|
||||
YELL_KILL_TWO = 10,
|
||||
YELL_DEATH = 11
|
||||
|
||||
// Not yet implemented
|
||||
// YELL_NALORAKK_EVENT1 = 12,
|
||||
// YELL_NALORAKK_EVENT2 = 13
|
||||
};
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_BERSERK = 45078,
|
||||
|
||||
// Troll form
|
||||
SPELL_BRUTALSWIPE = 42384,
|
||||
SPELL_MANGLE = 42389,
|
||||
SPELL_MANGLEEFFECT = 44955,
|
||||
SPELL_SURGE = 42402,
|
||||
SPELL_BEARFORM = 42377,
|
||||
SPELL_BRUTALSWIPE = 42384,
|
||||
SPELL_MANGLE = 42389,
|
||||
SPELL_MANGLEEFFECT = 44955,
|
||||
SPELL_SURGE = 42402,
|
||||
SPELL_BEARFORM = 42377,
|
||||
|
||||
// Bear form
|
||||
SPELL_LACERATINGSLASH = 42395,
|
||||
SPELL_RENDFLESH = 42397,
|
||||
SPELL_DEAFENINGROAR = 42398
|
||||
SPELL_LACERATINGSLASH = 42395,
|
||||
SPELL_RENDFLESH = 42397,
|
||||
SPELL_DEAFENINGROAR = 42398,
|
||||
|
||||
SPELL_BERSERK = 45078
|
||||
};
|
||||
|
||||
// Trash Waves
|
||||
@@ -57,45 +77,9 @@ float NalorakkWay[8][3] =
|
||||
{-79.929f, 1395.958f, 27.31f},
|
||||
{-80.072f, 1374.555f, 40.87f}, // waypoint 3
|
||||
{-80.072f, 1314.398f, 40.87f},
|
||||
{-80.072f, 1295.775f, 48.60f} // waypoint 4
|
||||
{-80.072f, 1295.775f, 48.60f} // waypoint 4
|
||||
};
|
||||
|
||||
#define YELL_NALORAKK_WAVE1 "Get da move on, guards! It be killin' time!"
|
||||
#define SOUND_NALORAKK_WAVE1 12066
|
||||
#define YELL_NALORAKK_WAVE2 "Guards, go already! Who you more afraid of, dem... or me?"
|
||||
#define SOUND_NALORAKK_WAVE2 12067
|
||||
#define YELL_NALORAKK_WAVE3 "Ride now! Ride out dere and bring me back some heads!"
|
||||
#define SOUND_NALORAKK_WAVE3 12068
|
||||
#define YELL_NALORAKK_WAVE4 "I be losin' me patience! Go on: make dem wish dey was never born!"
|
||||
#define SOUND_NALORAKK_WAVE4 12069
|
||||
|
||||
//Unimplemented SoundIDs
|
||||
/*
|
||||
#define SOUND_NALORAKK_EVENT1 12078
|
||||
#define SOUND_NALORAKK_EVENT2 12079
|
||||
*/
|
||||
|
||||
//General defines
|
||||
#define YELL_AGGRO "You be dead soon enough!"
|
||||
#define SOUND_YELL_AGGRO 12070
|
||||
#define YELL_KILL_ONE "Mua-ha-ha! Now whatchoo got to say?"
|
||||
#define SOUND_YELL_KILL_ONE 12075
|
||||
#define YELL_KILL_TWO "Da Amani gonna rule again!"
|
||||
#define SOUND_YELL_KILL_TWO 12076
|
||||
#define YELL_DEATH "I... be waitin' on da udda side...."
|
||||
#define SOUND_YELL_DEATH 12077
|
||||
#define YELL_BERSERK "You had your chance, now it be too late!" //Never seen this being used, so just guessing from what I hear.
|
||||
#define SOUND_YELL_BERSERK 12074
|
||||
#define YELL_SURGE "I bring da pain!"
|
||||
#define SOUND_YELL_SURGE 12071
|
||||
|
||||
#define YELL_SHIFTEDTOTROLL "Make way for Nalorakk!"
|
||||
#define SOUND_YELL_TOTROLL 12073
|
||||
|
||||
|
||||
#define YELL_SHIFTEDTOBEAR "You call on da beast, you gonna get more dan you bargain for!"
|
||||
#define SOUND_YELL_TOBEAR 12072
|
||||
|
||||
class boss_nalorakk : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -227,8 +211,7 @@ class boss_nalorakk : public CreatureScript
|
||||
case 0:
|
||||
if (me->IsWithinDistInMap(who, 50))
|
||||
{
|
||||
me->Yell(YELL_NALORAKK_WAVE1, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE1);
|
||||
Talk(YELL_NALORAKK_WAVE1);
|
||||
|
||||
(*me).GetMotionMaster()->MovePoint(1, NalorakkWay[1][0], NalorakkWay[1][1], NalorakkWay[1][2]);
|
||||
MovePhase ++;
|
||||
@@ -240,8 +223,7 @@ class boss_nalorakk : public CreatureScript
|
||||
case 2:
|
||||
if (me->IsWithinDistInMap(who, 40))
|
||||
{
|
||||
me->Yell(YELL_NALORAKK_WAVE2, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE2);
|
||||
Talk(YELL_NALORAKK_WAVE2);
|
||||
|
||||
(*me).GetMotionMaster()->MovePoint(3, NalorakkWay[3][0], NalorakkWay[3][1], NalorakkWay[3][2]);
|
||||
MovePhase ++;
|
||||
@@ -253,8 +235,7 @@ class boss_nalorakk : public CreatureScript
|
||||
case 5:
|
||||
if (me->IsWithinDistInMap(who, 40))
|
||||
{
|
||||
me->Yell(YELL_NALORAKK_WAVE3, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE3);
|
||||
Talk(YELL_NALORAKK_WAVE3);
|
||||
|
||||
(*me).GetMotionMaster()->MovePoint(6, NalorakkWay[6][0], NalorakkWay[6][1], NalorakkWay[6][2]);
|
||||
MovePhase ++;
|
||||
@@ -268,8 +249,7 @@ class boss_nalorakk : public CreatureScript
|
||||
{
|
||||
SendAttacker(who);
|
||||
|
||||
me->Yell(YELL_NALORAKK_WAVE4, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_NALORAKK_WAVE4);
|
||||
Talk(YELL_NALORAKK_WAVE4);
|
||||
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
@@ -287,8 +267,7 @@ class boss_nalorakk : public CreatureScript
|
||||
{
|
||||
instance->SetData(DATA_NALORAKKEVENT, IN_PROGRESS);
|
||||
|
||||
me->Yell(YELL_AGGRO, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_AGGRO);
|
||||
Talk(YELL_AGGRO);
|
||||
DoZoneInCombat();
|
||||
}
|
||||
|
||||
@@ -296,8 +275,7 @@ class boss_nalorakk : public CreatureScript
|
||||
{
|
||||
instance->SetData(DATA_NALORAKKEVENT, DONE);
|
||||
|
||||
me->Yell(YELL_DEATH, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_DEATH);
|
||||
Talk(YELL_DEATH);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
@@ -305,12 +283,10 @@ class boss_nalorakk : public CreatureScript
|
||||
switch (urand(0, 1))
|
||||
{
|
||||
case 0:
|
||||
me->Yell(YELL_KILL_ONE, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_KILL_ONE);
|
||||
Talk(YELL_KILL_ONE);
|
||||
break;
|
||||
case 1:
|
||||
me->Yell(YELL_KILL_TWO, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_KILL_TWO);
|
||||
Talk(YELL_KILL_TWO);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -373,8 +349,7 @@ class boss_nalorakk : public CreatureScript
|
||||
if (Berserk_Timer <= diff)
|
||||
{
|
||||
DoCast(me, SPELL_BERSERK, true);
|
||||
me->Yell(YELL_BERSERK, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_BERSERK);
|
||||
Talk(YELL_BERSERK);
|
||||
Berserk_Timer = 600000;
|
||||
} else Berserk_Timer -= diff;
|
||||
|
||||
@@ -383,8 +358,7 @@ class boss_nalorakk : public CreatureScript
|
||||
if (inBearForm)
|
||||
{
|
||||
// me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 5122);
|
||||
me->Yell(YELL_SHIFTEDTOTROLL, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_TOTROLL);
|
||||
Talk(YELL_SHIFTEDTOTROLL);
|
||||
me->RemoveAurasDueToSpell(SPELL_BEARFORM);
|
||||
Surge_Timer = urand(15000, 20000);
|
||||
BrutalSwipe_Timer = urand(7000, 12000);
|
||||
@@ -395,8 +369,7 @@ class boss_nalorakk : public CreatureScript
|
||||
else
|
||||
{
|
||||
// me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, 0);
|
||||
me->Yell(YELL_SHIFTEDTOBEAR, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_TOBEAR);
|
||||
Talk(YELL_SHIFTEDTOBEAR);
|
||||
DoCast(me, SPELL_BEARFORM, true);
|
||||
LaceratingSlash_Timer = 2000; // dur 18s
|
||||
RendFlesh_Timer = 3000; // dur 5s
|
||||
@@ -426,8 +399,7 @@ class boss_nalorakk : public CreatureScript
|
||||
|
||||
if (Surge_Timer <= diff)
|
||||
{
|
||||
me->Yell(YELL_SURGE, LANG_UNIVERSAL);
|
||||
DoPlaySoundToSet(me, SOUND_YELL_SURGE);
|
||||
Talk(YELL_SURGE);
|
||||
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 45, true);
|
||||
if (target)
|
||||
DoCast(target, SPELL_SURGE);
|
||||
|
||||
@@ -0,0 +1,386 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
void AddSC_alterac_valley(); //Alterac Valley
|
||||
void AddSC_boss_balinda();
|
||||
void AddSC_boss_drekthar();
|
||||
void AddSC_boss_galvangar();
|
||||
void AddSC_boss_vanndar();
|
||||
void AddSC_boss_alizabal(); //Baradin Hold
|
||||
void AddSC_boss_occuthar();
|
||||
void AddSC_boss_pit_lord_argaloth();
|
||||
void AddSC_instance_baradin_hold();
|
||||
void AddSC_boss_romogg_bonecrusher(); //Blackrock Caverns
|
||||
void AddSC_boss_corla();
|
||||
void AddSC_boss_karsh_steelbender();
|
||||
void AddSC_boss_beauty();
|
||||
void AddSC_boss_ascendant_lord_obsidius();
|
||||
void AddSC_blackrock_caverns();
|
||||
void AddSC_instance_blackrock_caverns();
|
||||
void AddSC_blackrock_depths(); //Blackrock Depths
|
||||
void AddSC_boss_ambassador_flamelash();
|
||||
void AddSC_boss_draganthaurissan();
|
||||
void AddSC_boss_general_angerforge();
|
||||
void AddSC_boss_high_interrogator_gerstahn();
|
||||
void AddSC_boss_magmus();
|
||||
void AddSC_boss_moira_bronzebeard();
|
||||
void AddSC_boss_tomb_of_seven();
|
||||
void AddSC_instance_blackrock_depths();
|
||||
void AddSC_boss_drakkisath(); //Blackrock Spire
|
||||
void AddSC_boss_halycon();
|
||||
void AddSC_boss_highlordomokk();
|
||||
void AddSC_boss_mothersmolderweb();
|
||||
void AddSC_boss_overlordwyrmthalak();
|
||||
void AddSC_boss_shadowvosh();
|
||||
void AddSC_boss_thebeast();
|
||||
void AddSC_boss_warmastervoone();
|
||||
void AddSC_boss_quatermasterzigris();
|
||||
void AddSC_boss_pyroguard_emberseer();
|
||||
void AddSC_boss_gyth();
|
||||
void AddSC_boss_rend_blackhand();
|
||||
void AddSC_boss_gizrul_the_slavener();
|
||||
void AddSC_boss_urok_doomhowl();
|
||||
void AddSC_boss_lord_valthalak();
|
||||
void AddSC_instance_blackrock_spire();
|
||||
void AddSC_boss_razorgore(); //Blackwing lair
|
||||
void AddSC_boss_vaelastrasz();
|
||||
void AddSC_boss_broodlord();
|
||||
void AddSC_boss_firemaw();
|
||||
void AddSC_boss_ebonroc();
|
||||
void AddSC_boss_flamegor();
|
||||
void AddSC_boss_chromaggus();
|
||||
void AddSC_boss_nefarian();
|
||||
void AddSC_instance_blackwing_lair();
|
||||
void AddSC_deadmines(); //Deadmines
|
||||
void AddSC_instance_deadmines();
|
||||
void AddSC_boss_mr_smite();
|
||||
void AddSC_gnomeregan(); //Gnomeregan
|
||||
void AddSC_instance_gnomeregan();
|
||||
void AddSC_boss_attumen(); //Karazhan
|
||||
void AddSC_boss_curator();
|
||||
void AddSC_boss_maiden_of_virtue();
|
||||
void AddSC_boss_shade_of_aran();
|
||||
void AddSC_boss_malchezaar();
|
||||
void AddSC_boss_terestian_illhoof();
|
||||
void AddSC_boss_moroes();
|
||||
void AddSC_bosses_opera();
|
||||
void AddSC_boss_netherspite();
|
||||
void AddSC_instance_karazhan();
|
||||
void AddSC_karazhan();
|
||||
void AddSC_boss_nightbane();
|
||||
void AddSC_boss_felblood_kaelthas(); // Magister's Terrace
|
||||
void AddSC_boss_selin_fireheart();
|
||||
void AddSC_boss_vexallus();
|
||||
void AddSC_boss_priestess_delrissa();
|
||||
void AddSC_instance_magisters_terrace();
|
||||
void AddSC_magisters_terrace();
|
||||
void AddSC_boss_lucifron(); //Molten core
|
||||
void AddSC_boss_magmadar();
|
||||
void AddSC_boss_gehennas();
|
||||
void AddSC_boss_garr();
|
||||
void AddSC_boss_baron_geddon();
|
||||
void AddSC_boss_shazzrah();
|
||||
void AddSC_boss_golemagg();
|
||||
void AddSC_boss_sulfuron();
|
||||
void AddSC_boss_majordomo();
|
||||
void AddSC_boss_ragnaros();
|
||||
void AddSC_instance_molten_core();
|
||||
void AddSC_instance_ragefire_chasm(); //Ragefire Chasm
|
||||
void AddSC_the_scarlet_enclave(); //Scarlet Enclave
|
||||
void AddSC_the_scarlet_enclave_c1();
|
||||
void AddSC_the_scarlet_enclave_c2();
|
||||
void AddSC_the_scarlet_enclave_c5();
|
||||
void AddSC_boss_arcanist_doan(); //Scarlet Monastery
|
||||
void AddSC_boss_azshir_the_sleepless();
|
||||
void AddSC_boss_bloodmage_thalnos();
|
||||
void AddSC_boss_headless_horseman();
|
||||
void AddSC_boss_herod();
|
||||
void AddSC_boss_high_inquisitor_fairbanks();
|
||||
void AddSC_boss_houndmaster_loksey();
|
||||
void AddSC_boss_interrogator_vishas();
|
||||
void AddSC_boss_scorn();
|
||||
void AddSC_instance_scarlet_monastery();
|
||||
void AddSC_boss_mograine_and_whitemane();
|
||||
void AddSC_boss_darkmaster_gandling(); //Scholomance
|
||||
void AddSC_boss_death_knight_darkreaver();
|
||||
void AddSC_boss_theolenkrastinov();
|
||||
void AddSC_boss_illuciabarov();
|
||||
void AddSC_boss_instructormalicia();
|
||||
void AddSC_boss_jandicebarov();
|
||||
void AddSC_boss_kormok();
|
||||
void AddSC_boss_lordalexeibarov();
|
||||
void AddSC_boss_lorekeeperpolkelt();
|
||||
void AddSC_boss_rasfrost();
|
||||
void AddSC_boss_theravenian();
|
||||
void AddSC_boss_vectus();
|
||||
void AddSC_boss_kirtonos_the_herald();
|
||||
void AddSC_instance_scholomance();
|
||||
void AddSC_shadowfang_keep(); //Shadowfang keep
|
||||
void AddSC_instance_shadowfang_keep();
|
||||
void AddSC_boss_magistrate_barthilas(); //Stratholme
|
||||
void AddSC_boss_maleki_the_pallid();
|
||||
void AddSC_boss_nerubenkan();
|
||||
void AddSC_boss_cannon_master_willey();
|
||||
void AddSC_boss_baroness_anastari();
|
||||
void AddSC_boss_ramstein_the_gorger();
|
||||
void AddSC_boss_timmy_the_cruel();
|
||||
void AddSC_boss_postmaster_malown();
|
||||
void AddSC_boss_baron_rivendare();
|
||||
void AddSC_boss_dathrohan_balnazzar();
|
||||
void AddSC_boss_order_of_silver_hand();
|
||||
void AddSC_instance_stratholme();
|
||||
void AddSC_stratholme();
|
||||
void AddSC_sunken_temple(); // Sunken Temple
|
||||
void AddSC_instance_sunken_temple();
|
||||
void AddSC_instance_sunwell_plateau(); //Sunwell Plateau
|
||||
void AddSC_boss_kalecgos();
|
||||
void AddSC_boss_brutallus();
|
||||
void AddSC_boss_felmyst();
|
||||
void AddSC_boss_eredar_twins();
|
||||
void AddSC_boss_muru();
|
||||
void AddSC_boss_kiljaeden();
|
||||
void AddSC_sunwell_plateau();
|
||||
void AddSC_boss_archaedas(); //Uldaman
|
||||
void AddSC_boss_ironaya();
|
||||
void AddSC_uldaman();
|
||||
void AddSC_instance_uldaman();
|
||||
void AddSC_instance_the_stockade(); //The Stockade
|
||||
void AddSC_boss_akilzon(); //Zul'Aman
|
||||
void AddSC_boss_halazzi();
|
||||
void AddSC_boss_hex_lord_malacrass();
|
||||
void AddSC_boss_janalai();
|
||||
void AddSC_boss_nalorakk();
|
||||
void AddSC_boss_daakara();
|
||||
void AddSC_instance_zulaman();
|
||||
void AddSC_zulaman();
|
||||
void AddSC_boss_grilek(); // Zul'Gurub
|
||||
void AddSC_boss_hazzarah();
|
||||
void AddSC_boss_jindo_the_godbreaker();
|
||||
void AddSC_boss_kilnara();
|
||||
void AddSC_boss_mandokir();
|
||||
void AddSC_boss_renataki();
|
||||
void AddSC_boss_venoxis();
|
||||
void AddSC_boss_wushoolay();
|
||||
void AddSC_boss_zanzil();
|
||||
void AddSC_instance_zulgurub();
|
||||
//void AddSC_alterac_mountains();
|
||||
void AddSC_arathi_highlands();
|
||||
void AddSC_blasted_lands();
|
||||
void AddSC_burning_steppes();
|
||||
void AddSC_duskwood();
|
||||
void AddSC_eastern_plaguelands();
|
||||
void AddSC_ghostlands();
|
||||
void AddSC_hinterlands();
|
||||
void AddSC_isle_of_queldanas();
|
||||
void AddSC_loch_modan();
|
||||
void AddSC_redridge_mountains();
|
||||
void AddSC_silverpine_forest();
|
||||
void AddSC_stormwind_city();
|
||||
void AddSC_stranglethorn_vale();
|
||||
void AddSC_swamp_of_sorrows();
|
||||
void AddSC_tirisfal_glades();
|
||||
void AddSC_undercity();
|
||||
void AddSC_western_plaguelands();
|
||||
void AddSC_wetlands();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddEasternKingdomsScripts()
|
||||
{
|
||||
AddSC_alterac_valley(); //Alterac Valley
|
||||
AddSC_boss_balinda();
|
||||
AddSC_boss_drekthar();
|
||||
AddSC_boss_galvangar();
|
||||
AddSC_boss_vanndar();
|
||||
AddSC_boss_alizabal(); //Baradin Hold
|
||||
AddSC_boss_occuthar();
|
||||
AddSC_boss_pit_lord_argaloth();
|
||||
AddSC_instance_baradin_hold();
|
||||
AddSC_boss_romogg_bonecrusher(); //Blackrock Caverns
|
||||
AddSC_boss_corla();
|
||||
AddSC_boss_karsh_steelbender();
|
||||
AddSC_boss_beauty();
|
||||
AddSC_boss_ascendant_lord_obsidius();
|
||||
AddSC_blackrock_caverns();
|
||||
AddSC_instance_blackrock_caverns();
|
||||
AddSC_blackrock_depths(); //Blackrock Depths
|
||||
AddSC_boss_ambassador_flamelash();
|
||||
AddSC_boss_draganthaurissan();
|
||||
AddSC_boss_general_angerforge();
|
||||
AddSC_boss_high_interrogator_gerstahn();
|
||||
AddSC_boss_magmus();
|
||||
AddSC_boss_moira_bronzebeard();
|
||||
AddSC_boss_tomb_of_seven();
|
||||
AddSC_instance_blackrock_depths();
|
||||
AddSC_boss_drakkisath(); //Blackrock Spire
|
||||
AddSC_boss_halycon();
|
||||
AddSC_boss_highlordomokk();
|
||||
AddSC_boss_mothersmolderweb();
|
||||
AddSC_boss_overlordwyrmthalak();
|
||||
AddSC_boss_shadowvosh();
|
||||
AddSC_boss_thebeast();
|
||||
AddSC_boss_warmastervoone();
|
||||
AddSC_boss_quatermasterzigris();
|
||||
AddSC_boss_pyroguard_emberseer();
|
||||
AddSC_boss_gyth();
|
||||
AddSC_boss_rend_blackhand();
|
||||
AddSC_boss_gizrul_the_slavener();
|
||||
AddSC_boss_urok_doomhowl();
|
||||
AddSC_boss_lord_valthalak();
|
||||
AddSC_instance_blackrock_spire();
|
||||
AddSC_boss_razorgore(); //Blackwing lair
|
||||
AddSC_boss_vaelastrasz();
|
||||
AddSC_boss_broodlord();
|
||||
AddSC_boss_firemaw();
|
||||
AddSC_boss_ebonroc();
|
||||
AddSC_boss_flamegor();
|
||||
AddSC_boss_chromaggus();
|
||||
AddSC_boss_nefarian();
|
||||
AddSC_instance_blackwing_lair();
|
||||
AddSC_deadmines(); //Deadmines
|
||||
AddSC_boss_mr_smite();
|
||||
AddSC_instance_deadmines();
|
||||
AddSC_gnomeregan(); //Gnomeregan
|
||||
AddSC_instance_gnomeregan();
|
||||
AddSC_boss_attumen(); //Karazhan
|
||||
AddSC_boss_curator();
|
||||
AddSC_boss_maiden_of_virtue();
|
||||
AddSC_boss_shade_of_aran();
|
||||
AddSC_boss_malchezaar();
|
||||
AddSC_boss_terestian_illhoof();
|
||||
AddSC_boss_moroes();
|
||||
AddSC_bosses_opera();
|
||||
AddSC_boss_netherspite();
|
||||
AddSC_instance_karazhan();
|
||||
AddSC_karazhan();
|
||||
AddSC_boss_nightbane();
|
||||
AddSC_boss_felblood_kaelthas(); // Magister's Terrace
|
||||
AddSC_boss_selin_fireheart();
|
||||
AddSC_boss_vexallus();
|
||||
AddSC_boss_priestess_delrissa();
|
||||
AddSC_instance_magisters_terrace();
|
||||
AddSC_magisters_terrace();
|
||||
AddSC_boss_lucifron(); //Molten core
|
||||
AddSC_boss_magmadar();
|
||||
AddSC_boss_gehennas();
|
||||
AddSC_boss_garr();
|
||||
AddSC_boss_baron_geddon();
|
||||
AddSC_boss_shazzrah();
|
||||
AddSC_boss_golemagg();
|
||||
AddSC_boss_sulfuron();
|
||||
AddSC_boss_majordomo();
|
||||
AddSC_boss_ragnaros();
|
||||
AddSC_instance_molten_core();
|
||||
AddSC_instance_ragefire_chasm(); //Ragefire Chasm
|
||||
AddSC_the_scarlet_enclave(); //Scarlet Enclave
|
||||
AddSC_the_scarlet_enclave_c1();
|
||||
AddSC_the_scarlet_enclave_c2();
|
||||
AddSC_the_scarlet_enclave_c5();
|
||||
AddSC_boss_arcanist_doan(); //Scarlet Monastery
|
||||
AddSC_boss_azshir_the_sleepless();
|
||||
AddSC_boss_bloodmage_thalnos();
|
||||
AddSC_boss_headless_horseman();
|
||||
AddSC_boss_herod();
|
||||
AddSC_boss_high_inquisitor_fairbanks();
|
||||
AddSC_boss_houndmaster_loksey();
|
||||
AddSC_boss_interrogator_vishas();
|
||||
AddSC_boss_scorn();
|
||||
AddSC_instance_scarlet_monastery();
|
||||
AddSC_boss_mograine_and_whitemane();
|
||||
AddSC_boss_darkmaster_gandling(); //Scholomance
|
||||
AddSC_boss_death_knight_darkreaver();
|
||||
AddSC_boss_theolenkrastinov();
|
||||
AddSC_boss_illuciabarov();
|
||||
AddSC_boss_instructormalicia();
|
||||
AddSC_boss_jandicebarov();
|
||||
AddSC_boss_kormok();
|
||||
AddSC_boss_lordalexeibarov();
|
||||
AddSC_boss_lorekeeperpolkelt();
|
||||
AddSC_boss_rasfrost();
|
||||
AddSC_boss_theravenian();
|
||||
AddSC_boss_vectus();
|
||||
AddSC_boss_kirtonos_the_herald();
|
||||
AddSC_instance_scholomance();
|
||||
AddSC_shadowfang_keep(); //Shadowfang keep
|
||||
AddSC_instance_shadowfang_keep();
|
||||
AddSC_boss_magistrate_barthilas(); //Stratholme
|
||||
AddSC_boss_maleki_the_pallid();
|
||||
AddSC_boss_nerubenkan();
|
||||
AddSC_boss_cannon_master_willey();
|
||||
AddSC_boss_baroness_anastari();
|
||||
AddSC_boss_ramstein_the_gorger();
|
||||
AddSC_boss_timmy_the_cruel();
|
||||
AddSC_boss_postmaster_malown();
|
||||
AddSC_boss_baron_rivendare();
|
||||
AddSC_boss_dathrohan_balnazzar();
|
||||
AddSC_boss_order_of_silver_hand();
|
||||
AddSC_instance_stratholme();
|
||||
AddSC_stratholme();
|
||||
AddSC_sunken_temple(); // Sunken Temple
|
||||
AddSC_instance_sunken_temple();
|
||||
AddSC_instance_sunwell_plateau(); //Sunwell Plateau
|
||||
AddSC_boss_kalecgos();
|
||||
AddSC_boss_brutallus();
|
||||
AddSC_boss_felmyst();
|
||||
AddSC_boss_eredar_twins();
|
||||
AddSC_boss_muru();
|
||||
AddSC_boss_kiljaeden();
|
||||
AddSC_sunwell_plateau();
|
||||
AddSC_instance_the_stockade(); //The Stockade
|
||||
AddSC_boss_archaedas(); //Uldaman
|
||||
AddSC_boss_ironaya();
|
||||
AddSC_uldaman();
|
||||
AddSC_instance_uldaman();
|
||||
AddSC_boss_akilzon(); //Zul'Aman
|
||||
AddSC_boss_halazzi();
|
||||
AddSC_boss_hex_lord_malacrass();
|
||||
AddSC_boss_janalai();
|
||||
AddSC_boss_nalorakk();
|
||||
AddSC_boss_daakara();
|
||||
AddSC_instance_zulaman();
|
||||
AddSC_zulaman();
|
||||
AddSC_boss_grilek(); // Zul'Gurub
|
||||
AddSC_boss_hazzarah();
|
||||
AddSC_boss_jindo_the_godbreaker();
|
||||
AddSC_boss_kilnara();
|
||||
AddSC_boss_mandokir();
|
||||
AddSC_boss_renataki();
|
||||
AddSC_boss_venoxis();
|
||||
AddSC_boss_wushoolay();
|
||||
AddSC_boss_zanzil();
|
||||
AddSC_instance_zulgurub();
|
||||
//AddSC_alterac_mountains();
|
||||
AddSC_arathi_highlands();
|
||||
AddSC_blasted_lands();
|
||||
AddSC_burning_steppes();
|
||||
AddSC_duskwood();
|
||||
AddSC_eastern_plaguelands();
|
||||
AddSC_ghostlands();
|
||||
AddSC_hinterlands();
|
||||
AddSC_isle_of_queldanas();
|
||||
AddSC_loch_modan();
|
||||
AddSC_redridge_mountains();
|
||||
AddSC_silverpine_forest();
|
||||
AddSC_stormwind_city();
|
||||
AddSC_stranglethorn_vale();
|
||||
AddSC_swamp_of_sorrows();
|
||||
AddSC_tirisfal_glades();
|
||||
AddSC_undercity();
|
||||
AddSC_western_plaguelands();
|
||||
AddSC_wetlands();
|
||||
}
|
||||
@@ -19,7 +19,7 @@
|
||||
/* ScriptData
|
||||
SDName: Eastern_Plaguelands
|
||||
SD%Complete: 100
|
||||
SDComment: Quest support: 5211, 5742. Special vendor Augustus the Touched
|
||||
SDComment: Quest support: 5211. Special vendor Augustus the Touched
|
||||
SDCategory: Eastern Plaguelands
|
||||
EndScriptData */
|
||||
|
||||
@@ -27,7 +27,6 @@ EndScriptData */
|
||||
npc_ghoul_flayer
|
||||
npc_augustus_the_touched
|
||||
npc_darrowshire_spirit
|
||||
npc_tirion_fordring
|
||||
EndContentData */
|
||||
|
||||
#include "ScriptMgr.h"
|
||||
@@ -133,63 +132,9 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_tirion_fordring
|
||||
######*/
|
||||
|
||||
#define GOSSIP_HELLO "I am ready to hear your tale, Tirion."
|
||||
#define GOSSIP_SELECT1 "Thank you, Tirion. What of your identity?"
|
||||
#define GOSSIP_SELECT2 "That is terrible."
|
||||
#define GOSSIP_SELECT3 "I will, Tirion."
|
||||
|
||||
class npc_tirion_fordring : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_tirion_fordring() : CreatureScript("npc_tirion_fordring") { }
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
|
||||
{
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
switch (action)
|
||||
{
|
||||
case GOSSIP_ACTION_INFO_DEF+1:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||
player->SEND_GOSSIP_MENU(4493, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+2:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
|
||||
player->SEND_GOSSIP_MENU(4494, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+3:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
|
||||
player->SEND_GOSSIP_MENU(4495, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+4:
|
||||
player->CLOSE_GOSSIP_MENU();
|
||||
player->AreaExploredOrEventHappens(5742);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) override
|
||||
{
|
||||
if (creature->IsQuestGiver())
|
||||
player->PrepareQuestMenu(creature->GetGUID());
|
||||
|
||||
if (player->GetQuestStatus(5742) == QUEST_STATUS_INCOMPLETE && player->getStandState() == UNIT_STAND_STATE_SIT)
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||
|
||||
player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_eastern_plaguelands()
|
||||
{
|
||||
new npc_ghoul_flayer();
|
||||
new npc_augustus_the_touched();
|
||||
new npc_darrowshire_spirit();
|
||||
new npc_tirion_fordring();
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
file(GLOB_RECURSE sources_Events Events/*.cpp Events/*.h)
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
${sources_Events}
|
||||
)
|
||||
|
||||
message(" -> Prepared: Events")
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
void AddSC_event_childrens_week();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddEventsScripts()
|
||||
{
|
||||
AddSC_event_childrens_week();
|
||||
}
|
||||
@@ -1,127 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
Kalimdor/zone_stonetalon_mountains.cpp
|
||||
Kalimdor/zone_silithus.cpp
|
||||
Kalimdor/zone_moonglade.cpp
|
||||
Kalimdor/RazorfenDowns/razorfen_downs.cpp
|
||||
Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
|
||||
Kalimdor/RazorfenDowns/boss_tuten_kash.cpp
|
||||
Kalimdor/RazorfenDowns/boss_mordresh_fire_eye.cpp
|
||||
Kalimdor/RazorfenDowns/boss_glutton.cpp
|
||||
Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
|
||||
Kalimdor/RazorfenDowns/razorfen_downs.h
|
||||
Kalimdor/ZulFarrak/zulfarrak.cpp
|
||||
Kalimdor/ZulFarrak/instance_zulfarrak.cpp
|
||||
Kalimdor/ZulFarrak/boss_zum_rah.cpp
|
||||
Kalimdor/ZulFarrak/zulfarrak.h
|
||||
Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
|
||||
Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.h
|
||||
Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
|
||||
Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
|
||||
Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
|
||||
Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
|
||||
Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
|
||||
Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
|
||||
Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
|
||||
Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
|
||||
Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
|
||||
Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
|
||||
Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
|
||||
Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
|
||||
Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.h
|
||||
Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.h
|
||||
Kalimdor/CavernsOfTime/TheBlackMorass/instance_the_black_morass.cpp
|
||||
Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
|
||||
Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
|
||||
Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
|
||||
Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
|
||||
Kalimdor/BlackfathomDeeps/boss_kelris.cpp
|
||||
Kalimdor/BlackfathomDeeps/instance_blackfathom_deeps.cpp
|
||||
Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
|
||||
Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
|
||||
Kalimdor/BlackfathomDeeps/boss_aku_mai.cpp
|
||||
Kalimdor/BlackfathomDeeps/blackfathom_deeps.h
|
||||
Kalimdor/zone_azuremyst_isle.cpp
|
||||
Kalimdor/zone_orgrimmar.cpp
|
||||
Kalimdor/zone_desolace.cpp
|
||||
Kalimdor/zone_feralas.cpp
|
||||
Kalimdor/Maraudon/boss_princess_theradras.cpp
|
||||
Kalimdor/Maraudon/boss_landslide.cpp
|
||||
Kalimdor/Maraudon/boss_celebras_the_cursed.cpp
|
||||
Kalimdor/Maraudon/boss_noxxion.cpp
|
||||
Kalimdor/Maraudon/instance_maraudon.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h
|
||||
Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/boss_ouro.cpp
|
||||
Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
|
||||
Kalimdor/zone_darkshore.cpp
|
||||
Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
|
||||
Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
|
||||
Kalimdor/RuinsOfAhnQiraj/boss_rajaxx.cpp
|
||||
Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
|
||||
Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
|
||||
Kalimdor/RuinsOfAhnQiraj/boss_moam.cpp
|
||||
Kalimdor/RuinsOfAhnQiraj/ruins_of_ahnqiraj.h
|
||||
Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
|
||||
Kalimdor/zone_bloodmyst_isle.cpp
|
||||
Kalimdor/zone_thunder_bluff.cpp
|
||||
Kalimdor/zone_azshara.cpp
|
||||
Kalimdor/RazorfenKraul/razorfen_kraul.h
|
||||
Kalimdor/RazorfenKraul/instance_razorfen_kraul.cpp
|
||||
Kalimdor/RazorfenKraul/razorfen_kraul.cpp
|
||||
Kalimdor/zone_the_barrens.cpp
|
||||
Kalimdor/zone_ungoro_crater.cpp
|
||||
Kalimdor/WailingCaverns/wailing_caverns.h
|
||||
Kalimdor/WailingCaverns/instance_wailing_caverns.cpp
|
||||
Kalimdor/WailingCaverns/wailing_caverns.cpp
|
||||
Kalimdor/zone_durotar.cpp
|
||||
Kalimdor/zone_felwood.cpp
|
||||
Kalimdor/zone_tanaris.cpp
|
||||
Kalimdor/zone_winterspring.cpp
|
||||
Kalimdor/zone_thousand_needles.cpp
|
||||
Kalimdor/zone_ashenvale.cpp
|
||||
Kalimdor/OnyxiasLair/boss_onyxia.cpp
|
||||
Kalimdor/OnyxiasLair/onyxias_lair.h
|
||||
Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
|
||||
Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp
|
||||
Kalimdor/DireMaul/instance_dire_maul.cpp
|
||||
Kalimdor/HallsOfOrigination/halls_of_origination.h
|
||||
Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
|
||||
Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
|
||||
Kalimdor/HallsOfOrigination/boss_earthrager_ptah.cpp
|
||||
Kalimdor/HallsOfOrigination/boss_anraphet.cpp
|
||||
Kalimdor/Firelands/instance_firelands.cpp
|
||||
Kalimdor/Firelands/firelands.h
|
||||
Kalimdor/Firelands/boss_alysrazor.cpp
|
||||
)
|
||||
|
||||
message(" -> Prepared: Kalimdor")
|
||||
@@ -0,0 +1,214 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
void AddSC_blackfathom_deeps(); //Blackfathom Depths
|
||||
void AddSC_boss_gelihast();
|
||||
void AddSC_boss_kelris();
|
||||
void AddSC_boss_aku_mai();
|
||||
void AddSC_instance_blackfathom_deeps();
|
||||
void AddSC_hyjal(); //CoT Battle for Mt. Hyjal
|
||||
void AddSC_boss_archimonde();
|
||||
void AddSC_instance_mount_hyjal();
|
||||
void AddSC_hyjal_trash();
|
||||
void AddSC_boss_rage_winterchill();
|
||||
void AddSC_boss_anetheron();
|
||||
void AddSC_boss_kazrogal();
|
||||
void AddSC_boss_azgalor();
|
||||
void AddSC_boss_captain_skarloc(); //CoT Old Hillsbrad
|
||||
void AddSC_boss_epoch_hunter();
|
||||
void AddSC_boss_lieutenant_drake();
|
||||
void AddSC_instance_old_hillsbrad();
|
||||
void AddSC_old_hillsbrad();
|
||||
void AddSC_boss_aeonus(); //CoT The Black Morass
|
||||
void AddSC_boss_chrono_lord_deja();
|
||||
void AddSC_boss_temporus();
|
||||
void AddSC_the_black_morass();
|
||||
void AddSC_instance_the_black_morass();
|
||||
void AddSC_boss_epoch(); //CoT Culling Of Stratholme
|
||||
void AddSC_boss_infinite_corruptor();
|
||||
void AddSC_boss_salramm();
|
||||
void AddSC_boss_mal_ganis();
|
||||
void AddSC_boss_meathook();
|
||||
void AddSC_culling_of_stratholme();
|
||||
void AddSC_instance_culling_of_stratholme();
|
||||
void AddSC_instance_dire_maul(); //Dire Maul
|
||||
void AddSC_boss_celebras_the_cursed(); //Maraudon
|
||||
void AddSC_boss_landslide();
|
||||
void AddSC_boss_noxxion();
|
||||
void AddSC_boss_ptheradras();
|
||||
void AddSC_instance_maraudon();
|
||||
void AddSC_boss_onyxia(); //Onyxia's Lair
|
||||
void AddSC_instance_onyxias_lair();
|
||||
void AddSC_boss_tuten_kash(); //Razorfen Downs
|
||||
void AddSC_boss_mordresh_fire_eye();
|
||||
void AddSC_boss_glutton();
|
||||
void AddSC_boss_amnennar_the_coldbringer();
|
||||
void AddSC_razorfen_downs();
|
||||
void AddSC_instance_razorfen_downs();
|
||||
void AddSC_razorfen_kraul(); //Razorfen Kraul
|
||||
void AddSC_instance_razorfen_kraul();
|
||||
void AddSC_boss_kurinnaxx(); //Ruins of ahn'qiraj
|
||||
void AddSC_boss_rajaxx();
|
||||
void AddSC_boss_moam();
|
||||
void AddSC_boss_buru();
|
||||
void AddSC_boss_ayamiss();
|
||||
void AddSC_boss_ossirian();
|
||||
void AddSC_instance_ruins_of_ahnqiraj();
|
||||
void AddSC_boss_cthun(); //Temple of ahn'qiraj
|
||||
void AddSC_boss_viscidus();
|
||||
void AddSC_boss_fankriss();
|
||||
void AddSC_boss_huhuran();
|
||||
void AddSC_bug_trio();
|
||||
void AddSC_boss_sartura();
|
||||
void AddSC_boss_skeram();
|
||||
void AddSC_boss_twinemperors();
|
||||
void AddSC_boss_ouro();
|
||||
void AddSC_npc_anubisath_sentinel();
|
||||
void AddSC_instance_temple_of_ahnqiraj();
|
||||
void AddSC_wailing_caverns(); //Wailing caverns
|
||||
void AddSC_instance_wailing_caverns();
|
||||
void AddSC_boss_zum_rah(); //Zul'Farrak
|
||||
void AddSC_zulfarrak();
|
||||
void AddSC_instance_zulfarrak();
|
||||
void AddSC_instance_halls_of_origination(); //Halls of Origination
|
||||
void AddSC_boss_temple_guardian_anhuur();
|
||||
void AddSC_boss_earthrager_ptah();
|
||||
void AddSC_boss_anraphet();
|
||||
void AddSC_instance_firelands(); //Firelands
|
||||
void AddSC_boss_alysrazor();
|
||||
|
||||
void AddSC_ashenvale();
|
||||
void AddSC_azshara();
|
||||
void AddSC_azuremyst_isle();
|
||||
void AddSC_bloodmyst_isle();
|
||||
void AddSC_darkshore();
|
||||
void AddSC_desolace();
|
||||
void AddSC_durotar();
|
||||
void AddSC_felwood();
|
||||
void AddSC_feralas();
|
||||
void AddSC_moonglade();
|
||||
void AddSC_orgrimmar();
|
||||
void AddSC_silithus();
|
||||
void AddSC_stonetalon_mountains();
|
||||
void AddSC_tanaris();
|
||||
void AddSC_the_barrens();
|
||||
void AddSC_thousand_needles();
|
||||
void AddSC_thunder_bluff();
|
||||
void AddSC_ungoro_crater();
|
||||
void AddSC_winterspring();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddKalimdorScripts()
|
||||
{
|
||||
AddSC_blackfathom_deeps(); //Blackfathom Depths
|
||||
AddSC_boss_gelihast();
|
||||
AddSC_boss_kelris();
|
||||
AddSC_boss_aku_mai();
|
||||
AddSC_instance_blackfathom_deeps();
|
||||
AddSC_hyjal(); //CoT Battle for Mt. Hyjal
|
||||
AddSC_boss_archimonde();
|
||||
AddSC_instance_mount_hyjal();
|
||||
AddSC_hyjal_trash();
|
||||
AddSC_boss_rage_winterchill();
|
||||
AddSC_boss_anetheron();
|
||||
AddSC_boss_kazrogal();
|
||||
AddSC_boss_azgalor();
|
||||
AddSC_boss_captain_skarloc(); //CoT Old Hillsbrad
|
||||
AddSC_boss_epoch_hunter();
|
||||
AddSC_boss_lieutenant_drake();
|
||||
AddSC_instance_old_hillsbrad();
|
||||
AddSC_old_hillsbrad();
|
||||
AddSC_boss_aeonus(); //CoT The Black Morass
|
||||
AddSC_boss_chrono_lord_deja();
|
||||
AddSC_boss_temporus();
|
||||
AddSC_the_black_morass();
|
||||
AddSC_instance_the_black_morass();
|
||||
AddSC_boss_epoch(); //CoT Culling Of Stratholme
|
||||
AddSC_boss_infinite_corruptor();
|
||||
AddSC_boss_salramm();
|
||||
AddSC_boss_mal_ganis();
|
||||
AddSC_boss_meathook();
|
||||
AddSC_culling_of_stratholme();
|
||||
AddSC_instance_culling_of_stratholme();
|
||||
AddSC_instance_dire_maul(); //Dire Maul
|
||||
AddSC_boss_celebras_the_cursed(); //Maraudon
|
||||
AddSC_boss_landslide();
|
||||
AddSC_boss_noxxion();
|
||||
AddSC_boss_ptheradras();
|
||||
AddSC_instance_maraudon();
|
||||
AddSC_boss_onyxia(); //Onyxia's Lair
|
||||
AddSC_instance_onyxias_lair();
|
||||
AddSC_boss_tuten_kash(); //Razorfen Downs
|
||||
AddSC_boss_mordresh_fire_eye();
|
||||
AddSC_boss_glutton();
|
||||
AddSC_boss_amnennar_the_coldbringer();
|
||||
AddSC_razorfen_downs();
|
||||
AddSC_instance_razorfen_downs();
|
||||
AddSC_razorfen_kraul(); //Razorfen Kraul
|
||||
AddSC_instance_razorfen_kraul();
|
||||
AddSC_boss_kurinnaxx(); //Ruins of ahn'qiraj
|
||||
AddSC_boss_rajaxx();
|
||||
AddSC_boss_moam();
|
||||
AddSC_boss_buru();
|
||||
AddSC_boss_ayamiss();
|
||||
AddSC_boss_ossirian();
|
||||
AddSC_instance_ruins_of_ahnqiraj();
|
||||
AddSC_boss_cthun(); //Temple of ahn'qiraj
|
||||
AddSC_boss_viscidus();
|
||||
AddSC_boss_fankriss();
|
||||
AddSC_boss_huhuran();
|
||||
AddSC_bug_trio();
|
||||
AddSC_boss_sartura();
|
||||
AddSC_boss_skeram();
|
||||
AddSC_boss_twinemperors();
|
||||
AddSC_boss_ouro();
|
||||
AddSC_npc_anubisath_sentinel();
|
||||
AddSC_instance_temple_of_ahnqiraj();
|
||||
AddSC_wailing_caverns(); //Wailing caverns
|
||||
AddSC_instance_wailing_caverns();
|
||||
AddSC_boss_zum_rah(); //Zul'Farrak
|
||||
AddSC_zulfarrak();
|
||||
AddSC_instance_zulfarrak();
|
||||
AddSC_instance_halls_of_origination(); //Halls of Origination
|
||||
AddSC_boss_temple_guardian_anhuur();
|
||||
AddSC_boss_earthrager_ptah();
|
||||
AddSC_boss_anraphet();
|
||||
AddSC_instance_firelands(); //Firelands
|
||||
AddSC_boss_alysrazor();
|
||||
|
||||
AddSC_ashenvale();
|
||||
AddSC_azshara();
|
||||
AddSC_azuremyst_isle();
|
||||
AddSC_bloodmyst_isle();
|
||||
AddSC_darkshore();
|
||||
AddSC_desolace();
|
||||
AddSC_durotar();
|
||||
AddSC_felwood();
|
||||
AddSC_feralas();
|
||||
AddSC_moonglade();
|
||||
AddSC_orgrimmar();
|
||||
AddSC_silithus();
|
||||
AddSC_stonetalon_mountains();
|
||||
AddSC_tanaris();
|
||||
AddSC_the_barrens();
|
||||
AddSC_thousand_needles();
|
||||
AddSC_thunder_bluff();
|
||||
AddSC_ungoro_crater();
|
||||
AddSC_winterspring();
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
Maelstrom/kezan.cpp
|
||||
Maelstrom/Stonecore/instance_stonecore.cpp
|
||||
Maelstrom/Stonecore/stonecore.cpp
|
||||
Maelstrom/Stonecore/stonecore.h
|
||||
Maelstrom/Stonecore/boss_corborus.cpp
|
||||
Maelstrom/Stonecore/boss_slabhide.cpp
|
||||
Maelstrom/Stonecore/boss_ozruk.cpp
|
||||
Maelstrom/Stonecore/boss_high_priestess_azil.cpp
|
||||
)
|
||||
|
||||
message(" -> Prepared: The Maelstrom")
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
void AddSC_kezan();
|
||||
void AddSC_instance_stonecore(); // Stonecore
|
||||
void AddSC_stonecore();
|
||||
void AddSC_boss_corborus();
|
||||
void AddSC_boss_slabhide();
|
||||
void AddSC_boss_ozruk();
|
||||
void AddSC_boss_high_priestess_azil();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddMaelstromScripts()
|
||||
{
|
||||
AddSC_kezan();
|
||||
AddSC_instance_stonecore(); // Stonecore
|
||||
AddSC_stonecore();
|
||||
AddSC_boss_corborus();
|
||||
AddSC_boss_slabhide();
|
||||
AddSC_boss_ozruk();
|
||||
AddSC_boss_high_priestess_azil();
|
||||
}
|
||||
@@ -1,199 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
Northrend/zone_wintergrasp.cpp
|
||||
Northrend/isle_of_conquest.cpp
|
||||
Northrend/zone_storm_peaks.cpp
|
||||
Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp
|
||||
Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
|
||||
Northrend/Ulduar/HallsOfLightning/halls_of_lightning.h
|
||||
Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
|
||||
Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
|
||||
Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_general_vezax.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_thorim.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_ignis.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
|
||||
Northrend/Ulduar/Ulduar/instance_ulduar.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_auriaya.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_hodir.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_xt002.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_mimiron.cpp
|
||||
Northrend/Ulduar/Ulduar/ulduar.h
|
||||
Northrend/Ulduar/Ulduar/boss_freya.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_razorscale.cpp
|
||||
Northrend/Ulduar/Ulduar/boss_kologarn.cpp
|
||||
Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
|
||||
Northrend/Ulduar/HallsOfStone/halls_of_stone.h
|
||||
Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
|
||||
Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp
|
||||
Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
|
||||
Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
|
||||
Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp
|
||||
Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.h
|
||||
Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
|
||||
Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
|
||||
Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp
|
||||
Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.h
|
||||
Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
|
||||
Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp
|
||||
Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
|
||||
Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp
|
||||
Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
|
||||
Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
|
||||
Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
|
||||
Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
|
||||
Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
|
||||
Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
|
||||
Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
|
||||
Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
|
||||
Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
|
||||
Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
|
||||
Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h
|
||||
Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
|
||||
Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
|
||||
Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
|
||||
Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
|
||||
Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
|
||||
Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h
|
||||
Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
|
||||
Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
|
||||
Northrend/Nexus/EyeOfEternity/eye_of_eternity.h
|
||||
Northrend/Nexus/Oculus/boss_eregos.cpp
|
||||
Northrend/Nexus/Oculus/boss_drakos.cpp
|
||||
Northrend/Nexus/Oculus/oculus.h
|
||||
Northrend/Nexus/Oculus/boss_varos.cpp
|
||||
Northrend/Nexus/Oculus/boss_urom.cpp
|
||||
Northrend/Nexus/Oculus/oculus.cpp
|
||||
Northrend/Nexus/Oculus/instance_oculus.cpp
|
||||
Northrend/Nexus/Nexus/boss_nexus_commanders.cpp
|
||||
Northrend/Nexus/Nexus/boss_ormorok.cpp
|
||||
Northrend/Nexus/Nexus/boss_magus_telestra.cpp
|
||||
Northrend/Nexus/Nexus/instance_nexus.cpp
|
||||
Northrend/Nexus/Nexus/boss_keristrasza.cpp
|
||||
Northrend/Nexus/Nexus/boss_anomalus.cpp
|
||||
Northrend/Nexus/Nexus/nexus.h
|
||||
Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_lord_jaraxxus.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.h
|
||||
Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h
|
||||
Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
|
||||
Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
|
||||
Northrend/Naxxramas/boss_loatheb.cpp
|
||||
Northrend/Naxxramas/boss_anubrekhan.cpp
|
||||
Northrend/Naxxramas/boss_maexxna.cpp
|
||||
Northrend/Naxxramas/boss_patchwerk.cpp
|
||||
Northrend/Naxxramas/boss_gothik.cpp
|
||||
Northrend/Naxxramas/boss_faerlina.cpp
|
||||
Northrend/Naxxramas/boss_gluth.cpp
|
||||
Northrend/Naxxramas/boss_four_horsemen.cpp
|
||||
Northrend/Naxxramas/naxxramas.h
|
||||
Northrend/Naxxramas/boss_kelthuzad.cpp
|
||||
Northrend/Naxxramas/boss_heigan.cpp
|
||||
Northrend/Naxxramas/boss_thaddius.cpp
|
||||
Northrend/Naxxramas/boss_razuvious.cpp
|
||||
Northrend/Naxxramas/boss_sapphiron.cpp
|
||||
Northrend/Naxxramas/instance_naxxramas.cpp
|
||||
Northrend/Naxxramas/boss_grobbulus.cpp
|
||||
Northrend/Naxxramas/boss_noth.cpp
|
||||
Northrend/zone_crystalsong_forest.cpp
|
||||
Northrend/VaultOfArchavon/boss_archavon.cpp
|
||||
Northrend/VaultOfArchavon/boss_koralon.cpp
|
||||
Northrend/VaultOfArchavon/vault_of_archavon.h
|
||||
Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp
|
||||
Northrend/VaultOfArchavon/boss_emalon.cpp
|
||||
Northrend/VaultOfArchavon/boss_toravon.cpp
|
||||
Northrend/zone_sholazar_basin.cpp
|
||||
Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
|
||||
Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
|
||||
Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
|
||||
Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
|
||||
Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp
|
||||
Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h
|
||||
Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
|
||||
Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
|
||||
Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h
|
||||
Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
|
||||
Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
|
||||
Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
|
||||
Northrend/zone_dragonblight.cpp
|
||||
Northrend/zone_grizzly_hills.cpp
|
||||
Northrend/AzjolNerub/AzjolNerub/azjol_nerub.h
|
||||
Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
|
||||
Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
|
||||
Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
|
||||
Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
|
||||
Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
|
||||
Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
|
||||
Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp
|
||||
Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
|
||||
Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
|
||||
Northrend/AzjolNerub/Ahnkahet/boss_amanitar.cpp
|
||||
Northrend/AzjolNerub/Ahnkahet/ahnkahet.h
|
||||
Northrend/VioletHold/boss_zuramat.cpp
|
||||
Northrend/VioletHold/instance_violet_hold.cpp
|
||||
Northrend/VioletHold/boss_lavanthor.cpp
|
||||
Northrend/VioletHold/boss_cyanigosa.cpp
|
||||
Northrend/VioletHold/violet_hold.h
|
||||
Northrend/VioletHold/boss_ichoron.cpp
|
||||
Northrend/VioletHold/boss_moragg.cpp
|
||||
Northrend/VioletHold/boss_xevozz.cpp
|
||||
Northrend/VioletHold/boss_erekem.cpp
|
||||
Northrend/VioletHold/violet_hold.cpp
|
||||
Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
|
||||
Northrend/IcecrownCitadel/icecrown_citadel.cpp
|
||||
Northrend/IcecrownCitadel/icecrown_citadel.h
|
||||
Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp
|
||||
Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
|
||||
Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
|
||||
Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
|
||||
Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
|
||||
Northrend/IcecrownCitadel/boss_festergut.cpp
|
||||
Northrend/IcecrownCitadel/boss_rotface.cpp
|
||||
Northrend/IcecrownCitadel/boss_professor_putricide.cpp
|
||||
Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
|
||||
Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
|
||||
Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
|
||||
Northrend/IcecrownCitadel/boss_sindragosa.cpp
|
||||
Northrend/IcecrownCitadel/boss_the_lich_king.cpp
|
||||
Northrend/zone_zuldrak.cpp
|
||||
Northrend/zone_icecrown.cpp
|
||||
Northrend/Gundrak/boss_slad_ran.cpp
|
||||
Northrend/Gundrak/instance_gundrak.cpp
|
||||
Northrend/Gundrak/boss_drakkari_colossus.cpp
|
||||
Northrend/Gundrak/gundrak.h
|
||||
Northrend/Gundrak/boss_gal_darah.cpp
|
||||
Northrend/Gundrak/boss_moorabi.cpp
|
||||
Northrend/Gundrak/boss_eck.cpp
|
||||
Northrend/zone_borean_tundra.cpp
|
||||
Northrend/zone_howling_fjord.cpp
|
||||
Northrend/zone_dalaran.cpp
|
||||
Northrend/DraktharonKeep/boss_trollgore.cpp
|
||||
Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp
|
||||
Northrend/DraktharonKeep/boss_novos.cpp
|
||||
Northrend/DraktharonKeep/drak_tharon_keep.h
|
||||
Northrend/DraktharonKeep/boss_tharon_ja.cpp
|
||||
Northrend/DraktharonKeep/boss_king_dred.cpp
|
||||
)
|
||||
|
||||
message(" -> Prepared: Northrend")
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "pit_of_saron.h"
|
||||
#include "Vehicle.h"
|
||||
#include "Player.h"
|
||||
#include "PlayerAI.h"
|
||||
|
||||
enum Yells
|
||||
{
|
||||
@@ -438,9 +439,10 @@ class spell_tyrannus_overlord_brand : public SpellScriptLoader
|
||||
if (GetTarget()->GetTypeId() != TYPEID_PLAYER)
|
||||
return;
|
||||
|
||||
oldAI = GetTarget()->GetAI();
|
||||
oldAIState = GetTarget()->IsAIEnabled;
|
||||
GetTarget()->SetAI(new player_overlord_brandAI(GetTarget()->ToPlayer(), GetCasterGUID()));
|
||||
Player* pTarget = GetTarget()->ToPlayer();
|
||||
oldAI = pTarget->AI();
|
||||
oldAIState = pTarget->IsAIEnabled;
|
||||
GetTarget()->SetAI(new player_overlord_brandAI(pTarget, GetCasterGUID()));
|
||||
GetTarget()->IsAIEnabled = true;
|
||||
}
|
||||
|
||||
@@ -450,7 +452,7 @@ class spell_tyrannus_overlord_brand : public SpellScriptLoader
|
||||
return;
|
||||
|
||||
GetTarget()->IsAIEnabled = oldAIState;
|
||||
UnitAI* thisAI = GetTarget()->GetAI();
|
||||
PlayerAI* thisAI = GetTarget()->ToPlayer()->AI();
|
||||
GetTarget()->SetAI(oldAI);
|
||||
delete thisAI;
|
||||
}
|
||||
@@ -461,7 +463,7 @@ class spell_tyrannus_overlord_brand : public SpellScriptLoader
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_tyrannus_overlord_brand_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
|
||||
UnitAI* oldAI;
|
||||
PlayerAI* oldAI;
|
||||
bool oldAIState;
|
||||
};
|
||||
|
||||
|
||||
@@ -421,7 +421,7 @@ class boss_lady_deathwhisper : public CreatureScript
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if ((!UpdateVictim() && !events.IsInPhase(PHASE_INTRO)))
|
||||
if (!UpdateVictim() && !events.IsInPhase(PHASE_INTRO))
|
||||
return;
|
||||
|
||||
events.Update(diff);
|
||||
|
||||
@@ -562,7 +562,7 @@ class boss_professor_putricide : public CreatureScript
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if ((!(events.IsInPhase(PHASE_ROTFACE) || events.IsInPhase(PHASE_FESTERGUT)) && !UpdateVictim()))
|
||||
if (!(events.IsInPhase(PHASE_ROTFACE) || events.IsInPhase(PHASE_FESTERGUT)) && !UpdateVictim())
|
||||
return;
|
||||
|
||||
events.Update(diff);
|
||||
|
||||
@@ -334,7 +334,8 @@ class boss_flame_leviathan : public CreatureScript
|
||||
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
|
||||
{
|
||||
if (spell->Id == SPELL_START_THE_ENGINE)
|
||||
ASSERT_NOTNULL(me->GetVehicleKit())->InstallAllAccessories(false);
|
||||
if (Vehicle* vehicleKit = me->GetVehicleKit())
|
||||
vehicleKit->InstallAllAccessories(false);
|
||||
|
||||
if (spell->Id == SPELL_ELECTROSHOCK)
|
||||
me->InterruptSpell(CURRENT_CHANNELED_SPELL);
|
||||
|
||||
@@ -230,6 +230,9 @@ enum Spells
|
||||
|
||||
// Descend Into Madness
|
||||
SPELL_TELEPORT_PORTAL_VISUAL = 64416,
|
||||
SPELL_TELEPORT_TO_STORMWIND_ILLUSION = 63989,
|
||||
SPELL_TELEPORT_TO_CHAMBER_ILLUSION = 63997,
|
||||
SPELL_TELEPORT_TO_ICECROWN_ILLUSION = 63998,
|
||||
|
||||
// Illusions
|
||||
SPELL_GRIM_REPRISAL = 63305,
|
||||
@@ -395,6 +398,14 @@ enum MiscData
|
||||
{
|
||||
ACHIEV_TIMED_START_EVENT = 21001,
|
||||
SOUND_LUNATIC_GAZE = 15757,
|
||||
MAX_ILLUSION_ROOMS = 3
|
||||
};
|
||||
|
||||
uint32 const IllusionSpells[MAX_ILLUSION_ROOMS]
|
||||
{
|
||||
SPELL_TELEPORT_TO_CHAMBER_ILLUSION,
|
||||
SPELL_TELEPORT_TO_ICECROWN_ILLUSION,
|
||||
SPELL_TELEPORT_TO_STORMWIND_ILLUSION
|
||||
};
|
||||
|
||||
class StartAttackEvent : public BasicEvent
|
||||
@@ -1419,7 +1430,11 @@ class npc_descend_into_madness : public CreatureScript
|
||||
{
|
||||
if (!result)
|
||||
return;
|
||||
|
||||
clicker->RemoveAurasDueToSpell(SPELL_BRAIN_LINK);
|
||||
uint32 illusion = _instance->GetData(DATA_ILLUSION);
|
||||
if (illusion < MAX_ILLUSION_ROOMS)
|
||||
DoCast(clicker, IllusionSpells[illusion], true);
|
||||
me->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,374 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
void AddSC_boss_slad_ran();
|
||||
void AddSC_boss_moorabi();
|
||||
void AddSC_boss_drakkari_colossus();
|
||||
void AddSC_boss_gal_darah();
|
||||
void AddSC_boss_eck();
|
||||
void AddSC_instance_gundrak();
|
||||
|
||||
// Azjol-Nerub - Azjol-Nerub
|
||||
void AddSC_boss_krik_thir();
|
||||
void AddSC_boss_hadronox();
|
||||
void AddSC_boss_anub_arak();
|
||||
void AddSC_instance_azjol_nerub();
|
||||
|
||||
// Azjol-Nerub - Ahn'kahet
|
||||
void AddSC_boss_elder_nadox();
|
||||
void AddSC_boss_taldaram();
|
||||
void AddSC_boss_amanitar();
|
||||
void AddSC_boss_jedoga_shadowseeker();
|
||||
void AddSC_boss_volazj();
|
||||
void AddSC_instance_ahnkahet();
|
||||
|
||||
// Drak'Tharon Keep
|
||||
void AddSC_boss_trollgore();
|
||||
void AddSC_boss_novos();
|
||||
void AddSC_boss_king_dred();
|
||||
void AddSC_boss_tharon_ja();
|
||||
void AddSC_instance_drak_tharon_keep();
|
||||
|
||||
void AddSC_boss_argent_challenge(); //Trial of the Champion
|
||||
void AddSC_boss_black_knight();
|
||||
void AddSC_boss_grand_champions();
|
||||
void AddSC_instance_trial_of_the_champion();
|
||||
void AddSC_trial_of_the_champion();
|
||||
void AddSC_boss_anubarak_trial(); //Trial of the Crusader
|
||||
void AddSC_boss_faction_champions();
|
||||
void AddSC_boss_jaraxxus();
|
||||
void AddSC_boss_northrend_beasts();
|
||||
void AddSC_boss_twin_valkyr();
|
||||
void AddSC_trial_of_the_crusader();
|
||||
void AddSC_instance_trial_of_the_crusader();
|
||||
void AddSC_boss_anubrekhan(); //Naxxramas
|
||||
void AddSC_boss_maexxna();
|
||||
void AddSC_boss_patchwerk();
|
||||
void AddSC_boss_grobbulus();
|
||||
void AddSC_boss_razuvious();
|
||||
void AddSC_boss_kelthuzad();
|
||||
void AddSC_boss_loatheb();
|
||||
void AddSC_boss_noth();
|
||||
void AddSC_boss_gluth();
|
||||
void AddSC_boss_sapphiron();
|
||||
void AddSC_boss_four_horsemen();
|
||||
void AddSC_boss_faerlina();
|
||||
void AddSC_boss_heigan();
|
||||
void AddSC_boss_gothik();
|
||||
void AddSC_boss_thaddius();
|
||||
void AddSC_instance_naxxramas();
|
||||
void AddSC_boss_nexus_commanders(); // The Nexus Nexus
|
||||
void AddSC_boss_magus_telestra();
|
||||
void AddSC_boss_anomalus();
|
||||
void AddSC_boss_ormorok();
|
||||
void AddSC_boss_keristrasza();
|
||||
void AddSC_instance_nexus();
|
||||
void AddSC_boss_drakos(); //The Nexus The Oculus
|
||||
void AddSC_boss_urom();
|
||||
void AddSC_boss_varos();
|
||||
void AddSC_boss_eregos();
|
||||
void AddSC_instance_oculus();
|
||||
void AddSC_oculus();
|
||||
void AddSC_boss_malygos(); // The Nexus: Eye of Eternity
|
||||
void AddSC_instance_eye_of_eternity();
|
||||
void AddSC_boss_sartharion(); //Obsidian Sanctum
|
||||
void AddSC_obsidian_sanctum();
|
||||
void AddSC_instance_obsidian_sanctum();
|
||||
void AddSC_boss_bjarngrim(); //Ulduar Halls of Lightning
|
||||
void AddSC_boss_loken();
|
||||
void AddSC_boss_ionar();
|
||||
void AddSC_boss_volkhan();
|
||||
void AddSC_instance_halls_of_lightning();
|
||||
void AddSC_boss_maiden_of_grief(); //Ulduar Halls of Stone
|
||||
void AddSC_boss_krystallus();
|
||||
void AddSC_boss_sjonnir();
|
||||
void AddSC_instance_halls_of_stone();
|
||||
void AddSC_halls_of_stone();
|
||||
void AddSC_boss_auriaya(); //Ulduar Ulduar
|
||||
void AddSC_boss_flame_leviathan();
|
||||
void AddSC_boss_ignis();
|
||||
void AddSC_boss_razorscale();
|
||||
void AddSC_boss_xt002();
|
||||
void AddSC_boss_kologarn();
|
||||
void AddSC_boss_assembly_of_iron();
|
||||
void AddSC_boss_general_vezax();
|
||||
void AddSC_boss_mimiron();
|
||||
void AddSC_boss_hodir();
|
||||
void AddSC_boss_freya();
|
||||
void AddSC_boss_yogg_saron();
|
||||
void AddSC_boss_algalon_the_observer();
|
||||
void AddSC_instance_ulduar();
|
||||
|
||||
// Utgarde Keep - Utgarde Keep
|
||||
void AddSC_boss_keleseth();
|
||||
void AddSC_boss_skarvald_dalronn();
|
||||
void AddSC_boss_ingvar_the_plunderer();
|
||||
void AddSC_instance_utgarde_keep();
|
||||
void AddSC_utgarde_keep();
|
||||
|
||||
// Utgarde Keep - Utgarde Pinnacle
|
||||
void AddSC_boss_svala();
|
||||
void AddSC_boss_palehoof();
|
||||
void AddSC_boss_skadi();
|
||||
void AddSC_boss_ymiron();
|
||||
void AddSC_instance_utgarde_pinnacle();
|
||||
|
||||
// Vault of Archavon
|
||||
void AddSC_boss_archavon();
|
||||
void AddSC_boss_emalon();
|
||||
void AddSC_boss_koralon();
|
||||
void AddSC_boss_toravon();
|
||||
void AddSC_instance_vault_of_archavon();
|
||||
|
||||
void AddSC_boss_cyanigosa(); //Violet Hold
|
||||
void AddSC_boss_erekem();
|
||||
void AddSC_boss_ichoron();
|
||||
void AddSC_boss_lavanthor();
|
||||
void AddSC_boss_moragg();
|
||||
void AddSC_boss_xevozz();
|
||||
void AddSC_boss_zuramat();
|
||||
void AddSC_instance_violet_hold();
|
||||
void AddSC_violet_hold();
|
||||
void AddSC_instance_forge_of_souls(); //Forge of Souls
|
||||
void AddSC_forge_of_souls();
|
||||
void AddSC_boss_bronjahm();
|
||||
void AddSC_boss_devourer_of_souls();
|
||||
void AddSC_instance_pit_of_saron(); //Pit of Saron
|
||||
void AddSC_pit_of_saron();
|
||||
void AddSC_boss_garfrost();
|
||||
void AddSC_boss_ick();
|
||||
void AddSC_boss_tyrannus();
|
||||
void AddSC_instance_halls_of_reflection(); // Halls of Reflection
|
||||
void AddSC_halls_of_reflection();
|
||||
void AddSC_boss_falric();
|
||||
void AddSC_boss_marwyn();
|
||||
void AddSC_boss_lord_marrowgar(); // Icecrown Citadel
|
||||
void AddSC_boss_lady_deathwhisper();
|
||||
void AddSC_boss_icecrown_gunship_battle();
|
||||
void AddSC_boss_deathbringer_saurfang();
|
||||
void AddSC_boss_festergut();
|
||||
void AddSC_boss_rotface();
|
||||
void AddSC_boss_professor_putricide();
|
||||
void AddSC_boss_blood_prince_council();
|
||||
void AddSC_boss_blood_queen_lana_thel();
|
||||
void AddSC_boss_valithria_dreamwalker();
|
||||
void AddSC_boss_sindragosa();
|
||||
void AddSC_boss_the_lich_king();
|
||||
void AddSC_icecrown_citadel_teleport();
|
||||
void AddSC_instance_icecrown_citadel();
|
||||
void AddSC_icecrown_citadel();
|
||||
void AddSC_instance_ruby_sanctum(); // Ruby Sanctum
|
||||
void AddSC_ruby_sanctum();
|
||||
void AddSC_boss_baltharus_the_warborn();
|
||||
void AddSC_boss_saviana_ragefire();
|
||||
void AddSC_boss_general_zarithrian();
|
||||
void AddSC_boss_halion();
|
||||
|
||||
void AddSC_dalaran();
|
||||
void AddSC_borean_tundra();
|
||||
void AddSC_dragonblight();
|
||||
void AddSC_grizzly_hills();
|
||||
void AddSC_howling_fjord();
|
||||
void AddSC_icecrown();
|
||||
void AddSC_sholazar_basin();
|
||||
void AddSC_storm_peaks();
|
||||
void AddSC_wintergrasp();
|
||||
void AddSC_zuldrak();
|
||||
void AddSC_crystalsong_forest();
|
||||
void AddSC_isle_of_conquest();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddNorthrendScripts()
|
||||
{
|
||||
AddSC_boss_slad_ran(); //Gundrak
|
||||
AddSC_boss_moorabi();
|
||||
AddSC_boss_drakkari_colossus();
|
||||
AddSC_boss_gal_darah();
|
||||
AddSC_boss_eck();
|
||||
AddSC_instance_gundrak();
|
||||
|
||||
// Azjol-Nerub - Ahn'kahet
|
||||
AddSC_boss_elder_nadox();
|
||||
AddSC_boss_taldaram();
|
||||
AddSC_boss_amanitar();
|
||||
AddSC_boss_jedoga_shadowseeker();
|
||||
AddSC_boss_volazj();
|
||||
AddSC_instance_ahnkahet();
|
||||
|
||||
// Azjol-Nerub - Azjol-Nerub
|
||||
AddSC_boss_krik_thir();
|
||||
AddSC_boss_hadronox();
|
||||
AddSC_boss_anub_arak();
|
||||
AddSC_instance_azjol_nerub();
|
||||
|
||||
// Drak'Tharon Keep
|
||||
AddSC_boss_trollgore();
|
||||
AddSC_boss_novos();
|
||||
AddSC_boss_king_dred();
|
||||
AddSC_boss_tharon_ja();
|
||||
AddSC_instance_drak_tharon_keep();
|
||||
|
||||
AddSC_boss_argent_challenge(); //Trial of the Champion
|
||||
AddSC_boss_black_knight();
|
||||
AddSC_boss_grand_champions();
|
||||
AddSC_instance_trial_of_the_champion();
|
||||
AddSC_trial_of_the_champion();
|
||||
AddSC_boss_anubarak_trial(); //Trial of the Crusader
|
||||
AddSC_boss_faction_champions();
|
||||
AddSC_boss_jaraxxus();
|
||||
AddSC_trial_of_the_crusader();
|
||||
AddSC_boss_twin_valkyr();
|
||||
AddSC_boss_northrend_beasts();
|
||||
AddSC_instance_trial_of_the_crusader();
|
||||
AddSC_boss_anubrekhan(); //Naxxramas
|
||||
AddSC_boss_maexxna();
|
||||
AddSC_boss_patchwerk();
|
||||
AddSC_boss_grobbulus();
|
||||
AddSC_boss_razuvious();
|
||||
AddSC_boss_kelthuzad();
|
||||
AddSC_boss_loatheb();
|
||||
AddSC_boss_noth();
|
||||
AddSC_boss_gluth();
|
||||
AddSC_boss_sapphiron();
|
||||
AddSC_boss_four_horsemen();
|
||||
AddSC_boss_faerlina();
|
||||
AddSC_boss_heigan();
|
||||
AddSC_boss_gothik();
|
||||
AddSC_boss_thaddius();
|
||||
AddSC_instance_naxxramas();
|
||||
AddSC_boss_nexus_commanders(); // The Nexus Nexus
|
||||
AddSC_boss_magus_telestra();
|
||||
AddSC_boss_anomalus();
|
||||
AddSC_boss_ormorok();
|
||||
AddSC_boss_keristrasza();
|
||||
AddSC_instance_nexus();
|
||||
AddSC_boss_drakos(); //The Nexus The Oculus
|
||||
AddSC_boss_urom();
|
||||
AddSC_boss_varos();
|
||||
AddSC_boss_eregos();
|
||||
AddSC_instance_oculus();
|
||||
AddSC_oculus();
|
||||
AddSC_boss_malygos(); // The Nexus: Eye of Eternity
|
||||
AddSC_instance_eye_of_eternity();
|
||||
AddSC_boss_sartharion(); //Obsidian Sanctum
|
||||
AddSC_obsidian_sanctum();
|
||||
AddSC_instance_obsidian_sanctum();
|
||||
AddSC_boss_bjarngrim(); //Ulduar Halls of Lightning
|
||||
AddSC_boss_loken();
|
||||
AddSC_boss_ionar();
|
||||
AddSC_boss_volkhan();
|
||||
AddSC_instance_halls_of_lightning();
|
||||
AddSC_boss_maiden_of_grief(); //Ulduar Halls of Stone
|
||||
AddSC_boss_krystallus();
|
||||
AddSC_boss_sjonnir();
|
||||
AddSC_instance_halls_of_stone();
|
||||
AddSC_halls_of_stone();
|
||||
AddSC_boss_auriaya(); //Ulduar Ulduar
|
||||
AddSC_boss_flame_leviathan();
|
||||
AddSC_boss_ignis();
|
||||
AddSC_boss_razorscale();
|
||||
AddSC_boss_xt002();
|
||||
AddSC_boss_general_vezax();
|
||||
AddSC_boss_assembly_of_iron();
|
||||
AddSC_boss_kologarn();
|
||||
AddSC_boss_mimiron();
|
||||
AddSC_boss_hodir();
|
||||
AddSC_boss_freya();
|
||||
AddSC_boss_yogg_saron();
|
||||
AddSC_boss_algalon_the_observer();
|
||||
AddSC_instance_ulduar();
|
||||
|
||||
// Utgarde Keep - Utgarde Keep
|
||||
AddSC_boss_keleseth();
|
||||
AddSC_boss_skarvald_dalronn();
|
||||
AddSC_boss_ingvar_the_plunderer();
|
||||
AddSC_instance_utgarde_keep();
|
||||
AddSC_utgarde_keep();
|
||||
|
||||
// Utgarde Keep - Utgarde Pinnacle
|
||||
AddSC_boss_svala();
|
||||
AddSC_boss_palehoof();
|
||||
AddSC_boss_skadi();
|
||||
AddSC_boss_ymiron();
|
||||
AddSC_instance_utgarde_pinnacle();
|
||||
|
||||
// Vault of Archavon
|
||||
AddSC_boss_archavon();
|
||||
AddSC_boss_emalon();
|
||||
AddSC_boss_koralon();
|
||||
AddSC_boss_toravon();
|
||||
AddSC_instance_vault_of_archavon();
|
||||
|
||||
AddSC_boss_cyanigosa(); //Violet Hold
|
||||
AddSC_boss_erekem();
|
||||
AddSC_boss_ichoron();
|
||||
AddSC_boss_lavanthor();
|
||||
AddSC_boss_moragg();
|
||||
AddSC_boss_xevozz();
|
||||
AddSC_boss_zuramat();
|
||||
AddSC_instance_violet_hold();
|
||||
AddSC_violet_hold();
|
||||
AddSC_instance_forge_of_souls(); //Forge of Souls
|
||||
AddSC_forge_of_souls();
|
||||
AddSC_boss_bronjahm();
|
||||
AddSC_boss_devourer_of_souls();
|
||||
AddSC_instance_pit_of_saron(); //Pit of Saron
|
||||
AddSC_pit_of_saron();
|
||||
AddSC_boss_garfrost();
|
||||
AddSC_boss_ick();
|
||||
AddSC_boss_tyrannus();
|
||||
AddSC_instance_halls_of_reflection(); // Halls of Reflection
|
||||
AddSC_halls_of_reflection();
|
||||
AddSC_boss_falric();
|
||||
AddSC_boss_marwyn();
|
||||
AddSC_boss_lord_marrowgar(); // Icecrown Citadel
|
||||
AddSC_boss_lady_deathwhisper();
|
||||
AddSC_boss_icecrown_gunship_battle();
|
||||
AddSC_boss_deathbringer_saurfang();
|
||||
AddSC_boss_festergut();
|
||||
AddSC_boss_rotface();
|
||||
AddSC_boss_professor_putricide();
|
||||
AddSC_boss_blood_prince_council();
|
||||
AddSC_boss_blood_queen_lana_thel();
|
||||
AddSC_boss_valithria_dreamwalker();
|
||||
AddSC_boss_sindragosa();
|
||||
AddSC_boss_the_lich_king();
|
||||
AddSC_icecrown_citadel_teleport();
|
||||
AddSC_instance_icecrown_citadel();
|
||||
AddSC_icecrown_citadel();
|
||||
AddSC_instance_ruby_sanctum(); // Ruby Sanctum
|
||||
AddSC_ruby_sanctum();
|
||||
AddSC_boss_baltharus_the_warborn();
|
||||
AddSC_boss_saviana_ragefire();
|
||||
AddSC_boss_general_zarithrian();
|
||||
AddSC_boss_halion();
|
||||
|
||||
AddSC_dalaran();
|
||||
AddSC_borean_tundra();
|
||||
AddSC_dragonblight();
|
||||
AddSC_grizzly_hills();
|
||||
AddSC_howling_fjord();
|
||||
AddSC_icecrown();
|
||||
AddSC_sholazar_basin();
|
||||
AddSC_storm_peaks();
|
||||
AddSC_wintergrasp();
|
||||
AddSC_zuldrak();
|
||||
AddSC_crystalsong_forest();
|
||||
AddSC_isle_of_conquest();
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
OutdoorPvP/OutdoorPvPTF.cpp
|
||||
OutdoorPvP/OutdoorPvPSI.cpp
|
||||
OutdoorPvP/OutdoorPvPSI.h
|
||||
OutdoorPvP/OutdoorPvPZM.cpp
|
||||
OutdoorPvP/OutdoorPvPNA.cpp
|
||||
OutdoorPvP/OutdoorPvPHP.cpp
|
||||
OutdoorPvP/OutdoorPvPTF.h
|
||||
OutdoorPvP/OutdoorPvPHP.h
|
||||
OutdoorPvP/OutdoorPvPZM.h
|
||||
OutdoorPvP/OutdoorPvPNA.h
|
||||
)
|
||||
|
||||
message(" -> Prepared: Outdoor PVP Zones")
|
||||
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
void AddSC_outdoorpvp_hp();
|
||||
void AddSC_outdoorpvp_na();
|
||||
void AddSC_outdoorpvp_si();
|
||||
void AddSC_outdoorpvp_tf();
|
||||
void AddSC_outdoorpvp_zm();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddOutdoorPvPScripts()
|
||||
{
|
||||
AddSC_outdoorpvp_hp();
|
||||
AddSC_outdoorpvp_na();
|
||||
AddSC_outdoorpvp_si();
|
||||
AddSC_outdoorpvp_tf();
|
||||
AddSC_outdoorpvp_zm();
|
||||
}
|
||||
@@ -1,128 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
Outland/zone_nagrand.cpp
|
||||
Outland/HellfireCitadel/MagtheridonsLair/magtheridons_lair.h
|
||||
Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
|
||||
Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
|
||||
Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
|
||||
Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp
|
||||
Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
|
||||
Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
|
||||
Outland/HellfireCitadel/HellfireRamparts/hellfire_ramparts.h
|
||||
Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
|
||||
Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
|
||||
Outland/HellfireCitadel/BloodFurnace/blood_furnace.h
|
||||
Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
|
||||
Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
|
||||
Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h
|
||||
Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
|
||||
Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
|
||||
Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
|
||||
Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
|
||||
Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
|
||||
Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
|
||||
Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
|
||||
Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
|
||||
Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
|
||||
Outland/CoilfangReservoir/SteamVault/steam_vault.h
|
||||
Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
|
||||
Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
|
||||
Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
|
||||
Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h
|
||||
Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
|
||||
Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
|
||||
Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
|
||||
Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
|
||||
Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp
|
||||
Outland/CoilfangReservoir/TheSlavePens/the_slave_pens.h
|
||||
Outland/CoilfangReservoir/TheSlavePens/boss_mennu_the_betrayer.cpp
|
||||
Outland/CoilfangReservoir/TheSlavePens/boss_rokmar_the_crackler.cpp
|
||||
Outland/CoilfangReservoir/TheSlavePens/boss_quagmirran.cpp
|
||||
Outland/CoilfangReservoir/TheUnderbog/instance_the_underbog.cpp
|
||||
Outland/CoilfangReservoir/TheUnderbog/boss_hungarfen.cpp
|
||||
Outland/CoilfangReservoir/TheUnderbog/boss_the_black_stalker.cpp
|
||||
Outland/zone_shattrath_city.cpp
|
||||
Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp
|
||||
Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
|
||||
Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
|
||||
Outland/TempestKeep/Mechanar/mechanar.h
|
||||
Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
|
||||
Outland/TempestKeep/Mechanar/instance_mechanar.cpp
|
||||
Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
|
||||
Outland/TempestKeep/Eye/the_eye.h
|
||||
Outland/TempestKeep/Eye/instance_the_eye.cpp
|
||||
Outland/TempestKeep/Eye/boss_void_reaver.cpp
|
||||
Outland/TempestKeep/Eye/boss_astromancer.cpp
|
||||
Outland/TempestKeep/Eye/boss_alar.cpp
|
||||
Outland/TempestKeep/Eye/boss_kaelthas.cpp
|
||||
Outland/TempestKeep/Eye/the_eye.cpp
|
||||
Outland/TempestKeep/botanica/the_botanica.h
|
||||
Outland/TempestKeep/botanica/instance_the_botanica.cpp
|
||||
Outland/TempestKeep/botanica/boss_commander_sarannis.cpp
|
||||
Outland/TempestKeep/botanica/boss_thorngrin_the_tender.cpp
|
||||
Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp
|
||||
Outland/TempestKeep/botanica/boss_warp_splinter.cpp
|
||||
Outland/TempestKeep/botanica/boss_laj.cpp
|
||||
Outland/TempestKeep/arcatraz/boss_zereketh_the_unbound.cpp
|
||||
Outland/TempestKeep/arcatraz/boss_dalliah_the_doomsayer.cpp
|
||||
Outland/TempestKeep/arcatraz/boss_wrath_scryer_soccothrates.cpp
|
||||
Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp
|
||||
Outland/TempestKeep/arcatraz/instance_arcatraz.cpp
|
||||
Outland/TempestKeep/arcatraz/arcatraz.h
|
||||
Outland/TempestKeep/arcatraz/arcatraz.cpp
|
||||
Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp
|
||||
Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
|
||||
Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp
|
||||
Outland/Auchindoun/AuchenaiCrypts/auchenai_crypts.h
|
||||
Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
|
||||
Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
|
||||
Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp
|
||||
Outland/Auchindoun/ManaTombs/mana_tombs.h
|
||||
Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
|
||||
Outland/Auchindoun/SethekkHalls/boss_talon_king_ikiss.cpp
|
||||
Outland/Auchindoun/SethekkHalls/boss_anzu.cpp
|
||||
Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
|
||||
Outland/Auchindoun/SethekkHalls/sethekk_halls.h
|
||||
Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
|
||||
Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
|
||||
Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
|
||||
Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
|
||||
Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
|
||||
Outland/Auchindoun/ShadowLabyrinth/shadow_labyrinth.h
|
||||
Outland/boss_doomwalker.cpp
|
||||
Outland/zone_terokkar_forest.cpp
|
||||
Outland/zone_hellfire_peninsula.cpp
|
||||
Outland/boss_doomlord_kazzak.cpp
|
||||
Outland/BlackTemple/boss_teron_gorefiend.cpp
|
||||
Outland/BlackTemple/black_temple.h
|
||||
Outland/BlackTemple/illidari_council.cpp
|
||||
Outland/BlackTemple/boss_shade_of_akama.cpp
|
||||
Outland/BlackTemple/boss_supremus.cpp
|
||||
Outland/BlackTemple/black_temple.cpp
|
||||
Outland/BlackTemple/boss_mother_shahraz.cpp
|
||||
Outland/BlackTemple/instance_black_temple.cpp
|
||||
Outland/BlackTemple/boss_reliquary_of_souls.cpp
|
||||
Outland/BlackTemple/boss_warlord_najentus.cpp
|
||||
Outland/BlackTemple/boss_gurtogg_bloodboil.cpp
|
||||
Outland/BlackTemple/boss_illidan.cpp
|
||||
Outland/zone_shadowmoon_valley.cpp
|
||||
Outland/zone_blades_edge_mountains.cpp
|
||||
Outland/GruulsLair/boss_high_king_maulgar.cpp
|
||||
Outland/GruulsLair/boss_gruul.cpp
|
||||
Outland/GruulsLair/gruuls_lair.h
|
||||
Outland/GruulsLair/instance_gruuls_lair.cpp
|
||||
Outland/zone_netherstorm.cpp
|
||||
Outland/zone_zangarmarsh.cpp
|
||||
)
|
||||
|
||||
message(" -> Prepared: Outland")
|
||||
@@ -289,6 +289,7 @@ class boss_alar : public CreatureScript
|
||||
me->SetPosition(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f);
|
||||
me->StopMoving();
|
||||
WaitEvent = WE_LAND;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -0,0 +1,256 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
// Auchindoun - Auchenai Crypts
|
||||
void AddSC_boss_shirrak_the_dead_watcher();
|
||||
void AddSC_boss_exarch_maladaar();
|
||||
void AddSC_instance_auchenai_crypts();
|
||||
|
||||
// Auchindoun - Mana Tombs
|
||||
void AddSC_boss_pandemonius();
|
||||
void AddSC_boss_nexusprince_shaffar();
|
||||
void AddSC_instance_mana_tombs();
|
||||
|
||||
// Auchindoun - Sekketh Halls
|
||||
void AddSC_boss_darkweaver_syth();
|
||||
void AddSC_boss_talon_king_ikiss();
|
||||
void AddSC_boss_anzu();
|
||||
void AddSC_instance_sethekk_halls();
|
||||
|
||||
// Auchindoun - Shadow Labyrinth
|
||||
void AddSC_boss_ambassador_hellmaw();
|
||||
void AddSC_boss_blackheart_the_inciter();
|
||||
void AddSC_boss_grandmaster_vorpil();
|
||||
void AddSC_boss_murmur();
|
||||
void AddSC_instance_shadow_labyrinth();
|
||||
|
||||
// Black Temple
|
||||
void AddSC_black_temple();
|
||||
void AddSC_boss_illidan();
|
||||
void AddSC_boss_shade_of_akama();
|
||||
void AddSC_boss_supremus();
|
||||
void AddSC_boss_gurtogg_bloodboil();
|
||||
void AddSC_boss_mother_shahraz();
|
||||
void AddSC_boss_reliquary_of_souls();
|
||||
void AddSC_boss_teron_gorefiend();
|
||||
void AddSC_boss_najentus();
|
||||
void AddSC_boss_illidari_council();
|
||||
void AddSC_instance_black_temple();
|
||||
|
||||
// Coilfang Reservoir - Serpent Shrine Cavern
|
||||
void AddSC_boss_fathomlord_karathress();
|
||||
void AddSC_boss_hydross_the_unstable();
|
||||
void AddSC_boss_lady_vashj();
|
||||
void AddSC_boss_leotheras_the_blind();
|
||||
void AddSC_boss_morogrim_tidewalker();
|
||||
void AddSC_instance_serpentshrine_cavern();
|
||||
void AddSC_boss_the_lurker_below();
|
||||
|
||||
// Coilfang Reservoir - The Steam Vault
|
||||
void AddSC_boss_hydromancer_thespia();
|
||||
void AddSC_boss_mekgineer_steamrigger();
|
||||
void AddSC_boss_warlord_kalithresh();
|
||||
void AddSC_instance_steam_vault();
|
||||
|
||||
// Coilfang Reservoir - The Slave Pens
|
||||
void AddSC_instance_the_slave_pens();
|
||||
void AddSC_boss_mennu_the_betrayer();
|
||||
void AddSC_boss_rokmar_the_crackler();
|
||||
void AddSC_boss_quagmirran();
|
||||
|
||||
// Coilfang Reservoir - The Underbog
|
||||
void AddSC_instance_the_underbog();
|
||||
void AddSC_boss_hungarfen();
|
||||
void AddSC_boss_the_black_stalker();
|
||||
|
||||
// Gruul's Lair
|
||||
void AddSC_boss_gruul();
|
||||
void AddSC_boss_high_king_maulgar();
|
||||
void AddSC_instance_gruuls_lair();
|
||||
void AddSC_boss_broggok(); //HC Blood Furnace
|
||||
void AddSC_boss_kelidan_the_breaker();
|
||||
void AddSC_boss_the_maker();
|
||||
void AddSC_instance_blood_furnace();
|
||||
void AddSC_boss_magtheridon(); //HC Magtheridon's Lair
|
||||
void AddSC_instance_magtheridons_lair();
|
||||
void AddSC_boss_grand_warlock_nethekurse(); //HC Shattered Halls
|
||||
void AddSC_boss_warbringer_omrogg();
|
||||
void AddSC_boss_warchief_kargath_bladefist();
|
||||
void AddSC_shattered_halls();
|
||||
void AddSC_instance_shattered_halls();
|
||||
void AddSC_boss_watchkeeper_gargolmar(); //HC Ramparts
|
||||
void AddSC_boss_omor_the_unscarred();
|
||||
void AddSC_boss_vazruden_the_herald();
|
||||
void AddSC_instance_ramparts();
|
||||
void AddSC_arcatraz(); //TK Arcatraz
|
||||
void AddSC_boss_zereketh_the_unbound();
|
||||
void AddSC_boss_dalliah_the_doomsayer();
|
||||
void AddSC_boss_wrath_scryer_soccothrates();
|
||||
void AddSC_boss_harbinger_skyriss();
|
||||
void AddSC_instance_arcatraz();
|
||||
void AddSC_boss_high_botanist_freywinn(); //TK Botanica
|
||||
void AddSC_boss_laj();
|
||||
void AddSC_boss_warp_splinter();
|
||||
void AddSC_boss_thorngrin_the_tender();
|
||||
void AddSC_boss_commander_sarannis();
|
||||
void AddSC_instance_the_botanica();
|
||||
void AddSC_boss_alar(); //TK The Eye
|
||||
void AddSC_boss_kaelthas();
|
||||
void AddSC_boss_void_reaver();
|
||||
void AddSC_boss_high_astromancer_solarian();
|
||||
void AddSC_instance_the_eye();
|
||||
void AddSC_the_eye();
|
||||
void AddSC_boss_gatewatcher_iron_hand(); //TK The Mechanar
|
||||
void AddSC_boss_gatewatcher_gyrokill();
|
||||
void AddSC_boss_nethermancer_sepethrea();
|
||||
void AddSC_boss_pathaleon_the_calculator();
|
||||
void AddSC_boss_mechano_lord_capacitus();
|
||||
void AddSC_instance_mechanar();
|
||||
|
||||
void AddSC_blades_edge_mountains();
|
||||
void AddSC_boss_doomlordkazzak();
|
||||
void AddSC_boss_doomwalker();
|
||||
void AddSC_hellfire_peninsula();
|
||||
void AddSC_nagrand();
|
||||
void AddSC_netherstorm();
|
||||
void AddSC_shadowmoon_valley();
|
||||
void AddSC_shattrath_city();
|
||||
void AddSC_terokkar_forest();
|
||||
void AddSC_zangarmarsh();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddOutlandScripts()
|
||||
{
|
||||
// Auchindoun - Auchenai Crypts
|
||||
AddSC_boss_shirrak_the_dead_watcher();
|
||||
AddSC_boss_exarch_maladaar();
|
||||
AddSC_instance_auchenai_crypts();
|
||||
|
||||
// Auchindoun - Mana Tombs
|
||||
AddSC_boss_pandemonius();
|
||||
AddSC_boss_nexusprince_shaffar();
|
||||
AddSC_instance_mana_tombs();
|
||||
|
||||
// Auchindoun - Sekketh Halls
|
||||
AddSC_boss_darkweaver_syth();
|
||||
AddSC_boss_talon_king_ikiss();
|
||||
AddSC_boss_anzu();
|
||||
AddSC_instance_sethekk_halls();
|
||||
|
||||
// Auchindoun - Shadow Labyrinth
|
||||
AddSC_boss_ambassador_hellmaw();
|
||||
AddSC_boss_blackheart_the_inciter();
|
||||
AddSC_boss_grandmaster_vorpil();
|
||||
AddSC_boss_murmur();
|
||||
AddSC_instance_shadow_labyrinth();
|
||||
|
||||
// Black Temple
|
||||
AddSC_black_temple();
|
||||
AddSC_boss_illidan();
|
||||
AddSC_boss_shade_of_akama();
|
||||
AddSC_boss_supremus();
|
||||
AddSC_boss_gurtogg_bloodboil();
|
||||
AddSC_boss_mother_shahraz();
|
||||
AddSC_boss_reliquary_of_souls();
|
||||
AddSC_boss_teron_gorefiend();
|
||||
AddSC_boss_najentus();
|
||||
AddSC_boss_illidari_council();
|
||||
AddSC_instance_black_temple();
|
||||
|
||||
// Coilfang Reservoir - Serpent Shrine Cavern
|
||||
AddSC_boss_fathomlord_karathress();
|
||||
AddSC_boss_hydross_the_unstable();
|
||||
AddSC_boss_lady_vashj();
|
||||
AddSC_boss_leotheras_the_blind();
|
||||
AddSC_boss_morogrim_tidewalker();
|
||||
AddSC_instance_serpentshrine_cavern();
|
||||
AddSC_boss_the_lurker_below();
|
||||
|
||||
// Coilfang Reservoir - The Steam Vault
|
||||
AddSC_instance_steam_vault();
|
||||
AddSC_boss_hydromancer_thespia();
|
||||
AddSC_boss_mekgineer_steamrigger();
|
||||
AddSC_boss_warlord_kalithresh();
|
||||
|
||||
// Coilfang Reservoir - The Slave Pens
|
||||
AddSC_instance_the_slave_pens();
|
||||
AddSC_boss_mennu_the_betrayer();
|
||||
AddSC_boss_rokmar_the_crackler();
|
||||
AddSC_boss_quagmirran();
|
||||
|
||||
// Coilfang Reservoir - The Underbog
|
||||
AddSC_instance_the_underbog();
|
||||
AddSC_boss_hungarfen();
|
||||
AddSC_boss_the_black_stalker();
|
||||
|
||||
// Gruul's Lair
|
||||
AddSC_boss_gruul();
|
||||
AddSC_boss_high_king_maulgar();
|
||||
AddSC_instance_gruuls_lair();
|
||||
AddSC_boss_broggok(); //HC Blood Furnace
|
||||
AddSC_boss_kelidan_the_breaker();
|
||||
AddSC_boss_the_maker();
|
||||
AddSC_instance_blood_furnace();
|
||||
AddSC_boss_magtheridon(); //HC Magtheridon's Lair
|
||||
AddSC_instance_magtheridons_lair();
|
||||
AddSC_boss_grand_warlock_nethekurse(); //HC Shattered Halls
|
||||
AddSC_boss_warbringer_omrogg();
|
||||
AddSC_boss_warchief_kargath_bladefist();
|
||||
AddSC_shattered_halls();
|
||||
AddSC_instance_shattered_halls();
|
||||
AddSC_boss_watchkeeper_gargolmar(); //HC Ramparts
|
||||
AddSC_boss_omor_the_unscarred();
|
||||
AddSC_boss_vazruden_the_herald();
|
||||
AddSC_instance_ramparts();
|
||||
AddSC_arcatraz(); //TK Arcatraz
|
||||
AddSC_boss_zereketh_the_unbound();
|
||||
AddSC_boss_dalliah_the_doomsayer();
|
||||
AddSC_boss_wrath_scryer_soccothrates();
|
||||
AddSC_boss_harbinger_skyriss();
|
||||
AddSC_instance_arcatraz();
|
||||
AddSC_boss_high_botanist_freywinn(); //TK Botanica
|
||||
AddSC_boss_laj();
|
||||
AddSC_boss_warp_splinter();
|
||||
AddSC_boss_thorngrin_the_tender();
|
||||
AddSC_boss_commander_sarannis();
|
||||
AddSC_instance_the_botanica();
|
||||
AddSC_boss_alar(); //TK The Eye
|
||||
AddSC_boss_kaelthas();
|
||||
AddSC_boss_void_reaver();
|
||||
AddSC_boss_high_astromancer_solarian();
|
||||
AddSC_instance_the_eye();
|
||||
AddSC_the_eye();
|
||||
AddSC_boss_gatewatcher_iron_hand(); //TK The Mechanar
|
||||
AddSC_boss_gatewatcher_gyrokill();
|
||||
AddSC_boss_nethermancer_sepethrea();
|
||||
AddSC_boss_pathaleon_the_calculator();
|
||||
AddSC_boss_mechano_lord_capacitus();
|
||||
AddSC_instance_mechanar();
|
||||
|
||||
AddSC_blades_edge_mountains();
|
||||
AddSC_boss_doomlordkazzak();
|
||||
AddSC_boss_doomwalker();
|
||||
AddSC_hellfire_peninsula();
|
||||
AddSC_nagrand();
|
||||
AddSC_netherstorm();
|
||||
AddSC_shadowmoon_valley();
|
||||
AddSC_shattrath_city();
|
||||
AddSC_terokkar_forest();
|
||||
AddSC_zangarmarsh();
|
||||
}
|
||||
@@ -27,7 +27,6 @@ EndScriptData */
|
||||
npc_unkor_the_ruthless
|
||||
npc_infested_root_walker
|
||||
npc_rotting_forest_rager
|
||||
npc_netherweb_victim
|
||||
npc_floon
|
||||
npc_isla_starmane
|
||||
npc_slim
|
||||
@@ -47,13 +46,13 @@ EndContentData */
|
||||
|
||||
enum UnkorTheRuthless
|
||||
{
|
||||
SAY_SUBMIT = 0,
|
||||
|
||||
FACTION_HOSTILE = 45,
|
||||
FACTION_FRIENDLY = 35,
|
||||
QUEST_DONTKILLTHEFATONE = 9889,
|
||||
|
||||
SPELL_PULVERIZE = 2676
|
||||
SAY_SUBMIT = 0,
|
||||
REQUIRED_KILL_COUNT = 10,
|
||||
FACTION_FRIENDLY = 35,
|
||||
FACTION_HOSTILE = 45,
|
||||
SPELL_PULVERIZE = 2676,
|
||||
QUEST_DONTKILLTHEFATONE = 9889,
|
||||
NPC_BOULDERFIST_INVADER = 18260
|
||||
};
|
||||
|
||||
class npc_unkor_the_ruthless : public CreatureScript
|
||||
@@ -117,7 +116,7 @@ public:
|
||||
Player* groupie = itr->GetSource();
|
||||
if (groupie &&
|
||||
groupie->GetQuestStatus(QUEST_DONTKILLTHEFATONE) == QUEST_STATUS_INCOMPLETE &&
|
||||
groupie->GetReqKillOrCastCurrentCount(QUEST_DONTKILLTHEFATONE, 18260) == 10)
|
||||
groupie->GetReqKillOrCastCurrentCount(QUEST_DONTKILLTHEFATONE, NPC_BOULDERFIST_INVADER) == REQUIRED_KILL_COUNT)
|
||||
{
|
||||
groupie->AreaExploredOrEventHappens(QUEST_DONTKILLTHEFATONE);
|
||||
if (!CanDoQuest)
|
||||
@@ -126,7 +125,7 @@ public:
|
||||
}
|
||||
}
|
||||
else if (player->GetQuestStatus(QUEST_DONTKILLTHEFATONE) == QUEST_STATUS_INCOMPLETE &&
|
||||
player->GetReqKillOrCastCurrentCount(QUEST_DONTKILLTHEFATONE, 18260) == 10)
|
||||
player->GetReqKillOrCastCurrentCount(QUEST_DONTKILLTHEFATONE, NPC_BOULDERFIST_INVADER) == REQUIRED_KILL_COUNT)
|
||||
{
|
||||
player->AreaExploredOrEventHappens(QUEST_DONTKILLTHEFATONE);
|
||||
CanDoQuest = true;
|
||||
@@ -171,6 +170,11 @@ public:
|
||||
## npc_infested_root_walker
|
||||
######*/
|
||||
|
||||
enum InfestedRootWalker
|
||||
{
|
||||
SPELL_SUMMON_WOOD_MITES = 39130
|
||||
};
|
||||
|
||||
class npc_infested_root_walker : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -194,7 +198,7 @@ public:
|
||||
if (me->GetHealth() <= damage)
|
||||
if (rand32() % 100 < 75)
|
||||
//Summon Wood Mites
|
||||
DoCast(me, 39130, true);
|
||||
DoCast(me, SPELL_SUMMON_WOOD_MITES, true);
|
||||
}
|
||||
};
|
||||
};
|
||||
@@ -202,6 +206,12 @@ public:
|
||||
/*######
|
||||
## npc_skywing
|
||||
######*/
|
||||
|
||||
enum Skywing
|
||||
{
|
||||
QUEST_SKYWING = 10898
|
||||
};
|
||||
|
||||
class npc_skywing : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -226,7 +236,7 @@ public:
|
||||
switch (waypointId)
|
||||
{
|
||||
case 8:
|
||||
player->AreaExploredOrEventHappens(10898);
|
||||
player->AreaExploredOrEventHappens(QUEST_SKYWING);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -240,7 +250,7 @@ public:
|
||||
return;
|
||||
|
||||
Player* player = who->ToPlayer();
|
||||
if (player && player->GetQuestStatus(10898) == QUEST_STATUS_INCOMPLETE)
|
||||
if (player && player->GetQuestStatus(QUEST_SKYWING) == QUEST_STATUS_INCOMPLETE)
|
||||
if (me->IsWithinDistInMap(who, 10.0f))
|
||||
Start(false, false, who->GetGUID());
|
||||
}
|
||||
@@ -258,6 +268,11 @@ public:
|
||||
## npc_rotting_forest_rager
|
||||
######*/
|
||||
|
||||
enum RottingForestRager
|
||||
{
|
||||
SPELL_SUMMON_LOTS_OF_WOOD_MITES = 39134
|
||||
};
|
||||
|
||||
class npc_rotting_forest_rager : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -280,67 +295,8 @@ public:
|
||||
if (done_by->GetTypeId() == TYPEID_PLAYER)
|
||||
if (me->GetHealth() <= damage)
|
||||
if (rand32() % 100 < 75)
|
||||
//Summon Lots of Wood Mights
|
||||
DoCast(me, 39134, true);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
/*######
|
||||
## npc_netherweb_victim
|
||||
######*/
|
||||
|
||||
enum NetherwebVictim
|
||||
{
|
||||
QUEST_TARGET = 22459
|
||||
//SPELL_FREE_WEBBED = 38950
|
||||
};
|
||||
|
||||
const uint32 netherwebVictims[6] =
|
||||
{
|
||||
18470, 16805, 21242, 18452, 22482, 21285
|
||||
};
|
||||
|
||||
class npc_netherweb_victim : public CreatureScript
|
||||
{
|
||||
public:
|
||||
npc_netherweb_victim() : CreatureScript("npc_netherweb_victim") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return new npc_netherweb_victimAI(creature);
|
||||
}
|
||||
|
||||
struct npc_netherweb_victimAI : public ScriptedAI
|
||||
{
|
||||
npc_netherweb_victimAI(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
void Reset() override { }
|
||||
void EnterCombat(Unit* /*who*/) override { }
|
||||
void MoveInLineOfSight(Unit* /*who*/) override { }
|
||||
|
||||
|
||||
void JustDied(Unit* killer) override
|
||||
{
|
||||
Player* player = killer->ToPlayer();
|
||||
if (!player)
|
||||
return;
|
||||
|
||||
if (player->GetQuestStatus(10873) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
if (rand32() % 100 < 25)
|
||||
{
|
||||
me->SummonCreature(QUEST_TARGET, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000);
|
||||
player->KilledMonsterCredit(QUEST_TARGET);
|
||||
}
|
||||
else
|
||||
me->SummonCreature(netherwebVictims[rand32() % 6], 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000);
|
||||
|
||||
if (rand32() % 100 < 75)
|
||||
me->SummonCreature(netherwebVictims[rand32() % 6], 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000);
|
||||
|
||||
me->SummonCreature(netherwebVictims[rand32() % 6], 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000);
|
||||
}
|
||||
//Summon Lots of Wood Mites
|
||||
DoCast(me, SPELL_SUMMON_LOTS_OF_WOOD_MITES, true);
|
||||
}
|
||||
};
|
||||
};
|
||||
@@ -349,19 +305,22 @@ public:
|
||||
## npc_floon
|
||||
######*/
|
||||
|
||||
#define GOSSIP_FLOON1 "You owe Sim'salabim money. Hand them over or die!"
|
||||
#define GOSSIP_FLOON2 "Hand over the money or die...again!"
|
||||
|
||||
enum Floon
|
||||
{
|
||||
SAY_FLOON_ATTACK = 0,
|
||||
SAY_FLOON_ATTACK = 0,
|
||||
OPTION_ID_PAY_UP_OR_DIE = 0,
|
||||
OPTION_ID_COLLECT_A_DEBT = 0,
|
||||
FACTION_HOSTILE_FLOON = 1738,
|
||||
MENU_ID_PAY_UP_OR_DIE = 7731,
|
||||
MENU_ID_COLLECT_A_DEBT = 7732,
|
||||
GOSSIP_FLOON_STRANGE_SOUNDS = 9442,
|
||||
GOSSIP_HE_ALREADY_KILLED_ME = 9443,
|
||||
|
||||
SPELL_SILENCE = 6726,
|
||||
SPELL_FROSTBOLT = 9672,
|
||||
SPELL_FROST_NOVA = 11831,
|
||||
SPELL_SILENCE = 6726,
|
||||
SPELL_FROSTBOLT = 9672,
|
||||
SPELL_FROST_NOVA = 11831,
|
||||
|
||||
FACTION_HOSTILE_FL = 1738,
|
||||
QUEST_CRACK_SKULLS = 10009
|
||||
QUEST_CRACKIN_SOME_SKULLS = 10009
|
||||
};
|
||||
|
||||
class npc_floon : public CreatureScript
|
||||
@@ -374,13 +333,13 @@ public:
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
if (action == GOSSIP_ACTION_INFO_DEF)
|
||||
{
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FLOON2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||
player->SEND_GOSSIP_MENU(9443, creature->GetGUID());
|
||||
player->ADD_GOSSIP_ITEM_DB(MENU_ID_PAY_UP_OR_DIE, OPTION_ID_PAY_UP_OR_DIE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_HE_ALREADY_KILLED_ME, creature->GetGUID());
|
||||
}
|
||||
if (action == GOSSIP_ACTION_INFO_DEF+1)
|
||||
{
|
||||
player->CLOSE_GOSSIP_MENU();
|
||||
creature->setFaction(FACTION_HOSTILE_FL);
|
||||
creature->setFaction(FACTION_HOSTILE_FLOON);
|
||||
creature->AI()->Talk(SAY_FLOON_ATTACK, player);
|
||||
creature->AI()->AttackStart(player);
|
||||
}
|
||||
@@ -389,10 +348,10 @@ public:
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) override
|
||||
{
|
||||
if (player->GetQuestStatus(QUEST_CRACK_SKULLS) == QUEST_STATUS_INCOMPLETE)
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FLOON1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
|
||||
if (player->GetQuestStatus(QUEST_CRACKIN_SOME_SKULLS) == QUEST_STATUS_INCOMPLETE)
|
||||
player->ADD_GOSSIP_ITEM_DB(MENU_ID_COLLECT_A_DEBT, OPTION_ID_COLLECT_A_DEBT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
|
||||
|
||||
player->SEND_GOSSIP_MENU(9442, creature->GetGUID());
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_FLOON_STRANGE_SOUNDS, creature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -463,15 +422,16 @@ public:
|
||||
######*/
|
||||
enum IslaStarmaneData
|
||||
{
|
||||
SAY_PROGRESS_1 = 0,
|
||||
SAY_PROGRESS_2 = 1,
|
||||
SAY_PROGRESS_3 = 2,
|
||||
SAY_PROGRESS_4 = 3,
|
||||
|
||||
QUEST_EFTW_H = 10052,
|
||||
QUEST_EFTW_A = 10051,
|
||||
GO_CAGE = 182794,
|
||||
SPELL_CAT = 32447,
|
||||
SAY_PROGRESS_1 = 0,
|
||||
SAY_PROGRESS_2 = 1,
|
||||
SAY_PROGRESS_3 = 2,
|
||||
SAY_PROGRESS_4 = 3,
|
||||
GO_DISTANCE = 10,
|
||||
FACTION_ESCORTEE = 113,
|
||||
ESCAPE_FROM_FIREWING_POINT_A = 10051,
|
||||
ESCAPE_FROM_FIREWING_POINT_H = 10052,
|
||||
SPELL_TRAVEL_FORM_CAT = 32447,
|
||||
GO_CAGE = 182794
|
||||
};
|
||||
|
||||
class npc_isla_starmane : public CreatureScript
|
||||
@@ -492,7 +452,7 @@ public:
|
||||
switch (waypointId)
|
||||
{
|
||||
case 0:
|
||||
if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 10))
|
||||
if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, GO_DISTANCE))
|
||||
Cage->SetGoState(GO_STATE_ACTIVE);
|
||||
break;
|
||||
case 2:
|
||||
@@ -507,16 +467,16 @@ public:
|
||||
case 29:
|
||||
Talk(SAY_PROGRESS_4, player);
|
||||
if (player->GetTeam() == ALLIANCE)
|
||||
player->GroupEventHappens(QUEST_EFTW_A, me);
|
||||
player->GroupEventHappens(ESCAPE_FROM_FIREWING_POINT_A, me);
|
||||
else if (player->GetTeam() == HORDE)
|
||||
player->GroupEventHappens(QUEST_EFTW_H, me);
|
||||
player->GroupEventHappens(ESCAPE_FROM_FIREWING_POINT_H, me);
|
||||
me->SetInFront(player);
|
||||
break;
|
||||
case 30:
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_WAVE);
|
||||
break;
|
||||
case 31:
|
||||
DoCast(me, SPELL_CAT);
|
||||
DoCast(me, SPELL_TRAVEL_FORM_CAT);
|
||||
me->SetWalk(false);
|
||||
break;
|
||||
}
|
||||
@@ -532,19 +492,19 @@ public:
|
||||
if (Player* player = GetPlayerForEscort())
|
||||
{
|
||||
if (player->GetTeam() == ALLIANCE)
|
||||
player->FailQuest(QUEST_EFTW_A);
|
||||
player->FailQuest(ESCAPE_FROM_FIREWING_POINT_A);
|
||||
else if (player->GetTeam() == HORDE)
|
||||
player->FailQuest(QUEST_EFTW_H);
|
||||
player->FailQuest(ESCAPE_FROM_FIREWING_POINT_H);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override
|
||||
{
|
||||
if (quest->GetQuestId() == QUEST_EFTW_H || quest->GetQuestId() == QUEST_EFTW_A)
|
||||
if (quest->GetQuestId() == ESCAPE_FROM_FIREWING_POINT_H || quest->GetQuestId() == ESCAPE_FROM_FIREWING_POINT_A)
|
||||
{
|
||||
ENSURE_AI(npc_escortAI, (creature->AI()))->Start(true, false, player->GetGUID());
|
||||
creature->setFaction(113);
|
||||
creature->setFaction(FACTION_ESCORTEE);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -558,10 +518,20 @@ public:
|
||||
/*######
|
||||
## go_skull_pile
|
||||
######*/
|
||||
#define GOSSIP_S_DARKSCREECHER_AKKARAI "Summon Darkscreecher Akkarai"
|
||||
#define GOSSIP_S_KARROG "Summon Karrog"
|
||||
#define GOSSIP_S_GEZZARAK_THE_HUNTRESS "Summon Gezzarak the Huntress"
|
||||
#define GOSSIP_S_VAKKIZ_THE_WINDRAGER "Summon Vakkiz the Windrager"
|
||||
|
||||
enum SkullPile
|
||||
{
|
||||
OPTION_ID_GEZZARAK_THE_HUNTRESS = 0,
|
||||
OPTION_ID_DARKSCREECHER_AKKARAI = 1,
|
||||
OPTION_ID_KARROG = 2,
|
||||
OPTION_ID_VAKKIZ_THE_WINDRAGER = 3,
|
||||
GOSSIP_MENU_ID_SKULL_PILE = 8660,
|
||||
ADVERSARIAL_BLOOD = 11885,
|
||||
SUMMON_GEZZARAK_THE_HUNTRESS = 40632,
|
||||
SUMMON_KARROG = 40640,
|
||||
SUMMON_DARKSCREECHER_AKKARAI = 40642,
|
||||
SUMMON_VAKKIZ_THE_WINDRAGER = 40644
|
||||
};
|
||||
|
||||
class go_skull_pile : public GameObjectScript
|
||||
{
|
||||
@@ -580,12 +550,12 @@ public:
|
||||
|
||||
bool OnGossipHello(Player* player, GameObject* go) override
|
||||
{
|
||||
if ((player->GetQuestStatus(11885) == QUEST_STATUS_INCOMPLETE) || player->GetQuestRewardStatus(11885))
|
||||
if ((player->GetQuestStatus(ADVERSARIAL_BLOOD) == QUEST_STATUS_INCOMPLETE) || player->GetQuestRewardStatus(ADVERSARIAL_BLOOD))
|
||||
{
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_S_DARKSCREECHER_AKKARAI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_S_KARROG, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_S_GEZZARAK_THE_HUNTRESS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_S_VAKKIZ_THE_WINDRAGER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_ID_SKULL_PILE, OPTION_ID_GEZZARAK_THE_HUNTRESS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_ID_SKULL_PILE, OPTION_ID_DARKSCREECHER_AKKARAI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_ID_SKULL_PILE, OPTION_ID_KARROG, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_ID_SKULL_PILE, OPTION_ID_VAKKIZ_THE_WINDRAGER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
|
||||
}
|
||||
|
||||
player->SEND_GOSSIP_MENU(go->GetGOInfo()->questgiver.gossipID, go->GetGUID());
|
||||
@@ -597,16 +567,16 @@ public:
|
||||
switch (action)
|
||||
{
|
||||
case GOSSIP_ACTION_INFO_DEF + 1:
|
||||
player->CastSpell(player, 40642, false);
|
||||
player->CastSpell(player, SUMMON_GEZZARAK_THE_HUNTRESS, false);
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF + 2:
|
||||
player->CastSpell(player, 40640, false);
|
||||
player->CastSpell(player, SUMMON_DARKSCREECHER_AKKARAI, false);
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF + 3:
|
||||
player->CastSpell(player, 40632, false);
|
||||
player->CastSpell(player, SUMMON_KARROG, false);
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF + 4:
|
||||
player->CastSpell(player, 40644, false);
|
||||
player->CastSpell(player, SUMMON_VAKKIZ_THE_WINDRAGER, false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -618,7 +588,9 @@ public:
|
||||
|
||||
enum Slim
|
||||
{
|
||||
FACTION_CONSORTIUM = 933
|
||||
FACTION_CONSORTIUM = 933,
|
||||
NPC_TEXT_NEITHER_SLIM_NOR_SHADY = 9895,
|
||||
NPC_TEXT_I_SEE_YOU_ARE_A_FRIEND = 9896
|
||||
};
|
||||
|
||||
class npc_slim : public CreatureScript
|
||||
@@ -640,10 +612,10 @@ public:
|
||||
if (creature->IsVendor() && player->GetReputationRank(FACTION_CONSORTIUM) >= REP_FRIENDLY)
|
||||
{
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
|
||||
player->SEND_GOSSIP_MENU(9896, creature->GetGUID());
|
||||
player->SEND_GOSSIP_MENU(NPC_TEXT_I_SEE_YOU_ARE_A_FRIEND, creature->GetGUID());
|
||||
}
|
||||
else
|
||||
player->SEND_GOSSIP_MENU(9895, creature->GetGUID());
|
||||
player->SEND_GOSSIP_MENU(NPC_TEXT_NEITHER_SLIM_NOR_SHADY, creature->GetGUID());
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -719,7 +691,6 @@ void AddSC_terokkar_forest()
|
||||
new npc_unkor_the_ruthless();
|
||||
new npc_infested_root_walker();
|
||||
new npc_rotting_forest_rager();
|
||||
new npc_netherweb_victim();
|
||||
new npc_floon();
|
||||
new npc_isla_starmane();
|
||||
new go_skull_pile();
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
Pet/pet_dk.cpp
|
||||
Pet/pet_generic.cpp
|
||||
Pet/pet_hunter.cpp
|
||||
Pet/pet_mage.cpp
|
||||
Pet/pet_priest.cpp
|
||||
Pet/pet_shaman.cpp
|
||||
)
|
||||
|
||||
message(" -> Prepared: Pet")
|
||||
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
void AddSC_deathknight_pet_scripts();
|
||||
void AddSC_generic_pet_scripts();
|
||||
void AddSC_hunter_pet_scripts();
|
||||
void AddSC_mage_pet_scripts();
|
||||
void AddSC_priest_pet_scripts();
|
||||
void AddSC_shaman_pet_scripts();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddPetScripts()
|
||||
{
|
||||
AddSC_deathknight_pet_scripts();
|
||||
AddSC_generic_pet_scripts();
|
||||
AddSC_hunter_pet_scripts();
|
||||
AddSC_mage_pet_scripts();
|
||||
AddSC_priest_pet_scripts();
|
||||
AddSC_shaman_pet_scripts();
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
Spells/spell_shaman.cpp
|
||||
Spells/spell_hunter.cpp
|
||||
Spells/spell_rogue.cpp
|
||||
Spells/spell_druid.cpp
|
||||
Spells/spell_dk.cpp
|
||||
Spells/spell_quest.cpp
|
||||
Spells/spell_warrior.cpp
|
||||
Spells/spell_generic.cpp
|
||||
Spells/spell_warlock.cpp
|
||||
Spells/spell_priest.cpp
|
||||
Spells/spell_mage.cpp
|
||||
Spells/spell_paladin.cpp
|
||||
Spells/spell_item.cpp
|
||||
Spells/spell_holiday.cpp
|
||||
Spells/spell_pet.cpp
|
||||
)
|
||||
|
||||
message(" -> Prepared: Spells")
|
||||
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
void AddSC_deathknight_spell_scripts();
|
||||
void AddSC_druid_spell_scripts();
|
||||
void AddSC_generic_spell_scripts();
|
||||
void AddSC_hunter_spell_scripts();
|
||||
void AddSC_mage_spell_scripts();
|
||||
void AddSC_paladin_spell_scripts();
|
||||
void AddSC_priest_spell_scripts();
|
||||
void AddSC_rogue_spell_scripts();
|
||||
void AddSC_shaman_spell_scripts();
|
||||
void AddSC_warlock_spell_scripts();
|
||||
void AddSC_warrior_spell_scripts();
|
||||
void AddSC_quest_spell_scripts();
|
||||
void AddSC_item_spell_scripts();
|
||||
void AddSC_holiday_spell_scripts();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddSpellsScripts()
|
||||
{
|
||||
AddSC_deathknight_spell_scripts();
|
||||
AddSC_druid_spell_scripts();
|
||||
AddSC_generic_spell_scripts();
|
||||
AddSC_hunter_spell_scripts();
|
||||
AddSC_mage_spell_scripts();
|
||||
AddSC_paladin_spell_scripts();
|
||||
AddSC_priest_spell_scripts();
|
||||
AddSC_rogue_spell_scripts();
|
||||
AddSC_shaman_spell_scripts();
|
||||
AddSC_warlock_spell_scripts();
|
||||
AddSC_warrior_spell_scripts();
|
||||
AddSC_quest_spell_scripts();
|
||||
AddSC_item_spell_scripts();
|
||||
AddSC_holiday_spell_scripts();
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
#
|
||||
# This file is free software; as a special exception the author gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
file(GLOB_RECURSE sources_World World/*.cpp World/*.h)
|
||||
|
||||
set(scripts_STAT_SRCS
|
||||
${scripts_STAT_SRCS}
|
||||
${sources_World}
|
||||
)
|
||||
|
||||
message(" -> Prepared: World")
|
||||
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 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 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/>.
|
||||
*/
|
||||
|
||||
#include "World.h"
|
||||
|
||||
// This is where scripts' loading functions should be declared:
|
||||
// world
|
||||
void AddSC_areatrigger_scripts();
|
||||
void AddSC_emerald_dragons();
|
||||
void AddSC_generic_creature();
|
||||
void AddSC_go_scripts();
|
||||
void AddSC_guards();
|
||||
void AddSC_item_scripts();
|
||||
void AddSC_npc_professions();
|
||||
void AddSC_npc_innkeeper();
|
||||
void AddSC_npcs_special();
|
||||
void AddSC_achievement_scripts();
|
||||
void AddSC_action_ip_logger();
|
||||
void AddSC_duel_reset();
|
||||
// player
|
||||
void AddSC_chat_log();
|
||||
void AddSC_action_ip_logger();
|
||||
|
||||
// The name of this function should match:
|
||||
// void Add${NameOfDirectory}Scripts()
|
||||
void AddWorldScripts()
|
||||
{
|
||||
AddSC_areatrigger_scripts();
|
||||
AddSC_emerald_dragons();
|
||||
AddSC_generic_creature();
|
||||
AddSC_go_scripts();
|
||||
AddSC_guards();
|
||||
AddSC_item_scripts();
|
||||
AddSC_npc_professions();
|
||||
AddSC_npc_innkeeper();
|
||||
AddSC_npcs_special();
|
||||
AddSC_achievement_scripts();
|
||||
AddSC_chat_log(); // location: scripts\World\chat_log.cpp
|
||||
|
||||
// FIXME: This should be moved in a script validation hook.
|
||||
// To avoid duplicate code, we check once /*ONLY*/ if logging is permitted or not.
|
||||
if (sWorld->getBoolConfig(CONFIG_IP_BASED_ACTION_LOGGING))
|
||||
AddSC_action_ip_logger(); // location: scripts\World\action_ip_logger.cpp
|
||||
AddSC_duel_reset();
|
||||
}
|
||||
Reference in new issue
Block a user