Core/Units: Name new spline flag and linked npc flag
This commit is contained in:
@@ -333,21 +333,22 @@ DEFINE_ENUM_FLAG(NPCFlags);
|
||||
// EnumUtils: DESCRIBE THIS
|
||||
enum NPCFlags2 : uint32
|
||||
{
|
||||
UNIT_NPC_FLAG_2_NONE = 0x00000000,
|
||||
UNIT_NPC_FLAG_2_ITEM_UPGRADE_MASTER = 0x00000001, // TITLE is item upgrade
|
||||
UNIT_NPC_FLAG_2_GARRISON_ARCHITECT = 0x00000002, // TITLE is garrison architect DESCRIPTION garrison building placement UI
|
||||
UNIT_NPC_FLAG_2_STEERING = 0x00000004, // TITLE is avoiding obstacles DESCRIPTION clientside pathfinding
|
||||
UNIT_NPC_FLAG_2_AREA_SPIRIT_HEALER_INDIVIDUAL = 0x00000008, // TITLE is area spirit healer individual DESCRIPTION area spirit healer with individual timers
|
||||
UNIT_NPC_FLAG_2_SHIPMENT_CRAFTER = 0x00000010, // TITLE is shipment crafter DESCRIPTION garrison work orders
|
||||
UNIT_NPC_FLAG_2_GARRISON_MISSION_NPC = 0x00000020, // TITLE is garrison mission
|
||||
UNIT_NPC_FLAG_2_TRADESKILL_NPC = 0x00000040, // TITLE is tradeskill DESCRIPTION crafting at npc
|
||||
UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW = 0x00000080, // TITLE is black market view DESCRIPTION only allows viewing black market auctions, no bidding
|
||||
UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC = 0x00000200, // TITLE is garrrison talent
|
||||
UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR = 0x00000400, // TITLE is contribution collector
|
||||
UNIT_NPC_FLAG_2_AZERITE_RESPEC = 0x00004000, // TITLE is azerite respec
|
||||
UNIT_NPC_FLAG_2_ISLANDS_QUEUE = 0x00008000, // TITLE is islands queue
|
||||
UNIT_NPC_FLAG_2_NONE = 0x00000000,
|
||||
UNIT_NPC_FLAG_2_ITEM_UPGRADE_MASTER = 0x00000001, // TITLE is item upgrade
|
||||
UNIT_NPC_FLAG_2_GARRISON_ARCHITECT = 0x00000002, // TITLE is garrison architect DESCRIPTION garrison building placement UI
|
||||
UNIT_NPC_FLAG_2_STEERING = 0x00000004, // TITLE is avoiding obstacles DESCRIPTION clientside pathfinding
|
||||
UNIT_NPC_FLAG_2_AREA_SPIRIT_HEALER_INDIVIDUAL = 0x00000008, // TITLE is area spirit healer individual DESCRIPTION area spirit healer with individual timers
|
||||
UNIT_NPC_FLAG_2_SHIPMENT_CRAFTER = 0x00000010, // TITLE is shipment crafter DESCRIPTION garrison work orders
|
||||
UNIT_NPC_FLAG_2_GARRISON_MISSION_NPC = 0x00000020, // TITLE is garrison mission
|
||||
UNIT_NPC_FLAG_2_TRADESKILL_NPC = 0x00000040, // TITLE is tradeskill DESCRIPTION crafting at npc
|
||||
UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW = 0x00000080, // TITLE is black market view DESCRIPTION only allows viewing black market auctions, no bidding
|
||||
UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC = 0x00000200, // TITLE is garrrison talent
|
||||
UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR = 0x00000400, // TITLE is contribution collector
|
||||
UNIT_NPC_FLAG_2_FAST_STEERING_AVOIDS_OBSTACLES = 0x00002000, // TITLE enables avoiding obstacles when FastSteering spline flag is set
|
||||
UNIT_NPC_FLAG_2_AZERITE_RESPEC = 0x00004000, // TITLE is azerite respec
|
||||
UNIT_NPC_FLAG_2_ISLANDS_QUEUE = 0x00008000, // TITLE is islands queue
|
||||
UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION = 0x00010000,
|
||||
UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER= 0x00200000, // TITLE is personal tabard designer
|
||||
UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER = 0x00200000, // TITLE is personal tabard designer
|
||||
};
|
||||
|
||||
DEFINE_ENUM_FLAG(NPCFlags2);
|
||||
|
||||
@@ -561,6 +561,7 @@ TC_API_EXPORT EnumText EnumUtils<NPCFlags2>::ToString(NPCFlags2 value)
|
||||
case UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW: return { "UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW", "is black market view", "only allows viewing black market auctions, no bidding" };
|
||||
case UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC: return { "UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC", "is garrrison talent", "" };
|
||||
case UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR: return { "UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR", "is contribution collector", "" };
|
||||
case UNIT_NPC_FLAG_2_FAST_STEERING_AVOIDS_OBSTACLES: return { "UNIT_NPC_FLAG_2_FAST_STEERING_AVOIDS_OBSTACLES", "enables avoiding obstacles when FastSteering spline flag is set", "" };
|
||||
case UNIT_NPC_FLAG_2_AZERITE_RESPEC: return { "UNIT_NPC_FLAG_2_AZERITE_RESPEC", "is azerite respec", "" };
|
||||
case UNIT_NPC_FLAG_2_ISLANDS_QUEUE: return { "UNIT_NPC_FLAG_2_ISLANDS_QUEUE", "is islands queue", "" };
|
||||
case UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION: return { "UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION", "UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION", "" };
|
||||
@@ -570,7 +571,7 @@ TC_API_EXPORT EnumText EnumUtils<NPCFlags2>::ToString(NPCFlags2 value)
|
||||
}
|
||||
|
||||
template <>
|
||||
TC_API_EXPORT size_t EnumUtils<NPCFlags2>::Count() { return 15; }
|
||||
TC_API_EXPORT size_t EnumUtils<NPCFlags2>::Count() { return 16; }
|
||||
|
||||
template <>
|
||||
TC_API_EXPORT NPCFlags2 EnumUtils<NPCFlags2>::FromIndex(size_t index)
|
||||
@@ -588,10 +589,11 @@ TC_API_EXPORT NPCFlags2 EnumUtils<NPCFlags2>::FromIndex(size_t index)
|
||||
case 8: return UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW;
|
||||
case 9: return UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC;
|
||||
case 10: return UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR;
|
||||
case 11: return UNIT_NPC_FLAG_2_AZERITE_RESPEC;
|
||||
case 12: return UNIT_NPC_FLAG_2_ISLANDS_QUEUE;
|
||||
case 13: return UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION;
|
||||
case 14: return UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER;
|
||||
case 11: return UNIT_NPC_FLAG_2_FAST_STEERING_AVOIDS_OBSTACLES;
|
||||
case 12: return UNIT_NPC_FLAG_2_AZERITE_RESPEC;
|
||||
case 13: return UNIT_NPC_FLAG_2_ISLANDS_QUEUE;
|
||||
case 14: return UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION;
|
||||
case 15: return UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER;
|
||||
default: throw std::out_of_range("index");
|
||||
}
|
||||
}
|
||||
@@ -612,10 +614,11 @@ TC_API_EXPORT size_t EnumUtils<NPCFlags2>::ToIndex(NPCFlags2 value)
|
||||
case UNIT_NPC_FLAG_2_BLACK_MARKET_VIEW: return 8;
|
||||
case UNIT_NPC_FLAG_2_GARRISON_TALENT_NPC: return 9;
|
||||
case UNIT_NPC_FLAG_2_CONTRIBUTION_COLLECTOR: return 10;
|
||||
case UNIT_NPC_FLAG_2_AZERITE_RESPEC: return 11;
|
||||
case UNIT_NPC_FLAG_2_ISLANDS_QUEUE: return 12;
|
||||
case UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION: return 13;
|
||||
case UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER: return 14;
|
||||
case UNIT_NPC_FLAG_2_FAST_STEERING_AVOIDS_OBSTACLES: return 11;
|
||||
case UNIT_NPC_FLAG_2_AZERITE_RESPEC: return 12;
|
||||
case UNIT_NPC_FLAG_2_ISLANDS_QUEUE: return 13;
|
||||
case UNIT_NPC_FLAG_2_SUPPRESS_NPC_SOUNDS_EXCEPT_END_OF_INTERACTION: return 14;
|
||||
case UNIT_NPC_FLAG_2_PERSONAL_TABARD_DESIGNER: return 15;
|
||||
default: throw std::out_of_range("value");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace Movement
|
||||
CanSwim = 0x00200000,
|
||||
UncompressedPath = 0x00400000,
|
||||
Unknown_0x800000 = 0x00800000, // NOT VERIFIED
|
||||
Unknown_0x1000000 = 0x01000000, // NOT VERIFIED
|
||||
FastSteering = 0x01000000, // Predicts spline only 500ms into the future for smoothing instead of 1s (making turns sharper) and turns off clientside obstacle detection
|
||||
Animation = 0x02000000, // Plays animation after some time passed
|
||||
Parabolic = 0x04000000, // Affects elevation computation, can't be combined with Falling flag
|
||||
FadeObject = 0x08000000,
|
||||
@@ -69,7 +69,7 @@ namespace Movement
|
||||
Mask_No_Monster_Move = Done,
|
||||
// Unused, not suported flags
|
||||
Mask_Unused = No_Spline | Enter_Cycle | Frozen | Unknown_0x8 | Unknown_0x100 | Unknown_0x20000 | Unknown_0x40000
|
||||
| Unknown_0x800000 | Unknown_0x1000000 | FadeObject | UnlimitedSpeed | Unknown_0x40000000 | Unknown_0x80000000
|
||||
| Unknown_0x800000 | FastSteering | FadeObject | UnlimitedSpeed | Unknown_0x40000000 | Unknown_0x80000000
|
||||
};
|
||||
|
||||
inline uint32& raw() { return (uint32&)*this; }
|
||||
@@ -127,7 +127,7 @@ namespace Movement
|
||||
bool canSwim : 1;
|
||||
bool uncompressedPath : 1;
|
||||
bool unknown0x800000 : 1;
|
||||
bool unknown0x1000000 : 1;
|
||||
bool fastSteering : 1;
|
||||
bool animation : 1;
|
||||
bool parabolic : 1;
|
||||
bool fadeObject : 1;
|
||||
|
||||
@@ -169,7 +169,7 @@ namespace Movement
|
||||
STRINGIZE(CanSwim ), // 0x00200000
|
||||
STRINGIZE(UncompressedPath ), // 0x00400000
|
||||
STRINGIZE(Unknown_0x800000 ), // 0x00800000
|
||||
STRINGIZE(Unknown_0x1000000 ), // 0x01000000
|
||||
STRINGIZE(FastSteering ), // 0x01000000 // Predicts spline only 500ms into the future for smoothing instead of 1s and turns off clientside obstacle detection
|
||||
STRINGIZE(Animation ), // 0x02000000 // Animationid (0...3), Uint32 Time, Not Compartible With Trajectory And Fall Movement
|
||||
STRINGIZE(Parabolic ), // 0x04000000 // Not Compartible With Fall Movement
|
||||
STRINGIZE(FadeObject ), // 0x08000000
|
||||
|
||||
Reference in New Issue
Block a user