package transmute

// Item flags that disqualify items from transmutation
const (
	NoZone      = 1 << 0  // NO_ZONE flag
	NoValue     = 1 << 1  // NO_VALUE flag
	Temporary   = 1 << 2  // TEMPORARY flag
	NoDestroy   = 1 << 3  // NO_DESTROY flag
	NoTransmute = 1 << 14 // NO_TRANSMUTE flag (16384)
)

// Item flags2 that disqualify items from transmutation
const (
	Ornate = 1 << 0 // ORNATE flag
)

// Item tiers/rarities
const (
	ItemTagTreasured = 4
	ItemTagLegendary = 5
	ItemTagFabled    = 6
	ItemTagMythical  = 7
	ItemTagCelestial = 8
)

// Transmutation probabilities (percentages)
const (
	BothItemsChancePercent = 15 // Chance to get both common and rare materials
	CommonMatChancePercent = 75 // Chance to get common material (if not both)
	RareMatChancePercent   = 25 // Chance to get rare material (if not both)
)

// Skill up constants
const (
	SkillUpPercentChanceMax = 50 // Base chance for skill up at max item level
	SkillUpLevelDifPenalty  = 20 // Percent decrease per level difference
	MaxSkillUpLevelDif      = 10 // Maximum level difference for skill up
)

// Spell constants
const (
	TransmuteItemSpellID = 5163 // Spell ID for the transmute item spell
)

// Message channel constants (from C++)
const (
	ChannelColorRed = 0
	ChannelYellow   = 89
)

// Request types
const (
	RequestTypeTransmuteItem = 1
)
