wowsims / wotlk

World of Warcraft Wrath of the Lich King Classic simulations.
https://wowsims.github.io/wotlk/
MIT License
146 stars 136 forks source link

Second bloodlust does not get applied to Inferno summoned during the fight #2255

Open MaxifireGit opened 1 year ago

MaxifireGit commented 1 year ago

Summary

As a guild we use first blood lust on pull (2-4s in) and second blood lust after infernos are summoned. In the simulation second bloodlust does not get applied to summoned inferno. Only felhunter and character at the start with first bloodlust.

Description of the issue

If we use bloodlust on pull, felhunter and character get the buff. Once infernal is summoned, we (in the game itself) us 2nd bloodlust to buff infernals. The simulation, even if you put 2 bloodlust, lets say one on 4s and one on 40s (but after inferno has been summoned), does not add the buff to the inferno and the dps doesn't change whether you do with 2nd bloodlust or without.

image image image

To recreate

In short you need something like the following: Affliction spec Bloodlust at 4 and 40s Sim length 90s (so that at 30s inferno is summoned) Inferno box checked

Json to recreate

{
  "settings": {
    "iterations": 5000,
    "phase": 1,
    "fixedRngSeed": "4245393343",
    "showDamageMetrics": true,
    "language": "en",
    "faction": "Alliance",
    "filters": {
      "oneHandedWeapons": true,
      "twoHandedWeapons": true
    }
  },
  "raidBuffs": {
    "giftOfTheWild": "TristateEffectImproved",
    "powerWordFortitude": "TristateEffectImproved",
    "strengthOfEarthTotem": "TristateEffectImproved",
    "arcaneBrilliance": true,
    "divineSpirit": true,
    "trueshotAura": true,
    "leaderOfThePack": "TristateEffectImproved",
    "icyTalons": true,
    "totemOfWrath": true,
    "demonicPact": 4500,
    "moonkinAura": "TristateEffectImproved",
    "wrathOfAirTotem": true,
    "sanctifiedRetribution": true,
    "bloodlust": true
  },
  "debuffs": {
    "judgementOfWisdom": true,
    "misery": true,
    "faerieFire": "TristateEffectRegular",
    "curseOfElements": true,
    "ebonPlaguebringer": true,
    "earthAndMoon": true,
    "heartOfTheCrusader": true,
    "totemOfWrath": true,
    "shadowMastery": true,
    "bloodFrenzy": true,
    "sunderArmor": true
  },
  "partyBuffs": {},
  "player": {
    "name": "Player",
    "race": "RaceOrc",
    "class": "ClassWarlock",
    "equipment": {
      "items": [
        {
          "id": 40421,
          "enchant": 3820,
          "gems": [
            41285,
            40051
          ]
        },
        {
          "id": 44661,
          "gems": [
            40026
          ]
        },
        {
          "id": 40424,
          "enchant": 3810,
          "gems": [
            39998
          ]
        },
        {
          "id": 44005,
          "enchant": 3722,
          "gems": [
            40026
          ]
        },
        {
          "id": 40423,
          "enchant": 3832,
          "gems": [
            39998,
            40051
          ]
        },
        {
          "id": 44008,
          "enchant": 2332,
          "gems": [
            39998,
            0
          ]
        },
        {
          "id": 40420,
          "enchant": 3604,
          "gems": [
            39998,
            0
          ]
        },
        {
          "id": 40561,
          "gems": [
            39998
          ]
        },
        {
          "id": 40560,
          "enchant": 3719
        },
        {
          "id": 40558,
          "enchant": 3606
        },
        {
          "id": 40399
        },
        {
          "id": 40719
        },
        {
          "id": 40432
        },
        {
          "id": 40255
        },
        {
          "id": 40396,
          "enchant": 3834
        },
        {
          "id": 39766
        },
        {
          "id": 39712
        }
      ]
    },
    "consumes": {
      "flask": "FlaskOfTheFrostWyrm",
      "food": "FoodFishFeast",
      "petFood": "PetFoodSpicedMammothTreats",
      "defaultPotion": "PotionOfSpeed",
      "prepopPotion": "PotionOfWildMagic",
      "thermalSapper": true,
      "fillerExplosive": "ExplosiveSaroniteBomb"
    },
    "bonusStats": {
      "stats": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "pseudoStats": [
        0,
        0,
        0,
        0
      ]
    },
    "buffs": {
      "blessingOfKings": true,
      "blessingOfWisdom": "TristateEffectImproved",
      "blessingOfMight": "TristateEffectImproved",
      "vampiricTouch": true
    },
    "talentsString": "2350002030023510253500331151--550000051",
    "glyphs": {
      "major1": 50077,
      "major2": 45785,
      "major3": 45779,
      "minor1": 43394,
      "minor2": 43390,
      "minor3": 43393
    },
    "profession1": "Engineering",
    "profession2": "Tailoring",
    "cooldowns": {
      "cooldowns": [
        {
          "id": {
            "tag": -1,
            "spellId": 2825
          },
          "timings": [
            4,
            40
          ]
        }
      ]
    },
    "distanceFromTarget": 25,
    "healingModel": {},
    "database": {},
    "warlock": {
      "rotation": {
        "preset": "Automatic",
        "curse": "Agony",
        "primarySpell": "ShadowBolt",
        "secondaryDot": "UnstableAffliction",
        "corruption": true,
        "detonateSeed": true,
        "specSpell": "Haunt",
        "useInfernal": true
      },
      "talents": {},
      "options": {
        "armor": "FelArmor",
        "summon": "Felhunter",
        "weaponImbue": "GrandSpellstone"
      }
    }
  },
  "encounter": {
    "duration": 90,
    "executeProportion20": 0.2,
    "executeProportion25": 0.25,
    "executeProportion35": 0.35,
    "targets": [
      {
        "level": 83,
        "mobType": "MobTypeUndead",
        "stats": [
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          640,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          10643,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "minBaseDamage": 30000,
        "swingSpeed": 1.5,
        "dualWield": true,
        "parryHaste": true
      }
    ]
  },
  "epWeightsStats": {
    "stats": [
      0,
      0,
      0,
      0.18497993346795452,
      0.5372861123710803,
      1,
      0,
      0.6737459471370757,
      0.514768197890998,
      0.9155644518822608,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0
    ],
    "pseudoStats": [
      0,
      0,
      0,
      0
    ]
  }
}
avidal commented 1 year ago

This seems to be a general issue / source of confusion around how the Cooldowns section works. You can replicate it via Tricks as well. If you select Tricks or Bloodlust as a raid buff but don't specify a cooldown option, they both pop at the beginning. If you specify multiple cooldown options, they both pop at the first option, but then never again.

So it's not really something specific to the Warlock and the Infernal not getting Bloodlust, it's an issue around external cooldowns not popping multiple times even when configured to do so. It looks like personal cooldowns pop correctly (such as Scale of Fates every 2 minutes).

Tharre commented 1 year ago

Talked about this on discord; TL;DR is that with other raid CDs like tricks everything is working fine, although the UI isn't the clearest, but for bloodlust we need some specific code in place to handle temporary pets like infernal (druid's treants have the same problem).