Core/Creatures: Move creature difficulty specific data from creature_template table to creature_template_difficulty

Port From (https://github.com/TrinityCore/TrinityCore/commit/06d0b16f158e8793860d9edd11b990f20b1d0dac)
This commit is contained in:
hondacrx
2023-05-30 08:16:40 -04:00
parent 77febfdee5
commit 068ccd990f
26 changed files with 399 additions and 539 deletions
+4 -3
View File
@@ -1402,7 +1402,7 @@ namespace Game.Spells
Creature creatureTarget = unitTarget.ToCreature();
if (creatureTarget)
{
if (!creatureTarget.GetCreatureTemplate().TypeFlags.HasAnyFlag(CreatureTypeFlags.CollideWithMissiles))
if (!creatureTarget.GetCreatureDifficulty().TypeFlags.HasFlag(CreatureTypeFlags.CollideWithMissiles))
continue;
}
}
@@ -5405,10 +5405,11 @@ namespace Game.Spells
if (info.Item1.Type == PetType.Hunter)
{
CreatureTemplate creatureInfo = Global.ObjectMgr.GetCreatureTemplate(info.Item1.CreatureId);
if (creatureInfo == null || !creatureInfo.IsTameable(playerCaster.CanTameExoticPets()))
CreatureDifficulty creatureDifficulty = creatureInfo.GetDifficulty(Difficulty.None);
if (creatureInfo == null || !creatureInfo.IsTameable(playerCaster.CanTameExoticPets(), creatureDifficulty))
{
// if problem in exotic pet
if (creatureInfo != null && creatureInfo.IsTameable(true))
if (creatureInfo != null && creatureInfo.IsTameable(true, creatureDifficulty))
playerCaster.SendTameFailure(PetTameResult.CantControlExotic);
else
playerCaster.SendTameFailure(PetTameResult.NoPetAvailable);