Skip to content

data format notes

Marcus edited this page Oct 18, 2021 · 5 revisions

Thoughts on a clearer and more extensible data format for the gear optimizer. I am committed to none of this; if you have a good idea please let me know.

Note that I plan to handle uptimes and amount-per-stack one level higher than this. These values can be "at 100% uptime" or "per stack" or "with x boons" or whatever, and will be linearly scaled up or down with user input on traits where that's relevant.

Uptime is to be used sparingly (it's not actually an accurate simulation to average the stat bonus out). Needed for e.g. eagle vs thief rune, of course.

Damage Multipliers

Data: type, amount (percent), additive/multiplicative/target/unknown

idea so far:

  damage:
    All Damage: [7%, mult] # tested by Cat
    Condition Damage: [1%, unknown]
    Strike Damage: [4%, mult]
    Damage Reduction: [1%, add] # tested by Marcus
    illusion - Strike Damage: [4%, mult]

Possible types:

  • Strike Damage
  • Condition Damage
  • All Damage
  • Damage Reduction
  • Condition Damage Reduction (do we want to implement this? Would anyone use it?)

All of these require an additive/multiplictive key, but I'd like to implement some way of saying "I don't know" explicitly, such that we can distinguish which are tested.

Note that specific conditions (i.e. "7% increased burning damage") could logically go here, but I think they make more sense as a percent attribute buff unless they can be additive or multiplicative, which we don't have any evidence of so far.

These do not apply to mesmer illusions unless specifically keyed, in which case they only apply to illusions (duplicate them if they do both).

Example ingame tooltip texts:
10% Damage, 10% Condition Damage
+7% Strike Damage vs. Dredge; +3% Strike Damage
+4% Condition Damage
+7% Damage to chilled foes
Damage Reduced: 10%

Attributes

Would like opinions on whether it's cleaner to combine these:

  attributes:
    Power: [+750, unconverted] # boon definitely unconverted
    Condition Damage: [+50, converted]
    Expertise: [+50, unknown]
    Critical Chance: 7%
    Bleeding Duration: 33%
    illusion - Critical Damage: 10%
    shroud - Critical Chance: 33%

or separate them into two sections.

Points

Data: type, amount (#), converted/unconverted/unknown

Possible types:

  • Power
  • Precison
  • Toughness
  • Vitality
  • Ferocity
  • Condition Damage
  • Expertise
  • Concentration
  • Healing Power
  • Agony Resistance (it's converted by omnipotion)
  • Armor (I guess - I don't think this can actually happen?)

These require a converted/flat vs unconverted/buff key. Not sure the best wording. Again, I'd like to explicitly implement "we don't know yet."

These apply to mesmer illusions

Random note: precision buffs should be warned about in conditional buffs, as they'll give inaccurate optimal results with non-0-or-100% uptimes. (This is actually true of any buff, but crit chance actually matters.)

Example ingame tooltip texts:
Precision: +80
+50 Condition Damage

Percent

Data: type, amount (percent)

Possible types:

  • Critical Chance
  • Critical Damage (actually mathematically "damage dealt by critical hits;" not the same as ferocity)
  • Boon Duration
  • [every boon] Duration
  • Condition Duration
  • [every condition] Duration
  • [every condition] Damage
  • Maximum Health
  • Outgoing Healing

(omitted: incoming healing, incoming condition duration)

I do not know of any modifer that is quoted as a percentage that can be converted. If anet adds one I will cry.

These do not apply to mesmer illusions unless specifically keyed, in which case they only apply to illusions (duplicate them if they do both).

Random note: critical chance and condition duration buffs should be warned about in conditional buffs, as they'll give inaccurate optimal results with non-0-or-100% uptimes. (This is actually true of any buff, but crit chance actually matters.)

Example ingame tooltip texts:
+20% Burn Duration
+10% Outgoing Healing
Critical Chance Increase: 7%
+10% Maximum Health
+10% Healing effectiveness to other allies
Gain a charge that grants 0.5% outgoing healing effectiveness toward other allies each time you kill a foe.
Might applied to you grants more power.

Conversion

Data: to, from, amount (percent)

idea so far:

  conversion:
    Condition Damage:
      Power: 10%
      Toughness: 10%
    Power:
      Expertise: 5%

Possible types: two types to one type, one type to one type (every type of attribute point)

The big question is, do you represent these separately or together, if two inputs yield one output? Based on the ingame text on sharpening stones, I would say separately; I want to be pretty close to the ingame tooltips for clarity and ease of copypasting.

Also, I feel like "to - from - percent" is the clearest order, again simulating the tooltips, but neither is great.

Bountiful maintenence oil is an instance of this which outputs a percent multiplier instead fo a stat; I am fine special casing this.

Example ingame tooltip texts:
Gain Condition Damage Based on a Percentage of Power: 10%
Gain Power Equal to 3% of Your Precision / Gain Power Equal to 6% of Your Ferocity
'convert 7% of your power into expertise.'

Effect

Data: type, amount (coefficient or stacks) (intentionally omitted: procs/second; this would be in the user input layer above this)

idea so far:

  effect:
    Poison: 8
    Strike: 0.2
    DPS: 102

Possible types:

  • Power
  • [every damaging condition]
  • DPS (yes, we could do the ogre rune/golemancer rune summons, lul)

I am debating adding this one. This is for effects that occur once every x seconds and deal power damage with coefficient y and/or apply z stacks of conditions. This allows one to compare bursting sigils to earth sigil/geomancy sigil/doom sigil/torment sigil/etc, or air sigil to impact, as well as gives us more accurate sims on e.g. the firebrand rune 6th bonus.

Unlike every other modifier here, these do not work correctly unless the magnitude of your "distribution/coefficient" inputs are accurate in their magnitude. You can compare accuracy vs impact sigil just fine with any random power coefficient value and one will always be x% better than the other; you cannot do this with air sigil. A snackbar could pop in when you have these enabled notifying you of this.

You can use more than one of these together (geomancy has a power effect and a bleed effect) but can't combine them in the same submodifier as other types (this should be pretty clear).

For full meme, implement LOTP as a (group) DPS buff that assumes you give OWP to a competent party, lul

Example ingame tooltip texts:
Damage nearby foes and chill them for 2 seconds when you swap to this weapon while in combat.
Inflict bleeding for 6 seconds upon critically hitting a foe.
Unleash a lightning strike upon critically hitting a foe.
Your next attack will inflict 3 stacks of poison for 8 seconds after swapping to this weapon while in combat.
Inflict bleeding, torment, and poisoned to nearby foes for 8 seconds after using an elite skill.
Summon a rock dog while in combat.

Clone this wiki locally