warrior

package
v0.0.11 Latest Latest
Warning

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

Go to latest
Published: May 25, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DiamondFlask = 20130
	Exsanguinar  = 216497
)
View Source
const (
	SpellFlagBleed      = core.SpellFlagAgentReserved1
	SpellFlagBloodSurge = core.SpellFlagAgentReserved2
)
View Source
const (
	ArmsTree = 0
	FuryTree = 1
	ProtTree = 2
)
View Source
const RevengeRanks = 6
View Source
const ShoutExpirationThreshold = time.Second * 3

Variables

View Source
var RevengeBaseDamage = [RevengeRanks + 1][]float64{{0, 0}, {12, 14}, {18, 22}, {25, 31}, {43, 53}, {64, 78}, {81, 99}}
View Source
var RevengeLevel = [RevengeRanks + 1]int{0, 14, 24, 34, 44, 54, 60}
View Source
var RevengeSpellId = [RevengeRanks + 1]int32{0, 6572, 6574, 7379, 11600, 11601, 25288}
View Source
var TalentTreeSizes = [3]int{18, 17, 17}

Functions

This section is empty.

Types

type Stance

type Stance uint8
const (
	BattleStance Stance = 1 << iota
	DefensiveStance
	BerserkerStance
	GladiatorStance
)

type Warrior

type Warrior struct {
	core.Character

	Talents *proto.WarriorTalents

	WarriorInputs

	// Current state
	Stance Stance

	OverpowerAura        *core.Aura
	BerserkerRageAura    *core.Aura
	BloodrageAura        *core.Aura
	ConsumedByRageAura   *core.Aura
	Above80RageCBRActive bool
	BloodSurgeAura       *core.Aura
	RampageAura          *core.Aura

	WreckingCrewEnrageAura *core.Aura
	EnrageAura             *core.Aura

	// Rune passive
	FocusedRageDiscount float64

	LastAMTick time.Duration

	BattleShout *core.Spell

	BattleStance    *core.Spell
	DefensiveStance *core.Spell
	BerserkerStance *core.Spell
	GladiatorStance *core.Spell

	Bloodrage         *core.Spell
	BerserkerRage     *core.Spell
	Bloodthirst       *core.Spell
	DemoralizingShout *core.Spell
	Execute           *core.Spell
	MortalStrike      *core.Spell
	Overpower         *core.Spell
	Rend              *core.Spell
	Revenge           *core.Spell
	ShieldBlock       *core.Spell
	ShieldSlam        *core.Spell
	Slam              *core.Spell
	SunderArmor       *core.Spell
	Devastate         *core.Spell
	ThunderClap       *core.Spell
	Whirlwind         *core.Spell
	DeepWounds        *core.Spell
	ConcussionBlow    *core.Spell
	RagingBlow        *core.Spell
	Hamstring         *core.Spell
	Rampage           *core.Spell

	HeroicStrike *core.Spell
	QuickStrike  *core.Spell
	Cleave       *core.Spell

	BattleStanceAura    *core.Aura
	DefensiveStanceAura *core.Aura
	BerserkerStanceAura *core.Aura
	GladiatorStanceAura *core.Aura

	ShieldBlockAura *core.Aura

	DemoralizingShoutAuras core.AuraArray
	SunderArmorAuras       core.AuraArray
	ThunderClapAuras       core.AuraArray
	// contains filtered or unexported fields
}

func NewWarrior

func NewWarrior(character *core.Character, talents string, inputs WarriorInputs) *Warrior

func (*Warrior) AddPartyBuffs

func (warrior *Warrior) AddPartyBuffs(_ *proto.PartyBuffs)

func (*Warrior) AddRaidBuffs

func (warrior *Warrior) AddRaidBuffs(raidBuffs *proto.RaidBuffs)

func (*Warrior) ApplyRunes

func (warrior *Warrior) ApplyRunes()

func (*Warrior) ApplyTalents

func (warrior *Warrior) ApplyTalents()

func (*Warrior) GetCharacter

func (warrior *Warrior) GetCharacter() *core.Character

func (*Warrior) HasRune

func (warrior *Warrior) HasRune(rune proto.WarriorRune) bool

func (*Warrior) Initialize

func (warrior *Warrior) Initialize()

func (*Warrior) RegisterRecklessnessCD

func (warrior *Warrior) RegisterRecklessnessCD()

func (*Warrior) RegisterShieldBlockCD

func (warrior *Warrior) RegisterShieldBlockCD()

func (*Warrior) RegisterShieldWallCD

func (warrior *Warrior) RegisterShieldWallCD()

TODO: Classic Update

func (*Warrior) Reset

func (warrior *Warrior) Reset(_ *core.Simulation)

func (*Warrior) StanceMatches

func (warrior *Warrior) StanceMatches(other Stance) bool

func (*Warrior) ToughnessArmorMultiplier

func (warrior *Warrior) ToughnessArmorMultiplier() float64

func (*Warrior) TryHSOrCleave

func (warrior *Warrior) TryHSOrCleave(sim *core.Simulation, mhSwingSpell *core.Spell) *core.Spell

type WarriorAgent

type WarriorAgent interface {
	GetWarrior() *Warrior
}

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

type WarriorInputs

type WarriorInputs struct {
	StanceSnapshot bool
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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