47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package factions
|
|
|
|
// Faction value constants
|
|
const (
|
|
// Maximum and minimum faction values
|
|
MaxFactionValue = 50000
|
|
MinFactionValue = -50000
|
|
|
|
// Special faction ID ranges
|
|
SpecialFactionIDMax = 10 // Faction IDs <= 10 are special (not real factions)
|
|
|
|
// Faction consideration (con) ranges
|
|
MinCon = -4 // Hostile
|
|
MaxCon = 4 // Ally
|
|
|
|
// Con value thresholds
|
|
ConNeutralMin = -9999
|
|
ConNeutralMax = 9999
|
|
ConAllyMin = 40000
|
|
ConHostileMax = -40000
|
|
|
|
// Con calculation multiplier
|
|
ConMultiplier = 10000
|
|
ConRemainder = 9999
|
|
|
|
// Percentage calculation constants
|
|
PercentMultiplier = 100
|
|
PercentNeutralOffset = 10000
|
|
PercentNeutralDivisor = 20000
|
|
)
|
|
|
|
// Attack threshold - factions with con <= this value should attack
|
|
const AttackThreshold = -4
|
|
|
|
// Default faction consideration values
|
|
const (
|
|
ConKOS = -4 // Kill on sight
|
|
ConThreat = -3 // Threatening
|
|
ConDubious = -2 // Dubiously
|
|
ConAppre = -1 // Apprehensive
|
|
ConIndiff = 0 // Indifferent
|
|
ConAmiable = 1 // Amiable
|
|
ConKindly = 2 // Kindly
|
|
ConWarmly = 3 // Warmly
|
|
ConAlly = 4 // Ally
|
|
)
|