Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterHunter()
- type Hunter
- func (hunter *Hunter) AddPartyBuffs(_ *proto.PartyBuffs)
- func (hunter *Hunter) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (hunter *Hunter) ApplyRunes()
- func (hunter *Hunter) ApplyTalents()
- func (hunter *Hunter) GetCharacter() *core.Character
- func (hunter *Hunter) GetHunter() *Hunter
- func (hunter *Hunter) HasRune(rune proto.HunterRune) bool
- func (hunter *Hunter) Initialize()
- func (hunter *Hunter) NewHunterPet() *HunterPet
- func (hunter *Hunter) OnGCDReady(_ *core.Simulation)
- func (hunter *Hunter) Reset(sim *core.Simulation)
- func (hunter *Hunter) TryRaptorStrike(sim *core.Simulation, mhSwingSpell *core.Spell) *core.Spell
- type HunterAgent
- type HunterPet
- func (hp *HunterPet) ApplyTalents()
- func (hp *HunterPet) ExecuteCustomRotation(sim *core.Simulation)
- func (hp *HunterPet) GetPet() *core.Pet
- func (hp *HunterPet) Initialize()
- func (hp *HunterPet) NewPetAbility(abilityType PetAbilityType, isPrimary bool) *core.Spell
- func (hp *HunterPet) Reset(_ *core.Simulation)
- func (hp *HunterPet) Talents() *proto.HunterPetTalents
- type PetAbilityType
- type PetConfig
Constants ¶
View Source
const ( SignetOfBeasts = 209823 BloodlashBow = 216516 GurubashiPitFightersBow = 221450 )
View Source
const PetExpertiseScale = 3.25
View Source
const PetGCD = time.Millisecond * 1600
Pet AI doesn't use abilities immediately, so model this with a 1.6s GCD.
Variables ¶
View Source
var PetConfigs = map[proto.Hunter_Options_PetType]PetConfig{ proto.Hunter_Options_Cat: { Name: "Cat", SpecialAbility: Bite, FocusDump: Claw, Health: 1.0, Armor: 1.0, Damage: 1.1, }, proto.Hunter_Options_WindSerpent: { Name: "Wind Serpent", SpecialAbility: Unknown, FocusDump: LightningBreath, Health: 1.0, Armor: 1.0, Damage: 1.07, }, proto.Hunter_Options_Bat: { Name: "Bat", FocusDump: Claw, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Bear: { Name: "Bear", SpecialAbility: Swipe, FocusDump: Claw, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Boar: { Name: "Boar", FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_CarrionBird: { Name: "Carrion Bird", SpecialAbility: DemoralizingScreech, FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Chimaera: { Name: "Chimaera", FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_CoreHound: { Name: "Core Hound", FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Crab: { Name: "Crab", FocusDump: Claw, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Crocolisk: { Name: "Crocolisk", FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Devilsaur: { Name: "Devilsaur", FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Dragonhawk: { Name: "Dragonhawk", FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Gorilla: { Name: "Gorilla", Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Hyena: { Name: "Hyena", FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Raptor: { Name: "Raptor", FocusDump: Claw, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Scorpid: { Name: "Scorpid", SpecialAbility: ScorpidPoison, FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Serpent: { Name: "Serpent", FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Silithid: { Name: "Silithid", FocusDump: Claw, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Spider: { Name: "Spider", FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_SpiritBeast: { Name: "Spirit Beast", FocusDump: Claw, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_SporeBat: { Name: "Spore Bat", Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Tallstrider: { Name: "Tallstrider", FocusDump: Claw, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Turtle: { Name: "Turtle", FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, proto.Hunter_Options_Wolf: { Name: "Wolf", SpecialAbility: FuriousHowl, FocusDump: Bite, Health: 1.0, Armor: 1.0, Damage: 1.0, }, }
Abilities reference: https://wotlk.wowhead.com/hunter-pets https://wotlk.wowhead.com/guides/hunter-dps-best-pets-taming-loyalty-burning-crusade-classic
View Source
var TalentTreeSizes = [3]int{16, 14, 16}
Functions ¶
func RegisterHunter ¶
func RegisterHunter()
Types ¶
type Hunter ¶
type Hunter struct { core.Character Talents *proto.HunterTalents Options *proto.Hunter_Options AmmoDPS float64 AmmoDamageBonus float64 NormalizedAmmoDamageBonus float64 AimedShot *core.Spell ArcaneShot *core.Spell ChimeraShot *core.Spell ExplosiveShot *core.Spell ExplosiveTrap *core.Spell ImmolationTrap *core.Spell FrostTrap *core.Spell KillCommand *core.Spell KillShot *core.Spell MultiShot *core.Spell FocusFire *core.Spell RapidFire *core.Spell RaptorStrike *core.Spell FlankingStrike *core.Spell ScorpidSting *core.Spell SerpentSting *core.Spell SilencingShot *core.Spell Volley *core.Spell CarveMh *core.Spell CarveOh *core.Spell WingClip *core.Spell SerpentStingChimeraShot *core.Spell FlankingStrikeAura *core.Aura RaptorFuryAura *core.Aura SniperTrainingAura *core.Aura CobraStrikesAura *core.Aura ImprovedSteadyShotAura *core.Aura LockAndLoadAura *core.Aura RapidFireAura *core.Aura ScorpidStingAuras core.AuraArray TalonOfAlarAura *core.Aura // contains filtered or unexported fields }
func (*Hunter) AddPartyBuffs ¶
func (hunter *Hunter) AddPartyBuffs(_ *proto.PartyBuffs)
func (*Hunter) AddRaidBuffs ¶
func (*Hunter) ApplyRunes ¶
func (hunter *Hunter) ApplyRunes()
func (*Hunter) ApplyTalents ¶
func (hunter *Hunter) ApplyTalents()
func (*Hunter) GetCharacter ¶
func (*Hunter) Initialize ¶
func (hunter *Hunter) Initialize()
func (*Hunter) NewHunterPet ¶
func (*Hunter) OnGCDReady ¶
func (hunter *Hunter) OnGCDReady(_ *core.Simulation)
func (*Hunter) Reset ¶
func (hunter *Hunter) Reset(sim *core.Simulation)
func (*Hunter) TryRaptorStrike ¶
Returns true if the regular melee swing should be used, false otherwise.
type HunterAgent ¶
type HunterAgent interface {
GetHunter() *Hunter
}
Agent is a generic way to access underlying hunter on any of the agents.
type HunterPet ¶
type HunterPet struct { core.Pet KillCommandAura *core.Aura FlankingStrike *core.Spell // contains filtered or unexported fields }
func (*HunterPet) ApplyTalents ¶
func (hp *HunterPet) ApplyTalents()
func (*HunterPet) ExecuteCustomRotation ¶
func (hp *HunterPet) ExecuteCustomRotation(sim *core.Simulation)
func (*HunterPet) Initialize ¶
func (hp *HunterPet) Initialize()
func (*HunterPet) NewPetAbility ¶
func (hp *HunterPet) NewPetAbility(abilityType PetAbilityType, isPrimary bool) *core.Spell
func (*HunterPet) Reset ¶
func (hp *HunterPet) Reset(_ *core.Simulation)
func (*HunterPet) Talents ¶
func (hp *HunterPet) Talents() *proto.HunterPetTalents
type PetAbilityType ¶
type PetAbilityType int
const ( Unknown PetAbilityType = iota Bite Claw DemoralizingScreech FuriousHowl LightningBreath ScorpidPoison Swipe )
type PetConfig ¶
type PetConfig struct { Name string SpecialAbility PetAbilityType FocusDump PetAbilityType Health float64 Armor float64 Damage float64 // Randomly select between abilities instead of using a prio. RandomSelection bool }
Source Files
¶
- aimed_shot.go
- arcane_shot.go
- aspects.go
- carve.go
- chimera_shot.go
- explosive_shot.go
- explosive_trap.go
- flanking_strike.go
- focus_fire.go
- frost_trap.go
- hunter.go
- immolation_trap.go
- items.go
- kill_command.go
- multi_shot.go
- pet.go
- pet_abilities.go
- pet_talents.go
- rapid_fire.go
- raptor_strike.go
- runes.go
- serpent_sting.go
- steady_shot.go
- talents.go
- wing_clip.go
Click to show internal directories.
Click to hide internal directories.