Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterHunter()
- type Hunter
- func (hunter *Hunter) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
- func (hunter *Hunter) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (hunter *Hunter) ApplyTalents()
- func (hunter *Hunter) GetCharacter() *core.Character
- func (hunter *Hunter) GetHunter() *Hunter
- func (hunter *Hunter) GetPresimOptions(_ proto.Player) *core.PresimOptions
- func (hunter *Hunter) Initialize()
- func (hunter *Hunter) MultiShotCastTime() time.Duration
- func (hunter *Hunter) NewHunterPet() *HunterPet
- func (hunter *Hunter) OnAutoAttack(sim *core.Simulation, spell *core.Spell)
- func (hunter *Hunter) OnGCDReady(sim *core.Simulation)
- func (hunter *Hunter) OnManaTick(sim *core.Simulation)
- func (hunter *Hunter) Reset(sim *core.Simulation)
- func (hunter *Hunter) SteadyShotCastTime() time.Duration
- func (hunter *Hunter) TryKillCommand(sim *core.Simulation, target *core.Unit)
- func (hunter *Hunter) TryRaptorStrike(sim *core.Simulation) *core.Spell
- type HunterAgent
- type HunterPet
- func (fb *HunterPet) AddFocus(sim *core.Simulation, amount float64, actionID core.ActionID)
- func (fb *HunterPet) Cancel(sim *core.Simulation)
- func (fb *HunterPet) CurrentFocus() float64
- func (hunterPet *HunterPet) EnableFocusBar(regenMultiplier float64, onFocusGain OnFocusGain)
- func (hp *HunterPet) GetPet() *core.Pet
- func (hp *HunterPet) Initialize()
- func (hp *HunterPet) NewPetAbility(abilityType PetAbilityType, isPrimary bool) PetAbility
- func (hp *HunterPet) OnGCDReady(sim *core.Simulation)
- func (hp *HunterPet) Reset(sim *core.Simulation)
- func (fb *HunterPet) SpendFocus(sim *core.Simulation, amount float64, actionID core.ActionID)
- type OnFocusGain
- type PetAbility
- type PetAbilityType
- type PetConfig
Constants ¶
View Source
const ( OptionShoot = iota OptionWeave OptionSteady OptionMulti OptionArcane OptionNone )
View Source
const BaseFocusPerTick = 25.0
View Source
const MaxFocus = 100.0
Time between focus ticks.
View Source
const ThoridalTheStarsFuryItemID = 34334
Variables ¶
View Source
var BMTalents = &proto.HunterTalents{ ImprovedAspectOfTheHawk: 5, FocusedFire: 2, UnleashedFury: 5, Ferocity: 5, BestialDiscipline: 2, AnimalHandler: 1, Frenzy: 5, FerociousInspiration: 3, BestialWrath: true, SerpentsSwiftness: 5, TheBeastWithin: true, LethalShots: 5, Efficiency: 5, GoForTheThroat: 2, AimedShot: true, RapidKilling: 2, MortalShots: 5, }
View Source
var FullConsumes = &proto.Consumes{ Flask: proto.Flask_FlaskOfRelentlessAssault, DefaultPotion: proto.Potions_HastePotion, DefaultConjured: proto.Conjured_ConjuredFlameCap, PetFood: proto.PetFood_PetFoodKiblersBits, }
View Source
var FullDebuffs = &proto.Debuffs{ BloodFrenzy: true, FaerieFire: proto.TristateEffect_TristateEffectImproved, ImprovedSealOfTheCrusader: true, JudgementOfWisdom: true, Misery: true, }
View Source
var FullIndividualBuffs = &proto.IndividualBuffs{ BlessingOfKings: true, BlessingOfWisdom: proto.TristateEffect_TristateEffectImproved, BlessingOfMight: proto.TristateEffect_TristateEffectImproved, }
View Source
var FullPartyBuffs = &proto.PartyBuffs{ Bloodlust: 1, Drums: proto.Drums_DrumsOfBattle, BattleShout: proto.TristateEffect_TristateEffectImproved, LeaderOfThePack: proto.TristateEffect_TristateEffectImproved, ManaSpringTotem: proto.TristateEffect_TristateEffectRegular, GraceOfAirTotem: proto.TristateEffect_TristateEffectRegular, WindfuryTotemRank: 5, }
View Source
var FullRaidBuffs = &proto.RaidBuffs{ ArcaneBrilliance: true, GiftOfTheWild: proto.TristateEffect_TristateEffectImproved, }
View Source
var ItemSetBeastLord = core.NewItemSet(core.ItemSet{ Name: "Beast Lord Armor", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetDemonStalker = core.NewItemSet(core.ItemSet{ Name: "Demon Stalker Armor", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetGronnstalker = core.NewItemSet(core.ItemSet{ Name: "Gronnstalker's Armor", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetRiftStalker = core.NewItemSet(core.ItemSet{ Name: "Rift Stalker Armor", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var P1Gear = items.EquipmentSpecFromJsonString(`{"items": [
{
"id": 28275,
"enchant": 29192,
"gems": [
24028,
32409
]
},
{
"id": 29381
},
{
"id": 27801,
"enchant": 28888,
"gems": [
31868,
24028
]
},
{
"id": 24259,
"enchant": 34004,
"gems": [
24028
]
},
{
"id": 28228,
"enchant": 24003,
"gems": [
24028,
24028,
24055
]
},
{
"id": 29246,
"enchant": 34002
},
{
"id": 27474,
"enchant": 33152,
"gems": [
24028,
24028
]
},
{
"id": 28828,
"gems": [
24055,
31868
]
},
{
"id": 30739,
"enchant": 29535,
"gems": [
24028,
24028,
24028
]
},
{
"id": 28545,
"enchant": 28279,
"gems": [
24028,
24061
]
},
{
"id": 28757
},
{
"id": 28791
},
{
"id": 28830
},
{
"id": 29383
},
{
"id": 28435,
"enchant": 22556
},
{
"id": 28772,
"enchant": 23766
}
]}`)
View Source
var PetConfigs = map[proto.Hunter_Options_PetType]PetConfig{ proto.Hunter_Options_Bat: PetConfig{ Name: "Bat", DamageMultiplier: 1.07, PrimaryAbility: Bite, SecondaryAbility: Screech, }, proto.Hunter_Options_Bear: PetConfig{ Name: "Bear", DamageMultiplier: 0.91, PrimaryAbility: Bite, SecondaryAbility: Claw, }, proto.Hunter_Options_Cat: PetConfig{ Name: "Cat", DamageMultiplier: 1.1, PrimaryAbility: Bite, SecondaryAbility: Claw, }, proto.Hunter_Options_Crab: PetConfig{ Name: "Crab", DamageMultiplier: 0.95, PrimaryAbility: Claw, }, proto.Hunter_Options_Owl: PetConfig{ Name: "Owl", DamageMultiplier: 1.07, PrimaryAbility: Claw, SecondaryAbility: Screech, RandomSelection: true, }, proto.Hunter_Options_Raptor: PetConfig{ Name: "Raptor", DamageMultiplier: 1.1, PrimaryAbility: Bite, SecondaryAbility: Claw, }, proto.Hunter_Options_Ravager: PetConfig{ Name: "Ravager", DamageMultiplier: 1.1, PrimaryAbility: Bite, SecondaryAbility: Gore, }, proto.Hunter_Options_WindSerpent: PetConfig{ Name: "Wind Serpent", DamageMultiplier: 1.07, PrimaryAbility: Bite, SecondaryAbility: LightningBreath, }, }
Abilities reference: https://tbc.wowhead.com/hunter-pets https://tbc.wowhead.com/guides/hunter-dps-best-pets-taming-loyalty-burning-crusade-classic
View Source
var PlayerOptionsBasic = &proto.Player_Hunter{ Hunter: &proto.Hunter{ Talents: BMTalents, Options: basicOptions, Rotation: basicRotation, }, }
View Source
var PlayerOptionsFrench = &proto.Player_Hunter{ Hunter: &proto.Hunter{ Talents: BMTalents, Options: windSerpentOptions, Rotation: frenchRotation, }, }
View Source
var PlayerOptionsMeleeWeave = &proto.Player_Hunter{ Hunter: &proto.Hunter{ Talents: BMTalents, Options: windSerpentOptions, Rotation: meleeWeaveRotation, }, }
View Source
var PlayerOptionsSV = &proto.Player_Hunter{ Hunter: &proto.Hunter{ Talents: SVTalents, Options: windSerpentOptions, Rotation: meleeWeaveRotation, }, }
View Source
var SVTalents = &proto.HunterTalents{ ImprovedAspectOfTheHawk: 5, FocusedFire: 2, LethalShots: 5, ImprovedHuntersMark: 5, GoForTheThroat: 2, RapidKilling: 1, MonsterSlaying: 3, HumanoidSlaying: 3, SavageStrikes: 2, CleverTraps: 2, Survivalist: 2, Surefooted: 3, SurvivalInstincts: 2, KillerInstinct: 3, LightningReflexes: 5, ThrillOfTheHunt: 2, ExposeWeakness: 3, MasterTactician: 5, Readiness: true, }
Functions ¶
func RegisterHunter ¶
func RegisterHunter()
Types ¶
type Hunter ¶
type Hunter struct {
core.Character
Talents proto.HunterTalents
Options proto.Hunter_Options
Rotation proto.Hunter_Rotation
AmmoDPS float64
AmmoDamageBonus float64
AspectOfTheHawk *core.Spell
AspectOfTheViper *core.Spell
AimedShot *core.Spell
ArcaneShot *core.Spell
KillCommand *core.Spell
MultiShot *core.Spell
RapidFire *core.Spell
RaptorStrike *core.Spell
ScorpidSting *core.Spell
SerpentSting *core.Spell
SteadyShot *core.Spell
SerpentStingDot *core.Dot
AspectOfTheHawkAura *core.Aura
AspectOfTheViperAura *core.Aura
ScorpidStingAura *core.Aura
TalonOfAlarAura *core.Aura
// contains filtered or unexported fields
}
func (*Hunter) AddPartyBuffs ¶
func (hunter *Hunter) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
func (*Hunter) AddRaidBuffs ¶
func (*Hunter) ApplyTalents ¶
func (hunter *Hunter) ApplyTalents()
func (*Hunter) GetCharacter ¶
func (*Hunter) GetPresimOptions ¶
func (hunter *Hunter) GetPresimOptions(_ proto.Player) *core.PresimOptions
func (*Hunter) Initialize ¶
func (hunter *Hunter) Initialize()
func (*Hunter) MultiShotCastTime ¶
func (*Hunter) NewHunterPet ¶
func (*Hunter) OnAutoAttack ¶
func (hunter *Hunter) OnAutoAttack(sim *core.Simulation, spell *core.Spell)
func (*Hunter) OnGCDReady ¶
func (hunter *Hunter) OnGCDReady(sim *core.Simulation)
func (*Hunter) OnManaTick ¶
func (hunter *Hunter) OnManaTick(sim *core.Simulation)
func (*Hunter) Reset ¶
func (hunter *Hunter) Reset(sim *core.Simulation)
func (*Hunter) SteadyShotCastTime ¶
func (*Hunter) TryKillCommand ¶
func (hunter *Hunter) TryKillCommand(sim *core.Simulation, target *core.Unit)
func (*Hunter) TryRaptorStrike ¶
func (hunter *Hunter) TryRaptorStrike(sim *core.Simulation) *core.Spell
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
KillCommand *core.Spell
// contains filtered or unexported fields
}
func (*HunterPet) AddFocus ¶
func (fb *HunterPet) AddFocus(sim *core.Simulation, amount float64, actionID core.ActionID)
func (*HunterPet) Cancel ¶
func (fb *HunterPet) Cancel(sim *core.Simulation)
func (*HunterPet) CurrentFocus ¶
func (fb *HunterPet) CurrentFocus() float64
func (*HunterPet) EnableFocusBar ¶
func (hunterPet *HunterPet) EnableFocusBar(regenMultiplier float64, onFocusGain OnFocusGain)
func (*HunterPet) Initialize ¶
func (hp *HunterPet) Initialize()
func (*HunterPet) NewPetAbility ¶
func (hp *HunterPet) NewPetAbility(abilityType PetAbilityType, isPrimary bool) PetAbility
func (*HunterPet) OnGCDReady ¶
func (hp *HunterPet) OnGCDReady(sim *core.Simulation)
func (*HunterPet) Reset ¶
func (hp *HunterPet) Reset(sim *core.Simulation)
func (*HunterPet) SpendFocus ¶
func (fb *HunterPet) SpendFocus(sim *core.Simulation, amount float64, actionID core.ActionID)
type OnFocusGain ¶
type OnFocusGain func(sim *core.Simulation)
OnFocusGain is called any time focus is increased.
type PetAbility ¶
type PetAbility struct {
Type PetAbilityType
// Focus cost
Cost float64
*core.Spell
}
func (*PetAbility) TryCast ¶
func (ability *PetAbility) TryCast(sim *core.Simulation, target *core.Unit, hp *HunterPet) bool
Returns whether the ability was successfully cast.
type PetAbilityType ¶
type PetAbilityType int
const ( Unknown PetAbilityType = iota Bite Claw FireBreath Gore LightningBreath PoisonSpit Screech )
type PetConfig ¶
type PetConfig struct {
Name string
DamageMultiplier float64
PrimaryAbility PetAbilityType
SecondaryAbility PetAbilityType
// Randomly select between abilities instead of using a prio.
RandomSelection bool
}
Click to show internal directories.
Click to hide internal directories.