Build EffectsBase from Effects.cfg

Effects, their fail conditions and source types come from
EffectTemplate. IDs are assigned at boot in file order. The power
actions that the server also keys as effects (item enchantment parents
and the action tokens sent in effect messages) are built from the
ApplyEffect/ApplyEffects/Invis actions with no Effects.cfg block: 776
keys, the 712 old registry rows plus 64 such as BRD-014A, which live
also sent.

Value changes (cfg wins): BRD-016A/PRS-031A lose the Chant source,
RUC-002A..004A lose Buff/Effect, and PRS-031A/RNG-037A no longer break
on Attack. Effect modifiers still load from the DB.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MagicBotandClaude Opus 5.5 committed 2026-10-26 04:37:58 -04:00
1 parent f8d764b5f5
commit 27c59749fa
4 files changed
+189 -17

No files matched your search

+18 -1
View File
@@ -1097,11 +1097,28 @@ public class mbEnums {
public static EffectSourceType GetEffectSourceType(String modName) {
EffectSourceType returnMod;
String name;
if (modName.isEmpty())
return EffectSourceType.None;
name = modName.replace(",", "").replace("-", "").trim();
// Effects.cfg SOURCE blocks use the short damage names
switch (name) {
case "Crush":
name = "Crushing";
break;
case "Pierce":
name = "Piercing";
break;
case "Slash":
name = "Slashing";
break;
}
try {
returnMod = EffectSourceType.valueOf(modName.replace(",", ""));
returnMod = EffectSourceType.valueOf(name);
} catch (Exception e) {
Logger.error(e);
return EffectSourceType.None;