91 lines
2.3 KiB
Go
91 lines
2.3 KiB
Go
package ai
|
|
|
|
// AI tick constants
|
|
const (
|
|
DefaultThinkTick int32 = 250 // Default think tick in milliseconds (1/4 second)
|
|
FastThinkTick int32 = 100 // Fast think tick for active AI
|
|
SlowThinkTick int32 = 1000 // Slow think tick for idle AI
|
|
BlankBrainTick int32 = 50000 // Very slow tick for blank brain
|
|
MaxThinkTick int32 = 60000 // Maximum think tick (1 minute)
|
|
)
|
|
|
|
// Combat constants
|
|
const (
|
|
MaxChaseDistance float32 = 150.0 // Default max chase distance
|
|
MaxCombatRange float32 = 25.0 // Default max combat range
|
|
RunbackThreshold float32 = 1.0 // Distance threshold for runback
|
|
)
|
|
|
|
// Hate system constants
|
|
const (
|
|
MinHateValue int32 = 1 // Minimum hate value (0 or negative is invalid)
|
|
MaxHateValue int32 = 2147483647 // Maximum hate value (INT_MAX)
|
|
DefaultHateValue int32 = 100 // Default hate amount
|
|
MaxHateListSize int = 100 // Maximum entities in hate list
|
|
)
|
|
|
|
// Encounter system constants
|
|
const (
|
|
MaxEncounterSize int = 50 // Maximum entities in encounter list
|
|
)
|
|
|
|
// Spell recovery constants
|
|
const (
|
|
SpellRecoveryBuffer int32 = 2000 // Additional recovery time buffer (2 seconds)
|
|
)
|
|
|
|
// Brain type constants for identification
|
|
const (
|
|
BrainTypeDefault int8 = 0
|
|
BrainTypeCombatPet int8 = 1
|
|
BrainTypeNonCombatPet int8 = 2
|
|
BrainTypeBlank int8 = 3
|
|
BrainTypeLua int8 = 4
|
|
BrainTypeDumbFire int8 = 5
|
|
)
|
|
|
|
// Pet movement constants
|
|
const (
|
|
PetMovementFollow int8 = 0
|
|
PetMovementStay int8 = 1
|
|
PetMovementGuard int8 = 2
|
|
)
|
|
|
|
// Encounter state constants
|
|
const (
|
|
EncounterStateAvailable int8 = 0
|
|
EncounterStateLocked int8 = 1
|
|
EncounterStateBroken int8 = 2
|
|
)
|
|
|
|
// Combat decision constants
|
|
const (
|
|
MeleeAttackChance int = 70 // Base chance for melee attack
|
|
SpellCastChance int = 30 // Base chance for spell casting
|
|
BuffCheckChance int = 50 // Chance to check for buffs
|
|
)
|
|
|
|
// AI state flags
|
|
const (
|
|
AIStateIdle int32 = 0
|
|
AIStateCombat int32 = 1
|
|
AIStateFollowing int32 = 2
|
|
AIStateRunback int32 = 3
|
|
AIStateCasting int32 = 4
|
|
AIStateMoving int32 = 5
|
|
)
|
|
|
|
// Debug levels
|
|
const (
|
|
DebugLevelNone int8 = 0
|
|
DebugLevelBasic int8 = 1
|
|
DebugLevelDetailed int8 = 2
|
|
DebugLevelVerbose int8 = 3
|
|
)
|
|
|
|
// Timer constants
|
|
const (
|
|
MillisecondsPerSecond int32 = 1000
|
|
RecoveryTimeMultiple int32 = 10 // Multiply cast/recovery times by 10
|
|
)
|