rogue

package
v0.0.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SpellFlagBuilder      = core.SpellFlagAgentReserved1
	SpellFlagColdBlooded  = core.SpellFlagAgentReserved2
	SpellFlagDeadlyBrewed = core.SpellFlagAgentReserved3
	SpellFlagCarnage      = core.SpellFlagAgentReserved4 // for Carnage
)
View Source
const RogueBleedTag = "RogueBleed"

Variables

View Source
var AdrenalineRushActionID = core.ActionID{SpellID: 13750}
View Source
var BladeFlurryActionID = core.ActionID{SpellID: 13877}
View Source
var BladeFlurryHitID = core.ActionID{SpellID: 22482}
View Source
var ItemSetChampionsVestments = core.NewItemSet(core.ItemSet{
	Name: "Champion's Vestments",
	Bonuses: map[int32]core.ApplyEffect{

		2: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStats(stats.Stats{
				stats.AttackPower:       40,
				stats.RangedAttackPower: 40,
			})
		},

		4: func(agent core.Agent) {

		},

		6: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStat(stats.Stamina, 20)
		},
	},
})
View Source
var ItemSetDarkmantleArmor = core.NewItemSet(core.ItemSet{
	Name: "Darkmantle Armor",
	Bonuses: map[int32]core.ApplyEffect{

		2: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStats(stats.Stats{
				stats.AttackPower:       40,
				stats.RangedAttackPower: 40,
			})
		},

		4: func(agent core.Agent) {
			c := agent.GetCharacter()
			actionID := core.ActionID{SpellID: 27787}
			energyMetrics := c.NewEnergyMetrics(actionID)

			core.MakeProcTriggerAura(&c.Unit, core.ProcTrigger{
				ActionID: actionID,
				Name:     "Rogue Armor Energize",
				Callback: core.CallbackOnSpellHitDealt,
				ProcMask: core.ProcMaskMelee,
				PPM:      1,
				Handler: func(sim *core.Simulation, spell *core.Spell, _ *core.SpellResult) {
					if c.HasEnergyBar() {
						c.AddEnergy(sim, 35, energyMetrics)
					}
				},
			})
		},

		6: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStats(stats.Stats{
				stats.ArcaneResistance: 8,
				stats.FireResistance:   8,
				stats.FrostResistance:  8,
				stats.NatureResistance: 8,
				stats.ShadowResistance: 8,
			})
		},

		8: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStat(stats.Armor, 200)
		},
	},
})
View Source
var ItemSetLieutenantCommandersVestments = core.NewItemSet(core.ItemSet{
	Name: "Lieutenant Commander's Vestments",
	Bonuses: map[int32]core.ApplyEffect{

		2: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStats(stats.Stats{
				stats.AttackPower:       40,
				stats.RangedAttackPower: 40,
			})
		},

		4: func(agent core.Agent) {

		},

		6: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStat(stats.Stamina, 20)
		},
	},
})
View Source
var TalentTreeSizes = [3]int{15, 19, 17}

Functions

This section is empty.

Types

type PoisonProcSource

type PoisonProcSource int
const (
	NormalProc PoisonProcSource = iota
	ShivProc
	DeadlyBrewProc
)

type Rogue

type Rogue struct {
	core.Character

	Talents *proto.RogueTalents
	Options *proto.RogueOptions

	Backstab       *core.Spell
	BladeFlurry    *core.Spell
	Feint          *core.Spell
	Garrote        *core.Spell
	Ambush         *core.Spell
	Hemorrhage     *core.Spell
	GhostlyStrike  *core.Spell
	HungerForBlood *core.Spell
	Mutilate       *core.Spell
	MutilateMH     *core.Spell
	MutilateOH     *core.Spell
	Shiv           *core.Spell
	SinisterStrike *core.Spell
	SaberSlash     *core.Spell

	MainGauche     *core.Spell
	Shadowstep     *core.Spell
	Preparation    *core.Spell
	Premeditation  *core.Spell
	ColdBlood      *core.Spell
	Vanish         *core.Spell
	Shadowstrike   *core.Spell
	QuickDraw      *core.Spell
	ShurikenToss   *core.Spell
	BetweenTheEyes *core.Spell
	PoisonedKnife  *core.Spell

	Envenom      *core.Spell
	Eviscerate   *core.Spell
	ExposeArmor  *core.Spell
	Rupture      *core.Spell
	SliceAndDice *core.Spell

	Evasion    *core.Spell
	BladeDance *core.Spell

	DeadlyPoison [3]*core.Spell

	InstantPoison [3]*core.Spell
	WoundPoison   [2]*core.Spell

	AdrenalineRushAura            *core.Aura
	BladeFlurryAura               *core.Aura
	EnvenomAura                   *core.Aura
	ExposeArmorAuras              core.AuraArray
	EvasionAura                   *core.Aura
	BladeDanceAura                *core.Aura
	SliceAndDiceAura              *core.Aura
	MasterOfSubtletyAura          *core.Aura
	ShadowstepAura                *core.Aura
	ShadowDanceAura               *core.Aura
	StealthAura                   *core.Aura
	WaylayAuras                   core.AuraArray
	RollingWithThePunchesAura     *core.Aura
	RollingWithThePunchesProcAura *core.Aura

	HonorAmongThieves *core.Aura
	// contains filtered or unexported fields
}

func NewRogue

func NewRogue(character *core.Character, options *proto.Player, rogueOptions *proto.RogueOptions) *Rogue

func (*Rogue) AddPartyBuffs

func (rogue *Rogue) AddPartyBuffs(_ *proto.PartyBuffs)

func (*Rogue) AddRaidBuffs

func (rogue *Rogue) AddRaidBuffs(_ *proto.RaidBuffs)

func (*Rogue) ApplyCutToTheChase added in v0.0.3

func (rogue *Rogue) ApplyCutToTheChase(sim *core.Simulation)

Apply the effects of the Cut to the Chase talent

func (*Rogue) ApplyEnergyTickMultiplier

func (rogue *Rogue) ApplyEnergyTickMultiplier(multiplier float64)

func (*Rogue) ApplyFinisher

func (rogue *Rogue) ApplyFinisher(sim *core.Simulation, spell *core.Spell)

Apply the effect of successfully casting a finisher to combo points

func (*Rogue) ApplyRunes

func (rogue *Rogue) ApplyRunes()

func (*Rogue) ApplyTalents

func (rogue *Rogue) ApplyTalents()

func (*Rogue) BreakStealth

func (rogue *Rogue) BreakStealth(sim *core.Simulation)

Deactivate Stealth if it is active. This must be added to all abilities that cause Stealth to fade.

func (*Rogue) EnvenomDuration

func (rogue *Rogue) EnvenomDuration(comboPoints int32) time.Duration

func (*Rogue) GetCharacter

func (rogue *Rogue) GetCharacter() *core.Character

func (*Rogue) GetDeadlyPoisonProcChance

func (rogue *Rogue) GetDeadlyPoisonProcChance() float64

func (*Rogue) GetInstantPoisonProcChance

func (rogue *Rogue) GetInstantPoisonProcChance() float64

func (*Rogue) GetRogue

func (rogue *Rogue) GetRogue() *Rogue

func (*Rogue) GetWoundPoisonProcChance

func (rogue *Rogue) GetWoundPoisonProcChance() float64

func (*Rogue) HasDagger

func (rogue *Rogue) HasDagger(hand core.Hand) bool

Does the rogue have a dagger equipped in the specified hand (main or offhand)?

func (*Rogue) HasRune

func (rogue *Rogue) HasRune(rune proto.RogueRune) bool

func (*Rogue) Initialize

func (rogue *Rogue) Initialize()

func (*Rogue) IsStealthed

func (rogue *Rogue) IsStealthed() bool

Check if the rogue is considered in "stealth" for the purpose of casting abilities

func (*Rogue) RegisterEvasionSpell added in v0.0.14

func (rogue *Rogue) RegisterEvasionSpell()

func (*Rogue) Reset

func (rogue *Rogue) Reset(_ *core.Simulation)

func (*Rogue) RuptureDamage

func (rogue *Rogue) RuptureDamage(comboPoints int32) float64

func (*Rogue) RuptureDuration

func (rogue *Rogue) RuptureDuration(comboPoints int32) time.Duration

func (*Rogue) RuptureTicks

func (rogue *Rogue) RuptureTicks(comboPoints int32) int32

type RogueAgent

type RogueAgent interface {
	GetRogue() *Rogue
}

Agent is a generic way to access underlying rogue on any of the agents.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL