*Integrate Script system to Core
-added ScriptMgr for loading scripts -removed bindings -moved script system to src/game -moved scripts to src/scripts -VC project files updated -cmakes updated (not 100% done yet) NOTE to Devs: -file locations changed -precompiled renamed to ScriptedPch -ecsort_ai renamed to ScriptedEscortAI -follower_ai renamed to ScriptedFollowerAI -guard_ai renamed to ScriptedGuardAI -simple_ai renamed to ScriptedSimpleAI -sc_creature renamed to ScriptedCreature -sc_gossip renamed to ScriptedGossip -sc_instance renamed to ScriptedInstance *use the new headers in scripts, thank you NOTE to ALL: cmake not fully tested, please report any errors with it could make creashes, incompability USE AT YOUR OWN RISK before further tests!! --HG-- branch : trunk
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
add_subdirectory(bindings)
|
||||
add_subdirectory(framework)
|
||||
add_subdirectory(game)
|
||||
add_subdirectory(shared)
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
if(DO_SCRIPTS)
|
||||
add_subdirectory(scripts)
|
||||
else (DO_SCRIPTS)
|
||||
add_subdirectory(interface)
|
||||
endif(DO_SCRIPTS)
|
||||
@@ -1,20 +0,0 @@
|
||||
|
||||
########### next target ###############
|
||||
|
||||
SET(trinityinterface_LIB_SRCS
|
||||
ScriptMgr.cpp
|
||||
ScriptMgr.h
|
||||
config.h
|
||||
system.cpp
|
||||
Scripts/sc_default.cpp
|
||||
Scripts/sc_defines.cpp
|
||||
Scripts/sc_defines.h
|
||||
Scripts/on_events.cpp
|
||||
)
|
||||
|
||||
add_library(trinityinterface SHARED ${trinityinterface_LIB_SRCS})
|
||||
|
||||
target_link_libraries(trinityinterface)
|
||||
|
||||
set_target_properties(trinityinterface PROPERTIES VERSION 4.2.0 SOVERSION 4)
|
||||
install(TARGETS trinityinterface DESTINATION lib)
|
||||
@@ -1,32 +0,0 @@
|
||||
|
||||
** HOW TO SCRIPT IN C++ **
|
||||
|
||||
1 - create a file myscript.cpp in scripts folder.
|
||||
2 - copy the content of script_default.cpp, it as the structure on how the scripting fuctions are organized.
|
||||
dont forget to change the name of fuctions, like GossipHello_default to GossipHello_myscript.
|
||||
|
||||
3 - in fuction AddSC_default change to AddSC_myscript.
|
||||
4 - newscript->Name="default"; change the string to "myscript" this name is the one to be called from the db
|
||||
5 - dont forget to change the name in here to newscript->pGossipHello = &GossipHello_default; this is where the scripted fuctions are stored.
|
||||
6 - and last thing is in ScriptMgr.cpp
|
||||
|
||||
add your AddSC_myscript in here
|
||||
|
||||
// -- Scripts to be added --
|
||||
extern void AddSC_default();
|
||||
// -------------------
|
||||
|
||||
and here
|
||||
|
||||
// -- Inicialize the Scripts to be Added --
|
||||
AddSC_default();
|
||||
// ----------------------------------------
|
||||
|
||||
now start using the player fuctions to script ;)
|
||||
see the sc_defines.h for some fuctions to use.
|
||||
|
||||
hope it helps, any question use our forum.
|
||||
|
||||
copy libscript.so and libscript.a to your server/lib path
|
||||
|
||||
made by: mmcs.
|
||||
@@ -1,452 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: MaNGOS <http://getmangos.com/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "GossipDef.h"
|
||||
#include "GameObject.h"
|
||||
#include "Player.h"
|
||||
#include "Map.h"
|
||||
#include "ObjectMgr.h"
|
||||
|
||||
int num_sc_scripts;
|
||||
Script *m_scripts[MAX_SCRIPTS];
|
||||
|
||||
// -- Scripts to be added --
|
||||
extern void AddSC_default();
|
||||
// -------------------
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void ScriptsFree()
|
||||
{ // Free resources before library unload
|
||||
for(int i = 0; i < num_sc_scripts; i++)
|
||||
delete m_scripts[i];
|
||||
|
||||
num_sc_scripts = 0;
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void ScriptsInit(char const* cfg_file = "trinitycore.conf")
|
||||
{
|
||||
num_sc_scripts = 0;
|
||||
for(int i=0;i<MAX_SCRIPTS;i++)
|
||||
m_scripts[i]=NULL;
|
||||
|
||||
// -- Inicialize the Scripts to be Added --
|
||||
AddSC_default();
|
||||
// ----------------------------------------
|
||||
|
||||
}
|
||||
|
||||
Script* GetScriptByName(std::string Name)
|
||||
{
|
||||
if(Name.empty())
|
||||
return NULL;
|
||||
for(int i=0;i<MAX_SCRIPTS;i++)
|
||||
{
|
||||
if( m_scripts[i] && m_scripts[i]->Name == Name )
|
||||
return m_scripts[i];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//*********************************
|
||||
//*** Functions used internally ***
|
||||
|
||||
void Script::RegisterSelf()
|
||||
{
|
||||
int id = GetScriptId(Name.c_str());
|
||||
if(id)
|
||||
{
|
||||
m_scripts[id] = this;
|
||||
++num_sc_scripts;
|
||||
}
|
||||
}
|
||||
|
||||
//********************************
|
||||
//*** Functions to be Exported ***
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnLogin(Player *pPlayer)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnLogin) return;
|
||||
tmpscript->pOnLogin(pPlayer);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnLogout(Player *pPlayer)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnLogout) return;
|
||||
tmpscript->pOnLogout(pPlayer);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnPVPKill(Player *killer, Player *killed)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnPVPKill) return;
|
||||
tmpscript->pOnPVPKill(killer, killed);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnSpellCast (Unit *pUnitTarget, Item *pItemTarget, GameObject *pGoTarget, uint32 i, SpellEntry const *spell)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnSpellCast) return true;
|
||||
return tmpscript->pOnSpellCast(pUnitTarget,pItemTarget,pGoTarget,i,spell);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
uint32 OnGetXP(Player *pPlayer, uint32 amount)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnGetXP) return amount;
|
||||
return tmpscript->pOnGetXP(pPlayer,amount);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
uint32 OnGetMoney(Player *pPlayer, int32 amount)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnGetMoney) return amount;
|
||||
return tmpscript->pOnGetMoney(pPlayer,amount);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnPlayerChat(Player *pPlayer, const char *text)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnPlayerChat) return true;
|
||||
return tmpscript->pOnPlayerChat(pPlayer,text);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnServerStartup()
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnServerStartup) return;
|
||||
tmpscript->pOnServerStartup();
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnServerShutdown()
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnServerShutdown) return;
|
||||
tmpscript->pOnServerShutdown();
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnAreaChange(Player *pPlayer, AreaTableEntry const *pArea)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnAreaChange) return;
|
||||
tmpscript->pOnAreaChange(pPlayer, pArea);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnItemClick (Player *pPlayer, Item *pItem)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnItemClick) return true;
|
||||
return tmpscript->pOnItemClick(pPlayer,pItem);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnItemOpen (Player *pPlayer, Item *pItem)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnItemOpen) return true;
|
||||
return tmpscript->pOnItemOpen(pPlayer,pItem);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnGoClick (Player *pPlayer, GameObject *pGameObject)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnGoClick) return true;
|
||||
return tmpscript->pOnGoClick(pPlayer,pGameObject);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnCreatureKill (Player *pPlayer, Creature *pCreature)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnCreatureKill) return;
|
||||
tmpscript->pOnCreatureKill(pPlayer,pCreature);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
char const* ScriptsVersion()
|
||||
{
|
||||
return "Default Trinity scripting library";
|
||||
}
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GossipHello ( Player * player, Creature *_Creature )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_Creature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pGossipHello) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pGossipHello(player,_Creature);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GossipSelect( Player *player, Creature *_Creature, uint32 sender, uint32 action )
|
||||
{
|
||||
debug_log("TSCR: Gossip selection, sender: %d, action: %d",sender, action);
|
||||
|
||||
Script *tmpscript = m_scripts[_Creature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pGossipSelect) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pGossipSelect(player,_Creature,sender,action);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GossipSelectWithCode( Player *player, Creature *_Creature, uint32 sender, uint32 action, const char* sCode )
|
||||
{
|
||||
debug_log("TSCR: Gossip selection with code, sender: %d, action: %d",sender, action);
|
||||
|
||||
Script *tmpscript = m_scripts[_Creature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pGossipSelectWithCode) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pGossipSelectWithCode(player,_Creature,sender,action,sCode);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GOSelect( Player *player, GameObject *_GO, uint32 sender, uint32 action )
|
||||
{
|
||||
if(!_GO)
|
||||
return false;
|
||||
debug_log("TSCR: Gossip selection, sender: %d, action: %d",sender, action);
|
||||
|
||||
Script *tmpscript = m_scripts[_GO->GetGOInfo()->ScriptId];
|
||||
if(!tmpscript || !tmpscript->pGOSelect) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pGOSelect(player,_GO,sender,action);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GOSelectWithCode( Player *player, GameObject *_GO, uint32 sender, uint32 action, const char* sCode )
|
||||
{
|
||||
if(!_GO)
|
||||
return false;
|
||||
debug_log("TSCR: Gossip selection, sender: %d, action: %d",sender, action);
|
||||
|
||||
Script *tmpscript = m_scripts[_GO->GetGOInfo()->ScriptId];
|
||||
if(!tmpscript || !tmpscript->pGOSelectWithCode) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pGOSelectWithCode(player,_GO,sender,action,sCode);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool QuestAccept( Player *player, Creature *_Creature, Quest const *_Quest )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_Creature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pQuestAccept) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pQuestAccept(player,_Creature,_Quest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool QuestSelect( Player *player, Creature *_Creature, Quest const *_Quest )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_Creature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pQuestSelect) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pQuestSelect(player,_Creature,_Quest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool QuestComplete( Player *player, Creature *_Creature, Quest const *_Quest )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_Creature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pQuestComplete) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pQuestComplete(player,_Creature,_Quest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool ChooseReward( Player *player, Creature *_Creature, Quest const *_Quest, uint32 opt )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_Creature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pChooseReward) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pChooseReward(player,_Creature,_Quest,opt);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
uint32 NPCDialogStatus( Player *player, Creature *_Creature )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_Creature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pNPCDialogStatus) return 100;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pNPCDialogStatus(player,_Creature);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
uint32 GODialogStatus( Player *player, GameObject *_GO )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_GO->GetGOInfo()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pGODialogStatus) return 100;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pGODialogStatus(player,_GO);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool ItemHello( Player *player, Item *_Item, Quest const *_Quest )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_Item->GetProto()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pItemHello) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pItemHello(player,_Item,_Quest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool ItemQuestAccept( Player *player, Item *_Item, Quest const *_Quest )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_Item->GetProto()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pItemQuestAccept) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pItemQuestAccept(player,_Item,_Quest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GOHello( Player *player, GameObject *_GO )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_GO->GetGOInfo()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pGOHello) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pGOHello(player,_GO);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GOQuestAccept( Player *player, GameObject *_GO, Quest const *_Quest )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_GO->GetGOInfo()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pGOQuestAccept) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pGOQuestAccept(player,_GO,_Quest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GOChooseReward( Player *player, GameObject *_GO, Quest const *_Quest, uint32 opt )
|
||||
{
|
||||
Script *tmpscript = m_scripts[_GO->GetGOInfo()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pGOChooseReward) return false;
|
||||
|
||||
player->PlayerTalkClass->ClearMenus();
|
||||
return tmpscript->pGOChooseReward(player,_GO,_Quest,opt);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool AreaTrigger( Player *player, AreaTriggerEntry * atEntry)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetAreaTriggerScriptId(atEntry->id)];
|
||||
if (!tmpscript || !tmpscript->pAreaTrigger) return false;
|
||||
|
||||
return tmpscript->pAreaTrigger(player, atEntry);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
CreatureAI* GetAI(Creature *_Creature)
|
||||
{
|
||||
Script *tmpscript = m_scripts[_Creature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->GetAI) return NULL;
|
||||
|
||||
return tmpscript->GetAI(_Creature);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool ItemUse( Player *player, Item* _Item, SpellCastTargets const& targets)
|
||||
{
|
||||
Script *tmpscript = m_scripts[_Item->GetProto()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pItemUse) return false;
|
||||
|
||||
return tmpscript->pItemUse(player,_Item,targets);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool ItemExpire( Player *player, ItemPrototype const *_ItemProto)
|
||||
{
|
||||
Script *tmpscript = m_scripts[_ItemProto->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pItemExpire) return true;
|
||||
|
||||
return tmpscript->pItemExpire(player,_ItemProto);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool EffectDummyCreature(Unit *caster, uint32 spellId, uint32 effIndex, Creature *crTarget )
|
||||
{
|
||||
Script *tmpscript = m_scripts[crTarget->GetScriptId()];
|
||||
|
||||
if (!tmpscript || !tmpscript->pEffectDummyCreature) return false;
|
||||
|
||||
return tmpscript->pEffectDummyCreature(caster, spellId,effIndex,crTarget);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool EffectDummyGameObj(Unit *caster, uint32 spellId, uint32 effIndex, GameObject *gameObjTarget )
|
||||
{
|
||||
Script *tmpscript = m_scripts[gameObjTarget->GetGOInfo()->ScriptId];
|
||||
|
||||
if (!tmpscript || !tmpscript->pEffectDummyGameObj) return false;
|
||||
|
||||
return tmpscript->pEffectDummyGameObj(caster, spellId,effIndex,gameObjTarget);
|
||||
}
|
||||
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool EffectDummyItem(Unit *caster, uint32 spellId, uint32 effIndex, Item *itemTarget )
|
||||
{
|
||||
Script *tmpscript = m_scripts[itemTarget->GetProto()->ScriptId];
|
||||
|
||||
if (!tmpscript || !tmpscript->pEffectDummyItem) return false;
|
||||
|
||||
return tmpscript->pEffectDummyItem(caster, spellId,effIndex,itemTarget);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
InstanceData* CreateInstanceData(Map *map)
|
||||
{
|
||||
if (!map->IsDungeon()) return NULL;
|
||||
|
||||
Script *tmpscript = m_scripts[((InstanceMap*)map)->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->GetInstanceData) return NULL;
|
||||
|
||||
return tmpscript->GetInstanceData(map);
|
||||
}
|
||||
|
||||
@@ -1,177 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: MaNGOS <http://getmangos.com/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef SCRIPTMGR_H
|
||||
#define SCRIPTMGR_H
|
||||
|
||||
//Only required includes
|
||||
#include "../../game/CreatureAI.h"
|
||||
#include "../../game/Creature.h"
|
||||
#include "../../game/InstanceData.h"
|
||||
|
||||
class Player;
|
||||
class Creature;
|
||||
class Quest;
|
||||
class Item;
|
||||
class GameObject;
|
||||
class SpellCastTargets;
|
||||
class Map;
|
||||
|
||||
#define MAX_SCRIPTS 1000
|
||||
|
||||
struct Script
|
||||
{
|
||||
Script() :
|
||||
pGossipHello(NULL), pQuestAccept(NULL), pGossipSelect(NULL), pGossipSelectWithCode(NULL), pGOSelect(NULL), pGOSelectWithCode(NULL),
|
||||
pQuestSelect(NULL), pQuestComplete(NULL), pNPCDialogStatus(NULL), pGODialogStatus(NULL), pChooseReward(NULL),
|
||||
pItemHello(NULL), pGOHello(NULL), pAreaTrigger(NULL), pItemQuestAccept(NULL), pGOQuestAccept(NULL),
|
||||
pGOChooseReward(NULL), pItemUse(NULL), pItemExpire(NULL), pEffectDummyCreature(NULL), pEffectDummyGameObj(NULL),
|
||||
pEffectDummyItem(NULL), GetAI(NULL), GetInstanceData(NULL)
|
||||
{}
|
||||
|
||||
std::string Name;
|
||||
|
||||
//Methods to be scripted
|
||||
void (*pOnLogin )(Player*);
|
||||
void (*pOnLogout )(Player*);
|
||||
void (*pOnPVPKill )(Player*, Player*);
|
||||
bool (*pOnSpellCast )(Unit*, Item*, GameObject*, uint32, SpellEntry const*);
|
||||
uint32 (*pOnGetXP )(Player*, uint32);
|
||||
int32 (*pOnGetMoney )(Player*, int32);
|
||||
bool (*pOnPlayerChat )(Player*, const char*);
|
||||
void (*pOnServerStartup )();
|
||||
void (*pOnServerShutdown )();
|
||||
void (*pOnAreaChange )(Player*, AreaTableEntry const*);
|
||||
bool (*pOnItemClick )(Player*, Item*);
|
||||
bool (*pOnItemOpen )(Player*, Item*);
|
||||
bool (*pOnGoClick )(Player*, GameObject*);
|
||||
void (*pOnCreatureKill )(Player*, Creature*);
|
||||
bool (*pGossipHello )(Player*, Creature*);
|
||||
bool (*pQuestAccept )(Player*, Creature*, Quest const* );
|
||||
bool (*pGossipSelect )(Player*, Creature*, uint32 , uint32 );
|
||||
bool (*pGossipSelectWithCode)(Player*, Creature*, uint32 , uint32 , const char* );
|
||||
bool (*pGOSelect )(Player*, GameObject*, uint32 , uint32 );
|
||||
bool (*pGOSelectWithCode )(Player*, GameObject*, uint32 , uint32 , const char* );
|
||||
bool (*pQuestSelect )(Player*, Creature*, Quest const* );
|
||||
bool (*pQuestComplete )(Player*, Creature*, Quest const* );
|
||||
uint32 (*pNPCDialogStatus )(Player*, Creature* );
|
||||
uint32 (*pGODialogStatus )(Player*, GameObject* );
|
||||
bool (*pChooseReward )(Player*, Creature*, Quest const*, uint32 );
|
||||
bool (*pItemHello )(Player*, Item*, Quest const* );
|
||||
bool (*pGOHello )(Player*, GameObject* );
|
||||
bool (*pAreaTrigger )(Player*, AreaTriggerEntry* );
|
||||
bool (*pItemQuestAccept )(Player*, Item *, Quest const* );
|
||||
bool (*pGOQuestAccept )(Player*, GameObject*, Quest const* );
|
||||
bool (*pGOChooseReward )(Player*, GameObject*, Quest const*, uint32 );
|
||||
bool (*pItemUse )(Player*, Item*, SpellCastTargets const& );
|
||||
bool (*pItemExpire )(Player*, ItemPrototype const*);
|
||||
bool (*pEffectDummyCreature )(Unit*, uint32, uint32, Creature* );
|
||||
bool (*pEffectDummyGameObj )(Unit*, uint32, uint32, GameObject* );
|
||||
bool (*pEffectDummyItem )(Unit*, uint32, uint32, Item* );
|
||||
|
||||
CreatureAI* (*GetAI)(Creature*);
|
||||
InstanceData* (*GetInstanceData)(Map*);
|
||||
|
||||
void RegisterSelf();
|
||||
};
|
||||
|
||||
class InstanceDataScript
|
||||
{
|
||||
public:
|
||||
InstanceDataScript() : GetInstanceData(NULL) {};
|
||||
|
||||
std::string name;
|
||||
InstanceData* (*GetInstanceData)(Map *_Map);
|
||||
};
|
||||
|
||||
#define VISIBLE_RANGE (50.0f)
|
||||
|
||||
struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI
|
||||
{
|
||||
ScriptedAI(Creature* creature):CreatureAI(creature),m_creature(creature){}
|
||||
~ScriptedAI() {}
|
||||
|
||||
// Called if IsVisible(Unit *who) is true at each *who move
|
||||
void MoveInLineOfSight(Unit *) {}
|
||||
|
||||
// Called at each attack of m_creature by any victim
|
||||
void AttackStart(Unit *) {}
|
||||
|
||||
// Called at stopping attack by any attacker
|
||||
void EnterEvadeMode();
|
||||
|
||||
// Called at any heal cast/item used (call non implemented)
|
||||
void HealBy(Unit* /*healer*/, uint32 /*amount_healed*/) {}
|
||||
|
||||
// Called at any Damage to any victim (before damage apply)
|
||||
void DamageDeal(Unit* /*done_to*/, uint32& /*damage*/) {}
|
||||
|
||||
// Called at any Damage from any attacker (before damage apply)
|
||||
void DamageTaken(Unit* /*done_by*/, uint32& /*damage*/) {}
|
||||
|
||||
// Is unit visible for MoveInLineOfSight
|
||||
bool IsVisible(Unit* who) const
|
||||
{
|
||||
return !who->HasStealthAura() && m_creature->GetDistance(who) <= VISIBLE_RANGE;
|
||||
}
|
||||
|
||||
// Called at World update tick
|
||||
void UpdateAI(const uint32);
|
||||
|
||||
// Called when the creature is killed
|
||||
void JustDied(Unit *){}
|
||||
|
||||
// Called when the creature kills a unit
|
||||
void KilledUnit(Unit *){}
|
||||
|
||||
// Called when hit by a spell
|
||||
void SpellHit(Unit *, const SpellEntry*){}
|
||||
|
||||
Creature* m_creature;
|
||||
|
||||
//= Some useful helpers =========================
|
||||
|
||||
// Start attack of victim and go to him
|
||||
void DoStartAttack(Unit* victim);
|
||||
|
||||
// Stop attack of current victim
|
||||
void DoStopAttack();
|
||||
|
||||
// Cast spell
|
||||
void DoCast(Unit* victim, uint32 spelId)
|
||||
{
|
||||
m_creature->CastSpell(victim,spelId,true);
|
||||
}
|
||||
|
||||
void DoCastSpell(Unit* who,SpellEntry *spellInfo)
|
||||
{
|
||||
m_creature->CastSpell(who,spellInfo,true);
|
||||
}
|
||||
|
||||
void DoSay(char const* text, uint32 language)
|
||||
{
|
||||
m_creature->MonsterSay(text,language,0);
|
||||
}
|
||||
|
||||
void DoGoHome();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,152 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: MaNGOS <http://getmangos.com/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "sc_defines.h"
|
||||
|
||||
bool GossipHello_default(Player* /*player*/, Creature* /*_Creature*/)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool GossipSelect_default(Player* /*player*/, Creature* /*_Creature*/, uint32 /*sender*/, uint32 /*action*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool GossipSelectWithCode_default( Player* /*player*/, Creature* /*_Creature*/, uint32 /*sender*/, uint32 /*action*/, const char* /*sCode*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool GOSelect_default(Player* /*player*/, GameObject* /*_GO*/, uint32 /*sender*/, uint32 /*action*/)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool GOSelectWithCode_default(Player* /*player*/, GameObject* /*_GO*/, uint32 /*sender*/, uint32 /*action*/, const char* /*sCode*/)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool QuestAccept_default(Player* /*player*/, Creature* /*_Creature*/, Quest const* /*_Quest*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool QuestSelect_default(Player* /*player*/, Creature* /*_Creature*/, Quest const* /*_Quest*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool QuestComplete_default(Player* /*player*/, Creature* /*_Creature*/, Quest const* /*_Quest*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ChooseReward_default(Player* /*player*/, Creature* /*_Creature*/, Quest const* /*_Quest*/, uint32 /*opt*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32 NPCDialogStatus_default(Player* /*player*/, Creature* /*_Creature*/ )
|
||||
{
|
||||
return 128;
|
||||
}
|
||||
|
||||
uint32 GODialogStatus_default(Player* /*player*/, GameObject* /*_Creature*/ )
|
||||
{
|
||||
return 128;
|
||||
}
|
||||
|
||||
bool ItemHello_default(Player* /*player*/, Item* /*_Item*/, Quest const* /*_Quest*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ItemQuestAccept_default(Player* /*player*/, Item* /*_Item*/, Quest const* /*_Quest*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool GOHello_default(Player* /*player*/, GameObject* /*_GO*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool GOQuestAccept_default(Player* /*player*/, GameObject* /*_GO*/, Quest const* /*_Quest*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool GOChooseReward_default(Player* /*player*/, GameObject* /*_GO*/, Quest const* /*_Quest*/, uint32 /*opt*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool AreaTrigger_default(Player* /*player*/, AreaTriggerEntry* /*atEntry*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool EffectDummyCreature_default(Unit* /*caster*/, uint32 /*spellId*/, uint32 /*effIndex*/, Creature* /*crTarget*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool EffectDummyGameObj_default(Unit* /*caster*/, uint32 /*spellId*/, uint32 /*effIndex*/, GameObject* /*gameObjTarget*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
bool EffectDummyItem_default(Unit* /*caster*/, uint32 /*spellId*/, uint32 /*effIndex*/, Item* /*itemTarget*/ )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void AddSC_default()
|
||||
{
|
||||
Script *newscript;
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="default";
|
||||
newscript->pGossipHello = &GossipHello_default;
|
||||
newscript->pQuestAccept = &QuestAccept_default;
|
||||
newscript->pGossipSelect = &GossipSelect_default;
|
||||
newscript->pGossipSelectWithCode = &GossipSelectWithCode_default;
|
||||
newscript->pGOSelect = &GOSelect_default;
|
||||
newscript->pGOSelectWithCode = &GOSelectWithCode_default;
|
||||
newscript->pQuestSelect = &QuestSelect_default;
|
||||
newscript->pQuestComplete = &QuestComplete_default;
|
||||
newscript->pNPCDialogStatus = &NPCDialogStatus_default;
|
||||
newscript->pGODialogStatus = &GODialogStatus_default;
|
||||
newscript->pChooseReward = &ChooseReward_default;
|
||||
newscript->pItemHello = &ItemHello_default;
|
||||
newscript->pGOHello = &GOHello_default;
|
||||
newscript->pAreaTrigger = &AreaTrigger_default;
|
||||
newscript->pItemQuestAccept = &ItemQuestAccept_default;
|
||||
newscript->pGOQuestAccept = &GOQuestAccept_default;
|
||||
newscript->pGOChooseReward = &GOChooseReward_default;
|
||||
newscript->pEffectDummyCreature = &EffectDummyCreature_default;
|
||||
newscript->pEffectDummyGameObj = &EffectDummyGameObj_default;
|
||||
newscript->pEffectDummyItem = &EffectDummyItem_default;
|
||||
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
@@ -1,155 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: MaNGOS <http://getmangos.com/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "sc_defines.h"
|
||||
|
||||
#include "../../game/Player.h"
|
||||
|
||||
uint32 GetSkillLevel(Player *player,uint32 trskill)
|
||||
{
|
||||
// Returns the level of some tradetrskill known by player
|
||||
// Need to add missing spells
|
||||
|
||||
uint32 spell_apprentice = 0;
|
||||
uint32 spell_journeyman = 0;
|
||||
uint32 spell_expert = 0;
|
||||
uint32 spell_artisan = 0;
|
||||
uint32 spell_master = 0;
|
||||
|
||||
switch(trskill)
|
||||
{
|
||||
case TRADESKILL_ALCHEMY:
|
||||
spell_apprentice = 2259;
|
||||
spell_journeyman = 3101;
|
||||
spell_expert = 3464;
|
||||
spell_artisan = 11611;
|
||||
spell_master = 28596; // teached by 28597
|
||||
break;
|
||||
case TRADESKILL_BLACKSMITHING:
|
||||
spell_apprentice = 2018;
|
||||
spell_journeyman = 3100;
|
||||
spell_expert = 8768;
|
||||
spell_artisan = 11454;
|
||||
spell_master = 29844; // teached by 29845
|
||||
break;
|
||||
case TRADESKILL_COOKING:
|
||||
spell_apprentice = 2550;
|
||||
spell_journeyman = 3102;
|
||||
spell_expert = 3413;
|
||||
spell_artisan = 18260;
|
||||
spell_master = 33359; // teached by 33361
|
||||
break;
|
||||
case TRADESKILL_ENCHANTING:
|
||||
spell_apprentice = 7411;
|
||||
spell_journeyman = 7412;
|
||||
spell_expert = 7413;
|
||||
spell_artisan = 13920;
|
||||
spell_master = 28029; // teached by 28030
|
||||
break;
|
||||
case TRADESKILL_ENGINEERING:
|
||||
spell_apprentice = 4036;
|
||||
spell_journeyman = 4037;
|
||||
spell_expert = 4038;
|
||||
spell_artisan = 12656;
|
||||
spell_master = 30350; // teached by 30351
|
||||
break;
|
||||
case TRADESKILL_FIRSTAID:
|
||||
spell_apprentice = 3273;
|
||||
spell_journeyman = 3274;
|
||||
spell_expert = 7924;
|
||||
spell_artisan = 10846;
|
||||
spell_master = 27028; // teached by 27029
|
||||
break;
|
||||
case TRADESKILL_HERBALISM:
|
||||
spell_apprentice = 2372;
|
||||
spell_journeyman = 2373;
|
||||
spell_expert = 3571;
|
||||
spell_artisan = 11994;
|
||||
spell_master = 0;
|
||||
break;
|
||||
case TRADESKILL_LEATHERWORKING:
|
||||
spell_apprentice = 2108;
|
||||
spell_journeyman = 3104;
|
||||
spell_expert = 20649;
|
||||
spell_artisan = 10662;
|
||||
spell_master = 32549; // teached by 32550
|
||||
break;
|
||||
case TRADESKILL_POISONS:
|
||||
spell_apprentice = 0;
|
||||
spell_journeyman = 0;
|
||||
spell_expert = 0;
|
||||
spell_artisan = 0;
|
||||
spell_master = 0;
|
||||
break;
|
||||
case TRADESKILL_TAILORING:
|
||||
spell_apprentice = 3908;
|
||||
spell_journeyman = 3909;
|
||||
spell_expert = 3910;
|
||||
spell_artisan = 12180;
|
||||
spell_master = 26790; // teached by 26791
|
||||
break;
|
||||
case TRADESKILL_MINING:
|
||||
spell_apprentice = 2581;
|
||||
spell_journeyman = 2582;
|
||||
spell_expert = 3568;
|
||||
spell_artisan = 10249;
|
||||
spell_master = 29354; // teached by 29355
|
||||
break;
|
||||
case TRADESKILL_FISHING:
|
||||
spell_apprentice = 7733;
|
||||
spell_journeyman = 7734;
|
||||
spell_expert = 7736;
|
||||
spell_artisan = 18249;
|
||||
spell_master = 33098; // teached by 33100
|
||||
break;
|
||||
case TRADESKILL_SKINNING:
|
||||
spell_apprentice = 8615;
|
||||
spell_journeyman = 8619;
|
||||
spell_expert = 8620;
|
||||
spell_artisan = 10769;
|
||||
spell_master = 32679; // teached by 32678
|
||||
break;
|
||||
case TRADESKILL_JEWELCRAFTING:
|
||||
spell_apprentice = 25229; // teached by 25245
|
||||
spell_journeyman = 25230; // teached by 25246
|
||||
spell_expert = 28894; // teached by 28896
|
||||
spell_artisan = 28895; // teached by 28899
|
||||
spell_master = 28897; // teached by 28901
|
||||
break;
|
||||
}
|
||||
|
||||
if (player->HasSpell(spell_master))
|
||||
return TRADESKILL_LEVEL_MASTER;
|
||||
|
||||
if (player->HasSpell(spell_artisan))
|
||||
return TRADESKILL_LEVEL_ARTISAN;
|
||||
|
||||
if (player->HasSpell(spell_expert))
|
||||
return TRADESKILL_LEVEL_EXPERT;
|
||||
|
||||
if (player->HasSpell(spell_journeyman))
|
||||
return TRADESKILL_LEVEL_JOURNEYMAN;
|
||||
|
||||
if (player->HasSpell(spell_apprentice))
|
||||
return TRADESKILL_LEVEL_APPRENTICE;
|
||||
|
||||
return TRADESKILL_LEVEL_NONE;
|
||||
}
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: MaNGOS <http://getmangos.com/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef SC_DEFINES_H
|
||||
#define SC_DEFINES_H
|
||||
|
||||
#include "../ScriptMgr.h"
|
||||
|
||||
// Skill defines
|
||||
|
||||
#define TRADESKILL_ALCHEMY 1
|
||||
#define TRADESKILL_BLACKSMITHING 2
|
||||
#define TRADESKILL_COOKING 3
|
||||
#define TRADESKILL_ENCHANTING 4
|
||||
#define TRADESKILL_ENGINEERING 5
|
||||
#define TRADESKILL_FIRSTAID 6
|
||||
#define TRADESKILL_HERBALISM 7
|
||||
#define TRADESKILL_LEATHERWORKING 8
|
||||
#define TRADESKILL_POISONS 9
|
||||
#define TRADESKILL_TAILORING 10
|
||||
#define TRADESKILL_MINING 11
|
||||
#define TRADESKILL_FISHING 12
|
||||
#define TRADESKILL_SKINNING 13
|
||||
#define TRADESKILL_JEWELCRAFTING 14
|
||||
|
||||
#define TRADESKILL_LEVEL_NONE 0
|
||||
#define TRADESKILL_LEVEL_APPRENTICE 1
|
||||
#define TRADESKILL_LEVEL_JOURNEYMAN 2
|
||||
#define TRADESKILL_LEVEL_EXPERT 3
|
||||
#define TRADESKILL_LEVEL_ARTISAN 4
|
||||
#define TRADESKILL_LEVEL_MASTER 5
|
||||
|
||||
// Gossip defines
|
||||
|
||||
#define GOSSIP_ACTION_TRADE 1
|
||||
#define GOSSIP_ACTION_TRAIN 2
|
||||
#define GOSSIP_ACTION_TAXI 3
|
||||
#define GOSSIP_ACTION_GUILD 4
|
||||
#define GOSSIP_ACTION_BATTLE 5
|
||||
#define GOSSIP_ACTION_BANK 6
|
||||
#define GOSSIP_ACTION_INN 7
|
||||
#define GOSSIP_ACTION_HEAL 8
|
||||
#define GOSSIP_ACTION_TABARD 9
|
||||
#define GOSSIP_ACTION_AUCTION 10
|
||||
#define GOSSIP_ACTION_INN_INFO 11
|
||||
#define GOSSIP_ACTION_UNLEARN 12
|
||||
#define GOSSIP_ACTION_INFO_DEF 1000
|
||||
|
||||
#define GOSSIP_SENDER_MAIN 1
|
||||
#define GOSSIP_SENDER_INN_INFO 2
|
||||
#define GOSSIP_SENDER_INFO 3
|
||||
#define GOSSIP_SENDER_SEC_PROFTRAIN 4
|
||||
#define GOSSIP_SENDER_SEC_CLASSTRAIN 5
|
||||
#define GOSSIP_SENDER_SEC_BATTLEINFO 6
|
||||
|
||||
#define DEFAULT_GOSSIP_MESSAGE 0xffffff
|
||||
|
||||
extern uint32 GetSkillLevel(Player *player,uint32 skill);
|
||||
|
||||
// Defined functions to use with player.
|
||||
|
||||
#define ADD_GOSSIP_ITEM(a,b,c,d,e,f) PlayerTalkClass->GetGossipMenu()->AddMenuItem(a,b,c,d,e,f)
|
||||
#define SEND_GOSSIP_MENU(a,b) PlayerTalkClass->SendGossipMenu(a,b)
|
||||
#define SEND_POI(a,b,c,d,e,f) PlayerTalkClass->SendPointOfInterest(a,b,c,d,e,f)
|
||||
#define CLOSE_GOSSIP_MENU() PlayerTalkClass->CloseGossip();
|
||||
|
||||
#define QUEST_DIALOG_STATUS(a,b,c) GetSession()->getDialogStatus(a,b,c)
|
||||
#define SEND_QUEST_DETAILS(a,b,c) PlayerTalkClass->SendQuestDetails(a,b,c)
|
||||
#define SEND_REQUESTEDITEMS(a,b,c,d) PlayerTalkClass->SendRequestedItems(a,b,c,d)
|
||||
|
||||
#define SEND_VENDORLIST(a) GetSession()->SendListInventory(a)
|
||||
#define SEND_TRAINERLIST(a) GetSession()->SendTrainerList(a)
|
||||
#define SEND_BANKERLIST(a) GetSession()->SendShowBank(a)
|
||||
#define SEND_TABARDLIST(a) GetSession()->SendTabardVendorActivate(a)
|
||||
#define SEND_AUCTIONLIST(a) GetSession()->SendAuctionHello(a)
|
||||
#define SEND_TAXILIST(a) GetSession()->SendTaxiStatus(a)
|
||||
#define SEND_SPRESURRECT() GetSession()->SendSpiritResurrect()
|
||||
#define GET_HONORRANK() GetHonorRank()
|
||||
|
||||
// -----------------------------------
|
||||
#endif
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: MaNGOS <http://getmangos.com/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
#endif
|
||||
//#define WIN32
|
||||
|
||||
#ifdef WIN32
|
||||
//#include <windows.h>
|
||||
#define TRINITY_DLL_EXPORT extern "C" __declspec(dllexport)
|
||||
#elif defined( __GNUC__ )
|
||||
#define TRINITY_DLL_EXPORT extern "C"
|
||||
#else
|
||||
#define TRINITY_DLL_EXPORT extern "C" export
|
||||
#endif
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: MaNGOS <http://getmangos.com/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifdef WIN32
|
||||
#include <windows.h>
|
||||
BOOL APIENTRY DllMain( HANDLE /*hModule*/, DWORD /*ul_reason_for_call*/, LPVOID /*lpReserved*/)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,563 +0,0 @@
|
||||
|
||||
########### next target ###############
|
||||
|
||||
SET(trinityscript_LIB_SRCS
|
||||
ScriptMgr.cpp
|
||||
ScriptMgr.h
|
||||
base/escort_ai.cpp
|
||||
base/escort_ai.h
|
||||
base/follower_ai.cpp
|
||||
base/follower_ai.h
|
||||
base/guard_ai.cpp
|
||||
base/guard_ai.h
|
||||
base/simple_ai.cpp
|
||||
base/simple_ai.h
|
||||
include/precompiled.cpp
|
||||
include/precompiled.h
|
||||
include/sc_creature.cpp
|
||||
include/sc_creature.h
|
||||
include/sc_gossip.h
|
||||
include/sc_instance.h
|
||||
scripts/custom/on_events.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/boss_ambassador_flamelash.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/boss_anubshiah.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/boss_emperor_dagran_thaurissan.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/boss_general_angerforge.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/boss_gorosh_the_dervish.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/boss_grizzle.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/boss_high_interrogator_gerstahn.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/boss_magmus.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/boss_moira_bronzebeard.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/boss_tomb_of_seven.cpp
|
||||
scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.h
|
||||
scripts/eastern_kingdoms/blackrock_depths/instance_blackrock_depths.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_drakkisath.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_gyth.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_halycon.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_highlord_omokk.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_mother_smolderweb.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_overlord_wyrmthalak.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_pyroguard_emberseer.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_quartermaster_zigris.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_rend_blackhand.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_shadow_hunter_voshgajin.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_the_beast.cpp
|
||||
scripts/eastern_kingdoms/blackrock_spire/boss_warmaster_voone.cpp
|
||||
scripts/eastern_kingdoms/blackwing_lair/boss_broodlord_lashlayer.cpp
|
||||
scripts/eastern_kingdoms/blackwing_lair/boss_chromaggus.cpp
|
||||
scripts/eastern_kingdoms/blackwing_lair/boss_ebonroc.cpp
|
||||
scripts/eastern_kingdoms/blackwing_lair/boss_firemaw.cpp
|
||||
scripts/eastern_kingdoms/blackwing_lair/boss_flamegor.cpp
|
||||
scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp
|
||||
scripts/eastern_kingdoms/blackwing_lair/boss_razorgore.cpp
|
||||
scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp
|
||||
scripts/eastern_kingdoms/blackwing_lair/boss_victor_nefarius.cpp
|
||||
scripts/eastern_kingdoms/blackwing_lair/instance_blackwing_lair.cpp
|
||||
scripts/eastern_kingdoms/deadmines/boss_mr_smite.cpp
|
||||
scripts/eastern_kingdoms/deadmines/deadmines.h
|
||||
scripts/eastern_kingdoms/deadmines/deadmines.cpp
|
||||
scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp
|
||||
scripts/eastern_kingdoms/gnomeregan/gnomeregan.h
|
||||
scripts/eastern_kingdoms/gnomeregan/gnomeregan.cpp
|
||||
scripts/eastern_kingdoms/gnomeregan/instance_gnomeregan.cpp
|
||||
scripts/eastern_kingdoms/karazhan/boss_curator.cpp
|
||||
scripts/eastern_kingdoms/karazhan/boss_maiden_of_virtue.cpp
|
||||
scripts/eastern_kingdoms/karazhan/boss_midnight.cpp
|
||||
scripts/eastern_kingdoms/karazhan/boss_moroes.cpp
|
||||
scripts/eastern_kingdoms/karazhan/boss_netherspite.cpp
|
||||
scripts/eastern_kingdoms/karazhan/boss_nightbane.cpp
|
||||
scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp
|
||||
scripts/eastern_kingdoms/karazhan/boss_shade_of_aran.cpp
|
||||
scripts/eastern_kingdoms/karazhan/boss_terestian_illhoof.cpp
|
||||
scripts/eastern_kingdoms/karazhan/bosses_opera.cpp
|
||||
scripts/eastern_kingdoms/karazhan/karazhan.h
|
||||
scripts/eastern_kingdoms/karazhan/instance_karazhan.cpp
|
||||
scripts/eastern_kingdoms/karazhan/karazhan.cpp
|
||||
scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp
|
||||
scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp
|
||||
scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp
|
||||
scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp
|
||||
scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.h
|
||||
scripts/eastern_kingdoms/magisters_terrace/instance_magisters_terrace.cpp
|
||||
scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.cpp
|
||||
scripts/eastern_kingdoms/molten_core/boss_baron_geddon.cpp
|
||||
scripts/eastern_kingdoms/molten_core/boss_garr.cpp
|
||||
scripts/eastern_kingdoms/molten_core/boss_gehennas.cpp
|
||||
scripts/eastern_kingdoms/molten_core/boss_golemagg.cpp
|
||||
scripts/eastern_kingdoms/molten_core/boss_lucifron.cpp
|
||||
scripts/eastern_kingdoms/molten_core/boss_magmadar.cpp
|
||||
scripts/eastern_kingdoms/molten_core/boss_majordomo_executus.cpp
|
||||
scripts/eastern_kingdoms/molten_core/boss_ragnaros.cpp
|
||||
scripts/eastern_kingdoms/molten_core/boss_shazzrah.cpp
|
||||
scripts/eastern_kingdoms/molten_core/boss_sulfuron_harbinger.cpp
|
||||
scripts/eastern_kingdoms/molten_core/molten_core.h
|
||||
scripts/eastern_kingdoms/molten_core/instance_molten_core.cpp
|
||||
scripts/eastern_kingdoms/molten_core/molten_core.cpp
|
||||
scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp
|
||||
scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp
|
||||
scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp
|
||||
scripts/eastern_kingdoms/scarlet_enclave/chapter5.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/boss_arcanist_doan.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/boss_azshir_the_sleepless.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/boss_bloodmage_thalnos.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/boss_herod.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/boss_houndmaster_loksey.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/boss_interrogator_vishas.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/boss_scorn.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/boss_headless_horseman.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/boss_mograine_and_whitemane.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/instance_scarlet_monastery.cpp
|
||||
scripts/eastern_kingdoms/scarlet_monastery/scarlet_monastery.h
|
||||
scripts/eastern_kingdoms/scholomance/boss_darkmaster_gandling.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_death_knight_darkreaver.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_doctor_theolen_krastinov.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_illucia_barov.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_instructor_malicia.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_jandice_barov.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_kormok.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_lord_alexei_barov.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_lorekeeper_polkelt.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_ras_frostwhisper.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_the_ravenian.cpp
|
||||
scripts/eastern_kingdoms/scholomance/boss_vectus.cpp
|
||||
scripts/eastern_kingdoms/scholomance/scholomance.h
|
||||
scripts/eastern_kingdoms/scholomance/instance_scholomance.cpp
|
||||
scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.h
|
||||
scripts/eastern_kingdoms/shadowfang_keep/instance_shadowfang_keep.cpp
|
||||
scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_baron_rivendare.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_baroness_anastari.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_cannon_master_willey.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_dathrohan_balnazzar.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_magistrate_barthilas.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_maleki_the_pallid.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_nerubenkan.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_order_of_silver_hand.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_postmaster_malown.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_ramstein_the_gorger.cpp
|
||||
scripts/eastern_kingdoms/stratholme/boss_timmy_the_cruel.cpp
|
||||
scripts/eastern_kingdoms/stratholme/stratholme.h
|
||||
scripts/eastern_kingdoms/stratholme/instance_stratholme.cpp
|
||||
scripts/eastern_kingdoms/stratholme/stratholme.cpp
|
||||
scripts/eastern_kingdoms/sunken_temple/sunken_temple.h
|
||||
scripts/eastern_kingdoms/sunken_temple/instance_sunken_temple.cpp
|
||||
scripts/eastern_kingdoms/sunken_temple/sunken_temple.cpp
|
||||
scripts/eastern_kingdoms/sunwell_plateau/boss_kiljaeden.cpp
|
||||
scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp
|
||||
scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp
|
||||
scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp
|
||||
scripts/eastern_kingdoms/sunwell_plateau/boss_brutallus.cpp
|
||||
scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp
|
||||
scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.cpp
|
||||
scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.h
|
||||
scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp
|
||||
scripts/eastern_kingdoms/uldaman/boss_archaedas.cpp
|
||||
scripts/eastern_kingdoms/uldaman/instance_uldaman.cpp
|
||||
scripts/eastern_kingdoms/uldaman/boss_ironaya.cpp
|
||||
scripts/eastern_kingdoms/uldaman/uldaman.cpp
|
||||
scripts/eastern_kingdoms/zulaman/boss_akilzon.cpp
|
||||
scripts/eastern_kingdoms/zulaman/boss_halazzi.cpp
|
||||
scripts/eastern_kingdoms/zulaman/boss_hexlord.cpp
|
||||
scripts/eastern_kingdoms/zulaman/boss_janalai.cpp
|
||||
scripts/eastern_kingdoms/zulaman/boss_nalorakk.cpp
|
||||
scripts/eastern_kingdoms/zulaman/boss_zuljin.cpp
|
||||
scripts/eastern_kingdoms/zulaman/zulaman.h
|
||||
scripts/eastern_kingdoms/zulaman/instance_zulaman.cpp
|
||||
scripts/eastern_kingdoms/zulaman/zulaman.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_gahzranka.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_grilek.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_hakkar.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_hazzarah.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_jeklik.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_jindo.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_mandokir.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_marli.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/boss_wushoolay.cpp
|
||||
scripts/eastern_kingdoms/zulgurub/zulgurub.h
|
||||
scripts/eastern_kingdoms/zulgurub/instance_zulgurub.cpp
|
||||
scripts/eastern_kingdoms/alterac_mountains.cpp
|
||||
scripts/eastern_kingdoms/arathi_highlands.cpp
|
||||
scripts/eastern_kingdoms/blasted_lands.cpp
|
||||
scripts/eastern_kingdoms/boss_kruul.cpp
|
||||
scripts/eastern_kingdoms/burning_steppes.cpp
|
||||
scripts/eastern_kingdoms/dun_morogh.cpp
|
||||
scripts/eastern_kingdoms/duskwood.cpp
|
||||
scripts/eastern_kingdoms/eastern_plaguelands.cpp
|
||||
scripts/eastern_kingdoms/elwynn_forest.cpp
|
||||
scripts/eastern_kingdoms/eversong_woods.cpp
|
||||
scripts/eastern_kingdoms/ghostlands.cpp
|
||||
scripts/eastern_kingdoms/hinterlands.cpp
|
||||
scripts/eastern_kingdoms/ironforge.cpp
|
||||
scripts/eastern_kingdoms/isle_of_queldanas.cpp
|
||||
scripts/eastern_kingdoms/loch_modan.cpp
|
||||
scripts/eastern_kingdoms/redridge_mountains.cpp
|
||||
scripts/eastern_kingdoms/searing_gorge.cpp
|
||||
scripts/eastern_kingdoms/silvermoon_city.cpp
|
||||
scripts/eastern_kingdoms/silverpine_forest.cpp
|
||||
scripts/eastern_kingdoms/stormwind_city.cpp
|
||||
scripts/eastern_kingdoms/stranglethorn_vale.cpp
|
||||
scripts/eastern_kingdoms/tirisfal_glades.cpp
|
||||
scripts/eastern_kingdoms/undercity.cpp
|
||||
scripts/eastern_kingdoms/western_plaguelands.cpp
|
||||
scripts/eastern_kingdoms/westfall.cpp
|
||||
scripts/eastern_kingdoms/wetlands.cpp
|
||||
scripts/examples/example_creature.cpp
|
||||
scripts/examples/example_escort.cpp
|
||||
scripts/examples/example_gossip_codebox.cpp
|
||||
scripts/examples/example_misc.cpp
|
||||
scripts/kalimdor/blackfathom_depths/boss_gelihast.cpp
|
||||
scripts/kalimdor/blackfathom_depths/boss_kelris.cpp
|
||||
scripts/kalimdor/blackfathom_depths/boss_aku_mai.cpp
|
||||
scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp
|
||||
scripts/kalimdor/blackfathom_depths/blackfathom_deeps.cpp
|
||||
scripts/kalimdor/blackfathom_depths/blackfathom_deeps.h
|
||||
scripts/kalimdor/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp
|
||||
scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp
|
||||
scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp
|
||||
scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp
|
||||
scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp
|
||||
scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_infinite.cpp
|
||||
scripts/kalimdor/caverns_of_time/culling_of_stratholme/culling_of_stratholme.h
|
||||
scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.h
|
||||
scripts/kalimdor/caverns_of_time/dark_portal/instance_dark_portal.cpp
|
||||
scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.cpp
|
||||
scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp
|
||||
scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp
|
||||
scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp
|
||||
scripts/kalimdor/caverns_of_time/hyjal/boss_anetheron.cpp
|
||||
scripts/kalimdor/caverns_of_time/hyjal/boss_archimonde.cpp
|
||||
scripts/kalimdor/caverns_of_time/hyjal/boss_azgalor.cpp
|
||||
scripts/kalimdor/caverns_of_time/hyjal/boss_kazrogal.cpp
|
||||
scripts/kalimdor/caverns_of_time/hyjal/boss_rage_winterchill.cpp
|
||||
scripts/kalimdor/caverns_of_time/hyjal/hyjal.h
|
||||
scripts/kalimdor/caverns_of_time/hyjal/hyjal.cpp
|
||||
scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.cpp
|
||||
scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.h
|
||||
scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.cpp
|
||||
scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.h
|
||||
scripts/kalimdor/caverns_of_time/hyjal/instance_hyjal.cpp
|
||||
scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp
|
||||
scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp
|
||||
scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp
|
||||
scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.h
|
||||
scripts/kalimdor/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp
|
||||
scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
|
||||
scripts/kalimdor/maraudon/boss_celebras_the_cursed.cpp
|
||||
scripts/kalimdor/maraudon/boss_landslide.cpp
|
||||
scripts/kalimdor/maraudon/boss_noxxion.cpp
|
||||
scripts/kalimdor/maraudon/boss_princess_theradras.cpp
|
||||
scripts/kalimdor/onyxias_lair/boss_onyxia.cpp
|
||||
scripts/kalimdor/razorfen_downs/boss_amnennar_the_coldbringer.cpp
|
||||
scripts/kalimdor/razorfen_downs/razorfen_downs.cpp
|
||||
scripts/kalimdor/razorfen_kraul/razorfen_kraul.h
|
||||
scripts/kalimdor/razorfen_kraul/instance_razorfen_kraul.cpp
|
||||
scripts/kalimdor/razorfen_kraul/razorfen_kraul.cpp
|
||||
scripts/kalimdor/ruins_of_ahnqiraj/boss_ayamiss.cpp
|
||||
scripts/kalimdor/ruins_of_ahnqiraj/boss_buru.cpp
|
||||
scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp
|
||||
scripts/kalimdor/ruins_of_ahnqiraj/boss_moam.cpp
|
||||
scripts/kalimdor/ruins_of_ahnqiraj/boss_ossirian.cpp
|
||||
scripts/kalimdor/ruins_of_ahnqiraj/boss_rajaxx.cpp
|
||||
scripts/kalimdor/ruins_of_ahnqiraj/ruins_of_ahnqiraj.h
|
||||
scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/boss_bug_trio.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/boss_cthun.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/boss_fankriss.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/boss_huhuran.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/boss_ouro.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/boss_sartura.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/boss_skeram.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/boss_twinemperors.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/boss_viscidus.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/temple_of_ahnqiraj.h
|
||||
scripts/kalimdor/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp
|
||||
scripts/kalimdor/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp
|
||||
scripts/kalimdor/wailing_caverns/wailing_caverns.h
|
||||
scripts/kalimdor/wailing_caverns/instance_wailing_caverns.cpp
|
||||
scripts/kalimdor/wailing_caverns/wailing_caverns.cpp
|
||||
scripts/kalimdor/zulfarrak/zulfarrak.cpp
|
||||
scripts/kalimdor/ashenvale.cpp
|
||||
scripts/kalimdor/azshara.cpp
|
||||
scripts/kalimdor/azuremyst_isle.cpp
|
||||
scripts/kalimdor/bloodmyst_isle.cpp
|
||||
scripts/kalimdor/boss_azuregos.cpp
|
||||
scripts/kalimdor/darkshore.cpp
|
||||
scripts/kalimdor/desolace.cpp
|
||||
scripts/kalimdor/dustwallow_marsh.cpp
|
||||
scripts/kalimdor/felwood.cpp
|
||||
scripts/kalimdor/feralas.cpp
|
||||
scripts/kalimdor/moonglade.cpp
|
||||
scripts/kalimdor/mulgore.cpp
|
||||
scripts/kalimdor/orgrimmar.cpp
|
||||
scripts/kalimdor/silithus.cpp
|
||||
scripts/kalimdor/stonetalon_mountains.cpp
|
||||
scripts/kalimdor/tanaris.cpp
|
||||
scripts/kalimdor/teldrassil.cpp
|
||||
scripts/kalimdor/the_barrens.cpp
|
||||
scripts/kalimdor/thousand_needles.cpp
|
||||
scripts/kalimdor/thunder_bluff.cpp
|
||||
scripts/kalimdor/ungoro_crater.cpp
|
||||
scripts/kalimdor/winterspring.cpp
|
||||
scripts/northrend/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp
|
||||
scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp
|
||||
scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp
|
||||
scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp
|
||||
scripts/northrend/azjol_nerub/azjol_nerub/azjol_nerub.h
|
||||
scripts/northrend/azjol_nerub/ahnkahet/instance_ahnkahet.cpp
|
||||
scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp
|
||||
scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp
|
||||
scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp
|
||||
scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
|
||||
scripts/northrend/azjol_nerub/ahnkahet/boss_amanitar.cpp
|
||||
scripts/northrend/azjol_nerub/ahnkahet/ahnkahet.h
|
||||
scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_argent_challenge.cpp
|
||||
scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp
|
||||
scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_grand_champions.cpp
|
||||
scripts/northrend/crusaders_coliseum/trial_of_the_champion/instance_trial_of_the_champion.cpp
|
||||
scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp
|
||||
scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.h
|
||||
scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp
|
||||
scripts/northrend/draktharon_keep/boss_trollgore.cpp
|
||||
scripts/northrend/draktharon_keep/boss_novos.cpp
|
||||
scripts/northrend/draktharon_keep/boss_dred.cpp
|
||||
scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
|
||||
scripts/northrend/draktharon_keep/drak_tharon_keep.h
|
||||
scripts/northrend/gundrak/instance_gundrak.cpp
|
||||
scripts/northrend/gundrak/boss_slad_ran.cpp
|
||||
scripts/northrend/gundrak/boss_moorabi.cpp
|
||||
scripts/northrend/gundrak/boss_drakkari_colossus.cpp
|
||||
scripts/northrend/gundrak/boss_gal_darah.cpp
|
||||
scripts/northrend/gundrak/boss_eck.cpp
|
||||
scripts/northrend/gundrak/gundrak.h
|
||||
scripts/northrend/naxxramas/boss_anubrekhan.cpp
|
||||
scripts/northrend/naxxramas/boss_faerlina.cpp
|
||||
scripts/northrend/naxxramas/boss_gluth.cpp
|
||||
scripts/northrend/naxxramas/boss_gothik.cpp
|
||||
scripts/northrend/naxxramas/boss_grobbulus.cpp
|
||||
scripts/northrend/naxxramas/boss_heigan.cpp
|
||||
scripts/northrend/naxxramas/boss_kelthuzad.cpp
|
||||
scripts/northrend/naxxramas/boss_four_horsemen.cpp
|
||||
scripts/northrend/naxxramas/boss_loatheb.cpp
|
||||
scripts/northrend/naxxramas/boss_maexxna.cpp
|
||||
scripts/northrend/naxxramas/boss_noth.cpp
|
||||
scripts/northrend/naxxramas/boss_patchwerk.cpp
|
||||
scripts/northrend/naxxramas/boss_razuvious.cpp
|
||||
scripts/northrend/naxxramas/boss_sapphiron.cpp
|
||||
scripts/northrend/naxxramas/boss_thaddius.cpp
|
||||
scripts/northrend/naxxramas/naxxramas.h
|
||||
scripts/northrend/naxxramas/instance_naxxramas.cpp
|
||||
scripts/northrend/nexus/eye_of_eternity/instance_eye_of_eternity.cpp
|
||||
scripts/northrend/nexus/eye_of_eternity/boss_malygos.cpp
|
||||
scripts/northrend/nexus/eye_of_eternity/eye_of_eternity.h
|
||||
scripts/northrend/nexus/nexus/instance_nexus.cpp
|
||||
scripts/northrend/nexus/nexus/boss_magus_telestra.cpp
|
||||
scripts/northrend/nexus/nexus/boss_anomalus.cpp
|
||||
scripts/northrend/nexus/nexus/boss_ormorok.cpp
|
||||
scripts/northrend/nexus/nexus/boss_keristrasza.cpp
|
||||
scripts/northrend/nexus/nexus/commander_stoutbeard.cpp
|
||||
scripts/northrend/nexus/nexus/commander_kolurg.cpp
|
||||
scripts/northrend/nexus/nexus/nexus.h
|
||||
scripts/northrend/nexus/oculus/instance_oculus.cpp
|
||||
scripts/northrend/nexus/oculus/boss_drakos.cpp
|
||||
scripts/northrend/nexus/oculus/boss_urom.cpp
|
||||
scripts/northrend/nexus/oculus/boss_varos.cpp
|
||||
scripts/northrend/nexus/oculus/boss_eregos.cpp
|
||||
scripts/northrend/nexus/oculus/oculus.h
|
||||
scripts/northrend/obsidian_sanctum/instance_obsidian_sanctum.cpp
|
||||
scripts/northrend/obsidian_sanctum/boss_sartharion.cpp
|
||||
scripts/northrend/obsidian_sanctum/obsidian_sanctum.h
|
||||
scripts/northrend/ulduar/halls_of_stone/instance_halls_of_stone.cpp
|
||||
scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp
|
||||
scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp
|
||||
scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp
|
||||
scripts/northrend/ulduar/halls_of_stone/halls_of_stone.h
|
||||
scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp
|
||||
scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp
|
||||
scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp
|
||||
scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
|
||||
scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp
|
||||
scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp
|
||||
scripts/northrend/ulduar/halls_of_lightning/halls_of_lightning.h
|
||||
scripts/northrend/ulduar/ulduar/boss_algalon.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_auriaya.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_flame_leviathan.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_freya.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_general_vezax.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_hodir.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_ignis.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_kologarn.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_mimiron.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_razorscale.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_thorim.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_xt002.cpp
|
||||
scripts/northrend/ulduar/ulduar/boss_yoggsaron.cpp
|
||||
scripts/northrend/ulduar/ulduar/ulduar_teleporter.cpp
|
||||
scripts/northrend/ulduar/ulduar/ulduar.h
|
||||
scripts/northrend/ulduar/ulduar/instance_ulduar.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.h
|
||||
scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp
|
||||
scripts/northrend/utgarde_keep/utgarde_pinnacle/utgarde_pinnacle.h
|
||||
scripts/northrend/vault_of_archavon/instance_vault_of_archavon.cpp
|
||||
scripts/northrend/vault_of_archavon/boss_archavon.cpp
|
||||
scripts/northrend/vault_of_archavon/boss_emalon.cpp
|
||||
scripts/northrend/vault_of_archavon/vault_of_archavon.h
|
||||
scripts/northrend/violet_hold/instance_violet_hold.cpp
|
||||
scripts/northrend/violet_hold/boss_cyanigosa.cpp
|
||||
scripts/northrend/violet_hold/boss_erekem.cpp
|
||||
scripts/northrend/violet_hold/boss_ichoron.cpp
|
||||
scripts/northrend/violet_hold/boss_lavanthor.cpp
|
||||
scripts/northrend/violet_hold/boss_moragg.cpp
|
||||
scripts/northrend/violet_hold/boss_xevozz.cpp
|
||||
scripts/northrend/violet_hold/boss_zuramat.cpp
|
||||
scripts/northrend/violet_hold/violet_hold.h
|
||||
scripts/northrend/violet_hold/violet_hold.cpp
|
||||
scripts/northrend/dalaran.cpp
|
||||
scripts/northrend/borean_tundra.cpp
|
||||
scripts/northrend/dragonblight.cpp
|
||||
scripts/northrend/grizzly_hills.cpp
|
||||
scripts/northrend/howling_fjord.cpp
|
||||
scripts/northrend/icecrown.cpp
|
||||
scripts/northrend/sholazar_basin.cpp
|
||||
scripts/northrend/storm_peaks.cpp
|
||||
scripts/northrend/wintergrasp.cpp
|
||||
scripts/northrend/zuldrak.cpp
|
||||
scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp
|
||||
scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
|
||||
scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
|
||||
scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp
|
||||
scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp
|
||||
scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
|
||||
scripts/outland/auchindoun/sethekk_halls/sethekk_halls.h
|
||||
scripts/outland/auchindoun/sethekk_halls/instance_sethekk_halls.cpp
|
||||
scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
|
||||
scripts/outland/auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp
|
||||
scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
|
||||
scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp
|
||||
scripts/outland/auchindoun/shadow_labyrinth/shadow_labyrinth.h
|
||||
scripts/outland/auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp
|
||||
scripts/outland/black_temple/black_temple.cpp
|
||||
scripts/outland/black_temple/boss_bloodboil.cpp
|
||||
scripts/outland/black_temple/boss_illidan.cpp
|
||||
scripts/outland/black_temple/boss_mother_shahraz.cpp
|
||||
scripts/outland/black_temple/boss_reliquary_of_souls.cpp
|
||||
scripts/outland/black_temple/boss_shade_of_akama.cpp
|
||||
scripts/outland/black_temple/boss_supremus.cpp
|
||||
scripts/outland/black_temple/boss_teron_gorefiend.cpp
|
||||
scripts/outland/black_temple/boss_warlord_najentus.cpp
|
||||
scripts/outland/black_temple/black_temple.h
|
||||
scripts/outland/black_temple/illidari_council.cpp
|
||||
scripts/outland/black_temple/instance_black_temple.cpp
|
||||
scripts/outland/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
|
||||
scripts/outland/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp
|
||||
scripts/outland/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
|
||||
scripts/outland/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
|
||||
scripts/outland/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
|
||||
scripts/outland/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp
|
||||
scripts/outland/coilfang_resevoir/serpent_shrine/serpent_shrine.h
|
||||
scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
|
||||
scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp
|
||||
scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp
|
||||
scripts/outland/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp
|
||||
scripts/outland/coilfang_resevoir/steam_vault/steam_vault.h
|
||||
scripts/outland/coilfang_resevoir/steam_vault/instance_steam_vault.cpp
|
||||
scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp
|
||||
scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
|
||||
scripts/outland/gruuls_lair/boss_gruul.cpp
|
||||
scripts/outland/gruuls_lair/boss_high_king_maulgar.cpp
|
||||
scripts/outland/gruuls_lair/gruuls_lair.h
|
||||
scripts/outland/gruuls_lair/instance_gruuls_lair.cpp
|
||||
scripts/outland/hellfire_citadel/blood_furnace/boss_broggok.cpp
|
||||
scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
|
||||
scripts/outland/hellfire_citadel/blood_furnace/boss_the_maker.cpp
|
||||
scripts/outland/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp
|
||||
scripts/outland/hellfire_citadel/blood_furnace/blood_furnace.h
|
||||
scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp
|
||||
scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp
|
||||
scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp
|
||||
scripts/outland/hellfire_citadel/hellfire_ramparts/hellfire_ramparts.h
|
||||
scripts/outland/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp
|
||||
scripts/outland/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp
|
||||
scripts/outland/hellfire_citadel/magtheridons_lair/magtheridons_lair.h
|
||||
scripts/outland/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp
|
||||
scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
|
||||
scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp
|
||||
scripts/outland/hellfire_citadel/shattered_halls/shattered_halls.h
|
||||
scripts/outland/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp
|
||||
scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
|
||||
scripts/outland/tempest_keep/arcatraz/arcatraz.cpp
|
||||
scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
|
||||
scripts/outland/tempest_keep/arcatraz/arcatraz.h
|
||||
scripts/outland/tempest_keep/arcatraz/instance_arcatraz.cpp
|
||||
scripts/outland/tempest_keep/botanica/boss_high_botanist_freywinn.cpp
|
||||
scripts/outland/tempest_keep/botanica/boss_laj.cpp
|
||||
scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp
|
||||
scripts/outland/tempest_keep/the_eye/boss_alar.cpp
|
||||
scripts/outland/tempest_keep/the_eye/boss_astromancer.cpp
|
||||
scripts/outland/tempest_keep/the_eye/boss_kaelthas.cpp
|
||||
scripts/outland/tempest_keep/the_eye/boss_void_reaver.cpp
|
||||
scripts/outland/tempest_keep/the_eye/the_eye.h
|
||||
scripts/outland/tempest_keep/the_eye/instance_the_eye.cpp
|
||||
scripts/outland/tempest_keep/the_eye/the_eye.cpp
|
||||
scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp
|
||||
scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp
|
||||
scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
|
||||
scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
|
||||
scripts/outland/tempest_keep/the_mechanar/mechanar.h
|
||||
scripts/outland/tempest_keep/the_mechanar/instance_mechanar.cpp
|
||||
scripts/outland/blades_edge_mountains.cpp
|
||||
scripts/outland/boss_doomlord_kazzak.cpp
|
||||
scripts/outland/boss_doomwalker.cpp
|
||||
scripts/outland/hellfire_peninsula.cpp
|
||||
scripts/outland/nagrand.cpp
|
||||
scripts/outland/netherstorm.cpp
|
||||
scripts/outland/shadowmoon_valley.cpp
|
||||
scripts/outland/shattrath_city.cpp
|
||||
scripts/outland/terokkar_forest.cpp
|
||||
scripts/outland/zangarmarsh.cpp
|
||||
scripts/world/areatrigger_scripts.cpp
|
||||
scripts/world/boss_emeriss.cpp
|
||||
scripts/world/boss_lethon.cpp
|
||||
scripts/world/boss_taerar.cpp
|
||||
scripts/world/boss_ysondre.cpp
|
||||
scripts/world/go_scripts.cpp
|
||||
scripts/world/guards.cpp
|
||||
scripts/world/item_scripts.cpp
|
||||
scripts/world/mob_generic_creature.cpp
|
||||
scripts/world/npc_innkeeper.cpp
|
||||
scripts/world/npc_professions.cpp
|
||||
scripts/world/npcs_special.cpp
|
||||
scripts/world/npc_taxi.cpp
|
||||
system/ScriptLoader.cpp
|
||||
system/ScriptLoader.h
|
||||
system/system.cpp
|
||||
system/system.h
|
||||
)
|
||||
|
||||
add_library(trinityscript SHARED ${trinityscript_LIB_SRCS})
|
||||
|
||||
add_definitions(-D_TRINITY_SCRIPT_CONFIG='"${CONF_DIR}/trinitycore.conf"')
|
||||
|
||||
IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||
SET_TARGET_PROPERTIES(trinityscript PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
|
||||
ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||
|
||||
target_link_libraries(trinityscript)
|
||||
|
||||
set_target_properties(trinityscript PROPERTIES VERSION 4.2.0 SOVERSION 4)
|
||||
install(TARGETS trinityscript DESTINATION lib)
|
||||
@@ -1,7 +0,0 @@
|
||||
= Trinity Core -- Implementing scripts =
|
||||
|
||||
To compile this properly, you need to get the scripts from:
|
||||
|
||||
http://svn.assembla.com/svn/trinityscripts
|
||||
|
||||
Simply put them in a folder called "scripts" in this folder.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,700 +0,0 @@
|
||||
=========================================
|
||||
Event AI documentation
|
||||
=========================================
|
||||
|
||||
Scriptdev2 Revision 220 introduces a new database defined AI named EventAI.
|
||||
This system allows users to create new creature scripts entierly within the Database.
|
||||
ScriptName must still be set to "mob_eventai" within the MaNGOS database creature_template.scriptname field.
|
||||
|
||||
=========================================
|
||||
Basic Structure of EventAI
|
||||
=========================================
|
||||
Event AI follows a basic if (Event) then do {Action} format.
|
||||
Below is a the list of current fields within the Eventai_scripts table.
|
||||
|
||||
(Field_Name Discription)
|
||||
id This value is mearly an incrementing counter of the current Event number. Required for sql queries.
|
||||
creature_id Creature id which this event should occur on.
|
||||
|
||||
event_type Type of event (See Event Types below)
|
||||
event_inverse_phase_mask Mask which phases this event should NOT trigger in*
|
||||
event_chance Percent chance of this event occuring (1 - 100)
|
||||
event_flags Event flags such as if the event is repeatable (see below)
|
||||
event_param1 Variable for event (dependant on Event type)
|
||||
event_param2
|
||||
event_param3
|
||||
event_param4
|
||||
|
||||
action1_type First Type of Action to take when event occurs (See Action Types below)
|
||||
action1_param1 Variables used for Action1 (dependant on Action type)
|
||||
action1_param2
|
||||
action1_param3
|
||||
|
||||
action2_type Second Type of Action to take when event occurs (See Action Types below)
|
||||
action2_param1 Variables used for Action2 (dependant on Action type)
|
||||
action2_param2
|
||||
action2_param3
|
||||
|
||||
action3_type Third Type of Action to take when event occurs (See Action Types below)
|
||||
action3_param1 Variables used for Action3 (dependant on Action type)
|
||||
action3_param2
|
||||
action3_param3
|
||||
|
||||
All params are signed 32 bit values (+/- 2147483647). If param specifies time then time is in milliseconds. If param specifies percentage then percentages are value/100 (ex: if param = 500 then that means 500%, -50 = -50%)
|
||||
|
||||
*Phase mask is a bit mask of which phases this event should not trigger in. Example: Phase mask value of 12 (1100) would mean that this event would trigger 0, 1 and all other phases except for 2 and 3 (0 counts as the first phase).
|
||||
|
||||
=========================================
|
||||
Event Types
|
||||
=========================================
|
||||
Below is the list of current Event types that EventAI can handle.
|
||||
Each event type has its own specific interpretation of the params that accompany it.
|
||||
Params are always read from Param1, then Param2, then Param3.
|
||||
Events will not repeat until the creature exits combat unless EFLAG_REPEATABLE is set. Some events such as EVENT_T_AGGRO, EVENT_T_DEATH, EVENT_T_SPAWNED, and EVENT_T_EVADE cannot repeat.
|
||||
|
||||
# Internal Name Pamarm usage Description
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
0 EVENT_T_TIMER InitialMin, InitialMax, RepeatMin, RepeatMax Expires first between (Param1) and (Param2) and then between every (Param3) and (Param4). but only in combat.
|
||||
1 EVENT_T_TIMER_OOC InitialMin, InitialMax, RepeatMin, RepeatMax Expires first between (Param1) and (Param2) and then between every (Param3) and (Param4). but only out of combat.
|
||||
2 EVENT_T_HP HPMax%, HPMin%, RepeatMin, RepeatMax Expires when HP is between (Param1) and (Param2). Will repeat every (Param3) and (Param4).
|
||||
3 EVENT_T_MANA ManaMax%,ManaMin% RepeatMin, RepeatMax Expires once Mana% is between (Param1) and (Param2). Will repeat every (Param3) and (Param4).
|
||||
4 EVENT_T_AGGRO NONE Expires upon initial aggro (does not repeat).
|
||||
5 EVENT_T_KILL RepeatMin, RepeatMax Expires upon killing a player. Will repeat between every (Param1) and (Param2).
|
||||
6 EVENT_T_DEATH NONE Expires upon Death of the Creature.
|
||||
7 EVENT_T_EVADE NONE Expires upon creature EnterEvadeMode().
|
||||
8 EVENT_T_SPELLHIT SpellID, School, RepeatMin, RepeatMax Expires upon Spell hit. If (param1) is set will only expire on that spell. If (param2) will only expire on spells of that school (-1 for all). Will repeat every (Param3) and (Param4) .
|
||||
9 EVENT_T_RANGE MinDist, MaxDist, RepeatMin, RepeatMax Expires when the highest threat target distance is greater than (Param1) and less than (Param2). Will repeat every (Param3) and (Param4) .
|
||||
10 EVENT_T_OOC_LOS Hostile-or-Not, MaxAllowedRange, RepeatMin, RepeatMax Expires when a Unit moves within distance(MaxAllowedRange) to creature. If Param1=0 it will expire if Unit are Hostile. If Param1=1 it will only expire if Unit are not Hostile(generally determined by faction). Will repeat every (Param3) and (Param4). Does not expire when the creature is in combat.
|
||||
11 EVENT_T_SPAWNED NONE Expires at initial spawn and at creature respawn (useful for setting ranged movement type)
|
||||
12 EVENT_T_TARGET_HP HPMax%, HPMin%, RepeatMin, RepeatMax Expires when Current Target's HP is between (Param1) and (Param2). Will repeat every (Param3) and (Param4) .
|
||||
13 EVENT_T_TARGET_CASTING RepeatMin, RepeatatMax Expires when the current target is casting a spell. Will repeat every (Param1) and (Param2) .
|
||||
14 EVENT_T_FRIENDLY_HP HPDeficit, Radius, RepeatMin, RepeatMax Expires when a friendly unit in radius has at least (param1) hp missing. Will repeat every (Param3) and (Param4) .
|
||||
15 EVENT_T_FRIENDLY_IS_CC DispelType, Radius, RepeatMin, RepeatMax Expires when a friendly unit is Crowd controlled within the given radius (param2). Will repeat every (Param3) and (Param4) .
|
||||
16 EVENT_T_MISSING_BUFF SpellId, Radius, RepeatMin, RepeatMax Expires when a friendly unit is missing aura's given by spell (param1) within radius (param2). Will repeat every (Param3) and (Param4) .
|
||||
17 EVENT_T_SUMMONED_UNIT CreatureId, RepeatMin, RepeatMax Expires after creature with entry = (param1) is spawned or for all spawns if param1 = 0. Will repeat every (Param2) and (Param3).
|
||||
18 EVENT_T_TARGET_MANA ManaMax%, ManaMin%, RepeatMin, RepeatMax
|
||||
21 EVENT_T_REACHED_HOME NONE Expires when creature reach it's home(spawn) location after Evade.
|
||||
|
||||
=========================================
|
||||
Action Types
|
||||
=========================================
|
||||
Below is the list of current Action types that EventAI can handle.
|
||||
Each event type has its own specific interpretation of the params that accompany it.
|
||||
Params are always read from Param1, then Param2, then Param3.
|
||||
|
||||
(# Internal Name Param usage Discription)
|
||||
0 ACTION_T_NONE No Action Does Nothing
|
||||
1 ACTION_T_TEXT -TextId1, -TextId2, -TextId3 Displays the -TextId as defined. In case -TextId2 and optionally -TextId3, the output will be randomized. Type text are defined in the text table itself(say, yell, whisper, etc) along with other options for the text. All values are required to be negative.
|
||||
2 ACTION_T_SET_FACTION FactionId Change faction for creature. If param1==0, creature will revert to default faction.
|
||||
3 ACTION_T_MORPH_TO_ENTRY_OR_MODEL CreatureEntry, ModelId Set model from creature_template.entry(param1) OR set explicit modelId(param2). If param1 AND param2 both 0, demorph and revert to default model for creature.
|
||||
4 ACTION_T_SOUND SoundId Plays Sound
|
||||
5 ACTION_T_EMOTE EmoteId Does emote
|
||||
6 ACTION_T_RANDOM_SAY UNUSED
|
||||
7 ACTION_T_RANDOM_YELL UNUSED
|
||||
8 ACTION_T_RANDOM_TEXTEMOTE UNUSED
|
||||
9 ACTION_T_RANDOM_SOUND SoundId1, SoundId2, SoundId3 Plays random sound between 3 params*
|
||||
10 ACTION_T_RANDOM_EMOTE EmoteId1, EmoteId2, EmoteId3 Emotes random emote between 3 params
|
||||
11 ACTION_T_CAST SpellId, Target, CastFlags Casts spell (param1) on target type (param2). Uses Cast Flags (specified below target types)
|
||||
12 ACTION_T_SUMMON CreatureID, Target, Duration Summons creature (param1) to attack target (param2) for (param3) duration. Spawns on top of current creature.
|
||||
13 ACTION_T_THREAT_SINGLE_PCT Threat%, Target Modifies threat by (param1) on target type (param2)
|
||||
14 ACTION_T_THREAT_ALL_PCT Threat% Modifies threat by (param1) on all targets (using -100% on all will result in full aggro dump)
|
||||
15 ACTION_T_QUEST_EVENT QuestID, Target Calls AreaExploredOrEventHappens with (param1) for target type (Param2)
|
||||
16 ACTION_T_QUEST_CASTCREATUREGO CreatureID, SpellId, Target Sends CastCreatureOrGo for CreatureId (param1) with SpellId (param2) for target (param3)
|
||||
17 ACTION_T_SET_UNIT_FIELD Field_Number, Value, Target Sets Unit Field (param1) to Value (param2) on target type (param3)
|
||||
18 ACTION_T_SET_UNIT_FLAG Flags, Target Sets flag (flags can be binary OR together to modify multiple flags at once) on for Target type (param2)
|
||||
19 ACTION_T_REMOVE_UNIT_FLAG Flags, Target Removes flag (flags can be binary OR together to modify multiple flags at once) on for Target type (param2)
|
||||
20 ACTION_T_AUTO_ATTACK AllowAutoAttack 0 = stop melee attack, anything else means continue attacking/allow melee attacking
|
||||
21 ACTION_T_COMBAT_MOVEMENT AllowCombatMovement 0 = stop combat based movement, anything else continue/allow combat based movement (targeted movement generator)
|
||||
22 ACTION_T_SET_PHASE Phase Sets the current phase to (param1)
|
||||
23 ACTION_T_INC_PHASE Value Increments the phase by (param1). May be negative to decrement phase but should not be 0.
|
||||
24 ACTION_T_EVADE No Params Forces the creature to evade. Wiping all threat and dropping combat.
|
||||
25 ACTION_T_FLEE No Params Causes the .creature to flee. Please use this action instead of directly casting this spell so we may change this when a more correct approach is found.
|
||||
26 ACTION_T_QUEST_EVENT_ALL QuestId Calls GroupEventHappens with (param1). Only used if it's _expected_ event should complete for all players in current party
|
||||
27 ACTION_T_CASTCREATUREGO_ALL QuestId, SpellId Calls CastedCreatureOrGo for all players on the threat list with QuestID(Param1) and SpellId(Param2)
|
||||
28 ACTION_T_REMOVEAURASFROMSPELL Target, Spellid Removes all auras on Target caused by Spellid
|
||||
29 ACTION_T_RANGED_MOVEMENT Distance, Angle Changes the movement generator type to a ranged type. Note: Default melee type can still be done with this. Specify 0 angle and 0 distance.
|
||||
30 ACTION_T_RANDOM_PHASE PhaseId1, PhaseId2, PhaseId3 Sets the phase to the id between 3 params*
|
||||
31 ACTION_T_RANDOM_PHASE_RANGE PhaseMin, PhaseMax Sets the phase to a random id (Phase = PhaseMin + rnd % PhaseMin-PhaseMax). PhaseMax must be greater than PhaseMin.
|
||||
32 ACTION_T_SUMMON CreatureID, Target, SummonID Summons creature (param1) to attack target (param2) at location specified by EventAI_Summons (param3).
|
||||
33 ACTION_T_KILLED_MONSTER CreatureID, Target Calls KilledMonster (param1) for target of type (param2)
|
||||
34 ACTION_T_SET_INST_DATA Field, Data Calls ScriptedInstance::SetData with field (param1) and data (param2)
|
||||
35 ACTION_T_SET_INST_DATA64 Field, Target Calls ScriptedInstance::SetData64 with field (param1) and data (param2) target's GUID.
|
||||
36 ACTION_T_UPDATE_TEMPLATE TemplateId, Team Changes the creature to a new creature template of (param1) with team = Alliance if (param2) = false or Horde if (param2) = true
|
||||
37 ACTION_T_DIE No Params Kills the creature
|
||||
38 ACTION_T_ZONE_COMBAT_PULSE No Params Places all players within the instance into combat with the creature. Only works in combat and only works inside of instances.
|
||||
39 ACTION_T_SUMMON_GO GameObjectID, DespawnTime Summons object (param1). Despawns after param2. Spawns on top of current creature. DespawnTime is in ms.
|
||||
|
||||
* = Use -1 to specify that if this param is picked to do nothing. Random is constant between actions within an event. So if you have a random Yell and a random Sound they will match up (ex: param2 with param2)
|
||||
|
||||
=========================================
|
||||
Event Types
|
||||
=========================================
|
||||
Note:
|
||||
COMBAT ONLY - Means that this event will only trigger durring combat.
|
||||
OUT OF COMBAT ONLY - Means that this event will only trigger while out of combat.
|
||||
BOTH - This event can trigger both in and out of combat.
|
||||
|
||||
Events that do not have lables on them are events that are directly involved with the in and out of combat state.
|
||||
|
||||
------------------
|
||||
0 = EVENT_T_TIMER:
|
||||
------------------
|
||||
Parameter 1: InitialMin - Minumum Time used to calculate Random Initial Expire
|
||||
Parameter 2: InitialMax - Maximum Time used to calculate Random Initial Expire
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
COMBAT ONLY! - Expires first between (Param1) and (Param2) and then between every (Param3) and (Param4) from then on.
|
||||
This is commonly used for spells that repeat cast during combat (Simulate Spell Cooldown).
|
||||
|
||||
----------------------
|
||||
1 = EVENT_T_TIMER_OOC:
|
||||
----------------------
|
||||
Parameter 1: InitialMin - Minumum Time used to calculate Random Initial Expire
|
||||
Parameter 2: InitialMax - Maximum Time used to calculate Random Initial Expire
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
OUT OF COMBAT ONLY! - Expires first between (Param1) and (Param2) and then between every (Param3) and (Param4) from then on.
|
||||
This is commonly used for events that occur and repeat outside of combat.
|
||||
|
||||
---------------
|
||||
2 = EVENT_T_HP:
|
||||
---------------
|
||||
Parameter 1: HPMax% - Maximum HP% That this Event will Expire
|
||||
Parameter 2: HPMin% - Minimum HP% That this Event will Expire
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
BOTH - Expires when HP is between (Param1) and (Param2). Will repeat every (Param3) and (Param4).
|
||||
This is commonly used for events that trigger at a specific HP% (Such as Heal/Enrage Spells or NPC's that Flee).
|
||||
|
||||
-----------------
|
||||
3 = EVENT_T_MANA:
|
||||
-----------------
|
||||
Parameter 1: ManaMax% - Maximum Mana% That this Event will Expire
|
||||
Parameter 2: ManaMin% - Minimum Mana% That this Event will Expire
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
BOTH - Expires once Mana% is between (Param1) and (Param2). Will repeat every (Param3) and (Param4).
|
||||
This is commonly used for events where an NPC low on Mana will do something (Such as stop casting spells and switch to melee).
|
||||
|
||||
------------------
|
||||
4 = EVENT_T_AGGRO:
|
||||
------------------
|
||||
This Event Expires upon initial aggro (does not repeat).
|
||||
|
||||
-----------------
|
||||
5 = EVENT_T_KILL:
|
||||
-----------------
|
||||
Parameter 1: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 2: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
COMBAT ONLY! - Expires upon killing a player. Will repeat every (Param1) and (Param2).
|
||||
This Event Expires upon killing a player. It is commonly used for NPC's who yell or do something after killing a player.
|
||||
|
||||
------------------
|
||||
6 = EVENT_T_DEATH:
|
||||
------------------
|
||||
This Event Expires upon Death of the Scripted NPC.
|
||||
This is commonly used for NPC's who have a yell on death or cast some kind if summon spell when they die.
|
||||
|
||||
------------------
|
||||
7 = EVENT_T_EVADE:
|
||||
------------------
|
||||
This Event Expires upon the creature EnterEvadeMode().
|
||||
This is commonly used for NPC's who use phases, allows you to reset their phase to 0 upon evade to prevent possible strange behavior.
|
||||
|
||||
---------------------
|
||||
8 = EVENT_T_SPELLHIT:
|
||||
---------------------
|
||||
Parameter 1: SpellID - The Spell ID that will trigger the event to occur (NOTE: If you use Spell School as the trigger set this value to 0)
|
||||
Parameter 2: School - Spell School to trigger the event (NOTE: If you use a SpellID then set this value to -1) - *See Below for Spell School Bitmask Values*
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
BOTH - Expires upon Spell hit. If (param1) is set will only expire on that spell. If (param2) will only expire on spells of that school. Will repeat every (Param3) and (Param4).
|
||||
This Event is commonly used for NPC's who can do special things when you cast a spell (Or specific spell) on them.
|
||||
|
||||
------------------
|
||||
9 = EVENT_T_RANGE:
|
||||
------------------
|
||||
Parameter 1: MinDist - This Distance is the Minimum Distance between the NPC and it's target to allow this Event to Expire
|
||||
Parameter 2: MaxDist - This Distance is the Maximum Distance between the NPC and it's target to allow this Event to Expire
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
COMBAT ONLY! - Expires when the highest threat target distance is greater than (Param1) and less than (Param2). Will repeat every (Param3) and (Param4).
|
||||
This Event is commonly used for NPC's who have Ranged Combat and will Throw/Shoot between a certian distance.
|
||||
|
||||
---------------------
|
||||
10 = EVENT_T_OOC_LOS:
|
||||
---------------------
|
||||
Parameter 1: Hostile-or-Not - This will expire if Unit are hostile. If Param1=1 it will only expire if Unit are not Hostile(generally determined by faction)
|
||||
Parameter 2: MaxAllowedRange - Expires when a Unit moves within this distance to creature
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
OUT OF COMBAT!
|
||||
This Event is commonly used for NPC's who do something or say something to you when you walk past them Out of Comba
|
||||
|
||||
---------------------
|
||||
11 = EVENT_T_SPAWNED:
|
||||
---------------------
|
||||
Expires at initial spawn and at creature respawn.
|
||||
This Event is commonly used for setting ranged movement type or Summoning a Pet on Spawn
|
||||
|
||||
-----------------------
|
||||
12 = EVENT_T_TARGET_HP:
|
||||
-----------------------
|
||||
Parameter 1: HPMax% - Maximum HP% That this Event will Expire
|
||||
Parameter 2: HPMin% - Minimum HP% That this Event will Expire
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
COMBAT ONLY! - Expires when Current NPC's Target's HP is between (Param1) and (Param2). Will repeat every (Param3) and (Param4).
|
||||
This Event is commonly used for NPC's who have a special ability (Like Execute) that only casts when a Player HP is low.
|
||||
|
||||
----------------------------
|
||||
13 = EVENT_T_TARGET_CASTING:
|
||||
----------------------------
|
||||
Parameter 1: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 2: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
COMBAT ONLY! - Expires when the current target is casting a spell. Will repeat every (Param1) and (Param2).
|
||||
This event is commonly used for NPC's who will cast a counter spell when their target starts to cast a spell.
|
||||
|
||||
-------------------------
|
||||
14 = EVENT_T_FRIENDLY_HP:
|
||||
-------------------------
|
||||
Parameter 1: HPDeficit - This is the Amount of HP Missing from Full HP to trigger this event (You would need to calculate the amount of HP the event happens and subtract that from Full HP Value to get this number)
|
||||
Parameter 2: Radius - This is the Range in Yards the NPC will scan for nearby Friendlies (Faction is Friendly To) for the missing amount of HP in Param1.
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
COMBAT ONLY! - Expires when a friendly unit in radius(param2) has at least (param1) hp missing. Will repeat every (Param3) and (Param4).
|
||||
This is commonly used when an NPC in Combat will heal a nearby Friendly NPC in Combat with a Heal/Renew Spell.
|
||||
|
||||
----------------------------
|
||||
15 = EVENT_T_FRIENDLY_IS_CC:
|
||||
----------------------------
|
||||
Parameter 1: DispelType - Dispel Type to trigger the event - *See Below for Dispel Bitmask Values*
|
||||
Parameter 2: Radius - This is the Range in Yards the NPC will scan for nearby Friendlies being Crowd Controlled
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
COMBAT ONLY! - Expires when a friendly unit is Crowd controlled within the given radius (param2). Will repeat every (Param3) and (Param4).
|
||||
This is commonly used for NPC's who can come to the resule of other Friendly NPC's if being Crowd Controlled
|
||||
|
||||
--------------------------
|
||||
16 = EVENT_T_MISSING_BUFF:
|
||||
--------------------------
|
||||
Parameter 1: SpellId - This is the SpellID That the Aura Check will look for (If it is missing this Aura)
|
||||
Parameter 2: Radius - This is the Range in Yards the NPC will scan for nearby Friendlies (Faction is Friendly To) for the missing Aura.
|
||||
Parameter 3: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 4: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
BOTH - Expires when a friendly unit is missing aura's given by spell (param1) within radius (param2). Will repeat every (Param3) and (Param4).
|
||||
This is commonly used for NPC's who watch friendly units for a debuff to end so they can recast it on them again.
|
||||
|
||||
---------------------------
|
||||
17 = EVENT_T_SUMMONED_UNIT:
|
||||
---------------------------
|
||||
Parameter 1: CreatureId - The CreatureID that the NPC is watching to spawn to trigger this event
|
||||
Parameter 2: RepeatMin - Minimum Time used to calculate Random Repeat Expire
|
||||
Parameter 3: RepeatMax - Maximum Time used to calculate Random Repeat Expire
|
||||
|
||||
BOTH - Expires after creature with entry(Param1) is spawned or for all spawns if param1 = 0. Will repeat every (Param2) and (Param3) .
|
||||
This is commonly used for NPC's who will do something special once another NPC is summoned. Usually used is Complex Scripts or Special Events.
|
||||
|
||||
---------------------------
|
||||
21 = EVENT_T_REACHED_HOME:
|
||||
---------------------------
|
||||
Expires only when creature has returned to it's home location after Evade. Out of combat event.
|
||||
Most commonly used to cast spells that can not be casted in EVENT_T_EVADE and other effects that does not fit in while still running back to spawn/home location.
|
||||
|
||||
|
||||
=========================================
|
||||
Action Types
|
||||
=========================================
|
||||
|
||||
-----------------
|
||||
1 = ACTION_T_TEXT:
|
||||
-----------------
|
||||
Parameter 1: The entry of the text that the NPC should use from eventai_texts table. Optionally a entry from other tables can be used (such as custom_texts).
|
||||
Entry are required to be negative and exist in a *_texts-table. The type text to be displayed are defined in the texts-table itself (Say, Yell, Whisper, Emote Text, Boss Whisper, Boss Emote)
|
||||
Other options are also to be defined in the texts-table, such as a sound to be heard with the text and the language used in output (common, dwarvish, etc).
|
||||
In case this entry has a localized version of the text, the localized text will be displayed in client that support this locale.
|
||||
|
||||
Parameter 2: Optional. TextId can be defined in addition. The same apply to this as explained above, however eventAI will randomize between the two.
|
||||
Parameter 3: Optional, if Parameter 2 exist. In this case, eventAI will randomize between three.
|
||||
|
||||
See Text-tables.txt for documentation of eventai_texts-table.
|
||||
|
||||
------------------
|
||||
2 = ACTION_T_SET_FACTION:
|
||||
------------------
|
||||
Parameter 1: FactionId from Faction.dbc OR 0. Changes faction for creature. If 0, creature will revert to it's default faction if previously changed.
|
||||
|
||||
-----------------------
|
||||
3 = ACTION_T_MORPH_TO_ENTRY_OR_MODEL:
|
||||
-----------------------
|
||||
Parameter 1: Creature entry from creature_template. Action will then change to the model this creature are using.
|
||||
Parameter 2: If parameter 1 is 0, then this modelId will be used (in case parameter 1 exist, parameter 2 will not be used)
|
||||
|
||||
If both parameter 1 and 2 is 0, the creature will DeMorph, and use it's default model.
|
||||
|
||||
-------------------
|
||||
4 = ACTION_T_SOUND:
|
||||
-------------------
|
||||
Parameter 1: The Sound ID to be played. (Sound IDs are contained in the DBC files.)
|
||||
|
||||
The creature will play the specified sound.
|
||||
This is commonly used for Bosses who Yell and then also have a Voice for the same thing.
|
||||
|
||||
-------------------
|
||||
5 = ACTION_T_EMOTE:
|
||||
-------------------
|
||||
Parameter 1: The Emote ID that the creature should perform. (Emote IDs are also contained in the DBC but they can be found in the mangos source as well).
|
||||
|
||||
The creature will perform a visual emote. Unlike a text emote, a visual emote is one where the creature will actually move or perform a gesture.
|
||||
This is commonly used for NPC's who may perform a special action (Salute, Roar, ect...). Not all player emotes work for creature models.
|
||||
|
||||
------------------------
|
||||
6 = ACTION_T_RANDOM_SAY:
|
||||
------------------------
|
||||
UNUSED Can be reused to create new action type
|
||||
|
||||
-------------------------
|
||||
7 = ACTION_T_RANDOM_YELL:
|
||||
-------------------------
|
||||
UNUSED Can be reused to create new action type
|
||||
|
||||
------------------------------
|
||||
8 = ACTION_T_RANDOM_TEXTEMOTE:
|
||||
------------------------------
|
||||
UNUSED Can be reused to create new action type
|
||||
|
||||
--------------------------
|
||||
9 = ACTION_T_RANDOM_SOUND:
|
||||
--------------------------
|
||||
Parameter 1: The Sound ID to be played as Random Choice #1.
|
||||
Parameter 2: The Sound ID to be played as Random Choice #2.
|
||||
Parameter 3: The Sound ID to be played as Random Choice #3.
|
||||
|
||||
Similar to the ACTION_T_SOUND action, it will choose at random a sound to play.
|
||||
|
||||
---------------------------
|
||||
10 = ACTION_T_RANDOM_EMOTE:
|
||||
---------------------------
|
||||
Parameter 1: The Emote ID to be played as Random Choice #1.
|
||||
Parameter 2: The Emote ID to be played as Random Choice #2.
|
||||
Parameter 3: The Emote ID to be played as Random Choice #3.
|
||||
|
||||
Similar to the ACTION_T_EMOTE action, it will choose at random an Emote to Visually Perform.
|
||||
|
||||
-------------------
|
||||
11 = ACTION_T_CAST:
|
||||
-------------------
|
||||
Parameter 1: SpellId - The Spell ID to use for the NPC to cast. The value used in this field needs to be a valid Spell ID.
|
||||
Parameter 2: Target - The Target Type defining who the creature should cast the spell at. The value in this field needs to be a valid Target Type as specified in the reference tables below.
|
||||
Parameter 3: CastFlags - See Table Below for Cast Flag Bitmask Values. If you are unsure what to set this value at leave it at 0.
|
||||
|
||||
The creature will cast a spell specified by a spell ID on a target specified by the target type.
|
||||
This is commonly used for NPC's who cast spells.
|
||||
|
||||
---------------------
|
||||
12 = ACTION_T_SUMMON:
|
||||
---------------------
|
||||
Parameter 1: CreatureID - The Creature Template ID to be Summoned. The value here needs to be a valid Creature Template ID.
|
||||
Parameter 2: Target - The Target Type defining who the Summoned creature will attack once spawned. The value in this field needs to be a valid Target Type as specified in the reference tables below.
|
||||
Parameter 3: Duration - The duration until the summoned creature should be unsummoned AFTER Combat ends. The value in this field is in milliseconds or 0.
|
||||
|
||||
The NPC will Summon another creature at the same spot as itself that will attack the specified target.
|
||||
NOTE: Almost all Creature Summons have proper Summon Spells that should be used when possible. This Action is a powerful last resort option only to be used if nothing else works.
|
||||
NOTE: Using Target Type 0 will cause the Summoned creature to not attack anyone.
|
||||
NOTE: If Duration is set at 0, then the summoned creature will not despawn until it has died.
|
||||
This is used as a manual way to force an NPC to Summon.
|
||||
--------------------------------
|
||||
13 = ACTION_T_THREAT_SINGLE_PCT:
|
||||
--------------------------------
|
||||
Parameter 1: Threat% - Threat percent that should be modified. The value in this field can range from -100 to +100. If it is negative, threat will be taken away and if positive, threat will be added.
|
||||
Parameter 2: Target - The Target Type defining on whom the threat change should occur. The value in this field needs to be a valid target type as specified in the reference tables below.
|
||||
|
||||
This action will modify the threat of a target in the creature's threat list by the specified percent.
|
||||
This is commonly used to allow an NPC to adjust the Threat to a single player.
|
||||
|
||||
-----------------------------
|
||||
14 = ACTION_T_THREAT_ALL_PCT:
|
||||
-----------------------------
|
||||
Parameter 1: Threat% - The percent that should be used in modifying everyone's threat in the creature's threat list. The value here can range from -100 to +100.
|
||||
|
||||
This action will modify the threat for everyone in the creature's threat list by the specified percent.
|
||||
NOTE: Using -100 will cause the creature to reset everyone's threat to 0 so that everyone has the same amount of threat. It will NOT remove anyone from the threat list.
|
||||
This is commonly used to allow an NPC to drop threat for all players to zero.
|
||||
|
||||
--------------------------
|
||||
15 = ACTION_T_QUEST_EVENT:
|
||||
--------------------------
|
||||
Parameter 1: QuestID - The Quest Template ID. The value here must be a valid quest template ID. Furthermore, the quest should have SpecialFlags | 2 as it would need to be completed by an external event which is the activation of this action.
|
||||
Parameter 2: Target - The Target Type defining whom the quest should be completed for. The value in this field needs to be a valid target type as specified in the reference tables below.
|
||||
|
||||
This action will satisfy the external completion requirement for the quest for the specified target defined by the target type.
|
||||
NOTE: This action can only be used with player targets so it must be ensured that the target type will point to a player.
|
||||
This is commonly used for Quests where only ONE player will gain credit for the quest.
|
||||
|
||||
-----------------------------
|
||||
16 = ACTION_T_CASTCREATUREGO:
|
||||
-----------------------------
|
||||
Parameter 1: CreatureID - The Creature Template ID to be Summoned. The value here needs to be a valid Creature Template ID.
|
||||
Parameter 2: SpellId - The Spell ID to use to simulate the cast. The value used in this field needs to be a valid Spell ID.
|
||||
Parameter 3: Target - The Target Type defining whom the quest credit should be given to. The value in this field needs to be a valid target type as specified in the reference tables below.
|
||||
|
||||
This action will call CastedCreatureOrGO() function for the player. It can be used to give quest credit for casting a spell on the creature.
|
||||
This is commonly used for NPC's who have a special requirement to have a Spell cast on them to complete a quest.
|
||||
|
||||
-----------------------------
|
||||
17 = ACTION_T_SET_UNIT_FIELD:
|
||||
-----------------------------
|
||||
Parameter 1: Field_Number - The index of the Field Number to be changed. Use (http://wiki.udbforums.org/index.php/Character_data) for a list of indeces and what they control. Creatures only contain the OBJECT_FIELD_* and UNIT_FIELD_* fields. They do not contain the PLAYER_FIELD_* fields.
|
||||
Parameter 2: Value - The new value to be put in the field.
|
||||
Parameter 3: Target - The Target Type defining for whom the unit field should be changed. The value in this field needs to be a valid target type as specified in the reference tables below.
|
||||
|
||||
When activated, this action can change the target's unit field values. More information on the field value indeces can be found at (http://wiki.udbforums.org/index.php/Character_data)
|
||||
|
||||
----------------------------
|
||||
18 = ACTION_T_SET_UNIT_FLAG:
|
||||
----------------------------
|
||||
Parameter 1: Flags - The flag(s) to be set. Multiple flags can be set by using bitwise-OR on them (adding them together).
|
||||
Parameter 2: Target - The Target Type defining for whom the flags should be changed. The value in this field needs to be a valid Target Type as specified in the reference tables below.
|
||||
|
||||
When activated, this action changes the target's flags by adding (turning on) more flags. For example, this action can make the creature unattackable/unselectable if the right flags are used.
|
||||
|
||||
-------------------------------
|
||||
19 = ACTION_T_REMOVE_UNIT_FLAG:
|
||||
-------------------------------
|
||||
Parameter 1: Flags - The flag(s) to be removed. Multiple flags can be set by using bitwise-OR on them (adding them together).
|
||||
Parameter 2: Target - The target type defining for whom the flags should be changed. The value in this field needs to be a valid Target Type as specified in the reference tables below.
|
||||
|
||||
When activated, this action changes the target's flags by removing (turning off) flags. For example, this action can make the creature normal after it was unattackable/unselectable if the right flags are used.
|
||||
|
||||
--------------------------
|
||||
20 = ACTION_T_AUTO_ATTACK:
|
||||
--------------------------
|
||||
Parameter 1: AllowAutoAttack - If zero, then the creature will stop its melee attacks. If non-zero, then the creature will either continue its melee attacks (the action would then have no effect) or it will start its melee attacks on the target with the top threat if its melee attacks were previously stopped.
|
||||
|
||||
This action controls whether or not the creature should stop or start the auto melee attack.
|
||||
NOTE: The ACID Dev Team has conformed to using either 0 or 1 for the Param values (0 = Stop Melee, 1 = Start Melee).
|
||||
This is commonly used in combination with EVENT_T_RANGE and ACTION_T_COMBAT_MOVEMENT for Ranged Combat for Mages and Spell Casters.
|
||||
|
||||
------------------------------
|
||||
21 = ACTION_T_COMBAT_MOVEMENT:
|
||||
------------------------------
|
||||
Parameter 1: If zero, then the creature will stop moving towards its victim (if its victim gets out of melee range) and will be stationary. If non-zero, then the creature will either continue to follow its victim (the action would have no effect) or it will start to follow the target with the top threat if its movement was disabled before.
|
||||
|
||||
This action controls whether or not the creature will always move towards its target.
|
||||
NOTE: The ACID Dev Team has conformed to using either 0 or 1 for the Param values. (0 = Stop Movement, 1 = Start Movement)
|
||||
This is commonly used with EVENT_T_RANGE and ACTION_T_AUTO_ATTACK for NPC's who engage in Ranged Comabt (Either Spells or Ranged Attacks)
|
||||
|
||||
------------------------
|
||||
22 = ACTION_T_SET_PHASE:
|
||||
------------------------
|
||||
Parameter 1: The new phase to set the creature in. This number must be an integer between 0 and 31. Numbers outside of that range will result in an error.
|
||||
|
||||
When activated, this action sets the creature's event to the specified value.
|
||||
NOTE: The creature's current Phase is NOT reset at creature evade. You must manually set the phase back to 0 at EVENT_T_RESET.
|
||||
NOTE: The value used for the Param is the actual Phase Number (Not The Event_Inverse_Phase_Mask)
|
||||
This is commonly used for complex scripts with several phases and you need to switch to a different phase.
|
||||
|
||||
------------------------
|
||||
23 = ACTION_T_INC_PHASE:
|
||||
------------------------
|
||||
Parameter 1: Value - The number of phases to increase or decrease. Use negative values to decrease the current phase.
|
||||
|
||||
When activated, this action will increase (or decrease) the current creature's phase.
|
||||
NOTE: After increasing or decreasing the phase by this action, the current phase must NOT be lower than 0 or exceed 31.
|
||||
This can be used instead of ACTION_T_SET_PHASE to change phases in scripts. Just a user friendly option for changing phases.
|
||||
|
||||
--------------------
|
||||
24 = ACTION_T_EVADE:
|
||||
--------------------
|
||||
When activated, the creature will immediately exit out of combat, clear its threat list, and move back to its spawn point. Basically, this action will reset the whole encounter.
|
||||
NOTE: All Param Values Are 0 for this Action.
|
||||
|
||||
-------------------
|
||||
25 = ACTION_T_FLEE:
|
||||
-------------------
|
||||
When activated, the creature will try to flee from combat. Currently this is done by it casting a fear-like spell on itself called "Run Away". A Better Flee system is in Development but will take time before it is implimented.
|
||||
NOTE: All Param Values Are 0 for this Action.
|
||||
|
||||
------------------------------
|
||||
26 = ACTION_T_QUEST_EVENT_ALL:
|
||||
------------------------------
|
||||
Parameter 1: QuestId - The quest ID to finish for everyone.
|
||||
|
||||
This action does the same thing as the ACTION_T_QUEST_EVENT does but it does it for all players in the creature's threat list.
|
||||
NOTE: If a player is not in the NPC's threat list for whatever reason, he/she won't get the quest completed.
|
||||
|
||||
---------------------------------
|
||||
27 = ACTION_T_CASTCREATUREGO_ALL:
|
||||
---------------------------------
|
||||
Parameter 1: QuestId - The quest template ID.
|
||||
Parameter 2: SpellId - The spell ID used to simulate the cast.
|
||||
|
||||
This action does the same thing as the ACTION_T_CASTCREATUREGO does but it does it for all players in the creature's threat list.
|
||||
NOTE: If a player is not in its threat list for whatever reason, he/she won't receive the cast emulation.
|
||||
|
||||
-----------------------------------
|
||||
28 = ACTION_T_REMOVEAURASFROMSPELL:
|
||||
-----------------------------------
|
||||
Parameter 1: Target - The target type defining for whom the unit field should be changed. The value in this field needs to be a valid target type as specified in the reference tables below.
|
||||
Parameter 2: SpellId - The spell ID whose auras will be removed.
|
||||
|
||||
This action will remove all auras from a specific spell from the target.
|
||||
This is commonly used for NPC's who have an OOC Aura that is removed at combat start or a similar idea (Like Stealth or Shape Shift)
|
||||
|
||||
------------------------------
|
||||
29 = ACTION_T_RANGED_MOVEMENT:
|
||||
------------------------------
|
||||
Parameter 1: Distance - The distance the mob should keep between it and its target.
|
||||
Parameter 2: Angle - The angle the mob should use.
|
||||
|
||||
This action changes the movement type generator to ranged type using the specified values for angle and distance.
|
||||
NOTE: Specifying zero angle and distance will make it just melee instead.
|
||||
This is commonly used for NPC's who always attack at range and you can specify the distance they will maintain from the target.
|
||||
|
||||
---------------------------
|
||||
30 = ACTION_T_RANDOM_PHASE:
|
||||
---------------------------
|
||||
Parameter 1: PhaseId1 - A possible random phase choice.
|
||||
Parameter 2: PhaseId2 - A possible random phase choice.
|
||||
Parameter 3: PhaseId3 - A possible random phase choice.
|
||||
|
||||
Randomly sets the phase to one from the three parameter choices.
|
||||
NOTE: Use -1 to specify that if this param is picked to do nothing. Random is constant between actions within an event. So if you have a random Yell and a random Sound they will match up (ex: param2 with param2)
|
||||
NOTE 2: PLEASE NOTE THAT EACH OF THE PARAM VALUES ARE ACTUAL PHASE NUMBERS NOT THE INVERSE PHASE MASK VALUE.
|
||||
This is commonly used for Spellcasting NPC's who on Aggro may select at random a school of spells to use for the fight. Use this if you have up to 3 phases used, otherwise use Action 31 for more then 3 phases.
|
||||
|
||||
---------------------------------
|
||||
31 = ACTION_T_RANDOM_PHASE_RANGE:
|
||||
---------------------------------
|
||||
Parameter 1: PhaseMin - The minimum of the phase range.
|
||||
Parameter 2: PhaseMax - The maximum of the phase range. The number here must be greater than PhaseMin.
|
||||
|
||||
Randomly sets the phase between a range of phases controlled by the parameters. Sets the phase to a random id (Phase = PhaseMin + rnd % PhaseMin-PhaseMax).
|
||||
NOTE: PhaseMax must be greater than PhaseMin.
|
||||
NOTE 2: PLEASE NOTE THAT EACH OF THE PARAM VALUES ARE ACTUAL PHASE NUMBERS NOT THE INVERSE PHASE MASK VALUE.
|
||||
This is commonly used for Spellcasting NPC's who on Aggro may select at random a school of spells to use for the fight. Use this if you have MORE then 3 phases used, otherwise use Action 30.
|
||||
|
||||
---------------------
|
||||
32 = ACTION_T_SUMMON:
|
||||
---------------------
|
||||
Parameter 1: CreatureID - The creature template ID to be summoned. The value here needs to be a valid creature template ID.
|
||||
Parameter 2: Target - The target type defining who the summoned creature will attack. The value in this field needs to be a valid target type as specified in the reference tables below. NOTE: Using target type 0 will cause the summoned creature to not attack anyone.
|
||||
Parameter 3: SummonID - The summon ID from the eventai_summons table controlling the position (and spawntime) where the summoned mob should be spawned at.
|
||||
|
||||
Summons creature (param1) to attack target (param2) at location specified by EventAI_Summons (param3).
|
||||
NOTE: Param3 Value is the ID Value used for the entry used in EventAI_Summons for this action. You MUST have an EventAI_Summons entry to use this action.
|
||||
This is commonly used for NPC's who need to Summon a creature at a specific location. (Normally used for complex events)
|
||||
|
||||
-----------------------------
|
||||
33 = ACTION_T_KILLED_MONSTER:
|
||||
-----------------------------
|
||||
Parameter 1: CreatureID - The creature template ID. The value here must be a valid creature template ID.
|
||||
Parameter 2: Target - The target type defining whom the quest kill count should be given to. The value in this field needs to be a valid target type as specified in the reference tables below.
|
||||
|
||||
When activated, this action will call KilledMonster() function for the player. It can be used to give creature credit for killing a creature. In general if the quest is set to be accompished on different creatures (e.g. "Credit" templates).
|
||||
NOTE: It can be ANY creature including certain quest specific triggers
|
||||
This is commonly used for giving the player Quest Credits for NPC kills (Many NPC's may use the same CreatureID for the Kill Credit)
|
||||
|
||||
----------------------------
|
||||
34 = ACTION_T_SET_INST_DATA:
|
||||
----------------------------
|
||||
Parameter 1: Field - The field to change in the instance script. Again, this field needs to be a valid field that has been already defined in the instance's script.
|
||||
Parameter 2: Data - The value to put at that field index.
|
||||
|
||||
Sets data for the instance. Note that this will only work when the creature is inside an instantiable zone that has a valid script (ScriptedInstance) assigned.
|
||||
NOTE: Param1 Value is located in "def_<instance name>.h" SD2 File and Param2 value is generally found in the "sc_instance.h" file in SD2
|
||||
This is commonly used to link an ACID script with a SD2 C++ Script. You make make things happen like opening doors on specific events that happen. ACID Just triggers the C++ Script to function.
|
||||
|
||||
------------------------------
|
||||
35 = ACTION_T_SET_INST_DATA64:
|
||||
------------------------------
|
||||
Parameter 1: Field - The field to change in the instance script. Again, this field needs to be a valid field that has been already defined in the instance's script.
|
||||
Parameter 2: Target - The target type to use to get the GUID that will be stored at the field index. The value in this field needs to be a valid target type as specified in the reference tables below.
|
||||
|
||||
Sets GUID (64 bits) data for the instance based on the target. Note that this will only work when the creature is inside an instantiable zone that has a valid script (ScriptedInstance) assigned.
|
||||
Calls ScriptedInstance::SetData64 with field (param1) and data (param2) target's GUID.
|
||||
|
||||
------------------------------
|
||||
36 = ACTION_T_UPDATE_TEMPLATE:
|
||||
------------------------------
|
||||
Parameter 1: TemplateId - The creature template ID. The value here must be a valid creature template ID.
|
||||
Parameter 2: Team - Use model_id from team : Alliance(0) or Horde (1).
|
||||
|
||||
This function temporarily changes creature entry to new entry, display is changed, loot is changed, but AI is not changed. At respawn creature will be reverted to original entry.
|
||||
Changes the creature to a new creature template of (param1) with team = Alliance if (param2) = false or Horde if (param2) = true
|
||||
|
||||
------------------
|
||||
37 = ACTION_T_DIE:
|
||||
------------------
|
||||
Kills the creature
|
||||
This is commonly used if you need to Instakill the creature for one reason or another.
|
||||
|
||||
--------------------------------
|
||||
38 = ACTION_T_ZONE_COMBAT_PULSE:
|
||||
--------------------------------
|
||||
Places all players within the instance into combat with the creature. Only works in combat and only works inside of instances.
|
||||
|
||||
|
||||
=========================================
|
||||
Target Types
|
||||
=========================================
|
||||
Below is the list of current Target types that EventAI can handle.
|
||||
Target types are used by certain actions and may effect actions differently
|
||||
|
||||
(# Internal Name Discription)
|
||||
0 TARGET_T_SELF Self cast
|
||||
1 TARGET_T_HOSTILE Our current target (ie: highest aggro)
|
||||
2 TARGET_T_HOSTILE_SECOND_AGGRO Second highest aggro (generaly used for cleaves and some special attacks)
|
||||
3 TARGET_T_HOSTILE_LAST_AGGRO Dead last on aggro (no idea what this could be used for)
|
||||
4 TARGET_T_HOSTILE_RANDOM Just any random target on our threat list
|
||||
5 TARGET_T_HOSTILE_RANDOM_NOT_TOP Any random target except top threat
|
||||
6 TARGET_T_ACTION_INVOKER Unit who caused this Event to occur (only works for EVENT_T_AGGRO, EVENT_T_KILL, EVENT_T_DEATH, EVENT_T_SPELLHIT, EVENT_T_OOC_LOS, EVENT_T_FRIENDLY_HP)
|
||||
|
||||
=========================================
|
||||
Cast Flags
|
||||
=========================================
|
||||
Below is the list of current Cast Flags that EventAI's spell casting can handle.
|
||||
Cast flags are handled bitwise. Bit 0 is Interrupt Previous, bit 1 is triggered, etc.
|
||||
So for example the number "3" (11 in Binary, selecting first 2 options) would mean that this cast has both CAST_INTURRUPT_PREVIOUS and CAST_TRIGGERED.
|
||||
Another example: the number "5" (101 in Binary, selecting first and third options) would mean that this cast has CAST_INTURRUPT_PREVIOUS and CAST_FORCE_CAST.
|
||||
|
||||
(bit# Decimal Internal Name Discription)
|
||||
0 1 CAST_INTURRUPT_PREVIOUS Interrupts any previous spell casting (basicaly makes sure that this spell goes off)
|
||||
1 2 CAST_TRIGGERED Forces the spell to be instant cast and require no mana/reagents.
|
||||
2 4 CAST_FORCE_CAST Forces spell to cast even if the target is possibly out of range or the creature is possibly out of mana
|
||||
3 8 CAST_NO_MELEE_IF_OOM Prevents creature from entering melee if out of mana or out of range
|
||||
4 16 CAST_FORCE_TARGET_SELF Forces the target to cast this spell on itself
|
||||
5 32 CAST_AURA_NOT_PRESENT Only casts the spell on the target if the target does not have the aura from that spell on itself already.
|
||||
|
||||
NOTE: You can add the numbers in the decimal column to combine flags.
|
||||
For example if you wanted to use CAST_NO_MELEE_IF_OOM(8) and CAST_TRIGGERED(2) you would simply use 10 in the cast flags field (8 + 2 = 10).
|
||||
|
||||
=========================================
|
||||
Event Flags
|
||||
=========================================
|
||||
Below is the list of current Event Flags that EventAI can handle. Event flags are handled bitwise.
|
||||
|
||||
(bit# Decimal Internal Name Discription)
|
||||
0 1 EFLAG_REPEATABLE Event repeats (Does not repeat if this flag is not set)
|
||||
1 2 EFLAG_NORMAL Event occurs in Normal instance difficulty (will not occur in Normal if not set)
|
||||
2 4 EFLAG_HEROIC Event occurs in Heroic instance difficulty (will not occur in Heroic if not set)
|
||||
3 8
|
||||
4 16
|
||||
5 32
|
||||
6 64
|
||||
7 128 EFLAG_DEBUG_ONLY Prevents events from occuring on Release builds of ScriptDev2. Useful for testing new features.
|
||||
|
||||
NOTE: You can add the numbers in the decimal column to combine flags.
|
||||
@@ -1,32 +0,0 @@
|
||||
--- Script Layout ---
|
||||
A quick explination of the layout I hope everyone will follow for scriptdev2.
|
||||
|
||||
--- Sub Folders ---
|
||||
|
||||
Area - Contains scripts used solely by area triggers
|
||||
|
||||
Boss - Boss scripts for bosses that are not zone specific
|
||||
|
||||
Mob - Generic Creature scripts for creatures that are not zone specific
|
||||
|
||||
Custom - Intentionally empty folder from SVN. If you make a custom script please put it here.
|
||||
|
||||
GO - Contains scripts used solely by Game Objects (GOs) that do not have a specific zone
|
||||
|
||||
Guard - Scripts for Guard NPCs
|
||||
|
||||
Honor - Honor npcs (currently a blank script as these npcs do nothing special)
|
||||
|
||||
Item - Item scripts
|
||||
|
||||
NPC - Scripts for individual NPCs who do not have a specific zone
|
||||
|
||||
Servers - Generic NPC servers script for things such as flightmasters and guildmasters.
|
||||
|
||||
Zone - ALL zone specific scripts should be written within these folders. This includes creature scripts, boss scripts, go scripts, area scripts, and npc scripts.
|
||||
|
||||
--- Naming Conventions ---
|
||||
|
||||
Please keep file names to "type_objectname.cpp" where type is replaced by the type of object and objectname is replaced by the name of the object, creature, item, or area that this script will be used by.
|
||||
|
||||
AddSC functions should follow "void AddSC_creaturename(void);" format. Do not append AI or anything else.
|
||||
@@ -1,87 +0,0 @@
|
||||
=========================================
|
||||
Texts Documentation
|
||||
=========================================
|
||||
|
||||
Scriptdev2 Revision 695 introduces a new format for using texts in EventAI and SD2 Scripts.
|
||||
This information relates to the *_texts tables located in the ScriptDev Database.
|
||||
|
||||
Any script can at any time access and use text from any of the three text tables, as long as the entry does in fact exist.
|
||||
Custom scripters are adviced to store their text data in custom_texts.
|
||||
|
||||
The different tables has ranges of entries allowed for that table.
|
||||
Reserved EventAI in Mangos entry -1 -> -999999
|
||||
script_texts: entry -1000000 -> -1999999
|
||||
custom_texts: entry -2000000 -> -2999999
|
||||
Any entry out of range for that table will display a startup error.
|
||||
|
||||
|
||||
=========================================
|
||||
Basic Structure of script_texts and custom_texts
|
||||
=========================================
|
||||
Below is a the list of current fields within the texts tables.
|
||||
|
||||
Field_Name Description
|
||||
-----------------------------------------------------------
|
||||
entry This value is mearly an NEGATIVE identifier of the current text number. Required for sql queries.
|
||||
content_default This is the actual text presented in the default language (English).
|
||||
|
||||
content_loc1 This is the actual text presented in the Localization #1 Clients (Korean)
|
||||
content_loc2 This is the actual text presented in the Localization #2 Clients (French)
|
||||
content_loc3 This is the actual text presented in the Localization #3 Clients (German)
|
||||
content_loc4 This is the actual text presented in the Localization #4 Clients (Chinese)
|
||||
content_loc5 This is the actual text presented in the Localization #5 Clients (Taiwanese)
|
||||
content_loc6 This is the actual text presented in the Localization #6 Clients (Spanish)
|
||||
content_loc7 This is the actual text presented in the Localization #7 Clients (Spanish Mexico)
|
||||
content_loc8 This is the actual text presented in the Localization #8 Clients (Russian)
|
||||
|
||||
sound This value is the Sound ID that corresponds to the actual text used (Defined in SoundEntries.dbc).
|
||||
type Variables used to define type of text (Say/Yell/Textemote/Whisper).
|
||||
language This value is the Language that the text is native in (Defined in Languages.dbc).
|
||||
emote Value from enum Emote (defined in Emotes.dbc). Only source of text will play this emote (not target, if target are defined in DoScriptText)
|
||||
comment This is a comment regarding the text entry (For ACID, accepted format is to use Creature ID of NPC using it).
|
||||
|
||||
Note: Fields `content_loc1` to `content_loc8` are NULL values by default and are handled by seperate localization projects.
|
||||
|
||||
|
||||
=========================================
|
||||
Text Types (type)
|
||||
=========================================
|
||||
Below is the list of current Text types that texts tables can handle. These were previously seperate Actions in ACID.
|
||||
|
||||
# Internal Name Description
|
||||
-----------------------------------------------------------
|
||||
0 CHAT_TYPE_SAY This type sets the text to be displayed as a Say (Speech Bubble).
|
||||
1 CHAT_TYPE_YELL This type sets the text to be displayed as a Yell (Red Speech Bubble) and usually has a matching Sound ID.
|
||||
2 CHAT_TYPE_TEXT_EMOTE This type sets the text to be displayed as a text emote in orange in the chat log.
|
||||
3 CHAT_TYPE_BOSS_EMOTE This type sets the text to be displayed as a text emote in orange in the chat log (Used only for specific Bosses).
|
||||
4 CHAT_TYPE_WHISPER This type sets the text to be displayed as a whisper to the player in the chat log.
|
||||
5 CHAT_TYPE_BOSS_WHISPER This type sets the text to be displayed as a whisper to the player in the chat log (Used only for specific Bosses).
|
||||
6 CHAT_TYPE_ZONE_YELL Same as CHAT_TYPE_YELL but will display to all players in current zone.
|
||||
|
||||
|
||||
=========================================
|
||||
Language Types (language)
|
||||
=========================================
|
||||
Below is the list of current Language types that are allowed.
|
||||
This is the Race Language that the text is native to (So it will display properly)
|
||||
|
||||
# Internal Name Description
|
||||
-----------------------------------------------------------
|
||||
0 UNIVERSAL Text in this language is understood by ALL Races.
|
||||
1 ORCISH Text in this language is understood ONLY by Horde Races.
|
||||
2 DARNASSIAN Text in this language is understood ONLY by the Night Elf Race.
|
||||
3 TAURAHE Text in this language is understood ONLY by the Tauren Race.
|
||||
6 DWARVISH Text in this language is understood ONLY by the Dwarf Race.
|
||||
7 COMMON Text in this language is understood ONLY by Alliance Races.
|
||||
8 DEMONIC Text in this language is understood ONLY by the Demon Race (Not Implimented).
|
||||
9 TITAN This language was used by Sargeras to speak with other Titians (Not Implemented).
|
||||
10 THALASSIAN Text in this language is understood ONLY by the Blood Elf Race.
|
||||
11 DRACONIC Text in this language is understood ONLY by the Dragon Race.
|
||||
12 KALIMAG Text will display as Kalimag (not readable by players, language of all elementals)
|
||||
13 GNOMISH Text in this language is understood ONLY by the Gnome Race.
|
||||
14 TROLL Text in this language is understood ONLY by the Troll Race.
|
||||
33 GUTTERSPEAK Text in this language is understood ONLY by the Undead Race.
|
||||
35 DRAENEI Text in this language is understood ONLY by the Draenai Race.
|
||||
36 ZOMBIE (not currently used?)
|
||||
37 GNOMISH BINARY Binary language used by Alliance when drinking Binary Brew
|
||||
38 GOBLIN BINARY Binary language used by Horce when drinking Binary Brew
|
||||
@@ -1,108 +0,0 @@
|
||||
#include "precompiled.h"
|
||||
#include <cstring>
|
||||
|
||||
//This function is called when the player logs in (every login)
|
||||
void OnLogin(Player *pPlayer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//This function is called when the player logs out
|
||||
void OnLogout(Player *pPlayer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//This function is called when the player kills another player
|
||||
void OnPVPKill(Player *killer, Player *killed)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//This function is called when a players AreaID changes
|
||||
void OnAreaChange(Player *pPlayer, AreaTableEntry const *pArea)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//This is called when a player kills a creature (non pvp)
|
||||
void OnCreatureKill(Player *pPlayer, Creature *pCreature)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//This function is called when a player has a money exchange
|
||||
int32 OnGetMoney(Player *pPlayer, int32 amount)
|
||||
{
|
||||
return amount;
|
||||
}
|
||||
|
||||
//This function is called whenever a player gets XP
|
||||
uint32 OnGetXP(Player *pPlayer, uint32 amount)
|
||||
{
|
||||
return amount;
|
||||
}
|
||||
|
||||
//This function is called when a player clicks a GO Object
|
||||
bool OnGoClick(Player *pPlayer, GameObject *pGameObject)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
//This function is called when a player clicks and item
|
||||
bool OnItemClick(Player *pPlayer, Item *pItem)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
//This function is called when a player opens an item (like a clam)
|
||||
bool OnItemOpen(Player *pPlayer, Item *pItem)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
//This function is called when a player sends a chat message
|
||||
bool OnPlayerChat(Player *pPlayer, const char *text)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
//this function is called when the server starts
|
||||
void OnServerStartup()
|
||||
{
|
||||
|
||||
}
|
||||
//this function is called when the server shuts down
|
||||
void OnServerShutdown()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//this function is called when a player casts a spell
|
||||
bool OnSpellCast(Unit *pUnitTarget, Item *pItemTarget, GameObject *pGoTarget, uint32 i, SpellEntry const *spell)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void AddSC_onevents()
|
||||
{
|
||||
Script *newscript;
|
||||
newscript = new Script;
|
||||
newscript->Name = "scripted_on_events";
|
||||
newscript->pOnLogin = &OnLogin;
|
||||
newscript->pOnLogout = &OnLogout;
|
||||
newscript->pOnPVPKill = &OnPVPKill;
|
||||
newscript->pOnAreaChange = &OnAreaChange;
|
||||
newscript->pOnCreatureKill = &OnCreatureKill;
|
||||
newscript->pOnGetMoney = &OnGetMoney;
|
||||
newscript->pOnGetXP = &OnGetXP;
|
||||
newscript->pOnGoClick = &OnGoClick;
|
||||
newscript->pOnItemClick = &OnItemClick;
|
||||
newscript->pOnItemOpen = &OnItemOpen;
|
||||
newscript->pOnPlayerChat = &OnPlayerChat;
|
||||
newscript->pOnServerShutdown = &OnServerShutdown;
|
||||
newscript->pOnServerStartup = &OnServerStartup;
|
||||
newscript->pOnSpellCast = &OnSpellCast;
|
||||
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
#Taxi in Archerus
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_acherus_taxi' WHERE `entry`='28864';
|
||||
|
||||
#Stormwind Harbor
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_stormwindharbor_taxi' WHERE `entry`='29154';
|
||||
|
||||
#Taxis to the 3 parts of the Wyrmresttempel
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_wyrmresttempelbottom_taxi' WHERE `entry`='26443';
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_wyrmresttempelmiddle_taxi' WHERE `entry`='27575';
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_wyrmresttempeltop_taxi' WHERE `entry`='26949';
|
||||
@@ -1,530 +0,0 @@
|
||||
-- -1 574 000 UTGARDE KEEP
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Prince Keleseth
|
||||
(-1574000, 'Your blood is mine!',13221,1,0,'keleseth SAY_AGGRO'),
|
||||
(-1574001, 'Darkness waits',13223,1,0, 'keleseth SAY_KILL'),
|
||||
(-1574002, 'I join... the night.',13225,1,0, 'keleseth SAY_DEATH'),
|
||||
(-1574003, 'Not so fast.',13222,1,0, 'keleseth SAY_FROST_TOMB'),
|
||||
(-1574004, 'Aranal, lidel! Their fate shall be yours!',13224,1,0, 'keleseth SAY_SKELETONS'),
|
||||
-- Dalronn the Controller
|
||||
(-1574005, 'By all means, don\'t assess the situation, you halfwit! Just jump into the fray!',13199, 1,0,'dalronn SAY_AGGRO'),
|
||||
(-1574006, 'You may serve me yet.',13202, 1,0,'dalronn SAY_KILL'),
|
||||
(-1574007, 'See... you... soon.',13200, 1,0,'dalronn SAY_DEATH_1'),
|
||||
(-1574008, 'There\'s no... greater... glory.',13201, 1,0,'dalronn SAY_DEATH_2'),
|
||||
(-1574009, 'Skarvald, you incompetent slug! Return and make yourself useful!',13203,1,0, 'dalronn SAY_RAISES'),
|
||||
-- Skarvald the Constructor
|
||||
(-1574010, 'Dalronn! See if you can muster the nerve to join my attack!',13229, 1,0,'skarvald SAY_AGGRO'),
|
||||
(-1574011, '...',13232,1,0, 'skarvald SAY_KILL'),
|
||||
(-1574012, 'Not... over... yet.',13230,1,0, 'skarvald SAY_DEATH_1'),
|
||||
(-1574013, 'A warrior\'s death.',13231,1,0, 'skarvald SAY_DEATH_2'),
|
||||
(-1574014, 'Pagh! What sort of necromancer lets death stop him? I knew you were worthless!',13233,1,0, 'skarvald SAY_RAISES'),
|
||||
-- Ingvar the Plunderer
|
||||
(-1574015, 'I\'ll paint my face with your blood!',13207,1,0, 'ingvar SAY_AGGRO'),
|
||||
(-1574016, 'I am a warrior born!',13214,1,0, 'ingvar SAY_KILL'),
|
||||
(-1574017, 'My life for the... death god!',13213,1,0, 'ingvar SAY_DEATH'),
|
||||
(-1574018, 'Fight on or face me!',13208,1,0, 'ingvar SAY_ATTACK_1'),
|
||||
(-1574019, '...',13240, 1,0,'ingvar SAY_ATTACK_2'),
|
||||
(-1574020, 'Slay them all, no excuses, no mercy, no rest!',13241,1,0, 'ingvar SAY_ATTACK_3'),
|
||||
(-1574021, '... of destruction silence every ...!',13242,1,0, 'ingvar SAY_ATTACK_4'),
|
||||
(-1574022, 'I return! A second chance to carve out your skull!',13208,1,0, 'ingvar SAY_PHASE2_AGGRO'),
|
||||
(-1574023, 'Mjul orm agn gjor!',13212, 1,0,'ingvar SAY_PHASE2_KILL'),
|
||||
(-1574024, 'No! I can do... better! I can...',13211,1,0, 'ingvar SAY_PHASE2_DEATH'),
|
||||
-- Said by Annhylde the Caller when resurecting Ingvar
|
||||
(-1574025, 'Ingvar! Your pathetic failure will serve as a warning to all... you are damned! Arise and carry out the master\'s will!',13754, 1,0,'ingvar SAY_ANNHYLDE_THE_CALLER_RESURECTION');
|
||||
|
||||
-- -1 575 000 UTGARDE PINNACLE
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Gortok Palehoof
|
||||
(-1575000, 'What this place? I will destroy you!',13464,1,0, 'palehoof SAY_AGGRO'),
|
||||
(-1575001, 'You die! That what master wants!',13465,1,0, 'palehoof SAY_SLAY_1'),
|
||||
(-1575002, 'An easy task!',13466,1,0, 'palehoof SAY_SLAY_2'),
|
||||
(-1575003, '...',13467,1,0, 'palehoof SAY_DEATH'),
|
||||
-- Skadi the Ruthless
|
||||
(-1575004, 'What mongrels dare intrude here? Look alive, my brothers! A feast for the one that brings me their heads!',13497,1,0, 'skadi SAY_AGGRO'),
|
||||
(-1575005, 'Mjor Na Ul Kaval!',13503,1,0, 'skadi SAY_KILL_1'),
|
||||
(-1575006, 'Not so brash now, are you?',13504,1,0, 'skadi SAY_KILL_2'),
|
||||
(-1575007, 'I\'ll mount your skull from the highest tower!',13505,1,0, 'skadi SAY_KILL_3'),
|
||||
(-1575008, 'ARGH! You call that... an attack? I\'ll... show... aghhhh...',13506,1,0, 'skadi SAY_DEATH'),
|
||||
(-1575009, 'You motherless knaves! Your corpses will make fine morsels for my new drake!',13507,1,0, 'skadi SAY_DRAKE_DEATH'),
|
||||
(-1575010, 'I ask for ... to kill them, yet all I get is feeble whelps! By Ye.. SLAUGHTER THEM!',13501,1,0, 'skadi SAY_DRAKE_HIT_1'),
|
||||
(-1575011, 'If one more harpoon touches my drake I\'ll flae my miserable heins.',13502,1,0, 'skadi SAY_DRAKE_HIT_2'),
|
||||
(-1575012, 'Sear them to the bone!',13498,1,0, 'skadi SAY_DRAKE_BREATH_1'),
|
||||
(-1575013, 'Go now! Leave nothing but ash in your wake!',13499,1,0, 'skadi SAY_DRAKE_BREATH_2'),
|
||||
(-1575014, 'Cleanse our sacred halls with flame!',13500,1,0, 'skadi SAY_DRAKE_BREATH_3'),
|
||||
-- Svala Sorrowgrave
|
||||
(-1575015, 'I will vanquish your soul!',13842,1,0, 'svala SAY_AGGRO'),
|
||||
(-1575016, 'You were a fool to challenge the power of the Lich King!',13845, 1,0,'svala SAY_SLAY_1'),
|
||||
(-1575017, 'Your will is done, my king.',13847,1,0, 'svala SAY_SLAY_2'),
|
||||
(-1575018, 'Another soul for my master.',13848, 1,0,'svala SAY_SLAY_3'),
|
||||
(-1575019, 'Nooo! I did not come this far... to...',13855,1,0, 'svala SAY_DEATH'),
|
||||
(-1575020, 'Your death approaches.',13850,1,0, 'svala SAY_SACRIFICE_PLAYER_1'),
|
||||
(-1575021, 'Go now to my master.',13851,1,0, 'svala SAY_SACRIFICE_PLAYER_2'),
|
||||
(-1575022, 'Your end is inevitable.',13852,1,0, 'svala SAY_SACRIFICE_PLAYER_3'),
|
||||
(-1575023, '...',13853,1,0, 'svala SAY_SACRIFICE_PLAYER_4'),
|
||||
(-1575024, 'Any last words?',13854,1,0, 'svala SAY_SACRIFICE_PLAYER_5'),
|
||||
(-1575025, 'My liege! I have done as you asked, and now beseech you for your blessing!',13856,1,0, 'svala SAY_SAY_DIALOG_WITH_ARTHAS_1'),
|
||||
(-1575026, 'The sensation is... beyond my imagining. I am yours to command, my king.',13857,1,0, 'svala SAY_SAY_DIALOG_WITH_ARTHAS_2'),
|
||||
(-1575027, 'I will be happy to slaughter them in your name! Come, enemies of the Scourge! I will show you the might of the Lich King!',13858,1,0, 'svala SAY_SAY_DIALOG_WITH_ARTHAS_3'),
|
||||
-- King Ymiron
|
||||
(-1575028, 'You invade my home and then dare to challenge me? I will tear the hearts from your chests and offer them as gifts to the death god! Rualg nja gaborr!',13609, 1,0,'ymiron SAY_AGGRO'),
|
||||
(-1575029, 'Your death is only the beginning!',13614,1,0, 'ymiron SAY_SLAY_1'),
|
||||
(-1575030, 'You have failed your people!',13615, 1,0,'ymiron SAY_SLAY_2'),
|
||||
(-1575031, 'There is a reason I am king!',13616, 1,0,'ymiron SAY_SLAY_3'),
|
||||
(-1575032, 'Bleed no more!',13617, 1,0,'ymiron SAY_SLAY_4'),
|
||||
(-1575033, 'What... awaits me... now?',13618,1,0, 'ymiron SAY_DEATH'),
|
||||
(-1575034, 'Bjorn of the Black Storm! Honor me now with your presence!',13610,1,0, 'ymiron SAY_SUMMON_BJORN'),
|
||||
(-1575035, 'Haldor of the rocky cliffs, grant me your strength!',13611, 1,0,'ymiron SAY_SUMMON_HALDOR'),
|
||||
(-1575036, 'Ranulf of the screaming abyss, snuff these maggots with darkest night!',13612,1,0, 'ymiron SAY_SUMMON_RANULF'),
|
||||
(-1575037, 'Tor of the Brutal Siege! Bestow your might upon me!',13613,1,0, 'ymiron SAY_SUMMON_TORGYN');
|
||||
|
||||
-- -1 576 000 NEXUS
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Anomalus
|
||||
(-1576000, 'Chaos beckons.',13186,1,0,'anomalus SAY_AGGRO'),
|
||||
(-1576001, 'Expiration... is necessary...',13274,1,0,'anomalus SAY_KILL'),
|
||||
(-1576002, 'Of course.',13187,1,0,'anomalus SAY_DEATH'),
|
||||
(-1576003, 'Reality... unwoven.',13188,1,0,'anomalus SAY_RIFT'),
|
||||
(-1576004, 'Indestructible.',13189,1,0,'anomalus SAY_SHIELD'),
|
||||
-- Keristrasza
|
||||
(-1576005, 'Preserve? Why? There\'s no truth in it. No no no... only in the taking! I see that now!',13450,1,0,'keristrasza SAY_AGGRO'),
|
||||
(-1576006, 'Now we\'ve come to the truth! ',13453,1,0,'keristrasza SAY_SLAY'),
|
||||
(-1576007, 'Finish it! Finish it! Kill me, or I swear by the Dragonqueen you\'ll never see daylight again!',13452,1,0,'keristrasza SAY_ENRAGE'),
|
||||
(-1576008, 'Dragonqueen... Life-Binder... preserve... me.',13454,1,0,'keristrasza SAY_DEATH'),
|
||||
(-1576009, 'Stay. Enjoy your final moments.',13451,1,0,'keristrasza SAY_CRYSTAL_NOVA'),
|
||||
-- Grand Magus Telestra
|
||||
(-1576010, 'You know what they say about curiosity.',13319,1,0,'magus_telestra SAY_AGGRO'),
|
||||
(-1576011, 'Death becomes you!',13324,1,0,'magus_telestra SAY_KILL'),
|
||||
(-1576012, 'Damn the... luck.',13320,1,0,'magus_telestra SAY_DEATH'),
|
||||
(-1576013, 'Now to finish the job!',13323,1,0,'magus_telestra SAY_MERGE'),
|
||||
(-1576014, 'There\'s plenty of me to go around.',13321,1,0,'magus_telestra SAY_SPLIT_1'),
|
||||
(-1576015, 'I\'ll give you more than you can handle.',13322,1,0,'magus_telestra SAY_SPLIT_2'),
|
||||
-- Ormorok
|
||||
(-1576016, 'Noo!',13328,1,0,'ormorok SAY_AGGRO'),
|
||||
(-1576017, 'Aargh Kill!',13329,1,0,'ormorok SAY_KILL'),
|
||||
(-1576018, 'Aaggh!',13330,1,0,'ormorok SAY_DEATH'),
|
||||
(-1576019, 'Back!',13331,1,0,'ormorok SAY_REFLECT'),
|
||||
(-1576020, 'Bleed!',13332,1,0,'ormorok SAY_ICE_SPIKES'),
|
||||
-- Commander Stoutbeard
|
||||
(-1576021, 'What? Where in a..? Don\'t just stand around lads KILL SOMEBODY!',13193,1,0,'commander_stoutbeard SAY_AGGRO'),
|
||||
(-1576022, 'Now we\re getting someplace!',13195,1,0,'commander_stoutbeard SAY_KILL'),
|
||||
(-1576023, 'Is that all you\'ve... got?',13194,1,0,'commander_stoutbeard SAY_DEATH'),
|
||||
-- Commander Kolurg
|
||||
(-1576024, 'What is this? Mag thorin Kar! Kill them!',13458,1,0,'commander_kolurg SAY_AGGRO'),
|
||||
(-1576025, 'Our task is not yet done!',13459,1,0,'commander_kolurg SAY_KILL'),
|
||||
(-1576026, 'GOOO!',13460,1,0,'commander_kolurg SAY_DEATH');
|
||||
|
||||
-- -1 578 000 OCULUS
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Drakos the Interrogator
|
||||
(-1578000, 'The prisoners shall not go free. The word of Malygos is law!',13594,1,0, 'drakos SAY_AGGRO'),
|
||||
(-1578001, 'A fitting punishment!',13602, 1,0,'drakos SAY_KILL_1'),
|
||||
(-1578002, 'Sentence: executed!',13603,1,0, 'drakos SAY_KILL_2'),
|
||||
(-1578003, 'Another casualty of war!',13604, 1,0,'drakos SAY_KILL_3'),
|
||||
(-1578004, 'The war... goes on.',13605,1,0, 'drakos SPELL_DEATH'),
|
||||
(-1578005, 'It is too late to run!',13598, 1,0,'drakos SAY_PULL_1'),
|
||||
(-1578006, 'Gather \'round! ',13599, 1,0,'drakos SAY_PULL_2'),
|
||||
(-1578007, 'None shall escape!',13600, 1,0,'drakos SAY_PULL_3'),
|
||||
(-1578008, 'I condemn you to death!',13601,1,0, 'drakos SAY_PULL_4'),
|
||||
(-1578009, 'Tremble, worms!',13595,1,0, 'drakos SAY_STOMP_1'),
|
||||
(-1578010, 'I will crush you!',13596, 1,0,'drakos SAY_STOMP_2'),
|
||||
(-1578011, 'Can you fly?',13597, 1,0,'drakos SAY_STOMP_3'),
|
||||
-- Mage-Lord Urom
|
||||
(-1578012, 'Poor blind fools!',13638,1,0, 'urom SAY_AGGRO'),
|
||||
(-1578013, 'If only you understood!',13641,1,0, 'urom SAY_KILL_1'),
|
||||
(-1578014, 'Now, do you see? DO YOU?!',13642,1,0, 'urom SAY_KILL_2'),
|
||||
(-1578015, 'Unfortunate, but necessary.',13643,1,0, 'urom SAY_KILL_3'),
|
||||
(-1578016, 'Everything I\'ve done... has been for Azeroth...',13644,1,0, 'urom SAY_DEATH'),
|
||||
(-1578017, 'A taste... just a small taste... of the Spell-Weaver\'s power!',13639,1,0, 'urom SAY_EXPLOSION_1'),
|
||||
(-1578018, 'So much unstable energy... but worth the risk to destroy you!',13640,1,0, 'urom SAY_EXPLOSION_2'),
|
||||
(-1578019, 'What do we have here... those would defy the Spell-Weaver? Those without foresight or understanding. How could I make you see? Malygos is saving the world from itself! Bah! You are hardly worth my time!',13635,1,0, 'urom SAY_SUMMON_1'),
|
||||
(-1578020, 'Clearly my pets failed. Perhaps another demonstration is in order.',13636,1,0, 'urom SAY_SUMMON_2'),
|
||||
(-1578021, 'Still you fight. Still you cling to misguided principles. If you survive, you\'ll find me in the center ring.',13637,1,0, 'urom SAY_SUMMON_3'),
|
||||
-- Varos Cloudstrider
|
||||
(-1578022, 'There will be no mercy!',13649,1,0, 'varos SAY_AGGRO'),
|
||||
(-1578023, 'You were warned.',13653,1,0, 'varos SAY_KILL_1'),
|
||||
(-1578024, 'The Oculus is ours.',13654,1,0, 'varos SAY_KILL_2'),
|
||||
(-1578025, 'They are... too strong! Underestimated their... fortitude.',13655,1,0, 'varos SAY_DEATH'),
|
||||
(-1578026, 'Blast them! Destroy them!',13650,1,0, 'varos SAY_STRIKE_1'),
|
||||
(-1578027, 'Take no prisoners! Attack!',13651,1,0, 'varos SAY_STRIKE_2'),
|
||||
(-1578028, 'Strike now! Obliterate them!',13652,1,0, 'varos SAY_STRIKE_3'),
|
||||
-- Varos says when Drakos dies
|
||||
(-1578029, 'Intruders, your victory will be short-lived. I am Commander Varos Cloudstrider. My drakes control the skies and protest this conduit. I will see to it personally that the Oculus does not fall into your hands!',13648,1,0, 'varos SAY_SPAWN');
|
||||
|
||||
-- -1 595 000 CULLING OF STRATHOLME
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Epoch
|
||||
(-1595000, 'We\'ll see about that, young prince.',13409,1,0, 'epoch SAY_AGGRO'),
|
||||
(-1595001, 'Tick tock, tick tock...',13410, 1,0,'epoch SAY_TIME_WARP_1'),
|
||||
(-1595002, 'Not quick enough!',13411,1,0, 'epoch SAY_TIME_WARP_2'),
|
||||
(-1595003, 'Let\'s get this over with. ',13412, 1,0,'epoch SAY_TIME_WARP_3'),
|
||||
(-1595004, 'There is no future for you.',13413,1,0, 'epoch SAY_SLAY_1'),
|
||||
(-1595005, 'This is the hour of our greatest triumph!',13414,1,0, 'epoch SAY_SLAY_2'),
|
||||
(-1595006, 'You would destined to fail. ',13415,1,0, 'epoch SAY_SLAY_3'),
|
||||
(-1595007, 'Prince Arthas Menethil, on this day, a powerful darkness has taken hold of your soul. The death you are destined to visit upon others will this day be your own.',13408,1,0, 'epoch SAY_INTRO'),
|
||||
(-1595008, '*gurgles*',13416,1,0, 'epoch SAY_DEATH'),
|
||||
-- Mal'ganis
|
||||
(-1595009, 'Yes...this is the beginning...I\'ve been waiting for you...young prince...I...am Mal\'Ganis..', 14410,1,0, 'mal_ganis SAY_INTRO_1'),
|
||||
(-1595010, 'As you can see, your people...are now mine. I will now turn this city, household by household, until the flame of life has been snuffed out...forever...', 14411,1,0, 'mal_ganis SAY_INTRO_2'),
|
||||
(-1595011, 'This will be a fine test...Prince Arthas...', 14413,1,0, 'mal_ganis SAY_AGGRO'),
|
||||
(-1595012, 'All too easy...', 14416,1,0, 'mal_ganis SAY_KILL_1'),
|
||||
(-1595013, 'The dark lord is displeased with your interference...', 14417, 1,0,'mal_ganis SAY_KILL_2'),
|
||||
(-1595014, 'It is Prince Arthas I want...not you...', 14418,1,0, 'mal_ganis SAY_KILL_3'),
|
||||
(-1595015, 'Anak\'Keri...', 14422, 1,0,'mal_ganis SAY_SLAY_1'),
|
||||
(-1595016, 'My onslaught will wash over the Lich King\'s forces...', 14423,1,0, 'mal_ganis SAY_SLAY_2'),
|
||||
(-1595017, 'Your death is in vain, tiny mortal...', 14424, 1,0,'mal_ganis SAY_SLAY_3'),
|
||||
(-1595018, 'Your time has come to an end! ', 14425,1,0, 'mal_ganis SAY_SLAY_4'),
|
||||
(-1595019, 'Time out...', 14414, 1,0,'mal_ganis SAY_SLEEP_1'),
|
||||
(-1595020, 'You seem...tired... ', 14415,1,0, 'mal_ganis SAY_SLEEP_2'),
|
||||
(-1595021, '*Struggling sounds* I spent too much time in that weak little shell... ', 14426,1,0, 'mal_ganis SAY_30HEALTH'),
|
||||
(-1595022, '(Eredun) I AM MAL\'GANIS! I AM ETERNAL! ', 14427,1,0, 'mal_ganis SAY_15HEALTH'),
|
||||
(-1595023, 'ENOUGH! I waste my time here...I must gather my strength on the home world...', 14428,1,0, 'mal_ganis SAY_ESCAPE_SPEECH_1'),
|
||||
(-1595024, 'You\'ll never defeat the Lich King without my forces! I\'ll have my revenge...on him, AND you... ', 14429,1,0, 'mal_ganis SAY_ESCAPE_SPEECH_2'),
|
||||
(-1595025, 'Your journey has just begun, young prince...Gather your forces, and meet me in the arctic land of Northrend...It is there we shall settle the score between us...It is there that your true destiny will unfold...', 14412,1,0, 'mal_ganis SAY_OUTRO'),
|
||||
-- Meathook
|
||||
(-1595026, 'New toys!',13429,1,0, 'meathook SAY_AGGRO'),
|
||||
(-1595027, 'Boring...',13430,1,0, 'meathook SAY_SLAY_1'),
|
||||
(-1595028, 'Why you stop moving?',13431,1,0, 'meathook SAY_SLAY_2'),
|
||||
(-1595029, 'Get up! Me not done! ',13432,1,0, 'meathook SAY_SLAY_3'),
|
||||
(-1595030, 'Play time! ',13428,1,0, 'meathook SAY_SPAWN'),
|
||||
(-1595031, 'This not fun...',13433,1,0, 'meathook SAY_DEATH'),
|
||||
-- Salramm the Fleshcrafter
|
||||
(-1595032, 'Ah, the entertainment has arrived!',13472,1,0, 'salramm SAY_AGGRO'),
|
||||
(-1595033, 'You are too late, champion of Lordaeron. The dead shall have their day. ',13471,1,0, 'salramm SAY_SPAWN'),
|
||||
(-1595034, 'The fun is just beginning!',13473,1,0, 'salramm SAY_SLAY_1'),
|
||||
(-1595035, 'Aah, quality materials!',13474, 1,0,'salramm SAY_SLAY_2'),
|
||||
(-1595036, 'Don\'t worry, I\'ll make good use of you. ',137475, 1,0,'salramm SAY_SLAY_3'),
|
||||
(-1595037, 'You only advance... the master\'s plan...',13483,1,0, 'salramm SAY_DEATH'),
|
||||
(-1595038, 'BOOM! Hahahahah...',13478, 1,0,'salramm SAY_EXPLODE_GHOUL_1'),
|
||||
(-1595039, 'Blood... destruction... EXHILARATING! ',13479,1,0, 'salramm SAY_EXPLODE_GHOUL_2'),
|
||||
(-1595040, 'I want a sample...',13480,1,0, 'salramm SAY_STEAL_FLESH_1'),
|
||||
(-1595041, 'Such strength... it must be mine!',13481,1,0, 'salramm SAY_STEAL_FLESH_2'),
|
||||
(-1595042, 'Your flesh betrays you.',13482,1,0, 'salramm SAY_STEAL_FLESH_3'),
|
||||
(-1595043, 'Say hello to some friends of mine.',13476,1,0, 'salramm SAY_SUMMON_GHOULS_1'),
|
||||
(-1595044, 'Come, citizen of Stratholme! Meet your saviors.',13477,1,0, 'salramm SAY_SUMMON_GHOULS_2');
|
||||
|
||||
-- -1 599 000 HALLS OF STONE
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Krystallus
|
||||
(-1599000, 'Crush....', 14176, 1,0,'krystallus SAY_AGGRO'),
|
||||
(-1599001, 'Ha...ha...ha...ha...', 14177,1,0, 'krystallus SAY_KILL'),
|
||||
(-1599002, 'Uuuuhhhhhhhhhh......', 14179,1,0, 'krystallus SAY_DEATH'),
|
||||
(-1599003, 'Break.... you....', 14178,1,0, 'krystallus SAY_SHATTER'),
|
||||
-- Maiden of Grief
|
||||
(-1599004, 'You shouldn\'t have come...now you will die!',13487,1,0, 'maiden_of_grief SAY_AGGRO'),
|
||||
(-1599005, 'Why must it be this way?',13488,1,0, 'maiden_of_grief SAY_SLAY_1'),
|
||||
(-1599006, 'You had it coming!',13489, 1,0,'maiden_of_grief SAY_SLAY_2'),
|
||||
(-1599007, 'My burden grows heavier.',13490,1,0, 'maiden_of_grief SAY_SLAY_3'),
|
||||
(-1599008, 'This is your own fault!',13491,1,0, 'maiden_of_grief SAY_SLAY_4'),
|
||||
(-1599009, 'I hope you all rot! I never...wanted...this.',13493, 1,0,'maiden_of_grief SAY_DEATH'),
|
||||
(-1599010, 'So much lost time... that you\'ll never get back!',13492,1,0, 'maiden_of_grief SAY_STUN'),
|
||||
-- Sjonnir
|
||||
(-1599011, 'Soft, vulnerable shells. Brief, fragile lives. You can not escape the curse of flesh!', 14180,1,0, 'sjonnir SAY_AGGRO'),
|
||||
(-1599012, '...', 14181,1,0, 'sjonnir SAY_SLAY_1'),
|
||||
(-1599013, 'Flesh is no match for iron!', 14182, 1,0,'sjonnir SAY_SLAY_2'),
|
||||
(-1599014, 'Armies of iron will smother the world!', 14183, 1,0,'sjonnir SAY_SLAY_3'),
|
||||
(-1599015, 'Loken will not rest, until the forge is retaken. You changed nothing!', 14184,1,0, 'sjonnir SAY_DEATH');
|
||||
|
||||
-- -1 600 000 DRAK'THARON KEEP
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Novos the Summoner
|
||||
(-1600000, 'The chill you feel is the herald of your doom.', 13173, 1,0, 'novos SAY_AGGRO'),
|
||||
(-1600001, 'Such is the faith of all who oppose the Lich King!', 13175, 1,0, 'novos SAY_KILL'),
|
||||
(-1600002, 'Your efforts... are in vain.', 13174, 1,0, 'novos SAY_DEATH'),
|
||||
(-1600003, 'Surely you can see the futility of it all!', 13177, 1,0, 'novos SAY_REBUBLE_1'),
|
||||
(-1600004, 'Just give up and die already!', 13178, 1,0, 'novos SAY_REBUBLE_2'),
|
||||
(-1600005, 'Bolster my defenses! Hurry, curse you!', 13176, 1,0, 'novos SAY_NECRO_ADD'),
|
||||
-- Trollgore
|
||||
(-1600006, 'Mogas moblath moghuld!', 13181, 1,0, 'trollgore SAY_AGGRO'),
|
||||
(-1600007, '... I will eat you!', 13185, 1,0, 'trollgore SAY_KILL'),
|
||||
(-1600008, '... .. so hungry, .. ... must\'t feed.', 13182, 1,0, 'trollgore SAY_CONSUME'),
|
||||
(-1600009, '*laugh* Corpse go boom!', 13184, 1,0, 'trollgore SAY_EXPLODE'),
|
||||
(-1600010, '...', 13183, 1,0, 'trollgore SAY_DEATH'),
|
||||
-- The Prophet Tharon'ja
|
||||
(-1600011, 'Tharon\'ja sees all! The work of mortals shall not end the eternal dynasty!', 13862, 1, 0, 'tharon_ja SAY_AGGRO'),
|
||||
(-1600012, 'As Tharon\'ja predicted.', 13863, 1, 0, 'tharon_ja SAY_KILL_1'),
|
||||
(-1600013, 'As it was written.', 13863, 1, 0, 'tharon_ja SAY_KILL_2'),
|
||||
(-1600014, 'Your flesh serves Tharon\'ja now!', 13865, 1, 0, 'tharon_ja SAY_FLESH_1'),
|
||||
(-1600015, 'Tharon\'ja has a use for your mortal shell!', 13866, 1, 0, 'tharon_ja SAY_FLESH_2'),
|
||||
(-1600016, 'No! A taste... all too brief!', 13868, 1, 0, 'tharon_ja SAY_SKELETON_1'),
|
||||
(-1600017, 'Tharon\'ja will have more!', 13868, 1, 0, 'tharon_ja SAY_SKELETON_2'),
|
||||
(-1600018, 'Im... impossible! Tharon\'ja is eternal! Tharon\'ja... is...', 13869, 1, 0, 'tharon_ja SAY_DEATH');
|
||||
|
||||
-- -1 601 000 AZJOL-NERUB
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Anub'arak
|
||||
(-1601000, 'Eternal agony awaits you!', 14054,1,0, 'anub_arak SAY_AGGRO'),
|
||||
(-1601001, 'You shall experience my torment, first-hand!', 14055,1,0, 'anub_arak SAY_SLAY_1'),
|
||||
(-1601002, 'You have made your choice.', 14056,1,0, 'anub_arak SAY_SLAY_2'),
|
||||
(-1601003, 'Soon, the Master\'s voice will call to you.', 14057,1,0, 'anub_arak SAY_SLAY_3'),
|
||||
(-1601004, 'Ahhh... RAAAAAGH! Never thought... I would be free of him...', 14069,1,0, 'anub_arak SAY_DEATH'),
|
||||
(-1601005, 'Your armor is useless against my locusts!', 14060, 1,0,'anub_arak SAY_LOCUST_1'),
|
||||
(-1601006, '?!!??!!!', 14067,1,0, 'anub_arak SAY_LOCUST_2'),
|
||||
(-1601007, 'The pestilence upon you!', 14068,1,0, 'anub_arak SAY_LOCUST_3'),
|
||||
(-1601008, '!!!???!!!', 14058,1,0, 'anub_arak SAY_SUBMERGE_1'),
|
||||
(-1601009, 'Come forth, my brethren. Feast on their flesh!', 14059,1,0, 'anub_arak SAY_SUBMERGE_2'),
|
||||
(-1601010, 'I was king of this empire once, long ago. In life I stood as champion. In death I returned as conqueror. Now I protect the kingdom once more. Ironic, yes?', 14053, 1,0,'anub_arak SAY_INTRO'),
|
||||
-- Krik'thir
|
||||
(-1601011, 'This kingdom belongs to the Scourge! Only the dead may enter.', 14075,1,0, 'krik_thir SAY_AGGRO'),
|
||||
(-1601012, 'Hash\'tak hi\'tak.', 14076,1,0, 'krik_thir SAY_SLAY_1'),
|
||||
(-1601013, 'You were foolish to come.', 14077, 1,0,'krik_thir SAY_SLAY_2'),
|
||||
(-1601014, 'As Anub\'Arak commands!', 14078,1,0, 'krik_thir SAY_SLAY_3'),
|
||||
(-1601015, 'I should be grateful. But I long ago lost the capacity.', 14087,1,0, 'krik_thir SAY_DEATH'),
|
||||
(-1601016, 'They hunger.', 14085,1,0, 'krik_thir SAY_SWARM_1'),
|
||||
(-1601017, 'Dinner time, my pets.', 14086,1,0, 'krik_thir SAY_SWARM_2'),
|
||||
(-1601018, 'We are besieged. Strike out and bring back their corpses!', 14079,1,0, 'krik_thir SAY_SEND_GROUP_1'),
|
||||
(-1601019, 'We must hold the gate. Attack! Tear them limb from limb!', 14080,1,0, 'krik_thir SAY_SEND_GROUP_2'),
|
||||
(-1601020, 'The gate must be protected at all costs. Rip them to shreds!', 14081,1,0, 'krik_thir SAY_SEND_GROUP_3'),
|
||||
(-1601021, 'Keep an eye on the tunnel. We must not let anyone through!', 14082,1,0, 'krik_thir SAY_PREFIGHT_1'),
|
||||
(-1601022, 'I hear footsteps. Be on your guard.', 14083,1,0, 'krik_thir SAY_PREFIGHT_2'),
|
||||
(-1601023, 'I sense the living. Be ready.', 14084,1,0, 'krik_thir SAY_PREFIGHT_3');
|
||||
|
||||
-- -1 602 000 HALLS OF LIGHTNING
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- General Bjarngrim
|
||||
(-1602000, 'I am the greatest of my father\'s sons! Your end has come!', 14149,1,0,'bjarngrim SAY_AGGRO'),
|
||||
(-1602001, 'So ends your curse!', 14153,1,0, 'bjarngrim SAY_SLAY_1'),
|
||||
(-1602002, 'Flesh... is... weak!', 14154,1,0, 'bjarngrim SAY_SLAY_2'),
|
||||
(-1602003, '...', 14155,1,0, 'bjarngrim SAY_SLAY_3'),
|
||||
(-1602004, 'How can it be...? Flesh is not... stronger!', 14156,1,0, 'bjarngrim SAY_DEATH'),
|
||||
(-1602005, 'Defend yourself, for all the good it will do!', 14151,1,0, 'bjarngrim SAY_BATTLE_STANCE'),
|
||||
(-1602006, 'GRAAAAAH! Behold the fury of iron and steel!', 14152,1,0, 'bjarngrim SAY_BERSEKER_STANCE'),
|
||||
(-1602007, 'Give me your worst!', 14150,1,0, 'bjarngrim SAY_DEFENSIVE_STANCE'),
|
||||
-- Ionar
|
||||
(-1602008, 'You wish to confront the master? You must weather the storm!', 14453,1,0, 'ionar SAY_AGGRO'),
|
||||
(-1602009, 'Shocking ... I know!', 14456,1,0, 'ionar SAY_SLAY_1'),
|
||||
(-1602010, 'You atempt the unpossible.', 14457,1,0, 'ionar SAY_SLAY_2'),
|
||||
(-1602011, 'Your spark of light is ... extinguish.', 14458,1,0, 'ionar SAY_SLAY_3'),
|
||||
(-1602012, 'Master... you have guests.', 14459,1,0, 'ionar SAY_DEATH'),
|
||||
(-1602013, 'The slightest spark shall be your undoing.', 14454,1,0, 'ionar SAY_SPLIT_1'),
|
||||
(-1602014, 'No one is safe!', 14455,1,0, 'ionar SAY_SPLIT_2'),
|
||||
-- Loken
|
||||
(-1602015, 'What hope is there for you? None!', 14162,1,0, 'loken SAY_AGGRO0'),
|
||||
(-1602016, 'I have witnessed the rise and fall of empires. The birth and extinction of entire species. Over countless millennia the foolishness of mortals has remained beyond a constant. Your presence here confirms this.', 14160,1,0, 'loken SAY_INTRO_1'),
|
||||
(-1602017, 'My master has shown me the future, and you have no place in it. Azeroth will be reborn in darkness. Yogg-Saron shall be released! The Pantheon shall fall!', 14162,1,0, 'loken SAY_INTRO_2'),
|
||||
(-1602018, 'Only mortal...', 14166,1,0, 'loken SAY_SLAY_1'),
|
||||
(-1602019, 'I... am... FOREVER!', 14167,1,0, 'loken SAY_SLAY_2'),
|
||||
(-1602020, 'What little time you had, you wasted!', 14168,1,0, 'loken SAY_SLAY_3'),
|
||||
(-1602021, 'My death... heralds the end of this world.', 14172,1,0, 'loken SAY_DEATH'),
|
||||
(-1602022, 'You cannot hide from fate!', 14163,1,0, 'lokenSAY_NOVA_1'),
|
||||
(-1602023, 'Come closer. I will make it quick.', 14164,1,0, 'loken SAY_NOVA_2'),
|
||||
(-1602024, 'Your flesh cannot hold out for long.', 14165,1,0, 'loken SAY_NOVA_3'),
|
||||
(-1602025, 'You stare blindly into the abyss!', 14169,1,0, 'loken SAY_75HEALTH'),
|
||||
(-1602026, 'Your ignorance is profound. Can you not see where this path leads?', 14170,1,0, 'loken SAY_50HEALTH'),
|
||||
(-1602027, 'You cross the precipice of oblivion!', 14171,1,0, 'loken SAY_25HEALTH'),
|
||||
-- Volkhan
|
||||
(-1602028, 'It is you who have destroyed my children? You... shall... pay!',13960,1,0, 'volkhan SAY_AGGRO'),
|
||||
(-1602029, 'The armies of iron will conquer all!',13965, 1,0,'volkhan SAY_SLAY_1'),
|
||||
(-1602030, 'Ha, pathetic!',13966,1,0, 'volkhan SAY_SLAY_2'),
|
||||
(-1602031, 'You have cost me too much work!',13967,1,0, 'volkhan SAY_SLAY_3'),
|
||||
(-1602032, 'The master was right... to be concerned.',13968, 1,0,'volkhan SAY_DEATH'),
|
||||
(-1602033, 'I will crush you beneath my boots!',13963, 1,0,'volkhan SAY_STOMP_1'),
|
||||
(-1602034, 'All my work... undone!',13964, 1,0,'volkhan SAY_STOMP_2'),
|
||||
(-1602035, 'Life from the lifelessness... death for you.',13961,1,0, 'volkhan SAY_FORGE_1'),
|
||||
(-1602036, 'Nothing is wasted in the process. You will see....',13962, 1,0,'volkhan SAY_FORGE_2');
|
||||
|
||||
-- -1 603 000 ULDUAR (RAID NIU)
|
||||
|
||||
-- -1 604 000 GUNDRAK
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Gal'darah
|
||||
(-1604000, 'I\'m gonna spil your guts, man!', 14430, 1,0,'gal_darah SAY_AGGRO'),
|
||||
(-1604001, 'What a rush.', 14436,1,0, 'gal_darah SAY_SLAY_1'),
|
||||
(-1604002, 'Who needs gods, when we ARE gods!', 14437, 1,0,'gal_darah SAY_SLAY_2'),
|
||||
(-1604003, 'I told ya so ...', 14438,1,0, 'gal_darah SAY_SLAY_3'),
|
||||
(-1604004, 'Even the mighty ... can .. fall.', 14439,1,0, 'gal_darah SAY_DEATH'),
|
||||
(-1604005, 'God damn! Impale them!', 14433, 1,0,'gal_darah SAY_SUMMON_RHINO_1'),
|
||||
(-1604006, 'Kill them ALL!', 14434, 1,0,'gal_darah SAY_SUMMON_RHINO_2'),
|
||||
(-1604007, 'Say hello to my BIG friend.', 14435,1,0, 'gal_darah SAY_SUMMON_RHINO_3'),
|
||||
(-1604008, 'Ain\'t gonna bee nothig left after this.', 14431,1,0, 'gal_darah SAY_TRANSFORM_1'),
|
||||
(-1604009, 'You wanna see POWER? I\'m gonna show you POWER!', 14432,1,0, 'gal_darah SAY_TRANSFORM_2'),
|
||||
-- Moorabi
|
||||
(-1604010, 'We fought back the Scourge. What chance you be thinking you got?', 14721,1,0, 'moorabi SAY_AGGRO'),
|
||||
(-1604011, 'I crush you, cockroaches!', 14725,1,0, 'moorabi SAY_SLAY_1'),
|
||||
(-1604012, 'Who gonna stop me, you?', 14726,1,0, 'moorabi SAY_SLAY_2'),
|
||||
(-1604013, 'Not so tough now.', 14727,1,0, 'moorabi SAY_SLAY_3'),
|
||||
(-1604014, 'If our gods can die, then so can we.', 14728,1,0, 'moorabi SAY_DEATH'),
|
||||
(-1604015, 'Get ready for something much bigger!', 14722,1,0, 'moorabi SAY_TRANSFORM'),
|
||||
(-1604016, 'The ground will swallow you up!', 14723,1,0, 'moorabi SAY_QUAKE'),
|
||||
-- Slad'ran
|
||||
(-1604017, 'Drak\'thari gonna kill anybody who trespass on this lands.', 14443,1,0, 'slad_ran SAY_AGGRO'),
|
||||
(-1604018, 'Can not breath then, good ...', 14446,1,0, 'slad_ran SAY_SLAY_1'),
|
||||
(-1604019, 'You\'re scared now.', 14447,1,0, 'slad_ran SAY_SLAY_2'),
|
||||
(-1604020, 'I eat you next man!', 14448,1,0, 'slad_ran SAY_SLAY_3'),
|
||||
(-1604021, 'I ... see now. Scourge was not tha greatest enemy.', 14449,1,0, 'slad_ran SAY_DEATH'),
|
||||
(-1604022, 'Minions of this ... heed my call.', 14444,1,0, 'slad_ran SAY_SUMMON_SNAKES'),
|
||||
(-1604023, 'A thousand fangs gonna rim yar flesh.', 14445,1,0, 'slad_ran SAY_SUMMON_CONSTRICTORS');
|
||||
|
||||
-- -1 608 000 VIOLET HOLD
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Cyanigosa
|
||||
(-1608000, 'We finish this now, champions of Kirin Tor!', 13947, 1, 0, 'cyanigosa SAY_AGGRO'),
|
||||
(-1608001, 'I will end the Kirin Tor!', 13952, 1, 0, 'cyanigosa SAY_SLAY_1'),
|
||||
(-1608002, 'Dalaran will fall!', 13953, 1, 0, 'cyanigosa SAY_SLAY_2'),
|
||||
(-1608003, 'So ends your defiance of the Spell-Weaver!', 13954, 1, 0, 'cyanigosa SAY_SLAY_3'),
|
||||
(-1608004, 'Perhaps... we have... underestimated... you.', 13955, 1, 0, 'cyanigosa SAY_DEATH'),
|
||||
(-1608005, 'A valiant defense, but this city must be razed. I will fulfill Malygos\'s wishes myself!', 13946, 1, 0, 'cyanigosa SAY_SPAWN'),
|
||||
(-1608006, 'Am I interrupting?', 13951, 1, 0, 'cyanigosa SAY_DISRUPTION'),
|
||||
(-1608007, 'Shiver and die!', 13948, 1, 0, 'cyanigosa SAY_BREATH_ATTACK'),
|
||||
(-1608008, 'The world has forgotten what true magic is! Let this be a reminder!', 13949, 1, 0, 'cyanigosa SAY_SPECIAL_ATTACK_1'),
|
||||
(-1608009, 'Who among you can withstand my power?', 13950, 1, 0, 'cyanigosa SAY_SPECIAL_ATTACK_2'),
|
||||
-- Erekem
|
||||
(-1608010, 'Notcawwget in way ofrrak-rrakflee!', 14219, 1, 0, 'erekem SAY_AGGRO'),
|
||||
(-1608011, '...', 14222, 1, 0, 'erekem SAY_SLAY_1'),
|
||||
(-1608012, 'Precious life ... wasted.', 14223, 1, 0, 'erekem SAY_SLAY_2'),
|
||||
(-1608013, 'Only strong ... survive.', 14224, 1, 0, 'erekem SAY_SLAY_3'),
|
||||
(-1608014, 'Nokaw, kawflee...', 14225, 1, 0, 'erekem SAY_DEATH'),
|
||||
(-1608015, 'Free tommfly onw. Ra-aak... Not find usekh-ekh! Escape!', 14218, 1, 0, 'erekem SAY_SPAWN'),
|
||||
(-1608016, 'My-raaakfavorite! Awk awk awk! Raa-kaa!', 14220, 1, 0, 'erekem SAY_ADD_KILLED'),
|
||||
(-1608017, 'Nasty little...A-ak, kaw! Kill! Yes, kill you!', 14221, 1, 0, 'erekem SAY_BOTH_ADDS_KILLED'),
|
||||
-- Ichoron
|
||||
(-1608018, 'Stand aside, mortals!', 14230, 1, 0, 'ichoron SAY_AGGRO'),
|
||||
(-1608019, 'I am a force of nature!', 14234, 1, 0, 'ichoron SAY_SLAY_1'),
|
||||
(-1608020, 'I shall pass!', 14235, 1, 0, 'ichoron SAY_SLAY_2'),
|
||||
(-1608021, 'You can not stop the tide!', 14236, 1, 0, 'ichoron SAY_SLAY_3'),
|
||||
(-1608022, 'I... recede.', 14237, 1, 0, 'ichoron SAY_DEATH'),
|
||||
(-1608023, 'I... am fury... unrestrained!', 14239, 1, 0, 'ichoron SAY_SPAWN'),
|
||||
(-1608024, 'I shall consume, decimate, devastate, and destroy! Yield now to the wrath of the pounding sea!', 14231, 1, 0, 'ichoron SAY_ENRAGE'),
|
||||
(-1608025, 'I will not be contained! Ngyah!!', 14233, 1, 0, 'ichoron SAY_SHATTER'),
|
||||
(-1608026, 'Water can hold any form, take any shape... overcome any obstacle.', 14232, 1, 0, 'ichoron SAY_BUBBLE'),
|
||||
-- Xevozz
|
||||
(-1608027, 'It seems my freedom must be bought with blood...', 14499, 1, 0, 'xevozz SAY_AGGRO'),
|
||||
(-1608028, 'Nothing personal.', 14504, 1, 0, 'xevozz SAY_SLAY_1'),
|
||||
(-1608029, 'Business concluded.', 14505, 1, 0, 'xevozz SAY_SLAY_2'),
|
||||
(-1608030, 'Profit!', 14506, 1, 0, 'xevozz SAY_SLAY_3'),
|
||||
(-1608031, 'This is an... unrecoverable... loss.', 14507, 1, 0, 'xevozz SAY_DEATH'),
|
||||
(-1608032, 'Back in business! Now to execute an exit strategy.', 14498, 1, 0, 'xevozz SAY_SPAWNED'),
|
||||
(-1608033, 'It would seem that a renegotiation is in order.', 14503, 1, 0, 'xevozz SAY_CHARGED'),
|
||||
(-1608034, 'The air teems with latent energy... quite the harvest!', 14501, 1, 0, 'xevozz SAY_REPEAT_SUMMON_1'),
|
||||
(-1608035, 'Plentiful, exploitable resources... primed for acquisition!', 14502, 1, 0, 'xevozz SAY_REPEAT_SUMMON_2'),
|
||||
(-1608036, 'Intriguing... a high quantity of arcane energy is near. Time for some prospecting...', 14500, 1, 0, 'xevozz SAY_SUMMON_ENERGY'),
|
||||
-- Zuramat
|
||||
(-1608037, 'Eradicate.', 13996, 1, 0, 'zuramat SAY_AGGRO'),
|
||||
(-1608038, 'More... energy.', 13999, 1, 0, 'zuramat SAY_SLAY_1'),
|
||||
(-1608039, 'Relinquish.', 14000, 1, 0, 'zuramat SAY_SLAY_2'),
|
||||
(-1608040, 'Fall... to shadow.', 14001, 1, 0, 'zuramat SAY_SLAY_3'),
|
||||
(-1608041, 'Disperse.', 14002, 1, 0, 'zuramat SAY_DEATH'),
|
||||
(-1608042, 'I am... renewed.', 13995, 1, 0, 'zuramat SAY_SPAWN'),
|
||||
(-1608043, 'Know... my... pain.', 13997, 1, 0, 'zuramat SAY_SHIELD'),
|
||||
(-1608044, 'Gaze... into the void.', 13998, 1, 0, 'zuramat SAY_WHISPER');
|
||||
|
||||
-- -1 615 000 OBSIDIAN SANCTUM
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Shadron
|
||||
(-1615000, 'I fear nothing! Least of all you!', 14111,1,0, 'shadron SAY_SHADRON_AGGRO'),
|
||||
(-1615001, 'You are insignificant!', 14112,1,0, 'shadron SAY_SHADRON_SLAY_1'),
|
||||
(-1615002, 'Such mediocre resistance!', 14113,1,0, 'shadron SAY_SHADRON_SLAY_2'),
|
||||
(-1615003, 'We...are superior! How could this...be...', 14118, 1,0,'shadron SAY_SHADRON_DEATH'),
|
||||
(-1615004, 'You are easily bested! ', 14114,1,0, 'shadron SAY_SHADRON_BREATH'),
|
||||
(-1615005, 'I will take pity on you Sartharion, just this once.', 14117, 1,0,'shadron SAY_SHADRON_RESPOND'),
|
||||
(-1615006, 'Father tought me well!', 14115,1,0, 'shadron SAY_SHADRON_SPECIAL_1'),
|
||||
(-1615007, 'On your knees!', 14116,1,0, 'shadron SAY_SHADRON_SPECIAL_2'),
|
||||
-- Tenebron
|
||||
(-1615008, 'You have no place here. Your place is among the departed.', 14122,1,0, 'tenebron SAY_TENEBRON_AGGRO'),
|
||||
(-1615009, 'No contest.', 14123,1,0, 'tenebron SAY_TENEBRON_SLAY_1'),
|
||||
(-1615010, 'Typical... Just as I was having fun.', 14124,1,0, 'tenebron SAY_TENEBRON_SLAY_2'),
|
||||
(-1615011, 'I should not... have held back...', 14129,1,0, 'tenebron SAY_TENEBRON_DEATH'),
|
||||
(-1615012, 'To darkness I condemn you...', 14125,1,0, 'tenebron SAY_TENEBRON_BREATH'),
|
||||
(-1615013, 'It is amusing to watch you struggle. Very well, witness how it is done.', 14128, 1,0,'tenebron SAY_TENEBRON_RESPOND'),
|
||||
(-1615014, 'Arrogant little creatures! To challenge powers you do not yet understand...', 14126,1,0, 'tenebron SAY_TENEBRON_SPECIAL_1'),
|
||||
(-1615015, 'I am no mere dragon! You will find I am much, much, more...', 14127, 1,0,'tenebron SAY_TENEBRON_SPECIAL_2'),
|
||||
-- Sartharion
|
||||
(-1615016, 'It is my charge to watch over these eggs. I will see you burn before any harm comes to them!', 14093,1,0, 'sartharion SAY_SARTHARION_AGGRO'),
|
||||
(-1615017, 'This pathetic siege ends NOW!', 14103,1,0, 'sartharion SAY_SARTHARION_BERSERK'),
|
||||
(-1615018, 'Burn, you miserable wretches!', 14098, 1,0,'sartharion SAY_SARTHARION_BREATH'),
|
||||
(-1615019, 'Shadron! Come to me, all is at risk!', 14105,1,0, 'sartharion SARTHARION_CALL_SHADRON'),
|
||||
(-1615020, 'Tenebron! The eggs are yours to protect as well!', 14106,1,0, 'sartharion SAY_SARTHARION_CALL_TENEBRON'),
|
||||
(-1615021, 'Vesperon! The clutch is in danger! Assist me!', 14104,1,0, 'sartharion SAY_SARTHARION_CALL_VESPERON'),
|
||||
(-1615022, 'Such is the price... of failure...', 14107,1,0, 'sartharion SAY_SARTHARION_DEATH'),
|
||||
(-1615023, 'Such flammable little insects....', 14099,1,0, 'sartharion SAY_SARTHARION_SPECIAL_1'),
|
||||
(-1615024, 'Your charred bones will litter the floor!', 14100,1,0, 'sartharion SAY_SARTHARION_SPECIAL_2'),
|
||||
(-1615025, 'How much heat can you take?', 14101,1,0, 'sartharion SAY_SARTHARION_SPECIAL_3'),
|
||||
(-1615026, 'All will be reduced to ash!', 14102,1,0, 'sartharion SAY_SARTHARION_SPECIAL_4'),
|
||||
(-1615027, 'You will make a fine meal for the hatchlings.', 14094,1,0, 'sartharion SAY_SARTHARION_SLAY_1'),
|
||||
(-1615028, 'You are the grave disadvantage.', 14096,1,0, 'sartharion SAY_SARTHARION_SLAY_2'),
|
||||
(-1615029, 'This is why we call you lesser beeings.', 14097,1,0, 'sartharion SAY_SARTHARION_SLAY_3'),
|
||||
-- Vesperon
|
||||
(-1615030, 'You pose no threat, lesser beings...give me your worst!', 14133, 1,0,'vesperon SAY_VESPERON_AGGRO'),
|
||||
(-1615031, 'The least you could do is put up a fight...', 14134,1,0, 'vesperon SAY_VESPERON_SLAY_1'),
|
||||
(-1615032, 'Was that the best you can do?', 14135,1,0, 'vesperon SAY_VESPERON_SLAY_2'),
|
||||
(-1615033, 'I still have some...fight..in...me...', 14140, 1,0,'vesperon SAY_VESPERON_DEATH'),
|
||||
(-1615034, 'I will pick my teeth with your bones!', 14136,1,0, 'vesperon SAY_VESPERON_BREATH'),
|
||||
(-1615035, 'Father was right about you, Sartharion...You are a weakling!', 14139,1,0, 'vesperon SAY_VESPERON_RESPOND'),
|
||||
(-1615036, 'Aren\'t you tricky...I have a few tricks of my own...', 14137,1,0, 'vesperon SAY_VESPERON_SPECIAL_1'),
|
||||
(-1615037, 'Unlike, I have many talents.', 14138,1,0, 'vesperon SAY_VESPERON_SPECIAL_2');
|
||||
|
||||
-- -1 616 000 EYE OF ETERNITY
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Malygos
|
||||
(-1616000, 'I will teach you IGNORANT children just how little you know of magic...', 14524,1,0, 'malygos SAY_ANTI_MAGIC_SHELL'),
|
||||
(-1616001, 'YOU WILL NOT SUCCEED WHILE I DRAW BREATH!', 14518,1,0, 'malygos SAY_BREATH_ATTACK'),
|
||||
(-1616002, 'I AM UNSTOPPABLE!', 14533,1,0, 'malygos SAY_HIGH_DAMAGE_MODE'),
|
||||
(-1616003, 'Watch helplessly as your hopes are swept away...', 14525, 1,0,'malygos SAY_MAGIC_BLAST'),
|
||||
(-1616004, 'Still standing? Not for long...', 14537, 1,0,'malygos SAY_GENERIC_SPELL_1'),
|
||||
(-1616005, 'Your cause is lost!', 14538, 1,0,'malygos SAY_GENERIC_SPELL_2'),
|
||||
(-1616006, 'Your fragile mind will be shattered! ', 14539,1,0, 'malygos SAY_GENERIC_SPELL_3'),
|
||||
(-1616007, 'UNTHINKABLE! The mortals will destroy...e-everything...my sister...what have you-', 14540,1,0, 'malygos SAY_DEATH'),
|
||||
(-1616008, 'Lesser beings, intruding here! A shame that your excess courage does not compensate for your stupidity!', 14512,1,0, 'malygos SAY_PREFIGHT_1'),
|
||||
(-1616009, 'None but the blue dragonflight are welcome here! Perhaps this is the work of Alexstrasza? Well then, she has sent you to your deaths.', 14513,1,0, 'malygos SAY_PREFIGHT_2'),
|
||||
(-1616010, 'What could you hope to accomplish, to storm brassily into my domain? To employ MAGIC? Against ME? *Laughs*', 14514,1,0, 'malygos SAY_PREFIGHT_3'),
|
||||
(-1616011, 'I am without limits here...the rules of your cherished reality do not apply...In this realm, I am in control...', 14515, 1,0,'malygos SAY_PREFIGHT_4'),
|
||||
(-1616012, 'I give you one chance. Pledge loyalty to me, and perhaps I won\'t slaughter you for your insolence!', 14516,1,0, 'malygos SAY_PREFIGHT_5'),
|
||||
(-1616013, 'My patience has reached its limit, I WILL BE RID OF YOU!', 14517,1,0, 'malygos SAY_PHASE1_AGGRO'),
|
||||
(-1616014, 'I had hoped to end your lives quickly, but you have proven more...resilient then I had anticipated. None the less, your efforts are in vain, it is you reckless, careless mortals who are to blame for this war! I do what I must...And if it means your...extinction...THEN SO BE IT!', 14522,1,0, 'malygos SAY_PHASE1_END'),
|
||||
(-1616015, 'Your stupidity has finally caught up to you!', 14519,1,0, 'malygos SAY_PHASE1_SLAY_1'),
|
||||
(-1616016, 'More artifacts to confiscate...', 14520, 1,0,'malygos SAY_PHASE1_SLAY_2'),
|
||||
(-1616017, '*Laughs* How very...naive.. ', 14521,1,0, 'malygos SAY_PHASE1_SLAY_3'),
|
||||
(-1616018, 'Few have experienced the pain I will now inflict on you!', 14523, 1,0,'malygos SAY_PHASE2_AGGRO'),
|
||||
(-1616019, 'ENOUGH! If you intend to reclaim Azeroth\'s magic, then you shall have it... ', 14529,1,0, 'malygos SAY_PHASE2_END'),
|
||||
(-1616020, 'Your energy will be put to good use!', 14526,1,0, 'malygos SAY_PHASE2_SLAY_1'),
|
||||
(-1616021, 'I AM THE SPELL WEAVER! My power is INFINITE!', 14527, 1,0,'malygos SAY_PHASE2_SLAY_2'),
|
||||
(-1616022, 'Your spirit will linger here forever!', 14528, 1,0,'malygos SAY_PHASE2_SLAY_3'),
|
||||
(-1616023, 'Now your benefactors make their appearance...But they are too late. The powers contained here are powerful enough to destroy the world ten times over! What do you think they will do to you?', 14530,1,0, 'malygos SAY_PHASE3_INTRO'),
|
||||
(-1616024, 'SUBMIT!', 14531,1,0, 'malygos SAY_PHASE3_AGGRO'),
|
||||
(-1616025, 'Alexstrasza! Another of your brood falls!', 14534,1,0, 'malygos SAY_PHASE3_SLAY_1'),
|
||||
(-1616026, 'Little more then gnats!', 14535, 1,0,'malygos SAY_PHASE3_SLAY_2'),
|
||||
(-1616027, 'Your red allies will share your fate...', 14536, 1,0,'slad_ran SAY_PHASE3_SLAY_3'),
|
||||
(-1616028, 'The powers at work here exceed anything you could possibly imagine!', 14532, 1,0,'malygos SAY_PHASE3_BIG_ATTACK');
|
||||
|
||||
-- -1 619 000 AHN'KAHET
|
||||
INSERT INTO `script_texts` (`entry`,`content_default`,`sound`,`type`,`language`,`comment`) VALUES
|
||||
-- Jedoga Shadowseeker
|
||||
(-1619000, 'These are sacred halls, your intrusion will be met with death', 14343, 1, 0, 'jedoga SAY_AGGRO'),
|
||||
(-1619001, 'Who among you is devoted', 14344, 1, 0, 'jedoga SAY_C_SACRIFICE_1'),
|
||||
(-1619002, 'You there! Step foward', 14345, 1, 0, 'jedoga SAY_C_SACRIFICE_2'),
|
||||
(-1619003, 'Yogg-Saron, grant me your power!', 14346, 1, 0, 'jedoga SAY_SACRIFICE_1'),
|
||||
(-1619004, 'Master, a gift for you!', 14347, 1, 0, 'jedoga SAY_SACRIFICE_2'),
|
||||
(-1619005, 'Glory to the Yogg-Saron!', 14348, 1, 0, 'jedoga SAY_SLAY_1'),
|
||||
(-1619006, 'You are unworthy', 14349, 1, 0, 'jedoga SAY_SLAY_2'),
|
||||
(-1619007, 'Get up! You haven\'t suffered enough', 14350, 1, 0, 'jedoga SAY_SLAY_3'),
|
||||
(-1619008, 'Do not expect your sacrilege... to go unpunished.', 14351, 1, 0, 'jedoga SAY_DEATH'),
|
||||
(-1619009, 'The elements themselves will rise up against the civilized world! Only the faithful will be spared!', 14352, 1, 0, 'jedoga SAY_PREACHING_1'),
|
||||
(-1619010, 'Immortality can be yours. But only if you pledge yourself fully to Yogg-Saron!', 14353, 1, 0, 'jedoga SAY_PREACHING_2'),
|
||||
(-1619011, 'Here on the very borders of his domain. You will expirience powers you would never have imagined!', 14354, 1, 0, 'jedoga SAY_PREACHING_3'),
|
||||
(-1619012, 'You have traveled long and risked much to be here. Your devotion shall be rewarded.', 14355, 1, 0, 'jedoga SAY_PREACHING_4'),
|
||||
(-1619013, 'The faithful shall be exalted! But there is more work to be done. We will press on until all of Azeroth lies beneath his shadow!', 14356, 1, 0, 'jedoga SAY_PREACHING_5'),
|
||||
-- Elder Nadox
|
||||
(-1619014, 'The secrets of the deep shall remain hidden.', 14033, 1, 0, 'nadox SAY_AGGRO'),
|
||||
(-1619015, 'Sleep now, in the cold dark.', 14036, 1, 0, 'nadox SAY_SLAY_1'),
|
||||
(-1619016, 'For the Lich King!', 14307, 1, 0, 'nadox SAY_SLAY_2'),
|
||||
(-1619017, 'Perhaps we will be allies soon.', 14038, 1, 0, 'nadox SAY_SLAY_3'),
|
||||
(-1619018, 'Master, is my service complete?', 14039, 1, 0, 'nadox SAY_DEATH'),
|
||||
(-1619019, 'The young must not grow hungry.', 14034, 1, 0, 'nadox SAY_EGG_SAC_1'),
|
||||
(-1619020, 'Shad\'ak kerish\'akak', 14035, 1, 0, 'nadox SAY_EGG_SAC_2'),
|
||||
-- Prince Taldaram
|
||||
(-1619021, 'I will feast on your remains.', 14360, 1, 0, 'taldaram SAY_AGGRO'),
|
||||
(-1619022, '(Elfish)', 14365, 1, 0, 'taldaram SAY_SLAY_1'),
|
||||
(-1619023, 'I will drink no blood before it is time.', 14366, 1, 0, 'taldaram SAY_SLAY_2'),
|
||||
(-1619024, 'One final embrace.', 14367, 1, 0, 'taldaram SAY_SLAY_3'),
|
||||
(-1619025, 'Still ... I hunger, still ... I thirst...', 14368, 1, 0, 'taldaram SAY_DEATH'),
|
||||
(-1619026, 'Your heartbeat is music to my ears.', 14361, 1, 0, 'taldaram SAY_VANISH_1'),
|
||||
(-1619027, 'I am nowhere. I am everywhere. I am the watcher, unseen.', 14362, 1, 0, 'taldaram SAY_VANISH_2'),
|
||||
(-1619028, 'So appetizing.', 14363, 1, 0, 'taldaram SAY_FEED_1'),
|
||||
(-1619029, 'Fresh, warm blood. It has been too long.', 14364, 1, 0, 'taldaram SAY_FEED_2'),
|
||||
-- Herald Volazj
|
||||
(-1619030, '??? ??? ???', 14043, 1, 0, 'volazj SAY_AGGRO'),
|
||||
(-1619031, 'Ywaq ma phgwa\\\'cul hnakf. - They are the whisper on the shivering wind.', 14045, 1, 0, 'volazj SAY_AGGRO'),
|
||||
(-1619032, '?!? !?! ?!?', 14046, 1, 0, 'volazj SAY_AGGRO'),
|
||||
(-1619033, '!?! !?! !?!', 14047, 1, 0, 'volazj SAY_AGGRO'),
|
||||
(-1619034, 'Iilth vwah, uhn\'agth fhssh za. - Where one falls, many shall take its place.', 14048, 1, 0, 'volazj SAY_AGGRO'),
|
||||
(-1619035, '... ...! ...?', 14049, 1, 0, 'volazj SAY_AGGRO'),
|
||||
(-1619036, 'Phasing', 14044, 1, 0, 'volazj SAY_AGGRO');
|
||||
@@ -1,128 +0,0 @@
|
||||
/* */
|
||||
/* AZJOL-NERUB */
|
||||
/* */
|
||||
|
||||
/* AHN'KAHET */
|
||||
UPDATE `instance_template` SET `script`='instance_ahn_kahet' WHERE `map`=4494;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_jedoga' WHERE `entry`='29310';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_nadox' WHERE `entry`='29309';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_taldaram' WHERE `entry`='29308';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_volazj' WHERE `entry`='29311';
|
||||
|
||||
/* AZJOL-NERUB */
|
||||
UPDATE `instance_template` SET `script`='instance_azjol_nerub' WHERE `map`=3477;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_anub_arak' WHERE `entry`='29120';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_hardronox' WHERE `entry`='28921';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_krik_thir' WHERE `entry`='28684';
|
||||
|
||||
/* THE CULLING OF STRATHOLME */
|
||||
UPDATE `instance_template` SET `script`='instance_culling_of_stratholme' WHERE `map`=4100;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_epoch' WHERE `entry`='26532';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_mal_ganis' WHERE `entry`='26533';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_meathook' WHERE `entry`='26529';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_salramm' WHERE `entry`='26530';
|
||||
|
||||
/* DRAK'THARON KEEP */
|
||||
UPDATE `instance_template` SET `script`='instance_drak_tharon' WHERE `map`=4196;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_dred' WHERE `entry`='27483';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_novos' WHERE `entry`='26631';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_tharon_ja' WHERE `entry`='26632';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_trollgore' WHERE `entry`='26630';
|
||||
|
||||
/* GUNDRAK */
|
||||
UPDATE `instance_template` SET `script`='instance_gundrak' WHERE `map` =4375;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_eck' WHERE `entry`='29932';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_drakkari_colossus' WHERE `entry`='29307';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_gal_darah' WHERE `entry`='29306';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_moorabi' WHERE `entry`='29305';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_slad_ran' WHERE `entry`='29304';
|
||||
|
||||
/* */
|
||||
/* THE NEXUS */
|
||||
/* */
|
||||
|
||||
/* EYE OF ETERNITY */
|
||||
UPDATE `instance_template` SET `script`='instance_eye_of_eternity' WHERE `map`=4500;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_malygos' WHERE `entry`='28859';
|
||||
|
||||
/* NEXUS */
|
||||
UPDATE `instance_template` SET `script`='instance_nexus' WHERE `map`=4120;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_anomalus' WHERE `entry`='26763';
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_chaotic_rift' WHERE `entry`='26918';
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_crazed_mana_wraith' WHERE `entry`='26746';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_keristrasza' WHERE `entry`='26723';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_magus_telestra' WHERE `entry`='26731';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_ormorok' WHERE `entry`='26794';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_commander_stoutbeard' WHERE `entry`='26796';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_commander_kolurg' WHERE `entry`='26798';
|
||||
|
||||
/* OCULUS */
|
||||
UPDATE `instance_template` SET `script`='instance_oculus' WHERE `map`=4228;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_drakos' WHERE `entry`='27654';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_eregos' WHERE `entry`='27656';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_urom' WHERE `entry`='27655';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_varos' WHERE `entry`='27447';
|
||||
|
||||
/* OBSIDIAN SANCTUM */
|
||||
UPDATE `instance_template` SET `script`='instance_obsidian_sanctum' WHERE `map`=4493;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_sartharion' WHERE `entry`='28860';
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_vesperon' WHERE `entry`='30449';
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_shadron' WHERE `entry`='30451';
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_tenebron' WHERE `entry`='30452';
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_whelp' WHERE `entry`='30890';
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_whelp' WHERE `entry`='31214';
|
||||
|
||||
/* */
|
||||
/* ULDUAR */
|
||||
/* */
|
||||
|
||||
/* HALLS OF LIGHTNING */
|
||||
UPDATE `instance_template` SET `script`='instance_halls_of_lightning' WHERE `map`=4272;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_bjarngrim' WHERE `entry`='28586';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_ionar' WHERE `entry`='28546';
|
||||
UPDATE `creature_template` SET `ScriptName`='spark_of_ionar' WHERE `entry`='28962';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_volkhan' WHERE `entry`='28587';
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_molten_golem' WHERE `entry`='28695';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_loken' WHERE `entry`='28923';
|
||||
/* HALLS OF STONE */
|
||||
UPDATE `instance_template` SET `script`='instance_halls_of_stone' WHERE `map`=4264;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_krystallus' WHERE `entry`='27977';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_maiden_of_grief' WHERE `entry`='27975';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_sjonnir' WHERE `entry`='27978';
|
||||
|
||||
/* */
|
||||
/* UTGARDE KEEP */
|
||||
/* */
|
||||
|
||||
/* UTGARDE KEEP */
|
||||
UPDATE `instance_template` SET `script`='instance_utgarde_keep' WHERE `map`=206;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_dalronn_the_controller' WHERE `entry`='24201';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_ingvar_the_plunderer' WHERE `entry`='23954';
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_annhylde_the_caller' WHERE `entry`=24068;
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_ingvar_throw_dummy' WHERE `entry`=23997;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_keleseth' WHERE `entry`='23953';
|
||||
UPDATE `creature_template` SET `scriptname` = 'mob_frost_tomb' WHERE `entry` = '23965';
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_vrykul_skeleton' WHERE `entry`=23970;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_skarvald_the_constructor' WHERE `entry`='24200';
|
||||
|
||||
/* UTGARDE PINNACLE */
|
||||
UPDATE `instance_template` SET `script`='instance_pinnacle' WHERE `map`=1196;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_palehoof' WHERE `entry`='26687';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_skadi' WHERE `entry`='26693';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_svala' WHERE `entry`='26668';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_ymiron' WHERE `entry`='26861';
|
||||
|
||||
/* VAULT OF ARCHAVON */
|
||||
UPDATE `instance_template` SET `script`='instance_archavon' WHERE `map`=4603;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_archavon' WHERE `entry`='31125';
|
||||
UPDATE `creature_template` SET `ScriptName`='mob_archavon_warder' WHERE `entry`='32353';
|
||||
|
||||
/* VIOLET HOLD */
|
||||
UPDATE `instance_template` SET `script`='instance_violet_hold' WHERE `map`=4415;
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_cyanigosa' WHERE `entry`='31134';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_erekem' WHERE `entry`='29315';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_ichoron' WHERE `entry`='29313';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_lavanthor' WHERE `entry`='29312';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_moragg' WHERE `entry`='29316';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_xevozz' WHERE `entry`='29266';
|
||||
UPDATE `creature_template` SET `ScriptName`='boss_zuramat' WHERE `entry`='29314';
|
||||
@@ -1,86 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "../../trinitycore/resource.h"
|
||||
#include "../../shared/revision.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "windows.h" //"afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
//IDI_APPICON ICON "TrinityRealm.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Neutre (Par défaut système) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEUSD)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_SYS_DEFAULT
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION FILEVER
|
||||
PRODUCTVERSION PRODUCTVER
|
||||
FILEFLAGSMASK 0x17L
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x0L
|
||||
FILETYPE 0x0L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "080004b0"
|
||||
BEGIN
|
||||
VALUE "FileDescription", "TrinityScripts"
|
||||
VALUE "FileVersion", STRFILEVER
|
||||
VALUE "InternalName", "TrinityScripts"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2008-2009"
|
||||
VALUE "OriginalFilename", "TrinityScripts.dll"
|
||||
VALUE "ProductName", "TrinityScripts"
|
||||
VALUE "ProductVersion", STRPRODUCTVER
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x800, 1200
|
||||
END
|
||||
END
|
||||
#endif
|
||||
@@ -227,6 +227,26 @@ SET(game_STAT_SRCS
|
||||
ReputationMgr.h
|
||||
ScriptCalls.cpp
|
||||
ScriptCalls.h
|
||||
ScriptedCreature.cpp
|
||||
ScriptedCreature.h
|
||||
ScriptedEscortAI.cpp
|
||||
ScriptedEscortAI.h
|
||||
ScriptedFollowerAI.cpp
|
||||
ScriptedFollowerAI.h
|
||||
ScriptedGossip.h
|
||||
ScriptedGuardAI.cpp
|
||||
ScriptedGuardAI.h
|
||||
ScriptedInstance.h
|
||||
ScriptedPch.cpp
|
||||
ScriptedPch.h
|
||||
ScriptedSimpleAI.cpp
|
||||
ScriptedSimpleAI.h
|
||||
ScriptLoader.cpp
|
||||
ScriptLoader.h
|
||||
ScriptMgr.cpp
|
||||
ScriptMgr.h
|
||||
ScriptSystem.cpp
|
||||
ScriptSystem.h
|
||||
SharedDefines.h
|
||||
SkillHandler.cpp
|
||||
SpellAuraDefines.h
|
||||
@@ -303,5 +323,536 @@ SET(game_STAT_SRCS
|
||||
OutdoorPvPImpl.h
|
||||
ZoneScript.h
|
||||
)
|
||||
|
||||
if (DO_SCRIPTS)
|
||||
LIST(APPEND game_STAT_SRCS
|
||||
../scripts/custom/on_events.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/boss_ambassador_flamelash.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/boss_anubshiah.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/boss_emperor_dagran_thaurissan.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/boss_general_angerforge.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/boss_gorosh_the_dervish.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/boss_grizzle.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/boss_high_interrogator_gerstahn.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/boss_magmus.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/boss_moira_bronzebeard.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/boss_tomb_of_seven.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_depths/blackrock_depths.h
|
||||
../scripts/eastern_kingdoms/blackrock_depths/instance_blackrock_depths.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_drakkisath.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_gyth.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_halycon.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_highlord_omokk.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_mother_smolderweb.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_overlord_wyrmthalak.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_pyroguard_emberseer.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_quartermaster_zigris.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_rend_blackhand.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_shadow_hunter_voshgajin.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_the_beast.cpp
|
||||
../scripts/eastern_kingdoms/blackrock_spire/boss_warmaster_voone.cpp
|
||||
../scripts/eastern_kingdoms/blackwing_lair/boss_broodlord_lashlayer.cpp
|
||||
../scripts/eastern_kingdoms/blackwing_lair/boss_chromaggus.cpp
|
||||
../scripts/eastern_kingdoms/blackwing_lair/boss_ebonroc.cpp
|
||||
../scripts/eastern_kingdoms/blackwing_lair/boss_firemaw.cpp
|
||||
../scripts/eastern_kingdoms/blackwing_lair/boss_flamegor.cpp
|
||||
../scripts/eastern_kingdoms/blackwing_lair/boss_nefarian.cpp
|
||||
../scripts/eastern_kingdoms/blackwing_lair/boss_razorgore.cpp
|
||||
../scripts/eastern_kingdoms/blackwing_lair/boss_vaelastrasz.cpp
|
||||
../scripts/eastern_kingdoms/blackwing_lair/boss_victor_nefarius.cpp
|
||||
../scripts/eastern_kingdoms/blackwing_lair/instance_blackwing_lair.cpp
|
||||
../scripts/eastern_kingdoms/deadmines/boss_mr_smite.cpp
|
||||
../scripts/eastern_kingdoms/deadmines/deadmines.h
|
||||
../scripts/eastern_kingdoms/deadmines/deadmines.cpp
|
||||
../scripts/eastern_kingdoms/deadmines/instance_deadmines.cpp
|
||||
../scripts/eastern_kingdoms/gnomeregan/gnomeregan.h
|
||||
../scripts/eastern_kingdoms/gnomeregan/gnomeregan.cpp
|
||||
../scripts/eastern_kingdoms/gnomeregan/instance_gnomeregan.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/boss_curator.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/boss_maiden_of_virtue.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/boss_midnight.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/boss_moroes.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/boss_netherspite.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/boss_nightbane.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/boss_prince_malchezaar.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/boss_shade_of_aran.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/boss_terestian_illhoof.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/bosses_opera.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/karazhan.h
|
||||
../scripts/eastern_kingdoms/karazhan/instance_karazhan.cpp
|
||||
../scripts/eastern_kingdoms/karazhan/karazhan.cpp
|
||||
../scripts/eastern_kingdoms/magisters_terrace/boss_felblood_kaelthas.cpp
|
||||
../scripts/eastern_kingdoms/magisters_terrace/boss_priestess_delrissa.cpp
|
||||
../scripts/eastern_kingdoms/magisters_terrace/boss_selin_fireheart.cpp
|
||||
../scripts/eastern_kingdoms/magisters_terrace/boss_vexallus.cpp
|
||||
../scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.h
|
||||
../scripts/eastern_kingdoms/magisters_terrace/instance_magisters_terrace.cpp
|
||||
../scripts/eastern_kingdoms/magisters_terrace/magisters_terrace.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/boss_baron_geddon.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/boss_garr.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/boss_gehennas.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/boss_golemagg.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/boss_lucifron.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/boss_magmadar.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/boss_majordomo_executus.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/boss_ragnaros.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/boss_shazzrah.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/boss_sulfuron_harbinger.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/molten_core.h
|
||||
../scripts/eastern_kingdoms/molten_core/instance_molten_core.cpp
|
||||
../scripts/eastern_kingdoms/molten_core/molten_core.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_enclave/the_scarlet_enclave.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_enclave/chapter1.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_enclave/chapter5.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/boss_arcanist_doan.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/boss_azshir_the_sleepless.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/boss_bloodmage_thalnos.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/boss_herod.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/boss_houndmaster_loksey.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/boss_interrogator_vishas.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/boss_scorn.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/boss_headless_horseman.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/boss_mograine_and_whitemane.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/instance_scarlet_monastery.cpp
|
||||
../scripts/eastern_kingdoms/scarlet_monastery/scarlet_monastery.h
|
||||
../scripts/eastern_kingdoms/scholomance/boss_darkmaster_gandling.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_death_knight_darkreaver.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_doctor_theolen_krastinov.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_illucia_barov.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_instructor_malicia.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_jandice_barov.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_kormok.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_lord_alexei_barov.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_lorekeeper_polkelt.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_ras_frostwhisper.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_the_ravenian.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/boss_vectus.cpp
|
||||
../scripts/eastern_kingdoms/scholomance/scholomance.h
|
||||
../scripts/eastern_kingdoms/scholomance/instance_scholomance.cpp
|
||||
../scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.h
|
||||
../scripts/eastern_kingdoms/shadowfang_keep/instance_shadowfang_keep.cpp
|
||||
../scripts/eastern_kingdoms/shadowfang_keep/shadowfang_keep.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_baron_rivendare.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_baroness_anastari.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_cannon_master_willey.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_dathrohan_balnazzar.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_magistrate_barthilas.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_maleki_the_pallid.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_nerubenkan.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_order_of_silver_hand.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_postmaster_malown.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_ramstein_the_gorger.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/boss_timmy_the_cruel.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/stratholme.h
|
||||
../scripts/eastern_kingdoms/stratholme/instance_stratholme.cpp
|
||||
../scripts/eastern_kingdoms/stratholme/stratholme.cpp
|
||||
../scripts/eastern_kingdoms/sunken_temple/sunken_temple.h
|
||||
../scripts/eastern_kingdoms/sunken_temple/instance_sunken_temple.cpp
|
||||
../scripts/eastern_kingdoms/sunken_temple/sunken_temple.cpp
|
||||
../scripts/eastern_kingdoms/sunwell_plateau/boss_kiljaeden.cpp
|
||||
../scripts/eastern_kingdoms/sunwell_plateau/boss_muru.cpp
|
||||
../scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp
|
||||
../scripts/eastern_kingdoms/sunwell_plateau/boss_felmyst.cpp
|
||||
../scripts/eastern_kingdoms/sunwell_plateau/boss_brutallus.cpp
|
||||
../scripts/eastern_kingdoms/sunwell_plateau/boss_kalecgos.cpp
|
||||
../scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.cpp
|
||||
../scripts/eastern_kingdoms/sunwell_plateau/sunwell_plateau.h
|
||||
../scripts/eastern_kingdoms/sunwell_plateau/instance_sunwell_plateau.cpp
|
||||
../scripts/eastern_kingdoms/uldaman/boss_archaedas.cpp
|
||||
../scripts/eastern_kingdoms/uldaman/instance_uldaman.cpp
|
||||
../scripts/eastern_kingdoms/uldaman/boss_ironaya.cpp
|
||||
../scripts/eastern_kingdoms/uldaman/uldaman.cpp
|
||||
../scripts/eastern_kingdoms/zulaman/boss_akilzon.cpp
|
||||
../scripts/eastern_kingdoms/zulaman/boss_halazzi.cpp
|
||||
../scripts/eastern_kingdoms/zulaman/boss_hexlord.cpp
|
||||
../scripts/eastern_kingdoms/zulaman/boss_janalai.cpp
|
||||
../scripts/eastern_kingdoms/zulaman/boss_nalorakk.cpp
|
||||
../scripts/eastern_kingdoms/zulaman/boss_zuljin.cpp
|
||||
../scripts/eastern_kingdoms/zulaman/zulaman.h
|
||||
../scripts/eastern_kingdoms/zulaman/instance_zulaman.cpp
|
||||
../scripts/eastern_kingdoms/zulaman/zulaman.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_arlokk.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_gahzranka.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_grilek.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_hakkar.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_hazzarah.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_jeklik.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_jindo.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_mandokir.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_marli.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_renataki.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_thekal.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_venoxis.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/boss_wushoolay.cpp
|
||||
../scripts/eastern_kingdoms/zulgurub/zulgurub.h
|
||||
../scripts/eastern_kingdoms/zulgurub/instance_zulgurub.cpp
|
||||
../scripts/eastern_kingdoms/alterac_mountains.cpp
|
||||
../scripts/eastern_kingdoms/arathi_highlands.cpp
|
||||
../scripts/eastern_kingdoms/blasted_lands.cpp
|
||||
../scripts/eastern_kingdoms/boss_kruul.cpp
|
||||
../scripts/eastern_kingdoms/burning_steppes.cpp
|
||||
../scripts/eastern_kingdoms/dun_morogh.cpp
|
||||
../scripts/eastern_kingdoms/duskwood.cpp
|
||||
../scripts/eastern_kingdoms/eastern_plaguelands.cpp
|
||||
../scripts/eastern_kingdoms/elwynn_forest.cpp
|
||||
../scripts/eastern_kingdoms/eversong_woods.cpp
|
||||
../scripts/eastern_kingdoms/ghostlands.cpp
|
||||
../scripts/eastern_kingdoms/hinterlands.cpp
|
||||
../scripts/eastern_kingdoms/ironforge.cpp
|
||||
../scripts/eastern_kingdoms/isle_of_queldanas.cpp
|
||||
../scripts/eastern_kingdoms/loch_modan.cpp
|
||||
../scripts/eastern_kingdoms/redridge_mountains.cpp
|
||||
../scripts/eastern_kingdoms/searing_gorge.cpp
|
||||
../scripts/eastern_kingdoms/silvermoon_city.cpp
|
||||
../scripts/eastern_kingdoms/silverpine_forest.cpp
|
||||
../scripts/eastern_kingdoms/stormwind_city.cpp
|
||||
../scripts/eastern_kingdoms/stranglethorn_vale.cpp
|
||||
../scripts/eastern_kingdoms/tirisfal_glades.cpp
|
||||
../scripts/eastern_kingdoms/undercity.cpp
|
||||
../scripts/eastern_kingdoms/western_plaguelands.cpp
|
||||
../scripts/eastern_kingdoms/westfall.cpp
|
||||
../scripts/eastern_kingdoms/wetlands.cpp
|
||||
../scripts/examples/example_creature.cpp
|
||||
../scripts/examples/example_escort.cpp
|
||||
../scripts/examples/example_gossip_codebox.cpp
|
||||
../scripts/examples/example_misc.cpp
|
||||
../scripts/kalimdor/blackfathom_depths/boss_gelihast.cpp
|
||||
../scripts/kalimdor/blackfathom_depths/boss_kelris.cpp
|
||||
../scripts/kalimdor/blackfathom_depths/boss_aku_mai.cpp
|
||||
../scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp
|
||||
../scripts/kalimdor/blackfathom_depths/blackfathom_deeps.cpp
|
||||
../scripts/kalimdor/blackfathom_depths/blackfathom_deeps.h
|
||||
../scripts/kalimdor/caverns_of_time/culling_of_stratholme/instance_culling_of_stratholme.cpp
|
||||
../scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_meathook.cpp
|
||||
../scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp
|
||||
../scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp
|
||||
../scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp
|
||||
../scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_infinite.cpp
|
||||
../scripts/kalimdor/caverns_of_time/culling_of_stratholme/culling_of_stratholme.h
|
||||
../scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.h
|
||||
../scripts/kalimdor/caverns_of_time/dark_portal/instance_dark_portal.cpp
|
||||
../scripts/kalimdor/caverns_of_time/dark_portal/dark_portal.cpp
|
||||
../scripts/kalimdor/caverns_of_time/dark_portal/boss_aeonus.cpp
|
||||
../scripts/kalimdor/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp
|
||||
../scripts/kalimdor/caverns_of_time/dark_portal/boss_temporus.cpp
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/boss_anetheron.cpp
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/boss_archimonde.cpp
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/boss_azgalor.cpp
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/boss_kazrogal.cpp
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/boss_rage_winterchill.cpp
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/hyjal.h
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/hyjal.cpp
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.cpp
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/hyjal_trash.h
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.cpp
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/hyjalAI.h
|
||||
../scripts/kalimdor/caverns_of_time/hyjal/instance_hyjal.cpp
|
||||
../scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp
|
||||
../scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp
|
||||
../scripts/kalimdor/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp
|
||||
../scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.h
|
||||
../scripts/kalimdor/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp
|
||||
../scripts/kalimdor/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
|
||||
../scripts/kalimdor/maraudon/boss_celebras_the_cursed.cpp
|
||||
../scripts/kalimdor/maraudon/boss_landslide.cpp
|
||||
../scripts/kalimdor/maraudon/boss_noxxion.cpp
|
||||
../scripts/kalimdor/maraudon/boss_princess_theradras.cpp
|
||||
../scripts/kalimdor/onyxias_lair/boss_onyxia.cpp
|
||||
../scripts/kalimdor/razorfen_downs/boss_amnennar_the_coldbringer.cpp
|
||||
../scripts/kalimdor/razorfen_downs/razorfen_downs.cpp
|
||||
../scripts/kalimdor/razorfen_kraul/razorfen_kraul.h
|
||||
../scripts/kalimdor/razorfen_kraul/instance_razorfen_kraul.cpp
|
||||
../scripts/kalimdor/razorfen_kraul/razorfen_kraul.cpp
|
||||
../scripts/kalimdor/ruins_of_ahnqiraj/boss_ayamiss.cpp
|
||||
../scripts/kalimdor/ruins_of_ahnqiraj/boss_buru.cpp
|
||||
../scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp
|
||||
../scripts/kalimdor/ruins_of_ahnqiraj/boss_moam.cpp
|
||||
../scripts/kalimdor/ruins_of_ahnqiraj/boss_ossirian.cpp
|
||||
../scripts/kalimdor/ruins_of_ahnqiraj/boss_rajaxx.cpp
|
||||
../scripts/kalimdor/ruins_of_ahnqiraj/ruins_of_ahnqiraj.h
|
||||
../scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/boss_bug_trio.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/boss_cthun.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/boss_fankriss.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/boss_huhuran.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/boss_ouro.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/boss_sartura.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/boss_skeram.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/boss_twinemperors.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/boss_viscidus.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/temple_of_ahnqiraj.h
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp
|
||||
../scripts/kalimdor/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp
|
||||
../scripts/kalimdor/wailing_caverns/wailing_caverns.h
|
||||
../scripts/kalimdor/wailing_caverns/instance_wailing_caverns.cpp
|
||||
../scripts/kalimdor/wailing_caverns/wailing_caverns.cpp
|
||||
../scripts/kalimdor/zulfarrak/zulfarrak.cpp
|
||||
../scripts/kalimdor/ashenvale.cpp
|
||||
../scripts/kalimdor/azshara.cpp
|
||||
../scripts/kalimdor/azuremyst_isle.cpp
|
||||
../scripts/kalimdor/bloodmyst_isle.cpp
|
||||
../scripts/kalimdor/boss_azuregos.cpp
|
||||
../scripts/kalimdor/darkshore.cpp
|
||||
../scripts/kalimdor/desolace.cpp
|
||||
../scripts/kalimdor/dustwallow_marsh.cpp
|
||||
../scripts/kalimdor/felwood.cpp
|
||||
../scripts/kalimdor/feralas.cpp
|
||||
../scripts/kalimdor/moonglade.cpp
|
||||
../scripts/kalimdor/mulgore.cpp
|
||||
../scripts/kalimdor/orgrimmar.cpp
|
||||
../scripts/kalimdor/silithus.cpp
|
||||
../scripts/kalimdor/stonetalon_mountains.cpp
|
||||
../scripts/kalimdor/tanaris.cpp
|
||||
../scripts/kalimdor/teldrassil.cpp
|
||||
../scripts/kalimdor/the_barrens.cpp
|
||||
../scripts/kalimdor/thousand_needles.cpp
|
||||
../scripts/kalimdor/thunder_bluff.cpp
|
||||
../scripts/kalimdor/ungoro_crater.cpp
|
||||
../scripts/kalimdor/winterspring.cpp
|
||||
../scripts/northrend/azjol_nerub/azjol_nerub/instance_azjol_nerub.cpp
|
||||
../scripts/northrend/azjol_nerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp
|
||||
../scripts/northrend/azjol_nerub/azjol_nerub/boss_hadronox.cpp
|
||||
../scripts/northrend/azjol_nerub/azjol_nerub/boss_anubarak.cpp
|
||||
../scripts/northrend/azjol_nerub/azjol_nerub/azjol_nerub.h
|
||||
../scripts/northrend/azjol_nerub/ahnkahet/instance_ahnkahet.cpp
|
||||
../scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp
|
||||
../scripts/northrend/azjol_nerub/ahnkahet/boss_elder_nadox.cpp
|
||||
../scripts/northrend/azjol_nerub/ahnkahet/boss_jedoga_shadowseeker.cpp
|
||||
../scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
|
||||
../scripts/northrend/azjol_nerub/ahnkahet/boss_amanitar.cpp
|
||||
../scripts/northrend/azjol_nerub/ahnkahet/ahnkahet.h
|
||||
../scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_argent_challenge.cpp
|
||||
../scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp
|
||||
../scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_grand_champions.cpp
|
||||
../scripts/northrend/crusaders_coliseum/trial_of_the_champion/instance_trial_of_the_champion.cpp
|
||||
../scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp
|
||||
../scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.h
|
||||
../scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp
|
||||
../scripts/northrend/draktharon_keep/boss_trollgore.cpp
|
||||
../scripts/northrend/draktharon_keep/boss_novos.cpp
|
||||
../scripts/northrend/draktharon_keep/boss_dred.cpp
|
||||
../scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
|
||||
../scripts/northrend/draktharon_keep/drak_tharon_keep.h
|
||||
../scripts/northrend/gundrak/instance_gundrak.cpp
|
||||
../scripts/northrend/gundrak/boss_slad_ran.cpp
|
||||
../scripts/northrend/gundrak/boss_moorabi.cpp
|
||||
../scripts/northrend/gundrak/boss_drakkari_colossus.cpp
|
||||
../scripts/northrend/gundrak/boss_gal_darah.cpp
|
||||
../scripts/northrend/gundrak/boss_eck.cpp
|
||||
../scripts/northrend/gundrak/gundrak.h
|
||||
../scripts/northrend/naxxramas/boss_anubrekhan.cpp
|
||||
../scripts/northrend/naxxramas/boss_faerlina.cpp
|
||||
../scripts/northrend/naxxramas/boss_gluth.cpp
|
||||
../scripts/northrend/naxxramas/boss_gothik.cpp
|
||||
../scripts/northrend/naxxramas/boss_grobbulus.cpp
|
||||
../scripts/northrend/naxxramas/boss_heigan.cpp
|
||||
../scripts/northrend/naxxramas/boss_kelthuzad.cpp
|
||||
../scripts/northrend/naxxramas/boss_four_horsemen.cpp
|
||||
../scripts/northrend/naxxramas/boss_loatheb.cpp
|
||||
../scripts/northrend/naxxramas/boss_maexxna.cpp
|
||||
../scripts/northrend/naxxramas/boss_noth.cpp
|
||||
../scripts/northrend/naxxramas/boss_patchwerk.cpp
|
||||
../scripts/northrend/naxxramas/boss_razuvious.cpp
|
||||
../scripts/northrend/naxxramas/boss_sapphiron.cpp
|
||||
../scripts/northrend/naxxramas/boss_thaddius.cpp
|
||||
../scripts/northrend/naxxramas/naxxramas.h
|
||||
../scripts/northrend/naxxramas/instance_naxxramas.cpp
|
||||
../scripts/northrend/nexus/eye_of_eternity/instance_eye_of_eternity.cpp
|
||||
../scripts/northrend/nexus/eye_of_eternity/boss_malygos.cpp
|
||||
../scripts/northrend/nexus/eye_of_eternity/eye_of_eternity.h
|
||||
../scripts/northrend/nexus/nexus/instance_nexus.cpp
|
||||
../scripts/northrend/nexus/nexus/boss_magus_telestra.cpp
|
||||
../scripts/northrend/nexus/nexus/boss_anomalus.cpp
|
||||
../scripts/northrend/nexus/nexus/boss_ormorok.cpp
|
||||
../scripts/northrend/nexus/nexus/boss_keristrasza.cpp
|
||||
../scripts/northrend/nexus/nexus/commander_stoutbeard.cpp
|
||||
../scripts/northrend/nexus/nexus/commander_kolurg.cpp
|
||||
../scripts/northrend/nexus/nexus/nexus.h
|
||||
../scripts/northrend/nexus/oculus/instance_oculus.cpp
|
||||
../scripts/northrend/nexus/oculus/boss_drakos.cpp
|
||||
../scripts/northrend/nexus/oculus/boss_urom.cpp
|
||||
../scripts/northrend/nexus/oculus/boss_varos.cpp
|
||||
../scripts/northrend/nexus/oculus/boss_eregos.cpp
|
||||
../scripts/northrend/nexus/oculus/oculus.h
|
||||
../scripts/northrend/obsidian_sanctum/instance_obsidian_sanctum.cpp
|
||||
../scripts/northrend/obsidian_sanctum/boss_sartharion.cpp
|
||||
../scripts/northrend/obsidian_sanctum/obsidian_sanctum.h
|
||||
../scripts/northrend/ulduar/halls_of_stone/instance_halls_of_stone.cpp
|
||||
../scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp
|
||||
../scripts/northrend/ulduar/halls_of_stone/boss_krystallus.cpp
|
||||
../scripts/northrend/ulduar/halls_of_stone/boss_sjonnir.cpp
|
||||
../scripts/northrend/ulduar/halls_of_stone/halls_of_stone.h
|
||||
../scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp
|
||||
../scripts/northrend/ulduar/halls_of_lightning/instance_halls_of_lightning.cpp
|
||||
../scripts/northrend/ulduar/halls_of_lightning/boss_bjarngrim.cpp
|
||||
../scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
|
||||
../scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp
|
||||
../scripts/northrend/ulduar/halls_of_lightning/boss_loken.cpp
|
||||
../scripts/northrend/ulduar/halls_of_lightning/halls_of_lightning.h
|
||||
../scripts/northrend/ulduar/ulduar/boss_algalon.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_assembly_of_iron.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_auriaya.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_flame_leviathan.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_freya.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_general_vezax.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_hodir.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_ignis.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_kologarn.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_mimiron.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_razorscale.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_thorim.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_xt002.cpp
|
||||
../scripts/northrend/ulduar/ulduar/boss_yoggsaron.cpp
|
||||
../scripts/northrend/ulduar/ulduar/ulduar_teleporter.cpp
|
||||
../scripts/northrend/ulduar/ulduar/ulduar.h
|
||||
../scripts/northrend/ulduar/ulduar/instance_ulduar.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_keep/boss_keleseth.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_keep/boss_ingvar_the_plunderer.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.h
|
||||
../scripts/northrend/utgarde_keep/utgarde_keep/utgarde_keep.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_pinnacle/instance_pinnacle.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_skadi.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_ymiron.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_svala.cpp
|
||||
../scripts/northrend/utgarde_keep/utgarde_pinnacle/utgarde_pinnacle.h
|
||||
../scripts/northrend/vault_of_archavon/instance_vault_of_archavon.cpp
|
||||
../scripts/northrend/vault_of_archavon/boss_archavon.cpp
|
||||
../scripts/northrend/vault_of_archavon/boss_emalon.cpp
|
||||
../scripts/northrend/vault_of_archavon/vault_of_archavon.h
|
||||
../scripts/northrend/violet_hold/instance_violet_hold.cpp
|
||||
../scripts/northrend/violet_hold/boss_cyanigosa.cpp
|
||||
../scripts/northrend/violet_hold/boss_erekem.cpp
|
||||
../scripts/northrend/violet_hold/boss_ichoron.cpp
|
||||
../scripts/northrend/violet_hold/boss_lavanthor.cpp
|
||||
../scripts/northrend/violet_hold/boss_moragg.cpp
|
||||
../scripts/northrend/violet_hold/boss_xevozz.cpp
|
||||
../scripts/northrend/violet_hold/boss_zuramat.cpp
|
||||
../scripts/northrend/violet_hold/violet_hold.h
|
||||
../scripts/northrend/violet_hold/violet_hold.cpp
|
||||
../scripts/northrend/dalaran.cpp
|
||||
../scripts/northrend/borean_tundra.cpp
|
||||
../scripts/northrend/dragonblight.cpp
|
||||
../scripts/northrend/grizzly_hills.cpp
|
||||
../scripts/northrend/howling_fjord.cpp
|
||||
../scripts/northrend/icecrown.cpp
|
||||
../scripts/northrend/sholazar_basin.cpp
|
||||
../scripts/northrend/storm_peaks.cpp
|
||||
../scripts/northrend/wintergrasp.cpp
|
||||
../scripts/northrend/zuldrak.cpp
|
||||
../scripts/outland/auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp
|
||||
../scripts/outland/auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp
|
||||
../scripts/outland/auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
|
||||
../scripts/outland/auchindoun/mana_tombs/boss_pandemonius.cpp
|
||||
../scripts/outland/auchindoun/sethekk_halls/boss_darkweaver_syth.cpp
|
||||
../scripts/outland/auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
|
||||
../scripts/outland/auchindoun/sethekk_halls/sethekk_halls.h
|
||||
../scripts/outland/auchindoun/sethekk_halls/instance_sethekk_halls.cpp
|
||||
../scripts/outland/auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
|
||||
../scripts/outland/auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp
|
||||
../scripts/outland/auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
|
||||
../scripts/outland/auchindoun/shadow_labyrinth/boss_murmur.cpp
|
||||
../scripts/outland/auchindoun/shadow_labyrinth/shadow_labyrinth.h
|
||||
../scripts/outland/auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp
|
||||
../scripts/outland/black_temple/black_temple.cpp
|
||||
../scripts/outland/black_temple/boss_bloodboil.cpp
|
||||
../scripts/outland/black_temple/boss_illidan.cpp
|
||||
../scripts/outland/black_temple/boss_mother_shahraz.cpp
|
||||
../scripts/outland/black_temple/boss_reliquary_of_souls.cpp
|
||||
../scripts/outland/black_temple/boss_shade_of_akama.cpp
|
||||
../scripts/outland/black_temple/boss_supremus.cpp
|
||||
../scripts/outland/black_temple/boss_teron_gorefiend.cpp
|
||||
../scripts/outland/black_temple/boss_warlord_najentus.cpp
|
||||
../scripts/outland/black_temple/black_temple.h
|
||||
../scripts/outland/black_temple/illidari_council.cpp
|
||||
../scripts/outland/black_temple/instance_black_temple.cpp
|
||||
../scripts/outland/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
|
||||
../scripts/outland/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp
|
||||
../scripts/outland/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
|
||||
../scripts/outland/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp
|
||||
../scripts/outland/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
|
||||
../scripts/outland/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp
|
||||
../scripts/outland/coilfang_resevoir/serpent_shrine/serpent_shrine.h
|
||||
../scripts/outland/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
|
||||
../scripts/outland/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp
|
||||
../scripts/outland/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp
|
||||
../scripts/outland/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp
|
||||
../scripts/outland/coilfang_resevoir/steam_vault/steam_vault.h
|
||||
../scripts/outland/coilfang_resevoir/steam_vault/instance_steam_vault.cpp
|
||||
../scripts/outland/coilfang_resevoir/underbog/boss_hungarfen.cpp
|
||||
../scripts/outland/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
|
||||
../scripts/outland/gruuls_lair/boss_gruul.cpp
|
||||
../scripts/outland/gruuls_lair/boss_high_king_maulgar.cpp
|
||||
../scripts/outland/gruuls_lair/gruuls_lair.h
|
||||
../scripts/outland/gruuls_lair/instance_gruuls_lair.cpp
|
||||
../scripts/outland/hellfire_citadel/blood_furnace/boss_broggok.cpp
|
||||
../scripts/outland/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
|
||||
../scripts/outland/hellfire_citadel/blood_furnace/boss_the_maker.cpp
|
||||
../scripts/outland/hellfire_citadel/blood_furnace/instance_blood_furnace.cpp
|
||||
../scripts/outland/hellfire_citadel/blood_furnace/blood_furnace.h
|
||||
../scripts/outland/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp
|
||||
../scripts/outland/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp
|
||||
../scripts/outland/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp
|
||||
../scripts/outland/hellfire_citadel/hellfire_ramparts/hellfire_ramparts.h
|
||||
../scripts/outland/hellfire_citadel/hellfire_ramparts/instance_hellfire_ramparts.cpp
|
||||
../scripts/outland/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp
|
||||
../scripts/outland/hellfire_citadel/magtheridons_lair/magtheridons_lair.h
|
||||
../scripts/outland/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp
|
||||
../scripts/outland/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
|
||||
../scripts/outland/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp
|
||||
../scripts/outland/hellfire_citadel/shattered_halls/shattered_halls.h
|
||||
../scripts/outland/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp
|
||||
../scripts/outland/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
|
||||
../scripts/outland/tempest_keep/arcatraz/arcatraz.cpp
|
||||
../scripts/outland/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp
|
||||
../scripts/outland/tempest_keep/arcatraz/arcatraz.h
|
||||
../scripts/outland/tempest_keep/arcatraz/instance_arcatraz.cpp
|
||||
../scripts/outland/tempest_keep/botanica/boss_high_botanist_freywinn.cpp
|
||||
../scripts/outland/tempest_keep/botanica/boss_laj.cpp
|
||||
../scripts/outland/tempest_keep/botanica/boss_warp_splinter.cpp
|
||||
../scripts/outland/tempest_keep/the_eye/boss_alar.cpp
|
||||
../scripts/outland/tempest_keep/the_eye/boss_astromancer.cpp
|
||||
../scripts/outland/tempest_keep/the_eye/boss_kaelthas.cpp
|
||||
../scripts/outland/tempest_keep/the_eye/boss_void_reaver.cpp
|
||||
../scripts/outland/tempest_keep/the_eye/the_eye.h
|
||||
../scripts/outland/tempest_keep/the_eye/instance_the_eye.cpp
|
||||
../scripts/outland/tempest_keep/the_eye/the_eye.cpp
|
||||
../scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp
|
||||
../scripts/outland/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp
|
||||
../scripts/outland/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
|
||||
../scripts/outland/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
|
||||
../scripts/outland/tempest_keep/the_mechanar/mechanar.h
|
||||
../scripts/outland/tempest_keep/the_mechanar/instance_mechanar.cpp
|
||||
../scripts/outland/blades_edge_mountains.cpp
|
||||
../scripts/outland/boss_doomlord_kazzak.cpp
|
||||
../scripts/outland/boss_doomwalker.cpp
|
||||
../scripts/outland/hellfire_peninsula.cpp
|
||||
../scripts/outland/nagrand.cpp
|
||||
../scripts/outland/netherstorm.cpp
|
||||
../scripts/outland/shadowmoon_valley.cpp
|
||||
../scripts/outland/shattrath_city.cpp
|
||||
../scripts/outland/terokkar_forest.cpp
|
||||
../scripts/outland/zangarmarsh.cpp
|
||||
../scripts/world/areatrigger_scripts.cpp
|
||||
../scripts/world/boss_emeriss.cpp
|
||||
../scripts/world/boss_lethon.cpp
|
||||
../scripts/world/boss_taerar.cpp
|
||||
../scripts/world/boss_ysondre.cpp
|
||||
../scripts/world/go_scripts.cpp
|
||||
../scripts/world/guards.cpp
|
||||
../scripts/world/item_scripts.cpp
|
||||
../scripts/world/mob_generic_creature.cpp
|
||||
../scripts/world/npc_innkeeper.cpp
|
||||
../scripts/world/npc_professions.cpp
|
||||
../scripts/world/npcs_special.cpp
|
||||
../scripts/world/npc_taxi.cpp
|
||||
)
|
||||
endif (DO_SCRIPTS)
|
||||
|
||||
add_library(game STATIC ${game_STAT_SRCS})
|
||||
ADD_DEPENDENCIES(game revision.h)
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "Util.h"
|
||||
#include "ScriptCalls.h"
|
||||
#include "SpellId.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
class LoginQueryHolder : public SqlQueryHolder
|
||||
{
|
||||
@@ -817,8 +818,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder * holder)
|
||||
m_playerLoading = false;
|
||||
|
||||
//Hook for OnLogin Event
|
||||
Script->OnLogin(pCurrChar);
|
||||
|
||||
sScriptMgr.OnLogin(pCurrChar);
|
||||
delete holder;
|
||||
}
|
||||
|
||||
@@ -1381,45 +1381,45 @@ void WorldSession::HandleEquipmentSetUse(WorldPacket &recv_data)
|
||||
|
||||
void WorldSession::HandleOnPVPKill(Player *killed)
|
||||
{
|
||||
Script->OnPVPKill(GetPlayer(), killed);
|
||||
sScriptMgr.OnPVPKill(GetPlayer(), killed);
|
||||
}
|
||||
|
||||
bool WorldSession::HandleOnPlayerChat(const char *text)
|
||||
{
|
||||
return Script->OnPlayerChat(GetPlayer(), text);
|
||||
return sScriptMgr.OnPlayerChat(GetPlayer(), text);
|
||||
}
|
||||
|
||||
uint32 WorldSession::HandleOnGetXP(uint32 amount)
|
||||
{
|
||||
return Script->OnGetXP(GetPlayer(), amount);
|
||||
return sScriptMgr.OnGetXP(GetPlayer(), amount);
|
||||
}
|
||||
|
||||
int32 WorldSession::HandleOnGetMoney(int32 amount)
|
||||
{
|
||||
return Script->OnGetMoney(GetPlayer(), amount);
|
||||
return sScriptMgr.OnGetMoney(GetPlayer(), amount);
|
||||
}
|
||||
|
||||
void WorldSession::HandleOnAreaChange(AreaTableEntry const *pArea)
|
||||
{
|
||||
Script->OnAreaChange(GetPlayer(), pArea);
|
||||
sScriptMgr.OnAreaChange(GetPlayer(), pArea);
|
||||
}
|
||||
|
||||
bool WorldSession::HandleOnItemClick(Item *pItem)
|
||||
{
|
||||
return Script->OnItemClick(GetPlayer(), pItem);
|
||||
return sScriptMgr.OnItemClick(GetPlayer(), pItem);
|
||||
}
|
||||
|
||||
bool WorldSession::HandleOnItemOpen(Item *pItem)
|
||||
{
|
||||
return Script->OnItemOpen(GetPlayer(), pItem);
|
||||
return sScriptMgr.OnItemOpen(GetPlayer(), pItem);
|
||||
}
|
||||
|
||||
bool WorldSession::HandleOnGoClick(GameObject *pGameObject)
|
||||
{
|
||||
return Script->OnGoClick(GetPlayer(), pGameObject);
|
||||
return sScriptMgr.OnGoClick(GetPlayer(), pGameObject);
|
||||
}
|
||||
|
||||
void WorldSession::HandleOnCreatureKill(Creature *pCreature)
|
||||
{
|
||||
Script->OnCreatureKill(GetPlayer(), pCreature);
|
||||
sScriptMgr.OnCreatureKill(GetPlayer(), pCreature);
|
||||
}
|
||||
|
||||
@@ -724,7 +724,6 @@ ChatCommand * ChatHandler::getCommandTable()
|
||||
{ "pinfo", SEC_GAMEMASTER, true, &ChatHandler::HandlePInfoCommand, "", NULL },
|
||||
{ "respawn", SEC_ADMINISTRATOR, false, &ChatHandler::HandleRespawnCommand, "", NULL },
|
||||
{ "send", SEC_MODERATOR, true, NULL, "", sendCommandTable },
|
||||
{ "loadscripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleLoadScriptsCommand, "", NULL },
|
||||
{ "mute", SEC_MODERATOR, true, &ChatHandler::HandleMuteCommand, "", NULL },
|
||||
{ "unmute", SEC_MODERATOR, true, &ChatHandler::HandleUnmuteCommand, "", NULL },
|
||||
{ "movegens", SEC_ADMINISTRATOR, false, &ChatHandler::HandleMovegensCommand, "", NULL },
|
||||
|
||||
@@ -495,8 +495,6 @@ class TRINITY_DLL_SPEC ChatHandler
|
||||
bool HandleWhispersCommand(const char* args);
|
||||
bool HandleModifyDrunkCommand(const char* args);
|
||||
|
||||
bool HandleLoadScriptsCommand(const char* args);
|
||||
|
||||
bool HandleGUIDCommand(const char* args);
|
||||
bool HandleItemMoveCommand(const char* args);
|
||||
bool HandleDeMorphCommand(const char* args);
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "Pet.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "CreatureAIFactory.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
INSTANTIATE_SINGLETON_1(CreatureAIRegistry);
|
||||
INSTANTIATE_SINGLETON_1(MovementGeneratorRegistry);
|
||||
@@ -43,7 +44,7 @@ namespace FactorySelector
|
||||
|
||||
//scriptname in db
|
||||
if(!ai_factory)
|
||||
if(CreatureAI* scriptedAI = Script->GetAI(creature))
|
||||
if(CreatureAI* scriptedAI = sScriptMgr.GetAI(creature))
|
||||
return scriptedAI;
|
||||
|
||||
// AIname in db
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "GridNotifiersImpl.h"
|
||||
#include "SpellMgr.h"
|
||||
#include "ScriptCalls.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
bool ChatHandler::HandleDebugSendSpellFailCommand(const char* args)
|
||||
{
|
||||
@@ -898,7 +899,7 @@ bool ChatHandler::HandleDebugItemExpireCommand(const char* args)
|
||||
return false;
|
||||
|
||||
m_session->GetPlayer()->DestroyItem( i->GetBagSlot(),i->GetSlot(), true);
|
||||
Script->ItemExpire(m_session->GetPlayer(),i->GetProto());
|
||||
sScriptMgr.ItemExpire(m_session->GetPlayer(),i->GetProto());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+2
-1
@@ -26,6 +26,7 @@
|
||||
#include "ItemEnchantmentMgr.h"
|
||||
#include "SpellMgr.h"
|
||||
#include "ScriptCalls.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
void AddItemsSetItem(Player*player,Item *item)
|
||||
{
|
||||
@@ -285,7 +286,7 @@ void Item::UpdateDuration(Player* owner, uint32 diff)
|
||||
|
||||
if (GetUInt32Value(ITEM_FIELD_DURATION)<=diff)
|
||||
{
|
||||
Script->ItemExpire(owner, GetProto());
|
||||
sScriptMgr.ItemExpire(owner, GetProto());
|
||||
owner->DestroyItem(GetBagSlot(), GetSlot(), true);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1383,14 +1383,6 @@ bool ChatHandler::HandleReloadMailLevelRewardCommand(const char* /*arg*/)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ChatHandler::HandleLoadScriptsCommand(const char *args)
|
||||
{
|
||||
if(!LoadScriptingModule(args)) return true;
|
||||
|
||||
sWorld.SendGMText(LANG_SCRIPTS_RELOADED);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ChatHandler::HandleReloadAuctionsCommand(const char *args)
|
||||
{
|
||||
///- Reload dynamic data tables from the database
|
||||
|
||||
+2
-1
@@ -39,6 +39,7 @@
|
||||
#include "Vehicle.h"
|
||||
#include "WaypointManager.h"
|
||||
#include "DBCEnums.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
#include "MapInstanced.h"
|
||||
#include "InstanceSaveMgr.h"
|
||||
@@ -2749,7 +2750,7 @@ void InstanceMap::CreateInstanceData(bool load)
|
||||
if (mInstance)
|
||||
{
|
||||
i_script_id = mInstance->script_id;
|
||||
i_data = Script->CreateInstanceData(this);
|
||||
i_data = sScriptMgr.CreateInstanceData(this);
|
||||
}
|
||||
|
||||
if (!i_data)
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
#include "Vehicle.h"
|
||||
#include "CreatureAI.h"
|
||||
#include "DBCEnums.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
void WorldSession::HandleRepopRequestOpcode( WorldPacket & recv_data )
|
||||
{
|
||||
@@ -128,21 +129,21 @@ void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data )
|
||||
{
|
||||
if(unit)
|
||||
{
|
||||
if(!Script->GossipSelectWithCode( _player, unit, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId), code.c_str()) )
|
||||
if(!sScriptMgr.GossipSelectWithCode( _player, unit, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId), code.c_str()) )
|
||||
_player->OnGossipSelect(unit, gossipListId, menuId);
|
||||
}
|
||||
else
|
||||
Script->GOSelectWithCode( _player, go, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId), code.c_str());
|
||||
sScriptMgr.GOSelectWithCode( _player, go, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId), code.c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
if(unit)
|
||||
{
|
||||
if(!Script->GossipSelect( _player, unit, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId)) )
|
||||
if(!sScriptMgr.GossipSelect( _player, unit, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId)) )
|
||||
_player->OnGossipSelect(unit, gossipListId, menuId);
|
||||
}
|
||||
else
|
||||
Script->GOSelect( _player, go, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId));
|
||||
sScriptMgr.GOSelect( _player, go, _player->PlayerTalkClass->GossipOptionSender(gossipListId), _player->PlayerTalkClass->GossipOptionAction(gossipListId));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -866,7 +867,7 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPacket & recv_data)
|
||||
}
|
||||
}
|
||||
|
||||
if(Script->scriptAreaTrigger(GetPlayer(), atEntry))
|
||||
if(sScriptMgr.AreaTrigger(GetPlayer(), atEntry))
|
||||
return;
|
||||
|
||||
uint32 quest_id = objmgr.GetQuestForAreaTrigger( Trigger_ID );
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "BattleGroundMgr.h"
|
||||
#include "BattleGround.h"
|
||||
#include "Guild.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
void WorldSession::HandleTabardVendorActivateOpcode( WorldPacket & recv_data )
|
||||
{
|
||||
@@ -291,7 +292,7 @@ void WorldSession::HandleGossipHelloOpcode( WorldPacket & recv_data )
|
||||
}
|
||||
}
|
||||
|
||||
if(!Script->GossipHello(_player, unit))
|
||||
if(!sScriptMgr.GossipHello(_player, unit))
|
||||
{
|
||||
_player->TalkedToCreature(unit->GetEntry(), unit->GetGUID());
|
||||
_player->PrepareGossipMenu(unit, unit->GetCreatureInfo()->GossipMenuId);
|
||||
|
||||
+11
-10
@@ -33,6 +33,7 @@
|
||||
#include "Group.h"
|
||||
#include "BattleGround.h"
|
||||
#include "BattleGroundAV.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
void WorldSession::HandleQuestgiverStatusQueryOpcode( WorldPacket & recv_data )
|
||||
{
|
||||
@@ -56,7 +57,7 @@ void WorldSession::HandleQuestgiverStatusQueryOpcode( WorldPacket & recv_data )
|
||||
Creature* cr_questgiver=(Creature*)questgiver;
|
||||
if( !cr_questgiver->IsHostileTo(_player)) // not show quest status to enemies
|
||||
{
|
||||
questStatus = Script->NPCDialogStatus(_player, cr_questgiver);
|
||||
questStatus = sScriptMgr.NPCDialogStatus(_player, cr_questgiver);
|
||||
if( questStatus > 6 )
|
||||
questStatus = getDialogStatus(_player, cr_questgiver, defstatus);
|
||||
}
|
||||
@@ -66,7 +67,7 @@ void WorldSession::HandleQuestgiverStatusQueryOpcode( WorldPacket & recv_data )
|
||||
{
|
||||
sLog.outDebug( "WORLD: Received CMSG_QUESTGIVER_STATUS_QUERY for GameObject guid = %u",uint32(GUID_LOPART(guid)) );
|
||||
GameObject* go_questgiver=(GameObject*)questgiver;
|
||||
questStatus = Script->GODialogStatus(_player, go_questgiver);
|
||||
questStatus = sScriptMgr.GODialogStatus(_player, go_questgiver);
|
||||
if( questStatus > 6 )
|
||||
questStatus = getDialogStatus(_player, go_questgiver, defstatus);
|
||||
break;
|
||||
@@ -101,7 +102,7 @@ void WorldSession::HandleQuestgiverHelloOpcode( WorldPacket & recv_data )
|
||||
// Stop the npc if moving
|
||||
pCreature->StopMoving();
|
||||
|
||||
if(Script->GossipHello( _player, pCreature ) )
|
||||
if(sScriptMgr.GossipHello( _player, pCreature ) )
|
||||
return;
|
||||
|
||||
_player->PrepareGossipMenu(pCreature, pCreature->GetCreatureInfo()->GossipMenuId);
|
||||
@@ -188,12 +189,12 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode( WorldPacket & recv_data )
|
||||
switch(pObject->GetTypeId())
|
||||
{
|
||||
case TYPEID_UNIT:
|
||||
Script->QuestAccept(_player, ((Creature*)pObject), qInfo );
|
||||
sScriptMgr.QuestAccept(_player, ((Creature*)pObject), qInfo );
|
||||
break;
|
||||
case TYPEID_ITEM:
|
||||
case TYPEID_CONTAINER:
|
||||
{
|
||||
Script->ItemQuestAccept(_player, ((Item*)pObject), qInfo );
|
||||
sScriptMgr.ItemQuestAccept(_player, ((Item*)pObject), qInfo );
|
||||
|
||||
// destroy not required for quest finish quest starting item
|
||||
bool destroyItem = true;
|
||||
@@ -212,7 +213,7 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode( WorldPacket & recv_data )
|
||||
break;
|
||||
}
|
||||
case TYPEID_GAMEOBJECT:
|
||||
Script->GOQuestAccept(_player, ((GameObject*)pObject), qInfo );
|
||||
sScriptMgr.GOQuestAccept(_player, ((GameObject*)pObject), qInfo );
|
||||
break;
|
||||
}
|
||||
_player->PlayerTalkClass->CloseGossip();
|
||||
@@ -297,7 +298,7 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode( WorldPacket & recv_data )
|
||||
switch(pObject->GetTypeId())
|
||||
{
|
||||
case TYPEID_UNIT:
|
||||
if( !(Script->ChooseReward( _player, ((Creature*)pObject), pQuest, reward )) )
|
||||
if( !(sScriptMgr.ChooseReward( _player, ((Creature*)pObject), pQuest, reward )) )
|
||||
{
|
||||
// Send next quest
|
||||
if(Quest const* nextquest = _player->GetNextQuest( guid ,pQuest ) )
|
||||
@@ -305,7 +306,7 @@ void WorldSession::HandleQuestgiverChooseRewardOpcode( WorldPacket & recv_data )
|
||||
}
|
||||
break;
|
||||
case TYPEID_GAMEOBJECT:
|
||||
if( !Script->GOChooseReward( _player, ((GameObject*)pObject), pQuest, reward ) )
|
||||
if( !sScriptMgr.GOChooseReward( _player, ((GameObject*)pObject), pQuest, reward ) )
|
||||
{
|
||||
// Send next quest
|
||||
if(Quest const* nextquest = _player->GetNextQuest( guid ,pQuest ) )
|
||||
@@ -661,7 +662,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket
|
||||
continue;
|
||||
if(!questgiver->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER))
|
||||
continue;
|
||||
questStatus = Script->NPCDialogStatus(_player, questgiver);
|
||||
questStatus = sScriptMgr.NPCDialogStatus(_player, questgiver);
|
||||
if( questStatus > 6 )
|
||||
questStatus = getDialogStatus(_player, questgiver, defstatus);
|
||||
|
||||
@@ -676,7 +677,7 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPacket& /*recvPacket
|
||||
continue;
|
||||
if(questgiver->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER)
|
||||
continue;
|
||||
questStatus = Script->GODialogStatus(_player, questgiver);
|
||||
questStatus = sScriptMgr.GODialogStatus(_player, questgiver);
|
||||
if( questStatus > 6 )
|
||||
questStatus = getDialogStatus(_player, questgiver, defstatus);
|
||||
|
||||
|
||||
@@ -27,101 +27,12 @@
|
||||
#include "ScriptCalls.h"
|
||||
#include "World.h"
|
||||
#include "Config/ConfigEnv.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
ScriptsSet Script=NULL;
|
||||
|
||||
void UnloadScriptingModule()
|
||||
bool LoadScriptingModule()
|
||||
{
|
||||
if(Script)
|
||||
{
|
||||
//todo: some check if some func from script library is called right now
|
||||
Script->ScriptsFree();
|
||||
TRINITY_CLOSE_LIBRARY(Script->hScriptsLib);
|
||||
delete Script;
|
||||
Script = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
bool LoadScriptingModule(char const* libName)
|
||||
{
|
||||
ScriptsSet testScript=new _ScriptSet;
|
||||
|
||||
std::string name = strlen(libName) ? libName : TRINITY_SCRIPT_NAME;
|
||||
name += TRINITY_SCRIPT_EXT;
|
||||
|
||||
testScript->hScriptsLib=TRINITY_LOAD_LIBRARY(name.c_str());
|
||||
|
||||
if(!testScript->hScriptsLib )
|
||||
{
|
||||
printf("Error loading Scripts Library %s !\n",name.c_str());
|
||||
delete testScript;
|
||||
return false;
|
||||
}
|
||||
|
||||
if( !(testScript->ScriptsInit =(scriptCallScriptsInit )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"ScriptsInit" ))
|
||||
||!(testScript->OnLogin =(scriptCallOnLogin )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnLogin" ))
|
||||
||!(testScript->OnLogout =(scriptCallOnLogout )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnLogout" ))
|
||||
||!(testScript->OnPVPKill =(scriptCallOnPVPKill )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnPVPKill" ))
|
||||
||!(testScript->OnLogin =(scriptCallOnLogin )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnLogin" ))
|
||||
||!(testScript->OnLogout =(scriptCallOnLogout )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnLogout" ))
|
||||
||!(testScript->OnPVPKill =(scriptCallOnPVPKill )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnPVPKill" ))
|
||||
||!(testScript->OnSpellCast =(scriptCallOnSpellCast )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnSpellCast" ))
|
||||
||!(testScript->OnGetXP =(scriptCallOnGetXP )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnGetXP" ))
|
||||
||!(testScript->OnGetMoney =(scriptCallOnGetMoney )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnGetMoney" ))
|
||||
||!(testScript->OnPlayerChat =(scriptCallOnPlayerChat )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnPlayerChat" ))
|
||||
||!(testScript->OnServerStartup =(scriptCallOnServerStartup )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnServerStartup" ))
|
||||
||!(testScript->OnServerShutdown =(scriptCallOnServerShutdown )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnServerShutdown" ))
|
||||
||!(testScript->OnAreaChange =(scriptCallOnAreaChange )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnAreaChange" ))
|
||||
||!(testScript->OnItemClick =(scriptCallOnItemClick )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnItemClick" ))
|
||||
||!(testScript->OnItemOpen =(scriptCallOnItemOpen )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnItemOpen" ))
|
||||
||!(testScript->OnGoClick =(scriptCallOnGoClick )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnGoClick" ))
|
||||
||!(testScript->OnCreatureKill =(scriptCallOnCreatureKill )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"OnCreatureKill" ))
|
||||
||!(testScript->ScriptsFree =(scriptCallScriptsFree )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"ScriptsFree" ))
|
||||
||!(testScript->ScriptsVersion =(scriptCallScriptsVersion )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"ScriptsVersion" ))
|
||||
||!(testScript->GossipHello =(scriptCallGossipHello )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"GossipHello" ))
|
||||
||!(testScript->GOChooseReward =(scriptCallGOChooseReward )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"GOChooseReward" ))
|
||||
||!(testScript->QuestAccept =(scriptCallQuestAccept )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"QuestAccept" ))
|
||||
||!(testScript->GossipSelect =(scriptCallGossipSelect )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"GossipSelect" ))
|
||||
||!(testScript->GossipSelectWithCode=(scriptCallGossipSelectWithCode)TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"GossipSelectWithCode"))
|
||||
||!(testScript->GOSelect =(scriptCallGOSelect )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"GOSelect" ))
|
||||
||!(testScript->GOSelectWithCode =(scriptCallGOSelectWithCode )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"GOSelectWithCode" ))
|
||||
||!(testScript->QuestSelect =(scriptCallQuestSelect )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"QuestSelect" ))
|
||||
||!(testScript->QuestComplete =(scriptCallQuestComplete )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"QuestComplete" ))
|
||||
||!(testScript->NPCDialogStatus =(scriptCallNPCDialogStatus )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"NPCDialogStatus" ))
|
||||
||!(testScript->GODialogStatus =(scriptCallGODialogStatus )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"GODialogStatus" ))
|
||||
||!(testScript->ChooseReward =(scriptCallChooseReward )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"ChooseReward" ))
|
||||
||!(testScript->ItemHello =(scriptCallItemHello )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"ItemHello" ))
|
||||
||!(testScript->GOHello =(scriptCallGOHello )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"GOHello" ))
|
||||
||!(testScript->scriptAreaTrigger =(scriptCallAreaTrigger )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"AreaTrigger" ))
|
||||
||!(testScript->ItemQuestAccept =(scriptCallItemQuestAccept )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"ItemQuestAccept" ))
|
||||
||!(testScript->GOQuestAccept =(scriptCallGOQuestAccept )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"GOQuestAccept" ))
|
||||
||!(testScript->ItemUse =(scriptCallItemUse )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"ItemUse" ))
|
||||
||!(testScript->ItemExpire =(scriptCallItemExpire )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"ItemExpire" ))
|
||||
||!(testScript->EffectDummyGameObj =(scriptCallEffectDummyGameObj )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"EffectDummyGameObj" ))
|
||||
||!(testScript->EffectDummyCreature =(scriptCallEffectDummyCreature )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"EffectDummyCreature" ))
|
||||
||!(testScript->EffectDummyItem =(scriptCallEffectDummyItem )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"EffectDummyItem" ))
|
||||
||!(testScript->GetAI =(scriptCallGetAI )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"GetAI" ))
|
||||
||!(testScript->CreateInstanceData =(scriptCallCreateInstanceData )TRINITY_GET_PROC_ADDR(testScript->hScriptsLib,"CreateInstanceData" ))
|
||||
)
|
||||
{
|
||||
printf("Error loading Scripts Library %s !\n Library missing required functions.",name.c_str());
|
||||
TRINITY_CLOSE_LIBRARY(testScript->hScriptsLib);
|
||||
delete testScript;
|
||||
return false;
|
||||
}
|
||||
|
||||
sLog.outString();
|
||||
sLog.outString( ">>> Scripts Library %s was successfully loaded.\n", name.c_str() );
|
||||
|
||||
//heh we are still there :P we have a valid library
|
||||
//we reload script
|
||||
UnloadScriptingModule();
|
||||
|
||||
Script=testScript;
|
||||
Script->ScriptsInit(sConfig.GetFilename().c_str());
|
||||
|
||||
sWorld.SetScriptsVersion(Script->ScriptsVersion());
|
||||
|
||||
sScriptMgr.ScriptsInit();
|
||||
sWorld.SetScriptsVersion(sScriptMgr.ScriptsVersion());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,8 +34,7 @@ class SpellCastTargets;
|
||||
class Map;
|
||||
class InstanceData;
|
||||
|
||||
bool LoadScriptingModule(char const* libName = "");
|
||||
void UnloadScriptingModule();
|
||||
bool LoadScriptingModule();
|
||||
|
||||
//On Event Handlers
|
||||
typedef void(TRINITY_IMPORT * scriptCallOnLogin) (Player *pPlayer);
|
||||
@@ -130,6 +129,6 @@ typedef struct
|
||||
TRINITY_LIBRARY_HANDLE hScriptsLib;
|
||||
}_ScriptSet,*ScriptsSet;
|
||||
|
||||
extern ScriptsSet Script;
|
||||
//extern ScriptsSet Script;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2,8 +2,13 @@
|
||||
* This program is free software licensed under GPL version 2
|
||||
* Please see the included DOCS/LICENSE.TXT for more information */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#define DO_SCRIPTS
|
||||
#endif
|
||||
|
||||
#ifdef DO_SCRIPTS
|
||||
//custom
|
||||
|
||||
//examples
|
||||
@@ -463,8 +468,12 @@ extern void AddSC_terokkar_forest();
|
||||
extern void AddSC_zangarmarsh();
|
||||
extern void AddSC_onevents();
|
||||
|
||||
#endif
|
||||
|
||||
void AddScripts()
|
||||
{
|
||||
#ifdef DO_SCRIPTS
|
||||
|
||||
//custom
|
||||
|
||||
//examples
|
||||
@@ -923,4 +932,6 @@ void AddScripts()
|
||||
AddSC_terokkar_forest();
|
||||
AddSC_zangarmarsh();
|
||||
AddSC_onevents();
|
||||
|
||||
#endif
|
||||
}
|
||||
@@ -2,20 +2,23 @@
|
||||
* This program is free software licensed under GPL version 2
|
||||
* Please see the included DOCS/LICENSE.TXT for more information */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "Config/Config.h"
|
||||
#include "Database/DatabaseEnv.h"
|
||||
#include "DBCStores.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "ProgressBar.h"
|
||||
#include "../system/ScriptLoader.h"
|
||||
#include "../system/system.h"
|
||||
#include "ScriptLoader.h"
|
||||
#include "ScriptSystem.h"
|
||||
#include "Policies/SingletonImp.h"
|
||||
|
||||
#define _FULLVERSION "TrinityScript"
|
||||
|
||||
#ifndef _TRINITY_SCRIPT_CONFIG
|
||||
# define _TRINITY_SCRIPT_CONFIG "trinitycore.conf"
|
||||
#endif _TRINITY_SCRIPT_CONFIG
|
||||
INSTANTIATE_SINGLETON_1(ScriptMgr);
|
||||
|
||||
//#ifndef _TRINITY_SCRIPT_CONFIG
|
||||
//# define _TRINITY_SCRIPT_CONFIG "trinitycore.conf"
|
||||
//#endif _TRINITY_SCRIPT_CONFIG
|
||||
|
||||
int num_sc_scripts;
|
||||
Script *m_scripts[MAX_SCRIPTS];
|
||||
@@ -26,7 +29,7 @@ void FillSpellSummary();
|
||||
void LoadOverridenSQLData();
|
||||
void LoadOverridenDBCData();
|
||||
|
||||
void LoadDatabase()
|
||||
void ScriptMgr::LoadDatabase()
|
||||
{
|
||||
//Get db string from file
|
||||
std::string dbstring = TScriptConfig.GetStringDefault("WorldDatabaseInfo", "");
|
||||
@@ -63,21 +66,16 @@ struct TSpellSummary {
|
||||
uint8 Effects; // set of enum SelectEffect
|
||||
}extern *SpellSummary;
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void ScriptsFree()
|
||||
ScriptMgr::ScriptMgr()
|
||||
{
|
||||
// Free Spell Summary
|
||||
delete []SpellSummary;
|
||||
|
||||
// Free resources before library unload
|
||||
for (uint16 i =0; i<MAX_SCRIPTS; ++i)
|
||||
delete m_scripts[i];
|
||||
|
||||
num_sc_scripts = 0;
|
||||
|
||||
}
|
||||
ScriptMgr::~ScriptMgr()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void ScriptsInit(char const* cfg_file = _TRINITY_SCRIPT_CONFIG)
|
||||
void ScriptMgr::ScriptsInit(char const* cfg_file)
|
||||
{
|
||||
//Trinity Script startup
|
||||
outstring_log(" _____ _ _ _ ____ _ _");
|
||||
@@ -123,7 +121,7 @@ void ScriptsInit(char const* cfg_file = _TRINITY_SCRIPT_CONFIG)
|
||||
//*********************************
|
||||
//*** Functions used globally ***
|
||||
|
||||
std::string GetConfigValueStr(char const* option)
|
||||
std::string ScriptMgr:: GetConfigValueStr(char const* option)
|
||||
{
|
||||
//Get db string from file
|
||||
std::string dbstring = TScriptConfig.GetStringDefault(option, "");
|
||||
@@ -136,7 +134,7 @@ std::string GetConfigValueStr(char const* option)
|
||||
return dbstring;
|
||||
}
|
||||
|
||||
int32 GetConfigValueInt32(char const* option)
|
||||
int32 ScriptMgr::GetConfigValueInt32(char const* option)
|
||||
{
|
||||
//Get db int from file
|
||||
int32 dbint = TScriptConfig.GetIntDefault(option, 0);
|
||||
@@ -144,7 +142,7 @@ int32 GetConfigValueInt32(char const* option)
|
||||
return dbint;
|
||||
}
|
||||
|
||||
float GetConfigValueFloat(char const* option)
|
||||
float ScriptMgr::GetConfigValueFloat(char const* option)
|
||||
{
|
||||
//Get db int from file
|
||||
float dbfloat = TScriptConfig.GetFloatDefault(option, 0);
|
||||
@@ -251,126 +249,126 @@ void Script::RegisterSelf()
|
||||
//********************************
|
||||
//*** Functions to be Exported ***
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnLogin(Player *pPlayer)
|
||||
//TRINITY_DLL_EXPORT
|
||||
void ScriptMgr::OnLogin(Player *pPlayer)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnLogin) return;
|
||||
tmpscript->pOnLogin(pPlayer);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnLogout(Player *pPlayer)
|
||||
//TRINITY_DLL_EXPORT
|
||||
void ScriptMgr::OnLogout(Player *pPlayer)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnLogout) return;
|
||||
tmpscript->pOnLogout(pPlayer);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnPVPKill(Player *killer, Player *killed)
|
||||
//TRINITY_DLL_EXPORT
|
||||
void ScriptMgr::OnPVPKill(Player *killer, Player *killed)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnPVPKill) return;
|
||||
tmpscript->pOnPVPKill(killer, killed);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnSpellCast (Unit *pUnitTarget, Item *pItemTarget, GameObject *pGoTarget, uint32 i, SpellEntry const *spell)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::OnSpellCast (Unit *pUnitTarget, Item *pItemTarget, GameObject *pGoTarget, uint32 i, SpellEntry const *spell)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnSpellCast) return true;
|
||||
return tmpscript->pOnSpellCast(pUnitTarget,pItemTarget,pGoTarget,i,spell);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
uint32 OnGetXP(Player *pPlayer, uint32 amount)
|
||||
//TRINITY_DLL_EXPORT
|
||||
uint32 ScriptMgr::OnGetXP(Player *pPlayer, uint32 amount)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnGetXP) return amount;
|
||||
return tmpscript->pOnGetXP(pPlayer,amount);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
uint32 OnGetMoney(Player *pPlayer, int32 amount)
|
||||
//TRINITY_DLL_EXPORT
|
||||
uint32 ScriptMgr::OnGetMoney(Player *pPlayer, int32 amount)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnGetMoney) return amount;
|
||||
return tmpscript->pOnGetMoney(pPlayer,amount);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnPlayerChat(Player *pPlayer, const char *text)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::OnPlayerChat(Player *pPlayer, const char *text)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnPlayerChat) return true;
|
||||
return tmpscript->pOnPlayerChat(pPlayer,text);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnServerStartup()
|
||||
//TRINITY_DLL_EXPORT
|
||||
void ScriptMgr::OnServerStartup()
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnServerStartup) return;
|
||||
tmpscript->pOnServerStartup();
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnServerShutdown()
|
||||
//TRINITY_DLL_EXPORT
|
||||
void ScriptMgr::OnServerShutdown()
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnServerShutdown) return;
|
||||
tmpscript->pOnServerShutdown();
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnAreaChange(Player *pPlayer, AreaTableEntry const *pArea)
|
||||
//TRINITY_DLL_EXPORT
|
||||
void ScriptMgr::OnAreaChange(Player *pPlayer, AreaTableEntry const *pArea)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnAreaChange) return;
|
||||
tmpscript->pOnAreaChange(pPlayer, pArea);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnItemClick (Player *pPlayer, Item *pItem)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::OnItemClick (Player *pPlayer, Item *pItem)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnItemClick) return true;
|
||||
return tmpscript->pOnItemClick(pPlayer,pItem);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnItemOpen (Player *pPlayer, Item *pItem)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::OnItemOpen (Player *pPlayer, Item *pItem)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnItemOpen) return true;
|
||||
return tmpscript->pOnItemOpen(pPlayer,pItem);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool OnGoClick (Player *pPlayer, GameObject *pGameObject)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::OnGoClick (Player *pPlayer, GameObject *pGameObject)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnGoClick) return true;
|
||||
return tmpscript->pOnGoClick(pPlayer,pGameObject);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
void OnCreatureKill (Player *pPlayer, Creature *pCreature)
|
||||
//TRINITY_DLL_EXPORT
|
||||
void ScriptMgr::OnCreatureKill (Player *pPlayer, Creature *pCreature)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetScriptId("scripted_on_events")];
|
||||
if (!tmpscript || !tmpscript->pOnCreatureKill) return;
|
||||
tmpscript->pOnCreatureKill(pPlayer,pCreature);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
char const* ScriptsVersion()
|
||||
//TRINITY_DLL_EXPORT
|
||||
char const* ScriptMgr::ScriptsVersion()
|
||||
{
|
||||
return "Default Trinity scripting library";
|
||||
return "Integrated Trinity Scripts";
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GossipHello (Player * pPlayer, Creature* pCreature)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::GossipHello (Player * pPlayer, Creature* pCreature)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pCreature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pGossipHello) return false;
|
||||
@@ -379,8 +377,8 @@ bool GossipHello (Player * pPlayer, Creature* pCreature)
|
||||
return tmpscript->pGossipHello(pPlayer, pCreature);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GossipSelect(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::GossipSelect(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
|
||||
{
|
||||
debug_log("TSCR: Gossip selection, sender: %d, action: %d", uiSender, uiAction);
|
||||
|
||||
@@ -391,8 +389,8 @@ bool GossipSelect(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32
|
||||
return tmpscript->pGossipSelect(pPlayer, pCreature, uiSender, uiAction);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GossipSelectWithCode(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction, const char* sCode)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::GossipSelectWithCode(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction, const char* sCode)
|
||||
{
|
||||
debug_log("TSCR: Gossip selection with code, sender: %d, action: %d", uiSender, uiAction);
|
||||
|
||||
@@ -403,8 +401,8 @@ bool GossipSelectWithCode(Player* pPlayer, Creature* pCreature, uint32 uiSender,
|
||||
return tmpscript->pGossipSelectWithCode(pPlayer, pCreature, uiSender, uiAction, sCode);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GOSelect(Player* pPlayer, GameObject* pGO, uint32 uiSender, uint32 uiAction)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::GOSelect(Player* pPlayer, GameObject* pGO, uint32 uiSender, uint32 uiAction)
|
||||
{
|
||||
if(!pGO)
|
||||
return false;
|
||||
@@ -417,8 +415,8 @@ bool GOSelect(Player* pPlayer, GameObject* pGO, uint32 uiSender, uint32 uiAction
|
||||
return tmpscript->pGOSelect(pPlayer, pGO, uiSender, uiAction);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GOSelectWithCode(Player* pPlayer, GameObject* pGO, uint32 uiSender, uint32 uiAction, const char* sCode)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::GOSelectWithCode(Player* pPlayer, GameObject* pGO, uint32 uiSender, uint32 uiAction, const char* sCode)
|
||||
{
|
||||
if(!pGO)
|
||||
return false;
|
||||
@@ -431,8 +429,8 @@ bool GOSelectWithCode(Player* pPlayer, GameObject* pGO, uint32 uiSender, uint32
|
||||
return tmpscript->pGOSelectWithCode(pPlayer, pGO, uiSender ,uiAction, sCode);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool QuestAccept(Player* pPlayer, Creature* pCreature, Quest const* pQuest)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::QuestAccept(Player* pPlayer, Creature* pCreature, Quest const* pQuest)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pCreature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pQuestAccept) return false;
|
||||
@@ -441,8 +439,8 @@ bool QuestAccept(Player* pPlayer, Creature* pCreature, Quest const* pQuest)
|
||||
return tmpscript->pQuestAccept(pPlayer, pCreature, pQuest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool QuestSelect(Player* pPlayer, Creature* pCreature, Quest const* pQuest)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::QuestSelect(Player* pPlayer, Creature* pCreature, Quest const* pQuest)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pCreature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pQuestSelect) return false;
|
||||
@@ -451,8 +449,8 @@ bool QuestSelect(Player* pPlayer, Creature* pCreature, Quest const* pQuest)
|
||||
return tmpscript->pQuestSelect(pPlayer, pCreature, pQuest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool QuestComplete(Player* pPlayer, Creature* pCreature, Quest const* pQuest)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::QuestComplete(Player* pPlayer, Creature* pCreature, Quest const* pQuest)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pCreature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pQuestComplete) return false;
|
||||
@@ -461,8 +459,8 @@ bool QuestComplete(Player* pPlayer, Creature* pCreature, Quest const* pQuest)
|
||||
return tmpscript->pQuestComplete(pPlayer, pCreature, pQuest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool ChooseReward(Player* pPlayer, Creature* pCreature, Quest const* pQuest, uint32 opt)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::ChooseReward(Player* pPlayer, Creature* pCreature, Quest const* pQuest, uint32 opt)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pCreature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pChooseReward) return false;
|
||||
@@ -471,8 +469,8 @@ bool ChooseReward(Player* pPlayer, Creature* pCreature, Quest const* pQuest, uin
|
||||
return tmpscript->pChooseReward(pPlayer, pCreature, pQuest, opt);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
uint32 NPCDialogStatus(Player* pPlayer, Creature* pCreature)
|
||||
//TRINITY_DLL_EXPORT
|
||||
uint32 ScriptMgr::NPCDialogStatus(Player* pPlayer, Creature* pCreature)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pCreature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->pNPCDialogStatus) return 100;
|
||||
@@ -481,8 +479,8 @@ uint32 NPCDialogStatus(Player* pPlayer, Creature* pCreature)
|
||||
return tmpscript->pNPCDialogStatus(pPlayer, pCreature);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
uint32 GODialogStatus(Player* pPlayer, GameObject* pGO)
|
||||
//TRINITY_DLL_EXPORT
|
||||
uint32 ScriptMgr::GODialogStatus(Player* pPlayer, GameObject* pGO)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pGO->GetGOInfo()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pGODialogStatus) return 100;
|
||||
@@ -491,8 +489,8 @@ uint32 GODialogStatus(Player* pPlayer, GameObject* pGO)
|
||||
return tmpscript->pGODialogStatus(pPlayer, pGO);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool ItemHello(Player* pPlayer, Item* pItem, Quest const* pQuest)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::ItemHello(Player* pPlayer, Item* pItem, Quest const* pQuest)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pItem->GetProto()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pItemHello) return false;
|
||||
@@ -501,8 +499,8 @@ bool ItemHello(Player* pPlayer, Item* pItem, Quest const* pQuest)
|
||||
return tmpscript->pItemHello(pPlayer, pItem, pQuest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool ItemQuestAccept(Player* pPlayer, Item* pItem, Quest const* pQuest)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::ItemQuestAccept(Player* pPlayer, Item* pItem, Quest const* pQuest)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pItem->GetProto()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pItemQuestAccept) return false;
|
||||
@@ -511,8 +509,8 @@ bool ItemQuestAccept(Player* pPlayer, Item* pItem, Quest const* pQuest)
|
||||
return tmpscript->pItemQuestAccept(pPlayer, pItem, pQuest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GOHello(Player* pPlayer, GameObject* pGO)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::GOHello(Player* pPlayer, GameObject* pGO)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pGO->GetGOInfo()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pGOHello) return false;
|
||||
@@ -521,8 +519,8 @@ bool GOHello(Player* pPlayer, GameObject* pGO)
|
||||
return tmpscript->pGOHello(pPlayer, pGO);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GOQuestAccept(Player* pPlayer, GameObject* pGO, Quest const* pQuest)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::GOQuestAccept(Player* pPlayer, GameObject* pGO, Quest const* pQuest)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pGO->GetGOInfo()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pGOQuestAccept) return false;
|
||||
@@ -531,8 +529,8 @@ bool GOQuestAccept(Player* pPlayer, GameObject* pGO, Quest const* pQuest)
|
||||
return tmpscript->pGOQuestAccept(pPlayer, pGO, pQuest);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool GOChooseReward(Player* pPlayer, GameObject* pGO, Quest const* pQuest, uint32 opt)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::GOChooseReward(Player* pPlayer, GameObject* pGO, Quest const* pQuest, uint32 opt)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pGO->GetGOInfo()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pGOChooseReward) return false;
|
||||
@@ -541,8 +539,8 @@ bool GOChooseReward(Player* pPlayer, GameObject* pGO, Quest const* pQuest, uint3
|
||||
return tmpscript->pGOChooseReward(pPlayer, pGO, pQuest, opt);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool AreaTrigger(Player* pPlayer, AreaTriggerEntry * atEntry)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::AreaTrigger(Player* pPlayer, AreaTriggerEntry const* atEntry)
|
||||
{
|
||||
Script *tmpscript = m_scripts[GetAreaTriggerScriptId(atEntry->id)];
|
||||
if (!tmpscript || !tmpscript->pAreaTrigger) return false;
|
||||
@@ -550,8 +548,8 @@ bool AreaTrigger(Player* pPlayer, AreaTriggerEntry * atEntry)
|
||||
return tmpscript->pAreaTrigger(pPlayer, atEntry);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
CreatureAI* GetAI(Creature* pCreature)
|
||||
//TRINITY_DLL_EXPORT
|
||||
CreatureAI* ScriptMgr::GetAI(Creature* pCreature)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pCreature->GetScriptId()];
|
||||
if (!tmpscript || !tmpscript->GetAI) return NULL;
|
||||
@@ -559,8 +557,8 @@ CreatureAI* GetAI(Creature* pCreature)
|
||||
return tmpscript->GetAI(pCreature);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool ItemUse(Player* pPlayer, Item* pItem, SpellCastTargets const& targets)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::ItemUse(Player* pPlayer, Item* pItem, SpellCastTargets const& targets)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pItem->GetProto()->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pItemUse) return false;
|
||||
@@ -568,8 +566,8 @@ bool ItemUse(Player* pPlayer, Item* pItem, SpellCastTargets const& targets)
|
||||
return tmpscript->pItemUse(pPlayer, pItem, targets);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool ItemExpire(Player* pPlayer, ItemPrototype const * pItemProto)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::ItemExpire(Player* pPlayer, ItemPrototype const * pItemProto)
|
||||
{
|
||||
Script *tmpscript = m_scripts[pItemProto->ScriptId];
|
||||
if (!tmpscript || !tmpscript->pItemExpire) return true;
|
||||
@@ -577,8 +575,8 @@ bool ItemExpire(Player* pPlayer, ItemPrototype const * pItemProto)
|
||||
return tmpscript->pItemExpire(pPlayer, pItemProto);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool EffectDummyCreature(Unit *caster, uint32 spellId, uint32 effIndex, Creature *crTarget)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::EffectDummyCreature(Unit *caster, uint32 spellId, uint32 effIndex, Creature *crTarget)
|
||||
{
|
||||
Script *tmpscript = m_scripts[crTarget->GetScriptId()];
|
||||
|
||||
@@ -587,8 +585,8 @@ bool EffectDummyCreature(Unit *caster, uint32 spellId, uint32 effIndex, Creature
|
||||
return tmpscript->pEffectDummyCreature(caster, spellId, effIndex, crTarget);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool EffectDummyGameObj(Unit *caster, uint32 spellId, uint32 effIndex, GameObject *gameObjTarget)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::EffectDummyGameObj(Unit *caster, uint32 spellId, uint32 effIndex, GameObject *gameObjTarget)
|
||||
{
|
||||
Script *tmpscript = m_scripts[gameObjTarget->GetGOInfo()->ScriptId];
|
||||
|
||||
@@ -597,8 +595,8 @@ bool EffectDummyGameObj(Unit *caster, uint32 spellId, uint32 effIndex, GameObjec
|
||||
return tmpscript->pEffectDummyGameObj(caster, spellId, effIndex, gameObjTarget);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
bool EffectDummyItem(Unit *caster, uint32 spellId, uint32 effIndex, Item *itemTarget)
|
||||
//TRINITY_DLL_EXPORT
|
||||
bool ScriptMgr::EffectDummyItem(Unit *caster, uint32 spellId, uint32 effIndex, Item *itemTarget)
|
||||
{
|
||||
Script *tmpscript = m_scripts[itemTarget->GetProto()->ScriptId];
|
||||
|
||||
@@ -607,8 +605,8 @@ bool EffectDummyItem(Unit *caster, uint32 spellId, uint32 effIndex, Item *itemTa
|
||||
return tmpscript->pEffectDummyItem(caster, spellId, effIndex, itemTarget);
|
||||
}
|
||||
|
||||
TRINITY_DLL_EXPORT
|
||||
InstanceData* CreateInstanceData(Map *map)
|
||||
//TRINITY_DLL_EXPORT
|
||||
InstanceData* ScriptMgr::CreateInstanceData(Map *map)
|
||||
{
|
||||
if (!map->IsDungeon()) return NULL;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
/* Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
|
||||
*
|
||||
@@ -12,6 +12,10 @@
|
||||
#include "Platform/CompilerDefs.h"
|
||||
#include "DBCStructure.h"
|
||||
|
||||
#ifndef _TRINITY_SCRIPT_CONFIG
|
||||
# define _TRINITY_SCRIPT_CONFIG "trinitycore.conf"
|
||||
#endif _TRINITY_SCRIPT_CONFIG
|
||||
|
||||
class Player;
|
||||
class Creature;
|
||||
class CreatureAI;
|
||||
@@ -74,7 +78,7 @@ struct Script
|
||||
bool (*pChooseReward )(Player*, Creature*, Quest const*, uint32 );
|
||||
bool (*pItemHello )(Player*, Item*, Quest const* );
|
||||
bool (*pGOHello )(Player*, GameObject* );
|
||||
bool (*pAreaTrigger )(Player*, AreaTriggerEntry* );
|
||||
bool (*pAreaTrigger )(Player*, AreaTriggerEntry const* );
|
||||
bool (*pItemQuestAccept )(Player*, Item *, Quest const* );
|
||||
bool (*pGOQuestAccept )(Player*, GameObject*, Quest const* );
|
||||
bool (*pGOChooseReward )(Player*, GameObject*, Quest const*, uint32 );
|
||||
@@ -90,10 +94,65 @@ struct Script
|
||||
void RegisterSelf();
|
||||
};
|
||||
|
||||
class ScriptMgr
|
||||
{
|
||||
public:
|
||||
ScriptMgr();
|
||||
~ScriptMgr();
|
||||
|
||||
void ScriptsInit(char const* cfg_file = _TRINITY_SCRIPT_CONFIG);
|
||||
void LoadDatabase();
|
||||
char const* ScriptsVersion();
|
||||
|
||||
std::string GetConfigValueStr(char const* option);
|
||||
int32 GetConfigValueInt32(char const* option);
|
||||
float GetConfigValueFloat(char const* option);
|
||||
|
||||
//event handlers
|
||||
void OnLogin(Player *pPlayer);
|
||||
void OnLogout(Player *pPlayer);
|
||||
void OnPVPKill(Player *killer, Player *killed);
|
||||
bool OnSpellCast (Unit *pUnitTarget, Item *pItemTarget, GameObject *pGoTarget, uint32 i, SpellEntry const *spell);
|
||||
uint32 OnGetXP(Player *pPlayer, uint32 amount);
|
||||
uint32 OnGetMoney(Player *pPlayer, int32 amount);
|
||||
bool OnPlayerChat(Player *pPlayer, const char *text);
|
||||
void OnServerStartup();
|
||||
void OnServerShutdown();
|
||||
void OnAreaChange(Player *pPlayer, AreaTableEntry const *pArea);
|
||||
bool OnItemClick (Player *pPlayer, Item *pItem);
|
||||
bool OnItemOpen (Player *pPlayer, Item *pItem);
|
||||
bool OnGoClick (Player *pPlayer, GameObject *pGameObject);
|
||||
void OnCreatureKill (Player *pPlayer, Creature *pCreature);
|
||||
bool GossipHello (Player * pPlayer, Creature* pCreature);
|
||||
bool GossipSelect(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction);
|
||||
bool GossipSelectWithCode(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction, const char* sCode);
|
||||
bool GOSelect(Player* pPlayer, GameObject* pGO, uint32 uiSender, uint32 uiAction);
|
||||
bool GOSelectWithCode(Player* pPlayer, GameObject* pGO, uint32 uiSender, uint32 uiAction, const char* sCode);
|
||||
bool QuestAccept(Player* pPlayer, Creature* pCreature, Quest const* pQuest);
|
||||
bool QuestSelect(Player* pPlayer, Creature* pCreature, Quest const* pQuest);
|
||||
bool QuestComplete(Player* pPlayer, Creature* pCreature, Quest const* pQuest);
|
||||
bool ChooseReward(Player* pPlayer, Creature* pCreature, Quest const* pQuest, uint32 opt);
|
||||
uint32 NPCDialogStatus(Player* pPlayer, Creature* pCreature);
|
||||
uint32 GODialogStatus(Player* pPlayer, GameObject* pGO);
|
||||
bool ItemHello(Player* pPlayer, Item* pItem, Quest const* pQuest);
|
||||
bool ItemQuestAccept(Player* pPlayer, Item* pItem, Quest const* pQuest);
|
||||
bool GOHello(Player* pPlayer, GameObject* pGO);
|
||||
bool GOQuestAccept(Player* pPlayer, GameObject* pGO, Quest const* pQuest);
|
||||
bool GOChooseReward(Player* pPlayer, GameObject* pGO, Quest const* pQuest, uint32 opt);
|
||||
bool AreaTrigger(Player* pPlayer,AreaTriggerEntry const* atEntry);
|
||||
CreatureAI* GetAI(Creature* pCreature);
|
||||
bool ItemUse(Player* pPlayer, Item* pItem, SpellCastTargets const& targets);
|
||||
bool ItemExpire(Player* pPlayer, ItemPrototype const * pItemProto);
|
||||
bool EffectDummyCreature(Unit *caster, uint32 spellId, uint32 effIndex, Creature *crTarget);
|
||||
bool EffectDummyGameObj(Unit *caster, uint32 spellId, uint32 effIndex, GameObject *gameObjTarget);
|
||||
bool EffectDummyItem(Unit *caster, uint32 spellId, uint32 effIndex, Item *itemTarget);
|
||||
InstanceData* CreateInstanceData(Map *map);
|
||||
};
|
||||
|
||||
//Config file accessors
|
||||
std::string GetConfigValueStr(char const* option);
|
||||
int32 GetConfigValueInt32(char const* option);
|
||||
float GetConfigValueFloat(char const* option);
|
||||
//std::string GetConfigValueStr(char const* option);
|
||||
//int32 GetConfigValueInt32(char const* option);
|
||||
//float GetConfigValueFloat(char const* option);
|
||||
|
||||
//Generic scripting text function
|
||||
void DoScriptText(int32 textEntry, WorldObject* pSource, Unit *pTarget = NULL);
|
||||
@@ -103,7 +162,7 @@ void DoScriptText(int32 textEntry, WorldObject* pSource, Unit *pTarget = NULL);
|
||||
#else
|
||||
#define FUNC_PTR(name, callconvention, returntype, parameters) typedef returntype(callconvention *name)parameters;
|
||||
#endif
|
||||
|
||||
/*
|
||||
#ifdef WIN32
|
||||
#define TRINITY_DLL_EXPORT extern "C" __declspec(dllexport)
|
||||
#elif defined( __GNUC__ )
|
||||
@@ -111,6 +170,7 @@ void DoScriptText(int32 textEntry, WorldObject* pSource, Unit *pTarget = NULL);
|
||||
#else
|
||||
#define TRINITY_DLL_EXPORT extern "C" export
|
||||
#endif
|
||||
|
||||
*/
|
||||
#define sScriptMgr Trinity::Singleton<ScriptMgr>::Instance()
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
* Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: MaNGOS <http://getmangos.com/>
|
||||
*
|
||||
@@ -18,8 +18,8 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "system.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "ScriptSystem.h"
|
||||
#include "ProgressBar.h"
|
||||
#include "ObjectMgr.h"
|
||||
#include "Database/DatabaseEnv.h"
|
||||
@@ -1,11 +1,11 @@
|
||||
/* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
/* Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
|
||||
*
|
||||
* This program is free software licensed under GPL version 2
|
||||
* Please see the included DOCS/LICENSE.TXT for more information */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "Item.h"
|
||||
#include "Spell.h"
|
||||
#include "ObjectMgr.h"
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
/* Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
|
||||
*
|
||||
@@ -9,8 +9,8 @@ SDComment:
|
||||
SDCategory: Npc
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "escort_ai.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "ScriptedEscortAI.h"
|
||||
|
||||
enum ePoints
|
||||
{
|
||||
@@ -5,7 +5,7 @@
|
||||
#ifndef SC_ESCORTAI_H
|
||||
#define SC_ESCORTAI_H
|
||||
|
||||
#include "../system/system.h"
|
||||
#include "ScriptSystem.h"
|
||||
|
||||
#define DEFAULT_MAX_PLAYER_DISTANCE 50
|
||||
|
||||
@@ -9,8 +9,8 @@ SDComment: This AI is under development
|
||||
SDCategory: Npc
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "follower_ai.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "ScriptedFollowerAI.h"
|
||||
|
||||
const float MAX_PLAYER_DISTANCE = 100.0f;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#ifndef SC_FOLLOWERAI_H
|
||||
#define SC_FOLLOWERAI_H
|
||||
|
||||
#include "../system/system.h"
|
||||
#include "ScriptSystem.h"
|
||||
|
||||
enum eFollowState
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
|
||||
/* Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/>
|
||||
*
|
||||
* Thanks to the original authors: ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
|
||||
*
|
||||
@@ -21,8 +21,8 @@ SDComment:
|
||||
SDCategory: Guards
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "guard_ai.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "ScriptedGuardAI.h"
|
||||
|
||||
// **** This script is for use within every single guard to save coding time ****
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
* This program is free software licensed under GPL version 2
|
||||
* Please see the included DOCS/LICENSE.TXT for more information */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#ifndef SC_PRECOMPILED_H
|
||||
#define SC_PRECOMPILED_H
|
||||
|
||||
#include "../ScriptMgr.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "Cell.h"
|
||||
#include "CellImpl.h"
|
||||
#include "GameEventMgr.h"
|
||||
@@ -13,9 +13,9 @@
|
||||
#include "GridNotifiersImpl.h"
|
||||
#include "Unit.h"
|
||||
#include "GameObject.h"
|
||||
#include "sc_creature.h"
|
||||
#include "sc_gossip.h"
|
||||
#include "sc_instance.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "ScriptedInstance.h"
|
||||
#include "CombatAI.h"
|
||||
#include "PassiveAI.h"
|
||||
#include "Chat.h"
|
||||
@@ -24,13 +24,13 @@
|
||||
|
||||
#ifdef WIN32
|
||||
#include <windows.h>
|
||||
BOOL APIENTRY DllMain( HANDLE hModule,
|
||||
/*BOOL APIENTRY DllMain( HANDLE hModule,
|
||||
DWORD ul_reason_for_call,
|
||||
LPVOID lpReserved
|
||||
)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -21,8 +21,8 @@ SDComment: Base Class for SimpleAI creatures
|
||||
SDCategory: Creatures
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "simple_ai.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "ScriptedSimpleAI.h"
|
||||
|
||||
SimpleAI::SimpleAI(Creature *c) : ScriptedAI(c)
|
||||
{
|
||||
+3
-2
@@ -52,6 +52,7 @@
|
||||
#include "ScriptCalls.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellId.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
#define SPELL_CHANNEL_UPDATE_INTERVAL (1 * IN_MILISECONDS)
|
||||
|
||||
@@ -4297,7 +4298,7 @@ void Spell::HandleThreatSpells(uint32 spellId)
|
||||
void Spell::HandleEffects(Unit *pUnitTarget,Item *pItemTarget,GameObject *pGOTarget,uint32 i)
|
||||
{
|
||||
|
||||
if (!Script->OnSpellCast(pUnitTarget,pItemTarget,pGOTarget,i,m_spellInfo))
|
||||
if (!sScriptMgr.OnSpellCast(pUnitTarget,pItemTarget,pGOTarget,i,m_spellInfo))
|
||||
return;
|
||||
|
||||
//effect has been handled, skip it
|
||||
@@ -4467,7 +4468,7 @@ SpellCastResult Spell::CheckCast(bool strict)
|
||||
{
|
||||
if (target->GetTypeId() == TYPEID_PLAYER)
|
||||
return SPELL_FAILED_BAD_TARGETS;
|
||||
else if ((target->GetCreatureTypeMask() & CREATURE_TYPEMASK_HUMANOID_OR_UNDEAD) == 0)
|
||||
else if ((target->GetCreatureTypeMask() & CREATURE_TYPEMASK_HUMANOID_OR_UNDEAD) == 0)
|
||||
return SPELL_FAILED_TARGET_NO_POCKETS;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "GridNotifiers.h"
|
||||
#include "GridNotifiersImpl.h"
|
||||
#include "CellImpl.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
class Aura;
|
||||
//
|
||||
@@ -2189,7 +2190,7 @@ void AuraEffect::TriggerSpell(Unit * target, Unit * caster) const
|
||||
triggerTarget = target; //for druid dispel poison
|
||||
target->CastSpell(triggerTarget, triggeredSpellInfo, true, 0, this, GetCasterGUID());
|
||||
}
|
||||
else if(target->GetTypeId()!=TYPEID_UNIT || !Script->EffectDummyCreature(caster, GetId(), GetEffIndex(), (Creature*)target))
|
||||
else if(target->GetTypeId()!=TYPEID_UNIT || !sScriptMgr.EffectDummyCreature(caster, GetId(), GetEffIndex(), (Creature*)target))
|
||||
sLog.outError("AuraEffect::TriggerSpell: Spell %u have 0 in EffectTriggered[%d], not handled custom case?",GetId(),GetEffIndex());
|
||||
}
|
||||
|
||||
@@ -6007,13 +6008,13 @@ void AuraEffect::HandleAuraModFaction(AuraApplication const * aurApp, uint8 mode
|
||||
if(apply)
|
||||
{
|
||||
target->setFaction(GetMiscValue());
|
||||
if(target->GetTypeId()==TYPEID_PLAYER)
|
||||
if(target->GetTypeId()==TYPEID_PLAYER)
|
||||
target->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE);
|
||||
}
|
||||
else
|
||||
{
|
||||
target->RestoreFaction();
|
||||
if(target->GetTypeId()==TYPEID_PLAYER)
|
||||
if(target->GetTypeId()==TYPEID_PLAYER)
|
||||
target->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
#include "SkillDiscovery.h"
|
||||
#include "Formulas.h"
|
||||
#include "Vehicle.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
|
||||
{
|
||||
@@ -2145,11 +2146,11 @@ void Spell::EffectDummy(uint32 i)
|
||||
// Script based implementation. Must be used only for not good for implementation in core spell effects
|
||||
// So called only for not proccessed cases
|
||||
if(gameObjTarget)
|
||||
Script->EffectDummyGameObj(m_caster, m_spellInfo->Id, i, gameObjTarget);
|
||||
sScriptMgr.EffectDummyGameObj(m_caster, m_spellInfo->Id, i, gameObjTarget);
|
||||
else if(unitTarget && unitTarget->GetTypeId() == TYPEID_UNIT)
|
||||
Script->EffectDummyCreature(m_caster, m_spellInfo->Id, i, (Creature*)unitTarget);
|
||||
sScriptMgr.EffectDummyCreature(m_caster, m_spellInfo->Id, i, (Creature*)unitTarget);
|
||||
else if(itemTarget)
|
||||
Script->EffectDummyItem(m_caster, m_spellInfo->Id, i, itemTarget);
|
||||
sScriptMgr.EffectDummyItem(m_caster, m_spellInfo->Id, i, itemTarget);
|
||||
}
|
||||
|
||||
void Spell::EffectTriggerSpellWithValue(uint32 i)
|
||||
@@ -3254,7 +3255,7 @@ void Spell::SendLoot(uint64 guid, LootType loottype)
|
||||
|
||||
if (gameObjTarget)
|
||||
{
|
||||
if (Script->GOHello(player, gameObjTarget))
|
||||
if (sScriptMgr.GOHello(player, gameObjTarget))
|
||||
return;
|
||||
|
||||
switch (gameObjTarget->GetGoType())
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "TemporarySummon.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "CreatureAI.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
|
||||
{
|
||||
@@ -146,7 +147,7 @@ void WorldSession::HandleUseItemOpcode(WorldPacket& recvPacket)
|
||||
}
|
||||
|
||||
//Note: If script stop casting it must send appropriate data to client to prevent stuck item in gray state.
|
||||
if(!Script->ItemUse(pUser,pItem,targets))
|
||||
if(!sScriptMgr.ItemUse(pUser,pItem,targets))
|
||||
{
|
||||
// no script or script not process request by self
|
||||
pUser->CastItemUseSpell(pItem,targets,cast_count,glyphIndex);
|
||||
@@ -257,7 +258,7 @@ void WorldSession::HandleGameObjectUseOpcode( WorldPacket & recv_data )
|
||||
if(!obj)
|
||||
return;
|
||||
|
||||
if (Script->GOHello(_player, obj))
|
||||
if (sScriptMgr.GOHello(_player, obj))
|
||||
return;
|
||||
|
||||
obj->Use(_player);
|
||||
|
||||
@@ -3563,8 +3563,8 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
count++;
|
||||
break;
|
||||
case SPELL_EFFECT_PICKPOCKET:
|
||||
mSpellCustomAttr[i] |= SPELL_ATTR_CU_PICKPOCKET;
|
||||
break;
|
||||
mSpellCustomAttr[i] |= SPELL_ATTR_CU_PICKPOCKET;
|
||||
break;
|
||||
case SPELL_EFFECT_TRIGGER_SPELL:
|
||||
if (IsPositionTarget(spellInfo->EffectImplicitTargetA[j]) ||
|
||||
spellInfo->Targets & (TARGET_FLAG_SOURCE_LOCATION|TARGET_FLAG_DEST_LOCATION))
|
||||
|
||||
+1
-1
@@ -827,7 +827,7 @@ inline bool IsProfessionSkill(uint32 skill)
|
||||
#define SPELL_ATTR_CU_LINK_HIT 0x00000800
|
||||
#define SPELL_ATTR_CU_LINK_AURA 0x00001000
|
||||
#define SPELL_ATTR_CU_LINK_REMOVE 0x00002000
|
||||
#define SPELL_ATTR_CU_PICKPOCKET 0x00004000
|
||||
#define SPELL_ATTR_CU_PICKPOCKET 0x00004000
|
||||
#define SPELL_ATTR_CU_EXCLUDE_SELF 0x00008000
|
||||
#define SPELL_ATTR_CU_NEGATIVE_EFF0 0x00010000
|
||||
#define SPELL_ATTR_CU_NEGATIVE_EFF1 0x00020000
|
||||
|
||||
+3
-4
@@ -68,6 +68,7 @@
|
||||
#include "CreatureGroups.h"
|
||||
#include "Transports.h"
|
||||
#include "ProgressBar.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
INSTANTIATE_SINGLETON_1(World);
|
||||
|
||||
@@ -1680,9 +1681,7 @@ void World::SetInitialWorldSettings()
|
||||
sLog.SetLogDB(false);
|
||||
sLog.SetLogDBLater(false);
|
||||
}
|
||||
|
||||
Script->OnServerStartup();
|
||||
|
||||
sScriptMgr.OnServerStartup();
|
||||
sLog.outString("WORLD: World initialized");
|
||||
}
|
||||
|
||||
@@ -2298,7 +2297,7 @@ void World::ShutdownServ(uint32 time, uint32 options, uint8 exitcode)
|
||||
ShutdownMsg(true);
|
||||
}
|
||||
|
||||
Script->OnServerShutdown();
|
||||
sScriptMgr.OnServerShutdown();
|
||||
}
|
||||
|
||||
/// Display a shutdown message to the user(s)
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "SocialMgr.h"
|
||||
#include "zlib/zlib.h"
|
||||
#include "ScriptCalls.h"
|
||||
#include "ScriptMgr.h"
|
||||
|
||||
/// WorldSession constructor
|
||||
WorldSession::WorldSession(uint32 id, WorldSocket *sock, AccountTypes sec, uint8 expansion, time_t mute_time, LocaleConstant locale) :
|
||||
@@ -457,7 +458,7 @@ void WorldSession::LogoutPlayer(bool Save)
|
||||
}
|
||||
|
||||
//Hook for OnLogout Event
|
||||
Script->OnLogout(_player);
|
||||
sScriptMgr.OnLogout(_player);
|
||||
|
||||
m_playerLogout = false;
|
||||
m_playerSave = false;
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
//#include "pchdef.h"
|
||||
#include "pchdef.h"
|
||||
@@ -10,3 +10,5 @@
|
||||
#include "Opcodes.h"
|
||||
#include "SharedDefines.h"
|
||||
#include "ObjectMgr.h"
|
||||
|
||||
#include "ScriptedPch.h"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "WorldPacket.h"
|
||||
|
||||
#define GOSSIP_FLIGHT "I need a ride"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "WorldPacket.h"
|
||||
|
||||
#define GOSSIP_UP "My Lord, I must go to the upper floor of the temple."
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "sc_defines.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include <cstring>
|
||||
|
||||
//This function is called when the player logs in (every login)
|
||||
+1
-2
@@ -24,10 +24,9 @@ EndScriptData */
|
||||
/* ContentData
|
||||
EndContentData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
/*void AddSC_alterac_mountains()
|
||||
{
|
||||
Script *newscript;
|
||||
}*/
|
||||
|
||||
+2
-3
@@ -25,8 +25,8 @@ EndScriptData */
|
||||
npc_professor_phizzlethorpe
|
||||
EndContentData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "escort_ai.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "ScriptedEscortAI.h"
|
||||
|
||||
/*######
|
||||
## npc_professor_phizzlethorpe
|
||||
@@ -130,4 +130,3 @@ void AddSC_arathi_highlands()
|
||||
newscript->pQuestAccept = &QuestAccept_npc_professor_phizzlethorpe;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+3
-4
@@ -36,8 +36,8 @@ npc_tobias_seecher
|
||||
npc_rocknot
|
||||
EndContentData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "escort_ai.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "ScriptedEscortAI.h"
|
||||
#include "blackrock_depths.h"
|
||||
|
||||
/*######
|
||||
@@ -89,7 +89,7 @@ uint32 RingBoss[]=
|
||||
9032, // Hedrum
|
||||
};
|
||||
|
||||
bool AreaTrigger_at_ring_of_law(Player* pPlayer, AreaTriggerEntry *at)
|
||||
bool AreaTrigger_at_ring_of_law(Player* pPlayer, const AreaTriggerEntry *at)
|
||||
{
|
||||
if (ScriptedInstance* pInstance = pPlayer->GetInstanceData())
|
||||
{
|
||||
@@ -1331,4 +1331,3 @@ void AddSC_blackrock_depths()
|
||||
newscript->pChooseReward = &ChooseReward_npc_rocknot;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
-1
@@ -35,4 +35,3 @@ enum eTypes
|
||||
DATA_EVENSTARTER = 21
|
||||
};
|
||||
#endif
|
||||
|
||||
+1
-2
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Depths
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
@@ -89,4 +89,3 @@ void AddSC_boss_ambassador_flamelash()
|
||||
newscript->GetAI = &GetAI_boss_ambassador_flamelash;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-2
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Depths
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
@@ -114,4 +114,3 @@ void AddSC_boss_anubshiah()
|
||||
newscript->GetAI = &GetAI_boss_anubshiah;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-2
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Depths
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
enum Yells
|
||||
{
|
||||
@@ -109,4 +109,3 @@ void AddSC_boss_draganthaurissan()
|
||||
newscript->GetAI = &GetAI_boss_draganthaurissan;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-2
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Depths
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
@@ -130,4 +130,3 @@ void AddSC_boss_general_angerforge()
|
||||
newscript->GetAI = &GetAI_boss_general_angerforge;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-2
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Depths
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
@@ -82,4 +82,3 @@ void AddSC_boss_gorosh_the_dervish()
|
||||
newscript->GetAI = &GetAI_boss_gorosh_the_dervish;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-2
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Depths
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
enum Yells
|
||||
{
|
||||
@@ -92,4 +92,3 @@ void AddSC_boss_grizzle()
|
||||
newscript->GetAI = &GetAI_boss_grizzle;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-2
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Depths
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
@@ -104,4 +104,3 @@ void AddSC_boss_high_interrogator_gerstahn()
|
||||
newscript->GetAI = &GetAI_boss_high_interrogator_gerstahn;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-2
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Depths
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
@@ -85,4 +85,3 @@ void AddSC_boss_magmus()
|
||||
newscript->GetAI = &GetAI_boss_magmus;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-2
@@ -21,7 +21,7 @@ SDComment: Healing of Emperor NYI
|
||||
SDCategory: Blackrock Depths
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
enum Spells
|
||||
{
|
||||
@@ -100,4 +100,3 @@ void AddSC_boss_moira_bronzebeard()
|
||||
newscript->GetAI = &GetAI_boss_moira_bronzebeard;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-2
@@ -21,7 +21,7 @@ SDComment: Learning Smelt Dark Iron if tribute quest rewarded. Missing event.
|
||||
SDCategory: Blackrock Depths
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "blackrock_depths.h"
|
||||
|
||||
enum Spells
|
||||
@@ -256,4 +256,3 @@ void AddSC_boss_tomb_of_seven()
|
||||
newscript->pGossipSelect = &GossipSelect_boss_doomrel;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-2
@@ -29,7 +29,7 @@ update `creature_template` set `npcflag`='1',`ScriptName`='npc_tobias_seecher' w
|
||||
update `instance_template` set `script`='instance_blackrock_depths' where `map`='230';
|
||||
*/
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
#include "blackrock_depths.h"
|
||||
|
||||
#define TIMER_TOMBOFTHESEVEN 15000
|
||||
@@ -421,4 +421,3 @@ InstanceData* GetInstanceData_instance_blackrock_depths(Map* pMap)
|
||||
newscript->GetInstanceData = &GetInstanceData_instance_blackrock_depths;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_FIRENOVA 23462
|
||||
#define SPELL_CLEAVE 20691
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_CORROSIVEACID 20667
|
||||
#define SPELL_FREEZE 18763
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_CROWDPUMMEL 10887
|
||||
#define SPELL_MIGHTYBLOW 14099
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_WARSTOMP 24375
|
||||
#define SPELL_CLEAVE 15579
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment: Uncertain how often mother's milk is casted
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_CRYSTALIZE 16104
|
||||
#define SPELL_MOTHERSMILK 16468
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_BLASTWAVE 11130
|
||||
#define SPELL_SHOUT 23511
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment: Event to activate Emberseer NYI
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_FIRENOVA 23462
|
||||
#define SPELL_FLAMEBUFFET 23341
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment: Needs revision
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_SHOOT 16496
|
||||
#define SPELL_STUNBOMB 16497
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment: Intro event NYI
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_WHIRLWIND 26038
|
||||
#define SPELL_CLEAVE 20691
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_CURSEOFBLOOD 24673
|
||||
#define SPELL_HEX 16708
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_FLAMEBREAK 16785
|
||||
#define SPELL_IMMOLATE 20294
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackrock Spire
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SPELL_SNAPKICK 15618
|
||||
#define SPELL_CLEAVE 15579
|
||||
+1
-1
@@ -21,7 +21,7 @@ SDComment:
|
||||
SDCategory: Blackwing Lair
|
||||
EndScriptData */
|
||||
|
||||
#include "precompiled.h"
|
||||
#include "ScriptedPch.h"
|
||||
|
||||
#define SAY_AGGRO -1469000
|
||||
#define SAY_LEASH -1469001
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user