aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dep/src/g3dlite/Makefile.am41
-rw-r--r--dep/src/zlib/Makefile.am56
-rw-r--r--dep/src/zthread/Makefile.am132
-rw-r--r--sql/updates/1261_world.sql1
-rw-r--r--sql/updates/1265_world.sql1
-rw-r--r--src/bindings/scripts/ScriptMgr.cpp24
-rw-r--r--src/bindings/scripts/ScriptMgr.h2
-rw-r--r--src/bindings/scripts/scripts/go/go_scripts.cpp19
-rw-r--r--src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp57
-rw-r--r--src/game/MiscHandler.cpp74
-rw-r--r--src/game/NPCHandler.cpp4
-rw-r--r--src/game/ScriptCalls.cpp2
-rw-r--r--src/game/ScriptCalls.h4
13 files changed, 186 insertions, 231 deletions
diff --git a/dep/src/g3dlite/Makefile.am b/dep/src/g3dlite/Makefile.am
deleted file mode 100644
index 0130a29f571..00000000000
--- a/dep/src/g3dlite/Makefile.am
+++ /dev/null
@@ -1,41 +0,0 @@
-## Modified for Trinity <http://www.trinitycore.org/>
-##
-## Permission is hereby granted, free of charge, to any person obtaining a copy
-## of this software and associated documentation files (the "Software"), to deal
-## in the Software without restriction, including without limitation the rights
-## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-## copies of the Software, and to permit persons to whom the Software is furnished
-## to do so, subject to the following conditions:
-##
-## The above copyright notice and this permission notice shall be included in all
-## copies or substantial portions of the Software.
-##
-## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-## WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-## CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-## Process this file with automake to produce Makefile.in
-
-## CPP flags for includes, defines, etc.
-AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../../include -I$(srcdir)/../../include/g3dlite
-
-noinst_LIBRARIES = libg3dlite.a
-libg3dlite_a_SOURCES = \
- AABox.cpp \
- Box.cpp \
- Crypto.cpp \
- format.cpp \
- Matrix3.cpp \
- Plane.cpp \
- System.cpp \
- Triangle.cpp \
- Vector3.cpp \
- Vector4.cpp
-
-EXTRA_DIST = \
- license.html
-
-
diff --git a/dep/src/zlib/Makefile.am b/dep/src/zlib/Makefile.am
deleted file mode 100644
index 9be7fb3b97e..00000000000
--- a/dep/src/zlib/Makefile.am
+++ /dev/null
@@ -1,56 +0,0 @@
-## Modified for Trinity <http://www.trinitycore.org/>
-##
-## Permission is hereby granted, free of charge, to any person obtaining a copy
-## of this software and associated documentation files (the "Software"), to deal
-## in the Software without restriction, including without limitation the rights
-## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-## copies of the Software, and to permit persons to whom the Software is furnished
-## to do so, subject to the following conditions:
-##
-## The above copyright notice and this permission notice shall be included in all
-## copies or substantial portions of the Software.
-##
-## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-## WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-## CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-## Process this file with automake to produce Makefile.in
-
-## CPP flags for includes, defines, etc.
-AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../../include -I$(srcdir)/../../include/zlib
-
-## Build zlib as convenience library.
-# libzlib conveniece library will later be reused by ...
-noinst_LIBRARIES = libzlib.a
-libzlib_a_SOURCES = \
- adler32.c \
- compress.c \
- crc32.c \
- deflate.c \
- example.c \
- gzio.c \
- infback.c \
- inffast.c \
- inflate.c \
- inftrees.c \
- trees.c \
- uncompr.c \
- zutil.c
-
-## Additional files to include when running 'make dist'
-# Nothing yet.
-EXTRA_DIST = \
- crc32.h \
- deflate.h \
- inffast.h \
- inffixed.h \
- inflate.h \
- inftrees.h \
- trees.h \
- zconf.h \
- zlib.h \
- zutil.h
-
diff --git a/dep/src/zthread/Makefile.am b/dep/src/zthread/Makefile.am
deleted file mode 100644
index df92221c926..00000000000
--- a/dep/src/zthread/Makefile.am
+++ /dev/null
@@ -1,132 +0,0 @@
-## Copyright (c) 2005, Eric Crahen
-## Modified for Trinity <http://www.trinitycore.org/>
-##
-## Permission is hereby granted, free of charge, to any person obtaining a copy
-## of this software and associated documentation files (the "Software"), to deal
-## in the Software without restriction, including without limitation the rights
-## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-## copies of the Software, and to permit persons to whom the Software is furnished
-## to do so, subject to the following conditions:
-##
-## The above copyright notice and this permission notice shall be included in all
-## copies or substantial portions of the Software.
-##
-## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-## WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-## CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-## Process this file with automake to produce Makefile.in
-
-## CPP flags for includes, defines, etc.
-AM_CPPFLAGS = -I$(srcdir)/../../include -I$(srcdir)/../../include/zthread
-
-## Build ZThread as shared library.
-# libZThread shared library will later be reused by realm list daemon
-# and world server daemon.
-lib_LTLIBRARIES = libZThread.la
-libZThread_la_SOURCES = \
- AtomicCount.cxx \
- Condition.cxx \
- ConcurrentExecutor.cxx \
- CountingSemaphore.cxx \
- FastMutex.cxx \
- FastRecursiveMutex.cxx \
- Mutex.cxx \
- RecursiveMutexImpl.cxx \
- RecursiveMutex.cxx \
- Monitor.cxx \
- PoolExecutor.cxx \
- PriorityCondition.cxx \
- PriorityInheritanceMutex.cxx \
- PriorityMutex.cxx \
- PrioritySemaphore.cxx \
- Semaphore.cxx \
- SynchronousExecutor.cxx \
- Thread.cxx \
- ThreadedExecutor.cxx \
- ThreadImpl.cxx \
- ThreadLocalImpl.cxx \
- ThreadQueue.cxx \
- Time.cxx \
- ThreadOps.cxx
-
-## libtool settings
-# API versioning
-# Link against dependencies
-# How to increase version info:
-# - only bug fixes implemented:
-# bump the version to LTZTHREAD_CURRENT:LTZTHREAD_REVISION+1:LTZTHREAD_AGE
-# - augmented the interface:
-# bump the version to LTZTHREAD_CURRENT+1:0:LTZTHREAD_AGE+1
-# - broken old interface:
-# bump the version to LTZTHREAD_CURRENT+1:0:0
-LTZTHREAD_CURRENT = 2
-LTZTHREAD_REVISION = 3
-LTZTHREAD_AGE = 2
-libZThread_la_LDFLAGS = -version-info $(LTZTHREAD_CURRENT):$(LTZTHREAD_REVISION):$(LTZTHREAD_AGE)
-
-## Additional files to include when running 'make dist'
-# Header files.
-EXTRA_DIST = \
- ConditionImpl.h \
- Debug.h \
- DeferredInterruptionScope.h \
- FastLock.h \
- FastRecursiveLock.h \
- IntrusivePtr.h \
- Monitor.h \
- MutexImpl.h \
- RecursiveMutexImpl.h \
- Scheduling.h \
- SemaphoreImpl.h \
- State.h \
- Status.h \
- TSS.h \
- ThreadImpl.h \
- ThreadOps.h \
- ThreadQueue.h \
- TimeStrategy.h \
- config.h
-
-# Implementation specific files.
-EXTRA_DIST += \
- linux/AtomicCount.cxx \
- linux/AtomicFastLock.h \
- linux/FastRecursiveLock.h \
- macos/FastLock.h \
- macos/Monitor.cxx \
- macos/Monitor.h \
- macos/TSS.h \
- macos/ThreadOps.cxx \
- macos/ThreadOps.h \
- macos/UpTimeStrategy.h \
- posix/ConditionRecursiveLock.h \
- posix/FastLock.h \
- posix/FtimeStrategy.h \
- posix/GetTimeOfDayStrategy.h \
- posix/Monitor.cxx \
- posix/Monitor.h \
- posix/PriorityOps.h \
- posix/TSS.h \
- posix/ThreadOps.cxx \
- posix/ThreadOps.h \
- solaris/FastRecursiveLock.h \
- vanilla/DualMutexRecursiveLock.h \
- vanilla/SimpleAtomicCount.cxx \
- vanilla/SimpleRecursiveLock.h \
- win32/AtomicCount.cxx \
- win32/AtomicFastLock.h \
- win32/AtomicFastRecursiveLock.h \
- win32/FastLock.h \
- win32/FastRecursiveLock.h \
- win32/Monitor.cxx \
- win32/Monitor.h \
- win32/PerformanceCounterStrategy.h \
- win32/TSS.h \
- win32/ThreadOps.cxx \
- win32/ThreadOps.h \
- win9x/AtomicCount.cxx \
- win9x/AtomicFastLock.h
diff --git a/sql/updates/1261_world.sql b/sql/updates/1261_world.sql
new file mode 100644
index 00000000000..3f97153d3dd
--- /dev/null
+++ b/sql/updates/1261_world.sql
@@ -0,0 +1 @@
+UPDATE `gameobject_template` SET `scriptname` = 'go_sacred_fire_of_life' WHERE `entry` = 175944;
diff --git a/sql/updates/1265_world.sql b/sql/updates/1265_world.sql
new file mode 100644
index 00000000000..5b5b87523cc
--- /dev/null
+++ b/sql/updates/1265_world.sql
@@ -0,0 +1 @@
+UPDATE `gameobject_template` SET `scriptname`='go_skull_pile' WHERE `entry`=185913;
diff --git a/src/bindings/scripts/ScriptMgr.cpp b/src/bindings/scripts/ScriptMgr.cpp
index 09bbf7955e8..7987d5f1788 100644
--- a/src/bindings/scripts/ScriptMgr.cpp
+++ b/src/bindings/scripts/ScriptMgr.cpp
@@ -2303,6 +2303,30 @@ bool GossipSelectWithCode( Player *player, Creature *_Creature, uint32 sender, u
}
TRINITY_DLL_EXPORT
+bool GOSelect( Player *player, GameObject *_GO, uint32 sender, uint32 action )
+{
+ 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 )
+{
+ 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()];
diff --git a/src/bindings/scripts/ScriptMgr.h b/src/bindings/scripts/ScriptMgr.h
index 7d814c373da..69ade0e4a45 100644
--- a/src/bindings/scripts/ScriptMgr.h
+++ b/src/bindings/scripts/ScriptMgr.h
@@ -45,6 +45,8 @@ struct Script
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* );
diff --git a/src/bindings/scripts/scripts/go/go_scripts.cpp b/src/bindings/scripts/scripts/go/go_scripts.cpp
index faa55482b8a..bfa0eff3dd8 100644
--- a/src/bindings/scripts/scripts/go/go_scripts.cpp
+++ b/src/bindings/scripts/scripts/go/go_scripts.cpp
@@ -219,6 +219,20 @@ bool GOHello_go_ethereum_prison(Player *player, GameObject* _GO)
return true;
}
+/*######
+## go_sacred_fire_of_life
+######*/
+
+#define NPC_ARIKARA 10882
+
+bool GOHello_go_sacred_fire_of_life(Player* pPlayer, GameObject* pGO)
+{
+ if (pGO->GetGoType() == GAMEOBJECT_TYPE_GOOBER)
+ pPlayer->SummonCreature(NPC_ARIKARA, -5008.338, -2118.894, 83.657, 0.874, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
+
+ return true;
+}
+
void AddSC_go_scripts()
{
Script *newscript;
@@ -283,5 +297,10 @@ void AddSC_go_scripts()
newscript->pGOHello = &GOHello_go_ethereum_prison;
newscript->RegisterSelf();
+ newscript = new Script;
+ newscript->Name = "go_sacred_fire_of_life";
+ newscript->pGOHello = &GOHello_go_sacred_fire_of_life;
+ newscript->RegisterSelf();
+
}
diff --git a/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp b/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp
index 90ba27b2511..914714dd4aa 100644
--- a/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp
+++ b/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp
@@ -491,6 +491,56 @@ CreatureAI* GetAI_npc_isla_starmaneAI(Creature *_Creature)
return (CreatureAI*)thisAI;
}
+/*######
+## go_skull_pile
+######*/
+#define GOSSIP_S_DARKSCREECHER_AKKARAI "Summon Darkscreecher Akkarai"
+#define GOSSIP_S_KARROG "Summon Karrog"
+#define GOSSIP_S_GEZZARAK_THE_HUNTRESS "Summon Gezzarak the Huntress"
+#define GOSSIP_S_VAKKIZ_THE_WINDRAGER "Summon Vakkiz the Windrager"
+
+bool GossipHello_go_skull_pile(Player *player, GameObject* _GO)
+{
+ if (player->GetQuestStatus(11885) == QUEST_STATUS_INCOMPLETE)
+ {
+ player->ADD_GOSSIP_ITEM(1, GOSSIP_S_DARKSCREECHER_AKKARAI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
+ player->ADD_GOSSIP_ITEM(2, GOSSIP_S_KARROG, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
+ player->ADD_GOSSIP_ITEM(3, GOSSIP_S_GEZZARAK_THE_HUNTRESS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
+ player->ADD_GOSSIP_ITEM(4, GOSSIP_S_VAKKIZ_THE_WINDRAGER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
+ }
+
+ player->SEND_GOSSIP_MENU(_GO->GetGOInfo()->questgiver.gossipID, _GO->GetGUID());
+ return true;
+}
+
+void SendActionMenu_go_skull_pile(Player *player, GameObject* _GO, uint32 action)
+{
+ switch(action)
+ {
+ case GOSSIP_ACTION_INFO_DEF + 1:
+ player->CastSpell(player,40642,false);
+ break;
+ case GOSSIP_ACTION_INFO_DEF + 2:
+ player->CastSpell(player,40640,false);
+ break;
+ case GOSSIP_ACTION_INFO_DEF + 3:
+ player->CastSpell(player,40632,false);
+ break;
+ case GOSSIP_ACTION_INFO_DEF + 4:
+ player->CastSpell(player,40644,false);
+ break;
+ }
+}
+
+bool GossipSelect_go_skull_pile(Player *player, GameObject* _GO, uint32 sender, uint32 action )
+{
+ switch(sender)
+ {
+ case GOSSIP_SENDER_MAIN: SendActionMenu_go_skull_pile(player, _GO, action); break;
+ }
+ return true;
+}
+
void AddSC_terokkar_forest()
{
Script *newscript;
@@ -532,5 +582,12 @@ void AddSC_terokkar_forest()
newscript->GetAI = &GetAI_npc_isla_starmaneAI;
newscript->pQuestAccept = &QuestAccept_npc_isla_starmane;
newscript->RegisterSelf();
+
+ newscript = new Script;
+ newscript->Name="go_skull_pile";
+ newscript->pGOHello = &GossipHello_go_skull_pile;
+ newscript->pGOSelect = &GossipSelect_go_skull_pile;
+ newscript->RegisterSelf();
+
}
diff --git a/src/game/MiscHandler.cpp b/src/game/MiscHandler.cpp
index 7b1a3731d16..35842906e49 100644
--- a/src/game/MiscHandler.cpp
+++ b/src/game/MiscHandler.cpp
@@ -26,6 +26,7 @@
#include "Opcodes.h"
#include "Log.h"
#include "Player.h"
+#include "GossipDef.h"
#include "World.h"
#include "ObjectMgr.h"
#include "WorldSession.h"
@@ -68,6 +69,79 @@ void WorldSession::HandleRepopRequestOpcode( WorldPacket & /*recv_data*/ )
GetPlayer()->RepopAtGraveyard();
}
+void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data )
+{
+ CHECK_PACKET_SIZE(recv_data,8+4+4);
+
+ sLog.outDebug("WORLD: CMSG_GOSSIP_SELECT_OPTION");
+
+ uint32 option;
+ uint32 unk;
+ uint64 guid;
+ std::string code = "";
+
+ recv_data >> guid >> unk >> option;
+
+ if(_player->PlayerTalkClass->GossipOptionCoded( option ))
+ {
+ // recheck
+ CHECK_PACKET_SIZE(recv_data,8+4+1);
+ sLog.outBasic("reading string");
+ recv_data >> code;
+ sLog.outBasic("string read: %s", code.c_str());
+ }
+
+ Creature *unit = NULL;
+ GameObject *go = NULL;
+ if(IS_CREATURE_GUID(guid))
+ {
+ unit = ObjectAccessor::GetNPCIfCanInteractWith(*_player, guid, UNIT_NPC_FLAG_NONE);
+ if (!unit)
+ {
+ sLog.outDebug( "WORLD: HandleGossipSelectOptionOpcode - Unit (GUID: %u) not found or you can't interact with him.", uint32(GUID_LOPART(guid)) );
+ return;
+ }
+ }
+ else if(IS_GAMEOBJECT_GUID(guid))
+ {
+ go = ObjectAccessor::GetGameObject(*_player, guid);
+ if (!go)
+ {
+ sLog.outDebug( "WORLD: HandleGossipSelectOptionOpcode - GameObject (GUID: %u) not found.", uint32(GUID_LOPART(guid)) );
+ return;
+ }
+ }
+ else
+ {
+ sLog.outDebug( "WORLD: HandleGossipSelectOptionOpcode - unsupported GUID type for highguid %u. lowpart %u.", uint32(GUID_HIPART(guid)), uint32(GUID_LOPART(guid)) );
+ }
+
+ // remove fake death
+ if(GetPlayer()->hasUnitState(UNIT_STAT_DIED))
+ GetPlayer()->RemoveSpellsCausingAura(SPELL_AURA_FEIGN_DEATH);
+
+ if(!code.empty())
+ {
+ if(unit)
+ {
+ if(!Script->GossipSelectWithCode( _player, unit, _player->PlayerTalkClass->GossipOptionSender( option ), _player->PlayerTalkClass->GossipOptionAction( option ), code.c_str()) )
+ unit->OnGossipSelect( _player, option );
+ }
+ else
+ Script->GOSelectWithCode( _player, go, _player->PlayerTalkClass->GossipOptionSender( option ), _player->PlayerTalkClass->GossipOptionAction( option ), code.c_str());
+ }
+ else
+ {
+ if(unit)
+ {
+ if(!Script->GossipSelect( _player, unit, _player->PlayerTalkClass->GossipOptionSender( option ), _player->PlayerTalkClass->GossipOptionAction( option )) )
+ unit->OnGossipSelect( _player, option );
+ }
+ else
+ Script->GOSelect( _player, go, _player->PlayerTalkClass->GossipOptionSender( option ), _player->PlayerTalkClass->GossipOptionAction( option ));
+ }
+}
+
void WorldSession::HandleWhoOpcode( WorldPacket & recv_data )
{
CHECK_PACKET_SIZE(recv_data,4+4+1+1+4+4+4+4);
diff --git a/src/game/NPCHandler.cpp b/src/game/NPCHandler.cpp
index b52afb42b24..134789a4e31 100644
--- a/src/game/NPCHandler.cpp
+++ b/src/game/NPCHandler.cpp
@@ -306,7 +306,7 @@ void WorldSession::HandleGossipHelloOpcode( WorldPacket & recv_data )
}
}
-void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data )
+/*void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data )
{
CHECK_PACKET_SIZE(recv_data,8+4+4);
@@ -349,7 +349,7 @@ void WorldSession::HandleGossipSelectOptionOpcode( WorldPacket & recv_data )
if (!Script->GossipSelect (_player, unit, _player->PlayerTalkClass->GossipOptionSender (option), _player->PlayerTalkClass->GossipOptionAction (option)))
unit->OnGossipSelect (_player, option);
}
-}
+}*/
void WorldSession::HandleSpiritHealerActivateOpcode( WorldPacket & recv_data )
{
diff --git a/src/game/ScriptCalls.cpp b/src/game/ScriptCalls.cpp
index 66d41304f7f..b042c1aafac 100644
--- a/src/game/ScriptCalls.cpp
+++ b/src/game/ScriptCalls.cpp
@@ -64,6 +64,8 @@ bool LoadScriptingModule(char const* libName)
||!(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" ))
diff --git a/src/game/ScriptCalls.h b/src/game/ScriptCalls.h
index e1de919272e..b95c82eb13e 100644
--- a/src/game/ScriptCalls.h
+++ b/src/game/ScriptCalls.h
@@ -45,6 +45,8 @@ typedef bool(TRINITY_IMPORT * scriptCallGossipHello) (Player *player, Creature *
typedef bool(TRINITY_IMPORT * scriptCallQuestAccept) (Player *player, Creature *_Creature, Quest const *);
typedef bool(TRINITY_IMPORT * scriptCallGossipSelect)(Player *player, Creature *_Creature, uint32 sender, uint32 action);
typedef bool(TRINITY_IMPORT * scriptCallGossipSelectWithCode)( Player *player, Creature *_Creature, uint32 sender, uint32 action, const char* sCode );
+typedef bool(TRINITY_IMPORT * scriptCallGOSelect)(Player *player, GameObject *_GO, uint32 sender, uint32 action);
+typedef bool(TRINITY_IMPORT * scriptCallGOSelectWithCode)( Player *player, GameObject *_GO, uint32 sender, uint32 action, const char* sCode );
typedef bool(TRINITY_IMPORT * scriptCallQuestSelect)( Player *player, Creature *_Creature, Quest const* );
typedef bool(TRINITY_IMPORT * scriptCallQuestComplete)(Player *player, Creature *_Creature, Quest const*);
typedef uint32(TRINITY_IMPORT * scriptCallNPCDialogStatus)( Player *player, Creature *_Creature);
@@ -75,6 +77,8 @@ typedef struct
scriptCallQuestAccept QuestAccept;
scriptCallGossipSelect GossipSelect;
scriptCallGossipSelectWithCode GossipSelectWithCode;
+ scriptCallGOSelect GOSelect;
+ scriptCallGOSelectWithCode GOSelectWithCode;
scriptCallQuestSelect QuestSelect;
scriptCallQuestComplete QuestComplete;
scriptCallNPCDialogStatus NPCDialogStatus;