Help Understanding Effects and Modifiers

I’m trying to understand the dogma system (2026 JSONL SDE), specifically the effects. I get that effects define attributes that will then modify attributes on a ship/target/module/etc. However, I can’t figure out the modifiers. The system seems inconsistent. For example, a Missile Guidance Computer has attributes for explosion velocity, explosion radius, missile velocity, and missile flight time. Its missileGuidanceComputerBonus4 effect has modifiers for each of those attributes. That’s pretty straight forward.

An Afterburner has attributes for speedFactor, speedBoostFactor, and mass addition. But its effect moduleBonusAfterburner has no modifier, and its overloadSelfSpeedBonus does have a modifier (but it only affects the maximum velocity attribute?).

Same inconsistency with Shield Boosters. It has attributes for shieldBonus, but the shieldBoosting effect has no modifier.

So what gives lol? How can we know how the effects are modifying stats if there is no modifier data?

Also How domain and Func work? The documentation I’ve found seems outdated? For example, the MGC’s effect modifiers the shipID domain, but it seems to modify modules or changes? So what does shipID mean, and why isn’t it itemID?

Pulling my hair out, any words of wisdom would be very helpful, thank you!

I might be wrong here, but I don’t think every effect shows modifiers in the data.

Some modules seem to just use the stats already on them and the effect is more like a switch that turns it on when active. That’s why stuff like afterburners or boosters can look inconsistent compared to things like missile guidance computers.

And shipID kinda makes sense because the bonus is affecting the ship you’re sitting in, not the module itself, even though it looks weird when you’re digging through the files.

Again, not a dev or anything — just how it looks from the player side.

lol was afraid of that. I have a small hobby project where I’m trying to make a small fleet battle system like a RTS version of Battlefleet Gothic. Sounds like I’m going to have to manually go through each archetype type (eg Afterburner I is an archetype of all other Afternurners) and figure out when to apply the different effects. That’s going to be painful.

I was hoping to pull common fits off Z Killboard or something any import them directly into the app to have ai agents battle it out, but if I have to manually figure most of this out I’ll never have the full breadth of types that could be in those fits.

Any suggestions on how to speed up that process?

So im not the smartest on this, so im having help breaking this down so hopefully you understand,

In EVE’s data, not every stat change lives inside modifiers.

There are three different ways stats get applied:

Attribute-driven effects (no modifiers needed)

Some modules don’t list modifiers because the effect just activates attributes that already exist.

Example:

Shield boosters

Afterburners

Some repair modules

The effect like shieldBoosting or moduleBonusAfterburner is basically a trigger flag that tells Dogma:

:backhand_index_pointing_right: “Apply the module’s attributes during activation.”

The real numbers live in attributes like:

speedFactor

shieldBonus

massAddition

So no modifier entry is required.

Modifier-based effects (what they expected)

Things like Missile Guidance Computers do use modifiers because they:

change attributes on another item

or apply scaling logic

Example:

explosion velocity bonus

missile flight time bonus

Here Dogma needs explicit instructions like:

what attribute

what domain

what function

So you see modifiers.

Hardcoded or implicit effects (the real headache)

Some effects don’t expose modifiers because CCP coded behavior directly into the Dogma engine.

Afterburners are a classic example:

The main speed boost comes from built-in engine logic.

The overload effect shows modifiers because overheating uses a different system layer.

Because domains describe where the modifier applies, not what owns the module.

Common domains:

itemID → the module itself

shipID → the ship receiving bonuses

targetID → enemy/remote target

A module fitted to a ship usually modifies the ship, not itself — so shipID is correct even if it feels backwards.

Wow, thank you this is a great description! So it sounds like for the implicit effects I’ll just have to guess which operation is being used (probably not too difficult, just a lot of work; doing a little data work, looks like there are 535 module types with a unique set of attributes and effect. presumably all other module types work the same way as one of these architypes).

Is there a single place that describes all of the domains and funcs? In funcs, my best guess is that location refers to low/med/high/turretHarpoints/missileHardpoints? Thus, LocationGroupModifer is something that effects all your high slots, etc. LocationRequiredSkillModifier and OwnerRequiredSkillModifier are checks to see if the pilot has the right skills, and maybe to apply skill bonuses. ItemModifier seems like it should be straightforward to understand.

Ultimately, I’m trying to build my own simplified version of the dogma system in the Unity3D DOTS/ECS engine. Any metadata about the effects I can use to make even tiny improvements to the efficiency of my engine could make a big difference in how far I can scale the simulation.

Thanks!