Skip to content

Commit 1b8736a

Browse files
committed
Fix tier bonuses
1 parent 833cd24 commit 1b8736a

4 files changed

Lines changed: 62 additions & 31 deletions

File tree

sim/core/buffs.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -423,11 +423,11 @@ var CommandingShoutCategory = "CommandingShout"
423423

424424
func CommandingShoutAura(char *Character, isPlayer bool, boomingVoicePoints int32, commandingPresenceMultiplier float64, hasT6Tank2P bool) *Aura {
425425
baseHpBuff := 1080.0
426-
hpBuff := baseHpBuff
427426
if hasT6Tank2P {
428-
hpBuff += 170
427+
baseHpBuff += 170
429428
}
430-
nonPlayerHpBuff := hpBuff * commandingPresenceMultiplier
429+
430+
nonPlayerHpBuff := baseHpBuff * commandingPresenceMultiplier
431431

432432
var ee *ExclusiveEffect
433433
aura := char.GetOrRegisterAura(Aura{

sim/core/spell_resistances.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package core
22

33
import (
4-
"math"
5-
64
"github.com/wowsims/tbc/sim/core/stats"
75
)
86

sim/warrior/items.go

Lines changed: 58 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -138,31 +138,37 @@ var ItemSetDestroyerBattlegear = core.NewItemSet(core.ItemSet{
138138
Name: "Destroyer Battlegear",
139139
Bonuses: map[int32]core.ApplySetBonus{
140140
2: func(agent core.Agent, setBonusAura *core.Aura) {
141-
setBonusAura.
142-
AttachSpellMod(core.SpellModConfig{
143-
ClassMask: SpellMaskWhirlwind,
144-
Kind: core.SpellMod_PowerCost_Flat,
145-
IntValue: -5,
146-
}).
147-
ExposeToAPL(37518)
148-
},
149-
4: func(agent core.Agent, setBonusAura *core.Aura) {
150141
warrior := agent.(WarriorAgent).GetWarrior()
151-
actionID := core.ActionID{SpellID: 37521}
152-
rageMetrics := warrior.NewRageMetrics(actionID)
142+
actionID := core.ActionID{SpellID: 37529}
143+
144+
aura := warrior.NewTemporaryStatsAura(
145+
"Overpower",
146+
actionID,
147+
stats.Stats{stats.AttackPower: 100},
148+
time.Second*5,
149+
)
153150

154151
setBonusAura.
155152
AttachProcTrigger(core.ProcTrigger{
156-
Name: "Destroyer Battlegear - 4PC",
153+
Name: "Destroyer Battlegear - 2PC",
154+
ClassSpellMask: SpellMaskOverpower,
157155
TriggerImmediately: true,
158156
Callback: core.CallbackOnSpellHitDealt,
159-
Outcome: core.OutcomeParry | core.OutcomeDodge,
160157
Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
161-
warrior.AddRage(sim, 2, rageMetrics)
158+
aura.Activate(sim)
162159
},
163160
}).
164161
ExposeToAPL(actionID.SpellID)
165162
},
163+
4: func(agent core.Agent, setBonusAura *core.Aura) {
164+
setBonusAura.
165+
AttachSpellMod(core.SpellModConfig{
166+
ClassMask: SpellMaskMortalStrike | SpellMaskBloodthirst,
167+
Kind: core.SpellMod_PowerCost_Flat,
168+
IntValue: -5,
169+
}).
170+
ExposeToAPL(37535)
171+
},
166172
},
167173
})
168174

@@ -172,35 +178,59 @@ var ItemSetDestroyerArmor = core.NewItemSet(core.ItemSet{
172178
Bonuses: map[int32]core.ApplySetBonus{
173179
2: func(agent core.Agent, setBonusAura *core.Aura) {
174180
warrior := agent.(WarriorAgent).GetWarrior()
175-
actionID := core.ActionID{SpellID: 37529}
181+
actionID := core.ActionID{SpellID: 37523}
176182

177183
aura := warrior.NewTemporaryStatsAura(
178-
"Overpower",
184+
"Reinforced Shield",
179185
actionID,
180-
stats.Stats{stats.AttackPower: 100},
181-
time.Second*5,
186+
stats.Stats{stats.BlockValue: 100},
187+
time.Second*6,
182188
)
183189

184190
setBonusAura.
185191
AttachProcTrigger(core.ProcTrigger{
186-
Name: "Destroyer Armor - 2PC",
187-
ClassSpellMask: SpellMaskOverpower,
192+
Name: "Destroyer Armor - 2PC - Trigger",
193+
ClassSpellMask: SpellMaskShieldBlock,
188194
TriggerImmediately: true,
189195
Callback: core.CallbackOnSpellHitDealt,
190196
Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
191197
aura.Activate(sim)
192198
},
193199
}).
200+
AttachProcTrigger(core.ProcTrigger{
201+
Name: "Destroyer Armor - 2PC - Consume",
202+
TriggerImmediately: true,
203+
Outcome: core.OutcomeBlock,
204+
Callback: core.CallbackOnSpellHitTaken,
205+
Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
206+
aura.Deactivate(sim)
207+
},
208+
}).
194209
ExposeToAPL(actionID.SpellID)
195210
},
196211
4: func(agent core.Agent, setBonusAura *core.Aura) {
212+
warrior := agent.(WarriorAgent).GetWarrior()
213+
actionID := core.ActionID{SpellID: 37526}
214+
215+
aura := warrior.NewTemporaryStatsAura(
216+
"Battle Rush",
217+
actionID,
218+
stats.Stats{stats.MeleeHasteRating: 200},
219+
time.Second*10,
220+
)
221+
197222
setBonusAura.
198-
AttachSpellMod(core.SpellModConfig{
199-
ClassMask: SpellMaskMortalStrike | SpellMaskBloodthirst,
200-
Kind: core.SpellMod_PowerCost_Flat,
201-
IntValue: -5,
223+
AttachProcTrigger(core.ProcTrigger{
224+
Name: "Destroyer Armor - 4PC",
225+
TriggerImmediately: true,
226+
ProcChance: 0.07,
227+
RequireDamageDealt: true,
228+
Callback: core.CallbackOnSpellHitTaken,
229+
Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
230+
aura.Activate(sim)
231+
},
202232
}).
203-
ExposeToAPL(37535)
233+
ExposeToAPL(actionID.SpellID)
204234
},
205235
},
206236
})
@@ -235,6 +265,9 @@ var ItemSetOnslaughtArmor = core.NewItemSet(core.ItemSet{
235265
Name: "Onslaught Armor",
236266
Bonuses: map[int32]core.ApplySetBonus{
237267
2: func(agent core.Agent, setBonusAura *core.Aura) {
268+
warrior := agent.(WarriorAgent).GetWarrior()
269+
warrior.T6Tank2P = setBonusAura
270+
238271
setBonusAura.ExposeToAPL(38408)
239272
},
240273
4: func(agent core.Agent, setBonusAura *core.Aura) {

sim/warrior/shouts.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ func (warrior *Warrior) registerShouts() {
7373
warrior.DefaultShout != proto.WarriorShout_WarriorShoutNone,
7474
warrior.Talents.BoomingVoice,
7575
commandingPresenceMultiplier,
76-
warrior.T6Tank2P != nil && warrior.T6Tank2P.IsActive(),
76+
warrior.CouldHaveSetBonus(ItemSetOnslaughtArmor, 2),
7777
)
7878
aura.BuildPhase = core.Ternary(warrior.DefaultShout == proto.WarriorShout_WarriorShoutCommanding, core.CharacterBuildPhaseBuffs, core.CharacterBuildPhaseNone)
7979
return aura

0 commit comments

Comments
 (0)