assert(BigWigs, "BigWigs not found!") ------------------------------ -- Are you local? -- ------------------------------ local L = AceLibrary("AceLocale-2.2"):new("BigWigsRaidIcon") local lastplayer = nil ---------------------------- -- Localization -- ---------------------------- L:RegisterTranslations("enUS", function() return { ["Raid Icons"] = true, ["raidicon"] = true, ["place"] = true, ["icon"] = true, ["Place"] = true, ["Place Raid Icons"] = true, ["Toggle placing of Raid Icons on players."] = true, ["Icon"] = true, ["Set Icon"] = true, ["Set which icon to place on players."] = true, ["Options for Raid Icons."] = true, ["star"] = true, ["circle"] = true, ["diamond"] = true, ["triangle"] = true, ["moon"] = true, ["square"] = true, ["cross"] = true, ["skull"] = true, } end ) L:RegisterTranslations("koKR", function() return { ["Raid Icons"] = "공격대 아이콘", ["Place"] = "지정", ["Place Raid Icons"] = "공격대 아이콘 지정", ["Toggle placing of Raid Icons on players."] = "플레이어에 공격대 아이콘 지정 토글", ["Icon"] = "아이콘", ["Set Icon"] = "아이콘 설정", ["Set which icon to place on players."] = "플레이어에 아이콘 지정을 위한 설정", ["Options for Raid Icons."] = "공격대 아이콘에 대한 설정", ["star"] = "별", ["circle"] = "원", ["diamond"] = "다이아몬드", ["triangle"] = "세모", ["moon"] = "달", ["square"] = "네모", ["cross"] = "가위표", ["skull"] = "해골", } end ) L:RegisterTranslations("zhCN", function() return { ["Raid Icons"] = "团队图标", ["Place"] = "标记", ["Place Raid Icons"] = "标记团队图标", ["Toggle placing of Raid Icons on players."] = "切换是否在玩家身上标记团队图标", ["Icon"] = "图标", ["Set Icon"] = "设置图标", ["Set which icon to place on players."] = "设置玩家身上标记的图标。", ["Options for Raid Icons."] = "团队图标设置", ["star"] = "星星", ["circle"] = "圆圈", ["diamond"] = "钻石", ["triangle"] = "三角", ["moon"] = "月亮", ["square"] = "方形", ["cross"] = "十字", ["skull"] = "骷髅", } end ) L:RegisterTranslations("zhTW", function() return { ["Raid Icons"] = "團隊圖示", ["Place"] = "標記", ["Place Raid Icons"] = "標記團隊圖示", ["Toggle placing of Raid Icons on players."] = "切換是否在玩家身上標記團隊圖示", ["Icon"] = "圖標", ["Set Icon"] = "設置圖示", ["Set which icon to place on players."] = "設置玩家身上標記的圖示。", ["Options for Raid Icons."] = "團隊圖示設置", ["star"] = "星星", ["circle"] = "圓圈", ["diamond"] = "方塊", ["triangle"] = "三角", ["moon"] = "月亮", ["square"] = "方形", ["cross"] = "十字", ["skull"] = "骷髏", } end ) L:RegisterTranslations("deDE", function() return { ["Raid Icons"] = "Schlachtzug-Symbole", --["raidicon"] = "schlachtzugsymbol", --["place"] = "position", --["icon"] = "symbol", ["Place"] = "Platzierung", ["Place Raid Icons"] = "Schlachtzug-Symbole platzieren", ["Toggle placing of Raid Icons on players."] = "Schlachtzug-Symbole auf Spieler setzen.", ["Icon"] = "Symbol", ["Set Icon"] = "Symbol platzieren", ["Set which icon to place on players."] = "W\195\164hle, welches Symbol auf Spieler gesetzt wird.", ["Options for Raid Icons."] = "Optionen f\195\188r Schlachtzug-Symbole.", ["star"] = "Stern", ["circle"] = "Kreis", ["diamond"] = "Diamant", ["triangle"] = "Dreieck", ["moon"] = "Mond", ["square"] = "Quadrat", ["cross"] = "Kreuz", ["skull"] = "Totenkopf", } end ) L:RegisterTranslations("frFR", function() return { ["Raid Icons"] = "Icônes de raid", ["Place"] = "Placement", ["Place Raid Icons"] = "Placer les icônes de raid", ["Toggle placing of Raid Icons on players."] = "Place ou non les icônes de raid sur les joueurs.", ["Icon"] = "Icône", ["Set Icon"] = "Déterminer l'icône", ["Set which icon to place on players."] = "Détermine quelle icône sera placée sur les joueurs.", ["Options for Raid Icons."] = "Options concernant les icônes de raid.", ["star"] = "étoile", ["circle"] = "cercle", ["diamond"] = "diamant", ["triangle"] = "triangle", ["moon"] = "lune", ["square"] = "carré", ["cross"] = "croix", ["skull"] = "crâne", } end ) ---------------------------------- -- Module Declaration -- ---------------------------------- BigWigsRaidIcon = BigWigs:NewModule(L["Raid Icons"]) BigWigsRaidIcon.defaultDB = { place = true, icon = L["skull"], } BigWigsRaidIcon.icontonumber = { [L["star"]] = 1, [L["circle"]] = 2, [L["diamond"]] = 3, [L["triangle"]] = 4, [L["moon"]] = 5, [L["square"]] = 6, [L["cross"]] = 7, [L["skull"]] = 8, } BigWigsRaidIcon.consoleCmd = L["raidicon"] BigWigsRaidIcon.consoleOptions = { type = "group", name = L["Raid Icons"], desc = L["Options for Raid Icons."], args = { [L["place"]] = { type = "toggle", name = L["Place Raid Icons"], desc = L["Toggle placing of Raid Icons on players."], get = function() return BigWigsRaidIcon.db.profile.place end, set = function(v) BigWigsRaidIcon.db.profile.place = v end, }, [L["icon"]] = { type = "text", name = L["Set Icon"], desc = L["Set which icon to place on players."], get = function() return BigWigsRaidIcon.db.profile.icon end, set = function(v) BigWigsRaidIcon.db.profile.icon = v end, validate = {L["star"], L["circle"], L["diamond"], L["triangle"], L["moon"], L["square"], L["cross"], L["skull"] }, }, } } ------------------------------ -- Initialization -- ------------------------------ function BigWigsRaidIcon:OnEnable() self:RegisterEvent("BigWigs_SetRaidIcon") self:RegisterEvent("BigWigs_RemoveRaidIcon") end function BigWigsRaidIcon:BigWigs_SetRaidIcon(player) if not self.db.profile.place or not player then return end local icon = self.db.profile.icon if not self.icontonumber[icon] then icon = L["skull"] end icon = self.icontonumber[icon] for i=1,GetNumRaidMembers() do if UnitName("raid"..i) == player then if not GetRaidTargetIndex("raid"..i) then SetRaidTargetIcon("raid"..i, icon) lastplayer = player end end end end function BigWigsRaidIcon:BigWigs_RemoveRaidIcon() if not self.db.profile.place or not lastplayer then return end for i=1,GetNumRaidMembers() do if UnitName("raid"..i) == lastplayer then SetRaidTargetIcon("raid"..i, 0) end end lastplayer = nil end