mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-24 02:46:33 +01:00
Merge branch 'master' of github.com:TrinityCore/TrinityCore into mmaps_rw
This commit is contained in:
@@ -28,7 +28,6 @@ if( SCRIPTS )
|
||||
add_definitions(-DSCRIPTS)
|
||||
else()
|
||||
message("* Build with scripts : No")
|
||||
set(USE_SCRIPTPCH 0)
|
||||
endif()
|
||||
|
||||
if( TOOLS )
|
||||
|
||||
9
sql/updates/world/2013_10_01_00_misc.sql
Normal file
9
sql/updates/world/2013_10_01_00_misc.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
UPDATE `creature_template` SET `npcflag`=4227 WHERE `entry`=38316;
|
||||
|
||||
DELETE FROM `gossip_menu_option` WHERE `menu_id`=10996 AND `id`=5;
|
||||
INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`) VALUES
|
||||
(10996, 5, 1, 'Show me the armor of Scourge lords, Ormus.', 3, 128, 0, 0, 0, 0, '');
|
||||
|
||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=10996 AND `SourceEntry`=5;
|
||||
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
|
||||
(15, 10996, 5, 0, 0, 15, 0, 32, 0, 0, 0, 0, 0, '', 'Ormus the Penitent - Show gossip option if player is a Death Knight');
|
||||
@@ -567,6 +567,9 @@ uint32 Unit::DealDamage(Unit* victim, uint32 damage, CleanDamage const* cleanDam
|
||||
if (IsAIEnabled)
|
||||
GetAI()->DamageDealt(victim, damage, damagetype);
|
||||
|
||||
// Hook for OnDamage Event
|
||||
sScriptMgr->OnDamage(this, victim, damage);
|
||||
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER && this != victim)
|
||||
{
|
||||
// Signal to pets that their owner was attacked
|
||||
@@ -9587,6 +9590,9 @@ int32 Unit::DealHeal(Unit* victim, uint32 addhealth)
|
||||
if (addhealth)
|
||||
gain = victim->ModifyHealth(int32(addhealth));
|
||||
|
||||
// Hook for OnHeal Event
|
||||
sScriptMgr->OnHeal(this, victim, gain);
|
||||
|
||||
Unit* unit = this;
|
||||
|
||||
if (GetTypeId() == TYPEID_UNIT && ToCreature()->IsTotem())
|
||||
|
||||
@@ -1363,6 +1363,16 @@ void ScriptMgr::OnGroupDisband(Group* group)
|
||||
}
|
||||
|
||||
// Unit
|
||||
void ScriptMgr::OnHeal(Unit* healer, Unit* reciever, uint32 gain)
|
||||
{
|
||||
FOREACH_SCRIPT(UnitScript)->OnHeal(healer, reciever, gain);
|
||||
}
|
||||
|
||||
void ScriptMgr::OnDamage(Unit* attacker, Unit* victim, uint32 damage)
|
||||
{
|
||||
FOREACH_SCRIPT(UnitScript)->OnDamage(attacker, victim, damage);
|
||||
}
|
||||
|
||||
void ScriptMgr::ModifyPeriodicDamageAurasTick(Unit* target, Unit* attacker, uint32& damage)
|
||||
{
|
||||
FOREACH_SCRIPT(UnitScript)->ModifyPeriodicDamageAurasTick(target, attacker, damage);
|
||||
|
||||
@@ -396,6 +396,12 @@ class UnitScript : public ScriptObject
|
||||
UnitScript(const char* name, bool addToScripts = true);
|
||||
|
||||
public:
|
||||
// Called when a unit deals damage to another unit
|
||||
virtual void OnHeal(Unit* /*healer*/, Unit* /*reciever*/, uint32 /*gain*/) { }
|
||||
|
||||
// Called when a unit deals damage to another unit
|
||||
virtual void OnDamage(Unit* /*attacker*/, Unit* /*victim*/, uint32 /*damage*/) { }
|
||||
|
||||
// Called when DoT's Tick Damage is being Dealt
|
||||
virtual void ModifyPeriodicDamageAurasTick(Unit* /*target*/, Unit* /*attacker*/, uint32& /*damage*/) { }
|
||||
|
||||
@@ -1054,6 +1060,8 @@ class ScriptMgr
|
||||
|
||||
public: /* UnitScript */
|
||||
|
||||
void OnHeal(Unit* healer, Unit* reciever, uint32 gain);
|
||||
void OnDamage(Unit* attacker, Unit* victim, uint32 damage);
|
||||
void ModifyPeriodicDamageAurasTick(Unit* target, Unit* attacker, uint32& damage);
|
||||
void ModifyMeleeDamage(Unit* target, Unit* attacker, uint32& damage);
|
||||
void ModifySpellDamageTaken(Unit* target, Unit* attacker, int32& damage);
|
||||
|
||||
Reference in New Issue
Block a user