gregmalcolm/elite-engineers-data

Suggestion for exported JSON, blueprint effects: mark as positive or negative (gain or loss)

Opened this issue · 1 comments

I propose adding an attribute to effects that shows if it's a positive or negative effect. Based on effect.min or effect.max that's not distinguishable.

So this (increased fsd grade 1 from elite-engineers-data JSON):

"effects": {
    "mass": {
        "name": "Mass",
        "isPercent": true,
        "min": 10,
        "max": 0
    },
    "integrity": {
        "name": "Integrity",
        "isPercent": true,
        "min": -5,
        "max": 0
    },
    "power-draw": {
        "name": "Power Draw",
        "isPercent": true,
        "min": 4,
        "max": 0
    },
    "optimised-mass": {
        "name": "Optimised Mass",
        "isPercent": true,
        "min": 0,
        "max": 4
    }
}

Becomes:

"effects": {
    "mass": {
        "effect": "negative",
        "name": "Mass",
        "isPercent": true,
        "min": 10,
        "max": 0
    },
    "integrity": {
        "effect": "negative",
        "name": "Integrity",
        "isPercent": true,
        "min": -5,
        "max": 0
    },
    "power-draw": {
        "effect": "negative",
        "name": "Power Draw",
        "isPercent": true,
        "min": 4,
        "max": 0
    },
    "optimised-mass": {
        "effect": "positive",
        "name": "Optimised Mass",
        "isPercent": true,
        "min": 0,
        "max": 4
    }
}

I'm not really sure myself of the terminology though. Initially in my own exported data, I went with influence as attribute name, which didn't seem very clear. Then I thought of using type, but that's really way to generic. Finally settled for effect, and couldn't bother fussing over a name any longer ;)

Similarly, I initially used GAIN and LOSS instead of negative and positive. But GAIN and LOSS seem to overlap too much with the attributes increasing (gain) and decreasing (loss) and didn't express if it's something, well, positive or negative.

Nice suggestion, I missed that :)
of course I can add that to the script as a boolean value like that
"isGain": (true or false)
or a "isPositiveEffect" (as non-native English speaker, suggestions for a good name are welcome).