Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/server/game/Entities/Unit/Unit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7489,6 +7489,7 @@ void Unit::CombatStop(bool includingCast, bool mutualPvP)
// xinef: just in case
if (IsPetInCombat() && !IsPlayer())
ClearInPetCombat();
sScriptMgr->OnUnitStopCombat(this);
}

void Unit::CombatStopWithPets(bool includingCast)
Expand Down
5 changes: 5 additions & 0 deletions src/server/game/Scripting/ScriptDefines/UnitScript.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,11 @@ void ScriptMgr::OnUnitEnterCombat(Unit* unit, Unit* victim)
CALL_ENABLED_HOOKS(UnitScript, UNITHOOK_ON_UNIT_ENTER_COMBAT, script->OnUnitEnterCombat(unit, victim));
}

void ScriptMgr::OnUnitStopCombat(Unit* unit)
{
CALL_ENABLED_HOOKS(UnitScript, UNITHOOK_ON_UNIT_STOP_COMBAT, script->OnUnitStopCombat(unit));
}

void ScriptMgr::OnUnitDeath(Unit* unit, Unit* killer)
{
CALL_ENABLED_HOOKS(UnitScript, UNITHOOK_ON_UNIT_DEATH, script->OnUnitDeath(unit, killer));
Expand Down
2 changes: 2 additions & 0 deletions src/server/game/Scripting/ScriptDefines/UnitScript.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ enum UnitHook
UNITHOOK_ON_DISPLAYID_CHANGE,
UNITHOOK_ON_UNIT_ENTER_EVADE_MODE,
UNITHOOK_ON_UNIT_ENTER_COMBAT,
UNITHOOK_ON_UNIT_STOP_COMBAT,
UNITHOOK_ON_UNIT_DEATH,
UNITHOOK_ON_UNIT_SET_SHAPESHIFT_FORM,
UNITHOOK_END
Expand Down Expand Up @@ -106,6 +107,7 @@ class UnitScript : public ScriptObject

virtual void OnUnitEnterEvadeMode(Unit* /*unit*/, uint8 /*evadeReason*/) { }
virtual void OnUnitEnterCombat(Unit* /*unit*/, Unit* /*victim*/) { }
virtual void OnUnitStopCombat(Unit* /*unit*/) { }
virtual void OnUnitDeath(Unit* /*unit*/, Unit* /*killer*/) { }
virtual void OnUnitSetShapeshiftForm(Unit* /*unit*/, uint8 /*form*/) { }
};
Expand Down
1 change: 1 addition & 0 deletions src/server/game/Scripting/ScriptMgr.h
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,7 @@ class ScriptMgr
void OnDisplayIdChange(Unit* unit, uint32 displayId);
void OnUnitEnterEvadeMode(Unit* unit, uint8 why);
void OnUnitEnterCombat(Unit* unit, Unit* victim);
void OnUnitStopCombat(Unit* unit);
void OnUnitDeath(Unit* unit, Unit* killer);
void OnUnitSetShapeshiftForm(Unit* unit, uint8 form);

Expand Down
Loading