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:
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user