*More cleanups

--HG--
branch : trunk
This commit is contained in:
Blaymoira
2009-01-22 22:05:51 +01:00
parent ceb46a8f16
commit a3f8a7634e
15 changed files with 121 additions and 79 deletions
+10
View File
@@ -0,0 +1,10 @@
DELETE FROM script_texts where entry BETWEEN -1000285 and -1000280;
INSERT INTO script_texts (entry, content_default, type, language, comment) VALUES
(-1000280, 'Thank you, dear Paladin, you just saved my life.', 0, 7, 'faulk - SAY_HEAL'),
(-1000281, 'Very well. Let\'s see what you have to show me, $N.', 0, 0, 'anvilvard - SAY_PR_1'),
(-1000282, 'What manner of trick is this, $R? If you seek to ambush me, I warn you I will not go down quietly!', 0, 0, 'anvilvard - SAY_PR_2'),
(-1000283, 'releases the last of its energies into the nerarby runestone, succesfully reactivating it.', 2, 0, 'crystal - EMOTE'),
(-1000284, 'Deployment sucessful. Trespassers will be neutralized.', 0, 0, 'sentry - SAY_CONVERTED_1'),
(-1000285, 'Objective acquired. Initiating security routines.', 0, 0, 'sentry - SAY_CONVERTED_1');
+1
View File
@@ -151,4 +151,5 @@ INSTALL(FILES
948_world_scripts.sql 948_world_scripts.sql
950_world_scripts.sql 950_world_scripts.sql
951_world_scripts.sql 951_world_scripts.sql
952_world_scripts.sql
DESTINATION share/trinity/sql/updates) DESTINATION share/trinity/sql/updates)
@@ -24,7 +24,7 @@ EndScriptData */
/* ContentData /* ContentData
npc_beaten_corpse npc_beaten_corpse
npc_sputtervalve npc_sputtervalve
npc_taskmaster_fizzule remove hack when Trinity implement feature/detect spell kind to not aggro npc_taskmaster_fizzule
npc_twiggy_flathead npc_twiggy_flathead
npc_wizzlecrank_shredder npc_wizzlecrank_shredder
EndContentData */ EndContentData */
@@ -62,6 +62,8 @@ bool GossipSelect_npc_deathly_usher(Player *player, Creature *_Creature, uint32
/*###### /*######
## npc_fallen_hero_of_horde ## npc_fallen_hero_of_horde
######*/ ######*/
#define GOSSIP_H_F1 "Why are you here?"
#define GOSSIP_H_F2 "Continue story..."
#define GOSSIP_ITEM_FALLEN "Continue..." #define GOSSIP_ITEM_FALLEN "Continue..."
@@ -77,13 +79,13 @@ bool GossipHello_npc_fallen_hero_of_horde(Player *player, Creature *_Creature)
player->PrepareQuestMenu( _Creature->GetGUID() ); player->PrepareQuestMenu( _Creature->GetGUID() );
if (player->GetQuestStatus(2784) == QUEST_STATUS_INCOMPLETE) if (player->GetQuestStatus(2784) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM( 0, "Why are you here?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); player->ADD_GOSSIP_ITEM( 0, GOSSIP_H_F1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
if (player->GetQuestStatus(2801) == QUEST_STATUS_INCOMPLETE && player->GetTeam() == HORDE) if (player->GetQuestStatus(2801) == QUEST_STATUS_INCOMPLETE && player->GetTeam() == HORDE)
player->ADD_GOSSIP_ITEM( 0, "Continue story...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); player->ADD_GOSSIP_ITEM( 0, GOSSIP_H_F2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
if (player->GetQuestStatus(2801) == QUEST_STATUS_INCOMPLETE && player->GetTeam() == ALLIANCE) if (player->GetQuestStatus(2801) == QUEST_STATUS_INCOMPLETE && player->GetTeam() == ALLIANCE)
player->ADD_GOSSIP_ITEM( 0, "Why are you here?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); player->ADD_GOSSIP_ITEM( 0, GOSSIP_H_F1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
@@ -31,6 +31,19 @@ EndContentData */
## npc_ragged_john ## npc_ragged_john
######*/ ######*/
#define GOSSIP_HELLO "Official buisness, John. I need some information about Marsha Windsor. Tell me about the last time you saw him."
#define GOSSIP_SELECT1 "So what did you do?"
#define GOSSIP_SELECT2 "Start making sense, dwarf. I don't want to have anything to do with your cracker, your pappy, or any sort of 'discreditin'."
#define GOSSIP_SELECT3 "Ironfoe?"
#define GOSSIP_SELECT4 "Interesting... continue John."
#define GOSSIP_SELECT5 "So that's how Windsor died..."
#define GOSSIP_SELECT6 "So how did he die?"
#define GOSSIP_SELECT7 "Ok so where the hell is he? Wait a minute! Are you drunk?"
#define GOSSIP_SELECT8 "WHY is he in Blackrock Depths?"
#define GOSSIP_SELECT9 "300? So the Dark Irons killed him and dragged him into the Depths?"
#define GOSSIP_SELECT10 "Ahh... Ironfoe"
#define GOSSIP_SELECT11 "Thanks, Ragged John. Your story was very uplifting and informative"
struct TRINITY_DLL_DECL npc_ragged_johnAI : public ScriptedAI struct TRINITY_DLL_DECL npc_ragged_johnAI : public ScriptedAI
{ {
npc_ragged_johnAI(Creature *c) : ScriptedAI(c) { Reset(); } npc_ragged_johnAI(Creature *c) : ScriptedAI(c) { Reset(); }
@@ -65,7 +78,7 @@ bool GossipHello_npc_ragged_john(Player *player, Creature *_Creature)
player->PrepareQuestMenu( _Creature->GetGUID() ); player->PrepareQuestMenu( _Creature->GetGUID() );
if (player->GetQuestStatus(4224) == QUEST_STATUS_INCOMPLETE) if (player->GetQuestStatus(4224) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM( 0, "Official buisness, John. I need some information about Marsha Windsor. Tell me about the last time you saw him.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); player->ADD_GOSSIP_ITEM( 0, GOSSIP_HELLO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(2713, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2713, _Creature->GetGUID());
return true; return true;
@@ -76,47 +89,47 @@ bool GossipSelect_npc_ragged_john(Player *player, Creature *_Creature, uint32 se
switch (action) switch (action)
{ {
case GOSSIP_ACTION_INFO_DEF: case GOSSIP_ACTION_INFO_DEF:
player->ADD_GOSSIP_ITEM( 0, "So what did you do?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->SEND_GOSSIP_MENU(2714, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2714, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+1: case GOSSIP_ACTION_INFO_DEF+1:
player->ADD_GOSSIP_ITEM( 0, "Start making sense, dwarf. I don't want to have anything to do with your cracker, your pappy, or any sort of 'discreditin'.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
player->SEND_GOSSIP_MENU(2715, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2715, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+2: case GOSSIP_ACTION_INFO_DEF+2:
player->ADD_GOSSIP_ITEM( 0, "Ironfoe?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
player->SEND_GOSSIP_MENU(2716, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2716, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+3: case GOSSIP_ACTION_INFO_DEF+3:
player->ADD_GOSSIP_ITEM( 0, "Interesting... continue John.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
player->SEND_GOSSIP_MENU(2717, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2717, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+4: case GOSSIP_ACTION_INFO_DEF+4:
player->ADD_GOSSIP_ITEM( 0, "So that's how Windsor died...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
player->SEND_GOSSIP_MENU(2718, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2718, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+5: case GOSSIP_ACTION_INFO_DEF+5:
player->ADD_GOSSIP_ITEM( 0, "So how did he die?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
player->SEND_GOSSIP_MENU(2719, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2719, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+6: case GOSSIP_ACTION_INFO_DEF+6:
player->ADD_GOSSIP_ITEM( 0, "Ok so where the hell is he? Wait a minute! Are you drunk?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT7, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
player->SEND_GOSSIP_MENU(2720, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2720, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+7: case GOSSIP_ACTION_INFO_DEF+7:
player->ADD_GOSSIP_ITEM( 0, "WHY is he in Blackrock Depths?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT8, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8);
player->SEND_GOSSIP_MENU(2721, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2721, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+8: case GOSSIP_ACTION_INFO_DEF+8:
player->ADD_GOSSIP_ITEM( 0, "300? So the Dark Irons killed him and dragged him into the Depths?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT9, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9);
player->SEND_GOSSIP_MENU(2722, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2722, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+9: case GOSSIP_ACTION_INFO_DEF+9:
player->ADD_GOSSIP_ITEM( 0, "Ahh... Ironfoe", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT10, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10);
player->SEND_GOSSIP_MENU(2723, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2723, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+10: case GOSSIP_ACTION_INFO_DEF+10:
player->ADD_GOSSIP_ITEM( 0, "Thanks, Ragged John. Your story was very uplifting and informative", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT11, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11);
player->SEND_GOSSIP_MENU(2725, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2725, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+11: case GOSSIP_ACTION_INFO_DEF+11:
@@ -197,9 +197,9 @@ bool ItemUse_item_defias_gunpowder(Player *player, Item* _Item, SpellCastTargets
player->GetSession()->SendNotification("Instance script not initialized"); player->GetSession()->SendNotification("Instance script not initialized");
return true; return true;
} }
if (pInstance->GetData(EVENT_STATE)!=CANNON_NOT_USED) if (pInstance->GetData(EVENT_STATE)!= CANNON_NOT_USED)
return false; return false;
if(targets.getGOTarget() && targets.getGOTarget()->GetTypeId()==TYPEID_GAMEOBJECT && if(targets.getGOTarget() && targets.getGOTarget()->GetTypeId() == TYPEID_GAMEOBJECT &&
targets.getGOTarget()->GetEntry() == GO_DEFIAS_CANNON) targets.getGOTarget()->GetEntry() == GO_DEFIAS_CANNON)
{ {
pInstance->SetData(EVENT_STATE, CANNON_GUNPOWDER_USED); pInstance->SetData(EVENT_STATE, CANNON_GUNPOWDER_USED);
@@ -31,7 +31,7 @@ EndContentData */
## npc_narm_faulk ## npc_narm_faulk
######*/ ######*/
#define SAY_HEAL "Thank you, dear Paladin, you just saved my life." #define SAY_HEAL -1000280
struct TRINITY_DLL_DECL npc_narm_faulkAI : public ScriptedAI struct TRINITY_DLL_DECL npc_narm_faulkAI : public ScriptedAI
{ {
@@ -76,7 +76,7 @@ struct TRINITY_DLL_DECL npc_narm_faulkAI : public ScriptedAI
m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1,0); m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1,0);
m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0); m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
//m_creature->RemoveAllAuras(); //m_creature->RemoveAllAuras();
DoSay(SAY_HEAL,LANG_COMMON,NULL); DoScriptText(SAY_HEAL, m_creature);
spellHit = true; spellHit = true;
} }
} }
@@ -45,9 +45,8 @@ struct TRINITY_DLL_DECL mobs_ghoul_flayerAI : public ScriptedAI
void JustDied(Unit* Killer) void JustDied(Unit* Killer)
{ {
if( Killer->GetTypeId() == TYPEID_PLAYER ) if( Killer->GetTypeId() == TYPEID_PLAYER )
DoSpawnCreature(11064,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,60000); DoSpawnCreature(11064, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 60000);
} }
}; };
CreatureAI* GetAI_mobs_ghoul_flayer(Creature *_Creature) CreatureAI* GetAI_mobs_ghoul_flayer(Creature *_Creature)
@@ -31,7 +31,7 @@ EndContentData */
## npc_henze_faulk ## npc_henze_faulk
######*/ ######*/
#define SAY_HEAL "Thank you, dear Paladin, you just saved my life." #define SAY_HEAL -1000280
struct TRINITY_DLL_DECL npc_henze_faulkAI : public ScriptedAI struct TRINITY_DLL_DECL npc_henze_faulkAI : public ScriptedAI
{ {
@@ -76,7 +76,7 @@ struct TRINITY_DLL_DECL npc_henze_faulkAI : public ScriptedAI
m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1,0); m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1,0);
m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0); m_creature->SetUInt32Value(UNIT_DYNAMIC_FLAGS, 0);
//m_creature->RemoveAllAuras(); //m_creature->RemoveAllAuras();
DoSay(SAY_HEAL,LANG_COMMON,NULL); DoScriptText(SAY_HEAL, m_creature);
spellHit = true; spellHit = true;
} }
} }
@@ -60,6 +60,12 @@ CreatureAI* GetAI_mobs_mana_tapped(Creature *_Creature)
## npc_prospector_anvilward ## npc_prospector_anvilward
######*/ ######*/
#define GOSSIP_HELLO "I need a moment of your time, sir."
#define GOSSIP_SELECT "Why... yes, of course. I've something to show you right inside this building, Mr. Anvilward."
#define SAY_PR_1 -1000281
#define SAY_PR_2 -1000282
#define QUEST_THE_DWARVEN_SPY 8483 #define QUEST_THE_DWARVEN_SPY 8483
struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI
@@ -70,17 +76,16 @@ struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI
// Pure Virtual Functions // Pure Virtual Functions
void WaypointReached(uint32 i) void WaypointReached(uint32 i)
{ {
Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
if(!player)
return;
switch (i) switch (i)
{ {
case 0: case 0: DoScriptText(SAY_PR_1, m_creature, player); break;
m_creature->Say("Very well. Let's see what you have to show me, $N.", LANG_UNIVERSAL, PlayerGUID); case 5: DoScriptText(SAY_PR_2, m_creature, player); break;
break; case 6: m_creature->setFaction(24); break;
case 5:
m_creature->Say("What manner of trick is this, $R? If you seek to ambush me, I warn you I will not go down quietly!", LANG_UNIVERSAL, PlayerGUID);
break;
case 6:
m_creature->setFaction(24);
break;
} }
} }
@@ -88,20 +93,17 @@ struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI
void Reset() void Reset()
{ {
//Default npc faction
m_creature->setFaction(35); m_creature->setFaction(35);
} }
void JustDied(Unit* killer) void JustDied(Unit* killer)
{ {
//Default npc faction
m_creature->setFaction(35); m_creature->setFaction(35);
} }
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
npc_escortAI::UpdateAI(diff); //Must update npc_escortAI npc_escortAI::UpdateAI(diff);
} }
}; };
@@ -114,8 +116,8 @@ CreatureAI* GetAI_npc_prospector_anvilward(Creature *_Creature)
thisAI->AddWaypoint(2, 9309.63, -6658.84, 22.43); thisAI->AddWaypoint(2, 9309.63, -6658.84, 22.43);
thisAI->AddWaypoint(3, 9304.43, -6649.31, 26.46); thisAI->AddWaypoint(3, 9304.43, -6649.31, 26.46);
thisAI->AddWaypoint(4, 9298.83, -6648.00, 28.61); thisAI->AddWaypoint(4, 9298.83, -6648.00, 28.61);
thisAI->AddWaypoint(5, 9291.06, -6653.46, 31.83,2500); thisAI->AddWaypoint(5, 9291.06, -6653.46, 31.83, 2500);
thisAI->AddWaypoint(6, 9289.08, -6660.17, 31.85,5000); thisAI->AddWaypoint(6, 9289.08, -6660.17, 31.85, 5000);
thisAI->AddWaypoint(7, 9291.06, -6653.46, 31.83); thisAI->AddWaypoint(7, 9291.06, -6653.46, 31.83);
return (CreatureAI*)thisAI; return (CreatureAI*)thisAI;
@@ -124,7 +126,7 @@ CreatureAI* GetAI_npc_prospector_anvilward(Creature *_Creature)
bool GossipHello_npc_prospector_anvilward(Player *player, Creature *_Creature) bool GossipHello_npc_prospector_anvilward(Player *player, Creature *_Creature)
{ {
if( player->GetQuestStatus(QUEST_THE_DWARVEN_SPY) == QUEST_STATUS_INCOMPLETE ) if( player->GetQuestStatus(QUEST_THE_DWARVEN_SPY) == QUEST_STATUS_INCOMPLETE )
player->ADD_GOSSIP_ITEM(0, "I need a moment of your time, sir.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); player->ADD_GOSSIP_ITEM(0, GOSSIP_HELLO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(8239, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(8239, _Creature->GetGUID());
return true; return true;
@@ -135,12 +137,11 @@ bool GossipSelect_npc_prospector_anvilward(Player *player, Creature *_Creature,
switch(action) switch(action)
{ {
case GOSSIP_ACTION_INFO_DEF+1: case GOSSIP_ACTION_INFO_DEF+1:
player->ADD_GOSSIP_ITEM( 0, "Why... yes, of course. I've something to show you right inside this building, Mr. Anvilward.",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+2); player->ADD_GOSSIP_ITEM( 0, GOSSIP_SELECT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
player->SEND_GOSSIP_MENU(8240, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(8240, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+2: case GOSSIP_ACTION_INFO_DEF+2:
player->CLOSE_GOSSIP_MENU(); player->CLOSE_GOSSIP_MENU();
//attack,defend,walk
((npc_escortAI*)(_Creature->AI()))->Start(true, true, false, player->GetGUID()); ((npc_escortAI*)(_Creature->AI()))->Start(true, true, false, player->GetGUID());
break; break;
} }
@@ -636,11 +637,11 @@ CreatureAI* GetAI_npc_apprentice_mirvedaAI(Creature *_Creature)
} }
/*###### /*######
## npc_infused_crystal not working yet. ## npc_infused_crystal
######*/ ######*/
#define MOB_ENRAGED_WRAITH 17086 #define MOB_ENRAGED_WRAITH 17086
#define EMOTE "releases the last of its energies into the nerarby runestone, succesfully reactivating it." #define EMOTE -1000283
#define QUEST_POWERING_OUR_DEFENSES 8490 #define QUEST_POWERING_OUR_DEFENSES 8490
struct Location struct Location
@@ -718,7 +719,7 @@ struct TRINITY_DLL_DECL npc_infused_crystalAI : public Scripted_NoMovementAI
{ {
if(EndTimer < diff && Progress) if(EndTimer < diff && Progress)
{ {
DoTextEmote(EMOTE, NULL); DoScriptText(EMOTE, m_creature);
Completed = true; Completed = true;
if (PlayerGUID) if (PlayerGUID)
{ {
@@ -17,7 +17,7 @@
/* ScriptData /* ScriptData
SDName: Felwood SDName: Felwood
SD%Complete: 95 SD%Complete: 95
SDComment: Quest support: related to 4101&4102 (To obtain Cenarion Beacon) SDComment: Quest support: 4101, 4102
SDCategory: Felwood SDCategory: Felwood
EndScriptData */ EndScriptData */
@@ -58,7 +58,7 @@ bool GossipHello_npcs_riverbreeze_and_silversky(Player *player, Creature *_Creat
{ {
player->ADD_GOSSIP_ITEM(0, GOSSIP_ITEM_BEACON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); player->ADD_GOSSIP_ITEM(0, GOSSIP_ITEM_BEACON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(2849, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2849, _Creature->GetGUID());
}else if( player->GetTeam()==ALLIANCE ) }else if( player->GetTeam() == ALLIANCE )
player->SEND_GOSSIP_MENU(2843, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2843, _Creature->GetGUID());
else else
player->SEND_GOSSIP_MENU(2842, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(2842, _Creature->GetGUID());
@@ -27,13 +27,14 @@ EndScriptData */
## npc_gregan_brewspewer ## npc_gregan_brewspewer
######*/ ######*/
#define GOSSIP_HELLO "Buy somethin', will ya?"
bool GossipHello_npc_gregan_brewspewer(Player *player, Creature *_Creature) bool GossipHello_npc_gregan_brewspewer(Player *player, Creature *_Creature)
{ {
if( _Creature->isQuestGiver() ) if( _Creature->isQuestGiver() )
player->PrepareQuestMenu( _Creature->GetGUID() ); player->PrepareQuestMenu( _Creature->GetGUID() );
if( _Creature->isVendor() && player->GetQuestStatus(3909) == QUEST_STATUS_INCOMPLETE ) if( _Creature->isVendor() && player->GetQuestStatus(3909) == QUEST_STATUS_INCOMPLETE )
player->ADD_GOSSIP_ITEM(0, "Buy somethin', will ya?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); player->ADD_GOSSIP_ITEM(0, GOSSIP_HELLO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(2433,_Creature->GetGUID()); player->SEND_GOSSIP_MENU(2433,_Creature->GetGUID());
return true; return true;
@@ -57,7 +58,7 @@ bool GossipSelect_npc_gregan_brewspewer(Player *player, Creature *_Creature, uin
bool GossipHello_npc_screecher_spirit(Player *player, Creature *_Creature) bool GossipHello_npc_screecher_spirit(Player *player, Creature *_Creature)
{ {
player->SEND_GOSSIP_MENU(2039,_Creature->GetGUID() ); player->SEND_GOSSIP_MENU(2039, _Creature->GetGUID() );
player->TalkedToCreature(_Creature->GetEntry(), _Creature->GetGUID()); player->TalkedToCreature(_Creature->GetEntry(), _Creature->GetGUID());
_Creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); _Creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -35,10 +35,12 @@ EndContentData */
## npc_blood_knight_dawnstar ## npc_blood_knight_dawnstar
######*/ ######*/
#define GOSSIP_H_BKD "Take Blood Knight Insignia"
bool GossipHello_npc_blood_knight_dawnstar(Player *player, Creature *_Creature) bool GossipHello_npc_blood_knight_dawnstar(Player *player, Creature *_Creature)
{ {
if (player->GetQuestStatus(9692) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(24226,1,true)) if (player->GetQuestStatus(9692) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(24226,1,true))
player->ADD_GOSSIP_ITEM( 0, "Take Blood Knight Insignia", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); player->ADD_GOSSIP_ITEM( 0, GOSSIP_H_BKD, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
@@ -64,21 +66,23 @@ bool GossipSelect_npc_blood_knight_dawnstar(Player *player, Creature *_Creature,
## npc_budd_nedreck ## npc_budd_nedreck
######*/ ######*/
#define GOSSIP_HBN "You gave the crew disguises?"
bool GossipHello_npc_budd_nedreck(Player *player, Creature *_Creature) bool GossipHello_npc_budd_nedreck(Player *player, Creature *_Creature)
{ {
if( _Creature->isQuestGiver()) if( _Creature->isQuestGiver())
player->PrepareQuestMenu( _Creature->GetGUID() ); player->PrepareQuestMenu( _Creature->GetGUID() );
if( player->GetQuestStatus(11166) == QUEST_STATUS_INCOMPLETE) if( player->GetQuestStatus(11166) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0,"You gave the crew disguises?",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF); player->ADD_GOSSIP_ITEM(0, GOSSIP_HBN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(),_Creature->GetGUID()); player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
return true; return true;
} }
bool GossipSelect_npc_budd_nedreck(Player *player, Creature *_Creature, uint32 sender, uint32 action ) bool GossipSelect_npc_budd_nedreck(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{ {
if( action==GOSSIP_ACTION_INFO_DEF ) if( action == GOSSIP_ACTION_INFO_DEF )
{ {
player->CLOSE_GOSSIP_MENU(); player->CLOSE_GOSSIP_MENU();
_Creature->CastSpell(player, 42540, false); _Creature->CastSpell(player, 42540, false);
@@ -98,7 +102,7 @@ bool GossipHello_npc_rathis_tomber(Player *player, Creature *_Creature)
if( _Creature->isVendor() && player->GetQuestRewardStatus(9152) ) if( _Creature->isVendor() && player->GetQuestRewardStatus(9152) )
{ {
player->ADD_GOSSIP_ITEM(1, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); player->ADD_GOSSIP_ITEM(1, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
player->SEND_GOSSIP_MENU(8432,_Creature->GetGUID()); player->SEND_GOSSIP_MENU(8432, _Creature->GetGUID());
}else }else
player->SEND_GOSSIP_MENU(8431,_Creature->GetGUID()); player->SEND_GOSSIP_MENU(8431,_Creature->GetGUID());
@@ -183,10 +187,8 @@ struct TRINITY_DLL_DECL npc_ranger_lilathaAI : public npc_escortAI
m_creature->AI()->AttackStart(Summ1); m_creature->AI()->AttackStart(Summ1);
break; break;
} }
case 19: case 19: m_creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); break;
m_creature->SetSpeed(MOVE_RUN, 1.5f); break; case 25: m_creature->AddUnitMovementFlag(MOVEMENTFLAG_WALK_MODE); break;
case 25:
m_creature->SetSpeed(MOVE_WALK, 1.0f); break;
case 30: case 30:
if (player && player->GetTypeId() == TYPEID_PLAYER) if (player && player->GetTypeId() == TYPEID_PLAYER)
((Player*)player)->GroupEventHappens(QUEST_ESCAPE_FROM_THE_CATACOMBS,m_creature); ((Player*)player)->GroupEventHappens(QUEST_ESCAPE_FROM_THE_CATACOMBS,m_creature);
@@ -34,13 +34,15 @@ EndContentData */
## npc_ayren_cloudbreaker ## npc_ayren_cloudbreaker
######*/ ######*/
#define GOSSIP_FLY1 "Speaking of action, I've been ordered to undertake an air strike."
#define GOSSIP_FLY2 "I need to intercept the Dawnblade reinforcements."
bool GossipHello_npc_ayren_cloudbreaker(Player *player, Creature *_Creature) bool GossipHello_npc_ayren_cloudbreaker(Player *player, Creature *_Creature)
{ {
if( player->GetQuestStatus(11532) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(11533) == QUEST_STATUS_INCOMPLETE) if( player->GetQuestStatus(11532) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(11533) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0,"Speaking of action, I've been ordered to undertake an air strike.",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+1); player->ADD_GOSSIP_ITEM(0, GOSSIP_FLY1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
if( player->GetQuestStatus(11542) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(11543) == QUEST_STATUS_INCOMPLETE) if( player->GetQuestStatus(11542) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(11543) == QUEST_STATUS_INCOMPLETE)
player->ADD_GOSSIP_ITEM(0,"I need to intercept the Dawnblade reinforcements.",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+2); player->ADD_GOSSIP_ITEM(0, GOSSIP_FLY2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(),_Creature->GetGUID()); player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(),_Creature->GetGUID());
return true; return true;
@@ -65,8 +67,8 @@ bool GossipSelect_npc_ayren_cloudbreaker(Player *player, Creature *_Creature, ui
## npc_converted_sentry ## npc_converted_sentry
######*/ ######*/
#define SAY_CONVERTED_1 "Deployment sucessful. Trespassers will be neutralized." #define SAY_CONVERTED_1 -1000284
#define SAY_CONVERTED_2 "Objective acquired. Initiating security routines." #define SAY_CONVERTED_2 -1000284
#define SPELL_CONVERT_CREDIT 45009 #define SPELL_CONVERT_CREDIT 45009
@@ -95,10 +97,10 @@ struct TRINITY_DLL_DECL npc_converted_sentryAI : public ScriptedAI
if( Timer <= diff ) if( Timer <= diff )
{ {
uint32 i = urand(1,2); uint32 i = urand(1,2);
if( i=1 ) DoSay(SAY_CONVERTED_1,LANG_UNIVERSAL,NULL); if( i=1 ) DoScriptText(SAY_CONVERTED_1, m_creature);
else DoSay(SAY_CONVERTED_2,LANG_UNIVERSAL,NULL); else DoScriptText(SAY_CONVERTED_2, m_creature);
DoCast(m_creature,SPELL_CONVERT_CREDIT); DoCast(m_creature, SPELL_CONVERT_CREDIT);
((Pet*)m_creature)->SetDuration(7500); ((Pet*)m_creature)->SetDuration(7500);
Credit = true; Credit = true;
}else Timer -= diff; }else Timer -= diff;
@@ -114,10 +116,12 @@ CreatureAI* GetAI_npc_converted_sentry(Creature *_Creature)
## npc_unrestrained_dragonhawk ## npc_unrestrained_dragonhawk
######*/ ######*/
#define GOSSIP_UD "<Ride the dragonhawk to Sun's Reach>"
bool GossipHello_npc_unrestrained_dragonhawk(Player *player, Creature *_Creature) bool GossipHello_npc_unrestrained_dragonhawk(Player *player, Creature *_Creature)
{ {
if( player->GetQuestStatus(11542) == QUEST_STATUS_COMPLETE || player->GetQuestStatus(11543) == QUEST_STATUS_COMPLETE ) if( player->GetQuestStatus(11542) == QUEST_STATUS_COMPLETE || player->GetQuestStatus(11543) == QUEST_STATUS_COMPLETE )
player->ADD_GOSSIP_ITEM(0,"<Ride the dragonhawk to Sun's Reach>",GOSSIP_SENDER_MAIN,GOSSIP_ACTION_INFO_DEF+1); player->ADD_GOSSIP_ITEM(0, GOSSIP_UD, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(),_Creature->GetGUID()); player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(),_Creature->GetGUID());
return true; return true;
@@ -17,7 +17,7 @@
/* ScriptData /* ScriptData
SDName: Loch_Modan SDName: Loch_Modan
SD%Complete: 100 SD%Complete: 100
SDComment: Quest support: 3181 (only to argue with pebblebitty to get to searing gorge, before quest rewarded) SDComment: Quest support: 3181
SDCategory: Loch Modan SDCategory: Loch Modan
EndScriptData */ EndScriptData */
@@ -31,13 +31,22 @@ EndContentData */
## npc_mountaineer_pebblebitty ## npc_mountaineer_pebblebitty
######*/ ######*/
#define GOSSIP_MP "Open the gate please, i need to get to Searing Gorge"
#define GOSSIP_MP1 "But i need to get there, now open the gate!"
#define GOSSIP_MP2 "Ok, so what is this other way?"
#define GOSSIP_MP3 "Doesn't matter, i'm invulnerable."
#define GOSSIP_MP4 "Yes..."
#define GOSSIP_MP5 "Ok, i'll try to remember that."
#define GOSSIP_MP6 "A key? Ok!"
bool GossipHello_npc_mountaineer_pebblebitty(Player *player, Creature *_Creature) bool GossipHello_npc_mountaineer_pebblebitty(Player *player, Creature *_Creature)
{ {
if (_Creature->isQuestGiver()) if (_Creature->isQuestGiver())
player->PrepareQuestMenu( _Creature->GetGUID() ); player->PrepareQuestMenu( _Creature->GetGUID() );
if (!player->GetQuestRewardStatus(3181) == 1) if (!player->GetQuestRewardStatus(3181) == 1)
player->ADD_GOSSIP_ITEM( 0, "Open the gate please, i need to get to Searing Gorge", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); player->ADD_GOSSIP_ITEM( 0, GOSSIP_MP, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID()); player->SEND_GOSSIP_MENU(_Creature->GetNpcTextId(), _Creature->GetGUID());
@@ -49,27 +58,27 @@ bool GossipSelect_npc_mountaineer_pebblebitty(Player *player, Creature *_Creatur
switch (action) switch (action)
{ {
case GOSSIP_ACTION_INFO_DEF+1: case GOSSIP_ACTION_INFO_DEF+1:
player->ADD_GOSSIP_ITEM( 0, "But i need to get there, now open the gate!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); player->ADD_GOSSIP_ITEM( 0, GOSSIP_MP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
player->SEND_GOSSIP_MENU(1833, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(1833, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+2: case GOSSIP_ACTION_INFO_DEF+2:
player->ADD_GOSSIP_ITEM( 0, "Ok, so what is this other way?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); player->ADD_GOSSIP_ITEM( 0, GOSSIP_MP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
player->SEND_GOSSIP_MENU(1834, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(1834, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+3: case GOSSIP_ACTION_INFO_DEF+3:
player->ADD_GOSSIP_ITEM( 0, "Doesn't matter, i'm invulnerable.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); player->ADD_GOSSIP_ITEM( 0, GOSSIP_MP3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
player->SEND_GOSSIP_MENU(1835, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(1835, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+4: case GOSSIP_ACTION_INFO_DEF+4:
player->ADD_GOSSIP_ITEM( 0, "Yes...", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); player->ADD_GOSSIP_ITEM( 0, GOSSIP_MP4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
player->SEND_GOSSIP_MENU(1836, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(1836, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+5: case GOSSIP_ACTION_INFO_DEF+5:
player->ADD_GOSSIP_ITEM( 0, "Ok, i'll try to remember that.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); player->ADD_GOSSIP_ITEM( 0, GOSSIP_MP5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
player->SEND_GOSSIP_MENU(1837, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(1837, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+6: case GOSSIP_ACTION_INFO_DEF+6:
player->ADD_GOSSIP_ITEM( 0, "A key? Ok!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); player->ADD_GOSSIP_ITEM( 0, GOSSIP_MP6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
player->SEND_GOSSIP_MENU(1838, _Creature->GetGUID()); player->SEND_GOSSIP_MENU(1838, _Creature->GetGUID());
break; break;
case GOSSIP_ACTION_INFO_DEF+7: case GOSSIP_ACTION_INFO_DEF+7: