425 lines
32 KiB
Lua
425 lines
32 KiB
Lua
-- ============================================================================
|
||
-- Character info used by glue tooltips and class/race descriptions.
|
||
-- ============================================================================
|
||
|
||
local Races_Informations = {
|
||
[1] = {
|
||
Name = "Человек",
|
||
Description = "Люди - молодая и потому очень универсальная раса. Они одинаково хорошо владеют боевым искусством, ремеслами и магией. Мужество и оптимизм помогли им возвести одни из величайших королевств мира. В эту беспокойную эпоху, после поколений войн, люди стремятся вернуть былую славу и построить новое светлое будущее.",
|
||
Spell_1 = {name = "Каждый за себя", icon = "spell_shadow_charm", description = "Снимает все эффекты, затрудняющие передвижение, а также все эффекты потери контроля над персонажем."},
|
||
Spell_2 = {name = "Специализация на мечах", icon = "ability_meleedamage", description = "Мастерство владения мечами и двуручными мечами повышается на 3."},
|
||
Spell_3 = {name = "Специализация на дробящем оружии", icon = "inv_hammer_05", description = "Мастерство владения булавами и двуручными булавами повышается на 3."},
|
||
Spell_4 = {name = "Человеческий дух", icon = "inv_enchant_shardbrilliantsmall", description = "Показатель духа увеличивается на 3%."},
|
||
Spell_5 = {name = "Внимательность", icon = "spell_nature_sleep", description = "Повышает вашу способность обнаруживать скрытность."},
|
||
Spell_6 = {name = "Дипломатия", icon = "inv_misc_note_02", description = "Получаемая репутация увеличивается на 10%."},
|
||
},
|
||
[2] = {
|
||
Name = "Дворф",
|
||
Description = "Когда-то дворфов интересовали лишь богатства, скрытые в недрах земли. Именно так они нашли следы божественной расы, которая, возможно, и даровала им жизнь. Потрясенные открытием, дворфы посвятили себя поиску утраченных артефактов и древних знаний. Сегодня дворфские археологи встречаются по всему миру.",
|
||
Spell_1 = {name = "Специализация на дробящем оружии", icon = "inv_hammer_05", description = "Мастерство владения булавами и двуручными булавами повышается на 5."},
|
||
Spell_2 = {name = "Каменная форма", icon = "spell_shadow_unholystrength", description = "Снимает все эффекты яда, болезни и кровотечения, а также увеличивает броню на 10% на 0,1 сек."},
|
||
Spell_3 = {name = "Специализация на огнестрельном оружии", icon = "inv_musket_03", description = "Вероятность критического удара из огнестрельного оружия повышается на 1%."},
|
||
Spell_4 = {name = "Сопротивление магии льда", icon = "spell_frost_wizardmark", description = "Снижает вероятность быть пораженным заклинаниями льда на 2%."},
|
||
Spell_5 = {name = "Поиск сокровищ", icon = "racial_dwarf_findtreasure", description = "Позволяет дворфу ощущать близлежащие сокровища и показывает их на миникарте. Действует до отмены."},
|
||
},
|
||
[3] = {
|
||
Name = "Ночной эльф",
|
||
Description = "Десять тысяч лет назад ночные эльфы создали огромную империю, но безрассудное использование первородной магии привело ее к гибели. Потрясенные случившимся, они ушли в леса и скрывались там до возвращения своего древнего врага - Пылающего Легиона. Тогда ночные эльфы были вынуждены покинуть уединение и вновь сразиться за свое место в новом мире.",
|
||
Spell_1 = {name = "Слиться с тенью", icon = "ability_ambush", description = "Позволяет слиться с тенями, снижая вероятность обнаружения врагами. Действует до отмены или движения. После отмены угроза к противникам в бою восстанавливается."},
|
||
Spell_2 = {name = "Неуловимость", icon = "ability_racial_ultravision", description = "Снижает вероятность обнаружения, пока вы находитесь в скрытности или под действием способности \"Слиться с тенью\"."},
|
||
Spell_3 = {name = "Сопротивление силам природы", icon = "spell_nature_spiritarmor", description = "Снижает вероятность быть пораженным заклинаниями природы на 2%."},
|
||
Spell_4 = {name = "Расторопность", icon = "ability_racial_shadowmeld", description = "Снижает вероятность быть пораженным атаками ближнего и дальнего боя на 2%."},
|
||
Spell_5 = {name = "Огонек", icon = "spell_nature_wispsplode", description = "После смерти вы превращаетесь в огонька, а скорость передвижения увеличивается на 75%."},
|
||
},
|
||
[4] = {
|
||
Name = "Гном",
|
||
Description = "Несмотря на малый рост, гномы Хаз Модана сумели вписать себя в историю благодаря выдающемуся уму. Их подземное королевство Гномреган когда-то считалось чудом паровой техники. Но даже это не спасло город от нашествия троггов. Теперь создатели этого чуда странствуют по землям дворфов и помогают союзникам всем, чем могут.",
|
||
Spell_1 = {name = "Мастер побега", icon = "ability_rogue_trip", description = "Позволяет освободиться от любого эффекта, обездвиживающего вас или замедляющего скорость передвижения."},
|
||
Spell_2 = {name = "Сопротивление тайной магии", icon = "spell_nature_wispsplode", description = "Снижает вероятность быть пораженным заклинаниями тайной магии на 2%."},
|
||
Spell_3 = {name = "Пытливый ум", icon = "inv_enchant_essenceeternallarge", description = "Показатель интеллекта увеличивается на 5%."},
|
||
Spell_4 = {name = "Специализация в инженерном деле", icon = "inv_misc_gear_01", description = "Навык инженерного дела повышается на 15."},
|
||
},
|
||
[5] = {
|
||
Name = "Дреней",
|
||
Description = "Покинув родной Аргус, благородные дренеи долгие эпохи спасались от Пылающего Легиона, пока не нашли далекий мир для нового дома. Там они соседствовали с шаманскими орками и назвали планету Дренором. Со временем Легион развратил орков, и те почти уничтожили мирных дренеев. Немногим счастливцам удалось спастись и добраться до Азерота, где теперь они ищут союзников в борьбе против Легиона.",
|
||
Spell_1 = {name = "Дар наару", icon = "spell_holy_holyprotection", description = "Исцеляет цель в течение 15 сек. Количество исцеления зависит от вашей силы атаки."},
|
||
Spell_2 = {name = "Огранка самоцветов", icon = "spell_misc_conjuremanajewel", description = "Навык ювелирного дела повышается на 5."},
|
||
Spell_3 = {name = "Героическое присутствие", icon = "inv_helmet_21", description = "Повышает вероятность попадания всеми атаками и заклинаниями на 1% для вас и членов вашей группы в радиусе 30 м."},
|
||
Spell_4 = {name = "Сопротивление темной магии", icon = "spell_shadow_detectinvisibility", description = "Снижает вероятность быть пораженным заклинаниями тьмы на 2%."},
|
||
},
|
||
[6] = {
|
||
Name = "Орк",
|
||
Description = "Орки происходят с планеты Дренор. Этот некогда мирный народ, следовавший шаманским традициям, был порабощен Пылающим Легионом и вынужден вести войну против людей Азерота. Прошли годы, прежде чем орки вырвались из демонической порчи и вновь обрели свободу. Теперь они сражаются за свою честь в мире, который их ненавидит и презирает.",
|
||
Spell_1 = {name = "Кровавое неистовство", icon = "racial_orc_berserkerstrength", description = "Увеличивает силу атаки на 6%. Длится 15 сек."},
|
||
Spell_2 = {name = "Командование", icon = "ability_warrior_warcry", description = "Урон, наносимый вашими питомцами, увеличивается на 5%."},
|
||
Spell_3 = {name = "Твердость", icon = "inv_helmet_23", description = "Дополнительно сокращает длительность эффектов оглушения на 15%."},
|
||
Spell_4 = {name = "Специализация на топорах", icon = "inv_axe_02", description = "Мастерство владения кистевым оружием, топорами и двуручными топорами повышается на 5."},
|
||
},
|
||
[7] = {
|
||
Name = "Нежить",
|
||
Description = "Вырвавшись из-под власти Короля-лича, Отрекшиеся ищут способ свергнуть его. Сильвана Ветрокрылая ведет их в жажде мести Плети. Люди тоже стали для них врагом, решив во что бы то ни стало очистить мир от нежити. Даже союзники значат для Отрекшихся немногое: Орда для них - лишь средство достижения собственных мрачных целей.",
|
||
Spell_1 = {name = "Каннибализм", icon = "ability_racial_cannibalize", description = "При активации восстанавливает 7% от максимального здоровья каждые 2 сек. в течение 10 сек. Работает только рядом с трупами гуманоидов или нежити в радиусе 5 м."},
|
||
Spell_2 = {name = "Воля Отрекшихся", icon = "spell_shadow_raisedead", description = "Снимает эффекты очарования, страха и сна. Имеет общее время восстановления 45 сек. с аналогичными эффектами."},
|
||
Spell_3 = {name = "Сопротивление темной магии", icon = "spell_shadow_detectinvisibility", description = "Снижает вероятность быть пораженным заклинаниями тьмы на 2%."},
|
||
Spell_4 = {name = "Подводное дыхание", icon = "spell_shadow_demonbreath", description = "Время задержки дыхания под водой увеличивается на 233%."},
|
||
},
|
||
[8] = {
|
||
Name = "Таурен",
|
||
Description = "Таурены неустанно стремятся сохранять равновесие природы и чтить волю почитаемой ими Матери-Земли. Недавно на них обрушились смертоносные кентавры, и таурены были бы уничтожены, если бы не помощь орков. В память об этом кровном долге таурены присоединились к Орде и скрепили союз двух народов.",
|
||
Spell_1 = {name = "Громовая поступь", icon = "ability_warstomp", description = "Оглушает до 5 противников в радиусе 8 м на 2 сек."},
|
||
Spell_2 = {name = "Закалка", icon = "spell_nature_unyeildingstamina", description = "Базовый запас здоровья увеличивается на 5%."},
|
||
Spell_3 = {name = "Сопротивление силам природы", icon = "spell_nature_spiritarmor", description = "Снижает вероятность быть пораженным заклинаниями природы на 2%."},
|
||
Spell_4 = {name = "Культивация", icon = "inv_misc_flower_01", description = "Навык травничества повышается на 15."},
|
||
},
|
||
[9] = {
|
||
Name = "Тролль",
|
||
Description = "Свирепые тролли Черного Копья когда-то жили в джунглях Тернистой долины, пока враждебные племена не изгнали их оттуда. Со временем они заключили союз с орками Орды, а молодой вождь Тралл убедил их отправиться вместе с ним в Калимдор. Несмотря на мрачное наследие, тролли Черного Копья заняли почетное место в Орде.",
|
||
Spell_1 = {name = "Берсерк", icon = "racial_troll_berserk", description = "Увеличивает скорость атаки и произнесения заклинаний на 20% на 10 сек."},
|
||
Spell_2 = {name = "Регенерация", icon = "spell_nature_regenerate", description = "Скорость восстановления здоровья увеличивается на 10%. 10% обычной регенерации продолжают действовать в бою."},
|
||
Spell_3 = {name = "Убийство животных", icon = "inv_misc_pelt_bear_ruin_02", description = "Урон, наносимый животным, увеличивается на 5%."},
|
||
Spell_4 = {name = "Специализация на метательном оружии", icon = "inv_throwingaxe_03", description = "Вероятность критического удара метательным оружием повышается на 1%."},
|
||
Spell_5 = {name = "Специализация на луках", icon = "inv_weapon_bow_12", description = "Вероятность критического удара из луков повышается на 1%."},
|
||
Spell_6 = {name = "Ловкость вуду", icon = "inv_misc_idol_02", description = "Сокращает длительность всех эффектов, препятствующих движению, на 15%. Тролли всегда выкручиваются, мон!"},
|
||
},
|
||
[10] = {
|
||
Name = "Эльф крови",
|
||
Description = "Давным-давно изгнанные высшие эльфы основали Кель'Талас и создали там магический источник - Солнечный Колодец. Его сила наделила их могуществом, но породила опасную зависимость.\n\nГоды спустя Плеть уничтожила Солнечный Колодец и почти весь народ высших эльфов. Теперь, называя себя эльфами крови, эти рассеянные выжившие пытаются восстановить Кель'Талас и ищут новый источник магии, способный утолить их мучительную жажду.",
|
||
Spell_1 = {name = "Волшебный поток", icon = "spell_shadow_teleport", description = "Заставляет замолчать всех врагов в радиусе 8 м на 2 сек. и восстанавливает 6% маны. Также прерывает заклинания у целей, не являющихся игроками, на 3 сек."},
|
||
Spell_2 = {name = "Магическое сродство", icon = "inv_enchant_shardglimmeringlarge", description = "Навык наложения чар повышается на 10."},
|
||
Spell_3 = {name = "Сопротивление магии", icon = "spell_shadow_antimagicshell", description = "Снижает вероятность быть пораженным заклинаниями на 2%."},
|
||
},
|
||
}
|
||
|
||
local Class_Informations = {
|
||
[1] = {
|
||
Name = "Воин",
|
||
Description = "Воины - мастера ближнего боя, способные использовать огромное количество оружия и доспехов. Их сила и выносливость делают их грозными защитниками, которые могут прикрывать союзников и наносить сокрушительный урон врагам.",
|
||
Roles = "Ближний бой, Танк.",
|
||
},
|
||
[2] = {
|
||
Name = "Паладин",
|
||
Description = "Паладины - священные воины, сочетающие рукопашный бой с божественной магией. Они стоят на страже справедливости, исцеляют союзников, укрепляют их благословениями и карают нечестивых силой Света.",
|
||
Roles = "Ближний бой, Танк, Лекарь.",
|
||
},
|
||
[3] = {
|
||
Name = "Охотник",
|
||
Description = "Охотники превосходно чувствуют себя в дальнем бою и в дикой природе. Вместе с верными питомцами они выслеживают врагов, расставляют ловушки и поражают цель издалека из луков и огнестрельного оружия.",
|
||
Roles = "Дальний бой.",
|
||
},
|
||
[4] = {
|
||
Name = "Разбойник",
|
||
Description = "Разбойники - мастера скрытности и обмана. Они двигаются незаметно, бьют из тени и наносят смертельные критические удары, уходя от ответных атак за счет ловкости и скорости.",
|
||
Roles = "Ближний бой.",
|
||
},
|
||
[5] = {
|
||
Name = "Жрец",
|
||
Description = "Жрецы владеют божественной магией и посвящают себя исцелению и защите союзников. При необходимости они также способны обращаться к темным силам, но главная их сила - в восстановлении жизни и духовной поддержке.",
|
||
Roles = "Дальний бой, Лекарь.",
|
||
},
|
||
[6] = {
|
||
Name = "Рыцарь смерти",
|
||
Description = "Рыцари смерти - бывшие слуги Короля-лича, овладевшие некромантией и мрачной боевой магией. Они сочетают тяжелое оружие, темные руны и нечестивую силу, чтобы сокрушать врагов на передовой.",
|
||
Roles = "Ближний бой, Танк.",
|
||
},
|
||
[7] = {
|
||
Name = "Шаман",
|
||
Description = "Шаманы служат связующим звеном между духами и материальным миром. Они управляют стихиями, призывают тотемы, исцеляют союзников и обрушивают на врагов ярость огня, земли, воды и воздуха.",
|
||
Roles = "Ближний бой, Дальний бой, Лекарь.",
|
||
},
|
||
[8] = {
|
||
Name = "Маг",
|
||
Description = "Маги - повелители тайных искусств, способные направлять разрушительную силу льда, огня и чистой арканы. При своей хрупкости они остаются одной из самых опасных сил на поле боя.",
|
||
Roles = "Дальний бой.",
|
||
},
|
||
[9] = {
|
||
Name = "Чернокнижник",
|
||
Description = "Чернокнижники заключают сделки с демоническими силами ради могущества. Они призывают демонов, высасывают жизнь из врагов и насылают разрушительную скверну, превращая бой в кошмар для своих противников.",
|
||
Roles = "Дальний бой.",
|
||
},
|
||
[10] = {
|
||
Name = "Друид",
|
||
Description = "Друиды - хранители природы, способные принимать разные звериные облики. Их универсальность позволяет им выполнять множество ролей: исцелять, защищать союзников, сражаться в ближнем бою или поражать врагов заклинаниями издали.",
|
||
Roles = "Ближний бой, Дальний бой, Танк, Лекарь.",
|
||
},
|
||
}
|
||
|
||
local RaceTooltipPositions = {
|
||
Alliance = {
|
||
[1] = {
|
||
high = {point = "TOPLEFT", relPoint = "TOPRIGHT", x = 20, y = 20},
|
||
low = {point = "BOTTOMLEFT", relPoint = "TOPRIGHT", x = 20, y = -80},
|
||
veryLow = {point = "BOTTOMLEFT", relPoint = "TOPRIGHT", x = 20, y = -180},
|
||
default = {point = "LEFT", relPoint = "RIGHT", x = 20, y = 0},
|
||
},
|
||
[2] = {
|
||
high = {point = "TOPLEFT", relPoint = "TOPRIGHT", x = 20, y = 40},
|
||
low = {point = "BOTTOMLEFT", relPoint = "TOPRIGHT", x = 20, y = -60},
|
||
veryLow = {point = "BOTTOMLEFT", relPoint = "TOPRIGHT", x = 20, y = -140},
|
||
default = {point = "LEFT", relPoint = "RIGHT", x = 20, y = 20},
|
||
},
|
||
[3] = {
|
||
high = {point = "TOPLEFT", relPoint = "TOPRIGHT", x = 20, y = 20},
|
||
low = {point = "BOTTOMLEFT", relPoint = "TOPRIGHT", x = 20, y = -80},
|
||
veryLow = {point = "BOTTOMLEFT", relPoint = "TOPRIGHT", x = 20, y = -180},
|
||
default = {point = "LEFT", relPoint = "RIGHT", x = 20, y = 0},
|
||
},
|
||
[4] = {
|
||
high = {point = "TOPLEFT", relPoint = "TOPRIGHT", x = 20, y = 40},
|
||
low = {point = "BOTTOMLEFT", relPoint = "TOPRIGHT", x = 20, y = -60},
|
||
veryLow = {point = "BOTTOMLEFT", relPoint = "TOPRIGHT", x = 20, y = -140},
|
||
default = {point = "LEFT", relPoint = "RIGHT", x = 20, y = 20},
|
||
},
|
||
[5] = {
|
||
high = {point = "TOPLEFT", relPoint = "TOPRIGHT", x = 20, y = 20},
|
||
low = {point = "BOTTOMLEFT", relPoint = "TOPRIGHT", x = 20, y = -80},
|
||
veryLow = {point = "BOTTOMLEFT", relPoint = "TOPRIGHT", x = 20, y = -180},
|
||
default = {point = "LEFT", relPoint = "RIGHT", x = 20, y = 0},
|
||
},
|
||
},
|
||
Horde = {
|
||
[6] = {
|
||
high = {point = "TOPRIGHT", relPoint = "TOPLEFT", x = -20, y = 20},
|
||
veryLow = {point = "BOTTOMRIGHT", relPoint = "TOPLEFT", x = -20, y = -120},
|
||
default = {point = "RIGHT", relPoint = "LEFT", x = -20, y = 0},
|
||
},
|
||
[7] = {
|
||
high = {point = "TOPRIGHT", relPoint = "TOPLEFT", x = -20, y = 40},
|
||
veryLow = {point = "BOTTOMRIGHT", relPoint = "TOPLEFT", x = -20, y = -80},
|
||
default = {point = "RIGHT", relPoint = "LEFT", x = -20, y = 20},
|
||
},
|
||
[8] = {
|
||
high = {point = "TOPRIGHT", relPoint = "TOPLEFT", x = -20, y = 20},
|
||
veryLow = {point = "BOTTOMRIGHT", relPoint = "TOPLEFT", x = -20, y = -120},
|
||
default = {point = "RIGHT", relPoint = "LEFT", x = -20, y = 0},
|
||
},
|
||
[9] = {
|
||
high = {point = "TOPRIGHT", relPoint = "TOPLEFT", x = -20, y = 40},
|
||
veryLow = {point = "BOTTOMRIGHT", relPoint = "TOPLEFT", x = -20, y = -80},
|
||
default = {point = "RIGHT", relPoint = "LEFT", x = -20, y = 20},
|
||
},
|
||
[10] = {
|
||
high = {point = "TOPRIGHT", relPoint = "TOPLEFT", x = -20, y = 20},
|
||
veryLow = {point = "BOTTOMRIGHT", relPoint = "TOPLEFT", x = -20, y = -120},
|
||
default = {point = "RIGHT", relPoint = "LEFT", x = -20, y = 0},
|
||
},
|
||
},
|
||
}
|
||
|
||
function GetRaceTooltipPosition(raceID, button)
|
||
local screenHeight = GetScreenHeight()
|
||
local buttonTop = button:GetTop()
|
||
local buttonBottom = button:GetBottom()
|
||
|
||
local faction = raceID <= 5 and "Alliance" or "Horde"
|
||
local positions = RaceTooltipPositions[faction][raceID]
|
||
|
||
if not positions then
|
||
return {point = "CENTER", relPoint = "CENTER", x = 0, y = 0}
|
||
end
|
||
|
||
if buttonTop > screenHeight * 0.66 then
|
||
return positions.high
|
||
elseif buttonBottom < screenHeight * 0.44 and positions.low then
|
||
return positions.low
|
||
elseif buttonBottom < screenHeight * 0.33 and positions.veryLow then
|
||
return positions.veryLow
|
||
else
|
||
return positions.default
|
||
end
|
||
end
|
||
|
||
local RACE_DATA = {
|
||
[1] = { glueString = "HUMAN", faction = "Alliance" },
|
||
[2] = { glueString = "DWARF", faction = "Alliance" },
|
||
[3] = { glueString = "NIGHT_ELF", faction = "Alliance" },
|
||
[4] = { glueString = "GNOME", faction = "Alliance" },
|
||
[5] = { glueString = "DRAENEI", faction = "Alliance" },
|
||
[6] = { glueString = "ORC", faction = "Horde" },
|
||
[7] = { glueString = "UNDEAD", faction = "Horde" },
|
||
[8] = { glueString = "TAUREN", faction = "Horde" },
|
||
[9] = { glueString = "TROLL", faction = "Horde" },
|
||
[10] = { glueString = "BLOOD_ELF", faction = "Horde" },
|
||
}
|
||
|
||
local ALLIANCE_RACES = {1, 2, 3, 4, 5}
|
||
local HORDE_RACES = {6, 7, 8, 9, 10}
|
||
|
||
local RACE_NAME_TO_FACTION = {
|
||
["Человек"] = "Alliance",
|
||
["Человечка"] = "Alliance",
|
||
["Humano"] = "Alliance",
|
||
["Humana"] = "Alliance",
|
||
["Human"] = "Alliance",
|
||
["Дворф"] = "Alliance",
|
||
["Дворфийка"] = "Alliance",
|
||
["Enano"] = "Alliance",
|
||
["Enana"] = "Alliance",
|
||
["Dwarf"] = "Alliance",
|
||
["Ночной эльф"] = "Alliance",
|
||
["Ночная эльфийка"] = "Alliance",
|
||
["Elfo de la noche"] = "Alliance",
|
||
["Elfa de la noche"] = "Alliance",
|
||
["Night Elf"] = "Alliance",
|
||
["Гном"] = "Alliance",
|
||
["Гномка"] = "Alliance",
|
||
["Gnomo"] = "Alliance",
|
||
["Gnoma"] = "Alliance",
|
||
["Gnome"] = "Alliance",
|
||
["Дреней"] = "Alliance",
|
||
["Дренейка"] = "Alliance",
|
||
["Draenei"] = "Alliance",
|
||
["Орк"] = "Horde",
|
||
["Орчиха"] = "Horde",
|
||
["Orco"] = "Horde",
|
||
["Orca"] = "Horde",
|
||
["Orc"] = "Horde",
|
||
["Нежить"] = "Horde",
|
||
["No-muerto"] = "Horde",
|
||
["No Muerto"] = "Horde",
|
||
["No-muerta"] = "Horde",
|
||
["Undead"] = "Horde",
|
||
["Таурен"] = "Horde",
|
||
["Тауренка"] = "Horde",
|
||
["Tauren"] = "Horde",
|
||
["Тролль"] = "Horde",
|
||
["Троллиха"] = "Horde",
|
||
["Trol"] = "Horde",
|
||
["Troll"] = "Horde",
|
||
["Эльф крови"] = "Horde",
|
||
["Эльфийка крови"] = "Horde",
|
||
["Elfo de sangre"] = "Horde",
|
||
["Elfa de sangre"] = "Horde",
|
||
["Blood Elf"] = "Horde",
|
||
}
|
||
|
||
local function GetRaceName(raceID)
|
||
local raceData = RACE_DATA[raceID]
|
||
if not raceData then
|
||
return "Человек"
|
||
end
|
||
|
||
return _G[raceData.glueString] or raceData.glueString
|
||
end
|
||
|
||
local function GetFactionForRaceID(raceID)
|
||
local raceData = RACE_DATA[raceID]
|
||
return raceData and raceData.faction or "Alliance"
|
||
end
|
||
|
||
local function GetRaceNamesByFaction(faction)
|
||
local names = {}
|
||
local raceList = (faction == "Alliance") and ALLIANCE_RACES or HORDE_RACES
|
||
|
||
for _, raceID in ipairs(raceList) do
|
||
table.insert(names, GetRaceName(raceID))
|
||
end
|
||
|
||
return names
|
||
end
|
||
|
||
local AllianceRaces = GetRaceNamesByFaction("Alliance")
|
||
local HordeRaces = GetRaceNamesByFaction("Horde")
|
||
|
||
local function GetCurrentRaceName()
|
||
local raceID = GetSelectedRace()
|
||
return GetRaceName(raceID)
|
||
end
|
||
|
||
local function GetRacesByFaction(allowedRaces)
|
||
local allianceList = {}
|
||
local hordeList = {}
|
||
|
||
for _, race in ipairs(allowedRaces) do
|
||
local isAlliance = false
|
||
for _, allianceRace in ipairs(AllianceRaces) do
|
||
if race == allianceRace then
|
||
table.insert(allianceList, race)
|
||
isAlliance = true
|
||
break
|
||
end
|
||
end
|
||
|
||
if not isAlliance then
|
||
for _, hordeRace in ipairs(HordeRaces) do
|
||
if race == hordeRace then
|
||
table.insert(hordeList, race)
|
||
break
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
return allianceList, hordeList
|
||
end
|
||
|
||
local RACE_NAME_CACHE = {}
|
||
|
||
local function GetFactionForRaceName(raceName)
|
||
if not raceName then
|
||
return "Horde"
|
||
end
|
||
|
||
if RACE_NAME_CACHE[raceName] then
|
||
return RACE_NAME_CACHE[raceName]
|
||
end
|
||
|
||
local faction = RACE_NAME_TO_FACTION[raceName]
|
||
if faction then
|
||
RACE_NAME_CACHE[raceName] = faction
|
||
return faction
|
||
end
|
||
|
||
for _, raceData in pairs(RACE_DATA) do
|
||
local baseKey = raceData.glueString
|
||
|
||
for _, genderKey in ipairs({"", "_MALE", "_FEMALE"}) do
|
||
local localizedName = _G[baseKey .. genderKey]
|
||
if localizedName and localizedName == raceName then
|
||
faction = raceData.faction
|
||
break
|
||
end
|
||
end
|
||
|
||
if faction then
|
||
break
|
||
end
|
||
end
|
||
|
||
if not faction then
|
||
faction = "Horde"
|
||
end
|
||
|
||
RACE_NAME_CACHE[raceName] = faction
|
||
return faction
|
||
end
|
||
|
||
_G.RACE_1 = "Человек"
|
||
_G.RACE_2 = "Дворф"
|
||
_G.RACE_3 = "Ночной эльф"
|
||
_G.RACE_4 = "Гном"
|
||
_G.RACE_5 = "Дреней"
|
||
_G.RACE_6 = "Орк"
|
||
_G.RACE_7 = "Нежить"
|
||
_G.RACE_8 = "Таурен"
|
||
_G.RACE_9 = "Тролль"
|
||
_G.RACE_10 = "Эльф крови"
|
||
|
||
_G.Races_Informations = Races_Informations
|
||
_G.Class_Informations = Class_Informations
|
||
_G.ClassRaces = ClassRaces or {}
|
||
_G.GetRaceTooltipPosition = GetRaceTooltipPosition
|
||
|
||
_G.GetRaceName = GetRaceName
|
||
_G.GetFactionForRaceID = GetFactionForRaceID
|
||
_G.GetRaceNamesByFaction = GetRaceNamesByFaction
|
||
_G.GetCurrentRaceName = GetCurrentRaceName
|
||
_G.GetRacesByFaction = GetRacesByFaction
|
||
|
||
_G.ALLIANCE_RACES = ALLIANCE_RACES
|
||
_G.HORDE_RACES = HORDE_RACES
|
||
_G.RACE_DATA = RACE_DATA
|
||
_G.AllianceRaces = AllianceRaces
|
||
_G.HordeRaces = HordeRaces
|
||
|
||
_G.GetFactionForRaceName = GetFactionForRaceName
|