Skip to content

Commit

Permalink
More items!
Browse files Browse the repository at this point in the history
  • Loading branch information
sanguinerarogue committed Nov 22, 2024
1 parent f644015 commit d63c093
Show file tree
Hide file tree
Showing 3 changed files with 132 additions and 204 deletions.
201 changes: 0 additions & 201 deletions sim/rogue/_items.go

This file was deleted.

100 changes: 100 additions & 0 deletions sim/rogue/items.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
package rogue

import (
"time"

"github.com/wowsims/classic/sim/core"
)

const (
VenomousTotem = 19342
RenatakisCharmofTrickery = 19954
)

func init() {
core.AddEffectsToTest = false

// https://www.wowhead.com/classic/item=19954/renatakis-charm-of-trickery
// Use: Instantly increases your energy by 60. (3 Min Cooldown)
core.NewItemEffect(RenatakisCharmofTrickery, func(agent core.Agent) {
rogue := agent.(RogueAgent).GetRogue()
energyMetrics := rogue.NewEnergyMetrics(core.ActionID{SpellID: 24532})

spell := rogue.RegisterSpell(core.SpellConfig{
ActionID: core.ActionID{ItemID: RenatakisCharmofTrickery},
ProcMask: core.ProcMaskEmpty,
Flags: core.SpellFlagNoOnCastComplete | core.SpellFlagOffensiveEquipment,

Cast: core.CastConfig{
CD: core.Cooldown{
Timer: rogue.NewTimer(),
Duration: time.Second * 180,
},
SharedCD: core.Cooldown{
Timer: rogue.GetOffensiveTrinketCD(),
Duration: time.Second * 10,
},
},

ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) {
rogue.AddEnergy(sim, 60, energyMetrics)
},
})

rogue.AddMajorCooldown(core.MajorCooldown{
Type: core.CooldownTypeDPS,
Spell: spell,
ShouldActivate: func(sim *core.Simulation, character *core.Character) bool {
// Make sure we have plenty of room so we dont energy cap right after using.
return rogue.CurrentEnergy() <= 40
},
})

})

// https://www.wowhead.com/classic/item=230250/venomous-totem
// Increases the chance to apply Rogue poisons to your target by 30% for 20 sec. (5 Min Cooldown)
core.NewItemEffect(VenomousTotem, func(agent core.Agent) {
rogue := agent.(RogueAgent).GetRogue()

aura := rogue.GetOrRegisterAura(core.Aura{
ActionID: core.ActionID{SpellID: 23726},
Label: "Venomous Totem",
Duration: time.Second * 20,
OnGain: func(aura *core.Aura, sim *core.Simulation) {
rogue.additivePoisonBonusChance += 0.3
},
OnExpire: func(aura *core.Aura, sim *core.Simulation) {
rogue.additivePoisonBonusChance -= 0.3
},
})

spell := rogue.GetOrRegisterSpell(core.SpellConfig{
ActionID: core.ActionID{ItemID: VenomousTotem},
ProcMask: core.ProcMaskEmpty,
Flags: core.SpellFlagNoOnCastComplete | core.SpellFlagOffensiveEquipment,

Cast: core.CastConfig{
CD: core.Cooldown{
Timer: rogue.NewTimer(),
Duration: time.Minute * 5,
},
SharedCD: core.Cooldown{
Timer: rogue.GetOffensiveTrinketCD(),
Duration: time.Second * 20,
},
},

ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) {
aura.Activate(sim)
},
})

rogue.AddMajorCooldown(core.MajorCooldown{
Type: core.CooldownTypeDPS,
Spell: spell,
})
})

core.AddEffectsToTest = true
}
35 changes: 32 additions & 3 deletions sim/rogue/items_sets_pve.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"time"

"github.com/wowsims/classic/sim/core"
//"github.com/wowsims/classic/sim/core/proto"
"github.com/wowsims/classic/sim/core/stats"
)

Expand Down Expand Up @@ -134,6 +133,36 @@ var ItemSetBloodfangArmor = core.NewItemSet(core.ItemSet{
},
})

var ItemSetMadcapsOutfit = core.NewItemSet(core.ItemSet{
Name: "Madcap's Outfit",
Bonuses: map[int32]core.ApplyEffect{
// +20 Attack Power.
2: func(agent core.Agent) {
c := agent.(RogueAgent).GetRogue()
c.AddStats(stats.Stats{
stats.AttackPower: 20,
stats.RangedAttackPower: 20,
})
},
// Decreases the cooldown of Blind by 20 sec.
3: func(agent core.Agent) {
// Blind not implemented in sim
},
// Decrease the energy cost of Eviscerate and Rupture by 5.
5: func(agent core.Agent) {
c := agent.(RogueAgent).GetRogue()

core.MakePermanent(c.RegisterAura(core.Aura{
Label: "Improved Eviscerate and Rupture",
OnInit: func(aura *core.Aura, sim *core.Simulation) {
c.Eviscerate.Cost.FlatModifier -= 5
c.Rupture.Cost.FlatModifier -= 5
},
}))
},
},
})

///////////////////////////////////////////////////////////////////////////
// Phase 4 Item Sets - AQ
///////////////////////////////////////////////////////////////////////////
Expand All @@ -142,7 +171,7 @@ var ItemSetBloodfangArmor = core.NewItemSet(core.ItemSet{
var ItemSetDarkmantleArmor = core.NewItemSet(core.ItemSet{
Name: "Darkmantle Armor",
Bonuses: map[int32]core.ApplyEffect{
// +40 Attack Power.
// +8 All Resistances.
2: func(agent core.Agent) {
c := agent.GetCharacter()
c.AddResistances(8)
Expand All @@ -167,7 +196,7 @@ var ItemSetDarkmantleArmor = core.NewItemSet(core.ItemSet{
},
})
},
// +8 All Resistances.
// +40 Attack Power.
6: func(agent core.Agent) {
c := agent.GetCharacter()
c.AddStats(stats.Stats{
Expand Down

0 comments on commit d63c093

Please sign in to comment.