Merge branch 'master' into Playerbot

# Conflicts:
#	src/server/apps/worldserver/worldserver.conf.dist
#	src/server/game/Battlegrounds/Battleground.h
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/World/World.cpp
This commit is contained in:
郑佩茹
2022-07-13 10:31:30 -06:00
123 changed files with 6889 additions and 1214 deletions
@@ -161,3 +161,18 @@ void ScriptMgr::OnLoadSpellCustomAttr(SpellInfo* spell)
script->OnLoadSpellCustomAttr(spell);
});
}
bool ScriptMgr::OnAllowedForPlayerLootCheck(Player const* player, ObjectGuid source)
{
auto ret = IsValidBoolScript<GlobalScript>([&](GlobalScript* script)
{
return script->OnAllowedForPlayerLootCheck(player, source);
});
if (ret && *ret)
{
return false;
}
return true;
}
@@ -210,3 +210,35 @@ void ScriptMgr::OnUnitUpdate(Unit* unit, uint32 diff)
script->OnUnitUpdate(unit, diff);
});
}
void ScriptMgr::OnDisplayIdChange(Unit* unit, uint32 displayId)
{
ExecuteScript<UnitScript>([&](UnitScript* script)
{
script->OnDisplayIdChange(unit, displayId);
});
}
void ScriptMgr::OnUnitEnterEvadeMode(Unit* unit, uint8 evadeReason)
{
ExecuteScript<UnitScript>([&](UnitScript* script)
{
script->OnUnitEnterEvadeMode(unit, evadeReason);
});
}
void ScriptMgr::OnUnitEnterCombat(Unit* unit, Unit* victim)
{
ExecuteScript<UnitScript>([&](UnitScript* script)
{
script->OnUnitEnterCombat(unit, victim);
});
}
void ScriptMgr::OnUnitDeath(Unit* unit, Unit* killer)
{
ExecuteScript<UnitScript>([&](UnitScript* script)
{
script->OnUnitDeath(unit, killer);
});
}
+14
View File
@@ -460,6 +460,12 @@ public:
* @param diff Contains information about the diff time
*/
virtual void OnUnitUpdate(Unit* /*unit*/, uint32 /*diff*/) { }
virtual void OnDisplayIdChange(Unit* /*unit*/, uint32 /*displayId*/) { }
virtual void OnUnitEnterEvadeMode(Unit* /*unit*/, uint8 /*evadeReason*/) { }
virtual void OnUnitEnterCombat(Unit* /*unit*/, Unit* /*victim*/) { }
virtual void OnUnitDeath(Unit* /*unit*/, Unit* /*killer*/) { }
};
class MovementHandlerScript : public ScriptObject
@@ -1551,6 +1557,9 @@ public:
// Called after loading spell dbc corrections
virtual void OnLoadSpellCustomAttr(SpellInfo* /*spell*/) { }
// Called when checking if a player can see the creature loot
virtual bool OnAllowedForPlayerLootCheck(Player const* /*player*/, ObjectGuid /*source*/) { return false; };
};
class BGScript : public ScriptObject
@@ -2412,6 +2421,7 @@ public: /* GlobalScript */
bool OnIsAffectedBySpellModCheck(SpellInfo const* affectSpell, SpellInfo const* checkSpell, SpellModifier const* mod);
bool OnSpellHealingBonusTakenNegativeModifiers(Unit const* target, Unit const* caster, SpellInfo const* spellInfo, float& val);
void OnLoadSpellCustomAttr(SpellInfo* spell);
bool OnAllowedForPlayerLootCheck(Player const* player, ObjectGuid source);
public: /* Scheduled scripts */
uint32 IncreaseScheduledScriptsCount() { return ++_scheduledScripts; }
@@ -2437,6 +2447,10 @@ public: /* UnitScript */
bool IsCustomBuildValuesUpdate(Unit const* unit, uint8 updateType, ByteBuffer& fieldBuffer, Player const* target, uint16 index);
bool OnBuildValuesUpdate(Unit const* unit, uint8 updateType, ByteBuffer& fieldBuffer, Player* target, uint16 index);
void OnUnitUpdate(Unit* unit, uint32 diff);
void OnDisplayIdChange(Unit* unit, uint32 displayId);
void OnUnitEnterEvadeMode(Unit* unit, uint8 why);
void OnUnitEnterCombat(Unit* unit, Unit* victim);
void OnUnitDeath(Unit* unit, Unit* killer);
public: /* MovementHandlerScript */
void OnPlayerMove(Player* player, MovementInfo movementInfo, uint32 opcode);