forked from MagicBane/Server
PowersBase(PowerTemplate, id) and PowerPrereq template constructors; PowersManager.loadPowers fills both maps on the world and login servers (ids 1..1465 in file order, identical to the DB IDs). The 3.10 target type exceptions and applyClientTargetTypes are gone; the dead BLEED-DOT-10.5-RANGE token override is removed (the power is BLEED-DOT-10.5-RANGED and its DB token is already its hash). Parity (JSON-Refactor-Plan/scripts/p48.py, every column): 1465/1465 ids, tokens = SBStringHash(id), flags 1465/1465, prereqs 720/720 rows, fail conditions 103/105 powers. Absent MAXNUM*TARGETS stay 7 (patch notes). Value changes (cfg wins, user 2026-10-26): - target types HLR-025 PC->CORPSE, HNT-023 PC->SELF, RNG-033 GROUP->SELF - HNT-023 SPELL->SKILL, target select CLICK->NONE - cast time RNG-033 3->0.2, ROG-002 10->12, WIZ-067 6->7 - WIZ-067 release 1->0, init ramp 0->-0.13; SCT-004 cost ramp 0.5->0 - recycle ALF-001 300->180, FGM-002/003 600->900 - WLR-018 category HEAL->none - BRD-016, PRS-031 lose the power CastSpell fail condition - 4 name typos and 167 descriptions from the cfg; 2 effect prereq messages (SAB-001, SAP-004) untruncated (unread) - canCastWhileFlying true by default (client ctor; no live reader) - category BOON-CLASS/BOON-RACE -> BOONCLASS/BOONRACE: GetSourceType now resolves them instead of logging an error (no effect blocks them) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>