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
)
