Static help content for the club UI. Stores English and Russian titles, bodies and tips for six topics, and maps page names to a topic flag for one-time hints.
namespace Socer;
// Stable preference bits: old saves have no section hints and start at None.
public enum ClubHelpTopic { None=0, Store=1, Upgrades=2, Links=4, Career=8, Cups=16, Missions=32 }
public sealed record ClubHelpContent(string Icon,string EnglishTitle,string RussianTitle,
string EnglishBody,string RussianBody,string EnglishTip,string RussianTip);
public static class ClubHelp
{
public const int AllTopics=63;
static readonly ClubHelpContent store=new("store","Packs and inventory","Паки и инвентарь",
"Buy a pack here, then open it in Inventory. Each pack contains 1–2 footballers and 1–3 extras.",
"Купите пак здесь, а откройте его в «Инвентаре». Внутри — 1–2 футболиста и 1–3 дополнения.",
"Coins buy standard packs; cup tokens buy cup packs. Reserve duplicates can be sold or exchanged for upgrade cards.",
"Монеты нужны для обычных паков, кубки — для кубковых. Запасные дубли можно продать или обменять на карточки улучшений.");
static readonly ClubHelpContent upgrades=new("training","Give a player a skill","Добавьте игроку скилл",
"Choose a player and an upgrade card. Applying it consumes the card and grants a random skill for the player's role. A free skill slot fills automatically.",
"Выберите игрока и карточку улучшений. При применении она расходуется и даёт случайный скилл для роли игрока. Свободное место заполняется автоматически.",
"Bronze holds 1 skill, silver 2, gold or higher 3. With no space left, one random skill is replaced; a gold skill can become a normal one.",
"У бронзы — 1 скилл, у серебра — 2, у золота и выше — 3. Когда места заняты, случайный скилл заменяется. Золотой может смениться обычным.");
static readonly ClubHelpContent links=new("squad","Skills help their neighbours","Скиллы усиливают соседей",
"A line connects neighbouring starting players with compatible skills. Distant players do not form a link; changing positions or formation changes the neighbours.",
"Линия соединяет соседних игроков основы с совместимыми скиллами. Далёкие игроки связку не создают; перестановка карточек или смена схемы меняет соседей.",
"Hover the two skill icons on a line to see why it exists. Links improve runs, combinations and cover. With no compatible skills, no line appears.",
"Наведите на значок скиллов на линии, чтобы узнать причину связи. Связки улучшают открывания, комбинации и подстраховку. Нет совместимых скиллов — нет линии.");
static readonly ClubHelpContent career=new("league","Your road to the Champions Cup","Путь к Кубку чемпионов",
"Climb through five leagues. A final first or second place in the Premier League unlocks the Champions Cup. Win that cup to win the game; you can then continue your career.",
"Пройдите пять лиг. Итоговое первое или второе место в Премьер-лиге открывает Кубок чемпионов. Победа в этом кубке — победа в игре; после неё можно продолжить карьеру.",
"The top two earn promotion below the Premier League. A final-cup defeat gives you another chance to qualify next season. Claim mission rewards before starting a new season.",
"В лигах ниже Премьер-лиги первые два места дают повышение. После поражения в финальном кубке можно квалифицироваться заново в следующем сезоне. Перед новым сезоном заберите награды миссий.");
static readonly ClubHelpContent cups=new("cup","A cup pauses league play","Кубковое окно",
"Season cups open after the required league rounds. The Champions Cup opens after a final top-two Premier League finish. Win three rounds to lift the trophy; winning the Champions Cup completes the game.",
"Сезонные кубки открываются после нужных туров лиги. Кубок чемпионов — после итогового топ-2 Премьер-лиги. Для трофея нужны три победы; победа в Кубке чемпионов завершает игру.",
"Packs, sales and upgrades are locked during the cup window. You can rearrange owned players before a match. Cup wins also award tokens for cup packs.",
"В кубковом окне паки, продажи и улучшения закрыты. Перед матчем можно переставлять своих игроков. За кубковые победы также дают кубки для покупки паков.");
static readonly ClubHelpContent missions=new("missions","Claim your club rewards","Забирайте награды клуба",
"Earn the required league points by the stated round to complete a mission. When a reward is ready, claim it here. Unclaimed mission rewards must be collected before the next season.",
"Наберите нужное число очков лиги к указанному туру, чтобы выполнить миссию. Готовую награду заберите здесь. Перед следующим сезоном нужно получить все заработанные награды миссий.",
"Club achievements and season challenges can also award coins or upgrade cards here. s&box achievements are separate platform milestones; unlocking one does not claim these club rewards.",
"За достижения клуба и сезонные вызовы здесь тоже можно получить монеты или карточки улучшений. Достижения s&box — отдельные отметки платформы: их открытие не забирает клубные награды.");
public static ClubHelpTopic ForPage(string page)=>page switch
{"Карточки"=>ClubHelpTopic.Store,"Тренировки"=>ClubHelpTopic.Upgrades,"Состав"=>ClubHelpTopic.Links,
"Главная"=>ClubHelpTopic.Career,"Кубок"=>ClubHelpTopic.Cups,"Missions"=>ClubHelpTopic.Missions,_=>ClubHelpTopic.None};
public static ClubHelpContent Get(ClubHelpTopic topic)=>topic switch
{ClubHelpTopic.Store=>store,ClubHelpTopic.Upgrades=>upgrades,ClubHelpTopic.Links=>links,
ClubHelpTopic.Career=>career,ClubHelpTopic.Cups=>cups,ClubHelpTopic.Missions=>missions,_=>null};
}