Core/AreaTriggers: Check actionset flags for client areatriggers to allow some areatriggers to trigger while dead

Port From (https://github.com/TrinityCore/TrinityCore/commit/d51d6b0abeec25a7c7fd4903ddbca0124ee8c723)
This commit is contained in:
Hondacrx
2024-08-26 17:49:33 -04:00
parent b7b166c0f0
commit 254d04d37e
7 changed files with 79 additions and 19 deletions
@@ -9,18 +9,6 @@ namespace Framework.Constants
IsServerSide = 0x01
}
public enum AreaTriggerShapeType
{
Sphere = 0,
Box = 1,
Unk = 2,
Polygon = 3,
Cylinder = 4,
Disk = 5,
BoundedPlane = 6,
Max
}
public enum AreaTriggerActionTypes
{
Cast = 0,
+32
View File
@@ -952,6 +952,38 @@ namespace Framework.Constants
ClientEnforcesMount = 0x10
}
[Flags]
public enum AreaTriggerActionSetFlag
{
None = 0x00,
OnlyTriggeredByCaster = 0x01,
ResurrectIfConditionFails = 0x02,
Obsolete = 0x04,
AllowWhileGhost = 0x08,
AllowWhileDead = 0x10,
UnifyAllInstances = 0x20,
SuppressConditionError = 0x40, // NYI
NotTriggeredbyCaster = 0x80,
CreatorsPartyOnly = 0x100,
DontRunOnLeaveWhenExpiring = 0x200,
CanAffectUninteractible = 0x400,
DontDespawnWithCreator = 0x800,
CanAffectBeastmaster = 0x1000,
RequiresLineOfSight = 0x2000
}
public enum AreaTriggerShapeType
{
Sphere = 0,
Box = 1,
Unk = 2,
Polygon = 3,
Cylinder = 4,
Disk = 5,
BoundedPlane = 6,
Max
}
public enum ArtifactCategory
{
Primary = 1,
@@ -55,6 +55,9 @@ namespace Framework.Database
PrepareStatement(HotfixStatements.SEL_AREA_TRIGGER, "SELECT PosX, PosY, PosZ, ID, ContinentID, PhaseUseFlags, PhaseID, PhaseGroupID, Radius, BoxLength, " +
"BoxWidth, BoxHeight, BoxYaw, ShapeType, ShapeID, AreaTriggerActionSetID, Flags FROM area_trigger WHERE (`VerifiedBuild` > 0) = ?");
// AreaTriggerActionSet.db2
PrepareStatement(HotfixStatements.SEL_AREA_TRIGGER_ACTION_SET, "SELECT ID, Flags FROM area_trigger_action_set WHERE (`VerifiedBuild` > 0) = ?");
// ArmorLocation.db2
PrepareStatement(HotfixStatements.SEL_ARMOR_LOCATION, "SELECT ID, Clothmodifier, Leathermodifier, Chainmodifier, Platemodifier, Modifier FROM armor_location" +
" WHERE (`VerifiedBuild` > 0) = ?");
@@ -1642,6 +1645,8 @@ namespace Framework.Database
SEL_AREA_TRIGGER,
SEL_AREA_TRIGGER_ACTION_SET,
SEL_ARMOR_LOCATION,
SEL_ARTIFACT,