paladin

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SanctifiedOrb                        = 20512
	LibramOfHope                         = 22401
	LibramOfFervor                       = 23203
	LibramDiscardedTenetsOfTheSilverHand = 209574
	LibramOfBenediction                  = 215435
	LibramOfDraconicDestruction          = 221457
)

Libram IDs

View Source
const (
	SpellCode_PaladinNone = iota
	SpellCode_PaladinHolyShock
	SpellCode_PaladinJudgementOfCommand
)

Variables

View Source
var IlluminationSpellIDs = [6]int32{0, 20210, 20213, 20214, 20212, 20215}
View Source
var ItemSetEmeraldEncrustedBattleplate = core.NewItemSet(core.ItemSet{
	Name: "Emerald Encrusted Battleplate",
	Bonuses: map[int32]core.ApplyEffect{
		3: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStat(stats.Stamina, 10)
		},
		6: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStat(stats.HealingPower, 22)
		},
	},
})
View Source
var ItemSetKnightLieutenantsImbuedPlate = core.NewItemSet(core.ItemSet{
	Name: "Knight-Lieutenant's Imbued Plate",
	Bonuses: map[int32]core.ApplyEffect{
		3: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStat(stats.Stamina, 15)
		},
		6: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStat(stats.HealingPower, 33)
		},
	},
})
View Source
var ItemSetKnightLieutenantsLamellarPlate = core.NewItemSet(core.ItemSet{
	Name: "Knight-Lieutenant's Lamellar Plate",
	Bonuses: map[int32]core.ApplyEffect{
		3: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStat(stats.Stamina, 15)
		},
		6: func(agent core.Agent) {
			c := agent.GetCharacter()
			c.AddStat(stats.SpellPower, 18)
		},
	},
})
View Source
var ItemSetObsessedProphetsPlate = core.NewItemSet(core.ItemSet{
	Name: "Obsessed Prophet's Plate",
	Bonuses: map[int32]core.ApplyEffect{
		2: func(agent core.Agent) {

		},
		3: func(agent core.Agent) {

		},
	},
})

TODO: New Set Bonuses

View Source
var TalentTreeSizes = [3]int{14, 15, 15}

Functions

This section is empty.

Types

type APLActionCastPaladinPrimarySeal

type APLActionCastPaladinPrimarySeal struct {
	// contains filtered or unexported fields
}

func (*APLActionCastPaladinPrimarySeal) Execute

func (action *APLActionCastPaladinPrimarySeal) Execute(sim *core.Simulation)

func (*APLActionCastPaladinPrimarySeal) Finalize

func (*APLActionCastPaladinPrimarySeal) GetAPLValues

func (impl *APLActionCastPaladinPrimarySeal) GetAPLValues() []core.APLValue

func (*APLActionCastPaladinPrimarySeal) GetInnerActions

func (impl *APLActionCastPaladinPrimarySeal) GetInnerActions() []*core.APLAction

func (*APLActionCastPaladinPrimarySeal) GetNextAction

func (*APLActionCastPaladinPrimarySeal) IsReady

func (action *APLActionCastPaladinPrimarySeal) IsReady(sim *core.Simulation) bool

func (*APLActionCastPaladinPrimarySeal) Reset

func (*APLActionCastPaladinPrimarySeal) String

func (action *APLActionCastPaladinPrimarySeal) String() string

type APLValueCurrentSealRemainingTime

type APLValueCurrentSealRemainingTime struct {
	core.DefaultAPLValueImpl
	// contains filtered or unexported fields
}

func (*APLValueCurrentSealRemainingTime) GetDuration

func (*APLValueCurrentSealRemainingTime) String

func (value *APLValueCurrentSealRemainingTime) String() string

func (*APLValueCurrentSealRemainingTime) Type

type Paladin

type Paladin struct {
	core.Character
	Talents *proto.PaladinTalents

	PaladinAura proto.PaladinAura

	CurrentJudgement      *core.Spell
	CurrentSeal           *core.Aura
	CurrentSealExpiration time.Duration
	PrimarySealSpell      *core.Spell

	// Variables for max rank seal spells, used in APL Actions.
	MaxRankRighteousness int
	MaxRankCommand       int

	// Active abilities and shared cooldowns that need externally manipulated.
	CrusaderStrike    *core.Spell
	DivineStorm       *core.Spell
	Consecration      []*core.Spell
	Exorcism          []*core.Spell
	ExorcismCooldown  *core.Cooldown
	HolyShock         []*core.Spell
	HolyShockCooldown *core.Cooldown
	Judgement         *core.Spell
	DivineFavor       *core.Spell

	// Seal spells and their associated auras
	SealOfRighteousness []*core.Spell
	SealOfCommand       []*core.Spell
	SealOfMartyrdom     *core.Spell
	SealOfTheCrusader   *core.Spell

	SealOfRighteousnessAura []*core.Aura
	SealOfCommandAura       []*core.Aura
	SealOfMartyrdomAura     *core.Aura

	// Auras from talents
	DivineFavorAura *core.Aura
	VengeanceAura   *core.Aura
}

func NewPaladin

func NewPaladin(character *core.Character, talentsStr string) *Paladin

maybe need to add stat dependencies

func (*Paladin) AddPartyBuffs

func (paladin *Paladin) AddPartyBuffs(_ *proto.PartyBuffs)

func (*Paladin) AddRaidBuffs

func (paladin *Paladin) AddRaidBuffs(_ *proto.RaidBuffs)

func (*Paladin) ApplyRunes

func (paladin *Paladin) ApplyRunes()

func (*Paladin) ApplySeal

func (paladin *Paladin) ApplySeal(aura *core.Aura, judgement *core.Spell, sim *core.Simulation)

func (*Paladin) ApplyTalents

func (paladin *Paladin) ApplyTalents()

func (*Paladin) GetCharacter

func (paladin *Paladin) GetCharacter() *core.Character

func (*Paladin) GetImprovedSealOfTheCrusaderMult added in v0.0.5

func (paladin *Paladin) GetImprovedSealOfTheCrusaderMult() float64

func (*Paladin) GetLibramSealCostReduction added in v0.0.5

func (paladin *Paladin) GetLibramSealCostReduction() float64

func (*Paladin) GetMaxRankSeal

func (paladin *Paladin) GetMaxRankSeal(seal proto.PaladinSeal) *core.Spell

func (*Paladin) GetPaladin

func (paladin *Paladin) GetPaladin() *Paladin

func (*Paladin) Has1hEquipped

func (paladin *Paladin) Has1hEquipped() bool

func (*Paladin) Has2hEquipped

func (paladin *Paladin) Has2hEquipped() bool

func (*Paladin) HasRune

func (paladin *Paladin) HasRune(rune proto.PaladinRune) bool

func (*Paladin) Initialize

func (paladin *Paladin) Initialize()

func (*Paladin) NewAPLAction

func (paladin *Paladin) NewAPLAction(rot *core.APLRotation, config *proto.APLAction) core.APLActionImpl

The APLAction for casting the current Seal

func (*Paladin) NewAPLValue

func (paladin *Paladin) NewAPLValue(rot *core.APLRotation, config *proto.APLValue) core.APLValue

func (*Paladin) Reset

func (paladin *Paladin) Reset(_ *core.Simulation)

type PaladinAgent

type PaladinAgent interface {
	GetPaladin() *Paladin
}

Implemented by each Paladin spec.

type SealOfTheCrusaderRankInfo added in v0.0.5

type SealOfTheCrusaderRankInfo struct {
	SealId      int32
	ManaCost    float64
	AttackPower float64
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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