Skip to content

Commit

Permalink
add warrior T2.5 sets
Browse files Browse the repository at this point in the history
  • Loading branch information
kayla-glick committed Nov 16, 2024
1 parent edb1723 commit 11d8e82
Show file tree
Hide file tree
Showing 4 changed files with 120 additions and 2 deletions.
1 change: 1 addition & 0 deletions sim/warrior/deep_wounds.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ func (warrior *Warrior) applyDeepWounds() {
}[warrior.Talents.DeepWounds]

warrior.DeepWounds = warrior.RegisterSpell(AnyStance, core.SpellConfig{
SpellCode: SpellCode_WarriorDeepWounds,
ActionID: core.ActionID{SpellID: spellID},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskEmpty,
Expand Down
115 changes: 115 additions & 0 deletions sim/warrior/item_sets_pve.go
Original file line number Diff line number Diff line change
Expand Up @@ -455,3 +455,118 @@ var ItemSetVindicatorsBattlegear = core.NewItemSet(core.ItemSet{
},
},
})

///////////////////////////////////////////////////////////////////////////
// SoD Phase 6 Item Sets
///////////////////////////////////////////////////////////////////////////

var ItemSetConquerorsAdvance = core.NewItemSet(core.ItemSet{
Name: "Conqueror's Advance",
Bonuses: map[int32]core.ApplyEffect{
// Reduces the cooldown on your Death Wish by 50%.
2: func(agent core.Agent) {
warrior := agent.(WarriorAgent).GetWarrior()
if !warrior.Talents.DeathWish {
return
}

warrior.RegisterAura(core.Aura{
Label: "S03 - Item - TAQ - Warrior - Damage 2P Bonus",
OnInit: func(aura *core.Aura, sim *core.Simulation) {
warrior.DeathWish.CD.Duration /= 2
},
})
},
// You deal 10% increased damage while any nearby enemy is afflicted with both your Rend and your Deep Wounds.
4: func(agent core.Agent) {
warrior := agent.(WarriorAgent).GetWarrior()
if warrior.Talents.DeepWounds == 0 {
return
}

buffAura := warrior.RegisterAura(core.Aura{
ActionID: core.ActionID{SpellID: 1214166},
Label: "Bloodythirsty",
Duration: time.Second * 3,
OnGain: func(aura *core.Aura, sim *core.Simulation) {
warrior.PseudoStats.DamageDealtMultiplier *= 1.10
},
OnExpire: func(aura *core.Aura, sim *core.Simulation) {
warrior.PseudoStats.DamageDealtMultiplier *= 1.10
},
})

core.MakePermanent(warrior.RegisterAura(core.Aura{
Label: "S03 - Item - TAQ - Warrior - Damage 4P Bonus",
OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
if (spell.SpellCode == SpellCode_WarriorDeepWounds && warrior.Rend.Dot(result.Target).IsActive()) ||
(spell.SpellCode == SpellCode_WarriorRend && warrior.DeepWounds.Dot(result.Target).IsActive()) {
buffAura.Activate(sim)
}
},
OnPeriodicDamageDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
if (spell.SpellCode == SpellCode_WarriorDeepWounds && warrior.Rend.Dot(result.Target).IsActive()) ||
(spell.SpellCode == SpellCode_WarriorRend && warrior.DeepWounds.Dot(result.Target).IsActive()) {
buffAura.Activate(sim)
}
},
}))
},
},
})

var ItemSetConquerorsBulwark = core.NewItemSet(core.ItemSet{
Name: "Conqueror's Bulwark",
Bonuses: map[int32]core.ApplyEffect{
// Reduces the cooldown on Thunder Clap by 100%.
2: func(agent core.Agent) {
warrior := agent.(WarriorAgent).GetWarrior()

warrior.RegisterAura(core.Aura{
Label: "S03 - Item - TAQ - Warrior - Tank 2P Bonus",
OnInit: func(aura *core.Aura, sim *core.Simulation) {
warrior.ThunderClap.CD.Duration = 0
},
})
},
// Your Shield Slam deals 100% increased threat and its cooldown is reset if it is Dodged, Parried, or Blocked.
4: func(agent core.Agent) {
warrior := agent.(WarriorAgent).GetWarrior()
if !warrior.Talents.ShieldSlam {
return
}

core.MakePermanent(warrior.RegisterAura(core.Aura{
Label: "S03 - Item - TAQ - Warrior - Tank 4P Bonus",
OnInit: func(aura *core.Aura, sim *core.Simulation) {
warrior.ShieldSlam.ThreatMultiplier *= 2
},
OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
if spell.SpellCode == SpellCode_WarriorShieldSlam && result.Outcome.Matches(core.OutcomeDodge|core.OutcomeParry|core.OutcomeBlock) {
spell.CD.Reset()
}
},
}))
},
},
})

var ItemSetBattlegearOfUnyieldingStrength = core.NewItemSet(core.ItemSet{
Name: "Battlegear of Unyielding Strength",
Bonuses: map[int32]core.ApplyEffect{
// Reduces the cooldown on Shockwave by 50%.
3: func(agent core.Agent) {
warrior := agent.(WarriorAgent).GetWarrior()
if !warrior.HasRune(proto.WarriorRune_RuneShockwave) {
return
}

warrior.RegisterAura(core.Aura{
Label: "S03 - Item - RAQ - Warrior - Tank 3P Bonus",
OnInit: func(aura *core.Aura, sim *core.Simulation) {
warrior.Shockwave.CD.Duration /= 2
},
})
},
},
})
4 changes: 2 additions & 2 deletions sim/warrior/talents.go
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ func (warrior *Warrior) registerDeathWishCD() {
})
core.RegisterPercentDamageModifierEffect(deathWishAura, 1.2)

DeathWish := warrior.RegisterSpell(AnyStance, core.SpellConfig{
warrior.DeathWish = warrior.RegisterSpell(AnyStance, core.SpellConfig{
ActionID: actionID,
Flags: core.SpellFlagHelpful,
RageCost: core.RageCostOptions{
Expand All @@ -444,7 +444,7 @@ func (warrior *Warrior) registerDeathWishCD() {
})

warrior.AddMajorCooldown(core.MajorCooldown{
Spell: DeathWish.Spell,
Spell: warrior.DeathWish.Spell,
Type: core.CooldownTypeDPS,
})
}
Expand Down
2 changes: 2 additions & 0 deletions sim/warrior/warrior.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ const (
SpellCode_WarriorNone int32 = iota

SpellCode_WarriorBloodthirst
SpellCode_WarriorDeepWounds
SpellCode_WarriorDevastate
SpellCode_WarriorExecute
SpellCode_WarriorMortalStrike
Expand Down Expand Up @@ -96,6 +97,7 @@ type Warrior struct {
Bloodrage *WarriorSpell
BerserkerRage *WarriorSpell
Bloodthirst *WarriorSpell
DeathWish *WarriorSpell
DemoralizingShout *WarriorSpell
Execute *WarriorSpell
MortalStrike *WarriorSpell
Expand Down

0 comments on commit 11d8e82

Please sign in to comment.