diff options
Diffstat (limited to 'src/server/scripts')
-rw-r--r-- | src/server/scripts/Commands/cs_quest.cpp | 6 | ||||
-rw-r--r-- | src/server/scripts/Commands/cs_reload.cpp | 22 | ||||
-rw-r--r-- | src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp | 10 | ||||
-rw-r--r-- | src/server/scripts/World/areatrigger_scripts.cpp | 10 |
4 files changed, 38 insertions, 10 deletions
diff --git a/src/server/scripts/Commands/cs_quest.cpp b/src/server/scripts/Commands/cs_quest.cpp index e10cf883518..e0d67b55989 100644 --- a/src/server/scripts/Commands/cs_quest.cpp +++ b/src/server/scripts/Commands/cs_quest.cpp @@ -138,6 +138,12 @@ public: // we ignore unequippable quest items in this case, its' still be equipped player->TakeQuestSourceItem(logQuest, false); + + if (quest->HasFlag(QUEST_FLAGS_FLAGS_PVP)) + { + player->pvpInfo.IsHostile = player->pvpInfo.IsInHostileArea || player->HasPvPForcingQuest(); + player->UpdatePvPState(); + } } } diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp index b2542d6a668..7aee1139868 100644 --- a/src/server/scripts/Commands/cs_reload.cpp +++ b/src/server/scripts/Commands/cs_reload.cpp @@ -22,6 +22,7 @@ Comment: All reload related commands Category: commandscripts EndScriptData */ +#include "AccountMgr.h" #include "AchievementMgr.h" #include "AuctionHouseMgr.h" #include "Chat.h" @@ -86,6 +87,7 @@ public: { "creature_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesCreatureCommand, "", NULL }, { "creature_onkill_reputation", SEC_ADMINISTRATOR, true, &HandleReloadOnKillReputationCommand, "", NULL }, { "creature_questrelation", SEC_ADMINISTRATOR, true, &HandleReloadCreatureQuestRelationsCommand, "", NULL }, + { "creature_summon_groups", SEC_ADMINISTRATOR, true, &HandleReloadCreatureSummonGroupsCommand, "", NULL }, { "creature_template", SEC_ADMINISTRATOR, true, &HandleReloadCreatureTemplateCommand, "", NULL }, //{ "db_script_string", SEC_ADMINISTRATOR, true, &HandleReloadDbScriptStringCommand, "", NULL }, { "disables", SEC_ADMINISTRATOR, true, &HandleReloadDisablesCommand, "", NULL }, @@ -127,6 +129,7 @@ public: { "prospecting_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesProspectingCommand, "", NULL }, { "quest_poi", SEC_ADMINISTRATOR, true, &HandleReloadQuestPOICommand, "", NULL }, { "quest_template", SEC_ADMINISTRATOR, true, &HandleReloadQuestTemplateCommand, "", NULL }, + { "rbac", SEC_ADMINISTRATOR, true, &HandleReloadRBACCommand, "", NULL }, { "reference_loot_template", SEC_ADMINISTRATOR, true, &HandleReloadLootTemplatesReferenceCommand, "", NULL }, { "reserved_name", SEC_ADMINISTRATOR, true, &HandleReloadReservedNameCommand, "", NULL }, { "reputation_reward_rate", SEC_ADMINISTRATOR, true, &HandleReloadReputationRewardRateCommand, "", NULL }, @@ -195,6 +198,8 @@ public: HandleReloadTrinityStringCommand(handler, ""); HandleReloadGameTeleCommand(handler, ""); + HandleReloadCreatureSummonGroupsCommand(handler, ""); + HandleReloadVehicleAccessoryCommand(handler, ""); HandleReloadVehicleTemplateAccessoryCommand(handler, ""); @@ -397,6 +402,14 @@ public: return true; } + static bool HandleReloadCreatureSummonGroupsCommand(ChatHandler* handler, const char* /*args*/) + { + sLog->outInfo(LOG_FILTER_GENERAL, "Reloading creature summon groups..."); + sObjectMgr->LoadTempSummons(); + handler->SendGlobalGMSysMessage("DB table `creature_summon_groups` reloaded."); + return true; + } + static bool HandleReloadCreatureTemplateCommand(ChatHandler* handler, const char* args) { if (!*args) @@ -1231,6 +1244,15 @@ public: handler->SendGlobalGMSysMessage("Vehicle template accessories reloaded."); return true; } + + static bool HandleReloadRBACCommand(ChatHandler* handler, const char* /*args*/) + { + sLog->outInfo(LOG_FILTER_GENERAL, "Reloading RBAC tables..."); + sAccountMgr->LoadRBAC(); + sWorld->ReloadRBAC(); + handler->SendGlobalGMSysMessage("RBAC data reloaded."); + return true; + } }; void AddSC_reload_commandscript() diff --git a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp index a9b41b719f7..d1670171d67 100644 --- a/src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp +++ b/src/server/scripts/EasternKingdoms/BlackwingLair/boss_ebonroc.cpp @@ -74,32 +74,32 @@ public: //Shadowflame Timer if (ShadowFlame_Timer <= diff) { - DoCast(me->getVictim(), SPELL_SHADOWFLAME); + DoCastVictim(SPELL_SHADOWFLAME); ShadowFlame_Timer = urand(12000, 15000); } else ShadowFlame_Timer -= diff; //Thrash Timer if (Thrash_Timer <= diff) { - DoCast(me->getVictim(), SPELL_THRASH); + DoCastVictim(SPELL_THRASH); Thrash_Timer = urand(10000, 15000); } else Thrash_Timer -= diff; //Wing Buffet Timer if (WingBuffet_Timer <= diff) { - DoCast(me->getVictim(), SPELL_WINGBUFFET); + DoCastVictim(SPELL_WINGBUFFET); WingBuffet_Timer = 25000; } else WingBuffet_Timer -= diff; //Shadow of Ebonroc Timer if (ShadowOfEbonroc_Timer <= diff) { - DoCast(me->getVictim(), SPELL_SHADOWOFEBONROC); + DoCastVictim(SPELL_SHADOWOFEBONROC); ShadowOfEbonroc_Timer = urand(25000, 350000); } else ShadowOfEbonroc_Timer -= diff; - if (me->getVictim()->HasAura(SPELL_SHADOWOFEBONROC)) + if (me->getVictim() && me->getVictim()->HasAura(SPELL_SHADOWOFEBONROC)) { if (Heal_Timer <= diff) { diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp index 83fac35b1b6..65ebb46c5dd 100644 --- a/src/server/scripts/World/areatrigger_scripts.cpp +++ b/src/server/scripts/World/areatrigger_scripts.cpp @@ -432,10 +432,10 @@ class AreaTrigger_at_area_52_entrance : public AreaTriggerScript enum FrostgripsHollow { QUEST_THE_LONESOME_WATCHER = 12877, - + NPC_STORMFORGED_MONITOR = 29862, NPC_STORMFORGED_ERADICTOR = 29861, - + TYPE_WAYPOINT = 0, DATA_START = 0 }; @@ -460,11 +460,11 @@ public: Creature* stormforgedMonitor = Creature::GetCreature(*player, stormforgedMonitorGUID); if (stormforgedMonitor) return false; - + Creature* stormforgedEradictor = Creature::GetCreature(*player, stormforgedEradictorGUID); if (stormforgedEradictor) return false; - + if ((stormforgedMonitor = player->SummonCreature(NPC_STORMFORGED_MONITOR, stormforgedMonitorPosition, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000))) { stormforgedMonitorGUID = stormforgedMonitor->GetGUID(); @@ -479,7 +479,7 @@ public: stormforgedEradictorGUID = stormforgedEradictor->GetGUID(); stormforgedEradictor->GetMotionMaster()->MovePath(NPC_STORMFORGED_ERADICTOR * 100, false); } - + return true; } |