aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSorikoff <46191832+Sorikoff@users.noreply.github.com>2020-01-26 22:15:39 +0200
committerGiacomo Pozzoni <giacomopoz@gmail.com>2020-01-26 21:15:39 +0100
commit13c81f55e3314fede78acfbb72a47384961d1f25 (patch)
treee0ad054a861ff2daf965862c8491492cd824bd2f /src
parent552a638e3110bedea1b2e80a7a4a2a71401d9c17 (diff)
Scripts/Ebon Hold: How To Win Friends And Influence Enemies (#24090)
* Scripts/Ebon Hold: How To Win Friends And Influence Enemies * Scripts/Ebon Hold: Improve SQL! * Scripts/Ebon Hold: Final touch * Scripts/Ebon Hold: Actually final touch * Rename 9999_99_99_99_world.sql to 2020_01_26_04_world.sql Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp143
1 files changed, 0 insertions, 143 deletions
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index 08a17180108..74453afba24 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -25,148 +25,6 @@
#include "SpellInfo.h"
#include "SpellScript.h"
-//How to win friends and influence enemies
-// texts signed for creature 28939 but used for 28939, 28940, 28610
-enum win_friends
-{
- SAY_CRUSADER = 1,
- SAY_PERSUADED1 = 2,
- SAY_PERSUADED2 = 3,
- SAY_PERSUADED3 = 4,
- SAY_PERSUADED4 = 5,
- SAY_PERSUADED5 = 6,
- SAY_PERSUADED6 = 7,
- SAY_PERSUADE_RAND = 8,
- SPELL_PERSUASIVE_STRIKE = 52781,
- SPELL_THREAT_PULSE = 58111,
- QUEST_HOW_TO_WIN_FRIENDS = 12720,
-};
-
-class npc_crusade_persuaded : public CreatureScript
-{
-public:
- npc_crusade_persuaded() : CreatureScript("npc_crusade_persuaded") { }
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_crusade_persuadedAI(creature);
- }
-
- struct npc_crusade_persuadedAI : public ScriptedAI
- {
- npc_crusade_persuadedAI(Creature* creature) : ScriptedAI(creature)
- {
- Initialize();
- }
-
- void Initialize()
- {
- speechTimer = 0;
- speechCounter = 0;
- playerGUID.Clear();
- }
-
- uint32 speechTimer;
- uint32 speechCounter;
- ObjectGuid playerGUID;
-
- void Reset() override
- {
- Initialize();
- me->SetReactState(REACT_AGGRESSIVE);
- me->RestoreFaction();
- }
-
- void SpellHit(Unit* caster, SpellInfo const* spell) override
- {
- if (spell->Id == SPELL_PERSUASIVE_STRIKE && caster->GetTypeId() == TYPEID_PLAYER && me->IsAlive() && !speechCounter)
- {
- if (Player* player = caster->ToPlayer())
- {
- if (player->GetQuestStatus(QUEST_HOW_TO_WIN_FRIENDS) == QUEST_STATUS_INCOMPLETE)
- {
- playerGUID = player->GetGUID();
- speechTimer = 1000;
- speechCounter = 1;
- me->SetFaction(player->GetFaction());
- me->CombatStop(true);
- me->GetMotionMaster()->MoveIdle();
- me->SetReactState(REACT_PASSIVE);
- DoCastAOE(SPELL_THREAT_PULSE, true);
-
- sCreatureTextMgr->SendChat(me, SAY_PERSUADE_RAND, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player);
- Talk(SAY_CRUSADER);
- }
- }
- }
- }
-
- void UpdateAI(uint32 diff) override
- {
- if (speechCounter)
- {
- if (speechTimer <= diff)
- {
- Player* player = ObjectAccessor::GetPlayer(*me, playerGUID);
- if (!player)
- {
- EnterEvadeMode();
- return;
- }
-
- switch (speechCounter)
- {
- case 1:
- Talk(SAY_PERSUADED1);
- speechTimer = 8000;
- break;
-
- case 2:
- Talk(SAY_PERSUADED2);
- speechTimer = 8000;
- break;
-
- case 3:
- Talk(SAY_PERSUADED3);
- speechTimer = 8000;
- break;
-
- case 4:
- Talk(SAY_PERSUADED4);
- speechTimer = 8000;
- break;
-
- case 5:
- sCreatureTextMgr->SendChat(me, SAY_PERSUADED5, nullptr, CHAT_MSG_ADDON, LANG_ADDON, TEXT_RANGE_NORMAL, 0, TEAM_OTHER, false, player);
- speechTimer = 8000;
- break;
-
- case 6:
- Talk(SAY_PERSUADED6);
- Unit::Kill(player, me);
- speechCounter = 0;
- player->GroupEventHappens(QUEST_HOW_TO_WIN_FRIENDS, me);
- return;
- }
-
- ++speechCounter;
- DoCastAOE(SPELL_THREAT_PULSE, true);
-
- } else
- speechTimer -= diff;
-
- return;
- }
-
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
- }
- };
-
-};
-
/*######
## npc_koltira_deathweaver
######*/
@@ -763,7 +621,6 @@ class spell_death_knight_devour_humanoid : public SpellScript
void AddSC_the_scarlet_enclave_c2()
{
- new npc_crusade_persuaded();
new npc_scarlet_courier();
new npc_koltira_deathweaver();
new npc_high_inquisitor_valroth();