esi-issues
esi-issues copied to clipboard
Dogma effect endpoint filters
Feature Request
For dogma engines to be built we need to be able parse the modifierInfo for dogma effects. ESI provides the the modifierInfo under the effect. eg here
However using the above link as an example, the func OwnerRequiredSkillModifier
also requires a field called skillTypeID
which is not present in the ESI response. Here is the matching effect dumped from the res files using Phobos. (clipped for clarity)
"2010": {
"effectID": 2010,
"effectName": "propulsionDroneJammingStrength",
"modifierInfo": [
{
"domain": "charID",
"func": "OwnerRequiredSkillModifier",
"modifiedAttributeID": 20,
"modifyingAttributeID": 829,
"operation": 6,
"skillTypeID": 23599
}
],
}
The other fields I know of that are missing the 'filter' fields are as follows.
- ItemModifier
- LocationModifier
- LocationGroupModifier
- groupID
/universe/groups/{id}/
- groupID
- LocationRequiredSkillModifier
- skillTypeID
/universe/types/{id}/
- skillTypeID
- OwnerRequiredSkillModifier
- skillTypeID
/universe/types/{id}/
- skillTypeID
This may come under #1103....
Use case
Without this information in ESI, a dogma engine either has to hand code all of the values using a phobos dump as a guide, or use the phobos dump to generate the required modifierInfo fields.
Authentication
A public route, no auth required.
Example return
I propose that the dogma endpoint should have two optional fields added to the modifiers array. These would be:
- groupID
- skillTypeID
For effect 2010 this would change the response to be as follows:
{
"description": "",
"display_name": "",
"effect_category": 0,
"effect_id": 2010,
"icon_id": 0,
"modifiers": [
{
"domain": "charID",
"func": "OwnerRequiredSkillModifier",
"modified_attribute_id": 20,
"modifying_attribute_id": 829,
"operator": 6,
"skillTypeID": 23599
}
],
"name": "propulsionDroneJammingStrength"
}
Checklist
Check all boxes that apply to this issue:
- [x] Feature request description is provided
- [x] Use case exists
- [ ] Feature requires a new route
- [x] Feature adds data to existing route
- [ ] Feature requires new auth scope
- [ ] Feature can reuse existing scope
- [x] Feature does not require auth
- [ ] Meta feature, applies to all routes
Adding clarification as I missed it at the time of posting the feature request. This information is present with the SDE. The fsd/dogmaEffects.yaml
file contains it. For comparison to the above the effect id 2010 from that file looks like (at time of posting)
2010:
disallowAutoRepeat: false
effectCategory: passive
effectID: 2010
effectName: propulsionDroneJammingStrength
electronicChance: false
guid: ''
iconID: 0
isAssistance: false
isOffensive: false
isWarpSafe: false
modifierInfo:
- domain: charID
func: OwnerRequiredSkillModifier
modifiedAttributeID: 20
modifyingAttributeID: 829
operation: postPercent
skillTypeID: 23599
propulsionChance: false
published: false
rangeChance: false
However in finding this information, my request to have the data included in ESI still stands, as for the most part the dogma effects endpoint is incomplete without it.
that's actually a quiet important bug as it makes the dogma endpoints nearly useless as of right now, both for dogma engines and also only for showing which stats and effects a ship or item has, as in the info screen.