diff --git a/README.md b/README.md index 1a06642..7d8361b 100644 --- a/README.md +++ b/README.md @@ -157,6 +157,17 @@ c:AdjustAscension(1) -- 메뉴에서 승천 단계 +1 밸런스 검증: `node tools/balance/sim-balance.mjs [N] [--seed S]` · 테스트: `node --test tools/balance/sim-balance.test.mjs tools/map/rogue-map.test.mjs`. 상세 설계는 [`docs/slaymaple_basic_framework.md`](docs/slaymaple_basic_framework.md) 및 `docs/superpowers/specs/` 참조. +### 디버그 단축키 + +개발·QA용 키보드 단축키. **전투 중**(런 활성 + 전투 진행 중)에만 동작합니다. + +| 단축키 | 기능 | +|---|---| +| **Ctrl + Shift + C** | **카드 picker** — 직업 전체 카드 패널을 띄우고, 카드를 클릭하면 **즉시 손패에 추가**. 상단 탭(전사/도적/마법사)으로 직업별 카드 풀 전환. 카드 효과·메커니즘 즉석 테스트용 | +| **Ctrl + Shift + E** | **에너지 치트** — 현재 에너지를 최대치로 회복 | + +> 카드 picker는 메이커 저작 UI `DeckUIGroup/DeckAllHud`(120 슬롯 그리드 + 직업 탭 3종)를 사용하고, 컨트롤러가 런타임에 카드 비주얼·버튼을 바인딩합니다. 구현: 키 바인딩 `tools/deck/cb/boot.mjs`, picker 로직 `tools/deck/cb/deckview.mjs`(`OpenDebugCardPicker`/`OnAllDeckCardButton`), 버튼 바인딩 `tools/deck/cb/deckturn.mjs`(`BindButtons`). 옛 picker UI 생성기 `tools/deck/legacy/hud/deckall.mjs`는 UI 메이커-저작 전환 후 **휴면**(Maker UI가 대체). + ### 산출물 재생성 ```bash node tools/deck/gen-slaydeck.mjs # 컨트롤러+common (UI는 메이커 저작 — 미생성) diff --git a/RootDesk/MyDesk/SlayDeckController.codeblock b/RootDesk/MyDesk/SlayDeckController.codeblock index e904a31..42559f5 100644 --- a/RootDesk/MyDesk/SlayDeckController.codeblock +++ b/RootDesk/MyDesk/SlayDeckController.codeblock @@ -1564,7 +1564,7 @@ "Name": null }, "Arguments": [], - "Code": "if self.SelectedClass == \"magician\" then\n\tself.PlayerMaxHp = 70\nself.RunDeck = { \"EnergyBolt\", \"EnergyBolt\", \"EnergyBolt\", \"EnergyBolt\", \"EnergyBolt\", \"MagicGuard\", \"MagicGuard\", \"MagicGuard\", \"MagicGuard\", \"MagicClaw\" }\nelseif self.SelectedClass == \"bandit\" then\n\tself.PlayerMaxHp = 70\n\tself.RunDeck = { \"SilentStrike\", \"SilentStrike\", \"SilentStrike\", \"SilentStrike\", \"SilentStrike\", \"SilentDefend\", \"SilentDefend\", \"SilentDefend\", \"SilentDefend\", \"SilentDefend\", \"Neutralize\", \"Survivor\" }\nelse\n\tself.PlayerMaxHp = 80\n\tself.RunDeck = { \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Defend\", \"Defend\", \"Defend\", \"Defend\", \"Bash\" }\nend\nself.PlayerMaxHp = self.PlayerMaxHp - self:AscStartHpPenalty()\nself.PlayerHp = self.PlayerMaxHp\nself.Gold = 0\nself.Floor = 1\nself.RunLength = 5\nself.RunActive = true\nself.RunRelics = {}\nself.RunPotions = {}\nself.PotionSlots = 3\nself.Potions = {\n\tredPotion = { name = \"빨간 포션\", desc = \"HP 20 회복\", effect = \"heal\", value = 20, icon = \"393e2a0d8da544899eaa8b22c97f832b\" },\n\tfirebomb = { name = \"화염병\", desc = \"적에게 피해 20\", effect = \"damage\", value = 20, icon = \"7ddb464c2574456289a4eb72ce86f193\" },\n\twarriorElixir = { name = \"전사의 물약\", desc = \"힘 +2\", effect = \"strength\", value = 2, icon = \"7cfbd410581e4073815daaf5f3e6c72f\" },\n\tguardPotion = { name = \"수호의 물약\", desc = \"방어도 +12\", effect = \"block\", value = 12, icon = \"8f8402dfa0f746e18bf606ed74302c0a\" },\n\tmanaElixir = { name = \"마나 엘릭서\", desc = \"에너지 +2\", effect = \"energy\", value = 2, icon = \"ec2778c366f6477ab0f8e7f06bcd73f4\" },\n\tcursedVial = { name = \"저주의 병\", desc = \"적에게 약화 3\", effect = \"weak\", value = 3, icon = \"a9a2763fdb6849dcba3028c737487680\" },\n}\nself.Relics = {\n\tironHeart = { name = \"강철 심장\", desc = \"전투 시작 시 방어도 +6\", hook = \"combatStart\", effect = \"block\", value = 6, icon = \"e555b3a62f3c49dbb2c53784e6bd481f\" },\n\tenergyCore = { name = \"에너지 코어\", desc = \"턴 시작 시 에너지 +1\", hook = \"turnStart\", effect = \"energy\", value = 1, icon = \"a41014f28b47434ab9f49ef104523862\" },\n\tvampire = { name = \"흡혈 송곳니\", desc = \"공격 카드 사용 시 HP +1\", hook = \"cardPlayed\", effect = \"healOnAttack\", value = 1, icon = \"ed64cde7e6c44b9e99502847e54f04e9\" },\n\tgoldIdol = { name = \"황금 우상\", desc = \"전투 승리 시 메소 +10\", hook = \"combatReward\", effect = \"gold\", value = 10, icon = \"03bb05c92b8f45edb0f3dad2e118fd5a\" },\n\tpotionBelt = { name = \"장인의 벨트\", desc = \"물약 슬롯이 5칸으로 늘어난다\", hook = \"passive\", effect = \"potionSlots\", value = 5, icon = \"36725b4566ac40d4902e2ab2113c2096\" },\n\tburningBlood = { name = \"자쿰의 투구\", desc = \"전투 승리 시 HP 6 회복\", hook = \"combatEnd\", effect = \"healOnWin\", value = 6, icon = \"07f994825ce34131b419d43e890c878d\" },\n\tvajra = { name = \"미스릴 해머\", desc = \"전투 시작 시 힘 +1\", hook = \"combatStart\", effect = \"strength\", value = 1, icon = \"59d2579d46dc41d590a9e6b141ad458b\" },\n\tanchor = { name = \"메이플 실드\", desc = \"첫 턴 방어도 +10\", hook = \"combatStart\", effect = \"block\", value = 10, icon = \"6349413e08cc49848862591863d056a0\" },\n\tbagOfPrep = { name = \"모험가의 배낭\", desc = \"첫 턴 드로우 +2\", hook = \"combatStart\", effect = \"draw\", value = 2, icon = \"77b240cb8af245b4801a714380267ae9\" },\n\tbloodVial = { name = \"피의 목걸이\", desc = \"전투 시작 시 HP 2 회복\", hook = \"combatStart\", effect = \"heal\", value = 2, icon = \"c782e949506a42c49eb139c7e65527d7\" },\n\tbronzeScales = { name = \"브론즈 체인메일\", desc = \"피격 시 공격자에게 3 반사\", hook = \"onPlayerDamaged\", effect = \"thorns\", value = 3, icon = \"87272346b145412391622cf803f888d1\" },\n\tstrawberry = { name = \"건강의 반지\", desc = \"획득 시 최대 HP +7\", hook = \"passive\", effect = \"maxHp\", value = 7, icon = \"58f643e29c354c2783a5ce9a72ec155c\" },\n\tpenNib = { name = \"황금 깃펜\", desc = \"10번째 공격마다 피해 2배\", hook = \"attackCalc\", effect = \"penNib\", value = 10, icon = \"4d38d721cc064d14b31b9e9a92754139\" },\n\tboot = { name = \"브론즈 부츠\", desc = \"5 미만 공격 피해가 5로\", hook = \"attackCalc\", effect = \"boot\", value = 5, icon = \"d572b3aa4dac4162aa0d9e551b055dce\" },\n\takabeko = { name = \"황소 투구\", desc = \"전투 첫 공격 피해 +8\", hook = \"attackCalc\", effect = \"akabeko\", value = 8, icon = \"eb3330a6e2274eff958639f8792119d3\" },\n\tcentennialPuzzle = { name = \"백년의 부적\", desc = \"전투 첫 피격 시 드로우 3\", hook = \"onPlayerDamaged\", effect = \"firstLossDraw\", value = 3, icon = \"cfe5ed6556b944fc83ab58b774bb2b73\" },\n\tmeatOnBone = { name = \"고기 망치\", desc = \"승리 시 HP 50% 이하면 12 회복\", hook = \"combatEnd\", effect = \"healIfLow\", value = 12, icon = \"a93e8e87f184411c98c96b877d9f8b10\" },\n\tselfFormingClay = { name = \"점토 갑옷\", desc = \"피해를 받으면 다음 턴 방어 +3\", hook = \"onPlayerDamaged\", effect = \"clayBlock\", value = 3, icon = \"bb446793c5204d5db7d33563fe79f648\" },\n\tchampionBelt = { name = \"챔피언 벨트\", desc = \"취약 부여 시 약화 1 추가\", hook = \"cardDebuff\", effect = \"vulnAddsWeak\", value = 1, icon = \"7ca8c63026034113a561d6adf679fed2\" },\n}\nself.RelicPool = { \"energyCore\", \"vampire\", \"goldIdol\", \"potionBelt\", \"burningBlood\", \"vajra\", \"anchor\", \"bagOfPrep\", \"bloodVial\", \"bronzeScales\", \"strawberry\", \"penNib\", \"boot\", \"akabeko\", \"centennialPuzzle\", \"meatOnBone\", \"selfFormingClay\", \"championBelt\" }\nself.Enemies = {\n\tslime = { name = \"슬라임\", maxHp = 45, intents = { { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 6 }, { kind = \"Defend\", value = 8 } } },\n\tslime_elite = { name = \"정예 슬라임\", maxHp = 70, intents = { { kind = \"Attack\", value = 14 }, { kind = \"Attack\", value = 8 }, { kind = \"Defend\", value = 10 }, { kind = \"Debuff\", value = 1, effect = \"weak\" } } },\n\tslime_boss = { name = \"슬라임 킹\", maxHp = 120, intents = { { kind = \"Attack\", value = 18 }, { kind = \"Defend\", value = 12 }, { kind = \"Debuff\", value = 2, effect = \"vuln\" }, { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 22 } } },\n\torange_mushroom = { name = \"주황버섯\", maxHp = 16, intents = { { kind = \"Attack\", value = 5 }, { kind = \"Attack\", value = 5 }, { kind = \"Defend\", value = 4 }, { kind = \"Attack\", value = 8 } } },\n\tblue_mushroom = { name = \"파란버섯\", maxHp = 22, intents = { { kind = \"Attack\", value = 4 }, { kind = \"Attack\", value = 4 }, { kind = \"Attack\", value = 10 }, { kind = \"AddCard\", value = 0, card = \"Wound\", count = 1 } } },\n\tpig = { name = \"돼지\", maxHp = 18, intents = { { kind = \"Attack\", value = 6 }, { kind = \"Attack\", value = 6 }, { kind = \"Defend\", value = 5 } } },\n\tgreen_mushroom = { name = \"초록버섯\", maxHp = 20, intents = { { kind = \"Attack\", value = 7 }, { kind = \"Defend\", value = 3 }, { kind = \"Attack\", value = 9 } } },\n\tred_snail = { name = \"빨간 달팽이\", maxHp = 14, intents = { { kind = \"Attack\", value = 5 }, { kind = \"Defend\", value = 6 }, { kind = \"Attack\", value = 7 } } },\n\tstump = { name = \"나무토막\", maxHp = 19, intents = { { kind = \"Defend\", value = 5 }, { kind = \"Attack\", value = 8 }, { kind = \"Attack\", value = 6 } } },\n\tmushmom = { name = \"머쉬맘\", maxHp = 75, intents = { { kind = \"Defend\", value = 10 }, { kind = \"Debuff\", value = 2, effect = \"weak\" }, { kind = \"Attack\", value = 16 }, { kind = \"Attack\", value = 9 }, { kind = \"Defend\", value = 6 }, { kind = \"AddCard\", value = 0, card = \"Burn\", count = 1 } } },\n\tmodified_snail = { name = \"변형된 달팽이\", maxHp = 60, intents = { { kind = \"Attack\", value = 12 }, { kind = \"Defend\", value = 8 }, { kind = \"Attack\", value = 7 }, { kind = \"Attack\", value = 14 }, { kind = \"Debuff\", value = 1, effect = \"weak\" } } },\n\tking_slime = { name = \"킹 슬라임\", maxHp = 130, intents = { { kind = \"Attack\", value = 18 }, { kind = \"Defend\", value = 14 }, { kind = \"Debuff\", value = 2, effect = \"vuln\" }, { kind = \"Attack\", value = 12 }, { kind = \"Attack\", value = 24 } } },\n}\nself.CurrentNodeId = \"\"\nself.CurrentEnemyId = \"\"\nself.PlayerJob = \"\"\nself.Jobs = {\n\twarrior = {\n\t\t{ id = \"fighter\", name = \"파이터\", desc = \"공격 특화\\n콤보 어택 · 버서크\\n라이징 어택\", starter = \"ComboAttack\" },\n\t\t{ id = \"page\", name = \"페이지\", desc = \"속성 차지 특화\\n썬더/블리자드 차지\\n파워 가드\", starter = \"ThunderCharge\" },\n\t\t{ id = \"spearman\", name = \"스피어맨\", desc = \"방어·관통 특화\\n피어스 · 아이언 월\\n하이퍼 바디\", starter = \"Pierce\" },\n\t},\n\tmagician = {\n\t\t{ id = \"firepoison\", name = \"위자드(불·독)\", desc = \"화염·독 특화\\n파이어 애로우\\n포이즌 브레스 · 앰플\", starter = \"FireArrow\" },\n\t\t{ id = \"icelightning\", name = \"위자드(썬·콜)\", desc = \"광역·빙결 특화\\n썬더 볼트(전체)\\n콜드 빔 · 칠링 스텝\", starter = \"ThunderBolt\" },\n\t\t{ id = \"cleric\", name = \"클레릭\", desc = \"회복·축복 특화\\n힐 · 블레스\\n홀리 애로우\", starter = \"Heal\" },\n\t},\n\tbandit = {\n\t\t{ id = \"shiv\", name = \"Shiv\", desc = \"Many small attacks\\nBlade Dance\\nAccuracy · After Image\", starter = \"BladeDance\" },\n\t\t{ id = \"poisoner\", name = \"Poison\", desc = \"Poison scaling\\nDeadly Poison\\nCatalyst · Noxious Fumes\", starter = \"DeadlyPoison\" },\n\t\t{ id = \"trickster\", name = \"Trickster\", desc = \"Draw and tempo\\nAcrobatics\\nAdrenaline · Tools\", starter = \"Acrobatics\" },\n\t},\n}\nself.CardFrames = {\n\twarrior = { normal = \"4bb57ef88ef449fdaf958f6cf37fe44b\", unique = \"4f71c124c8bc4e13b5e9fad392995f68\", legend = \"6d741a60c60743cb98ee740a1e2dbfed\" },\n\tmagician = { normal = \"d788d09f6f50467ebc67f01dec45f9e2\", unique = \"f5def2e8022b4e59a17d3c16414034fe\", legend = \"cff71f2e472041ce80c6fbd296f42e2d\" },\n\tbandit = { normal = \"9487b06867bc46269ed1d855420f457f\", unique = \"b3081fb2fb1445fa90b12b01481a78ef\", legend = \"c357d2daf31a489d95b8fa47e50dd879\" },\n}\nself.ClassToFrame = {\n\twarrior = \"warrior\",\n\tfighter = \"warrior\",\n\tpage = \"warrior\",\n\tspearman = \"warrior\",\n\tmagician = \"magician\",\n\tfirepoison = \"magician\",\n\ticelightning = \"magician\",\n\tcleric = \"magician\",\n\tbandit = \"bandit\",\n\tcurse = \"bandit\",\n\tshiv = \"bandit\",\n\tpoisoner = \"bandit\",\n\ttrickster = \"bandit\",\n}\nself.NodeIcons = {\n\tcombat = \"f98db6823e894a4f90308d61f75894ac\",\n\telite = \"793ed8a757534b89a82f460747d2df24\",\n\tboss = \"423056cdbbc04f4da131b9721c404d96\",\n\tshop = \"da37e1fac55d455b9ade08569f09f798\",\n\trest = \"b86c1b0568bd45f3ae4a4b97e1b4a594\",\n\ttreasure = \"f8a6d58e20f54e2ca899485055df1ce4\",\n}\nself.ClassPortraits = {\n\twarrior = \"28c88fdc5ab44f34a8b3fc1e19d4ce78\",\n\tmagician = \"3b9ea1f066a744bb859df47fef817277\",\n\tbandit = \"efa920e58d31426486ef974106e7dc8b\",\n}\nself:GenerateMap()\nself:BindButtons()\nself:AddRelic(\"ironHeart\")\nself:ApplySoulUnlocks()\nself:RenderPotions()\nself:TeleportToActMap()\nself:ShowMap()", + "Code": "if self.SelectedClass == \"magician\" then\n\tself.PlayerMaxHp = 70\nself.RunDeck = { \"EnergyBolt\", \"EnergyBolt\", \"EnergyBolt\", \"EnergyBolt\", \"EnergyBolt\", \"MagicGuard\", \"MagicGuard\", \"MagicGuard\", \"MagicGuard\", \"MagicClaw\" }\nelseif self.SelectedClass == \"bandit\" then\n\tself.PlayerMaxHp = 70\n\tself.RunDeck = { \"SilentStrike\", \"SilentStrike\", \"SilentStrike\", \"SilentStrike\", \"SilentStrike\", \"SilentDefend\", \"SilentDefend\", \"SilentDefend\", \"SilentDefend\", \"SilentDefend\", \"Neutralize\", \"Survivor\" }\nelse\n\tself.PlayerMaxHp = 80\n\tself.RunDeck = { \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Defend\", \"Defend\", \"Defend\", \"Defend\", \"Bash\" }\nend\nself.PlayerMaxHp = self.PlayerMaxHp - self:AscStartHpPenalty()\nself.PlayerHp = self.PlayerMaxHp\nself.Gold = 0\nself.Floor = 1\nself.RunLength = 5\nself.RunActive = true\nself.RunRelics = {}\nself.RunPotions = {}\nself.PotionSlots = 3\nself.Potions = {\n\tredPotion = { name = \"빨간 포션\", desc = \"HP 20 회복\", effect = \"heal\", value = 20, icon = \"393e2a0d8da544899eaa8b22c97f832b\" },\n\tfirebomb = { name = \"화염병\", desc = \"적에게 피해 20\", effect = \"damage\", value = 20, icon = \"7ddb464c2574456289a4eb72ce86f193\" },\n\twarriorElixir = { name = \"전사의 물약\", desc = \"힘 +2\", effect = \"strength\", value = 2, icon = \"7cfbd410581e4073815daaf5f3e6c72f\" },\n\tguardPotion = { name = \"수호의 물약\", desc = \"방어도 +12\", effect = \"block\", value = 12, icon = \"8f8402dfa0f746e18bf606ed74302c0a\" },\n\tmanaElixir = { name = \"마나 엘릭서\", desc = \"에너지 +2\", effect = \"energy\", value = 2, icon = \"ec2778c366f6477ab0f8e7f06bcd73f4\" },\n\tcursedVial = { name = \"저주의 병\", desc = \"적에게 약화 3\", effect = \"weak\", value = 3, icon = \"a9a2763fdb6849dcba3028c737487680\" },\n}\nself.Relics = {\n\tironHeart = { name = \"강철 심장\", desc = \"전투 시작 시 방어도 +6\", hook = \"combatStart\", effect = \"block\", value = 6, icon = \"e555b3a62f3c49dbb2c53784e6bd481f\" },\n\tenergyCore = { name = \"에너지 코어\", desc = \"턴 시작 시 에너지 +1\", hook = \"turnStart\", effect = \"energy\", value = 1, icon = \"a41014f28b47434ab9f49ef104523862\" },\n\tvampire = { name = \"흡혈 송곳니\", desc = \"공격 카드 사용 시 HP +1\", hook = \"cardPlayed\", effect = \"healOnAttack\", value = 1, icon = \"ed64cde7e6c44b9e99502847e54f04e9\" },\n\tgoldIdol = { name = \"황금 우상\", desc = \"전투 승리 시 메소 +10\", hook = \"combatReward\", effect = \"gold\", value = 10, icon = \"03bb05c92b8f45edb0f3dad2e118fd5a\" },\n\tpotionBelt = { name = \"장인의 벨트\", desc = \"물약 슬롯이 5칸으로 늘어난다\", hook = \"passive\", effect = \"potionSlots\", value = 5, icon = \"36725b4566ac40d4902e2ab2113c2096\" },\n\tburningBlood = { name = \"자쿰의 투구\", desc = \"전투 승리 시 HP 6 회복\", hook = \"combatEnd\", effect = \"healOnWin\", value = 6, icon = \"07f994825ce34131b419d43e890c878d\" },\n\tvajra = { name = \"미스릴 해머\", desc = \"전투 시작 시 힘 +1\", hook = \"combatStart\", effect = \"strength\", value = 1, icon = \"59d2579d46dc41d590a9e6b141ad458b\" },\n\tanchor = { name = \"메이플 실드\", desc = \"첫 턴 방어도 +10\", hook = \"combatStart\", effect = \"block\", value = 10, icon = \"6349413e08cc49848862591863d056a0\" },\n\tbagOfPrep = { name = \"모험가의 배낭\", desc = \"첫 턴 드로우 +2\", hook = \"combatStart\", effect = \"draw\", value = 2, icon = \"77b240cb8af245b4801a714380267ae9\" },\n\tbloodVial = { name = \"피의 목걸이\", desc = \"전투 시작 시 HP 2 회복\", hook = \"combatStart\", effect = \"heal\", value = 2, icon = \"c782e949506a42c49eb139c7e65527d7\" },\n\tbronzeScales = { name = \"브론즈 체인메일\", desc = \"피격 시 공격자에게 3 반사\", hook = \"onPlayerDamaged\", effect = \"thorns\", value = 3, icon = \"87272346b145412391622cf803f888d1\" },\n\tstrawberry = { name = \"건강의 반지\", desc = \"획득 시 최대 HP +7\", hook = \"passive\", effect = \"maxHp\", value = 7, icon = \"58f643e29c354c2783a5ce9a72ec155c\" },\n\tpenNib = { name = \"황금 깃펜\", desc = \"10번째 공격마다 피해 2배\", hook = \"attackCalc\", effect = \"penNib\", value = 10, icon = \"4d38d721cc064d14b31b9e9a92754139\" },\n\tboot = { name = \"브론즈 부츠\", desc = \"5 미만 공격 피해가 5로\", hook = \"attackCalc\", effect = \"boot\", value = 5, icon = \"d572b3aa4dac4162aa0d9e551b055dce\" },\n\takabeko = { name = \"황소 투구\", desc = \"전투 첫 공격 피해 +8\", hook = \"attackCalc\", effect = \"akabeko\", value = 8, icon = \"eb3330a6e2274eff958639f8792119d3\" },\n\tcentennialPuzzle = { name = \"백년의 부적\", desc = \"전투 첫 피격 시 드로우 3\", hook = \"onPlayerDamaged\", effect = \"firstLossDraw\", value = 3, icon = \"cfe5ed6556b944fc83ab58b774bb2b73\" },\n\tmeatOnBone = { name = \"고기 망치\", desc = \"승리 시 HP 50% 이하면 12 회복\", hook = \"combatEnd\", effect = \"healIfLow\", value = 12, icon = \"a93e8e87f184411c98c96b877d9f8b10\" },\n\tselfFormingClay = { name = \"점토 갑옷\", desc = \"피해를 받으면 다음 턴 방어 +3\", hook = \"onPlayerDamaged\", effect = \"clayBlock\", value = 3, icon = \"bb446793c5204d5db7d33563fe79f648\" },\n\tchampionBelt = { name = \"챔피언 벨트\", desc = \"취약 부여 시 약화 1 추가\", hook = \"cardDebuff\", effect = \"vulnAddsWeak\", value = 1, icon = \"7ca8c63026034113a561d6adf679fed2\" },\n}\nself.RelicPool = { \"energyCore\", \"vampire\", \"goldIdol\", \"potionBelt\", \"burningBlood\", \"vajra\", \"anchor\", \"bagOfPrep\", \"bloodVial\", \"bronzeScales\", \"strawberry\", \"penNib\", \"boot\", \"akabeko\", \"centennialPuzzle\", \"meatOnBone\", \"selfFormingClay\", \"championBelt\" }\nself.Enemies = {\n\tslime = { name = \"슬라임\", maxHp = 45, intents = { { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 6 }, { kind = \"Defend\", value = 8 } } },\n\tslime_elite = { name = \"정예 슬라임\", maxHp = 70, intents = { { kind = \"Attack\", value = 14 }, { kind = \"Attack\", value = 8 }, { kind = \"Defend\", value = 10 }, { kind = \"Debuff\", value = 1, effect = \"weak\" } } },\n\tslime_boss = { name = \"슬라임 킹\", maxHp = 120, intents = { { kind = \"Attack\", value = 18 }, { kind = \"Defend\", value = 12 }, { kind = \"Debuff\", value = 2, effect = \"vuln\" }, { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 22 } } },\n\torange_mushroom = { name = \"주황버섯\", maxHp = 16, intents = { { kind = \"Attack\", value = 5 }, { kind = \"Attack\", value = 5 }, { kind = \"Defend\", value = 4 }, { kind = \"Attack\", value = 8 } } },\n\tblue_mushroom = { name = \"파란버섯\", maxHp = 22, intents = { { kind = \"Attack\", value = 4 }, { kind = \"Attack\", value = 4 }, { kind = \"Attack\", value = 10 }, { kind = \"AddCard\", value = 0, card = \"Wound\", count = 1 } } },\n\tpig = { name = \"돼지\", maxHp = 18, intents = { { kind = \"Attack\", value = 6 }, { kind = \"Attack\", value = 6 }, { kind = \"Defend\", value = 5 } } },\n\tgreen_mushroom = { name = \"초록버섯\", maxHp = 20, intents = { { kind = \"Attack\", value = 7 }, { kind = \"Defend\", value = 3 }, { kind = \"Attack\", value = 9 } } },\n\tred_snail = { name = \"빨간 달팽이\", maxHp = 14, intents = { { kind = \"Attack\", value = 5 }, { kind = \"Defend\", value = 6 }, { kind = \"Attack\", value = 7 } } },\n\tstump = { name = \"나무토막\", maxHp = 19, intents = { { kind = \"Defend\", value = 5 }, { kind = \"Attack\", value = 8 }, { kind = \"Attack\", value = 6 } } },\n\tmushmom = { name = \"머쉬맘\", maxHp = 75, intents = { { kind = \"Defend\", value = 10 }, { kind = \"Debuff\", value = 2, effect = \"weak\" }, { kind = \"Attack\", value = 16 }, { kind = \"Attack\", value = 9 }, { kind = \"Defend\", value = 6 }, { kind = \"AddCard\", value = 0, card = \"Burn\", count = 1 } } },\n\tmodified_snail = { name = \"변형된 달팽이\", maxHp = 60, intents = { { kind = \"Attack\", value = 12 }, { kind = \"Defend\", value = 8 }, { kind = \"Attack\", value = 7 }, { kind = \"Attack\", value = 14 }, { kind = \"Debuff\", value = 1, effect = \"weak\" } } },\n\tking_slime = { name = \"킹 슬라임\", maxHp = 130, intents = { { kind = \"Attack\", value = 18 }, { kind = \"Defend\", value = 14 }, { kind = \"Debuff\", value = 2, effect = \"vuln\" }, { kind = \"Attack\", value = 12 }, { kind = \"Attack\", value = 24 } } },\n\toctopus = { name = \"문어\", maxHp = 15, intents = { { kind = \"Attack\", value = 5 }, { kind = \"Attack\", value = 6 }, { kind = \"Defend\", value = 4 } } },\n\tkapa_drake = { name = \"카파 드레이크\", maxHp = 24, intents = { { kind = \"Attack\", value = 9 }, { kind = \"Attack\", value = 6 }, { kind = \"Defend\", value = 6 }, { kind = \"Attack\", value = 11 } } },\n\tjunior_neki = { name = \"주니어 네키\", maxHp = 18, intents = { { kind = \"Attack\", value = 6 }, { kind = \"Attack\", value = 8 }, { kind = \"Debuff\", value = 1, effect = \"weak\" } } },\n\tjunior_bugi = { name = \"주니어 부기\", maxHp = 20, intents = { { kind = \"Attack\", value = 7 }, { kind = \"Defend\", value = 5 }, { kind = \"Attack\", value = 9 } } },\n\tdile = { name = \"다일\", maxHp = 65, intents = { { kind = \"Attack\", value = 13 }, { kind = \"Defend\", value = 9 }, { kind = \"Attack\", value = 8 }, { kind = \"Attack\", value = 16 }, { kind = \"Debuff\", value = 1, effect = \"weak\" } } },\n\tmano = { name = \"마노\", maxHp = 80, intents = { { kind = \"Defend\", value = 12 }, { kind = \"Attack\", value = 14 }, { kind = \"Debuff\", value = 1, effect = \"vuln\" }, { kind = \"Attack\", value = 10 }, { kind = \"AddCard\", value = 0, card = \"Wound\", count = 1 } } },\n}\nself.CurrentNodeId = \"\"\nself.CurrentEnemyId = \"\"\nself.PlayerJob = \"\"\nself.Jobs = {\n\twarrior = {\n\t\t{ id = \"fighter\", name = \"파이터\", desc = \"공격 특화\\n콤보 어택 · 버서크\\n라이징 어택\", starter = \"ComboAttack\" },\n\t\t{ id = \"page\", name = \"페이지\", desc = \"속성 차지 특화\\n썬더/블리자드 차지\\n파워 가드\", starter = \"ThunderCharge\" },\n\t\t{ id = \"spearman\", name = \"스피어맨\", desc = \"방어·관통 특화\\n피어스 · 아이언 월\\n하이퍼 바디\", starter = \"Pierce\" },\n\t},\n\tmagician = {\n\t\t{ id = \"firepoison\", name = \"위자드(불·독)\", desc = \"화염·독 특화\\n파이어 애로우\\n포이즌 브레스 · 앰플\", starter = \"FireArrow\" },\n\t\t{ id = \"icelightning\", name = \"위자드(썬·콜)\", desc = \"광역·빙결 특화\\n썬더 볼트(전체)\\n콜드 빔 · 칠링 스텝\", starter = \"ThunderBolt\" },\n\t\t{ id = \"cleric\", name = \"클레릭\", desc = \"회복·축복 특화\\n힐 · 블레스\\n홀리 애로우\", starter = \"Heal\" },\n\t},\n\tbandit = {\n\t\t{ id = \"shiv\", name = \"Shiv\", desc = \"Many small attacks\\nBlade Dance\\nAccuracy · After Image\", starter = \"BladeDance\" },\n\t\t{ id = \"poisoner\", name = \"Poison\", desc = \"Poison scaling\\nDeadly Poison\\nCatalyst · Noxious Fumes\", starter = \"DeadlyPoison\" },\n\t\t{ id = \"trickster\", name = \"Trickster\", desc = \"Draw and tempo\\nAcrobatics\\nAdrenaline · Tools\", starter = \"Acrobatics\" },\n\t},\n}\nself.CardFrames = {\n\twarrior = { normal = \"4bb57ef88ef449fdaf958f6cf37fe44b\", unique = \"4f71c124c8bc4e13b5e9fad392995f68\", legend = \"6d741a60c60743cb98ee740a1e2dbfed\" },\n\tmagician = { normal = \"d788d09f6f50467ebc67f01dec45f9e2\", unique = \"f5def2e8022b4e59a17d3c16414034fe\", legend = \"cff71f2e472041ce80c6fbd296f42e2d\" },\n\tbandit = { normal = \"9487b06867bc46269ed1d855420f457f\", unique = \"b3081fb2fb1445fa90b12b01481a78ef\", legend = \"c357d2daf31a489d95b8fa47e50dd879\" },\n}\nself.ClassToFrame = {\n\twarrior = \"warrior\",\n\tfighter = \"warrior\",\n\tpage = \"warrior\",\n\tspearman = \"warrior\",\n\tmagician = \"magician\",\n\tfirepoison = \"magician\",\n\ticelightning = \"magician\",\n\tcleric = \"magician\",\n\tbandit = \"bandit\",\n\tcurse = \"bandit\",\n\tshiv = \"bandit\",\n\tpoisoner = \"bandit\",\n\ttrickster = \"bandit\",\n}\nself.NodeIcons = {\n\tcombat = \"f98db6823e894a4f90308d61f75894ac\",\n\telite = \"793ed8a757534b89a82f460747d2df24\",\n\tboss = \"423056cdbbc04f4da131b9721c404d96\",\n\tshop = \"da37e1fac55d455b9ade08569f09f798\",\n\trest = \"b86c1b0568bd45f3ae4a4b97e1b4a594\",\n\ttreasure = \"f8a6d58e20f54e2ca899485055df1ce4\",\n}\nself.ClassPortraits = {\n\twarrior = \"28c88fdc5ab44f34a8b3fc1e19d4ce78\",\n\tmagician = \"3b9ea1f066a744bb859df47fef817277\",\n\tbandit = \"efa920e58d31426486ef974106e7dc8b\",\n}\nself:GenerateMap()\nself:BindButtons()\nself:AddRelic(\"ironHeart\")\nself:ApplySoulUnlocks()\nself:RenderPotions()\nself:TeleportToActMap()\nself:ShowMap()", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -1714,7 +1714,7 @@ "Name": null }, "Arguments": [], - "Code": "local endTurn = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/DeckHud/EndTurnButton\")\nif endTurn ~= nil and (endTurn.ButtonComponent ~= nil or endTurn:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.EndTurnHandler ~= nil then\n\t\tendTurn:DisconnectEvent(ButtonClickEvent, self.EndTurnHandler)\n\t\tself.EndTurnHandler = nil\n\tend\n\tself.EndTurnHandler = endTurn:ConnectEvent(ButtonClickEvent, function() self:EndPlayerTurn() end)\nend\nlocal drawPile = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/DeckHud/DrawPile\")\nif drawPile ~= nil and (drawPile.ButtonComponent ~= nil or drawPile:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.DrawPileHandler ~= nil then\n\t\tdrawPile:DisconnectEvent(ButtonClickEvent, self.DrawPileHandler)\n\t\tself.DrawPileHandler = nil\n\tend\n\tself.DrawPileHandler = drawPile:ConnectEvent(ButtonClickEvent, function() self:OpenDeckInspect(\"draw\") end)\nend\nlocal discardPile = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/DeckHud/DiscardPile\")\nif discardPile ~= nil and (discardPile.ButtonComponent ~= nil or discardPile:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.DiscardPileHandler ~= nil then\n\t\tdiscardPile:DisconnectEvent(ButtonClickEvent, self.DiscardPileHandler)\n\t\tself.DiscardPileHandler = nil\n\tend\n\tself.DiscardPileHandler = discardPile:ConnectEvent(ButtonClickEvent, function() self:OpenDeckInspect(\"discard\") end)\nend\nlocal exhaustPile = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/DeckHud/ExhaustPile\")\nif exhaustPile ~= nil and (exhaustPile.ButtonComponent ~= nil or exhaustPile:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.ExhaustPileHandler ~= nil then\n\t\texhaustPile:DisconnectEvent(ButtonClickEvent, self.ExhaustPileHandler)\n\t\tself.ExhaustPileHandler = nil\n\tend\n\tself.ExhaustPileHandler = exhaustPile:ConnectEvent(ButtonClickEvent, function() self:OpenDeckInspect(\"exhaust\") end)\nend\nlocal inspectClose = _EntityService:GetEntityByPath(\"/ui/DeckUIGroup/DeckInspectHud/Close\")\nif inspectClose ~= nil and (inspectClose.ButtonComponent ~= nil or inspectClose:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.DeckInspectCloseHandler ~= nil then\n\t\tinspectClose:DisconnectEvent(ButtonClickEvent, self.DeckInspectCloseHandler)\n\t\tself.DeckInspectCloseHandler = nil\n\tend\n\tself.DeckInspectCloseHandler = inspectClose:ConnectEvent(ButtonClickEvent, function() self:CloseDeckInspect() end)\nend\nlocal allDeckButton = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/TopBar/AllDeckButton\")\nif allDeckButton ~= nil and (allDeckButton.ButtonComponent ~= nil or allDeckButton:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.AllDeckHandler ~= nil then\n\t\tallDeckButton:DisconnectEvent(ButtonClickEvent, self.AllDeckHandler)\n\t\tself.AllDeckHandler = nil\n\tend\n\tself.AllDeckHandler = allDeckButton:ConnectEvent(ButtonClickEvent, function() self:OpenAllDeck() end)\nend\nlocal allDeckClose = _EntityService:GetEntityByPath(\"/ui/DeckUIGroup/DeckAllHud/Close\")\nif allDeckClose ~= nil and (allDeckClose.ButtonComponent ~= nil or allDeckClose:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.AllDeckCloseHandler ~= nil then\n\t\tallDeckClose:DisconnectEvent(ButtonClickEvent, self.AllDeckCloseHandler)\n\t\tself.AllDeckCloseHandler = nil\n\tend\n\tself.AllDeckCloseHandler = allDeckClose:ConnectEvent(ButtonClickEvent, function() self:CloseAllDeck() end)\nend\nself:BindClassDeckTabs()\nfor i = 1, 120 do\n\tlocal allCard = _EntityService:GetEntityByPath(\"/ui/DeckUIGroup/DeckAllHud/Grid/Card\" .. tostring(i))\n\tif allCard ~= nil and (allCard.ButtonComponent ~= nil or allCard:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\tlocal slot = i\n\t\tallCard:ConnectEvent(ButtonClickEvent, function() self:OnAllDeckCardButton(slot) end)\n\tend\nend\nfor i = 1, 10 do\n\tlocal cardEntity = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CardHand/Card\" .. tostring(i))\n\tif cardEntity ~= nil and cardEntity.UITouchReceiveComponent ~= nil then\n\t\tlocal cardPath = \"/ui/RunUIGroup/CardHand/Card\" .. tostring(i)\n\t\tcardEntity:ConnectEvent(UITouchEnterEvent, function() self:SetCardHover(cardPath, true) end)\n\t\tcardEntity:ConnectEvent(UITouchExitEvent, function() self:SetCardHover(cardPath, false) end)\n\t\tcardEntity:ConnectEvent(UITouchBeginDragEvent, function(ev) self:OnCardDragBegin(i) end)\n\t\tcardEntity:ConnectEvent(UITouchDragEvent, function(ev) self:OnCardDrag(i, ev.TouchPoint) end)\n\t\tcardEntity:ConnectEvent(UITouchEndDragEvent, function(ev) self:OnCardDragEnd(i, ev.TouchPoint) end)\n\t\tcardEntity:ConnectEvent(UITouchEnterEvent, function() self:HoverCard(i) end)\n\t\tcardEntity:ConnectEvent(UITouchExitEvent, function() self:UnhoverCard(i) end)\n\t\tif (cardEntity.ButtonComponent ~= nil or cardEntity:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\t\tcardEntity:ConnectEvent(ButtonClickEvent, function() self:OnCardButton(i) end)\n\t\tend\n\tend\nend\nfor i = 1, 3 do\n\tlocal rc = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/RewardHud/Reward\" .. tostring(i))\n\tif rc ~= nil and (rc.ButtonComponent ~= nil or rc:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\trc:ConnectEvent(ButtonClickEvent, function() self:PickReward(i) end)\n\t\tif rc.UITouchReceiveComponent ~= nil then\n\t\t\tlocal cardPath = \"/ui/RunUIGroup/RewardHud/Reward\" .. tostring(i)\n\t\t\trc:ConnectEvent(UITouchEnterEvent, function() self:SetCardHover(cardPath, true) end)\n\t\t\trc:ConnectEvent(UITouchExitEvent, function() self:SetCardHover(cardPath, false) end)\n\t\tend\n\tend\nend\nlocal skip = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/RewardHud/Skip\")\nif skip ~= nil and (skip.ButtonComponent ~= nil or skip:AddComponent(\"ButtonComponent\") ~= nil) then\n\tskip:ConnectEvent(ButtonClickEvent, function() self:PickReward(0) end)\nend\nlocal mapNodeIds = {}\nfor r = 1, 6 do\n\tfor c = 1, 4 do\n\t\ttable.insert(mapNodeIds, \"r\" .. tostring(r) .. \"c\" .. tostring(c))\n\tend\nend\ntable.insert(mapNodeIds, \"boss\")\nfor i = 1, #mapNodeIds do\n\tlocal nid = mapNodeIds[i]\n\tlocal mn = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/MapHud/Node_\" .. nid)\n\tif mn ~= nil and (mn.ButtonComponent ~= nil or mn:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\tmn:ConnectEvent(ButtonClickEvent, function() self:PickNode(nid) end)\n\tend\nend\nfor i = 1, 3 do\n\tlocal sc = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/ShopHud/Card\" .. tostring(i))\n\tif sc ~= nil and (sc.ButtonComponent ~= nil or sc:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\tsc:ConnectEvent(ButtonClickEvent, function() self:BuyCard(i) end)\n\t\tif sc.UITouchReceiveComponent ~= nil then\n\t\t\tlocal cardPath = \"/ui/RunUIGroup/ShopHud/Card\" .. tostring(i)\n\t\t\tsc:ConnectEvent(UITouchEnterEvent, function() self:SetCardHover(cardPath, true) end)\n\t\t\tsc:ConnectEvent(UITouchExitEvent, function() self:SetCardHover(cardPath, false) end)\n\t\tend\n\tend\nend\nlocal shopLeave = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/ShopHud/Leave\")\nif shopLeave ~= nil and (shopLeave.ButtonComponent ~= nil or shopLeave:AddComponent(\"ButtonComponent\") ~= nil) then\n\tshopLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end)\nend\nlocal shopRelic = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/ShopHud/Relic\")\nif shopRelic ~= nil and (shopRelic.ButtonComponent ~= nil or shopRelic:AddComponent(\"ButtonComponent\") ~= nil) then\n\tshopRelic:ConnectEvent(ButtonClickEvent, function() self:BuyRelic() end)\nend\nlocal restLeave = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/RestHud/Leave\")\nif restLeave ~= nil and (restLeave.ButtonComponent ~= nil or restLeave:AddComponent(\"ButtonComponent\") ~= nil) then\n\trestLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end)\nend\nfor i = 1, 4 do\n\tlocal ms = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/MonsterStatus\" .. tostring(i))\n\tif ms ~= nil and (ms.ButtonComponent ~= nil or ms:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\tms:ConnectEvent(ButtonClickEvent, function() self:SetTarget(i) end)\n\tend\nend\nfor i = 1, 10 do\n\tlocal rs = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/TopBar/RelicSlot\" .. tostring(i))\n\tif rs ~= nil and rs.UITouchReceiveComponent ~= nil then\n\t\tlocal idx = i\n\t\trs:ConnectEvent(UITouchEnterEvent, function()\n\t\t\tlocal rid = nil\n\t\t\tif self.RunRelics ~= nil then rid = self.RunRelics[idx] end\n\t\t\tif rid ~= nil and self.Relics[rid] ~= nil then\n\t\t\t\tself:ShowTooltip(self.Relics[rid].name, self.Relics[rid].desc, -240 + (idx - 1) * 48)\n\t\t\tend\n\t\tend)\n\t\trs:ConnectEvent(UITouchExitEvent, function() self:HideTooltip() end)\n\tend\nend\nfor i = 1, 5 do\n\tlocal ps = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/TopBar/PotionSlot\" .. tostring(i))\n\tif ps ~= nil and ps.UITouchReceiveComponent ~= nil then\n\t\tlocal idx = i\n\t\tps:ConnectEvent(UITouchEnterEvent, function()\n\t\t\tlocal pid = nil\n\t\t\tif self.RunPotions ~= nil then pid = self.RunPotions[idx] end\n\t\t\tif pid ~= nil and self.Potions[pid] ~= nil then\n\t\t\t\tself:ShowTooltip(self.Potions[pid].name, self.Potions[pid].desc, 240 + (idx - 1) * 44)\n\t\t\tend\n\t\tend)\n\t\tps:ConnectEvent(UITouchExitEvent, function() self:HideTooltip() end)\n\t\tps:ConnectEvent(UITouchDownEvent, function() self:OpenPotionMenu(idx) end)\n\tend\nend\nlocal pmUse = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/PotionMenu/Use\")\nif pmUse ~= nil and (pmUse.ButtonComponent ~= nil or pmUse:AddComponent(\"ButtonComponent\") ~= nil) then\n\tpmUse:ConnectEvent(ButtonClickEvent, function() self:UsePotion() end)\nend\nlocal pmToss = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/PotionMenu/Toss\")\nif pmToss ~= nil and (pmToss.ButtonComponent ~= nil or pmToss:AddComponent(\"ButtonComponent\") ~= nil) then\n\tpmToss:ConnectEvent(ButtonClickEvent, function() self:TossPotion() end)\nend\nlocal pmClose = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/PotionMenu/Close\")\nif pmClose ~= nil and (pmClose.ButtonComponent ~= nil or pmClose:AddComponent(\"ButtonComponent\") ~= nil) then\n\tpmClose:ConnectEvent(ButtonClickEvent, function() self:ClosePotionMenu() end)\nend\nlocal shopPotion = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/ShopHud/Potion\")\nif shopPotion ~= nil and (shopPotion.ButtonComponent ~= nil or shopPotion:AddComponent(\"ButtonComponent\") ~= nil) then\n\tshopPotion:ConnectEvent(ButtonClickEvent, function() self:BuyPotion() end)\nend\nlocal chest = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/TreasureHud/Chest\")\nif chest ~= nil and (chest.ButtonComponent ~= nil or chest:AddComponent(\"ButtonComponent\") ~= nil) then\n\tchest:ConnectEvent(ButtonClickEvent, function() self:OpenChest() end)\nend\nlocal treasureLeave = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/TreasureHud/Leave\")\nif treasureLeave ~= nil and (treasureLeave.ButtonComponent ~= nil or treasureLeave:AddComponent(\"ButtonComponent\") ~= nil) then\n\ttreasureLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end)\nend\nlocal jcRelic = _EntityService:GetEntityByPath(\"/ui/SelectUIGroup/JobChoiceHud/RelicButton\")\nif jcRelic ~= nil and (jcRelic.ButtonComponent ~= nil or jcRelic:AddComponent(\"ButtonComponent\") ~= nil) then\n\tjcRelic:ConnectEvent(ButtonClickEvent, function() self:PickJobReward(\"relic\") end)\nend\nlocal jcJob = _EntityService:GetEntityByPath(\"/ui/SelectUIGroup/JobChoiceHud/JobButton\")\nif jcJob ~= nil and (jcJob.ButtonComponent ~= nil or jcJob:AddComponent(\"ButtonComponent\") ~= nil) then\n\tjcJob:ConnectEvent(ButtonClickEvent, function() self:PickJobReward(\"job\") end)\nend\nfor i = 1, 3 do\n\tlocal slotIdx = i\n\tlocal jb = _EntityService:GetEntityByPath(\"/ui/SelectUIGroup/JobSelectHud/Job_slot\" .. tostring(i))\n\tif jb ~= nil and (jb.ButtonComponent ~= nil or jb:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\tjb:ConnectEvent(ButtonClickEvent, function()\n\t\t\tif self.JobOpts ~= nil and self.JobOpts[slotIdx] ~= nil then\n\t\t\t\tself:SetJob(self.JobOpts[slotIdx].id)\n\t\t\tend\n\t\tend)\n\tend\nend", + "Code": "local endTurn = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/DeckHud/EndTurnButton\")\nif endTurn ~= nil and (endTurn.ButtonComponent ~= nil or endTurn:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.EndTurnHandler ~= nil then\n\t\tendTurn:DisconnectEvent(ButtonClickEvent, self.EndTurnHandler)\n\t\tself.EndTurnHandler = nil\n\tend\n\tself.EndTurnHandler = endTurn:ConnectEvent(ButtonClickEvent, function() self:EndPlayerTurn() end)\nend\nlocal drawPile = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/DeckHud/DrawPile\")\nif drawPile ~= nil and (drawPile.ButtonComponent ~= nil or drawPile:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.DrawPileHandler ~= nil then\n\t\tdrawPile:DisconnectEvent(ButtonClickEvent, self.DrawPileHandler)\n\t\tself.DrawPileHandler = nil\n\tend\n\tself.DrawPileHandler = drawPile:ConnectEvent(ButtonClickEvent, function() self:OpenDeckInspect(\"draw\") end)\nend\nlocal discardPile = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/DeckHud/DiscardPile\")\nif discardPile ~= nil and (discardPile.ButtonComponent ~= nil or discardPile:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.DiscardPileHandler ~= nil then\n\t\tdiscardPile:DisconnectEvent(ButtonClickEvent, self.DiscardPileHandler)\n\t\tself.DiscardPileHandler = nil\n\tend\n\tself.DiscardPileHandler = discardPile:ConnectEvent(ButtonClickEvent, function() self:OpenDeckInspect(\"discard\") end)\nend\nlocal exhaustPile = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/DeckHud/ExhaustPile\")\nif exhaustPile ~= nil and (exhaustPile.ButtonComponent ~= nil or exhaustPile:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.ExhaustPileHandler ~= nil then\n\t\texhaustPile:DisconnectEvent(ButtonClickEvent, self.ExhaustPileHandler)\n\t\tself.ExhaustPileHandler = nil\n\tend\n\tself.ExhaustPileHandler = exhaustPile:ConnectEvent(ButtonClickEvent, function() self:OpenDeckInspect(\"exhaust\") end)\nend\nlocal inspectClose = _EntityService:GetEntityByPath(\"/ui/DeckUIGroup/DeckInspectHud/Close\")\nif inspectClose ~= nil and (inspectClose.ButtonComponent ~= nil or inspectClose:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.DeckInspectCloseHandler ~= nil then\n\t\tinspectClose:DisconnectEvent(ButtonClickEvent, self.DeckInspectCloseHandler)\n\t\tself.DeckInspectCloseHandler = nil\n\tend\n\tself.DeckInspectCloseHandler = inspectClose:ConnectEvent(ButtonClickEvent, function() self:CloseDeckInspect() end)\nend\nlocal allDeckButton = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/TopBar/AllDeckButton\")\nif allDeckButton ~= nil and (allDeckButton.ButtonComponent ~= nil or allDeckButton:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.AllDeckHandler ~= nil then\n\t\tallDeckButton:DisconnectEvent(ButtonClickEvent, self.AllDeckHandler)\n\t\tself.AllDeckHandler = nil\n\tend\n\tself.AllDeckHandler = allDeckButton:ConnectEvent(ButtonClickEvent, function() self:OpenAllDeck() end)\nend\nlocal allDeckClose = _EntityService:GetEntityByPath(\"/ui/DeckUIGroup/DeckAllHud/Close\")\nif allDeckClose ~= nil and (allDeckClose.ButtonComponent ~= nil or allDeckClose:AddComponent(\"ButtonComponent\") ~= nil) then\n\tif self.AllDeckCloseHandler ~= nil then\n\t\tallDeckClose:DisconnectEvent(ButtonClickEvent, self.AllDeckCloseHandler)\n\t\tself.AllDeckCloseHandler = nil\n\tend\n\tself.AllDeckCloseHandler = allDeckClose:ConnectEvent(ButtonClickEvent, function() self:CloseAllDeck() end)\nend\nself:BindClassDeckTabs()\nfor i = 1, 120 do\n\tlocal allCard = _EntityService:GetEntityByPath(\"/ui/DeckUIGroup/DeckAllHud/Grid/Card\" .. tostring(i))\n\tif allCard ~= nil and (allCard.ButtonComponent ~= nil or allCard:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\tif allCard.SpriteGUIRendererComponent ~= nil then\n\t\t\tallCard.SpriteGUIRendererComponent.RaycastTarget = true\n\t\tend\n\t\tlocal slot = i\n\t\tallCard:ConnectEvent(ButtonClickEvent, function() self:OnAllDeckCardButton(slot) end)\n\tend\nend\nfor i = 1, 10 do\n\tlocal cardEntity = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CardHand/Card\" .. tostring(i))\n\tif cardEntity ~= nil and cardEntity.UITouchReceiveComponent ~= nil then\n\t\tlocal cardPath = \"/ui/RunUIGroup/CardHand/Card\" .. tostring(i)\n\t\tcardEntity:ConnectEvent(UITouchEnterEvent, function() self:SetCardHover(cardPath, true) end)\n\t\tcardEntity:ConnectEvent(UITouchExitEvent, function() self:SetCardHover(cardPath, false) end)\n\t\tcardEntity:ConnectEvent(UITouchBeginDragEvent, function(ev) self:OnCardDragBegin(i) end)\n\t\tcardEntity:ConnectEvent(UITouchDragEvent, function(ev) self:OnCardDrag(i, ev.TouchPoint) end)\n\t\tcardEntity:ConnectEvent(UITouchEndDragEvent, function(ev) self:OnCardDragEnd(i, ev.TouchPoint) end)\n\t\tcardEntity:ConnectEvent(UITouchEnterEvent, function() self:HoverCard(i) end)\n\t\tcardEntity:ConnectEvent(UITouchExitEvent, function() self:UnhoverCard(i) end)\n\t\tif (cardEntity.ButtonComponent ~= nil or cardEntity:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\t\tcardEntity:ConnectEvent(ButtonClickEvent, function() self:OnCardButton(i) end)\n\t\tend\n\tend\nend\nfor i = 1, 3 do\n\tlocal rc = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/RewardHud/Reward\" .. tostring(i))\n\tif rc ~= nil and (rc.ButtonComponent ~= nil or rc:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\trc:ConnectEvent(ButtonClickEvent, function() self:PickReward(i) end)\n\t\tif rc.UITouchReceiveComponent ~= nil then\n\t\t\tlocal cardPath = \"/ui/RunUIGroup/RewardHud/Reward\" .. tostring(i)\n\t\t\trc:ConnectEvent(UITouchEnterEvent, function() self:SetCardHover(cardPath, true) end)\n\t\t\trc:ConnectEvent(UITouchExitEvent, function() self:SetCardHover(cardPath, false) end)\n\t\tend\n\tend\nend\nlocal skip = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/RewardHud/Skip\")\nif skip ~= nil and (skip.ButtonComponent ~= nil or skip:AddComponent(\"ButtonComponent\") ~= nil) then\n\tskip:ConnectEvent(ButtonClickEvent, function() self:PickReward(0) end)\nend\nlocal mapNodeIds = {}\nfor r = 1, 6 do\n\tfor c = 1, 4 do\n\t\ttable.insert(mapNodeIds, \"r\" .. tostring(r) .. \"c\" .. tostring(c))\n\tend\nend\ntable.insert(mapNodeIds, \"boss\")\nfor i = 1, #mapNodeIds do\n\tlocal nid = mapNodeIds[i]\n\tlocal mn = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/MapHud/Node_\" .. nid)\n\tif mn ~= nil and (mn.ButtonComponent ~= nil or mn:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\tmn:ConnectEvent(ButtonClickEvent, function() self:PickNode(nid) end)\n\tend\nend\nfor i = 1, 3 do\n\tlocal sc = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/ShopHud/Card\" .. tostring(i))\n\tif sc ~= nil and (sc.ButtonComponent ~= nil or sc:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\tsc:ConnectEvent(ButtonClickEvent, function() self:BuyCard(i) end)\n\t\tif sc.UITouchReceiveComponent ~= nil then\n\t\t\tlocal cardPath = \"/ui/RunUIGroup/ShopHud/Card\" .. tostring(i)\n\t\t\tsc:ConnectEvent(UITouchEnterEvent, function() self:SetCardHover(cardPath, true) end)\n\t\t\tsc:ConnectEvent(UITouchExitEvent, function() self:SetCardHover(cardPath, false) end)\n\t\tend\n\tend\nend\nlocal shopLeave = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/ShopHud/Leave\")\nif shopLeave ~= nil and (shopLeave.ButtonComponent ~= nil or shopLeave:AddComponent(\"ButtonComponent\") ~= nil) then\n\tshopLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end)\nend\nlocal shopRelic = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/ShopHud/Relic\")\nif shopRelic ~= nil and (shopRelic.ButtonComponent ~= nil or shopRelic:AddComponent(\"ButtonComponent\") ~= nil) then\n\tshopRelic:ConnectEvent(ButtonClickEvent, function() self:BuyRelic() end)\nend\nlocal restLeave = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/RestHud/Leave\")\nif restLeave ~= nil and (restLeave.ButtonComponent ~= nil or restLeave:AddComponent(\"ButtonComponent\") ~= nil) then\n\trestLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end)\nend\nfor i = 1, 4 do\n\tlocal ms = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/MonsterStatus\" .. tostring(i))\n\tif ms ~= nil and (ms.ButtonComponent ~= nil or ms:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\tms:ConnectEvent(ButtonClickEvent, function() self:SetTarget(i) end)\n\tend\nend\nfor i = 1, 10 do\n\tlocal rs = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/TopBar/RelicSlot\" .. tostring(i))\n\tif rs ~= nil and rs.UITouchReceiveComponent ~= nil then\n\t\tlocal idx = i\n\t\trs:ConnectEvent(UITouchEnterEvent, function()\n\t\t\tlocal rid = nil\n\t\t\tif self.RunRelics ~= nil then rid = self.RunRelics[idx] end\n\t\t\tif rid ~= nil and self.Relics[rid] ~= nil then\n\t\t\t\tself:ShowTooltip(self.Relics[rid].name, self.Relics[rid].desc, -240 + (idx - 1) * 48)\n\t\t\tend\n\t\tend)\n\t\trs:ConnectEvent(UITouchExitEvent, function() self:HideTooltip() end)\n\tend\nend\nfor i = 1, 5 do\n\tlocal ps = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/TopBar/PotionSlot\" .. tostring(i))\n\tif ps ~= nil and ps.UITouchReceiveComponent ~= nil then\n\t\tlocal idx = i\n\t\tps:ConnectEvent(UITouchEnterEvent, function()\n\t\t\tlocal pid = nil\n\t\t\tif self.RunPotions ~= nil then pid = self.RunPotions[idx] end\n\t\t\tif pid ~= nil and self.Potions[pid] ~= nil then\n\t\t\t\tself:ShowTooltip(self.Potions[pid].name, self.Potions[pid].desc, 240 + (idx - 1) * 44)\n\t\t\tend\n\t\tend)\n\t\tps:ConnectEvent(UITouchExitEvent, function() self:HideTooltip() end)\n\t\tps:ConnectEvent(UITouchDownEvent, function() self:OpenPotionMenu(idx) end)\n\tend\nend\nlocal pmUse = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/PotionMenu/Use\")\nif pmUse ~= nil and (pmUse.ButtonComponent ~= nil or pmUse:AddComponent(\"ButtonComponent\") ~= nil) then\n\tpmUse:ConnectEvent(ButtonClickEvent, function() self:UsePotion() end)\nend\nlocal pmToss = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/PotionMenu/Toss\")\nif pmToss ~= nil and (pmToss.ButtonComponent ~= nil or pmToss:AddComponent(\"ButtonComponent\") ~= nil) then\n\tpmToss:ConnectEvent(ButtonClickEvent, function() self:TossPotion() end)\nend\nlocal pmClose = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/CombatHud/PotionMenu/Close\")\nif pmClose ~= nil and (pmClose.ButtonComponent ~= nil or pmClose:AddComponent(\"ButtonComponent\") ~= nil) then\n\tpmClose:ConnectEvent(ButtonClickEvent, function() self:ClosePotionMenu() end)\nend\nlocal shopPotion = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/ShopHud/Potion\")\nif shopPotion ~= nil and (shopPotion.ButtonComponent ~= nil or shopPotion:AddComponent(\"ButtonComponent\") ~= nil) then\n\tshopPotion:ConnectEvent(ButtonClickEvent, function() self:BuyPotion() end)\nend\nlocal chest = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/TreasureHud/Chest\")\nif chest ~= nil and (chest.ButtonComponent ~= nil or chest:AddComponent(\"ButtonComponent\") ~= nil) then\n\tchest:ConnectEvent(ButtonClickEvent, function() self:OpenChest() end)\nend\nlocal treasureLeave = _EntityService:GetEntityByPath(\"/ui/RunUIGroup/TreasureHud/Leave\")\nif treasureLeave ~= nil and (treasureLeave.ButtonComponent ~= nil or treasureLeave:AddComponent(\"ButtonComponent\") ~= nil) then\n\ttreasureLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end)\nend\nlocal jcRelic = _EntityService:GetEntityByPath(\"/ui/SelectUIGroup/JobChoiceHud/RelicButton\")\nif jcRelic ~= nil and (jcRelic.ButtonComponent ~= nil or jcRelic:AddComponent(\"ButtonComponent\") ~= nil) then\n\tjcRelic:ConnectEvent(ButtonClickEvent, function() self:PickJobReward(\"relic\") end)\nend\nlocal jcJob = _EntityService:GetEntityByPath(\"/ui/SelectUIGroup/JobChoiceHud/JobButton\")\nif jcJob ~= nil and (jcJob.ButtonComponent ~= nil or jcJob:AddComponent(\"ButtonComponent\") ~= nil) then\n\tjcJob:ConnectEvent(ButtonClickEvent, function() self:PickJobReward(\"job\") end)\nend\nfor i = 1, 3 do\n\tlocal slotIdx = i\n\tlocal jb = _EntityService:GetEntityByPath(\"/ui/SelectUIGroup/JobSelectHud/Job_slot\" .. tostring(i))\n\tif jb ~= nil and (jb.ButtonComponent ~= nil or jb:AddComponent(\"ButtonComponent\") ~= nil) then\n\t\tjb:ConnectEvent(ButtonClickEvent, function()\n\t\t\tif self.JobOpts ~= nil and self.JobOpts[slotIdx] ~= nil then\n\t\t\t\tself:SetJob(self.JobOpts[slotIdx].id)\n\t\t\tend\n\t\tend)\n\tend\nend", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -1978,7 +1978,7 @@ "Name": "title" } ], - "Code": "local count = 0\nif pile ~= nil then\n\tcount = #pile\nend\nlocal suffix = \" (\" .. tostring(count) .. \")\"\nif count > 60 then\n\tsuffix = suffix .. \" - 60장까지 표시\"\nend\nself:SetText(\"/ui/DeckUIGroup/DeckInspectHud/Title\", title .. suffix)\nlocal empty = _EntityService:GetEntityByPath(\"/ui/DeckUIGroup/DeckInspectHud/Empty\")\nif empty ~= nil then\n\tempty.Enable = count <= 0\nend\nfor i = 1, 60 do\n\tlocal e = _EntityService:GetEntityByPath(\"/ui/DeckUIGroup/DeckInspectHud/Grid/Card\" .. tostring(i))\n\tif e ~= nil then\n\t\tlocal cardId = nil\n\t\tif pile ~= nil then\n\t\t\tcardId = pile[i]\n\t\tend\n\t\tif cardId == nil then\n\t\t\te.Enable = false\n\t\telse\n\t\t\te.Enable = true\n\t\t\tself:ApplyInspectCardVisual(i, cardId)\n\t\tend\n\tend\nend", + "Code": "local count = 0\nif pile ~= nil then\n\tcount = #pile\nend\nlocal suffix = \" (\" .. tostring(count) .. \")\"\nif count > 60 then\n\tsuffix = suffix .. \" - 60장까지 표시\"\nend\nself:SetText(\"/ui/DeckUIGroup/DeckInspectHud/Title\", title .. suffix)\nself:SetEntityEnabled(\"/ui/DeckUIGroup/DeckInspectHud/Empty\", count <= 0)\nfor i = 1, 60 do\n\tlocal path = \"/ui/DeckUIGroup/DeckInspectHud/Grid/Card\" .. tostring(i)\n\tlocal cardId = nil\n\tif pile ~= nil then\n\t\tcardId = pile[i]\n\tend\n\tif cardId == nil then\n\t\tself:SetEntityEnabled(path, false)\n\telse\n\t\tself:SetEntityEnabled(path, true)\n\t\tself:ApplyInspectCardVisual(i, cardId)\n\tend\nend", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -2099,7 +2099,7 @@ "Name": null }, "Arguments": [], - "Code": "local tabs = {\n\t{ path = \"/ui/DeckUIGroup/DeckAllHud/WarriorTab\", cls = \"warrior\" },\n\t{ path = \"/ui/DeckUIGroup/DeckAllHud/ThiefTab\", cls = \"bandit\" },\n\t{ path = \"/ui/DeckUIGroup/DeckAllHud/MageTab\", cls = \"magician\" },\n}\nfor i = 1, #tabs do\n\tlocal e = _EntityService:GetEntityByPath(tabs[i].path)\n\tif e ~= nil then\n\t\te.Enable = self.ClassDeckMode == true\n\t\tif e.SpriteGUIRendererComponent ~= nil then\n\t\t\tif self.ClassDeckClass == tabs[i].cls then\n\t\t\t\te.SpriteGUIRendererComponent.Color = Color(0.22, 0.28, 0.34, 1)\n\t\t\telse\n\t\t\t\te.SpriteGUIRendererComponent.Color = Color(0.11, 0.13, 0.16, 1)\n\t\t\tend\n\t\tend\n\tend\nend", + "Code": "local tabs = {\n\t{ path = \"/ui/DeckUIGroup/DeckAllHud/WarriorTab\", cls = \"warrior\" },\n\t{ path = \"/ui/DeckUIGroup/DeckAllHud/ThiefTab\", cls = \"bandit\" },\n\t{ path = \"/ui/DeckUIGroup/DeckAllHud/MageTab\", cls = \"magician\" },\n}\nfor i = 1, #tabs do\n\tself:SetEntityEnabled(tabs[i].path, self.ClassDeckMode == true)\n\tlocal e = _EntityService:GetEntityByPath(tabs[i].path)\n\tif e ~= nil and e.SpriteGUIRendererComponent ~= nil then\n\t\tif self.ClassDeckClass == tabs[i].cls then\n\t\t\te.SpriteGUIRendererComponent.Color = Color(0.22, 0.28, 0.34, 1)\n\t\telse\n\t\t\te.SpriteGUIRendererComponent.Color = Color(0.11, 0.13, 0.16, 1)\n\t\tend\n\tend\nend", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -2144,7 +2144,7 @@ "Name": null }, "Arguments": [], - "Code": "local pile = self.RunDeck or {}\nlocal title = \"모든 덱\"\nif self.ClassDeckMode == true then\n\tpile = self.ClassDeckCards or {}\n\ttitle = self.ClassDeckTitle\n\tif self.DebugCardPickerMode == true then\n\t\ttitle = title .. \" - 테스트 카드 추가\"\n\tend\nelseif self.CodexMode == true then\n\tpile = self.CodexCards or {}\n\ttitle = \"카드 도감\"\nend\nlocal count = #pile\nself:SetText(\"/ui/DeckUIGroup/DeckAllHud/Title\", title .. \" (\" .. tostring(count) .. \")\")\nself:RenderClassDeckTabs()\nlocal empty = _EntityService:GetEntityByPath(\"/ui/DeckUIGroup/DeckAllHud/Empty\")\nif empty ~= nil then\n\tempty.Enable = count <= 0\nend\nfor i = 1, 120 do\n\tlocal e = _EntityService:GetEntityByPath(\"/ui/DeckUIGroup/DeckAllHud/Grid/Card\" .. tostring(i))\n\tif e ~= nil then\n\t\tlocal cardId = pile[i]\n\t\tif cardId == nil then\n\t\t\te.Enable = false\n\t\telse\n\t\t\te.Enable = true\n\t\t\tself:ApplyAllDeckCardVisual(i, cardId)\n\t\tend\n\tend\nend", + "Code": "local pile = self.RunDeck or {}\nlocal title = \"모든 덱\"\nif self.ClassDeckMode == true then\n\tpile = self.ClassDeckCards or {}\n\ttitle = self.ClassDeckTitle\n\tif self.DebugCardPickerMode == true then\n\t\ttitle = title .. \" - 테스트 카드 추가\"\n\tend\nelseif self.CodexMode == true then\n\tpile = self.CodexCards or {}\n\ttitle = \"카드 도감\"\nend\nlocal count = #pile\nself:SetText(\"/ui/DeckUIGroup/DeckAllHud/Title\", title .. \" (\" .. tostring(count) .. \")\")\nself:RenderClassDeckTabs()\nself:SetEntityEnabled(\"/ui/DeckUIGroup/DeckAllHud/Empty\", count <= 0)\nfor i = 1, 120 do\n\tlocal path = \"/ui/DeckUIGroup/DeckAllHud/Grid/Card\" .. tostring(i)\n\tlocal cardId = pile[i]\n\tif cardId == nil then\n\t\tself:SetEntityEnabled(path, false)\n\telse\n\t\tself:SetEntityEnabled(path, true)\n\t\tself:ApplyAllDeckCardVisual(i, cardId)\n\tend\nend", "Scope": 2, "ExecSpace": 6, "Attributes": [], diff --git a/data/enemies.json b/data/enemies.json index 635df3b..1ecbd2a 100644 --- a/data/enemies.json +++ b/data/enemies.json @@ -119,6 +119,65 @@ { "kind": "Attack", "value": 12 }, { "kind": "Attack", "value": 24 } ] + }, + "octopus": { + "name": "문어", + "maxHp": 15, + "intents": [ + { "kind": "Attack", "value": 5 }, + { "kind": "Attack", "value": 6 }, + { "kind": "Defend", "value": 4 } + ] + }, + "kapa_drake": { + "name": "카파 드레이크", + "maxHp": 24, + "intents": [ + { "kind": "Attack", "value": 9 }, + { "kind": "Attack", "value": 6 }, + { "kind": "Defend", "value": 6 }, + { "kind": "Attack", "value": 11 } + ] + }, + "junior_neki": { + "name": "주니어 네키", + "maxHp": 18, + "intents": [ + { "kind": "Attack", "value": 6 }, + { "kind": "Attack", "value": 8 }, + { "kind": "Debuff", "effect": "weak", "value": 1 } + ] + }, + "junior_bugi": { + "name": "주니어 부기", + "maxHp": 20, + "intents": [ + { "kind": "Attack", "value": 7 }, + { "kind": "Defend", "value": 5 }, + { "kind": "Attack", "value": 9 } + ] + }, + "dile": { + "name": "다일", + "maxHp": 65, + "intents": [ + { "kind": "Attack", "value": 13 }, + { "kind": "Defend", "value": 9 }, + { "kind": "Attack", "value": 8 }, + { "kind": "Attack", "value": 16 }, + { "kind": "Debuff", "effect": "weak", "value": 1 } + ] + }, + "mano": { + "name": "마노", + "maxHp": 80, + "intents": [ + { "kind": "Defend", "value": 12 }, + { "kind": "Attack", "value": 14 }, + { "kind": "Debuff", "effect": "vuln", "value": 1 }, + { "kind": "Attack", "value": 10 }, + { "kind": "AddCard", "card": "Wound", "count": 1 } + ] } }, "activeEnemy": "slime", diff --git a/tools/deck/cb/deckturn.mjs b/tools/deck/cb/deckturn.mjs index 0e2a301..720085d 100644 --- a/tools/deck/cb/deckturn.mjs +++ b/tools/deck/cb/deckturn.mjs @@ -70,6 +70,9 @@ self:BindClassDeckTabs() for i = 1, 120 do local allCard = _EntityService:GetEntityByPath("/ui/DeckUIGroup/DeckAllHud/Grid/Card" .. tostring(i)) if allCard ~= nil and (allCard.ButtonComponent ~= nil or allCard:AddComponent("ButtonComponent") ~= nil) then + if allCard.SpriteGUIRendererComponent ~= nil then + allCard.SpriteGUIRendererComponent.RaycastTarget = true + end local slot = i allCard:ConnectEvent(ButtonClickEvent, function() self:OnAllDeckCardButton(slot) end) end diff --git a/tools/deck/cb/deckview.mjs b/tools/deck/cb/deckview.mjs index 9b36555..aea9b6d 100644 --- a/tools/deck/cb/deckview.mjs +++ b/tools/deck/cb/deckview.mjs @@ -42,23 +42,18 @@ if count > 60 then suffix = suffix .. " - 60장까지 표시" end self:SetText("/ui/DeckUIGroup/DeckInspectHud/Title", title .. suffix) -local empty = _EntityService:GetEntityByPath("/ui/DeckUIGroup/DeckInspectHud/Empty") -if empty ~= nil then - empty.Enable = count <= 0 -end +self:SetEntityEnabled("/ui/DeckUIGroup/DeckInspectHud/Empty", count <= 0) for i = 1, 60 do - local e = _EntityService:GetEntityByPath("/ui/DeckUIGroup/DeckInspectHud/Grid/Card" .. tostring(i)) - if e ~= nil then - local cardId = nil - if pile ~= nil then - cardId = pile[i] - end - if cardId == nil then - e.Enable = false - else - e.Enable = true - self:ApplyInspectCardVisual(i, cardId) - end + local path = "/ui/DeckUIGroup/DeckInspectHud/Grid/Card" .. tostring(i) + local cardId = nil + if pile ~= nil then + cardId = pile[i] + end + if cardId == nil then + self:SetEntityEnabled(path, false) + else + self:SetEntityEnabled(path, true) + self:ApplyInspectCardVisual(i, cardId) end end`, [ { Type: 'any', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'pile' }, @@ -171,15 +166,13 @@ self:RenderClassDeckTabs()`, [{ Type: 'string', DefaultValue: null, SyncDirectio { path = "/ui/DeckUIGroup/DeckAllHud/MageTab", cls = "magician" }, } for i = 1, #tabs do + self:SetEntityEnabled(tabs[i].path, self.ClassDeckMode == true) local e = _EntityService:GetEntityByPath(tabs[i].path) - if e ~= nil then - e.Enable = self.ClassDeckMode == true - if e.SpriteGUIRendererComponent ~= nil then - if self.ClassDeckClass == tabs[i].cls then - e.SpriteGUIRendererComponent.Color = Color(0.22, 0.28, 0.34, 1) - else - e.SpriteGUIRendererComponent.Color = Color(0.11, 0.13, 0.16, 1) - end + if e ~= nil and e.SpriteGUIRendererComponent ~= nil then + if self.ClassDeckClass == tabs[i].cls then + e.SpriteGUIRendererComponent.Color = Color(0.22, 0.28, 0.34, 1) + else + e.SpriteGUIRendererComponent.Color = Color(0.11, 0.13, 0.16, 1) end end end`), @@ -230,20 +223,15 @@ end local count = #pile self:SetText("/ui/DeckUIGroup/DeckAllHud/Title", title .. " (" .. tostring(count) .. ")") self:RenderClassDeckTabs() -local empty = _EntityService:GetEntityByPath("/ui/DeckUIGroup/DeckAllHud/Empty") -if empty ~= nil then - empty.Enable = count <= 0 -end +self:SetEntityEnabled("/ui/DeckUIGroup/DeckAllHud/Empty", count <= 0) for i = 1, 120 do - local e = _EntityService:GetEntityByPath("/ui/DeckUIGroup/DeckAllHud/Grid/Card" .. tostring(i)) - if e ~= nil then - local cardId = pile[i] - if cardId == nil then - e.Enable = false - else - e.Enable = true - self:ApplyAllDeckCardVisual(i, cardId) - end + local path = "/ui/DeckUIGroup/DeckAllHud/Grid/Card" .. tostring(i) + local cardId = pile[i] + if cardId == nil then + self:SetEntityEnabled(path, false) + else + self:SetEntityEnabled(path, true) + self:ApplyAllDeckCardVisual(i, cardId) end end`), method('ApplyAllDeckCardVisual', `self:ApplyCardFace("/ui/DeckUIGroup/DeckAllHud/Grid/Card" .. tostring(slot), cardId)`, [ diff --git a/ui/DeckUIGroup.ui b/ui/DeckUIGroup.ui index d2c2447..d1b226b 100644 --- a/ui/DeckUIGroup.ui +++ b/ui/DeckUIGroup.ui @@ -23,7 +23,7 @@ "nameEditable": true, "enable": true, "visible": true, - "localize": false, + "localize": true, "displayOrder": 4, "pathConstraints": "//", "revision": 1, @@ -86,7 +86,7 @@ { "@type": "MOD.Core.UIGroupComponent", "DefaultShow": false, - "GroupOrder": 4, + "GroupOrder": 6, "GroupType": 2, "Enable": true }, @@ -1797,8 +1797,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -2659,8 +2659,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -3521,8 +3521,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -4383,8 +4383,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -5245,8 +5245,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -6107,8 +6107,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -6969,8 +6969,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -7831,8 +7831,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -8693,8 +8693,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -9555,8 +9555,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -10417,8 +10417,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -11279,8 +11279,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -12141,8 +12141,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -13003,8 +13003,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -13865,8 +13865,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -14727,8 +14727,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -15589,8 +15589,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -16451,8 +16451,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -17313,8 +17313,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -18175,8 +18175,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -19037,8 +19037,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -19899,8 +19899,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -20761,8 +20761,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -21623,8 +21623,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -22485,8 +22485,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -23347,8 +23347,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -24209,8 +24209,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -25071,8 +25071,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -25933,8 +25933,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -26795,8 +26795,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -27657,8 +27657,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -28519,8 +28519,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -29381,8 +29381,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -30243,8 +30243,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -31105,8 +31105,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -31967,8 +31967,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -32829,8 +32829,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -33691,8 +33691,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -34553,8 +34553,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -35415,8 +35415,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -36277,8 +36277,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -37139,8 +37139,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -38001,8 +38001,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -38863,8 +38863,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -39725,8 +39725,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -40587,8 +40587,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -41449,8 +41449,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -42311,8 +42311,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -43173,8 +43173,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -44035,8 +44035,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -44897,8 +44897,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -45759,8 +45759,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -46621,8 +46621,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -47483,8 +47483,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -48345,8 +48345,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -49207,8 +49207,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -50069,8 +50069,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -50931,8 +50931,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -51793,8 +51793,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -52655,8 +52655,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -53517,8 +53517,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -54379,8 +54379,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -55241,8 +55241,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -56103,8 +56103,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -56965,8 +56965,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -57827,8 +57827,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -58689,8 +58689,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -59551,8 +59551,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -60413,8 +60413,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -61275,8 +61275,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -62137,8 +62137,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -62999,8 +62999,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -63861,8 +63861,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -64723,8 +64723,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -65585,8 +65585,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -66447,8 +66447,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -67309,8 +67309,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -68171,8 +68171,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -69033,8 +69033,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -69895,8 +69895,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -70757,8 +70757,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -71619,8 +71619,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -72481,8 +72481,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -73343,8 +73343,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -74205,8 +74205,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -75067,8 +75067,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -75929,8 +75929,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -76791,8 +76791,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -77653,8 +77653,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -78515,8 +78515,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -79377,8 +79377,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -80239,8 +80239,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -81101,8 +81101,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -81963,8 +81963,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -82825,8 +82825,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -83687,8 +83687,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -84549,8 +84549,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -85411,8 +85411,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -86273,8 +86273,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -87135,8 +87135,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -87997,8 +87997,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -88859,8 +88859,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -89721,8 +89721,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -90583,8 +90583,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -91445,8 +91445,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -92307,8 +92307,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -93169,8 +93169,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -94031,8 +94031,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -94893,8 +94893,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -95755,8 +95755,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -96617,8 +96617,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -97479,8 +97479,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -98341,8 +98341,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -99203,8 +99203,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -100065,8 +100065,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -100927,8 +100927,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -101789,8 +101789,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -102651,8 +102651,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -103513,8 +103513,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -104375,8 +104375,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 490.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -106296,8 +106296,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -107158,8 +107158,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -108020,8 +108020,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -108882,8 +108882,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -109744,8 +109744,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -110606,8 +110606,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -111468,8 +111468,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -112330,8 +112330,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -113192,8 +113192,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -114054,8 +114054,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -114916,8 +114916,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -115778,8 +115778,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -116640,8 +116640,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -117502,8 +117502,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -118364,8 +118364,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -119226,8 +119226,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -120088,8 +120088,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -120950,8 +120950,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -121812,8 +121812,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -122674,8 +122674,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -123536,8 +123536,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -124398,8 +124398,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -125260,8 +125260,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -126122,8 +126122,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -126984,8 +126984,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -127846,8 +127846,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -128708,8 +128708,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -129570,8 +129570,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -130432,8 +130432,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -131294,8 +131294,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -132156,8 +132156,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -133018,8 +133018,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -133880,8 +133880,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -134742,8 +134742,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -135604,8 +135604,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -136466,8 +136466,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -137328,8 +137328,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -138190,8 +138190,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -139052,8 +139052,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -139914,8 +139914,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -140776,8 +140776,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -141638,8 +141638,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -142500,8 +142500,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -143362,8 +143362,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -144224,8 +144224,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -145086,8 +145086,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -145948,8 +145948,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -146810,8 +146810,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -147672,8 +147672,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -148534,8 +148534,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -149396,8 +149396,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -150258,8 +150258,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -151120,8 +151120,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -151982,8 +151982,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -152844,8 +152844,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -153706,8 +153706,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -154568,8 +154568,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -155430,8 +155430,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -156292,8 +156292,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { @@ -157154,8 +157154,8 @@ "y": 0.0 }, "Position": { - "x": 455.0, - "y": -5.0, + "x": 475.0, + "y": -50.0, "z": 0.0 }, "QuaternionRotation": { diff --git a/ui/LobbyUIGroup.ui b/ui/LobbyUIGroup.ui index 4460195..5d36ac8 100644 --- a/ui/LobbyUIGroup.ui +++ b/ui/LobbyUIGroup.ui @@ -23,7 +23,7 @@ "nameEditable": true, "enable": true, "visible": true, - "localize": false, + "localize": true, "displayOrder": 5, "pathConstraints": "//", "revision": 1, @@ -86,7 +86,7 @@ { "@type": "MOD.Core.UIGroupComponent", "DefaultShow": false, - "GroupOrder": 5, + "GroupOrder": 1, "GroupType": 2, "Enable": true }, diff --git a/ui/PopupGroup.ui b/ui/PopupGroup.ui index f0d785f..c46c170 100644 --- a/ui/PopupGroup.ui +++ b/ui/PopupGroup.ui @@ -97,7 +97,7 @@ { "@type": "MOD.Core.UIGroupComponent", "DefaultShow": false, - "GroupOrder": 1, + "GroupOrder": 2, "GroupType": 1, "Enable": true }, diff --git a/ui/RunUIGroup.ui b/ui/RunUIGroup.ui index f1eea83..3588c09 100644 --- a/ui/RunUIGroup.ui +++ b/ui/RunUIGroup.ui @@ -23,7 +23,7 @@ "nameEditable": true, "enable": true, "visible": true, - "localize": false, + "localize": true, "displayOrder": 6, "pathConstraints": "//", "revision": 1, @@ -86,7 +86,7 @@ { "@type": "MOD.Core.UIGroupComponent", "DefaultShow": false, - "GroupOrder": 6, + "GroupOrder": 5, "GroupType": 2, "Enable": true }, diff --git a/ui/SelectUIGroup.ui b/ui/SelectUIGroup.ui index 5ce00b6..83e53a4 100644 --- a/ui/SelectUIGroup.ui +++ b/ui/SelectUIGroup.ui @@ -23,7 +23,7 @@ "nameEditable": true, "enable": true, "visible": true, - "localize": false, + "localize": true, "displayOrder": 3, "pathConstraints": "//", "revision": 1, @@ -86,7 +86,7 @@ { "@type": "MOD.Core.UIGroupComponent", "DefaultShow": false, - "GroupOrder": 3, + "GroupOrder": 4, "GroupType": 2, "Enable": true }, diff --git a/ui/ToastGroup.ui b/ui/ToastGroup.ui index d56b208..fba4d02 100644 --- a/ui/ToastGroup.ui +++ b/ui/ToastGroup.ui @@ -97,7 +97,7 @@ { "@type": "MOD.Core.UIGroupComponent", "DefaultShow": false, - "GroupOrder": 2, + "GroupOrder": 3, "GroupType": 1, "Enable": true },