Merge, thanks to Aokromes for testing my patches.
Added tag UP30 for e653a5b8d0 --HG-- branch : trunk
This commit is contained in:
@@ -24,3 +24,4 @@ eed51550303dd1ca6c8617711265ec573c085263 3.2.2a-last
|
||||
b048ef8c4b39afb28c66f5c16a2d2cc5eb8d12d2 3.2.2a-really-last
|
||||
433ffdb940c1589af6b0243fb40f74cbc12e6a18 3.3.2-last
|
||||
50ede8e9dc8a83776fb6a0bfe17af9391c17b625 Teacher's & SoulForge's birthday
|
||||
e653a5b8d0100c99337e012e4b66848efd028cfb UP30
|
||||
|
||||
@@ -86,25 +86,9 @@ UPDATE `gameobject_template` SET `ScriptName`='go_dragonflayer_cage' WHERE entry
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_black_cage' WHERE `entry`=195310;
|
||||
|
||||
/* GUARD */
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_azuremyst' WHERE `entry`=18038;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_generic' WHERE `entry` IN (727,1423,1735,1738,1742,1743,1744,1745,1746,2209,2210,3084,3212,3215,3217,3218,3219,3220,3221,3222,3223,3224,3502,3571,4262,4264,5595,5624,5725,5953,9460,11190,13076,15184,16221,16222,16733,18038,19687);
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_orgrimmar' WHERE `entry`=3296;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_stormwind' WHERE `entry` IN (68,1976);
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_contested' WHERE `entry` IN (9460,4624,3502,11190,15184);
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_elwynnforest' WHERE `entry`=1423;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_eversong' WHERE `entry`=16221;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_darnassus' WHERE `entry`=4262;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_teldrassil' WHERE `entry`=3571;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_ironforge' WHERE `entry`=5595;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_dunmorogh' WHERE `entry` IN (727,13076);
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_undercity' WHERE `entry`=5624;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_bluffwatcher' WHERE `entry`=3084;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_durotar' WHERE `entry`=5953;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_mulgore' WHERE `entry` IN (3212,3215,3217,3218,3219,3220,3221,3222,3223,3224);
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_dunmorogh' WHERE `entry` IN (727,13076);
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_tirisfal' WHERE `entry` IN (1735,1738,2210,1744,1745,5725,1743,2209,1746,1742);
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_silvermoon' WHERE `entry`=16222;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_exodar' WHERE `entry`=16733;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_shattrath' WHERE `entry`=19687;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_shattrath_aldor' WHERE `entry`=18549;
|
||||
UPDATE `creature_template` SET `ScriptName`='guard_shattrath_scryer' WHERE `entry`=18568;
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
--
|
||||
-- Update basic NPC guards to use a common AI - gossip now handled in database
|
||||
--
|
||||
-- guard_azuremyst -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (18038);
|
||||
-- guard_bluffwatcher -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (3084);
|
||||
-- guard_contested -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (3502,4624,9460,11190,15184);
|
||||
-- guard_darnassus -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (4262);
|
||||
-- guard_dunmorogh -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (727,13076);
|
||||
-- guard_durotar -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (5953);
|
||||
-- guard_elwynnforest -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (1423);
|
||||
-- guard_eversong -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (16221);
|
||||
-- guard_exodar -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (16733);
|
||||
-- guard_ironforge -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (5595);
|
||||
-- guard_mulgore -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (3212,3215,3217,3218,3219,3220,3221,3222,3223,3224);
|
||||
-- guard_shattrath -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (19687);
|
||||
-- guard_silvermoon -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (16222);
|
||||
-- guard_teldrassil -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (3571);
|
||||
-- guard_tirisfal -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (1735,1738,1742,1743,1744,1745,1746,2209,2210,5725);
|
||||
-- guard_undercity -> guard_generic
|
||||
UPDATE `creature_template` SET `ScriptName` = 'guard_generic' WHERE `entry` IN (5624);
|
||||
--
|
||||
-- Update (remove) scripts from NPCs that had gossip - gossip now handled in database (AI removed)
|
||||
--
|
||||
-- NPC Surristrasz
|
||||
UPDATE `creature_template` SET `ScriptName` = '' WHERE `entry` IN (24795);
|
||||
-- NPC Tiare
|
||||
UPDATE `creature_template` SET `ScriptName` = '' WHERE `entry` IN (30051);
|
||||
-- NPC Fizzcrank Fullthrottle
|
||||
UPDATE `creature_template` SET `ScriptName` = '' WHERE `entry` IN (25590);
|
||||
@@ -1 +0,0 @@
|
||||
UPDATE `battleground_template` SET `MinPlayersPerTeam`='10', `MaxPlayersPerTeam`='10' WHERE `battleground_template`.`id`=32;
|
||||
@@ -135,4 +135,3 @@ void GuardAI::JustDied(Unit *killer)
|
||||
if (Player* pkiller = killer->GetCharmerOrOwnerPlayerOrPlayerItself())
|
||||
me->SendZoneUnderAttackMessage(pkiller);
|
||||
}
|
||||
|
||||
|
||||
@@ -1630,8 +1630,16 @@ void Spell::EffectDummy(uint32 i)
|
||||
// Life Tap
|
||||
if (m_spellInfo->SpellFamilyFlags[0] & SPELLFAMILYFLAG_WARLOCK_LIFETAP)
|
||||
{
|
||||
int32 damage = m_spellInfo->EffectBasePoints[0] + (6 * m_spellInfo->baseLevel);
|
||||
int32 mana = damage + (m_caster->ToPlayer()->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS+SPELL_SCHOOL_SHADOW) / 2);
|
||||
float spFactor = 0;
|
||||
switch (m_spellInfo->Id)
|
||||
{
|
||||
case 11689: spFactor = 0.2; break;
|
||||
case 27222:
|
||||
case 57946: spFactor = 0.5; break;
|
||||
default: spFactor = 0; break;
|
||||
}
|
||||
int32 damage = m_spellInfo->EffectBasePoints[0] + (6.3875 * m_spellInfo->baseLevel);
|
||||
int32 mana = damage + (m_caster->ToPlayer()->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS+SPELL_SCHOOL_SHADOW) * spFactor);
|
||||
|
||||
if (unitTarget && (int32(unitTarget->GetHealth()) > damage))
|
||||
{
|
||||
|
||||
@@ -22,9 +22,6 @@ SDCategory: Borean Tundra
|
||||
EndScriptData */
|
||||
|
||||
/* ContentData
|
||||
npc_fizzcrank_fullthrottle
|
||||
npc_surristrasz
|
||||
npc_tiare
|
||||
npc_iruk
|
||||
npc_corastrasza
|
||||
npc_jenny
|
||||
@@ -42,155 +39,6 @@ EndContentData */
|
||||
#include "ScriptedEscortAI.h"
|
||||
#include "ScriptedFollowerAI.h"
|
||||
|
||||
/*######
|
||||
## npc_fizzcrank_fullthrottle
|
||||
######*/
|
||||
|
||||
#define GOSSIP_ITEM_GO_ON "Go on."
|
||||
#define GOSSIP_ITEM_TELL_ME "Tell me what's going on out here, Fizzcrank."
|
||||
|
||||
enum eFizzcrank
|
||||
{
|
||||
GOSSIP_TEXTID_FIZZCRANK1 = 12456,
|
||||
GOSSIP_TEXTID_FIZZCRANK2 = 12457,
|
||||
GOSSIP_TEXTID_FIZZCRANK3 = 12458,
|
||||
GOSSIP_TEXTID_FIZZCRANK4 = 12459,
|
||||
GOSSIP_TEXTID_FIZZCRANK5 = 12460,
|
||||
GOSSIP_TEXTID_FIZZCRANK6 = 12461,
|
||||
GOSSIP_TEXTID_FIZZCRANK7 = 12462,
|
||||
GOSSIP_TEXTID_FIZZCRANK8 = 12463,
|
||||
GOSSIP_TEXTID_FIZZCRANK9 = 12464,
|
||||
|
||||
QUEST_THE_MECHAGNOMES = 11708
|
||||
};
|
||||
|
||||
bool GossipHello_npc_fizzcrank_fullthrottle(Player* pPlayer, Creature* pCreature)
|
||||
{
|
||||
if (pCreature->isQuestGiver())
|
||||
pPlayer->PrepareQuestMenu(pCreature->GetGUID());
|
||||
|
||||
if (pPlayer->GetQuestStatus(QUEST_THE_MECHAGNOMES) == QUEST_STATUS_INCOMPLETE)
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TELL_ME, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||
|
||||
pPlayer->SEND_GOSSIP_MENU(pPlayer->GetGossipTextId(pCreature), pCreature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GossipSelect_npc_fizzcrank_fullthrottle(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
|
||||
{
|
||||
switch(uiAction)
|
||||
{
|
||||
case GOSSIP_ACTION_INFO_DEF+1:
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GO_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||
pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_FIZZCRANK1, pCreature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+2:
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GO_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
|
||||
pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_FIZZCRANK2, pCreature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+3:
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GO_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
|
||||
pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_FIZZCRANK3, pCreature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+4:
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GO_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
|
||||
pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_FIZZCRANK4, pCreature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+5:
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GO_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
|
||||
pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_FIZZCRANK5, pCreature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+6:
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GO_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
|
||||
pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_FIZZCRANK6, pCreature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+7:
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GO_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8);
|
||||
pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_FIZZCRANK7, pCreature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+8:
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GO_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9);
|
||||
pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_FIZZCRANK8, pCreature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+9:
|
||||
pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_FIZZCRANK9, pCreature->GetGUID());
|
||||
pPlayer->AreaExploredOrEventHappens(QUEST_THE_MECHAGNOMES);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/*######
|
||||
## npc_surristrasz
|
||||
######*/
|
||||
|
||||
#define GOSSIP_ITEM_FREE_FLIGHT "I'd like passage to the Transitus Shield."
|
||||
#define GOSSIP_ITEM_FLIGHT "May I use a drake to fly elsewhere?"
|
||||
|
||||
enum eSurristrasz
|
||||
{
|
||||
SPELL_ABMER_TO_COLDARRA = 46064
|
||||
};
|
||||
|
||||
bool GossipHello_npc_surristrasz(Player* pPlayer, Creature* pCreature)
|
||||
{
|
||||
if (pCreature->isQuestGiver())
|
||||
pPlayer->PrepareQuestMenu(pCreature->GetGUID());
|
||||
|
||||
if (pCreature->isTaxi())
|
||||
{
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_FREE_FLIGHT, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_GOSSIP);
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_ITEM_FLIGHT, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_TAXIVENDOR);
|
||||
}
|
||||
|
||||
pPlayer->SEND_GOSSIP_MENU(pPlayer->GetGossipTextId(pCreature), pCreature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GossipSelect_npc_surristrasz(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
|
||||
{
|
||||
if (uiAction == GOSSIP_OPTION_GOSSIP)
|
||||
{
|
||||
pPlayer->CLOSE_GOSSIP_MENU();
|
||||
|
||||
//TaxiPath 795 (amber to coldarra)
|
||||
pPlayer->CastSpell(pPlayer, SPELL_ABMER_TO_COLDARRA, true);
|
||||
}
|
||||
|
||||
if (uiAction == GOSSIP_OPTION_TAXIVENDOR)
|
||||
pPlayer->GetSession()->SendTaxiMenu(pCreature);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*######
|
||||
## npc_tiare
|
||||
######*/
|
||||
|
||||
#define GOSSIP_ITEM_TELEPORT "Teleport me to Amber Ledge, please."
|
||||
|
||||
enum eTiare
|
||||
{
|
||||
SPELL_TELEPORT_COLDARRA = 50135
|
||||
};
|
||||
|
||||
bool GossipHello_npc_tiare(Player* pPlayer, Creature* pCreature)
|
||||
{
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TELEPORT, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_GOSSIP);
|
||||
pPlayer->SEND_GOSSIP_MENU(pPlayer->GetGossipTextId(pCreature), pCreature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GossipSelect_npc_tiare(Player* pPlayer, Creature* /*pCreature*/, uint32 /*uiSender*/, uint32 uiAction)
|
||||
{
|
||||
if (uiAction == GOSSIP_OPTION_GOSSIP)
|
||||
{
|
||||
pPlayer->CLOSE_GOSSIP_MENU();
|
||||
pPlayer->CastSpell(pPlayer, SPELL_TELEPORT_COLDARRA, true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/*######
|
||||
## npc_sinkhole_kill_credit
|
||||
######*/
|
||||
@@ -2335,24 +2183,6 @@ void AddSC_borean_tundra()
|
||||
{
|
||||
Script *newscript;
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "npc_fizzcrank_fullthrottle";
|
||||
newscript->pGossipHello = &GossipHello_npc_fizzcrank_fullthrottle;
|
||||
newscript->pGossipSelect = &GossipSelect_npc_fizzcrank_fullthrottle;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "npc_surristrasz";
|
||||
newscript->pGossipHello = &GossipHello_npc_surristrasz;
|
||||
newscript->pGossipSelect = &GossipSelect_npc_surristrasz;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "npc_tiare";
|
||||
newscript->pGossipHello = &GossipHello_npc_tiare;
|
||||
newscript->pGossipSelect = &GossipSelect_npc_tiare;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "npc_sinkhole_kill_credit";
|
||||
newscript->GetAI = &GetAI_npc_sinkhole_kill_credit;
|
||||
|
||||
+7
-3891
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user