warrior

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

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 ShieldSlamRanks = 4
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 ShieldSlamBaseDamage = [ShieldSlamRanks + 1][]float64{{0, 0}, {225, 352}, {264, 276}, {303, 317}, {342, 358}}
View Source
var ShieldSlamLevel = [ShieldSlamRanks + 1]int{0, 40, 48, 54, 60}
View Source
var ShieldSlamSpellId = [ShieldSlamRanks + 1]int32{0, 23922, 23923, 23924, 23925}
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
)

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

	// Rune passive
	FocusedRageDiscount float64

	LastAMTick time.Duration

	BattleShout *core.Spell

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

	Bloodrage            *core.Spell
	BerserkerRage        *core.Spell
	Bloodthirst          *core.Spell
	DemoralizingShout    *core.Spell
	Devastate            *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
	SunderArmorDevastate *core.Spell
	ThunderClap          *core.Spell
	Whirlwind            *core.Spell
	DeepWounds           *core.Spell
	ConcussionBlow       *core.Spell
	RagingBlow           *core.Spell
	Hamstring            *core.Spell

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

	BattleStanceAura    *core.Aura
	DefensiveStanceAura *core.Aura
	BerserkerStanceAura *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) CanApplySunderAura

func (warrior *Warrior) CanApplySunderAura(target *core.Unit) bool

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()

TODO: Classic Update

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