diff options
-rw-r--r-- | dep/src/g3dlite/Makefile.am | 41 | ||||
-rw-r--r-- | dep/src/zlib/Makefile.am | 56 | ||||
-rw-r--r-- | dep/src/zthread/Makefile.am | 132 | ||||
-rw-r--r-- | sql/updates/1261_world.sql | 1 | ||||
-rw-r--r-- | sql/updates/1265_world.sql | 1 | ||||
-rw-r--r-- | src/bindings/scripts/ScriptMgr.cpp | 24 | ||||
-rw-r--r-- | src/bindings/scripts/ScriptMgr.h | 2 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/go/go_scripts.cpp | 19 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp | 57 | ||||
-rw-r--r-- | src/game/MiscHandler.cpp | 74 | ||||
-rw-r--r-- | src/game/NPCHandler.cpp | 4 | ||||
-rw-r--r-- | src/game/ScriptCalls.cpp | 2 | ||||
-rw-r--r-- | src/game/ScriptCalls.h | 4 |
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; |