mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 02:43:44 +00:00
feat(combat): destroyables keep their attack priority
DestructibleComponent.attack_priority is loaded onto the DestroyableComponent as a signed value. The client's LWODestroyableComponent (LoadDataFromTemplate, 0x00c9f900) starts it at 1 and keeps 1 when the column is empty, and answers GetAttackPriority with it; the server now does the same so TacArcs can order their targets by it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -31,7 +31,7 @@ void CDDestructibleComponentTable::LoadValuesFromDatabase() {
|
||||
entry.armor = tableData.getFloatField("armor", -1.0f);
|
||||
entry.death_behavior = tableData.getIntField("death_behavior", -1);
|
||||
entry.isnpc = tableData.getIntField("isnpc", -1) == 1 ? true : false;
|
||||
entry.attack_priority = tableData.getIntField("attack_priority", -1);
|
||||
entry.attack_priority = tableData.getIntField("attack_priority", 1);
|
||||
entry.isSmashable = tableData.getIntField("isSmashable", -1) == 1 ? true : false;
|
||||
entry.difficultyLevel = tableData.getIntField("difficultyLevel", -1);
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ struct CDDestructibleComponent {
|
||||
float armor; //!< The amount of armor of the object
|
||||
uint32_t death_behavior; //!< The behavior ID of the death behavior
|
||||
bool isnpc; //!< Whether or not the object is an NPC
|
||||
uint32_t attack_priority; //!< ???
|
||||
int32_t attack_priority; //!< TacArc target order, lower first; 1 when unset
|
||||
bool isSmashable; //!< Whether or not the object is smashable
|
||||
int32_t difficultyLevel; //!< ???
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user