Documentation ¶
Index ¶
- Constants
- Variables
- func RegisterRogue()
- func RotationSpecOptions(talents *proto.RogueTalents, options *proto.Rogue_Options) []core.SpecOptionsCombo
- type DoAction
- type GetAction
- type PoisonProcSource
- type PriorityAction
- type Rogue
- func (rogue *Rogue) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
- func (rogue *Rogue) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (rogue *Rogue) ApplyCutToTheChase(sim *core.Simulation)
- func (rogue *Rogue) ApplyEnergyTickMultiplier(multiplier float64)
- func (rogue *Rogue) ApplyFinisher(sim *core.Simulation, spell *core.Spell)
- func (rogue *Rogue) ApplyTalents()
- func (rogue *Rogue) CanMutilate() bool
- func (rogue *Rogue) GetCharacter() *core.Character
- func (rogue *Rogue) GetDeadlyPoisonProcChance(mask core.ProcMask) float64
- func (rogue *Rogue) GetRogue() *Rogue
- func (rogue *Rogue) HasMajorGlyph(glyph proto.RogueMajorGlyph) bool
- func (rogue *Rogue) HasMinorGlyph(glyph proto.RogueMinorGlyph) bool
- func (rogue *Rogue) Initialize()
- func (rogue *Rogue) MeleeCritMultiplier(applyLethality bool) float64
- func (rogue *Rogue) OnCanAct(sim *core.Simulation)
- func (rogue *Rogue) OnEnergyGain(sim *core.Simulation)
- func (rogue *Rogue) OnGCDReady(sim *core.Simulation)
- func (rogue *Rogue) Reset(sim *core.Simulation)
- func (rogue *Rogue) RuptureDuration(comboPoints int32) time.Duration
- func (rogue *Rogue) SpellCritMultiplier() float64
- func (rogue *Rogue) UpdateInstantPoisonPPM(bonusChance float64)
- type RogueAgent
Constants ¶
View Source
const ( SpellFlagBuilder = core.SpellFlagAgentReserved2 SpellFlagFinisher = core.SpellFlagAgentReserved3 )
View Source
const ( ShouldNotCast shouldCastRotationItemResult = iota ShouldBuild ShouldCast ShouldWait )
View Source
const FanOfKnivesSpellID int32 = 51723
View Source
const GarroteSpellID = 48676
View Source
const RogueBleedTag = "RogueBleed"
View Source
const RuptureEnergyCost = 25.0
View Source
const RuptureSpellID = 48672
View Source
const SliceAndDiceEnergyCost = 25.0
Variables ¶
View Source
var AdrenalineRushActionID = core.ActionID{SpellID: 13750}
View Source
var AssassinationRotationOptions = []*proto.Rogue_Rotation{ { ExposeArmorFrequency: proto.Rogue_Rotation_Never, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Never, AssassinationFinisherPriority: proto.Rogue_Rotation_EnvenomRupture, }, { ExposeArmorFrequency: proto.Rogue_Rotation_Never, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Once, AssassinationFinisherPriority: proto.Rogue_Rotation_EnvenomRupture, }, { ExposeArmorFrequency: proto.Rogue_Rotation_Once, MinimumComboPointsExposeArmor: 3, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Never, AssassinationFinisherPriority: proto.Rogue_Rotation_EnvenomRupture, }, { ExposeArmorFrequency: proto.Rogue_Rotation_Maintain, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Never, AssassinationFinisherPriority: proto.Rogue_Rotation_EnvenomRupture, }, { ExposeArmorFrequency: proto.Rogue_Rotation_Never, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Maintain, AssassinationFinisherPriority: proto.Rogue_Rotation_EnvenomRupture, }, { ExposeArmorFrequency: proto.Rogue_Rotation_Never, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Maintain, AssassinationFinisherPriority: proto.Rogue_Rotation_RuptureEnvenom, }, }
View Source
var AssassinationTalents = &proto.RogueTalents{ Malice: 5, Ruthlessness: 3, PuncturingWounds: 3, Lethality: 5, VilePoisons: 3, ImprovedPoisons: 5, FleetFooted: 2, ColdBlood: true, SealFate: 5, Murder: 2, Overkill: true, FocusedAttacks: 3, FindWeakness: 3, MasterPoisoner: 3, Mutilate: true, CutToTheChase: 5, HungerForBlood: true, DualWieldSpecialization: 5, Precision: 5, CloseQuartersCombat: 3, RelentlessStrikes: 5, Opportunity: 2, }
View Source
var BladeFlurryActionID = core.ActionID{SpellID: 13877}
View Source
var CombatNoLethalityNoPotWTalents = &proto.RogueTalents{ Malice: 5, Ruthlessness: 3, BloodSpatter: 2, VilePoisons: 2, ImprovedPoisons: 3, ImprovedSinisterStrike: 2, DualWieldSpecialization: 5, ImprovedSliceAndDice: 2, Precision: 5, Endurance: 1, CloseQuartersCombat: 5, LightningReflexes: 3, Aggression: 5, BladeFlurry: true, WeaponExpertise: 2, BladeTwisting: 2, Vitality: 3, AdrenalineRush: true, CombatPotency: 5, SurpriseAttacks: true, SavageCombat: 2, KillingSpree: true, }
View Source
var CombatNoLethalityTalents = &proto.RogueTalents{ Malice: 5, Ruthlessness: 3, BloodSpatter: 2, VilePoisons: 2, ImprovedPoisons: 3, ImprovedSinisterStrike: 2, DualWieldSpecialization: 5, ImprovedSliceAndDice: 2, Precision: 5, Endurance: 1, CloseQuartersCombat: 5, LightningReflexes: 3, Aggression: 5, BladeFlurry: true, WeaponExpertise: 2, BladeTwisting: 2, Vitality: 3, AdrenalineRush: true, CombatPotency: 5, SurpriseAttacks: true, SavageCombat: 2, PreyOnTheWeak: 5, KillingSpree: true, }
View Source
var CombatNoPotWTalents = &proto.RogueTalents{ Malice: 5, Ruthlessness: 3, BloodSpatter: 2, Lethality: 5, VilePoisons: 2, ImprovedPoisons: 3, ImprovedSinisterStrike: 2, DualWieldSpecialization: 5, ImprovedSliceAndDice: 2, Precision: 5, Endurance: 1, CloseQuartersCombat: 5, LightningReflexes: 3, Aggression: 5, BladeFlurry: true, WeaponExpertise: 2, BladeTwisting: 2, Vitality: 3, AdrenalineRush: true, CombatPotency: 5, SurpriseAttacks: true, SavageCombat: 2, KillingSpree: true, }
View Source
var CombatRotationOptions = []*proto.Rogue_Rotation{ { ExposeArmorFrequency: proto.Rogue_Rotation_Never, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Never, CombatFinisherPriority: proto.Rogue_Rotation_RuptureEviscerate, }, { ExposeArmorFrequency: proto.Rogue_Rotation_Never, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Once, CombatFinisherPriority: proto.Rogue_Rotation_RuptureEviscerate, }, { ExposeArmorFrequency: proto.Rogue_Rotation_Once, MinimumComboPointsExposeArmor: 3, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Never, CombatFinisherPriority: proto.Rogue_Rotation_RuptureEviscerate, }, { ExposeArmorFrequency: proto.Rogue_Rotation_Maintain, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Never, CombatFinisherPriority: proto.Rogue_Rotation_RuptureEviscerate, }, { ExposeArmorFrequency: proto.Rogue_Rotation_Never, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Maintain, CombatFinisherPriority: proto.Rogue_Rotation_RuptureEviscerate, }, { ExposeArmorFrequency: proto.Rogue_Rotation_Never, TricksOfTheTradeFrequency: proto.Rogue_Rotation_Maintain, CombatFinisherPriority: proto.Rogue_Rotation_EviscerateRupture, }, }
View Source
var CombatTalents = &proto.RogueTalents{ Malice: 5, Ruthlessness: 3, BloodSpatter: 2, Lethality: 5, VilePoisons: 2, ImprovedPoisons: 3, ImprovedSinisterStrike: 2, DualWieldSpecialization: 5, ImprovedSliceAndDice: 2, Precision: 5, Endurance: 1, CloseQuartersCombat: 5, LightningReflexes: 3, Aggression: 5, BladeFlurry: true, WeaponExpertise: 2, BladeTwisting: 2, Vitality: 3, AdrenalineRush: true, CombatPotency: 5, SurpriseAttacks: true, SavageCombat: 2, PreyOnTheWeak: 5, KillingSpree: true, }
View Source
var DeadlyDeadly = &proto.Rogue_Options{ MhImbue: proto.Rogue_Options_InstantPoison, OhImbue: proto.Rogue_Options_InstantPoison, }
View Source
var DeadlyInstant = &proto.Rogue_Options{ MhImbue: proto.Rogue_Options_DeadlyPoison, OhImbue: proto.Rogue_Options_InstantPoison, }
View Source
var DeadlyPoisonActionID = core.ActionID{SpellID: 57973}
View Source
var FullConsumes = &proto.Consumes{ Flask: proto.Flask_FlaskOfEndlessRage, DefaultPotion: proto.Potions_PotionOfSpeed, DefaultConjured: proto.Conjured_ConjuredRogueThistleTea, }
View Source
var GearWithRED = core.EquipmentSpecFromJsonString(`{"items": [
{
"id": 37293,
"enchant": 3817,
"gems": [
41398,
40088
]
},
{
"id": 37861
},
{
"id": 37139,
"enchant": 3808,
"gems": [
36766
]
},
{
"id": 36947,
"enchant": 3605
},
{
"id": 37165,
"enchant": 3832,
"gems": [
40044,
36766
]
},
{
"id": 44203,
"enchant": 3845,
"gems": [
0
]
},
{
"id": 37409,
"enchant": 3604,
"gems": [
0
]
},
{
"id": 37194,
"gems": [
40014,
40157
]
},
{
"id": 37644,
"enchant": 3823
},
{
"id": 44297,
"enchant": 3606
},
{
"id": 43251,
"gems": [
40136
]
},
{
"id": 37642
},
{
"id": 37390
},
{
"id": 37166
},
{
"id": 37693,
"enchant": 3789
},
{
"id": 37856,
"enchant": 3789
},
{
"id": 37191
}
]}`)
View Source
var GearWithoutRED = core.EquipmentSpecFromJsonString(`{"items": [
{
"id": 37293,
"enchant": 3817,
"gems": [
41339,
40088
]
},
{
"id": 37861
},
{
"id": 37139,
"enchant": 3808,
"gems": [
36766
]
},
{
"id": 36947,
"enchant": 3605
},
{
"id": 37165,
"enchant": 3832,
"gems": [
40044,
36766
]
},
{
"id": 44203,
"enchant": 3845,
"gems": [
0
]
},
{
"id": 37409,
"enchant": 3604,
"gems": [
0
]
},
{
"id": 37194,
"gems": [
40014,
40157
]
},
{
"id": 37644,
"enchant": 3823
},
{
"id": 44297,
"enchant": 3606
},
{
"id": 43251,
"gems": [
40136
]
},
{
"id": 37642
},
{
"id": 37390
},
{
"id": 37166
},
{
"id": 37693,
"enchant": 3789
},
{
"id": 37856,
"enchant": 3789
},
{
"id": 37191
}
]}`)
View Source
var InstantDeadly = &proto.Rogue_Options{ MhImbue: proto.Rogue_Options_DeadlyPoison, OhImbue: proto.Rogue_Options_InstantPoison, }
View Source
var InstantInstant = &proto.Rogue_Options{ MhImbue: proto.Rogue_Options_DeadlyPoison, OhImbue: proto.Rogue_Options_DeadlyPoison, }
View Source
var ItemSetBonescythe = core.NewItemSet(core.ItemSet{ Name: "Bonescythe Battlegear", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetGladiatorsVestments = core.NewItemSet(core.ItemSet{ Name: "Gladiator's Vestments", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { agent.GetCharacter().AddStat(stats.Resilience, 100) agent.GetCharacter().AddStat(stats.AttackPower, 50) }, 4: func(agent core.Agent) { agent.GetCharacter().AddStat(stats.AttackPower, 150) }, }, })
View Source
var ItemSetShadowblades = core.NewItemSet(core.ItemSet{ Name: "Shadowblade's Battlegear", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { actionID := core.ActionID{SpellID: 70803} rogue := agent.(RogueAgent).GetRogue() metrics := rogue.NewComboPointMetrics(actionID) rogue.RegisterAura(core.Aura{ Label: "Shadowblade's 4pc", Duration: core.NeverExpires, OnReset: func(aura *core.Aura, sim *core.Simulation) { aura.Activate(sim) }, OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { if !result.Landed() { return } if !spell.Flags.Matches(SpellFlagFinisher) { return } if sim.RandomFloat("Shadowblades") > 0.13 { return } rogue.AddComboPoints(sim, 3, metrics) }, }) }, }, })
View Source
var ItemSetSlayers = core.NewItemSet(core.ItemSet{ Name: "Slayer's Armor", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetTerrorblade = core.NewItemSet(core.ItemSet{ Name: "Terrorblade Battlegear", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetVanCleefs = core.NewItemSet(core.ItemSet{ Name: "VanCleef's Battlegear", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { rogue := agent.(RogueAgent).GetRogue() energyMetrics := rogue.NewEnergyMetrics(core.ActionID{SpellID: 67209}) procAura := rogue.RegisterAura(core.Aura{ Label: "VanCleef's 2pc Proc", ActionID: core.ActionID{SpellID: 67209}, Duration: time.Second * 15, OnGain: func(aura *core.Aura, sim *core.Simulation) { rogue.PseudoStats.CostReduction += 40 }, OnExpire: func(aura *core.Aura, sim *core.Simulation) { rogue.PseudoStats.CostReduction -= 40 }, OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, _ *core.SpellResult) { if !spell.ProcMask.Matches(core.ProcMaskMeleeSpecial) { return } if actualGain := spell.DefaultCast.Cost - spell.CurCast.Cost; actualGain > 0 { energyMetrics.AddEvent(40, actualGain) aura.Deactivate(sim) } }, }) icd := core.Cooldown{ Timer: rogue.NewTimer(), Duration: time.Second * 15, } procChance := 0.02 rogue.RegisterAura(core.Aura{ Label: "VanCleef's 2pc", Duration: core.NeverExpires, OnReset: func(aura *core.Aura, sim *core.Simulation) { aura.Activate(sim) }, OnPeriodicDamageDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { if !result.Landed() { return } if !spell.ActionID.IsSpellAction(RuptureSpellID) { return } if !icd.IsReady(sim) { return } if sim.RandomFloat("VanCleef's 2pc") > procChance { return } icd.Use(sim) procAura.Activate(sim) }, }) }, 4: func(agent core.Agent) { }, }, })
View Source
var MHOutcome = core.OutcomeHit
View Source
var MutilateP1Gear = core.EquipmentSpecFromJsonString(`{"items": [
{
"id": 29044,
"enchant": 3003,
"gems": [
32409,
24061
]
},
{
"id": 29381
},
{
"id": 27797,
"enchant": 2986,
"gems": [
24061,
24055
]
},
{
"id": 28672,
"enchant": 368
},
{
"id": 29045,
"enchant": 2661,
"gems": [
24061,
24051,
24055
]
},
{
"id": 29246,
"enchant": 1593
},
{
"id": 27531,
"gems": [
24061,
24061
]
},
{
"id": 29247
},
{
"id": 28741,
"enchant": 3012,
"gems": [
24051,
24051,
24051
]
},
{
"id": 28545,
"enchant": 2939,
"gems": [
24061,
24051
]
},
{
"id": 28757
},
{
"id": 28649
},
{
"id": 29383
},
{
"id": 28830
},
{
"id": 28768,
"enchant": 2673
},
{
"id": 29182,
"enchant": 2673
},
{
"id": 28772
}
]}`)
View Source
var MutilateSpellID int32 = 48666
View Source
var OHOutcome = core.OutcomeHit
View Source
var OverkillActionID = core.ActionID{SpellID: 58426}
View Source
var P1Gear = core.EquipmentSpecFromJsonString(`{"items": [
{
"id": 40499,
"enchant": 3817,
"gems": [
41398,
42702
]
},
{
"id": 44664,
"gems": [
42154
]
},
{
"id": 40502,
"enchant": 3808,
"gems": [
36766
]
},
{
"id": 40403,
"enchant": 3605
},
{
"id": 40539,
"enchant": 3832,
"gems": [
36766
]
},
{
"id": 39765,
"enchant": 3845,
"gems": [
40003,
0
]
},
{
"id": 40496,
"enchant": 3604,
"gems": [
40058,
0
]
},
{
"id": 40260,
"gems": [
39999
]
},
{
"id": 40500,
"enchant": 3823,
"gems": [
40003,
40003
]
},
{
"id": 39701,
"enchant": 3606
},
{
"id": 40074
},
{
"id": 40474
},
{
"id": 40684
},
{
"id": 44253
},
{
"id": 39714,
"enchant": 3789
},
{
"id": 40386,
"enchant": 3789
},
{
"id": 40385
}
]}`)
View Source
var PlayerOptionsAssassinationDD = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: AssassinationTalents, Options: DeadlyDeadly, Rotation: basicRotation, }, }
View Source
var PlayerOptionsAssassinationDI = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: AssassinationTalents, Options: DeadlyInstant, Rotation: basicRotation, }, }
View Source
var PlayerOptionsAssassinationID = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: AssassinationTalents, Options: InstantDeadly, Rotation: basicRotation, }, }
View Source
var PlayerOptionsAssassinationII = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: AssassinationTalents, Options: InstantInstant, Rotation: basicRotation, }, }
View Source
var PlayerOptionsCombatDD = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: CombatTalents, Options: DeadlyDeadly, Rotation: basicRotation, }, }
View Source
var PlayerOptionsCombatDI = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: CombatTalents, Options: DeadlyInstant, Rotation: basicRotation, }, }
View Source
var PlayerOptionsCombatID = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: CombatTalents, Options: InstantDeadly, Rotation: basicRotation, }, }
View Source
var PlayerOptionsCombatII = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: CombatTalents, Options: InstantInstant, Rotation: basicRotation, }, }
View Source
var PlayerOptionsNoLethality = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: CombatNoLethalityTalents, Options: DeadlyInstant, Rotation: basicRotation, }, }
View Source
var PlayerOptionsNoLethalityNoPotW = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: CombatNoLethalityNoPotWTalents, Options: DeadlyInstant, Rotation: basicRotation, }, }
View Source
var PlayerOptionsNoPotW = &proto.Player_Rogue{ Rogue: &proto.Rogue{ Talents: CombatNoPotWTalents, Options: DeadlyInstant, Rotation: basicRotation, }, }
View Source
var PreRaidGear = core.EquipmentSpecFromJsonString(`{"items": [
{
"id": 42550,
"enchant": 3817,
"gems": [
41398,
40058
]
},
{
"id": 40678
},
{
"id": 43481,
"enchant": 3808
},
{
"id": 38614,
"enchant": 3605
},
{
"id": 39558,
"enchant": 3832,
"gems": [
40003,
42702
]
},
{
"id": 34448,
"enchant": 3845,
"gems": [
40003,
0
]
},
{
"id": 39560,
"enchant": 3604,
"gems": [
40058,
0
]
},
{
"id": 40694,
"gems": [
40003,
40003
]
},
{
"id": 37644,
"enchant": 3823
},
{
"id": 34575,
"enchant": 3606,
"gems": [
40003
]
},
{
"id": 40586
},
{
"id": 37642
},
{
"id": 40684
},
{
"id": 44253
},
{
"id": 37856,
"enchant": 3789
},
{
"id": 37667,
"enchant": 3789
},
{
"id": 43612
}
]}`)
View Source
var RotationNames = []string{
"No Expose No Tricks Primary",
"No Expose One Tricks Primary",
"One Expose No Tricks Primary",
"Maintain Expose No Tricks Primary",
"No Expose Maintain Tricks Primary",
"No Expose Maintain Tricks Secondary",
}
View Source
var SliceAndDiceActionID = core.ActionID{SpellID: 6774}
View Source
var WoundPoisonActionID = core.ActionID{SpellID: 57975}
Functions ¶
func RegisterRogue ¶
func RegisterRogue()
func RotationSpecOptions ¶
func RotationSpecOptions(talents *proto.RogueTalents, options *proto.Rogue_Options) []core.SpecOptionsCombo
Types ¶
type GetAction ¶ added in v0.1.1
type GetAction func(*core.Simulation, *Rogue) PriorityAction
type PoisonProcSource ¶
type PoisonProcSource int
const ( NormalProc PoisonProcSource = iota DeadlyProc ShivProc )
type PriorityAction ¶ added in v0.1.1
type PriorityAction int32
const ( Skip PriorityAction = iota Build Cast Wait )
type Rogue ¶
type Rogue struct { core.Character Talents *proto.RogueTalents Options *proto.Rogue_Options Rotation *proto.Rogue_Rotation BuilderPoints int32 Builder *core.Spell Backstab *core.Spell BladeFlurry *core.Spell DeadlyPoison *core.Spell FanOfKnives *core.Spell Feint *core.Spell Garrote *core.Spell Hemorrhage *core.Spell HungerForBlood *core.Spell InstantPoison [3]*core.Spell WoundPoison [3]*core.Spell Mutilate *core.Spell Shiv *core.Spell SinisterStrike *core.Spell TricksOfTheTrade *core.Spell Envenom [6]*core.Spell Eviscerate [6]*core.Spell ExposeArmor [6]*core.Spell Rupture [6]*core.Spell SliceAndDice [6]*core.Spell AdrenalineRushAura *core.Aura BladeFlurryAura *core.Aura EnvenomAura *core.Aura ExposeArmorAura *core.Aura HungerForBloodAura *core.Aura KillingSpreeAura *core.Aura OverkillAura *core.Aura SliceAndDiceAura *core.Aura TricksOfTheTradeAura *core.Aura QuickRecoveryMetrics *core.ResourceMetrics // contains filtered or unexported fields }
func (*Rogue) AddPartyBuffs ¶
func (rogue *Rogue) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
func (*Rogue) AddRaidBuffs ¶
func (*Rogue) ApplyCutToTheChase ¶
func (rogue *Rogue) ApplyCutToTheChase(sim *core.Simulation)
func (*Rogue) ApplyEnergyTickMultiplier ¶
func (*Rogue) ApplyFinisher ¶
func (rogue *Rogue) ApplyFinisher(sim *core.Simulation, spell *core.Spell)
func (*Rogue) ApplyTalents ¶
func (rogue *Rogue) ApplyTalents()
func (*Rogue) CanMutilate ¶
func (*Rogue) GetCharacter ¶
func (*Rogue) GetDeadlyPoisonProcChance ¶
func (*Rogue) HasMajorGlyph ¶
func (rogue *Rogue) HasMajorGlyph(glyph proto.RogueMajorGlyph) bool
func (*Rogue) HasMinorGlyph ¶
func (rogue *Rogue) HasMinorGlyph(glyph proto.RogueMinorGlyph) bool
func (*Rogue) Initialize ¶
func (rogue *Rogue) Initialize()
func (*Rogue) MeleeCritMultiplier ¶
func (*Rogue) OnCanAct ¶ added in v0.1.1
func (rogue *Rogue) OnCanAct(sim *core.Simulation)
func (*Rogue) OnEnergyGain ¶
func (rogue *Rogue) OnEnergyGain(sim *core.Simulation)
func (*Rogue) OnGCDReady ¶
func (rogue *Rogue) OnGCDReady(sim *core.Simulation)
func (*Rogue) Reset ¶
func (rogue *Rogue) Reset(sim *core.Simulation)
func (*Rogue) RuptureDuration ¶
func (*Rogue) SpellCritMultiplier ¶
func (*Rogue) UpdateInstantPoisonPPM ¶
type RogueAgent ¶
type RogueAgent interface {
GetRogue() *Rogue
}
Agent is a generic way to access underlying rogue on any of the agents.
Source Files ¶
- assassination_rotation.go
- backstab.go
- envenom.go
- eviscerate.go
- expose_armor.go
- fan_of_knives.go
- feint.go
- garrote.go
- hack_and_slash.go
- hemorrhage.go
- items.go
- killing_spree.go
- mutilate.go
- overkill.go
- poisons.go
- presets.go
- rogue.go
- rotation.go
- rupture.go
- shiv.go
- sinister_strike.go
- slice_and_dice.go
- talents.go
- thistle_tea.go
- tricks_of_the_trade.go
Click to show internal directories.
Click to hide internal directories.