Preserve source rank recovery categories for WoW actor cooldowns (#3)
Native integration: Codex/healer-man-godot#114. Coordinator: /root, session 01a11cd3-fa7c-7510-ba8f-bc7a3d0310a6. Workers: single_pass_source, single_pass_validation, single_pass_renderer; GPT-6 Luna xhigh.
This commit is contained in:
1 parent
fc21cbca9b
commit
8a7e44cc14
13 files changed
+448
-18
No files matched your search
@@ -190,6 +190,7 @@ function parseSpells(buffer, castTimes, durations, radii, ranges, icons) {
|
||||
.replace(/\.(?:blp|tga)$/i, "")
|
||||
.toLowerCase(),
|
||||
powerCostPercentage: unsigned(shifted(204)),
|
||||
startRecoveryCategory: unsigned(shifted(205)),
|
||||
startRecoveryTimeMs: unsigned(shifted(206)),
|
||||
effects: Array.from({ length: 3 }, (_, effectIndex) => ({
|
||||
index: effectIndex,
|
||||
@@ -293,8 +294,9 @@ function slimRank(spell, spells) {
|
||||
description: resolveDescription(spell, spells),
|
||||
castTimeMs: spell.castTimeMs,
|
||||
cooldownMs: Math.max(spell.recoveryTimeMs, spell.categoryRecoveryTimeMs),
|
||||
// Zero is the DBC signal for abilities that do not start a global cooldown.
|
||||
// Keep the category key independent from its StartRecoveryTime duration.
|
||||
gcdMs: spell.startRecoveryTimeMs,
|
||||
gcdCategoryId: spell.startRecoveryCategory,
|
||||
// SpellDuration.dbc uses negative durations for permanent/toggled effects.
|
||||
// Preserve those as zero so the runtime converts them to a non-expiring aura
|
||||
// instead of a one-millisecond aura that the AI immediately recasts.
|
||||
|
||||
Reference in new issue
Block a user