Merge upstream dev: name-based storage, UUID/DisplayName, toggle system

Resolved conflicts in AbstractDataAbilities, DataAbilities, PlayerAbilityData
to integrate both toggle system (upstream) and chain delay tracking (local).
ChainedAbility now has UUID and DisplayName fields matching Ability pattern.
ChainedAbilityController rewritten: saves in abilities/chained/, dual-index
by name and UUID, legacy migration from chained_abilities/ directory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
KamandClaude Opus 4.6 committed 2026-02-17 23:27:49 -05:00
commit 0311dc5806
14 files changed
+628 -148

No files matched your search

@@ -61,7 +61,9 @@ public class ScriptDataAbilities implements IDataAbilities {
if (!ability.getAllowedBy().allowsNpc()) {
return; // Ability is PLAYER_ONLY
}
data.addAbilityReference(key);
// Store by UUID/registry key for stable reference
String canonicalKey = ability.getId() != null ? ability.getId() : key;
data.addAbilityReference(canonicalKey);
}
@Override