aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Northrend
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2012-09-01 22:19:13 +0100
committerNay <dnpd.dd@gmail.com>2012-09-01 22:19:13 +0100
commit2e1de60593fda0c1ad766fb0333a1992b17c35b9 (patch)
tree90d942b50b5f43676391192d6e2e81ed7c513b5d /src/server/scripts/Northrend
parentd218afa19849e1be810bb06c96402cff956dc036 (diff)
parenta7dd289b04e3a9d0337fb5b6db3fc7a70f670933 (diff)
Merge remote-tracking branch 'origin/master' into 4.3.4
Conflicts: src/server/game/Entities/Player/Player.cpp src/server/scripts/Commands/cs_misc.cpp src/server/worldserver/worldserver.conf.dist
Diffstat (limited to 'src/server/scripts/Northrend')
-rw-r--r--src/server/scripts/Northrend/dragonblight.cpp22
-rw-r--r--src/server/scripts/Northrend/storm_peaks.cpp98
2 files changed, 15 insertions, 105 deletions
diff --git a/src/server/scripts/Northrend/dragonblight.cpp b/src/server/scripts/Northrend/dragonblight.cpp
index b915f4c6304..1f1d24453ee 100644
--- a/src/server/scripts/Northrend/dragonblight.cpp
+++ b/src/server/scripts/Northrend/dragonblight.cpp
@@ -174,9 +174,12 @@ public:
## wyrmrest_defender
######*/
-enum Spells
+enum WyrmDefenderEnum
{
- SPELL_CHARACTER_SCRIPT = 49213
+ QUEST_DEFENDING_WYRMREST_TEMPLE = 12372,
+ GOSSIP_TEXTID_DEF1 = 12899,
+ GOSSIP_TEXTID_DEF2 = 12900,
+ SPELL_CHARACTER_SCRIPT = 49213
};
#define GOSSIP_ITEM_1 "We need to get into the fight. Are you ready?"
@@ -187,19 +190,24 @@ class npc_wyrmrest_defender : public CreatureScript
npc_wyrmrest_defender() : CreatureScript("npc_wyrmrest_defender") { }
bool OnGossipHello(Player* player, Creature* creature)
- {
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
+ {
+ if (player->GetQuestStatus(QUEST_DEFENDING_WYRMREST_TEMPLE) == QUEST_STATUS_INCOMPLETE)
+ {
+ player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
+ player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_DEF1, creature->GetGUID());
+ }
+ else
+ player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
return true;
}
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action)
+ bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
{
- player->CLOSE_GOSSIP_MENU();
+ player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_DEF2, creature->GetGUID());
// Makes player cast trigger spell for 49207 on self
player->CastSpell(player, SPELL_CHARACTER_SCRIPT, true);
}
diff --git a/src/server/scripts/Northrend/storm_peaks.cpp b/src/server/scripts/Northrend/storm_peaks.cpp
index 6bf342e4643..60c289dc8de 100644
--- a/src/server/scripts/Northrend/storm_peaks.cpp
+++ b/src/server/scripts/Northrend/storm_peaks.cpp
@@ -195,103 +195,6 @@ public:
};
/*######
-## npc_victorious_challenger
-######*/
-
-#define GOSSIP_CHALLENGER "Let's do this, sister."
-
-enum eVictoriousChallenger
-{
- QUEST_TAKING_ALL_CHALLENGERS = 12971,
- QUEST_DEFENDING_YOUR_TITLE = 13423,
-
- SPELL_SUNDER_ARMOR = 11971,
- SPELL_REND_VC = 11977
-};
-
-class npc_victorious_challenger : public CreatureScript
-{
-public:
- npc_victorious_challenger() : CreatureScript("npc_victorious_challenger") { }
-
- struct npc_victorious_challengerAI : public ScriptedAI
- {
- npc_victorious_challengerAI(Creature* creature) : ScriptedAI(creature) {}
-
- uint32 SunderArmorTimer;
- uint32 RendTimer;
-
- void Reset()
- {
- me->RestoreFaction();
-
- SunderArmorTimer = 10000;
- RendTimer = 15000;
- }
-
- void UpdateAI(const uint32 diff)
- {
- //Return since we have no target
- if (!UpdateVictim())
- return;
-
- if (RendTimer < diff)
- {
- DoCast(me->getVictim(), SPELL_REND_VC, true);
- RendTimer = 15000;
- }else RendTimer -= diff;
-
- if (SunderArmorTimer < diff)
- {
- DoCast(me->getVictim(), SPELL_SUNDER_ARMOR, true);
- SunderArmorTimer = 10000;
- }else SunderArmorTimer -= diff;
-
- DoMeleeAttackIfReady();
- }
-
- void KilledUnit(Unit* /*victim*/)
- {
- me->RestoreFaction();
- }
-
- };
-
- bool OnGossipHello(Player* player, Creature* creature)
- {
- if (creature->isQuestGiver())
- player->PrepareQuestMenu(creature->GetGUID());
-
- if (player->GetQuestStatus(QUEST_TAKING_ALL_CHALLENGERS) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_DEFENDING_YOUR_TITLE) == QUEST_STATUS_INCOMPLETE)
- {
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_CHALLENGER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- return true;
- }
-
- return false;
- }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
- {
- player->PlayerTalkClass->ClearMenus();
- if (action == GOSSIP_ACTION_INFO_DEF+1)
- {
- player->CLOSE_GOSSIP_MENU();
- creature->setFaction(14);
- creature->AI()->AttackStart(player);
- }
-
- return true;
- }
-
- CreatureAI* GetAI(Creature* creature) const
- {
- return new npc_victorious_challengerAI(creature);
- }
-};
-
-/*######
## npc_loklira_crone
######*/
@@ -753,7 +656,6 @@ void AddSC_storm_peaks()
new npc_agnetta_tyrsdottar();
new npc_frostborn_scout();
new npc_thorim();
- new npc_victorious_challenger();
new npc_loklira_crone();
new npc_injured_goblin();
new npc_roxi_ramrocket();