
local baseUnits = {
	player = WhatsNextLocal:Localize("PLAYER"),
	target = WhatsNextLocal:Localize("TARGET"),
	targettarget = WhatsNextLocal:Localize("TARGETTARGET"),
	targettargettarget = WhatsNextLocal:Localize("TARGETTARGETTARGET"),
	pet = WhatsNextLocal:Localize("PET"),
	pettarget = WhatsNextLocal:Localize("PETTARGET"),
	focus = WhatsNextLocal:Localize("FOCUS"),
	focustarget = WhatsNextLocal:Localize("FOCUSTARGET"),
	mouseover = WhatsNextLocal:Localize("MOUSEOVER"),
	mouseovertarget = WhatsNextLocal:Localize("MOUSEOVERTARGET"),
} 

local baseGroupedUnits = {
	player = WhatsNextLocal:Localize("PLAYER"),
	pet = WhatsNextLocal:Localize("PET"),
} 

local bossUnits = {
	boss1 = format(WhatsNextLocal:Localize("BOSSFORMAT"),1),
	boss2 = format(WhatsNextLocal:Localize("BOSSFORMAT"),2),
	boss3 = format(WhatsNextLocal:Localize("BOSSFORMAT"),3),
	boss4 = format(WhatsNextLocal:Localize("BOSSFORMAT"),4),
	boss5 = format(WhatsNextLocal:Localize("BOSSFORMAT"),5),
} 

local bossTargetUnits = {
	boss1target = format(WhatsNextLocal:Localize("BOSSTARGETFORMAT"),1),
	boss2target = format(WhatsNextLocal:Localize("BOSSTARGETFORMAT"),2),
	boss3target = format(WhatsNextLocal:Localize("BOSSTARGETFORMAT"),3),
	boss4target = format(WhatsNextLocal:Localize("BOSSTARGETFORMAT"),4),
	boss5target = format(WhatsNextLocal:Localize("BOSSTARGETFORMAT"),5),
}

local arenaUnits = {
	arena1 = format(WhatsNextLocal:Localize("ARENAFORMAT"),1),
	arena2 = format(WhatsNextLocal:Localize("ARENAFORMAT"),2),
	arena3 = format(WhatsNextLocal:Localize("ARENAFORMAT"),3),
	arena4 = format(WhatsNextLocal:Localize("ARENAFORMAT"),4),
	arena5 = format(WhatsNextLocal:Localize("ARENAFORMAT"),5),
} 

local arenaTargetUnits = {
	arena1target = format(WhatsNextLocal:Localize("ARENATARGETFORMAT"),1),
	arena2target = format(WhatsNextLocal:Localize("ARENATARGETFORMAT"),2),
	arena3target = format(WhatsNextLocal:Localize("ARENATARGETFORMAT"),3),
	arena4target = format(WhatsNextLocal:Localize("ARENATARGETFORMAT"),4),
	arena5target = format(WhatsNextLocal:Localize("ARENATARGETFORMAT"),5),
}

local partyUnits = {
	party1 = format(WhatsNextLocal:Localize("PARTYFORMAT"),1),
	party2 = format(WhatsNextLocal:Localize("PARTYFORMAT"),2),
	party3 = format(WhatsNextLocal:Localize("PARTYFORMAT"),3),
	party4 = format(WhatsNextLocal:Localize("PARTYFORMAT"),4),
	party5 = format(WhatsNextLocal:Localize("PARTYFORMAT"),5),
} 

local partyTargetUnits = {
	party1target = format(WhatsNextLocal:Localize("PARTYTARGETFORMAT"),1),
	party2target = format(WhatsNextLocal:Localize("PARTYTARGETFORMAT"),2),
	party3target = format(WhatsNextLocal:Localize("PARTYTARGETFORMAT"),3),
	party4target = format(WhatsNextLocal:Localize("PARTYTARGETFORMAT"),4),
	party5target = format(WhatsNextLocal:Localize("PARTYTARGETFORMAT"),5),
}

local raidUnits = {}
for i=1,40 do
	raidUnits["raid"..i] = format(WhatsNextLocal:Localize("RAIDFORMAT"),(i < 10 and " " or "") .. i)
end
	
local raidTargetUnits = {}
for i=1,40 do
	raidTargetUnits["raid"..i.."target"] = format(WhatsNextLocal:Localize("RAIDTARGETFORMAT"),(i < 10 and " " or "") .. i)
end

local allUnits = {}
for key,value in pairs(baseUnits) do
	allUnits[key] = value
end
for key,value in pairs(bossUnits) do
	allUnits[key] = value
end
for key,value in pairs(bossTargetUnits) do
	allUnits[key] = value
end
for key,value in pairs(arenaUnits) do
	allUnits[key] = value
end
for key,value in pairs(arenaTargetUnits) do
	allUnits[key] = value
end
for key,value in pairs(partyUnits) do
	allUnits[key] = value
end
for key,value in pairs(partyTargetUnits) do
	allUnits[key] = value
end
for key,value in pairs(raidUnits) do
	allUnits[key] = value
end
for key,value in pairs(raidTargetUnits) do
	allUnits[key] = value
end

local movementValues = {
	MOVEFORWARD = WhatsNextLocal:Localize("MOVEFORWARD"),
	MOVEBACKWARD = WhatsNextLocal:Localize("MOVEBACKWARD"),
	STRAFELEFT = WhatsNextLocal:Localize("STRAFELEFT"),
	STRAFERIGHT = WhatsNextLocal:Localize("STRAFERIGHT"),
	TURNLEFT = WhatsNextLocal:Localize("TURNLEFT"),
	TURNRIGHT = WhatsNextLocal:Localize("TURNRIGHT"),
	JUMP = WhatsNextLocal:Localize("JUMP"),
	TOGGLEAUTORUN = WhatsNextLocal:Localize("TOGGLEAUTORUN"),
}

local logicBlockTypes = {
	itemBlock = WhatsNextLocal:Localize("ITEMBLOCK"),
	macroBlock = WhatsNextLocal:Localize("MACROBLOCK"),
	noteBlock = WhatsNextLocal:Localize("NOTEBLOCK"),
	spellBlock = WhatsNextLocal:Localize("SPELLBLOCK"),
	movementBlock = WhatsNextLocal:Localize("MOVEMENTBLOCK"),
}

local petModes = {
	PET_MODE_DEFENSIVE = WhatsNextLocal:Localize("DEFENSIVE"),
	PET_MODE_ASSIST = WhatsNextLocal:Localize("ASSIST"),
	PET_MODE_PASSIVE = WhatsNextLocal:Localize("PASSIVE"),
}

function WhatsNext:GetUnitDisplay(unit)
	return allUnits[unit] and ("|cFFFFF00F"..(allUnits[unit]).."|r") or unit
end

WhatsNext.valueLists = {
	["unitAny"] = {
		["Basic"] = baseUnits,
		["|cFFFFFFFFArena|r"] = arenaUnits,
		["|cFFFFFFFFArena Targets|r"] = arenaTargetUnits,
		["|cFFFFFFFFBoss|r"] = bossUnits,
		["|cFFFFFFFFBoss Targets|r"] = bossTargetUnits,
		["|cFFFFFFFFParty|r"] = partyUnits,
		["|cFFFFFFFFParty Targets|r"] = partyTargetUnits,
		["|cFFFFFFFFRaid|r"] = raidUnits,
		["|cFFFFFFFFRaid Targets|r"] = raidTargetUnits,
	},
	["unitGroup"] = {
		["Base"] = baseGroupedUnits,
		["Party"] = partyUnits,
		["Raid"] = raidUnits,
	},
	["movements"] = movementValues,
	["logicBlockTypes"] = logicBlockTypes,
	["petModes"] = petModes,
}

local soundEffects = {}
soundEffects[8458] = "PvP"
soundEffects[8959] = "Warning"
soundEffects[8960] = "Ready Check"
soundEffects[17317] = "Role Check"
soundEffects[10590] = "Crafting"
soundEffects[17341] = "Denied"
soundEffects[44294] = "Mission Complete"
soundEffects[44292] = "Invasion"
soundEffects[44308] = "Placed"
soundEffects[44305] = "Construction Start"
soundEffects[44320] = "Unassigned"
soundEffects[44295] = "Construction Complete"
soundEffects[46893] = "Level Up (Other)"
soundEffects[44322] = "Success"
soundEffects[47615] = "Application"
soundEffects[47704] = "Encounter"
soundEffects[47972] = "Start Work"
soundEffects[51402] = "Lesser Victory"
soundEffects[54125] = "Trait (Gold)"
soundEffects[54126] = "Trait (First)"
soundEffects[54127] = "Trait (Final)"
soundEffects[54128] = "Trait (Epic)"
soundEffects[54129] = "Trait (Increase)"
soundEffects[54133] = "Trait (Available)"
soundEffects[89685] = "Trait (Reveal)"
soundEffects[89686] = "Trait (Select)"
soundEffects[54139] = "Trait (Unlocked)"
soundEffects[62541] = "Revert"
soundEffects[74437] = "Upgraded"
soundEffects[74438] = "New Record"
soundEffects[74526] = "Grand Complete"
soundEffects[74702] = "Cheering"
soundEffects[77003] = "Rank Up"
soundEffects[62542] = "Apply"
soundEffects[62543] = "Power Down"
soundEffects[62544] = "Power Up"
soundEffects[63971] = "Toast"
soundEffects[64329] = "Unwrap"
soundEffects[72546] = "Command"
soundEffects[72548] = "Status"
soundEffects[72549] = "Inspect"
soundEffects[90080] = "Reveal"
soundEffects[72547] = "Force"
soundEffects[48942] = "Move Heavy"
soundEffects[44323] = "Close"
soundEffects[44330] = "Stringer"
soundEffects[44331] = "Open Chest"
soundEffects[44296] = "Follower Gained"
soundEffects[44302] = "Upgrade"
soundEffects[120] = "Coins"

WhatsNext.valueLists.soundEffects = soundEffects