Skip to content

Commit 1ff9aea

Browse files
committed
[3018] Implement NpcSpellClick script hook. Requires CMaNGOS 12674+
1 parent b75eeb1 commit 1ff9aea

5 files changed

+16
-3
lines changed

ScriptMgr.cpp

+11
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,17 @@ bool AreaTrigger(Player* pPlayer, AreaTriggerEntry const* atEntry)
446446
return pTempScript->pAreaTrigger(pPlayer, atEntry);
447447
}
448448

449+
MANGOS_DLL_EXPORT
450+
bool NpcSpellClick(Player* pPlayer, Creature* pClickedCreature, uint32 uiSpellId)
451+
{
452+
Script* pTempScript = m_scripts[pClickedCreature->GetScriptId()];
453+
454+
if (!pTempScript || !pTempScript->pNpcSpellClick)
455+
return false;
456+
457+
return pTempScript->pNpcSpellClick(pPlayer, pClickedCreature, uiSpellId);
458+
}
459+
449460
MANGOS_DLL_EXPORT
450461
bool ProcessEvent(uint32 uiEventId, Object* pSource, Object* pTarget, bool bIsStart)
451462
{

ScriptMgr.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ struct Script
6767
pDialogStatusNPC(NULL), pDialogStatusGO(NULL),
6868
pQuestAcceptNPC(NULL), pQuestAcceptGO(NULL), pQuestAcceptItem(NULL),
6969
pQuestRewardedNPC(NULL), pQuestRewardedGO(NULL),
70-
pGOUse(NULL), pItemUse(NULL), pAreaTrigger(NULL), pProcessEventId(NULL),
70+
pGOUse(NULL), pItemUse(NULL), pAreaTrigger(NULL), pNpcSpellClick(NULL), pProcessEventId(NULL),
7171
pEffectDummyNPC(NULL), pEffectDummyGO(NULL), pEffectDummyItem(NULL), pEffectScriptEffectNPC(NULL),
7272
pEffectAuraDummy(NULL), GetAI(NULL), GetInstanceData(NULL)
7373
{}
@@ -90,6 +90,7 @@ struct Script
9090
bool (*pGOUse)(Player*, GameObject*);
9191
bool (*pItemUse)(Player*, Item*, SpellCastTargets const&);
9292
bool (*pAreaTrigger)(Player*, AreaTriggerEntry const*);
93+
bool (*pNpcSpellClick)(Player*, Creature*, uint32);
9394
bool (*pProcessEventId)(uint32, Object*, Object*, bool);
9495
bool (*pEffectDummyNPC)(Unit*, uint32, SpellEffectIndex, Creature*, ObjectGuid);
9596
bool (*pEffectDummyGO)(Unit*, uint32, SpellEffectIndex, GameObject*, ObjectGuid);

sd2_revision_nr.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#ifndef __SD2_REVISION_NR_H__
22
#define __SD2_REVISION_NR_H__
3-
#define SD2_REVISION_NR "3017"
3+
#define SD2_REVISION_NR "3018"
44
#endif // __SD2_REVISION_NR_H__

sql/scriptdev2_script_full.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
--
44

55
DELETE FROM sd2_db_version;
6-
INSERT INTO sd2_db_version (version) VALUES ('ScriptDev2 (for CMaNGOS 12661+) ');
6+
INSERT INTO sd2_db_version (version) VALUES ('ScriptDev2 (for CMaNGOS 12674+) ');
77

88
--
99
-- Below contains data for table `script_texts` mainly used in C++ parts.

sql/updates/r3018_scriptdev2.sql

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
UPDATE sd2_db_version SET version='ScriptDev2 (for CMaNGOS 12674+) ';

0 commit comments

Comments
 (0)