forked from MagicBane/Server
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:
1 parent
f8d764b5f5
commit
27c59749fa
4 files changed
+189
-17
No files matched your search
+18
-1
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user