Core/Creatures: Refactor CreatureEliteType

Port From (https://github.com/TrinityCore/TrinityCore/commit/bfbda8dcce8d19dda0ee3d8f96d176901902e102)
This commit is contained in:
hondacrx
2024-02-04 14:42:40 -05:00
parent 85d4043217
commit a46f98642b
10 changed files with 218 additions and 160 deletions
+4 -3
View File
@@ -22,14 +22,15 @@ namespace Framework.Constants
Destory = 4 // used on object destroy (NOT used in client packet handler)
}
public enum CreatureEliteType
public enum CreatureClassifications
{
Normal = 0,
Elite = 1,
RareElite = 2,
WorldBoss = 3,
Obsolete = 3,
Rare = 4,
EliteTrivial = 5 // found in 2.2.3 for 2 mobs
Trivial = 5,
MinusMob = 6
}
[Flags]
+24 -16
View File
@@ -1583,10 +1583,12 @@ namespace Framework.Constants
CommunityClubsEnabled,
Compression,
CorpseDecayElite,
CorpseDecayMinusMob,
CorpseDecayNormal,
CorpseDecayObsolete,
CorpseDecayRare,
CorpseDecayRareelite,
CorpseDecayWorldboss,
CorpseDecayTrivial,
CreatureCheckInvalidPostion,
CreatureFamilyAssistanceDelay,
CreatureFamilyAssistanceRadius,
@@ -1713,21 +1715,27 @@ namespace Framework.Constants
RateAuctionTime,
RateCorpseDecayLooted,
RateCreatureAggro,
RateCreatureEliteEliteDamage,
RateCreatureEliteEliteHp,
RateCreatureEliteEliteSpelldamage,
RateCreatureEliteRareDamage,
RateCreatureEliteRareHp,
RateCreatureEliteRareSpelldamage,
RateCreatureEliteRareeliteDamage,
RateCreatureEliteRareeliteHp,
RateCreatureEliteRareeliteSpelldamage,
RateCreatureEliteWorldbossDamage,
RateCreatureEliteWorldbossHp,
RateCreatureEliteWorldbossSpelldamage,
RateCreatureNormalDamage,
RateCreatureNormalHp,
RateCreatureNormalSpelldamage,
RateCreatureDamageElite,
RateCreatureDamageMinusmob,
RateCreatureDamageNormal,
RateCreatureDamageObsolete,
RateCreatureDamageRare,
RateCreatureDamageRareelite,
RateCreatureDamageTrivial,
RateCreatureHpElite,
RateCreatureHpMinusmob,
RateCreatureHpNormal,
RateCreatureHpObsolete,
RateCreatureHpRare,
RateCreatureHpRareelite,
RateCreatureHpTrivial,
RateCreatureSpelldamageElite,
RateCreatureSpelldamageMinusmob,
RateCreatureSpelldamageNormal,
RateCreatureSpelldamageObsolete,
RateCreatureSpelldamageRare,
RateCreatureSpelldamageRareelite,
RateCreatureSpelldamageTrivial,
RateDamageFall,
RateDropItemArtifact,
RateDropItemEpic,
@@ -45,7 +45,7 @@ namespace Framework.Database
PrepareStatement(WorldStatements.SEL_CREATURE_ADDON_BY_GUID, "SELECT guid FROM creature_addon WHERE guid = ?");
PrepareStatement(WorldStatements.DEL_CREATURE, "DELETE FROM creature WHERE guid = ?");
PrepareStatement(WorldStatements.SEL_COMMANDS, "SELECT name, help FROM command");
PrepareStatement(WorldStatements.SEL_CREATURE_TEMPLATE, "SELECT entry, KillCredit1, KillCredit2, name, femaleName, subname, TitleAlt, IconName, RequiredExpansion, VignetteID, faction, npcflag, speed_walk, speed_run, scale, `rank`, dmgschool, BaseAttackTime, RangeAttackTime, BaseVariance, RangeVariance, unit_class, unit_flags, unit_flags2, unit_flags3, family, trainer_class, type, VehicleId, AIName, MovementType, ctm.Ground, ctm.Swim, ctm.Flight, ctm.Rooted, ctm.Chase, ctm.Random, ctm.InteractionPauseTimer, ExperienceModifier, RacialLeader, movementId, WidgetSetID, WidgetSetUnitConditionID, RegenHealth, mechanic_immune_mask, spell_school_immune_mask, flags_extra, ScriptName, StringId FROM creature_template ct LEFT JOIN creature_template_movement ctm ON ct.entry = ctm.CreatureId WHERE entry = ? OR 1 = ?");
PrepareStatement(WorldStatements.SEL_CREATURE_TEMPLATE, "SELECT entry, KillCredit1, KillCredit2, name, femaleName, subname, TitleAlt, IconName, RequiredExpansion, VignetteID, faction, npcflag, speed_walk, speed_run, scale, Classification, dmgschool, BaseAttackTime, RangeAttackTime, BaseVariance, RangeVariance, unit_class, unit_flags, unit_flags2, unit_flags3, family, trainer_class, type, VehicleId, AIName, MovementType, ctm.Ground, ctm.Swim, ctm.Flight, ctm.Rooted, ctm.Chase, ctm.Random, ctm.InteractionPauseTimer, ExperienceModifier, RacialLeader, movementId, WidgetSetID, WidgetSetUnitConditionID, RegenHealth, mechanic_immune_mask, spell_school_immune_mask, flags_extra, ScriptName, StringId FROM creature_template ct LEFT JOIN creature_template_movement ctm ON ct.entry = ctm.CreatureId WHERE entry = ? OR 1 = ?");
PrepareStatement(WorldStatements.SEL_CREATURE_BY_ID, "SELECT guid FROM creature WHERE id = ?");
PrepareStatement(WorldStatements.SEL_GAMEOBJECT_NEAREST, "SELECT guid, id, position_x, position_y, position_z, map, (POW(position_x - ?, 2) + POW(position_y - ?, 2) + POW(position_z - ?, 2)) AS order_ FROM gameobject WHERE map = ? AND (POW(position_x - ?, 2) + POW(position_y - ?, 2) + POW(position_z - ?, 2)) <= ? ORDER BY order_");
PrepareStatement(WorldStatements.SEL_CREATURE_NEAREST, "SELECT guid, id, position_x, position_y, position_z, map, (POW(position_x - ?, 2) + POW(position_y - ?, 2) + POW(position_z - ?, 2)) AS order_ FROM creature WHERE map = ? AND (POW(position_x - ?, 2) + POW(position_y - ?, 2) + POW(position_z - ?, 2)) <= ? ORDER BY order_");