From e596478beffe02b3ca3b4de79fac5f3bf9605eea Mon Sep 17 00:00:00 2001 From: sganggs Date: Mon, 5 Oct 2026 20:19:43 +0800 Subject: [PATCH 1/5] feedback5 WI: English game texts from the official EN client data (data/i18n/en.json) and the i18n core MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit shared/i18n.js: gettext-style t() / tc() with the Chinese text as msgid (untranslated -> Chinese), {name}, {0} and {n|one|other} params, lists, game-data names (dn / tName), setLang / getLang / onLangChange, and the server message wire format (msg -> wireMessage -> translateWire). Chinese stays the default, English is a switch (the owner's decision of 2026-10-05). tools/build-i18n.mjs (build-data.mjs untouched) walks the zh_CN and EN tables side by side and writes data/i18n/en.json: the official English of every data/*.json text by record id and field. Blackboard texts are matched by template (the remake's numbers read back and filled into the English template); stage names are composed; what the EN client lacks falls back to tools/i18n/fallback-remake.json and fallback-pr70.json (PR #70 by @YuriRestia). Default EN source ArknightsAssets/ArknightsGamedata (has act2autochess); Kengxxiao/ArknightsGameData_YoStar is archived (2025-11) and has no 盟约 season (--source yostar). Coverage: 14 922 / 14 931 texts (99.9 %), 99.3 % official; only 9 CN-only 甄选 operator names stay Chinese. shared/i18nData.js: the overlay format (index-aligned leaves + a 2-char hash of each Chinese source, so a stale leaf is never applied). public/js/data.js: setLocale('en') downloads the overlay once; get / lookup / list return localized copies; getRaw keeps the Chinese file; localeName maps names. --- data/i18n/en.json | 1 + public/js/data.js | 98 ++++- shared/i18n.js | 304 ++++++++++++++ shared/i18nData.js | 182 ++++++++ test/i18n-data.test.js | 207 +++++++++ tools/build-i18n.mjs | 717 ++++++++++++++++++++++++++++++++ tools/i18n/fallback-pr70.json | 76 ++++ tools/i18n/fallback-remake.json | 11 + 8 files changed, 1593 insertions(+), 3 deletions(-) create mode 100644 data/i18n/en.json create mode 100644 shared/i18n.js create mode 100644 shared/i18nData.js create mode 100644 test/i18n-data.test.js create mode 100644 tools/build-i18n.mjs create mode 100644 tools/i18n/fallback-pr70.json create mode 100644 tools/i18n/fallback-remake.json diff --git a/data/i18n/en.json b/data/i18n/en.json new file mode 100644 index 00000000..48553f53 --- /dev/null +++ b/data/i18n/en.json @@ -0,0 +1 @@ +{"version":1,"lang":"en","meta":{"generator":"tools/build-i18n.mjs","source":{"id":"assets","label":"ArknightsAssets/ArknightsGamedata (en)","home":"https://github.com/ArknightsAssets/ArknightsGamedata","season":"act2autochess"},"fallback":"tools/i18n/fallback-remake.json (the remake), tools/i18n/fallback-pr70.json (PR #70 by @YuriRestia), public/i18n/en.json","coverage":{"bands":{"texts":186,"translated":186,"official":186,"pct":100},"bonds":{"texts":138,"translated":138,"official":138,"pct":100},"bosses":{"texts":66,"translated":66,"official":66,"pct":100},"choices":{"texts":679,"translated":679,"official":679,"pct":100},"config":{"texts":110,"translated":110,"official":103,"pct":100},"effects":{"texts":1083,"translated":1083,"official":1083,"pct":100},"emotes":{"texts":41,"translated":41,"official":3,"pct":100},"enemies":{"texts":1734,"translated":1734,"official":1734,"pct":100},"factions":{"texts":14,"translated":14,"official":14,"pct":100},"garrisons":{"texts":747,"translated":747,"official":747,"pct":100},"items":{"texts":582,"translated":582,"official":570,"pct":100},"modules":{"texts":1166,"translated":1166,"official":1148,"pct":100},"operators":{"texts":635,"translated":626,"official":618,"pct":98.6},"skills":{"texts":3057,"translated":3057,"official":3057,"pct":100},"stages":{"texts":1124,"translated":1124,"official":1122,"pct":100},"talents":{"texts":2103,"translated":2103,"official":2095,"pct":100},"tokens":{"texts":442,"translated":442,"official":441,"pct":100},"traits":{"texts":1024,"translated":1024,"official":1024,"pct":100}},"totals":{"texts":14931,"translated":14922,"official":14828,"pct":99.9}},"names":{"\"炎佑\"":"Yan's Protection","Dor-1号失败品":"Dor-1 Failure","Dor-α号失败品":"Dor-α Failure","Dor-β号复制体":"Dor-β Replica","M3茧甲":"M3 Cocoon Shell","W·悬赏":"W/Bounty","“变形者集群”":"'Damazti Cluster'","“墓碑”":"'Gravestone'","“墓碑”·悬赏":"'Gravestone'/Bounty","“复仇者”":"'Hateful Avenger'","“复仇者”·悬赏":"'Hateful Avenger'/Bounty","“小自在”":"'Freeling'","“巨大的丑东西”":"'The Big Ugly Thing'","“巨大的丑东西”·悬赏":"'The Big Ugly Thing'/Bounty","“帝国的甲胄”":"'Armor of the Empire'","“庞贝”":"'Pompeii'","“庞贝”·悬赏":"'Pompeii'/Bounty","“斩胄之剑”":"'Armor Cleaver'","“灵幛”":"Sudaram","“独轮车玩具”":"'Unicycle Toy'","“破胄之锤”":"'Armor Crusher'","“碎铳之簧”":"'Gunshatter'","“神秘顾客”":"'Mystery Customer'","“耀阳”":"'Blazing Sun'","“自在”":"'Free'","“自在”·悬赏":"'Free'/Bounty","“萨科塔之眼”":"'Eyes of the Sankta'","“萨科塔之眼”·悬赏":"'Eyes of the Sankta'/Bounty","“萨科塔之翼”":"'Wings of the Sankta'","“萨科塔昂首”":"'Pride of the Sankta'","“萨米的意志”":"'Samivilinn,' the Resolution of the Very North","“裂管之音”/“断弦之音”":"'Echoes of Cracked Pipe'/'Echoes of Broken Strings'","“越长尘”":"'Sand Voyager'","“遗弃者”":"'Forsaken One'","“遗弃者”·悬赏":"'Forsaken One'/Bounty","“邪魔的利刃”":"'Demon's Blade'","“邪魔的利刃”·悬赏":"'Demon's Blade'/Bounty","“鼠王”·悬赏":"'Rat King'/Bounty","不屈":"Resilient","不屈弹射器":"Tough Launcher","不祥幻影":"Ominous Apparition","不稳定要素":"Unstable Element","业余竞演者":"Amateur Performer","业务指标":"Work Quota","丰川祥子":"Sakiko Togawa","临时收音师":"Audio Technician","主角阵营角色":"Hero's Sidekick","乌尔比安":"Ulpianus","乌顶巨角卢鲁":"Blackhorn Rhuul","九流之缘":"Streetwise Ties","人事部文档":"HR File","人才盲盒":"Talent Blind Box","仇白":"Qiubai","从不混淆的方向":"Undeviating Course","令":"Ling","以己之长":"Personal Power","伊内丝":"Ines","伊利昂的木驮兽":"Wooden Burdenbeast of Ilion","伊奥莱塔·罗素":"Ioleta Russell","伊芙利特":"Ifrit","休眠子裔":"Dormant Heir","休谟斯":"Humus","休露丝":"Sciurus","众志合一":"Wills As One","优等生":"Top Student","传奇重犯":"Infamous Recidivist","伪装服":"Disguise Outfit","伺夜":"Vigil","余":"Yu","佩佩":"Pepe","俗心":"Vernacularism","保护目标(冻结状态)":"Protection Objective (Frozen)","信仰搅拌机":"Sankta Miksaparato","信标":"Transmitter","假想敌:再生":"OpFor: Rebirth","假想敌:弦":"OpFor: String","假想敌:淤困":"OpFor: Quagmire","假想敌:管":"OpFor: Pipe","假想敌:胄":"OpFor: Armor","假想敌:蚀裂":"OpFor: Fissure","假想敌:铳":"OpFor: Gun","假想敌:镜膜":"OpFor: Mirror","假想敌:骨刺":"OpFor: Bonespur","假想敌:黑云":"OpFor: BlackCloud","假日威龙陈":"Ch'en the Holungday","傀影":"Phantom","催泪瓦斯":"Teargas Can","元核孽生者":"Nucleic Maleficent","元核孽生者·悬赏":"Nucleic Maleficient/Bounty","克莱门莎":"Clementia","冒失的小弟":"Careless Underling","军用猎狗":"Military Hound","冰爆源石虫":"Infused Glacial Originium Slug","冲击式施术单元":"Assault Arts Unit","凋零骑士":"Withered Knight","凋零骑士·悬赏":"Withered Knight/Bounty","凛御银灰":"SilverAsh the Reignfrost","凯尔希":"Kal'tsit","凯瑟琳":"Catherine","列装":"Equip","初雪":"Pramanix","利滚利":"Compound Interest","刺玫":"Vendela","刺胄之弹":"Armor Piercer","刻俄柏":"Ceobe","加急调派":"Express Dispatch","加练!":"Extra Training!","加速维式重锤":"Speedy Victorian Hammer","助力":"Aid","医疗探机":"Medic Drone","升华":"Promotion","华法琳":"Warfarin","协力共进":"Joint Advance","协律":"Akkord","协防干员":"Assist Operator","单核掠食者":"Unicellular Predator","博士投影":"Doctor Hologram","博学多通":"Erudite and Versatile","卡涅利安":"Carnelian","卡莱莎":"Qalaiša","卡西米尔":"Kazimierz","卡西米尔竞技旗":"Kazimierz Knightclub Pennant","卡西米尔驰援":"Kazimierzian Support","卢西恩,“猩红血钻”":"Lucian, 'Blood Diamond'","卷心籽":"Cabbage Seedling","双模机械臂":"Bimodule Robotic Arm","反派阵营角色":"Villain's Minion","变形同构":"Damazti Isomorphism","变形同构体":"Damazti Isomorph","叙拉古":"Siracusa","叙拉古正装":"Siracusan Formalwear","叙拉古驰援":"Siracusan Support","古米":"Gummy","史尔特尔":"Surtr","号角":"Horn","司霆惊蛰":"Leizi the Thunderbringer","吉兆飞鳞":"Lucky Flyfin","命结之秘":"Phylactery Secret","咸鳞汁推荐者":"Garum Gourmet","哈洛德":"Harold","商业包装":"Commercial Packaging","商业包装方案":"Commercial Packaging Plan","喷气人":"Jetman","喷气人·悬赏":"Jetman/Bounty","回收利用":"Recycling","团伙行动":"Gang Activity","圆仔":"Fatty","圆仔·悬赏":"Fatty/Bounty","圣堂剑士":"Shrine Swordsman","圣约送葬人":"Executor the Ex Foedere","圣聆初雪":"Pramanix the Prerita","地灵":"Earthspirit","坎诺特":"Cannot","坚不可摧":"Indestructible","坚固维式重锤":"Durable Victorian Hammer","坚守":"Durable","坚守盾牌":"Durable Shield","埃芒加德":"Ermengarde","堂皇":"Magnificence","塑心":"Virtuosa","塞雷娅":"Saria","墨色真颜":"Inky Visage","复核洋流使者":"Multicellular Herald","夕":"Dusk","外勤医疗":"Field Medic","多萝西":"Dorothy","多轮悬赏 · 假想敌:再生":"Multi-Round Bounties/OpFor: Rebirth","多轮悬赏 · 假想敌:淤困":"Multi-Round Bounties/OpFor: Quagmire","多轮悬赏 · 假想敌:蚀裂":"Multi-Round Bounties/OpFor: Fissure","多轮悬赏 · 假想敌:镜膜":"Multi-Round Bounties/OpFor: Mirror","多轮悬赏 · 假想敌:骨刺":"Multi-Round Bounties/OpFor: Bonespur","多轮悬赏 · 假想敌:黑云":"Multi-Round Bounties/OpFor: BlackCloud","夜莺":"Nightingale","大帝":"Emperor","大鲍勃":"Big Bob","大鲍勃·悬赏":"Big Bob/Bounty","天师古鼎":"Tianshi's Cauldron","天马之枪":"Pegasian Lance","天马之盔":"Pegasian Helm","奇迹":"Marvel","奥术":"Arcane","奥术法阵":"Arcane Arts Circle","妖怪":"Monster","妖怪MKII":"Monster Mk II","妮芙":"Nymph","威龙":"Raptor","娜仁图亚":"Narantuya","娜斯提":"Nasti","孽罪奇美拉":"Profane Chimera","守墓石像":"Tombkeeper Grotesque","安洁莉娜":"Angelina","定制铳械":"Customized Firearm","定向投放":"Targeted Drop","宴":"Utage","家族徽章":"Famiglia Insignia","家族暗影灭迹人":"Famiglia Shadow Silencer","家族灭迹人":"Famiglia Silencer","宿主士兵":"Possessed Soldier","宿主重装士兵":"Possessed Heavy Defender","富营养的巢涌者":"Nourished Swarmcaller","富营养的滑动者":"Nourished Slider","寒檀":"Santalla","寒芒克洛丝":"Kroos the Keen Glint","寒霜":"Frost","寻仇者":"Avenger","寻呼模块":"Dispatch Module","寻险水手":"Risk-seeking Sailor","小满":"Grain Buds","小说卷轴":"Novel Scroll","小贾斯汀":"Justin Jr.","尖端萨卡兹枯朽战车":"Advanced Sarkaz Wither Tank","山":"Mountain","山海众头目":"Shanhaizhong Ringleader","山海众头目·多轮悬赏":"Shanhaizhong Ringleader/Multi-Round Bounties","山海众头目·悬赏":"Shanhaizhong Ringleader/Bounty","山海众秘使":"Shanhaizhong Secret-Keeper","崇高牺牲":"Noble Sacrifice","崖心":"Cliffheart","嵯峨":"Saga","左乐":"Zuo Le","巫恋":"Shamare","帕拉斯":"Pallas","帝国炮火中枢先兆者":"Imperial Artillery Core Targeteer","帝国炮火先兆者":"Imperial Artillery Targeteer","年":"Nian","幽灵组长":"Wraith Leader","幽灵组长·悬赏":"Wraith Leader/Bounty","幽灵鲨":"Specter","广交豪杰":"Heroes All Around","底海滑动者":"Deep Sea Slider","异光体孽生者":"Allotropic Maleficent","异光体掠食者":"Allotropic Predator","异客":"Passenger","异质裂兽·α":"Abnormal Manglerbeast α","弑君者":"Crownslayer","弑君者·悬赏":"Crownslayer/Bounty","引星棘刺":"Thorns the Lodestar","弧光锋卫":"Arc Frontliner","弧光镜卫":"Arc Screenguard","弧光镜卫长":"Arc Screenguard Captain","强壮囚犯":"Strongman Prisoner","归溟幽灵鲨":"Specter the Unchained","录武官":"Record Keeper","彩瓷茶器":"Porcelain Teaware","征召":"Draft","得闲饮茶":"Idle Teatime","御4":"Defender-4","御守之力":"Omamori's Blessing","德克萨斯":"Texas","德克萨斯的盟誓":"Texas's Pledge","心虚设计师":"Uneasy Designer","忍冬":"Vulpisfoglia","怒潮凛冬":"Zima the Raging Tide","急行军":"Forced March","悬赏·折射I":"Bounty/Refraction I","悬赏·折射II":"Bounty/Refraction II","悬赏·折射III":"Bounty/Refraction III","悬赏·持续I":"Bounty/Continuous I","悬赏·持续II":"Bounty/Continuous II","悬赏·持续III":"Bounty/Continuous III","悬赏·损伤I":"Bounty/Injury I","悬赏·损伤II":"Bounty/Injury II","悬赏·损伤III":"Bounty/Injury III","悬赏·特异I":"Bounty/Special I","悬赏·特异II":"Bounty/Special II","悬赏·特异III":"Bounty/Special III","悬赏·隐匿I":"Bounty/Invisible I","悬赏·隐匿II":"Bounty/Invisible II","悬赏·隐匿III":"Bounty/Invisible III","悬赏·频次I":"Bounty/Frequency I","悬赏·频次II":"Bounty/Frequency II","悬赏·频次III":"Bounty/Frequency III","悬赏·飞行I":"Bounty/Flying I","悬赏·飞行II":"Bounty/Flying II","悬赏·飞行III":"Bounty/Flying III","惊蛰":"Leizi","愤怒的守墓石像":"Enraged Tombkeeper Grotesque","愧悔魂灵圣杯":"Chalice of Regret","战场#01":"Battlefield #01","战场#02":"Battlefield #02","战场#03":"Battlefield #03","战场#04 活性源石":"Battlefield #04 Active Originium","战场#05(上半) 涨潮/特制水上平台":"Battlefield #05 (First Half) High Tide / Custom Floating Platform","战场#05(下半) 源石流发生装置":"Battlefield #05 (Second Half) Originium Flow Generator","战场#06(上半) 沙尘暴/土石结构":"Battlefield #06 (First Half) Sandstorm / Dirt Mound","战场#06(下半) 沼泽控制":"Battlefield #06 (Second Half) Mire Control","战场#07(上半) 树丛":"Battlefield #07 (First Half) Thicket","战场#07(下半) 排气格栅":"Battlefield #07 (Second Half) Exhaust Grille","战场#08(下半) 涨潮控制":"Battlefield #08 (Second Half) Tide Controller","战术特训·折射I":"Tactical Training/Refraction I","战术特训·折射II":"Tactical Training/Refraction II","战术特训·折射III":"Tactical Training/Refraction III","战术特训·持续I":"Tactical Training/Continuous I","战术特训·持续II":"Tactical Training/Continuous II","战术特训·持续III":"Tactical Training/Continuous III","战术特训·损伤I":"Tactical Training/Injury I","战术特训·损伤II":"Tactical Training/Injury II","战术特训·损伤III":"Tactical Training/Injury III","战术特训·隐匿I":"Tactical Training/Invisible I","战术特训·隐匿II":"Tactical Training/Invisible II","战术特训·隐匿III":"Tactical Training/Invisible III","战术特训·频次I":"Tactical Training/Frequency I","战术特训·频次II":"Tactical Training/Frequency II","战术特训·频次III":"Tactical Training/Frequency III","战术特训·飞行I":"Tactical Training/Flying I","战术特训·飞行II":"Tactical Training/Flying II","战术特训·飞行III":"Tactical Training/Flying III","战栗维式重锤":"Frightening Victorian Hammer","扎罗,“狼之主” ":"Zaaro, Signore dei Lupi","扎罗,“狼之主”·悬赏":"Zaaro, Signore dei Lupi/Bounty","扶桥老手":"Bridge Holder","投资人":"Investor","投递坐标":"Delivery Coordinates","折桠":"Vetochki","护盾无人机":"Protection Drone","护障":"Blocker","护障·P":"Blocker–P","拉普兰德":"Lappland","拉特兰":"Laterano","拉特兰桥夹":"Lateran Clip","拉特兰驰援":"Lateran Support","拟态物质":"Mimic Matter","拥霜羽兽":"Frostcradler Fowlbeast","拳师囚犯":"Elite Pugilist Prisoner","排斥:乏力":"Rejection: Weakness","排斥:脆弱":"Rejection: Fragility","排斥:致幻":"Rejection: Hallucination","掠海漂移体":"Skimming Sea Drifter","控潮术师":"Tidal Caster","推进之王":"Siege","提丰":"Typhon","攻坚装备":"Breaching Gear","攻坚装备II":"Breaching Gear II","攻坚装备III":"Breaching Gear III","教鞭":"Pointing Stick","整备":"Preparation","文火慢炖":"Slow Simmer","斥罪":"Penance","斩业星熊":"Hoshiguma the Breacher","断崖":"Ayerscarpe","斯卡蒂":"Skadi","斯卡蒂的海嗣":"Skadi's Seaborn","斯卡蒂的盟誓":"Skadi's Pledge","新手祭司学徒":"Novice Acolyte","新硎":"Sharpedge","新约能天使":"Exusiai the New Covenant","无人机护障·P·战术特训":"Drone Blocker-P/Tactical Training","无瑕":"Flawless","无胄盟清扫小队":"Armorless Union Cleanup Squad","早露":"Rosa","昆图斯":"Quintus","明鉴":"Brightmirror","星熊":"Hoshiguma","普罗旺斯":"Provence","普通囚犯":"Ordinary Prisoner","暴鸰":"Bombtail","替身娃娃":"Substitute Doll","有限加速器":"Miniature Accelerator","望":"Wang","木制瑞印":"Wooden Seal","木制镇纸":"Wooden Paperweight","未精英化":"Non-Elite","未装配刀片":"Unequipped Blade","术师快艇":"Caster Speedboat","机械援助":"Machine Assistance","杜宾":"Dobermann","杜遥夜":"Du Yaoye","杰斯顿·威廉姆斯":"Jesselton Williams","杰斯顿·威廉姆斯·悬赏":"Jesselton Williams/Bounty","杰西卡":"Jessica","松果":"Pinecone","松桐":"Matsukiri","林":"Lin","枯朽之种":"Seed of Withering","枯朽萃聚使徒":"Withering Collector Disciple","架桥船工":"Bridge Builder","格雷伊":"Greyy","桑葚":"Mulberry","梓兰":"Orchid","棘刺":"Thorns","森蚺":"Eunectes","模拟战场演变·模式一":"Simulation Shift/Mode 1","模拟战场演变·模式三":"Simulation Shift/Mode 3","模拟战场演变·模式九":"Simulation Shift/Mode 9","模拟战场演变·模式二":"Simulation Shift/Mode 2","模拟战场演变·模式五":"Simulation Shift/Mode 5","模拟战场演变·模式八":"Simulation Shift/Mode 8","模拟战场演变·模式六":"Simulation Shift/Mode 6","模拟战场演变·模式四":"Simulation Shift/Mode 4","歌利亚":"Goliath","歌利亚头盔":"Goliath Helmet","歌蕾蒂娅":"Gladiia","止颂":"Lessing","步兵":"Infantry","死芒":"Necrass","水月":"Mizuki","水遁忍者":"Suiton Ninja","沉沙":"Sinkingsand","沏虹":"Rainbowbrew","沙之碑":"Sand Obelisk","法术大师A1":"Arts Master A1","法术大师A2":"Arts Master A2","法术大师A2·多轮战术特训":"Arts Master A2/Multi-Round Tactical Training","法术大师A2·悬赏":"Arts Master A2/Bounty","泡泡":"Bubble","波登可":"Podenco","泥岩":"Mudrock","泥岩·悬赏":"Mudrock/Bounty","泥岩巨像":"Mudrock Colossus","洛洛":"Rockrock","流形":"Flowing Shape","流明":"Lumen","流星":"Meteor","流泪小子":"Crying Thief","流泪小子·悬赏":"Crying Thief/Bounty","浊心斯卡蒂":"Skadi the Corrupting Heart","测试用动力装甲":"Test Power Armor","浓缩嗅盐":"Concentrated Smelling Salts","海沟实验体":"Trench Test Subject","海霓":"Lucilla","涤火杰西卡":"Jessica the Liberated","淬羽赫默":"Silence the Paradigmatic","深巡":"Underflow","深池伙友卫队":"Dublinn Companion Guard","深池伙友卫队精英":"Dublinn Elite Companion Guard","深池伙友影刃精英":"Dublinn Elite Companion Shadowblade","深池侦察兵":"Dublinn Scout","深池侦察犬":"Dublinn Sniffer Hound","深池侦察犬pro":"Dublinn Sniffer Hound Pro","深池侦察队长":"Dublinn Scout Leader","深池方阵指挥官":"Dublinn Phalanx Commander","深池方阵步兵":"Dublinn Phalanx Infantry","深池暗影术师":"Dublinn Shadowcaster","深池暗影术师队长":"Dublinn Shadowcaster Leader","深池逐火战士":"Dublinn Flamechaser Soldier","深池逐火护卫":"Dublinn Flamechaser Guard","深池逐火精锐战士":"Dublinn Flamechaser Elite Soldier","深池重甲卫士":"Dublinn Heavy Defender","深池重甲卫士队长":"Dublinn Heavy Defender Leader","深溟巢涌者":"Nethersea Swarmcaller","深靛":"Indigo","清明":"Clarity","渎罪奇美拉":"Sacrilegious Chimera","温蒂":"Weedy","温顺的武装大驮兽":"Greater Armored Burdenbeast","游击队盾卫":"Guerrilla Shieldguard","源石溶剂":"Originium Solvent","源石虫":"Originium Slug","源石虫·特训":"Originium Slug/Training","溯光星源":"Astgenne the Lightchaser","潘格尼尼":"Paganini","潜伏者":"Lurker","潜水员":"Diver","澄闪":"Goldenglow","澪":"Mio","澪·悬赏":"Mio/Bounty","激光发射器":"Laser Sighter","火力":"Firepower","灰毫":"Ashlock","灰烬":"Ash","灵巧":"Agile","灵知":"Gnosis","灼热源石虫":"Blazing Originium Slug","灼燃维式重锤":"Burning Victorian Hammer","灼藤":"Burning Vine","炎":"Yan","炎国短刀":"Yanese Dagger","炎盟约驰援":"Yanese Support","炽焰源石虫":"Pyric Originium Slug","烛煌":"Blaze the Igniting Spark","烹泉":"Fountainboil","焰尾":"Flametail","焰影苇草":"Reed the Flame Shadow","煌":"Blaze","爬行号·防护单元":"Crawler Protection Unit","狂暴宿主组长":"Enraged Possessed Leader","独行":"Solo","狼群":"Wolfpack","猎头顾问":"HR Consultant","猎狗pro":"Hound Pro","玛恩纳":"Młynar","玛恩纳的盟誓":"Młynar's Pledge","玛露西尔":"Marcille","琳琅诗怀雅":"Swire the Elegant Wit","琴柳":"Saileach","瑕光":"Blemishine","瑰盐":"Rose Salt","甄选干员":"Selected Operator","电弧":"Raidian","画卷":"Dusk's Scroll","疯狂的逐腐兽":"Rampaging Rotchaser","白铁":"Stainless","白面鸮":"Ptilopsis","百炼嘉维尔":"Gavial the Invincible","盐风主教昆图斯":"Sal Viento Bishop Quintus","盟约·辅助干员":"Alliance/Supportive Operator","盟约之币":"Alliance Coin","真言":"Mantra","码头水手":"Dockworker","码头水手长":"Dockworker Leader","砾":"Gravel","碎骨":"Skullshatterer","碎骨·悬赏":"Skullshatterer/Bounty","磨砻":"Grindstone","私募基金":"Private Equity Fund","空弦":"Archetto","突变细胞":"Mutated Cells","突袭":"Raid","突袭手雷":"Raid Grenade","简易通讯机":"Simple Communicator","简饲源石虫":"Basic Slug","粉碎攻坚手":"Defense Crusher","粉碎攻坚组长":"Defense Crusher Leader","精准":"Precision","精准狙击镜":"Precision Scope","精打细算玩偶":"Budget-Savvy Doll","精英阶段1":"Elite 1","精英阶段2":"Elite 2","精英阶段2-60级":"Elite 2 Lv.60","紧急调度券":"Emergency Dispatch Ticket","纠缠藤蔓":"Weaving Vinecreeps","纠缠藤蔓·悬赏":"Weaving Vinecreeps/Bounty","红木瑞印":"Rosewood Seal","红木镇纸":"Rosewood Paperweight","红豆":"Vigna","纯烬艾雅法拉":"Eyjafjalla the Hvít Aska","纸偶":"Kaminingyo","绝技":"Elite","统御号令":"Governing Order","绮良":"Kirara","绯红歌伶":"Scarlet Singer","维什戴尔":"Wiš'adel","维多利亚":"Victoria","维多利亚驰援":"Victorian Support","维娜·维多利亚":"Vina Victoria","维式重锤":"Victorian Hammer","缄默德克萨斯":"Texas the Omertosa","缇缇":"Titi","缇缇的盟誓":"Titi's Pledge","缪尔赛思":"Muelsyse","耀骑士临光":"Nearl the Radiant Knight","老练囚犯":"Seasoned Prisoner","老鲤":"Lee","耶拉":"Kjera","耶拉冈德之泪":"Kjeragandr's Tears","联防阵地(1名玩家)":"Unite Field (1 player)","联防阵地(2名玩家)":"Unite Field (2 players)","能天使":"Exusiai","腐败骑士":"Corrupted Knight","腐败骑士·悬赏":"Corrupted Knight/Bounty","自制投石机":"Handmade Catapult","自愈":"Recovery","至简":"Minimalist","至纯凝结":"Purified Condensation","艾丝黛尔":"Estelle","艾丽妮":"Irene","艾拉":"Ela","艾雅法拉":"Eyjafjalla","节日气球":"Carnevale Balloon","节日爵士乐手":"Festival Jazz Musician","芬":"Fang","荒芜拉普兰德":"Lappland the Decadenza","药枚实验":"Experimental Med. Sticks","莎草":"Papyrus","莫斯提马":"Mostima","莫斯提马的盟誓":"Mostima's Pledge","莱伊":"Ray","莱恩哈特":"Leonhardt","莱茵生命防卫科高级成员":"Rhine Defense Senior Member","菲亚梅塔":"Fiammetta","菲莱":"Philae","萨卡兹刀兵":"Sarkaz Swordsman","萨卡兹大剑手":"Sarkaz Greatswordsman","萨卡兹大剑组长":"Sarkaz Greatswordsman Leader","萨卡兹悖谬暴虐兵长":"Sarkaz Absurdist Tyrant Captain","萨卡兹枯朽前锋":"Sarkaz Wither Vanguard","萨卡兹枯朽战士":"Sarkaz Witherer","萨卡兹枯朽战士组长":"Sarkaz Witherer Captain","萨卡兹枯朽战车":"Sarkaz Wither Tank","萨卡兹枯朽辟路前锋":"Elite Sarkaz Wither Vanguard","萨卡兹王庭军战士":"Sarkaz Royal Court Soldier","萨卡兹王庭军精锐战士":"Sarkaz Royal Court Elite Soldier","萨卡兹王庭军精锐术师":"Sarkaz Royal Court Elite Caster","萨卡兹百夫长":"Sarkaz Centurion","萨卡兹百夫长·悬赏":"Sarkaz Centurion/Bounty","萨卡兹穿刺手":"Sarkaz Lancer","萨卡兹骸骨拷打者":"Sarkaz Boneguard Torturer","萨尔贡":"Sargon","萨尔贡浓茶":"Sargonian Teaspresso","萨尔贡驰援":"Sargonian Support","蒂比":"Tippi","蒸汽之心":"Steam Heart","蕾缪安":"Lemuen","薄绿":"Mint","薇薇安娜":"Viviana","蛇屠箱":"Cuora","蜂鸣器":"Buzzer","蜜蜡":"Beeswax","血珀":"Blood Amber","补给":"Supply","补给线":"Supply Route","补给线II":"Supply Route II","裁决:乏力":"Verdict: Weakness","裁决:脆弱":"Verdict: Fragility","裁决:致幻":"Verdict: Hallucination","见者有份":"Passing Down the Profit","见行者":"Enforcer","见钱眼开玩偶":"Money-Grubbing Doll","角峰":"Matterhorn","访问团强攻冠军":"Delegation Centurion Champion","访问团持盾者":"Delegation Shieldbearer","访问团新兵":"Delegation Recruit","访问团老兵":"Delegation Veteran","诅咒娃娃":"Cursed Doll","诗怀雅":"Swire","诗怀雅的盟誓":"Swire's Pledge","诗画卷轴":"Painting Scroll","调和":"Harmony","调香师":"Perfumer","谢拉格":"Kjerag","谢拉格不融冰":"Kjeragi Nevermeltice","谢拉格驰援":"Kjeragi Support","贝洛内":"Bellone","财富":"Wealth","责罚:乏力":"Punishment: Weakness","责罚:脆弱":"Punishment: Fragility","责罚:致幻":"Punishment: Hallucination","贾维":"Chiave","赤刃明霄陈":"Ch'en the Dawnstreak","赫德雷":"Hoederer","赫拉格":"Hellagur","赫默":"Silence","跃跃":"Caper","身观":"Introspection","转译基底·α":"Decode Basis α","迅捷":"Swift","迅捷作战粮":"Quick Combat Rations","远牙":"Fartooth","远眺":"Farseer","远见":"Foresight","迷茫的修理小助手":"Confused Maintenance Helper","迷路的巨像":"Lost Colossus","迷路的巨像·悬赏":"Lost Colossus/Bounty","迷迭香":"Rosmontis","迷迭香的战术装备":"Rosmontis's Tactical Equipment","送葬人":"Executor","逐腐兽":"Rotchaser","通关奖励":"Completion Reward","逻各斯":"Logos","遥":"Haruka","郁金香":"Tulip","酒神":"Tragodia","重岳":"Chongyue","重弩突袭者":"Heavy Crossbowman Ambusher","重弩突袭者·悬赏":"Heavy Crossbowman Ambusher/Bounty","重点监护":"Intensive Monitoring","重犯":"Recidivist","重装五十夫长":"Heavy Defender Lieutenant","重装侦察兵":"Heavy Scout","重装防御组长":"Heavy Defender Leader","重装防御者":"Heavy Defender","重装防御者·悬赏":"Heavy Defender/Bounty","野鬃":"Wild Mane","铁灯盘":"Iron Lampstand","铁矛头":"Iron Spearhead","铃兰":"Suzuran","铜灯盘":"Bronze Lampstand","铜矛头":"Bronze Spearhead","铳骑之威":"Gun-Knight's Might","银灰":"SilverAsh","银灰的盟誓":"SilverAsh's Pledge","锏":"Degenbrecher","锏·悬赏":"Degenbrecher/Bounty","锐利":"Acute","锡人":"Tin Man","闪灵":"Shining","防护背心":"Protective Vest","防暴盾":"Riot Shield","阿":"Aak","阿利斯泰尔,帝国余晖":"Alistair, Final Flame of the Empire","阿戈尔":"Ægir","阿戈尔重刃":"Ægirian Blade","阿戈尔驰援":"Ægirian Support","阿斯卡纶":"Ascalon","阿米娅":"Amiya","阿罗玛":"Aroma","陈":"Ch'en","陷落雪祀":"Fallen Snowpriest","陷落雪祀·悬赏":"Fallen Snowpriest/Bounty","随身身份牌":"Identification Device","隐形弩手":"Invisible Crossbowman","隐形弩手组长":"Invisible Crossbowman Leader","隐形术师":"Invisible Caster","隐德来希":"Entelechia","隐现":"Insider","雅气":"Sophistication","集团军中坚盾卫":"Army Veteran Shieldguard","集团军重型火炮":"Army Heavy Artillery","集结指示":"Rally Directive","雪域礼赠":"Snowfield's Gift","雪孩子":"Snowchild","雪怪小队破冰者":"Yeti Icecleaver Leader","雪猎":"Snow Hunter","雷蛇":"Liskarm","霍尔海雅":"Ho'olheyak","青瓷茶器":"Celadon Teaware","青铜镜":"Bronze Mirror","预备干员-先锋":"Reserve Operator - Vanguard","预备干员-医疗":"Reserve Operator - Medic","预备干员-术师":"Reserve Operator - Caster","预备干员-特种":"Reserve Operator - Specialist","预备干员-狙击":"Reserve Operator - Sniper","预备干员-辅助":"Reserve Operator - Supporter","预备干员-近卫":"Reserve Operator - Guard","预备干员-重装":"Reserve Operator - Defender","领主·Sharp":"Lord/Sharp","领潮员":"Tidal Leader","风丸":"Kazemaru","风笛":"Bagpipe","风笛的盟誓":"Bagpipe's Pledge","风雪之眼":"Eye of the Blizzard","食腐之蝶":"Scavenger Butterfly","香槟炸弹":"Champagne Bomb","马克维茨":"Malkiewicz","骇笑看客":"Derisive Audience","骑士储蓄罐":"Knightly Savings","骑士戒律":"Chivalric Commandments","骨海漂流体":"Bone Sea Drifter","高准度伦蒂尼姆城防自行炮":"Londinium Precision Mobile Defense Artillery","高普尼克":"Gopnik","高普尼克·悬赏":"Gopnik/Bounty","高级军用猎狗":"Elite Military Hound","高能源石虫":"Infused Originium Slug","魔王":"Civilight Eterna","鸭爵":"Duck Lord","鸭爵·悬赏":"Duck Lord/Bounty","鸿雪":"Pozëmka","麒麟R夜刀":"Kirin R Yato","麦哲伦":"Magallan","黄沙罗盘":"Desert Compass","黄金盟誓":"Golden Vows","黄铜镜":"Brass Mirror","黍":"Shu","黑":"Schwarz","黑键":"Ebenholz","鼎沸":"Boiling Pot","鼠王":"Rat King"},"files":{"chess":{"chess_char_1_01_a":{"name":"Insider","subProfessionName":"Marksman","trait":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"skill":{"descRaw":"ATK <@ba.vup>+80%, Attack Interval <@ba.vup>shortens slightly, attacks prioritize enemies with long-ranged weapons, and becomes less likely to be targeted by enemies\n<@ba.rem>Skill activation grants 14 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"'Problem Solver'","desc":"ATK +80%, Attack Interval shortens slightly, attacks prioritize enemies with long-ranged weapons, and becomes less likely to be targeted by enemies\nSkill activation grants 14 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},"talents":[{"descRaw":"After being deployed for 20 seconds, increases the ammo capacity for this unit's skills by +2","name":"Fire Support","desc":"After being deployed for 20 seconds, increases the ammo capacity for this unit's skills by +2"}],"module":{"name":"'The First Surprise'"},"skills":[{"descRaw":"Each attack deals <@ba.vup>185% of ATK as Physical damage\n<@ba.rem>Skill activation grants 4 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"'Don't Invite Trouble'","desc":"Each attack deals 185% of ATK as Physical damage\nSkill activation grants 4 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"ATK <@ba.vup>+80%, Attack Interval <@ba.vup>shortens slightly, attacks prioritize enemies with long-ranged weapons, and becomes less likely to be targeted by enemies\n<@ba.rem>Skill activation grants 14 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"'Problem Solver'","desc":"ATK +80%, Attack Interval shortens slightly, attacks prioritize enemies with long-ranged weapons, and becomes less likely to be targeted by enemies\nSkill activation grants 14 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"}],"_h":"ctkfcwcwmgpbjquiuouiz5kn0v2ymgpbjq"},"chess_char_1_01_b":{"name":"Insider","subProfessionName":"Marksman","trait":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"},"skill":{"descRaw":"ATK <@ba.vup>+100%, Attack Interval <@ba.vup>shortens slightly, attacks prioritize enemies with long-ranged weapons, and becomes less likely to be targeted by enemies\n<@ba.rem>Skill activation grants 14 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"'Problem Solver'","desc":"ATK +100%, Attack Interval shortens slightly, attacks prioritize enemies with long-ranged weapons, and becomes less likely to be targeted by enemies\nSkill activation grants 14 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},"talents":[{"descRaw":"After being deployed for 20 seconds, increases the ammo capacity for this unit's skills by +3, and increases the ammo cap for a random Laterano Operator's ammo-based skill by +1","name":"Fire Support","desc":"After being deployed for 20 seconds, increases the ammo capacity for this unit's skills by +3, and increases the ammo cap for a random Laterano Operator's ammo-based skill by +1"}],"module":{"name":"'The First Surprise'"},"skills":[{"descRaw":"Each attack deals <@ba.vup>200% of ATK as Physical damage\n<@ba.rem>Skill activation grants 4 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"'Don't Invite Trouble'","desc":"Each attack deals 200% of ATK as Physical damage\nSkill activation grants 4 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"ATK <@ba.vup>+100%, Attack Interval <@ba.vup>shortens slightly, attacks prioritize enemies with long-ranged weapons, and becomes less likely to be targeted by enemies\n<@ba.rem>Skill activation grants 14 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"'Problem Solver'","desc":"ATK +100%, Attack Interval shortens slightly, attacks prioritize enemies with long-ranged weapons, and becomes less likely to be targeted by enemies\nSkill activation grants 14 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"}],"traitBase":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"talentsBase":[{"descRaw":"After being deployed for 20 seconds, increases the ammo capacity for this unit's skills by +3, and increases the ammo cap for a random Laterano Operator's ammo-based skill by +1","name":"Fire Support","desc":"After being deployed for 20 seconds, increases the ammo capacity for this unit's skills by +3, and increases the ammo cap for a random Laterano Operator's ammo-based skill by +1"}],"modules":[{"name":"'The First Surprise'","traitOverride":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"}}],"_h":"ctkfcw9scwls8tpbwpoouoooz5690vfk8tpbwpcwcwoouoooz5cw9scwls"},"chess_char_1_02_a":{"name":"Matterhorn","subProfessionName":"Protector","trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skill":{"descRaw":"Max HP <@ba.vup>+30%; DEF <@ba.vup>+10%; RES <@ba.vup>+60%","name":"Cold Resistance","desc":"Max HP +30%; DEF +10%; RES +60%"},"talents":[{"descRaw":"RES +7","name":"Snowfield Guard","desc":"RES +7"}],"module":{"name":"Father's Robe"},"skills":[{"descRaw":"Max HP <@ba.vup>+30%; Restores HP by <@ba.vup>25 per second","name":"Stamina Enhancement","desc":"Max HP +30%; Restores HP by 25 per second"},{"descRaw":"Max HP <@ba.vup>+30%; DEF <@ba.vup>+10%; RES <@ba.vup>+60%","name":"Cold Resistance","desc":"Max HP +30%; DEF +10%; RES +60%"}],"_h":"pb11t8t8retbzptxx0txcyighly2retbzp"},"chess_char_1_02_b":{"name":"Matterhorn","subProfessionName":"Protector","trait":{"descRaw":"Blocks 4 enemies","desc":"Blocks 4 enemies"},"skill":{"descRaw":"Max HP <@ba.vup>+40%; DEF <@ba.vup>+15%; RES <@ba.vup>+70%","name":"Cold Resistance","desc":"Max HP +40%; DEF +15%; RES +70%"},"talents":[{"descRaw":"RES +15","name":"Snowfield Guard","desc":"RES +15"}],"module":{"name":"Father's Robe"},"skills":[{"descRaw":"Max HP <@ba.vup>+40%; Restores HP by <@ba.vup>30 per second","name":"Stamina Enhancement","desc":"Max HP +40%; Restores HP by 30 per second"},{"descRaw":"Max HP <@ba.vup>+40%; DEF <@ba.vup>+15%; RES <@ba.vup>+70%","name":"Cold Resistance","desc":"Max HP +40%; DEF +15%; RES +70%"}],"traitBase":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"talentsBase":[{"descRaw":"RES +15","name":"Snowfield Guard","desc":"RES +15"}],"modules":[{"name":"Father's Robe","traitOverride":{"descRaw":"Blocks 4 enemies","desc":"Blocks 4 enemies"}}],"_h":"pb11bibii3tbfab6x0b6cy1dhl35i3tbfat8t8b6x0b6cybibi"},"chess_char_1_03_a":{"name":"Leizi","subProfessionName":"Chain Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage and jump between <@ba.kw>3 enemies. Each jump deals 15% less damage and inflicts a brief <$ba.sluggish>Slow (Upgraded after reaching Elite 2)","desc":"Attacks deal Arts damage and jump between 3 enemies. Each jump deals 15% less damage and inflicts a brief Slow (Upgraded after reaching Elite 2)"},"skill":{"descRaw":"ATK <@ba.vup>+80%, and attacks <@ba.vup>no longer deal reduced damage on subsequent targets","name":"Thunderclap","desc":"ATK +80%, and attacks no longer deal reduced damage on subsequent targets"},"talents":[{"descRaw":"Increases ATK to 110% when attacking unblocked enemies","name":"Unobstructed Flow","desc":"Increases ATK to 110% when attacking unblocked enemies"}],"module":{"name":"'All the Thunderlight'"},"skills":[{"descRaw":"ATK <@ba.vup>+45%","name":"ATK Up γ","desc":"ATK +45%"},{"descRaw":"ATK <@ba.vup>+80%, and attacks <@ba.vup>no longer deal reduced damage on subsequent targets","name":"Thunderclap","desc":"ATK +80%, and attacks no longer deal reduced damage on subsequent targets"}],"_h":"w7w63cee3c59c2gipxgiz1igyjmh3c59c2"},"chess_char_1_03_b":{"name":"Leizi","subProfessionName":"Chain Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage and jump between <@ba.kw>4 enemies. Each jump deals <@ba.kw>10% less damage and inflicts a short <$ba.sluggish>Slow","desc":"Attacks deal Arts damage and jump between 4 enemies. Each jump deals 10% less damage and inflicts a short Slow"},"skill":{"descRaw":"ATK <@ba.vup>+100%, and attacks <@ba.vup>no longer deal reduced damage on subsequent targets","name":"Thunderclap","desc":"ATK +100%, and attacks no longer deal reduced damage on subsequent targets"},"talents":[{"descRaw":"Increases ATK to 120% when attacking unblocked enemies","name":"Unobstructed Flow","desc":"Increases ATK to 120% when attacking unblocked enemies"}],"module":{"name":"'All the Thunderlight'"},"skills":[{"descRaw":"ATK <@ba.vup>+60%","name":"ATK Up γ","desc":"ATK +60%"},{"descRaw":"ATK <@ba.vup>+100%, and attacks <@ba.vup>no longer deal reduced damage on subsequent targets","name":"Thunderclap","desc":"ATK +100%, and attacks no longer deal reduced damage on subsequent targets"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage and jump between <@ba.kw>4 enemies. Each jump deals 15% less damage and inflicts a brief <$ba.sluggish>Slow","desc":"Attacks deal Arts damage and jump between 4 enemies. Each jump deals 15% less damage and inflicts a brief Slow"},"talentsBase":[{"descRaw":"Increases ATK to 120% when attacking unblocked enemies","name":"Unobstructed Flow","desc":"Increases ATK to 120% when attacking unblocked enemies"}],"modules":[{"name":"'All the Thunderlight'","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage and jump between <@ba.kw>4 enemies. Each jump deals <@ba.kw>10% less damage and inflicts a short <$ba.sluggish>Slow","desc":"Attacks deal Arts damage and jump between 4 enemies. Each jump deals 10% less damage and inflicts a short Slow"}}],"_h":"w7w6h9st0b59gnjbpxjbz175yjae0b59gn6v5ljbpxjbz1h9st"},"chess_char_1_04_a":{"name":"Underflow","subProfessionName":"Sentry Protector","trait":{"descRaw":"Blocks 3 enemies and attacks from long range.","desc":"Blocks 3 enemies and attacks from long range."},"skill":{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+30%, ASPD <@ba.vup>+25. Attacks become toxic finspines that fire directly ahead, piercing through up to <@ba.vup>3 enemies and inflicting <$ba.sluggish>Slow for <@ba.vup>1 second","name":"Pinning Maneuver","desc":"Attack Range increases, ATK +30%, ASPD +25. Attacks become toxic finspines that fire directly ahead, piercing through up to 3 enemies and inflicting Slow for 1 second"},"talents":[{"descRaw":"Deals 40 Arts damage per second to targets on attacking, lasting 3 seconds (Damage is doubled against [Sea Monster] enemies)","name":"Cell Activity Suppressant","desc":"Deals 40 Arts damage per second to targets on attacking, lasting 3 seconds (Damage is doubled against [Sea Monster] enemies)"}],"module":{"name":"A Neural Stimulant Based on 'Coffee'"},"skills":[{"descRaw":"ATK<@ba.vup>+32%, DEF<@ba.vup>+32%","name":"Invasion Response","desc":"ATK+32%, DEF+32%"},{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+30%, ASPD <@ba.vup>+25. Attacks become toxic finspines that fire directly ahead, piercing through up to <@ba.vup>3 enemies and inflicting <$ba.sluggish>Slow for <@ba.vup>1 second","name":"Pinning Maneuver","desc":"Attack Range increases, ATK +30%, ASPD +25. Attacks become toxic finspines that fire directly ahead, piercing through up to 3 enemies and inflicting Slow for 1 second"}],"_h":"rrhftwtwew26rjjttmjtm1n6xdb6ew26rj"},"chess_char_1_04_b":{"name":"Underflow","subProfessionName":"Sentry Protector","trait":{"descRaw":"Blocks 3 enemies and attacks from long range.","moduleDescRaw":"Reveals <$ba.invisible>Invisible enemies within range","desc":"Blocks 3 enemies and attacks from long range.","moduleDesc":"Reveals Invisible enemies within range"},"skill":{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+40%, ASPD <@ba.vup>+30. Attacks become toxic finspines that fire directly ahead, piercing through up to <@ba.vup>3 enemies and inflicting <$ba.sluggish>Slow for <@ba.vup>1 second","name":"Pinning Maneuver","desc":"Attack Range increases, ATK +40%, ASPD +30. Attacks become toxic finspines that fire directly ahead, piercing through up to 3 enemies and inflicting Slow for 1 second"},"talents":[{"descRaw":"Deals 80 Arts damage per second to targets on attacking, lasting 3 seconds (Damage is doubled against [Sea Monster] enemies)","name":"Cell Activity Suppressant","desc":"Deals 80 Arts damage per second to targets on attacking, lasting 3 seconds (Damage is doubled against [Sea Monster] enemies)"}],"module":{"name":"A Neural Stimulant Based on 'Coffee'"},"skills":[{"descRaw":"ATK<@ba.vup>+39%, DEF<@ba.vup>+39%","name":"Invasion Response","desc":"ATK+39%, DEF+39%"},{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+40%, ASPD <@ba.vup>+30. Attacks become toxic finspines that fire directly ahead, piercing through up to <@ba.vup>3 enemies and inflicting <$ba.sluggish>Slow for <@ba.vup>1 second","name":"Pinning Maneuver","desc":"Attack Range increases, ATK +40%, ASPD +30. Attacks become toxic finspines that fire directly ahead, piercing through up to 3 enemies and inflicting Slow for 1 second"}],"traitBase":{"descRaw":"Blocks 3 enemies and attacks from long range.","desc":"Blocks 3 enemies and attacks from long range."},"talentsBase":[{"descRaw":"Deals 80 Arts damage per second to targets on attacking, lasting 3 seconds (Damage is doubled against [Sea Monster] enemies)","name":"Cell Activity Suppressant","desc":"Deals 80 Arts damage per second to targets on attacking, lasting 3 seconds (Damage is doubled against [Sea Monster] enemies)"}],"modules":[{"name":"A Neural Stimulant Based on 'Coffee'","traitOverride":{"descRaw":"Blocks 3 enemies and attacks from long range.","moduleDescRaw":"Reveals <$ba.invisible>Invisible enemies within range","desc":"Blocks 3 enemies and attacks from long range.","moduleDesc":"Reveals Invisible enemies within range"}}],"_h":"rrhftwp6twhb5n267gsttmstm1kmxdsu5n267gtwtwsttmstm1twp6twhb"},"chess_char_1_05_a":{"name":"Vigna","subProfessionName":"Charger","trait":{"descRaw":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","desc":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated"},"skill":{"descRaw":"Attack Interval <@ba.vdown>increases a bit; ATK <@ba.vup>+120%","name":"Hammer-On","desc":"Attack Interval increases a bit; ATK +120%"},"talents":[{"descRaw":"When attacking, has a 10% chance to increase the current damage of that attack by 50%. The chance increases to 30% when Vigna's skill is active.","name":"Fierce Stabbing","desc":"When attacking, has a 10% chance to increase the current damage of that attack by 50%. The chance increases to 30% when Vigna's skill is active."}],"module":{"name":"The Greatrock"},"skills":[{"descRaw":"ATK <@ba.vup>+35%","name":"ATK Up β","desc":"ATK +35%"},{"descRaw":"Attack Interval <@ba.vdown>increases a bit; ATK <@ba.vup>+120%","name":"Hammer-On","desc":"Attack Interval increases a bit; ATK +120%"}],"_h":"x583jwjw3i20p9cwx7cwosyje2703i20p9"},"chess_char_1_05_b":{"name":"Vigna","subProfessionName":"Charger","trait":{"descRaw":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","moduleDescRaw":"When attacking enemies with less than <@ba.vup>40% of their max HP, increase ATK to <@ba.vup>115%","desc":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","moduleDesc":"When attacking enemies with less than 40% of their max HP, increase ATK to 115%"},"skill":{"descRaw":"Attack Interval <@ba.vdown>increases a bit; ATK <@ba.vup>+150%","name":"Hammer-On","desc":"Attack Interval increases a bit; ATK +150%"},"talents":[{"descRaw":"When attacking, has a 10% chance to increase the current damage of that attack by 100%. The chance increases to 30% when Vigna's skill is active.","name":"Fierce Stabbing","desc":"When attacking, has a 10% chance to increase the current damage of that attack by 100%. The chance increases to 30% when Vigna's skill is active."}],"module":{"name":"The Greatrock"},"skills":[{"descRaw":"ATK <@ba.vup>+50%","name":"ATK Up β","desc":"ATK +50%"},{"descRaw":"Attack Interval <@ba.vdown>increases a bit; ATK <@ba.vup>+150%","name":"Hammer-On","desc":"Attack Interval increases a bit; ATK +150%"}],"traitBase":{"descRaw":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","desc":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated"},"talentsBase":[{"descRaw":"When attacking, has a 10% chance to increase the current damage of that attack by 100%. The chance increases to 30% when Vigna's skill is active.","name":"Fierce Stabbing","desc":"When attacking, has a 10% chance to increase the current damage of that attack by 100%. The chance increases to 30% when Vigna's skill is active."}],"modules":[{"name":"The Greatrock","traitOverride":{"descRaw":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","moduleDescRaw":"When attacking enemies with less than <@ba.vup>40% of their max HP, increase ATK to <@ba.vup>115%","desc":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","moduleDesc":"When attacking enemies with less than 40% of their max HP, increase ATK to 115%"}}],"_h":"x583jwhpjwx3l9202omyx7myos1ie2d7l9202ojwjwmyx7myosjwhpjwx3"},"chess_char_1_06_a":{"name":"Vendela","subProfessionName":"Incantation Medic","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>50% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 50% of the damage dealt"},"skill":{"descRaw":"ATK <@ba.vup>+55%. Makes the ally with the highest Max HP within Attack Range more likely to be attacked by enemies, and when this ally receives an enemy attack, Vendela deals <@ba.vup>20% ATK as Arts damage to the attacker and activates her Trait on the ally","name":"Umbrage of Thorns","desc":"ATK +55%. Makes the ally with the highest Max HP within Attack Range more likely to be attacked by enemies, and when this ally receives an enemy attack, Vendela deals 20% ATK as Arts damage to the attacker and activates her Trait on the ally"},"talents":[{"descRaw":"The ally with the highest Max HP within range receives 8% more healing","name":"Soil Fertilizer Enhancement","desc":"The ally with the highest Max HP within range receives 8% more healing"}],"module":{"name":"Broken Rose"},"skills":[{"descRaw":"ASPD <@ba.vup>+45","name":"Tactical Chant γ","desc":"ASPD +45"},{"descRaw":"ATK <@ba.vup>+55%. Makes the ally with the highest Max HP within Attack Range more likely to be attacked by enemies, and when this ally receives an enemy attack, Vendela deals <@ba.vup>20% ATK as Arts damage to the attacker and activates her Trait on the ally","name":"Umbrage of Thorns","desc":"ATK +55%. Makes the ally with the highest Max HP within Attack Range more likely to be attacked by enemies, and when this ally receives an enemy attack, Vendela deals 20% ATK as Arts damage to the attacker and activates her Trait on the ally"}],"_h":"s2uli5yz6dwx93047v04hu8vzb2c6dwx93"},"chess_char_1_06_b":{"name":"Vendela","subProfessionName":"Incantation Medic","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>60% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 60% of the damage dealt"},"skill":{"descRaw":"ATK <@ba.vup>+75%. Makes the ally with the highest Max HP within Attack Range more likely to be attacked by enemies, and when this ally receives an enemy attack, Vendela deals <@ba.vup>30% ATK as Arts damage to the attacker and activates her Trait on the ally","name":"Umbrage of Thorns","desc":"ATK +75%. Makes the ally with the highest Max HP within Attack Range more likely to be attacked by enemies, and when this ally receives an enemy attack, Vendela deals 30% ATK as Arts damage to the attacker and activates her Trait on the ally"},"talents":[{"descRaw":"The ally with the highest Max HP within range receives 15% more healing","name":"Soil Fertilizer Enhancement","desc":"The ally with the highest Max HP within range receives 15% more healing"}],"module":{"name":"Broken Rose"},"skills":[{"descRaw":"ASPD <@ba.vup>+60","name":"Tactical Chant γ","desc":"ASPD +60"},{"descRaw":"ATK <@ba.vup>+75%. Makes the ally with the highest Max HP within Attack Range more likely to be attacked by enemies, and when this ally receives an enemy attack, Vendela deals <@ba.vup>30% ATK as Arts damage to the attacker and activates her Trait on the ally","name":"Umbrage of Thorns","desc":"ATK +75%. Makes the ally with the highest Max HP within Attack Range more likely to be attacked by enemies, and when this ally receives an enemy attack, Vendela deals 30% ATK as Arts damage to the attacker and activates her Trait on the ally"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>50% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 50% of the damage dealt"},"talentsBase":[{"descRaw":"The ally with the highest Max HP within range receives 15% more healing","name":"Soil Fertilizer Enhancement","desc":"The ally with the highest Max HP within range receives 15% more healing"}],"modules":[{"name":"Broken Rose","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>60% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 60% of the damage dealt"}}],"_h":"s2uluary4owxlot87vt8hutwzbvd4owxloi5yzt87vt8huuary"},"chess_char_1_07_a":{"name":"Provence","subProfessionName":"Heavyshooter","trait":{"descRaw":"High accuracy point-blank shot","desc":"High accuracy point-blank shot"},"skill":{"descRaw":"ATK <@ba.vup>+12% every time the HP of the target <@ba.vup>falls by 20%","name":"Wolf's Eye","desc":"ATK +12% every time the HP of the target falls by 20%"},"talents":[{"descRaw":"Has a 20% chance to increase the ATK of the current attack to 140% when attacking, and the chance increases to 50% when an enemy is in the frontal tile","name":"Hunter's Arrow","desc":"Has a 20% chance to increase the ATK of the current attack to 140% when attacking, and the chance increases to 50% when an enemy is in the frontal tile"}],"module":{"name":"Tail-Care Suit"},"skills":[{"descRaw":"ATK <@ba.vup>+12% every time the HP of the target <@ba.vup>falls by 20%","name":"Wolf's Eye","desc":"ATK +12% every time the HP of the target falls by 20%"},{"descRaw":"ATK <@ba.vup>+145%, but Normal Attack will not target enemies with over <@ba.vdown>80% HP","name":"Prey Seeker","desc":"ATK +145%, but Normal Attack will not target enemies with over 80% HP"}],"_h":"39l9qxqxspudbloponopncspudblv0e9dx"},"chess_char_1_07_b":{"name":"Provence","subProfessionName":"Heavyshooter","trait":{"descRaw":"High accuracy point-blank shot","moduleDescRaw":"Redeployment Time <@ba.kw>reduced","desc":"High accuracy point-blank shot","moduleDesc":"Redeployment Time reduced"},"skill":{"descRaw":"ATK <@ba.vup>+16% every time the HP of the target <@ba.vup>falls by 20%","name":"Wolf's Eye","desc":"ATK +16% every time the HP of the target falls by 20%"},"talents":[{"descRaw":"Has a 20% chance to increase the ATK of the current attack to 180% when attacking and the chance increases to 50% when an enemy is in the frontal tile","name":"Hunter's Arrow","desc":"Has a 20% chance to increase the ATK of the current attack to 180% when attacking and the chance increases to 50% when an enemy is in the frontal tile"}],"module":{"name":"Tail-Care Suit"},"skills":[{"descRaw":"ATK <@ba.vup>+16% every time the HP of the target <@ba.vup>falls by 20%","name":"Wolf's Eye","desc":"ATK +16% every time the HP of the target falls by 20%"},{"descRaw":"ATK <@ba.vup>+160%, but Normal Attack will not target enemies with over <@ba.vdown>80% HP","name":"Prey Seeker","desc":"ATK +160%, but Normal Attack will not target enemies with over 80% HP"}],"traitBase":{"descRaw":"High accuracy point-blank shot","desc":"High accuracy point-blank shot"},"talentsBase":[{"descRaw":"Has a 20% chance to increase the ATK of the current attack to 180% when attacking and the chance increases to 50% when an enemy is in the frontal tile","name":"Hunter's Arrow","desc":"Has a 20% chance to increase the ATK of the current attack to 180% when attacking and the chance increases to 50% when an enemy is in the frontal tile"}],"modules":[{"name":"Tail-Care Suit","traitOverride":{"descRaw":"High accuracy point-blank shot","moduleDescRaw":"Redeployment Time <@ba.kw>reduced","desc":"High accuracy point-blank shot","moduleDesc":"Redeployment Time reduced"}}],"_h":"39l9qxigqxugw5udwtk5onk5ncw5udwtd5e9qmqxqxk5onk5ncqxigqxug"},"chess_char_1_08_a":{"name":"Texas","subProfessionName":"Pioneer","trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"skill":{"descRaw":"Immediately gains <@ba.vup>10 DP; Deals <@ba.vup>120% ATK as Arts damage <@ba.vup>twice to all nearby enemies and <$ba.stun>Stuns them for <@ba.vup>2 seconds","name":"Sword Rain","desc":"Immediately gains 10 DP; Deals 120% ATK as Arts damage twice to all nearby enemies and Stuns them for 2 seconds"},"talents":[{"descRaw":"Gains 1 extra DP when Texas is in the squad","name":"Tactical Delivery","desc":"Gains 1 extra DP when Texas is in the squad"}],"module":{"name":"Private Field Supply Package"},"skills":[{"descRaw":"Instantly gains <@ba.vup>12 Deployment Points.","name":"Charge γ","desc":"Instantly gains 12 Deployment Points."},{"descRaw":"Immediately gains <@ba.vup>10 DP; Deals <@ba.vup>120% ATK as Arts damage <@ba.vup>twice to all nearby enemies and <$ba.stun>Stuns them for <@ba.vup>2 seconds","name":"Sword Rain","desc":"Immediately gains 10 DP; Deals 120% ATK as Arts damage twice to all nearby enemies and Stuns them for 2 seconds"}],"_h":"uetwtltleku4fs96v5966l053k0eeku4fs"},"chess_char_1_08_b":{"name":"Texas","subProfessionName":"Pioneer","trait":{"descRaw":"Blocks 2 enemies","moduleDescRaw":"The first Deployment Cost -4","desc":"Blocks 2 enemies","moduleDesc":"The first Deployment Cost -4"},"skill":{"descRaw":"Immediately gains <@ba.vup>11 DP; Deals <@ba.vup>135% ATK as Arts damage <@ba.vup>twice to all nearby enemies and <$ba.stun>Stuns them for <@ba.vup>2 seconds","name":"Sword Rain","desc":"Immediately gains 11 DP; Deals 135% ATK as Arts damage twice to all nearby enemies and Stuns them for 2 seconds"},"talents":[{"descRaw":"Gains 2 extra DP when Texas is in the squad","name":"Tactical Delivery","desc":"Gains 2 extra DP when Texas is in the squad"}],"module":{"name":"Private Field Supply Package"},"skills":[{"descRaw":"Instantly gains <@ba.vup>12 Deployment Points.","name":"Charge γ","desc":"Instantly gains 12 Deployment Points."},{"descRaw":"Immediately gains <@ba.vup>11 DP; Deals <@ba.vup>135% ATK as Arts damage <@ba.vup>twice to all nearby enemies and <$ba.stun>Stuns them for <@ba.vup>2 seconds","name":"Sword Rain","desc":"Immediately gains 11 DP; Deals 135% ATK as Arts damage twice to all nearby enemies and Stuns them for 2 seconds"}],"traitBase":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"talentsBase":[{"descRaw":"Gains 2 extra DP when Texas is in the squad","name":"Tactical Delivery","desc":"Gains 2 extra DP when Texas is in the squad"}],"modules":[{"name":"Private Field Supply Package","traitOverride":{"descRaw":"Blocks 2 enemies","moduleDescRaw":"The first Deployment Cost -4","desc":"Blocks 2 enemies","moduleDesc":"The first Deployment Cost -4"}}],"_h":"uetwtljytljynfu40zjlv5jl6l053k0enfu40ztltljlv5jl6ltljytljy"},"chess_char_1_09_a":{"name":"Caper","subProfessionName":"Loopshooter","trait":{"descRaw":"Can only attack while holding a <@ba.kw>boomerang projectile (projectile takes time to return)","desc":"Can only attack while holding a boomerang projectile (projectile takes time to return)"},"skill":{"descRaw":"ATK <@ba.vup>+25%, each attack fires <@ba.vup>1 more boomerang projectile","name":"Double the Fun","desc":"ATK +25%, each attack fires 1 more boomerang projectile"},"talents":[{"descRaw":"When attacking, 25% chance to increase that attack's ATK to 130%","name":"Larking About","desc":"When attacking, 25% chance to increase that attack's ATK to 130%"}],"module":{"name":"Where the Warmth Remains"},"skills":[{"descRaw":"Increases the ATK of next attack to <@ba.vup>185%","name":"Power Strike β","desc":"Increases the ATK of next attack to 185%"},{"descRaw":"ATK <@ba.vup>+25%, each attack fires <@ba.vup>1 more boomerang projectile","name":"Double the Fun","desc":"ATK +25%, each attack fires 1 more boomerang projectile"}],"_h":"fnb77vrhrnkzkb3ohf3ozxgj2j22rnkzkb"},"chess_char_1_09_b":{"name":"Caper","subProfessionName":"Loopshooter","trait":{"descRaw":"Can only attack while holding a <@ba.kw>boomerang projectile (projectile takes time to return)","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking enemies within the 8 surrounding tiles","desc":"Can only attack while holding a boomerang projectile (projectile takes time to return)","moduleDesc":"Increases ATK to 110% when attacking enemies within the 8 surrounding tiles"},"skill":{"descRaw":"ATK <@ba.vup>+40%, each attack fires <@ba.vup>1 more boomerang projectile","name":"Double the Fun","desc":"ATK +40%, each attack fires 1 more boomerang projectile"},"talents":[{"descRaw":"When attacking, 25% chance to increase that attack's ATK to 150%","name":"Larking About","desc":"When attacking, 25% chance to increase that attack's ATK to 150%"}],"module":{"name":"Where the Warmth Remains"},"skills":[{"descRaw":"Increases the ATK of next attack to <@ba.vup>200%","name":"Power Strike β","desc":"Increases the ATK of next attack to 200%"},{"descRaw":"ATK <@ba.vup>+40%, each attack fires <@ba.vup>1 more boomerang projectile","name":"Double the Fun","desc":"ATK +40%, each attack fires 1 more boomerang projectile"}],"traitBase":{"descRaw":"Can only attack while holding a <@ba.kw>boomerang projectile (projectile takes time to return)","desc":"Can only attack while holding a boomerang projectile (projectile takes time to return)"},"talentsBase":[{"descRaw":"When attacking, 25% chance to increase that attack's ATK to 150%","name":"Larking About","desc":"When attacking, 25% chance to increase that attack's ATK to 150%"}],"modules":[{"name":"Where the Warmth Remains","traitOverride":{"descRaw":"Can only attack while holding a <@ba.kw>boomerang projectile (projectile takes time to return)","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking enemies within the 8 surrounding tiles","desc":"Can only attack while holding a boomerang projectile (projectile takes time to return)","moduleDesc":"Increases ATK to 110% when attacking enemies within the 8 surrounding tiles"}}],"_h":"fnb77v67rhrpz6kzz066hf66zxgt2juwz6kzz07vrh66hf66zx7v67rhrp"},"chess_char_1_10_a":{"name":"Gummy","subProfessionName":"Guardian","trait":{"descRaw":"Can heal allies by using skill(s)","desc":"Can heal allies by using skill(s)"},"skill":{"descRaw":"Restores the HP of a nearby ally by <@ba.vup>115% of Gummy's ATK in the next attack\n<@ba.rem>Can store 1 charge(s)","name":"Provisions","desc":"Restores the HP of a nearby ally by 115% of Gummy's ATK in the next attack\nCan store 1 charge(s)"},"talents":[{"descRaw":"When attacking, has a 10% chance to deal 150% damage and <$ba.stun>Stun the target for 0.5 seconds","name":"Frying Pan Specialist","desc":"When attacking, has a 10% chance to deal 150% damage and Stun the target for 0.5 seconds"}],"module":{"name":"Медовые Пряники"},"skills":[{"descRaw":"Restores the HP of a nearby ally by <@ba.vup>115% of Gummy's ATK in the next attack\n<@ba.rem>Can store 1 charge(s)","name":"Provisions","desc":"Restores the HP of a nearby ally by 115% of Gummy's ATK in the next attack\nCan store 1 charge(s)"},{"descRaw":"Starts cooking and stops attacking for <@ba.vdown>10 seconds; DEF <@ba.vup>+60%\nFocuses on healing nearby allies after finishing cooking; ATK <@ba.vup>+40%","name":"Cooking","desc":"Starts cooking and stops attacking for 10 seconds; DEF +60%\nFocuses on healing nearby allies after finishing cooking; ATK +40%"}],"_h":"z4xwayayihs7wmbro5h5dlihs7wmbfwndv"},"chess_char_1_10_b":{"name":"Gummy","subProfessionName":"Guardian","trait":{"descRaw":"Can heal allies by using skill(s)","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Can heal allies by using skill(s)","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"},"skill":{"descRaw":"Restores the HP of a nearby ally by <@ba.vup>130% of Gummy's ATK in the next attack\n<@ba.rem>Can store 2 charge(s)","name":"Provisions","desc":"Restores the HP of a nearby ally by 130% of Gummy's ATK in the next attack\nCan store 2 charge(s)"},"talents":[{"descRaw":"When attacking, has a 15% chance to deal 200% damage and <$ba.stun>Stun the target for 1 second","name":"Frying Pan Specialist","desc":"When attacking, has a 15% chance to deal 200% damage and Stun the target for 1 second"}],"module":{"name":"Медовые Пряники"},"skills":[{"descRaw":"Restores the HP of a nearby ally by <@ba.vup>130% of Gummy's ATK in the next attack\n<@ba.rem>Can store 2 charge(s)","name":"Provisions","desc":"Restores the HP of a nearby ally by 130% of Gummy's ATK in the next attack\nCan store 2 charge(s)"},{"descRaw":"Starts cooking and stops attacking for <@ba.vdown>10 seconds; DEF <@ba.vup>+70%\nFocuses on healing nearby allies after finishing cooking; ATK <@ba.vup>+50%","name":"Cooking","desc":"Starts cooking and stops attacking for 10 seconds; DEF +70%\nFocuses on healing nearby allies after finishing cooking; ATK +50%"}],"traitBase":{"descRaw":"Can heal allies by using skill(s)","desc":"Can heal allies by using skill(s)"},"talentsBase":[{"descRaw":"When attacking, has a 15% chance to deal 200% damage and <$ba.stun>Stun the target for 1 second","name":"Frying Pan Specialist","desc":"When attacking, has a 15% chance to deal 200% damage and Stun the target for 1 second"}],"modules":[{"name":"Медовые Пряники","traitOverride":{"descRaw":"Can heal allies by using skill(s)","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Can heal allies by using skill(s)","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"}}],"_h":"z4xwaybyaydw1hs796cco5s4dl1hs7960fwnrrayaycco5s4dlaybyaydw"},"chess_char_1_11_a":{"name":"Earthspirit","subProfessionName":"Decel Binder","trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skill":{"descRaw":"ATK <@ba.vup>+35%","name":"ATK Up β","desc":"ATK +35%"},"module":{"name":"Application Forms, To Be Confirmed"},"skills":[{"descRaw":"ATK <@ba.vup>+35%","name":"ATK Up β","desc":"ATK +35%"},{"descRaw":"<@ba.vdown>Stops attacking; Enemies within range are <$ba.sluggish>Slowed every <@ba.vup>1.7 seconds","name":"Quicksand Conversion","desc":"Stops attacking; Enemies within range are Slowed every 1.7 seconds"}],"_h":"j2f2pn83yje270w4yje270cqmjub"},"chess_char_1_11_b":{"name":"Earthspirit","subProfessionName":"Decel Binder","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and <$ba.sluggish>Slow the enemy for a <@ba.kw>moderate period of time","desc":"Attacks deal Arts damage, and Slow the enemy for a moderate period of time"},"skill":{"descRaw":"ATK <@ba.vup>+50%","name":"ATK Up β","desc":"ATK +50%"},"talents":[{"descRaw":"Extends <$ba.sluggish>Slow duration slightly","name":"Geological Survey","desc":"Extends Slow duration slightly"}],"module":{"name":"Application Forms, To Be Confirmed"},"skills":[{"descRaw":"ATK <@ba.vup>+50%","name":"ATK Up β","desc":"ATK +50%"},{"descRaw":"<@ba.vdown>Stops attacking; Enemies within range are <$ba.sluggish>Slowed every <@ba.vup>1.6 seconds","name":"Quicksand Conversion","desc":"Stops attacking; Enemies within range are Slowed every 1.6 seconds"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"talentsBase":[{"descRaw":"Extends <$ba.sluggish>Slow duration slightly","name":"Geological Survey","desc":"Extends Slow duration slightly"}],"modules":[{"name":"Application Forms, To Be Confirmed","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and <$ba.sluggish>Slow the enemy for a <@ba.kw>moderate period of time","desc":"Attacks deal Arts damage, and Slow the enemy for a moderate period of time"}}],"_h":"j2f2uw081ie2d71m1r74w41ie2d7mnmjoipn831m1r74w4uw08"},"chess_char_1_12_a":{"name":"Estelle","subProfessionName":"Centurion","trait":{"descRaw":"Attacks <@ba.kw>all blocked enemies","desc":"Attacks all blocked enemies"},"skill":{"descRaw":"ATK <@ba.vup>+100%; Cannot be healed by allies","name":"Sacrificial Strike","desc":"ATK +100%; Cannot be healed by allies"},"talents":[{"descRaw":"Restores HP by 7% of Max HP when there is an enemy killed within the 8 surrounding tiles","name":"Self-Healing","desc":"Restores HP by 7% of Max HP when there is an enemy killed within the 8 surrounding tiles"}],"module":{"name":"Farewell Gifts from the Wildlands"},"skills":[{"descRaw":"ATK <@ba.vup>+35%","name":"ATK Up β","desc":"ATK +35%"},{"descRaw":"ATK <@ba.vup>+100%; Cannot be healed by allies","name":"Sacrificial Strike","desc":"ATK +100%; Cannot be healed by allies"}],"_h":"e3graaye0jo946cr2vcr4pyje2700jo946"},"chess_char_1_12_b":{"name":"Estelle","subProfessionName":"Centurion","trait":{"descRaw":"Attacks <@ba.kw>all blocked enemies","moduleDescRaw":"While above 50% HP, reduces the amount of Physical damage taken by <@ba.kw>20%","desc":"Attacks all blocked enemies","moduleDesc":"While above 50% HP, reduces the amount of Physical damage taken by 20%"},"skill":{"descRaw":"ATK <@ba.vup>+115%; Cannot be healed by allies","name":"Sacrificial Strike","desc":"ATK +115%; Cannot be healed by allies"},"talents":[{"descRaw":"Restores HP by 12% of Max HP when there is an enemy killed within the 8 surrounding tiles","name":"Self-Healing","desc":"Restores HP by 12% of Max HP when there is an enemy killed within the 8 surrounding tiles"}],"module":{"name":"Farewell Gifts from the Wildlands"},"skills":[{"descRaw":"ATK <@ba.vup>+50%","name":"ATK Up β","desc":"ATK +50%"},{"descRaw":"ATK <@ba.vup>+115%; Cannot be healed by allies","name":"Sacrificial Strike","desc":"ATK +115%; Cannot be healed by allies"}],"traitBase":{"descRaw":"Attacks <@ba.kw>all blocked enemies","desc":"Attacks all blocked enemies"},"talentsBase":[{"descRaw":"Restores HP by 12% of Max HP when there is an enemy killed within the 8 surrounding tiles","name":"Self-Healing","desc":"Restores HP by 12% of Max HP when there is an enemy killed within the 8 surrounding tiles"}],"modules":[{"name":"Farewell Gifts from the Wildlands","traitOverride":{"descRaw":"Attacks <@ba.kw>all blocked enemies","moduleDescRaw":"While above 50% HP, reduces the amount of Physical damage taken by <@ba.kw>20%","desc":"Attacks all blocked enemies","moduleDesc":"While above 50% HP, reduces the amount of Physical damage taken by 20%"}}],"_h":"e3graaxwye82iho968272v274p1ie2d7iho968aaye272v274paaxwye82"},"chess_char_1_13_a":{"name":"Podenco","subProfessionName":"Decel Binder","trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skill":{"descRaw":"Throws a vial that, upon shattering, releases a cloud of spores for <@ba.vup>5 seconds\nAll enemies within the spore cloud are <$ba.sluggish>Slowed and silenced, and receive <@ba.vup>50% Arts damage every second","name":"Spread Spores","desc":"Throws a vial that, upon shattering, releases a cloud of spores for 5 seconds\nAll enemies within the spore cloud are Slowed and silenced, and receive 50% Arts damage every second"},"talents":[{"descRaw":"When deployed, all Supporter Operators gain +5% ATK","name":"Gardener","desc":"When deployed, all Supporter Operators gain +5% ATK"}],"module":{"name":"'Amaranthine Nursery'"},"skills":[{"descRaw":"ATK <@ba.vup>+20%, now <@ba.vup>heals allied units instead of attacking","name":"Aromatherapy","desc":"ATK +20%, now heals allied units instead of attacking"},{"descRaw":"Throws a vial that, upon shattering, releases a cloud of spores for <@ba.vup>5 seconds\nAll enemies within the spore cloud are <$ba.sluggish>Slowed and silenced, and receive <@ba.vup>50% Arts damage every second","name":"Spread Spores","desc":"Throws a vial that, upon shattering, releases a cloud of spores for 5 seconds\nAll enemies within the spore cloud are Slowed and silenced, and receive 50% Arts damage every second"}],"_h":"vjf2pn834s1f7613yj13ox3trr4z4s1f76"},"chess_char_1_13_b":{"name":"Podenco","subProfessionName":"Decel Binder","trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","moduleDescRaw":"SP recovery +0.2/s when there are enemies within range","desc":"Deals Arts damage and Slows the target for a short time","moduleDesc":"SP recovery +0.2/s when there are enemies within range"},"skill":{"descRaw":"Throws a vial that, upon shattering, releases a cloud of spores for <@ba.vup>5 seconds\nAll enemies within the spore cloud are <$ba.sluggish>Slowed and silenced, and receive <@ba.vup>60% Arts damage every second","name":"Spread Spores","desc":"Throws a vial that, upon shattering, releases a cloud of spores for 5 seconds\nAll enemies within the spore cloud are Slowed and silenced, and receive 60% Arts damage every second"},"talents":[{"descRaw":"When deployed, all Supporter Operators gain +9% ATK","name":"Gardener","desc":"When deployed, all Supporter Operators gain +9% ATK"}],"module":{"name":"'Amaranthine Nursery'"},"skills":[{"descRaw":"ATK <@ba.vup>+30%, now <@ba.vup>heals allied units instead of attacking","name":"Aromatherapy","desc":"ATK +30%, now heals allied units instead of attacking"},{"descRaw":"Throws a vial that, upon shattering, releases a cloud of spores for <@ba.vup>5 seconds\nAll enemies within the spore cloud are <$ba.sluggish>Slowed and silenced, and receive <@ba.vup>60% Arts damage every second","name":"Spread Spores","desc":"Throws a vial that, upon shattering, releases a cloud of spores for 5 seconds\nAll enemies within the spore cloud are Slowed and silenced, and receive 60% Arts damage every second"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"talentsBase":[{"descRaw":"When deployed, all Supporter Operators gain +9% ATK","name":"Gardener","desc":"When deployed, all Supporter Operators gain +9% ATK"}],"modules":[{"name":"'Amaranthine Nursery'","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","moduleDescRaw":"SP recovery +0.2/s when there are enemies within range","desc":"Deals Arts damage and Slows the target for a short time","moduleDesc":"SP recovery +0.2/s when there are enemies within range"}}],"_h":"vjf2pn0i830iah1fldmjyjmjoxyurrwyah1fldpn83mjyjmjoxpn0i830i"},"chess_char_1_14_a":{"name":"Greyy","subProfessionName":"Splash Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"skill":{"descRaw":"ASPD <@ba.vup>+50. The duration of the Talent's <$ba.sluggish>Slow increases to <@ba.vup>1.6 times","name":"Electrostatic Discharge","desc":"ASPD +50. The duration of the Talent's Slow increases to 1.6 times"},"talents":[{"descRaw":"<$ba.sluggish>Slows the target for 0.4 seconds when attacking","name":"Electrostatic Field","desc":"Slows the target for 0.4 seconds when attacking"}],"module":{"name":"New Beginning"},"skills":[{"descRaw":"ASPD <@ba.vup>+30","name":"Tactical Chant β","desc":"ASPD +30"},{"descRaw":"ASPD <@ba.vup>+50. The duration of the Talent's <$ba.sluggish>Slow increases to <@ba.vup>1.6 times","name":"Electrostatic Discharge","desc":"ASPD +50. The duration of the Talent's Slow increases to 1.6 times"}],"_h":"1mkin1hb3nkfinga3v8ococ3ban83nkfin"},"chess_char_1_14_b":{"name":"Greyy","subProfessionName":"Splash Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"<@ba.kw>Reduces Deployment Cost","desc":"Deals AOE Arts damage","moduleDesc":"Reduces Deployment Cost"},"skill":{"descRaw":"ASPD <@ba.vup>+65. The duration of the Talent's <$ba.sluggish>Slow increases to <@ba.vup>1.7 times","name":"Electrostatic Discharge","desc":"ASPD +65. The duration of the Talent's Slow increases to 1.7 times"},"talents":[{"descRaw":"<$ba.sluggish>Slows the target for 0.6 seconds when attacking","name":"Electrostatic Field","desc":"Slows the target for 0.6 seconds when attacking"}],"module":{"name":"New Beginning"},"skills":[{"descRaw":"ASPD <@ba.vup>+45","name":"Tactical Chant β","desc":"ASPD +45"},{"descRaw":"ASPD <@ba.vup>+65. The duration of the Talent's <$ba.sluggish>Slow increases to <@ba.vup>1.7 times","name":"Electrostatic Discharge","desc":"ASPD +65. The duration of the Talent's Slow increases to 1.7 times"}],"traitBase":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"talentsBase":[{"descRaw":"<$ba.sluggish>Slows the target for 0.6 seconds when attacking","name":"Electrostatic Field","desc":"Slows the target for 0.6 seconds when attacking"}],"modules":[{"name":"New Beginning","traitOverride":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"<@ba.kw>Reduces Deployment Cost","desc":"Deals AOE Arts damage","moduleDesc":"Reduces Deployment Cost"}}],"_h":"1mkin1jyhbzapckf1uog3vymco8vba2cpckf1un1hbog3vymcon1jyhbza"},"chess_char_1_15_a":{"name":"Alliance/Supportive Operator","subProfessionName":"Ritualist","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Injury","desc":"Attacks deal Arts damage, and can inflict Elemental Injury"},"skill":{"descRaw":"<@ba.vup>+70 ASPD, and attacks 2 targets simultaneously","name":"Tactical Chant Gemini","desc":"+70 ASPD, and attacks 2 targets simultaneously"},"talents":[{"descRaw":"Attacks also deal 18% ATK as <$ba.dt.neural2>Nervous Impairment (prioritized), <$ba.dt.burning2>Burn, and <$ba.dt.apoptosis2>Necrosis, prioritizing enemies not under a burst effect","name":"Alternating Elements","desc":"Attacks also deal 18% ATK as Nervous Impairment (prioritized), Burn, and Necrosis, prioritizing enemies not under a burst effect"},{"descRaw":"Part of [Harmony] Alliance in [Stronghold Protocol]","name":"Flexible Treaty","desc":"Part of [Harmony] Alliance in [Stronghold Protocol]"}],"module":{"name":"Alliance/Supportive Operator's Badge"},"skills":[{"descRaw":"<@ba.vup>+70 ASPD, and attacks 2 targets simultaneously","name":"Tactical Chant Gemini","desc":"+70 ASPD, and attacks 2 targets simultaneously"}],"_h":"9dcpi24ybihwozq0qqmevrjqvr1cbihwoz"},"chess_char_1_15_b":{"name":"Alliance/Supportive Operator","subProfessionName":"Ritualist","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Injury","moduleDescRaw":"Elemental Injury dealt to Elite and Leader enemies increases by <@ba.kw>18%","desc":"Attacks deal Arts damage, and can inflict Elemental Injury","moduleDesc":"Elemental Injury dealt to Elite and Leader enemies increases by 18%"},"skill":{"descRaw":"<@ba.vup>+80 ASPD, and attacks 2 targets simultaneously","name":"Tactical Chant Gemini","desc":"+80 ASPD, and attacks 2 targets simultaneously"},"talents":[{"descRaw":"Attacks also deal 18% ATK as <$ba.dt.neural2>Nervous Impairment (prioritized), <$ba.dt.burning2>Burn, and <$ba.dt.apoptosis2>Necrosis, prioritizing enemies not under a burst effect","name":"Alternating Elements","desc":"Attacks also deal 18% ATK as Nervous Impairment (prioritized), Burn, and Necrosis, prioritizing enemies not under a burst effect"},{"descRaw":"Part of [Harmony] Alliance in [Stronghold Protocol]","name":"Flexible Treaty","desc":"Part of [Harmony] Alliance in [Stronghold Protocol]"}],"module":{"name":"Alliance/Supportive Operator's Badge"},"skills":[{"descRaw":"<@ba.vup>+80 ASPD, and attacks 2 targets simultaneously","name":"Tactical Chant Gemini","desc":"+80 ASPD, and attacks 2 targets simultaneously"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Injury","desc":"Attacks deal Arts damage, and can inflict Elemental Injury"},"talentsBase":[{"descRaw":"Attacks also deal 18% ATK as <$ba.dt.neural2>Nervous Impairment (prioritized), <$ba.dt.burning2>Burn, and <$ba.dt.apoptosis2>Necrosis, prioritizing enemies not under a burst effect","name":"Alternating Elements","desc":"Attacks also deal 18% ATK as Nervous Impairment (prioritized), Burn, and Necrosis, prioritizing enemies not under a burst effect"},{"descRaw":"Part of [Harmony] Alliance in [Stronghold Protocol]","name":"Flexible Treaty","desc":"Part of [Harmony] Alliance in [Stronghold Protocol]"}],"modules":[{"name":"Alliance/Supportive Operator's Badge","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Injury","moduleDescRaw":"Elemental Injury dealt to Elite and Leader enemies increases by <@ba.kw>18%","desc":"Attacks deal Arts damage, and can inflict Elemental Injury","moduleDesc":"Elemental Injury dealt to Elite and Leader enemies increases by 18%"},"talentChanges":[{"descRaw":"Attacks also deal 18% ATK as <$ba.dt.neural2>Nervous Impairment (prioritized), <$ba.dt.burning2>Burn, and <$ba.dt.apoptosis2>Necrosis, prioritizing enemies not under a burst effect","name":"Alternating Elements","desc":"Attacks also deal 18% ATK as Nervous Impairment (prioritized), Burn, and Necrosis, prioritizing enemies not under a burst effect"}]}],"_h":"9dcpi25g4yj66lhwy6q0qqmevrjqvr1c6lhwy6i24yq0qqmevrjqvr1ci25g4yj6q0qqme"},"chess_char_1_16_a":{"name":"Tin Man","subProfessionName":"Alchemist","trait":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","desc":"Can throw Alchemical Units to assist in combat"},"skill":{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>11 seconds, enemies around the landing point take <@ba.vup>65% ATK as Arts damage per second, while allied units around the point recover HP equal to <@ba.vup>15% ATK per second\n<@ba.rem>Can store 1 charge","name":"'Big Larry'","desc":"Throws an Alchemical Unit. For 11 seconds, enemies around the landing point take 65% ATK as Arts damage per second, while allied units around the point recover HP equal to 15% ATK per second\nCan store 1 charge"},"talents":[{"descRaw":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +3 Toil Limit when acting as a Loadbearing Operator","name":"'On My Way'","desc":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +3 Toil Limit when acting as a Loadbearing Operator"}],"module":{"name":"'Phrenology'"},"skills":[{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>8 seconds, enemies around the landing point suffer from <@ba.vup>20% <$ba.weaken>Enfeeble and take <@ba.vup>45% ATK as Arts damage per second","name":"'Ol' Curly'","desc":"Throws an Alchemical Unit. For 8 seconds, enemies around the landing point suffer from 20% Enfeeble and take 45% ATK as Arts damage per second"},{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>11 seconds, enemies around the landing point take <@ba.vup>65% ATK as Arts damage per second, while allied units around the point recover HP equal to <@ba.vup>15% ATK per second\n<@ba.rem>Can store 1 charge","name":"'Big Larry'","desc":"Throws an Alchemical Unit. For 11 seconds, enemies around the landing point take 65% ATK as Arts damage per second, while allied units around the point recover HP equal to 15% ATK per second\nCan store 1 charge"}],"_h":"7ms2yqta6bv84eieu7iejrcv43c96bv84e"},"chess_char_1_16_b":{"name":"Tin Man","subProfessionName":"Alchemist","trait":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","moduleDescRaw":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field","desc":"Can throw Alchemical Units to assist in combat","moduleDesc":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field"},"skill":{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>12 seconds, enemies around the landing point take <@ba.vup>80% ATK as Arts damage per second, while allied units around the point recover HP equal to <@ba.vup>20% ATK per second\n<@ba.rem>Can store 2 charges","name":"'Big Larry'","desc":"Throws an Alchemical Unit. For 12 seconds, enemies around the landing point take 80% ATK as Arts damage per second, while allied units around the point recover HP equal to 20% ATK per second\nCan store 2 charges"},"talents":[{"descRaw":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +9 Toil Limit when acting as a Loadbearing Operator","name":"'On My Way'","desc":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +9 Toil Limit when acting as a Loadbearing Operator"},{"descRaw":"Increases the continuous damage dealt to ground enemies in range of Tin Man's Alchemical Units by 20%","name":"Shriveled Soul","desc":"Increases the continuous damage dealt to ground enemies in range of Tin Man's Alchemical Units by 20%"}],"module":{"name":"'Phrenology'"},"skills":[{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>8 seconds, enemies around the landing point suffer from <@ba.vup>25% <$ba.weaken>Enfeeble and take <@ba.vup>60% ATK as Arts damage per second","name":"'Ol' Curly'","desc":"Throws an Alchemical Unit. For 8 seconds, enemies around the landing point suffer from 25% Enfeeble and take 60% ATK as Arts damage per second"},{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>12 seconds, enemies around the landing point take <@ba.vup>80% ATK as Arts damage per second, while allied units around the point recover HP equal to <@ba.vup>20% ATK per second\n<@ba.rem>Can store 2 charges","name":"'Big Larry'","desc":"Throws an Alchemical Unit. For 12 seconds, enemies around the landing point take 80% ATK as Arts damage per second, while allied units around the point recover HP equal to 20% ATK per second\nCan store 2 charges"}],"traitBase":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","desc":"Can throw Alchemical Units to assist in combat"},"talentsBase":[{"descRaw":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +9 Toil Limit when acting as a Loadbearing Operator","name":"'On My Way'","desc":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +9 Toil Limit when acting as a Loadbearing Operator"},{"descRaw":"Increases the continuous damage dealt to ground enemies in range of Tin Man's Alchemical Units by 20%","name":"Shriveled Soul","desc":"Increases the continuous damage dealt to ground enemies in range of Tin Man's Alchemical Units by 20%"}],"modules":[{"name":"'Phrenology'","traitOverride":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","moduleDescRaw":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field","desc":"Can throw Alchemical Units to assist in combat","moduleDesc":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field"}}],"_h":"7ms2yqkytaky72v8mto8u7o86xcg6xjrit43pl72v8mtyqtao8u7o86xcg6xjryqkytaky"},"chess_char_1_17_a":{"name":"Indigo","subProfessionName":"Mystic Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage; When unable to find a target, attacks can be <@ba.kw>stored up and fired all at once (Up to 3 charges)","desc":"Attacks deal Arts damage; When unable to find a target, attacks can be stored up and fired all at once (Up to 3 charges)"},"skill":{"descRaw":"Attack Interval <@ba.vup>reduces slightly and the activation rate of this unit's Talent increases to <@ba.vup>2.0 times. <$ba.root>Bound enemies within Attack Range receive Arts damage equal to <@ba.vup>12% of Indigo's ATK every <@ba.vup>0.5 seconds","name":"Labyrinth of Light","desc":"Attack Interval reduces slightly and the activation rate of this unit's Talent increases to 2.0 times. Bound enemies within Attack Range receive Arts damage equal to 12% of Indigo's ATK every 0.5 seconds"},"talents":[{"descRaw":"When attacking, has a 12% chance to <$ba.root>Bind the target for 4 seconds. Will not target Bound enemies","name":"Gentle Binding Gaze","desc":"When attacking, has a 12% chance to Bind the target for 4 seconds. Will not target Bound enemies"}],"module":{"name":"Staff Maintenance Kit"},"skills":[{"descRaw":"Attack range <@ba.vup>changes, attack interval is <@ba.vup>significantly reduced , and each attack deals <@ba.vup>35% ATK as Arts damage","name":"Lighthouse Guardian","desc":"Attack range changes, attack interval is significantly reduced , and each attack deals 35% ATK as Arts damage"},{"descRaw":"Attack Interval <@ba.vup>reduces slightly and the activation rate of this unit's Talent increases to <@ba.vup>2.0 times. <$ba.root>Bound enemies within Attack Range receive Arts damage equal to <@ba.vup>12% of Indigo's ATK every <@ba.vup>0.5 seconds","name":"Labyrinth of Light","desc":"Attack Interval reduces slightly and the activation rate of this unit's Talent increases to 2.0 times. Bound enemies within Attack Range receive Arts damage equal to 12% of Indigo's ATK every 0.5 seconds"}],"_h":"7pxcy8q0fd61h3zj3qa5n2ha2ybffd61h3"},"chess_char_1_17_b":{"name":"Indigo","subProfessionName":"Mystic Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage; When unable to find a target, attacks can be <@ba.kw>stored up and fired all at once (Up to 4 charges)","desc":"Attacks deal Arts damage; When unable to find a target, attacks can be stored up and fired all at once (Up to 4 charges)"},"skill":{"descRaw":"Attack Interval <@ba.vup>reduces moderately and the activation rate of this unit's Talent increases to <@ba.vup>2.5 times. <$ba.root>Bound enemies within Attack Range receive Arts damage equal to <@ba.vup>15% of Indigo's ATK every <@ba.vup>0.5 seconds","name":"Labyrinth of Light","desc":"Attack Interval reduces moderately and the activation rate of this unit's Talent increases to 2.5 times. Bound enemies within Attack Range receive Arts damage equal to 15% of Indigo's ATK every 0.5 seconds"},"talents":[{"descRaw":"When attacking, has a 18% chance to <$ba.root>Bind the target for 4 seconds. Will not target Bound enemies","name":"Gentle Binding Gaze","desc":"When attacking, has a 18% chance to Bind the target for 4 seconds. Will not target Bound enemies"}],"module":{"name":"Staff Maintenance Kit"},"skills":[{"descRaw":"Attack range <@ba.vup>changes, attack interval is <@ba.vup>significantly reduced , and each attack deals <@ba.vup>40% ATK as Arts damage","name":"Lighthouse Guardian","desc":"Attack range changes, attack interval is significantly reduced , and each attack deals 40% ATK as Arts damage"},{"descRaw":"Attack Interval <@ba.vup>reduces moderately and the activation rate of this unit's Talent increases to <@ba.vup>2.5 times. <$ba.root>Bound enemies within Attack Range receive Arts damage equal to <@ba.vup>15% of Indigo's ATK every <@ba.vup>0.5 seconds","name":"Labyrinth of Light","desc":"Attack Interval reduces moderately and the activation rate of this unit's Talent increases to 2.5 times. Bound enemies within Attack Range receive Arts damage equal to 15% of Indigo's ATK every 0.5 seconds"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage; When unable to find a target, attacks can be <@ba.kw>stored up and fired all at once (Up to 3 charges)","desc":"Attacks deal Arts damage; When unable to find a target, attacks can be stored up and fired all at once (Up to 3 charges)"},"talentsBase":[{"descRaw":"When attacking, has a 18% chance to <$ba.root>Bind the target for 4 seconds. Will not target Bound enemies","name":"Gentle Binding Gaze","desc":"When attacking, has a 18% chance to Bind the target for 4 seconds. Will not target Bound enemies"}],"modules":[{"name":"Staff Maintenance Kit","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage; When unable to find a target, attacks can be <@ba.kw>stored up and fired all at once (Up to 4 charges)","desc":"Attacks deal Arts damage; When unable to find a target, attacks can be stored up and fired all at once (Up to 4 charges)"}}],"_h":"7pxcwxyxhn61q3cd3q8vn2re2yhnhn61q3y8q0cd3q8vn2wxyx"},"chess_char_1_18_a":{"name":"Utage","subProfessionName":"Soloblade","trait":{"descRaw":"Can't be healed by other units. Recovers <@ba.kw>50 self HP every time this operator attacks an enemy (Upgraded after reaching Elite 2)","desc":"Can't be healed by other units. Recovers 50 self HP every time this operator attacks an enemy (Upgraded after reaching Elite 2)"},"skill":{"descRaw":"After deployment, immediately loses <@ba.vdown>50% current HP. For <@ba.vup>14 seconds after deployment, ATK <@ba.vup>+65% and attacks deal <@ba.vup>Arts damage","name":"Descending Strike - Earth Splitter","desc":"After deployment, immediately loses 50% current HP. For 14 seconds after deployment, ATK +65% and attacks deal Arts damage"},"talents":[{"descRaw":"Gains up to +75 ASPD <$ba.berserk>Tenacity (reaches maximum bonus when losing 60% Max HP)","name":"Serious Mode","desc":"Gains up to +75 ASPD Tenacity (reaches maximum bonus when losing 60% Max HP)"}],"module":{"name":"Flip Phone"},"skills":[{"descRaw":"Stops attacking, Block becomes <@ba.vup>0, DEF <@ba.vup>+130%, and restores <@ba.vup>7% Max HP every second.","name":"Space Out","desc":"Stops attacking, Block becomes 0, DEF +130%, and restores 7% Max HP every second."},{"descRaw":"After deployment, immediately loses <@ba.vdown>50% current HP. For <@ba.vup>14 seconds after deployment, ATK <@ba.vup>+65% and attacks deal <@ba.vup>Arts damage","name":"Descending Strike - Earth Splitter","desc":"After deployment, immediately loses 50% current HP. For 14 seconds after deployment, ATK +65% and attacks deal Arts damage"}],"_h":"mr0k0sxggprkkwyajk129xlzp1pegprkkw"},"chess_char_1_18_b":{"name":"Utage","subProfessionName":"Soloblade","trait":{"descRaw":"Can't be healed by other units. Recovers <@ba.kw>70 self HP every time this operator attacks an enemy","moduleDescRaw":"Gain 25% <$ba.protect>Sanctuary when HP is below 50%","desc":"Can't be healed by other units. Recovers 70 self HP every time this operator attacks an enemy","moduleDesc":"Gain 25% Sanctuary when HP is below 50%"},"skill":{"descRaw":"After deployment, immediately loses <@ba.vdown>50% current HP. For <@ba.vup>15 seconds after deployment, ATK <@ba.vup>+80% and attacks deal <@ba.vup>Arts damage","name":"Descending Strike - Earth Splitter","desc":"After deployment, immediately loses 50% current HP. For 15 seconds after deployment, ATK +80% and attacks deal Arts damage"},"talents":[{"descRaw":"Gains up to +100 ASPD <$ba.berserk>Tenacity (reaches maximum bonus when losing 70% Max HP)","name":"Serious Mode","desc":"Gains up to +100 ASPD Tenacity (reaches maximum bonus when losing 70% Max HP)"}],"module":{"name":"Flip Phone"},"skills":[{"descRaw":"Stops attacking, Block becomes <@ba.vup>0, DEF <@ba.vup>+160%, and restores <@ba.vup>8% Max HP every second.","name":"Space Out","desc":"Stops attacking, Block becomes 0, DEF +160%, and restores 8% Max HP every second."},{"descRaw":"After deployment, immediately loses <@ba.vdown>50% current HP. For <@ba.vup>15 seconds after deployment, ATK <@ba.vup>+80% and attacks deal <@ba.vup>Arts damage","name":"Descending Strike - Earth Splitter","desc":"After deployment, immediately loses 50% current HP. For 15 seconds after deployment, ATK +80% and attacks deal Arts damage"}],"traitBase":{"descRaw":"Can't be healed by other units. Recovers <@ba.kw>70 self HP every time this operator attacks an enemy","desc":"Can't be healed by other units. Recovers 70 self HP every time this operator attacks an enemy"},"talentsBase":[{"descRaw":"Gains up to +100 ASPD <$ba.berserk>Tenacity (reaches maximum bonus when losing 70% Max HP)","name":"Serious Mode","desc":"Gains up to +100 ASPD Tenacity (reaches maximum bonus when losing 70% Max HP)"}],"modules":[{"name":"Flip Phone","traitOverride":{"descRaw":"Can't be healed by other units. Recovers <@ba.kw>70 self HP every time this operator attacks an enemy","moduleDescRaw":"Gain 25% <$ba.protect>Sanctuary when HP is below 50%","desc":"Can't be healed by other units. Recovers 70 self HP every time this operator attacks an enemy","moduleDesc":"Gain 25% Sanctuary when HP is below 50%"}}],"_h":"mr0keqnjmqiionrkhqjijk8e9xy5p11konrkhqeqmqjijk8e9xeqnjmqii"},"chess_char_1_19_a":{"name":"Wild Mane","subProfessionName":"Charger","trait":{"descRaw":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","desc":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated"},"skill":{"descRaw":"Attack Range expands, ATK <@ba.vup>+45%. Attacks will push the target towards the attack direction <@ba.vup>moderately","name":"Lance Charge","desc":"Attack Range expands, ATK +45%. Attacks will push the target towards the attack direction moderately"},"talents":[{"descRaw":"After the first deployment, all undeployed Guard Operators get DP Cost -1","name":"Forward March","desc":"After the first deployment, all undeployed Guard Operators get DP Cost -1"}],"module":{"name":"Spear Replacement Suit"},"skills":[{"descRaw":"After deployment, ASPD <@ba.vup>+80","name":"Stabbing Lance","desc":"After deployment, ASPD +80"},{"descRaw":"Attack Range expands, ATK <@ba.vup>+45%. Attacks will push the target towards the attack direction <@ba.vup>moderately","name":"Lance Charge","desc":"Attack Range expands, ATK +45%. Attacks will push the target towards the attack direction moderately"}],"_h":"ie83jwjwxwfdiqezcnezv8x4uxqdxwfdiq"},"chess_char_1_19_b":{"name":"Wild Mane","subProfessionName":"Charger","trait":{"descRaw":"Generates <@ba.vup>2 DP after this unit defeats an enemy; Refunds the <@ba.kw>current DP Cost when retreated","desc":"Generates 2 DP after this unit defeats an enemy; Refunds the current DP Cost when retreated"},"skill":{"descRaw":"Attack Range expands, ATK <@ba.vup>+60%. Attacks will push the target towards the attack direction <@ba.vup>moderately","name":"Lance Charge","desc":"Attack Range expands, ATK +60%. Attacks will push the target towards the attack direction moderately"},"talents":[{"descRaw":"After deployment, all undeployed Guard Operators get DP Cost -1 (each Operator can have a maximum of -5 DP Cost before each deployment)","name":"Forward March","desc":"After deployment, all undeployed Guard Operators get DP Cost -1 (each Operator can have a maximum of -5 DP Cost before each deployment)"}],"module":{"name":"Spear Replacement Suit"},"skills":[{"descRaw":"After deployment, ASPD <@ba.vup>+100","name":"Stabbing Lance","desc":"After deployment, ASPD +100"},{"descRaw":"Attack Range expands, ATK <@ba.vup>+60%. Attacks will push the target towards the attack direction <@ba.vup>moderately","name":"Lance Charge","desc":"Attack Range expands, ATK +60%. Attacks will push the target towards the attack direction moderately"}],"traitBase":{"descRaw":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","desc":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated"},"talentsBase":[{"descRaw":"After deployment, all undeployed Guard Operators get DP Cost -1 (each Operator can have a maximum of -5 DP Cost before each deployment)","name":"Forward March","desc":"After deployment, all undeployed Guard Operators get DP Cost -1 (each Operator can have a maximum of -5 DP Cost before each deployment)"}],"modules":[{"name":"Spear Replacement Suit","traitOverride":{"descRaw":"Generates <@ba.vup>2 DP after this unit defeats an enemy; Refunds the <@ba.kw>current DP Cost when retreated","desc":"Generates 2 DP after this unit defeats an enemy; Refunds the current DP Cost when retreated"}}],"_h":"ie835ml59zfdkjykcnykv8vruxpo9zfdkjjwjwykcnykv85ml5"},"chess_char_1_20_a":{"name":"Liskarm","subProfessionName":"Sentry Protector","trait":{"descRaw":"Blocks 3 enemies and attacks from long range.","desc":"Blocks 3 enemies and attacks from long range."},"skill":{"descRaw":"Attack Interval <@ba.vdown>increases, ATK <@ba.vup>+105%, attacks deal <@ba.vup>Arts damage to at most <@ba.vup>3 enemies and have <@ba.vup>15% chance to <$ba.stun>Stun the hit targets for <@ba.vup>1 seconds\n<@ba.rem>Liskarm is <$ba.stun>Stunned for 5 seconds after the skill duration","name":"Counter Arc","desc":"Attack Interval increases, ATK +105%, attacks deal Arts damage to at most 3 enemies and have 15% chance to Stun the hit targets for 1 seconds\nLiskarm is Stunned for 5 seconds after the skill duration"},"talents":[{"descRaw":"Restores 1 Skill Point to this Operator and a random ally in the surrounding tiles when attacked","name":"Tactical Defense","desc":"Restores 1 Skill Point to this Operator and a random ally in the surrounding tiles when attacked"}],"module":{"name":"Stunner's Storage"},"skills":[{"descRaw":"Blocks the next source of damage; DEF <@ba.vup>+60% for <@ba.vup>8 seconds\n<@ba.rem>Automatically activated","name":"Charged Defense","desc":"Blocks the next source of damage; DEF +60% for 8 seconds\nAutomatically activated"},{"descRaw":"Attack Interval <@ba.vdown>increases, ATK <@ba.vup>+105%, attacks deal <@ba.vup>Arts damage to at most <@ba.vup>3 enemies and have <@ba.vup>15% chance to <$ba.stun>Stun the hit targets for <@ba.vup>1 seconds\n<@ba.rem>Liskarm is <$ba.stun>Stunned for 5 seconds after the skill duration","name":"Counter Arc","desc":"Attack Interval increases, ATK +105%, attacks deal Arts damage to at most 3 enemies and have 15% chance to Stun the hit targets for 1 seconds\nLiskarm is Stunned for 5 seconds after the skill duration"}],"_h":"dvhftwtw20e1r5c0sdc08uvn2y6l20e1r5"},"chess_char_1_20_b":{"name":"Liskarm","subProfessionName":"Sentry Protector","trait":{"descRaw":"Blocks 3 enemies and attacks from long range.","moduleDescRaw":"Reveals <$ba.invisible>Invisible enemies within range","desc":"Blocks 3 enemies and attacks from long range.","moduleDesc":"Reveals Invisible enemies within range"},"skill":{"descRaw":"Attack Interval <@ba.vdown>increases, ATK <@ba.vup>+125%, attacks deal <@ba.vup>Arts damage to at most <@ba.vup>3 enemies and have <@ba.vup>20% chance to <$ba.stun>Stun the hit targets for <@ba.vup>1 seconds\n<@ba.rem>Liskarm is <$ba.stun>Stunned for 5 seconds after the skill duration","name":"Counter Arc","desc":"Attack Interval increases, ATK +125%, attacks deal Arts damage to at most 3 enemies and have 20% chance to Stun the hit targets for 1 seconds\nLiskarm is Stunned for 5 seconds after the skill duration"},"talents":[{"descRaw":"Restores 1 Skill Point to this Operator and a random ally in the surrounding tiles when attacked","name":"Tactical Defense","desc":"Restores 1 Skill Point to this Operator and a random ally in the surrounding tiles when attacked"},{"descRaw":"RES +10","name":"Thunder Resistance","desc":"RES +10"}],"module":{"name":"Stunner's Storage"},"skills":[{"descRaw":"Blocks the next source of damage; DEF <@ba.vup>+80% for <@ba.vup>8 seconds\n<@ba.rem>Automatically activated","name":"Charged Defense","desc":"Blocks the next source of damage; DEF +80% for 8 seconds\nAutomatically activated"},{"descRaw":"Attack Interval <@ba.vdown>increases, ATK <@ba.vup>+125%, attacks deal <@ba.vup>Arts damage to at most <@ba.vup>3 enemies and have <@ba.vup>20% chance to <$ba.stun>Stun the hit targets for <@ba.vup>1 seconds\n<@ba.rem>Liskarm is <$ba.stun>Stunned for 5 seconds after the skill duration","name":"Counter Arc","desc":"Attack Interval increases, ATK +125%, attacks deal Arts damage to at most 3 enemies and have 20% chance to Stun the hit targets for 1 seconds\nLiskarm is Stunned for 5 seconds after the skill duration"}],"traitBase":{"descRaw":"Blocks 3 enemies and attacks from long range.","desc":"Blocks 3 enemies and attacks from long range."},"talentsBase":[{"descRaw":"Restores 1 Skill Point to this Operator and a random ally in the surrounding tiles when attacked","name":"Tactical Defense","desc":"Restores 1 Skill Point to this Operator and a random ally in the surrounding tiles when attacked"},{"descRaw":"RES +10","name":"Thunder Resistance","desc":"RES +10"}],"modules":[{"name":"Stunner's Storage","traitOverride":{"descRaw":"Blocks 3 enemies and attacks from long range.","moduleDescRaw":"Reveals <$ba.invisible>Invisible enemies within range","desc":"Blocks 3 enemies and attacks from long range.","moduleDesc":"Reveals Invisible enemies within range"}}],"_h":"dvhftwp6twhb8ie1vvc0sdc089tf898ukd2y838ie1vvtwtwc0sdc089tf898utwp6twhb"},"chess_char_2_01_a":{"name":"Executor","subProfessionName":"Spreadshooter","trait":{"descRaw":"Attacks <@ba.kw>all enemies within range, and deals 150% damage to enemies in the row directly in front of this unit.","desc":"Attacks all enemies within range, and deals 150% damage to enemies in the row directly in front of this unit."},"skill":{"descRaw":"Normal attacks strike twice, and the attack interval <@ba.vup> is shortened by a small amount","name":"Final Journey","desc":"Normal attacks strike twice, and the attack interval is shortened by a small amount"},"talents":[{"descRaw":"Attacks ignore 80 DEF","name":"Final Modification","desc":"Attacks ignore 80 DEF"}],"module":{"name":"Executor's Satchel"},"skills":[{"descRaw":"ATK <@ba.vup>+35%, attacks apply this unit's Trait effect to all enemies within range.","name":"Muzzle's Elegy","desc":"ATK +35%, attacks apply this unit's Trait effect to all enemies within range."},{"descRaw":"Normal attacks strike twice, and the attack interval <@ba.vup> is shortened by a small amount","name":"Final Journey","desc":"Normal attacks strike twice, and the attack interval is shortened by a small amount"}],"_h":"u6zvms6g3fe92s3olq3obm4js02q3fe92s"},"chess_char_2_01_b":{"name":"Executor","subProfessionName":"Spreadshooter","trait":{"descRaw":"Attacks <@ba.kw>all enemies within range, and deals <@ba.kw>160% damage to enemies in the row directly in front of this unit.","desc":"Attacks all enemies within range, and deals 160% damage to enemies in the row directly in front of this unit."},"skill":{"descRaw":"Normal attacks strike twice, and the attack interval <@ba.vup> is moderately shortened","name":"Final Journey","desc":"Normal attacks strike twice, and the attack interval is moderately shortened"},"talents":[{"descRaw":"Attacks ignore 160 DEF","name":"Final Modification","desc":"Attacks ignore 160 DEF"}],"module":{"name":"Executor's Satchel"},"skills":[{"descRaw":"ATK <@ba.vup>+50%, attacks apply this unit's Trait effect to all enemies within range.","name":"Muzzle's Elegy","desc":"ATK +50%, attacks apply this unit's Trait effect to all enemies within range."},{"descRaw":"Normal attacks strike twice, and the attack interval <@ba.vup> is moderately shortened","name":"Final Journey","desc":"Normal attacks strike twice, and the attack interval is moderately shortened"}],"traitBase":{"descRaw":"Attacks <@ba.kw>all enemies within range, and deals 150% damage to enemies in the row directly in front of this unit.","desc":"Attacks all enemies within range, and deals 150% damage to enemies in the row directly in front of this unit."},"talentsBase":[{"descRaw":"Attacks ignore 160 DEF","name":"Final Modification","desc":"Attacks ignore 160 DEF"}],"modules":[{"name":"Executor's Satchel","traitOverride":{"descRaw":"Attacks <@ba.kw>all enemies within range, and deals <@ba.kw>160% damage to enemies in the row directly in front of this unit.","desc":"Attacks all enemies within range, and deals 160% damage to enemies in the row directly in front of this unit."}}],"_h":"u6zvpn49a6e9nzidlqidbmg0s0aba6e9nzms6gidlqidbmpn49"},"chess_char_2_02_a":{"name":"Silence","subProfessionName":"Medic","trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"skill":{"descRaw":"Obtains a Medical Drone\n<@ba.rem>Can store at most 1 drone; The drone heals its surrounding allies when entering the battlefield and self-destructs after 10 seconds","name":"Medical Drone","desc":"Obtains a Medical Drone\nCan store at most 1 drone; The drone heals its surrounding allies when entering the battlefield and self-destructs after 10 seconds"},"talents":[{"descRaw":"All [Medic] Operators' ASPD +6 when Silence is deployed","name":"Booster Injection","desc":"All [Medic] Operators' ASPD +6 when Silence is deployed"}],"module":{"name":"Emergency Self-Defense Procedures"},"skills":[{"descRaw":"ATK <@ba.vup>+55%","name":"Healing Up γ","desc":"ATK +55%"},{"descRaw":"Obtains a Medical Drone\n<@ba.rem>Can store at most 1 drone; The drone heals its surrounding allies when entering the battlefield and self-destructs after 10 seconds","name":"Medical Drone","desc":"Obtains a Medical Drone\nCan store at most 1 drone; The drone heals its surrounding allies when entering the battlefield and self-destructs after 10 seconds"}],"_h":"527q7676tlp1g9mcalmcs0td0ixetlp1g9"},"chess_char_2_02_b":{"name":"Silence","subProfessionName":"Medic","trait":{"descRaw":"Restores the HP of allies","moduleDescRaw":"Healing increased by <@ba.kw>15% when healing a ground unit","desc":"Restores the HP of allies","moduleDesc":"Healing increased by 15% when healing a ground unit"},"skill":{"descRaw":"Obtains a Medical Drone\n<@ba.rem>Can store at most 1 drone; The drone heals its surrounding allies when entering the battlefield and self-destructs after 10 seconds","name":"Medical Drone","desc":"Obtains a Medical Drone\nCan store at most 1 drone; The drone heals its surrounding allies when entering the battlefield and self-destructs after 10 seconds"},"talents":[{"descRaw":"All [Medic] Operators' ASPD +12 when Silence is deployed","name":"Booster Injection","desc":"All [Medic] Operators' ASPD +12 when Silence is deployed"}],"module":{"name":"Emergency Self-Defense Procedures"},"skills":[{"descRaw":"ATK <@ba.vup>+70%","name":"Healing Up γ","desc":"ATK +70%"},{"descRaw":"Obtains a Medical Drone\n<@ba.rem>Can store at most 1 drone; The drone heals its surrounding allies when entering the battlefield and self-destructs after 10 seconds","name":"Medical Drone","desc":"Obtains a Medical Drone\nCan store at most 1 drone; The drone heals its surrounding allies when entering the battlefield and self-destructs after 10 seconds"}],"traitBase":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"talentsBase":[{"descRaw":"All [Medic] Operators' ASPD +12 when Silence is deployed","name":"Booster Injection","desc":"All [Medic] Operators' ASPD +12 when Silence is deployed"}],"modules":[{"name":"Emergency Self-Defense Procedures","traitOverride":{"descRaw":"Restores the HP of allies","moduleDescRaw":"Healing increased by <@ba.kw>15% when healing a ground unit","desc":"Restores the HP of allies","moduleDesc":"Healing increased by 15% when healing a ground unit"}}],"_h":"527q768y76cotlp1g9qhalqhs0dg0ipdtlp1g97676qhalqhs0768y76co"},"chess_char_2_03_a":{"name":"Cliffheart","subProfessionName":"Hookmaster","trait":{"descRaw":"Can <@ba.kw>Shift enemies by using skills\nCan be deployed on Ranged Tiles","desc":"Can Shift enemies by using skills\nCan be deployed on Ranged Tiles"},"skill":{"descRaw":"Immediately drags up to <@ba.vup>2 targets in a large frontal area towards this unit <@ba.vup>moderately, dealing <@ba.vup>150% <@ba.vup>True damage and <$ba.stun>Stunning them for <@ba.vup>1.5 seconds","name":"Binding Chains","desc":"Immediately drags up to 2 targets in a large frontal area towards this unit moderately, dealing 150% True damage and Stunning them for 1.5 seconds"},"talents":[{"descRaw":"ATK and DEF +6% when Cliffheart is not blocking any enemies","name":"Karlan Hunter","desc":"ATK and DEF +6% when Cliffheart is not blocking any enemies"}],"module":{"name":"'Reach the Top'"},"skills":[{"descRaw":"Drags the target to Cliffheart <@ba.vup>moderately in the next attack, dealing <@ba.vup>125% of ATK <@ba.vup>Arts damage to it","name":"Chain Hook","desc":"Drags the target to Cliffheart moderately in the next attack, dealing 125% of ATK Arts damage to it"},{"descRaw":"Immediately drags up to <@ba.vup>2 targets in a large frontal area towards this unit <@ba.vup>moderately, dealing <@ba.vup>150% <@ba.vup>True damage and <$ba.stun>Stunning them for <@ba.vup>1.5 seconds","name":"Binding Chains","desc":"Immediately drags up to 2 targets in a large frontal area towards this unit moderately, dealing 150% True damage and Stunning them for 1.5 seconds"}],"_h":"32vyd37xf712fct6o5t6thue1iolf712fc"},"chess_char_2_03_b":{"name":"Cliffheart","subProfessionName":"Hookmaster","trait":{"descRaw":"Can <@ba.kw>Shift enemies by using skills\nCan be deployed on Ranged Tiles","moduleDescRaw":"While being pulled, enemies take Arts damage proportional to the distance traveled","desc":"Can Shift enemies by using skills\nCan be deployed on Ranged Tiles","moduleDesc":"While being pulled, enemies take Arts damage proportional to the distance traveled"},"skill":{"descRaw":"Immediately drags up to <@ba.vup>2 targets in a large frontal area towards this unit <@ba.vup>moderately, dealing <@ba.vup>170% <@ba.vup>True damage and <$ba.stun>Stunning them for <@ba.vup>1.5 seconds","name":"Binding Chains","desc":"Immediately drags up to 2 targets in a large frontal area towards this unit moderately, dealing 170% True damage and Stunning them for 1.5 seconds"},"talents":[{"descRaw":"ATK and DEF +12% when Cliffheart is not blocking any enemies","name":"Karlan Hunter","desc":"ATK and DEF +12% when Cliffheart is not blocking any enemies"}],"module":{"name":"'Reach the Top'"},"skills":[{"descRaw":"Drags the target to Cliffheart <@ba.vup>moderately in the next attack, dealing <@ba.vup>135% of ATK <@ba.vup>Arts damage to it","name":"Chain Hook","desc":"Drags the target to Cliffheart moderately in the next attack, dealing 135% of ATK Arts damage to it"},{"descRaw":"Immediately drags up to <@ba.vup>2 targets in a large frontal area towards this unit <@ba.vup>moderately, dealing <@ba.vup>170% <@ba.vup>True damage and <$ba.stun>Stunning them for <@ba.vup>1.5 seconds","name":"Binding Chains","desc":"Immediately drags up to 2 targets in a large frontal area towards this unit moderately, dealing 170% True damage and Stunning them for 1.5 seconds"}],"traitBase":{"descRaw":"Can <@ba.kw>Shift enemies by using skills\nCan be deployed on Ranged Tiles","desc":"Can Shift enemies by using skills\nCan be deployed on Ranged Tiles"},"talentsBase":[{"descRaw":"ATK and DEF +12% when Cliffheart is not blocking any enemies","name":"Karlan Hunter","desc":"ATK and DEF +12% when Cliffheart is not blocking any enemies"}],"modules":[{"name":"'Reach the Top'","traitOverride":{"descRaw":"Can <@ba.kw>Shift enemies by using skills\nCan be deployed on Ranged Tiles","moduleDescRaw":"While being pulled, enemies take Arts damage proportional to the distance traveled","desc":"Can Shift enemies by using skills\nCan be deployed on Ranged Tiles","moduleDesc":"While being pulled, enemies take Arts damage proportional to the distance traveled"}}],"_h":"32vyd3gy7xgy3h12tqtjo5tjthjd1ijk3h12tqd37xtjo5tjthd3gy7xgy"},"chess_char_2_04_a":{"name":"Grain Buds","subProfessionName":"Decel Binder","trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skill":{"descRaw":"Stops attacking and puts <@ba.vup>3 enemies within Attack Range to <$ba.sleep>Sleep for <@ba.vup>4s. Afterwards, ASPD <@ba.vup>+45, and attacks <@ba.vup>3 enemies","name":"Hometown Lullaby","desc":"Stops attacking and puts 3 enemies within Attack Range to Sleep for 4s. Afterwards, ASPD +45, and attacks 3 enemies"},"talents":[{"descRaw":"ASPD +6; When the target is a [Wild Beast], slightly increases the duration of <$ba.sluggish>Slow from Trait","name":"Please Behave","desc":"ASPD +6; When the target is a [Wild Beast], slightly increases the duration of Slow from Trait"}],"module":{"name":"On the Field"},"skills":[{"descRaw":"The next attack deals <@ba.vup>140% ATK as Arts damage, and attacks an additional enemy\n<@ba.rem>Can store 2 charge(s)","name":"Flute Flutter","desc":"The next attack deals 140% ATK as Arts damage, and attacks an additional enemy\nCan store 2 charge(s)"},{"descRaw":"Stops attacking and puts <@ba.vup>3 enemies within Attack Range to <$ba.sleep>Sleep for <@ba.vup>4s. Afterwards, ASPD <@ba.vup>+45, and attacks <@ba.vup>3 enemies","name":"Hometown Lullaby","desc":"Stops attacking and puts 3 enemies within Attack Range to Sleep for 4s. Afterwards, ASPD +45, and attacks 3 enemies"}],"_h":"3hf2pn83c0dbhx7kfwl2khly63xdc0dbhx"},"chess_char_2_04_b":{"name":"Grain Buds","subProfessionName":"Decel Binder","trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","moduleDescRaw":"SP recovery +0.2/s when there are enemies within range","desc":"Deals Arts damage and Slows the target for a short time","moduleDesc":"SP recovery +0.2/s when there are enemies within range"},"skill":{"descRaw":"Stops attacking and puts <@ba.vup>3 enemies within Attack Range to <$ba.sleep>Sleep for <@ba.vup>4s. Afterwards, ASPD <@ba.vup>+90, and attacks <@ba.vup>3 enemies","name":"Hometown Lullaby","desc":"Stops attacking and puts 3 enemies within Attack Range to Sleep for 4s. Afterwards, ASPD +90, and attacks 3 enemies"},"talents":[{"descRaw":"ASPD +10; When the target is a [Wild Beast], increases the duration of <$ba.sluggish>Slow from Trait","name":"Please Behave","desc":"ASPD +10; When the target is a [Wild Beast], increases the duration of Slow from Trait"}],"module":{"name":"On the Field"},"skills":[{"descRaw":"The next attack deals <@ba.vup>170% ATK as Arts damage, and attacks an additional enemy\n<@ba.rem>Can store 2 charge(s)","name":"Flute Flutter","desc":"The next attack deals 170% ATK as Arts damage, and attacks an additional enemy\nCan store 2 charge(s)"},{"descRaw":"Stops attacking and puts <@ba.vup>3 enemies within Attack Range to <$ba.sleep>Sleep for <@ba.vup>4s. Afterwards, ASPD <@ba.vup>+90, and attacks <@ba.vup>3 enemies","name":"Hometown Lullaby","desc":"Stops attacking and puts 3 enemies within Attack Range to Sleep for 4s. Afterwards, ASPD +90, and attacks 3 enemies"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"talentsBase":[{"descRaw":"ASPD +10; When the target is a [Wild Beast], increases the duration of <$ba.sluggish>Slow from Trait","name":"Please Behave","desc":"ASPD +10; When the target is a [Wild Beast], increases the duration of Slow from Trait"}],"modules":[{"name":"On the Field","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","moduleDescRaw":"SP recovery +0.2/s when there are enemies within range","desc":"Deals Arts damage and Slows the target for a short time","moduleDesc":"SP recovery +0.2/s when there are enemies within range"}}],"_h":"3hf2pn0i830ivqdbmrzqfw52kh4z63uqvqdbmrpn83zqfw52khpn0i830i"},"chess_char_2_05_a":{"name":"Harold","subProfessionName":"Wandering Medic","trait":{"descRaw":"Restores the HP of allied units and recovers <$ba.dt.element>Elemental Injury by <@ba.kw>50% of ATK (can recover <$ba.dt.element>Elemental Injury of unhurt allied units)","desc":"Restores the HP of allied units and recovers Elemental Injury by 50% of ATK (can recover Elemental Injury of unhurt allied units)"},"skill":{"descRaw":"ASPD <@ba.vup>+55, prioritize healing the target that has taken the most <$ba.dt.element>Elemental Injury. When healing targets with more than 50% Elemental Injury, <$ba.dt.element>Elemental Injury healed is increased to <@ba.vup>160%","name":"Triage","desc":"ASPD +55, prioritize healing the target that has taken the most Elemental Injury. When healing targets with more than 50% Elemental Injury, Elemental Injury healed is increased to 160%"},"talents":[{"descRaw":"Targets within Attack Range that have taken more than 50% Elemental Injury take 12% less <$ba.dt.element>Elemental Injury","name":"I Am the Camp","desc":"Targets within Attack Range that have taken more than 50% Elemental Injury take 12% less Elemental Injury"}],"module":{"name":"Legs Care Kit"},"skills":[{"descRaw":"ATK <@ba.vup>+55%","name":"Healing Up γ","desc":"ATK +55%"},{"descRaw":"ASPD <@ba.vup>+55, prioritize healing the target that has taken the most <$ba.dt.element>Elemental Injury. When healing targets with more than 50% Elemental Injury, <$ba.dt.element>Elemental Injury healed is increased to <@ba.vup>160%","name":"Triage","desc":"ASPD +55, prioritize healing the target that has taken the most Elemental Injury. When healing targets with more than 50% Elemental Injury, Elemental Injury healed is increased to 160%"}],"_h":"w9vky6pii3hx9j2md144zgtd0ixei3hx9j"},"chess_char_2_05_b":{"name":"Harold","subProfessionName":"Wandering Medic","trait":{"descRaw":"Restores the HP of allied units and recovers <$ba.dt.element>Elemental Injury by <@ba.kw>60% of ATK (can recover <$ba.dt.element>Elemental Injury of unhurt allied units)","desc":"Restores the HP of allied units and recovers Elemental Injury by 60% of ATK (can recover Elemental Injury of unhurt allied units)"},"skill":{"descRaw":"ASPD <@ba.vup>+80, prioritize healing the target that has taken the most <$ba.dt.element>Elemental Injury. When healing targets with more than 50% Elemental Injury, <$ba.dt.element>Elemental Injury healed is increased to <@ba.vup>200%","name":"Triage","desc":"ASPD +80, prioritize healing the target that has taken the most Elemental Injury. When healing targets with more than 50% Elemental Injury, Elemental Injury healed is increased to 200%"},"talents":[{"descRaw":"Targets within Attack Range that have taken more than 50% Elemental Injury take 15% less <$ba.dt.element>Elemental Injury","name":"I Am the Camp","desc":"Targets within Attack Range that have taken more than 50% Elemental Injury take 15% less Elemental Injury"}],"module":{"name":"Legs Care Kit"},"skills":[{"descRaw":"ATK <@ba.vup>+70%","name":"Healing Up γ","desc":"ATK +70%"},{"descRaw":"ASPD <@ba.vup>+80, prioritize healing the target that has taken the most <$ba.dt.element>Elemental Injury. When healing targets with more than 50% Elemental Injury, <$ba.dt.element>Elemental Injury healed is increased to <@ba.vup>200%","name":"Triage","desc":"ASPD +80, prioritize healing the target that has taken the most Elemental Injury. When healing targets with more than 50% Elemental Injury, Elemental Injury healed is increased to 200%"}],"traitBase":{"descRaw":"Restores the HP of allied units and recovers <$ba.dt.element>Elemental Injury by <@ba.kw>50% of ATK (can recover <$ba.dt.element>Elemental Injury of unhurt allied units)","desc":"Restores the HP of allied units and recovers Elemental Injury by 50% of ATK (can recover Elemental Injury of unhurt allied units)"},"talentsBase":[{"descRaw":"Targets within Attack Range that have taken more than 50% Elemental Injury take 15% less <$ba.dt.element>Elemental Injury","name":"I Am the Camp","desc":"Targets within Attack Range that have taken more than 50% Elemental Injury take 15% less Elemental Injury"}],"modules":[{"name":"Legs Care Kit","traitOverride":{"descRaw":"Restores the HP of allied units and recovers <$ba.dt.element>Elemental Injury by <@ba.kw>60% of ATK (can recover <$ba.dt.element>Elemental Injury of unhurt allied units)","desc":"Restores the HP of allied units and recovers Elemental Injury by 60% of ATK (can recover Elemental Injury of unhurt allied units)"}}],"_h":"w9vkf7fdq6hxh8uxd17fzgdg0ipdq6hxh8y6piuxd17fzgf7fd"},"chess_char_2_06_a":{"name":"Papyrus","subProfessionName":"Chain Medic","trait":{"descRaw":"Restores HP of allies, bouncing between <@ba.kw>3 allies. Healing reduced by 25% per bounce.","desc":"Restores HP of allies, bouncing between 3 allies. Healing reduced by 25% per bounce."},"skill":{"descRaw":"Increases the heal amount of the next heal to <@ba.vup>160% ATK; Barrier provided by talent increases to <@ba.vup>150%\n<@ba.rem>Can store 2 charges","name":"Flash of Ingenuity","desc":"Increases the heal amount of the next heal to 160% ATK; Barrier provided by talent increases to 150%\nCan store 2 charges"},"talents":[{"descRaw":"Healing grants the target Operator a <$ba.barrier>Barrier equal to 10% of Papyrus's ATK, lasting 8 seconds","name":"Erudite of Ancient Scrolls","desc":"Healing grants the target Operator a Barrier equal to 10% of Papyrus's ATK, lasting 8 seconds"}],"module":{"name":"Little Seeds"},"skills":[{"descRaw":"Increases the heal amount of the next heal to <@ba.vup>160% ATK; Barrier provided by talent increases to <@ba.vup>150%\n<@ba.rem>Can store 2 charges","name":"Flash of Ingenuity","desc":"Increases the heal amount of the next heal to 160% ATK; Barrier provided by talent increases to 150%\nCan store 2 charges"},{"descRaw":"Immediately locks onto the Operator with the highest Max HP value within attack range (excluding herself). While skill is active, only this Operator can be the primary target of Papyrus's healing. Attack Interval <@ba.vup>reduces, ATK <@ba.vup>+20%, bounces per heal <@ba.vup>+1","name":"Pre-Exhibit Examination","desc":"Immediately locks onto the Operator with the highest Max HP value within attack range (excluding herself). While skill is active, only this Operator can be the primary target of Papyrus's healing. Attack Interval reduces, ATK +20%, bounces per heal +1"}],"_h":"iw6x7rf799ukkd95te12oo99ukkd7xpu70"},"chess_char_2_06_b":{"name":"Papyrus","subProfessionName":"Chain Medic","trait":{"descRaw":"Restores HP of allies, bouncing between <@ba.kw>3 allies. Healing reduced by 15% per bounce.","desc":"Restores HP of allies, bouncing between 3 allies. Healing reduced by 15% per bounce."},"skill":{"descRaw":"Increases the heal amount of the next heal to <@ba.vup>175% ATK; Barrier provided by talent increases to <@ba.vup>200%\n<@ba.rem>Can store 2 charges","name":"Flash of Ingenuity","desc":"Increases the heal amount of the next heal to 175% ATK; Barrier provided by talent increases to 200%\nCan store 2 charges"},"talents":[{"descRaw":"Healing grants the target Operator a <$ba.barrier>Barrier equal to 20% of Papyrus's ATK, lasting 8 seconds","name":"Erudite of Ancient Scrolls","desc":"Healing grants the target Operator a Barrier equal to 20% of Papyrus's ATK, lasting 8 seconds"}],"module":{"name":"Little Seeds"},"skills":[{"descRaw":"Increases the heal amount of the next heal to <@ba.vup>175% ATK; Barrier provided by talent increases to <@ba.vup>200%\n<@ba.rem>Can store 2 charges","name":"Flash of Ingenuity","desc":"Increases the heal amount of the next heal to 175% ATK; Barrier provided by talent increases to 200%\nCan store 2 charges"},{"descRaw":"Immediately locks onto the Operator with the highest Max HP value within attack range (excluding herself). While skill is active, only this Operator can be the primary target of Papyrus's healing. Attack Interval <@ba.vup>reduces, ATK <@ba.vup>+35%, bounces per heal <@ba.vup>+1","name":"Pre-Exhibit Examination","desc":"Immediately locks onto the Operator with the highest Max HP value within attack range (excluding herself). While skill is active, only this Operator can be the primary target of Papyrus's healing. Attack Interval reduces, ATK +35%, bounces per heal +1"}],"traitBase":{"descRaw":"Restores HP of allies, bouncing between <@ba.kw>3 allies. Healing reduced by 25% per bounce.","desc":"Restores HP of allies, bouncing between 3 allies. Healing reduced by 25% per bounce."},"talentsBase":[{"descRaw":"Healing grants the target Operator a <$ba.barrier>Barrier equal to 20% of Papyrus's ATK, lasting 8 seconds","name":"Erudite of Ancient Scrolls","desc":"Healing grants the target Operator a Barrier equal to 20% of Papyrus's ATK, lasting 8 seconds"}],"modules":[{"name":"Little Seeds","traitOverride":{"descRaw":"Restores HP of allies, bouncing between <@ba.kw>3 allies. Healing reduced by 15% per bounce.","desc":"Restores HP of allies, bouncing between 3 allies. Healing reduced by 15% per bounce."}}],"_h":"iw6xnmv24fuk4rgatebhoo4fuk4r3fpuqq7rf7gatebhoonmv2"},"chess_char_2_07_a":{"name":"Specter","subProfessionName":"Centurion","trait":{"descRaw":"Attacks <@ba.kw>all blocked enemies","desc":"Attacks all blocked enemies"},"skill":{"descRaw":"During the skill duration, Specter's HP will not drop below <@ba.vup>1; ATK <@ba.vup>+70%\n<@ba.rem>Specter is <$ba.stun>Stunned for 10 seconds after skill duration","name":"Bone Fracture","desc":"During the skill duration, Specter's HP will not drop below 1; ATK +70%\nSpecter is Stunned for 10 seconds after skill duration"},"talents":[{"descRaw":"Max HP +10%","name":"Stamina Up","desc":"Max HP +10%"}],"module":{"name":"Dim Candlelight"},"skills":[{"descRaw":"ATK <@ba.vup>+45%","name":"ATK Up γ","desc":"ATK +45%"},{"descRaw":"During the skill duration, Specter's HP will not drop below <@ba.vup>1; ATK <@ba.vup>+70%\n<@ba.rem>Specter is <$ba.stun>Stunned for 10 seconds after skill duration","name":"Bone Fracture","desc":"During the skill duration, Specter's HP will not drop below 1; ATK +70%\nSpecter is Stunned for 10 seconds after skill duration"}],"_h":"nhgraaye47io83qsxgqsw6igyjmh47io83"},"chess_char_2_07_b":{"name":"Specter","subProfessionName":"Centurion","trait":{"descRaw":"Attacks <@ba.kw>all blocked enemies; ATK is increased to <@ba.kw>110% when attacking blocked enemies","desc":"Attacks all blocked enemies; ATK is increased to 110% when attacking blocked enemies"},"skill":{"descRaw":"During the skill duration, Specter's HP will not drop below <@ba.vup>1; ATK <@ba.vup>+100%\n<@ba.rem>Specter is <$ba.stun>Stunned for 10 seconds after skill duration","name":"Bone Fracture","desc":"During the skill duration, Specter's HP will not drop below 1; ATK +100%\nSpecter is Stunned for 10 seconds after skill duration"},"talents":[{"descRaw":"Max HP +10%; Restores HP by 2% of Max HP per second","name":"Abyssal Regeneration","desc":"Max HP +10%; Restores HP by 2% of Max HP per second"}],"module":{"name":"Dim Candlelight"},"skills":[{"descRaw":"ATK <@ba.vup>+60%","name":"ATK Up γ","desc":"ATK +60%"},{"descRaw":"During the skill duration, Specter's HP will not drop below <@ba.vup>1; ATK <@ba.vup>+100%\n<@ba.rem>Specter is <$ba.stun>Stunned for 10 seconds after skill duration","name":"Bone Fracture","desc":"During the skill duration, Specter's HP will not drop below 1; ATK +100%\nSpecter is Stunned for 10 seconds after skill duration"}],"traitBase":{"descRaw":"Attacks <@ba.kw>all blocked enemies","desc":"Attacks all blocked enemies"},"talentsBase":[{"descRaw":"Max HP +10%; Restores HP by 2% of Max HP per second","name":"Abyssal Regeneration","desc":"Max HP +10%; Restores HP by 2% of Max HP per second"}],"modules":[{"name":"Dim Candlelight","traitOverride":{"descRaw":"Attacks <@ba.kw>all blocked enemies; ATK is increased to <@ba.kw>110% when attacking blocked enemies","desc":"Attacks all blocked enemies; ATK is increased to 110% when attacking blocked enemies"}}],"_h":"nhgrshhvsrioq52k0u2kw675yjaesrioq5aaye2k0u2kw6shhv"},"chess_char_2_08_a":{"name":"Bubble","subProfessionName":"Protector","trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skill":{"descRaw":"Stops attacking; DEF <@ba.vup>+65% and increase the likelihood of being targeted by enemy attacks. When attacked, deal <@ba.vup>40% DEF as physical damage to the target","name":"'Beaten Up'","desc":"Stops attacking; DEF +65% and increase the likelihood of being targeted by enemy attacks. When attacked, deal 40% DEF as physical damage to the target"},"talents":[{"descRaw":"Enemies that attack Bubble have their ATK reduced by 5% for 5 seconds","name":"Spiked Shield","desc":"Enemies that attack Bubble have their ATK reduced by 5% for 5 seconds"}],"module":{"name":"Bubble's Shining Sword"},"skills":[{"descRaw":"DEF <@ba.vup>+35%","name":"DEF Up β","desc":"DEF +35%"},{"descRaw":"Stops attacking; DEF <@ba.vup>+65% and increase the likelihood of being targeted by enemy attacks. When attacked, deal <@ba.vup>40% DEF as physical damage to the target","name":"'Beaten Up'","desc":"Stops attacking; DEF +65% and increase the likelihood of being targeted by enemy attacks. When attacked, deal 40% DEF as physical damage to the target"}],"_h":"rr11t8t81hcp9dzzytzzz63qcxod1hcp9d"},"chess_char_2_08_b":{"name":"Bubble","subProfessionName":"Protector","trait":{"descRaw":"Blocks 3 enemies","moduleDescRaw":"DEF <@ba.kw>+20% when blocking an enemy","desc":"Blocks 3 enemies","moduleDesc":"DEF +20% when blocking an enemy"},"skill":{"descRaw":"Stops attacking; DEF <@ba.vup>+85% and increase the likelihood of being targeted by enemy attacks. When attacked, deal <@ba.vup>40% DEF as physical damage to the target","name":"'Beaten Up'","desc":"Stops attacking; DEF +85% and increase the likelihood of being targeted by enemy attacks. When attacked, deal 40% DEF as physical damage to the target"},"talents":[{"descRaw":"Enemies that attack Bubble have their ATK reduced by 8% for 5 seconds","name":"Spiked Shield","desc":"Enemies that attack Bubble have their ATK reduced by 8% for 5 seconds"}],"module":{"name":"Bubble's Shining Sword"},"skills":[{"descRaw":"DEF <@ba.vup>+50%","name":"DEF Up β","desc":"DEF +50%"},{"descRaw":"Stops attacking; DEF <@ba.vup>+85% and increase the likelihood of being targeted by enemy attacks. When attacked, deal <@ba.vup>40% DEF as physical damage to the target","name":"'Beaten Up'","desc":"Stops attacking; DEF +85% and increase the likelihood of being targeted by enemy attacks. When attacked, deal 40% DEF as physical damage to the target"}],"traitBase":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"talentsBase":[{"descRaw":"Enemies that attack Bubble have their ATK reduced by 8% for 5 seconds","name":"Spiked Shield","desc":"Enemies that attack Bubble have their ATK reduced by 8% for 5 seconds"}],"modules":[{"name":"Bubble's Shining Sword","traitOverride":{"descRaw":"Blocks 3 enemies","moduleDescRaw":"DEF <@ba.kw>+20% when blocking an enemy","desc":"Blocks 3 enemies","moduleDesc":"DEF +20% when blocking an enemy"}}],"_h":"rr11t8lrt8ntlfcp3rt8ytt8z6gfcxralfcp3rt8t8t8ytt8z6t8lrt8nt"},"chess_char_2_09_a":{"name":"Humus","subProfessionName":"Reaper","trait":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AOE Damage; Recovers <@ba.kw>50 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AOE Damage; Recovers 50 HP for every enemy hit during attacks, up to Block count"},"skill":{"descRaw":"Block count <@ba.vup>+1, gains <$ba.strong>Vigor effect of <@ba.vup>+25% ATK when over <@ba.vup>50% HP; effect doubles when over <@ba.vup>80% HP","name":"Efficient Processing","desc":"Block count +1, gains Vigor effect of +25% ATK when over 50% HP; effect doubles when over 80% HP"},"talents":[{"descRaw":"Any HP gain exceeding this unit's Max HP is converted into a <$ba.barrier>Barrier; caps at 60% of Max HP","name":"Re-recycle","desc":"Any HP gain exceeding this unit's Max HP is converted into a Barrier; caps at 60% of Max HP"}],"module":{"name":"Badlands Exotic Toolkit"},"skills":[{"descRaw":"Increases the ATK of the next attack to <@ba.vup>190%, and recovers <@ba.kw>60 HP","name":"Solid Waste Cutting","desc":"Increases the ATK of the next attack to 190%, and recovers 60 HP"},{"descRaw":"Block count <@ba.vup>+1, gains <$ba.strong>Vigor effect of <@ba.vup>+25% ATK when over <@ba.vup>50% HP; effect doubles when over <@ba.vup>80% HP","name":"Efficient Processing","desc":"Block count +1, gains Vigor effect of +25% ATK when over 50% HP; effect doubles when over 80% HP"}],"_h":"gyxoggo0tphzymjz30q0dh6fhv8etphzym"},"chess_char_2_09_b":{"name":"Humus","subProfessionName":"Reaper","trait":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AoE damage; Recovers <@ba.kw>60 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AoE damage; Recovers 60 HP for every enemy hit during attacks, up to Block count"},"skill":{"descRaw":"Block count <@ba.vup>+1, gains <$ba.strong>Vigor effect of <@ba.vup>+36% ATK when over <@ba.vup>50% HP; effect doubles when over <@ba.vup>80% HP","name":"Efficient Processing","desc":"Block count +1, gains Vigor effect of +36% ATK when over 50% HP; effect doubles when over 80% HP"},"talents":[{"descRaw":"Any HP gain exceeding this unit's Max HP is converted into a <$ba.barrier>Barrier; caps at 100% of Max HP","name":"Re-recycle","desc":"Any HP gain exceeding this unit's Max HP is converted into a Barrier; caps at 100% of Max HP"}],"module":{"name":"Badlands Exotic Toolkit"},"skills":[{"descRaw":"Increases the ATK of the next attack to <@ba.vup>220%, and recovers <@ba.kw>80 HP","name":"Solid Waste Cutting","desc":"Increases the ATK of the next attack to 220%, and recovers 80 HP"},{"descRaw":"Block count <@ba.vup>+1, gains <$ba.strong>Vigor effect of <@ba.vup>+36% ATK when over <@ba.vup>50% HP; effect doubles when over <@ba.vup>80% HP","name":"Efficient Processing","desc":"Block count +1, gains Vigor effect of +36% ATK when over 50% HP; effect doubles when over 80% HP"}],"traitBase":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AOE Damage; Recovers <@ba.kw>50 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AOE Damage; Recovers 50 HP for every enemy hit during attacks, up to Block count"},"talentsBase":[{"descRaw":"Any HP gain exceeding this unit's Max HP is converted into a <$ba.barrier>Barrier; caps at 100% of Max HP","name":"Re-recycle","desc":"Any HP gain exceeding this unit's Max HP is converted into a Barrier; caps at 100% of Max HP"}],"modules":[{"name":"Badlands Exotic Toolkit","traitOverride":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AoE damage; Recovers <@ba.kw>60 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AoE damage; Recovers 60 HP for every enemy hit during attacks, up to Block count"}}],"_h":"gyxoczmp7xhzcq8o30spdh3rhv6y7xhzcqggo08o30spdhczmp"},"chess_char_2_10_a":{"name":"Rockrock","subProfessionName":"Mech-accord Caster","trait":{"descRaw":"Controls a <@ba.kw>Drone that deals <@ba.kw>Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)","desc":"Controls a Drone that deals Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)"},"skill":{"descRaw":"ASPD <@ba.vup>+45; Releases Drone to attack enemies\n<$ba.overdrive>Overload: Trait Max drone damage increased to <@ba.vup>1.6x, ATK <@ba.vup>+40%; When the skill ends, <$ba.stun>Stunned for the same duration as the Overload\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator. Can manually deactivate skill at will.","name":"Willing Burden","desc":"ASPD +45; Releases Drone to attack enemies\nOverload: Trait Max drone damage increased to 1.6x, ATK +40%; When the skill ends, Stunned for the same duration as the Overload\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator. Can manually deactivate skill at will."},"talents":[{"descRaw":"+2% ATK for every 15 seconds this unit remains on the battlefield, stacking up to 3 times","name":"Firm Foundation","desc":"+2% ATK for every 15 seconds this unit remains on the battlefield, stacking up to 3 times"}],"module":{"name":"Unnamed Drone"},"skills":[{"descRaw":"ASPD <@ba.vup>+45","name":"Tactical Chant γ","desc":"ASPD +45"},{"descRaw":"ASPD <@ba.vup>+45; Releases Drone to attack enemies\n<$ba.overdrive>Overload: Trait Max drone damage increased to <@ba.vup>1.6x, ATK <@ba.vup>+40%; When the skill ends, <$ba.stun>Stunned for the same duration as the Overload\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator. Can manually deactivate skill at will.","name":"Willing Burden","desc":"ASPD +45; Releases Drone to attack enemies\nOverload: Trait Max drone damage increased to 1.6x, ATK +40%; When the skill ends, Stunned for the same duration as the Overload\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator. Can manually deactivate skill at will."}],"_h":"sz93k7j10eapmthi2dhi1n8vzb2c0eapmt"},"chess_char_2_10_b":{"name":"Rockrock","subProfessionName":"Mech-accord Caster","trait":{"descRaw":"Attack with <@ba.kw>Drones to deal <@ba.kw>Arts damage\nDrone deals more damage when it attacks the same enemy again (base damage increased, deals up to 110% of Operator's ATK as damage)","desc":"Attack with Drones to deal Arts damage\nDrone deals more damage when it attacks the same enemy again (base damage increased, deals up to 110% of Operator's ATK as damage)"},"skill":{"descRaw":"ASPD <@ba.vup>+60; Releases Drone to attack enemies\n<$ba.overdrive>Overload: Trait Max drone damage increased to <@ba.vup>1.7x, ATK <@ba.vup>+50%; When the skill ends, <$ba.stun>Stunned for the same duration as the Overload\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator. Can manually deactivate skill at will.","name":"Willing Burden","desc":"ASPD +60; Releases Drone to attack enemies\nOverload: Trait Max drone damage increased to 1.7x, ATK +50%; When the skill ends, Stunned for the same duration as the Overload\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator. Can manually deactivate skill at will."},"talents":[{"descRaw":"+4% ATK for every 15 seconds this unit remains on the battlefield, stacking up to 4 times","name":"Firm Foundation","desc":"+4% ATK for every 15 seconds this unit remains on the battlefield, stacking up to 4 times"}],"module":{"name":"Unnamed Drone"},"skills":[{"descRaw":"ASPD <@ba.vup>+60","name":"Tactical Chant γ","desc":"ASPD +60"},{"descRaw":"ASPD <@ba.vup>+60; Releases Drone to attack enemies\n<$ba.overdrive>Overload: Trait Max drone damage increased to <@ba.vup>1.7x, ATK <@ba.vup>+50%; When the skill ends, <$ba.stun>Stunned for the same duration as the Overload\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator. Can manually deactivate skill at will.","name":"Willing Burden","desc":"ASPD +60; Releases Drone to attack enemies\nOverload: Trait Max drone damage increased to 1.7x, ATK +50%; When the skill ends, Stunned for the same duration as the Overload\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator. Can manually deactivate skill at will."}],"traitBase":{"descRaw":"Controls a <@ba.kw>Drone that deals <@ba.kw>Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)","desc":"Controls a Drone that deals Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)"},"talentsBase":[{"descRaw":"+4% ATK for every 15 seconds this unit remains on the battlefield, stacking up to 4 times","name":"Firm Foundation","desc":"+4% ATK for every 15 seconds this unit remains on the battlefield, stacking up to 4 times"}],"modules":[{"name":"Unnamed Drone","traitOverride":{"descRaw":"Attack with <@ba.kw>Drones to deal <@ba.kw>Arts damage\nDrone deals more damage when it attacks the same enemy again (base damage increased, deals up to 110% of Operator's ATK as damage)","desc":"Attack with Drones to deal Arts damage\nDrone deals more damage when it attacks the same enemy again (base damage increased, deals up to 110% of Operator's ATK as damage)"}}],"_h":"sz93507e59ap76z32dz31ntwzbvd59ap76k7j1z32dz31n507e"},"chess_char_2_11_a":{"name":"Kazemaru","subProfessionName":"Dollkeeper","trait":{"descRaw":"Does not retreat upon receiving lethal damage, instead swaps to a (Substitute has 0 Block). Swaps back to the original after 20 seconds","desc":"Does not retreat upon receiving lethal damage, instead swaps to a (Substitute has 0 Block). Swaps back to the original after 20 seconds"},"skill":{"descRaw":"Immediately sacrifices <@ba.vdown>50% of this unit's current HP, gaining <@ba.vup>+70% ATK and summoning a on a surrounding melee tile to assist in combat","name":"Origami Art - Twin Shadows","desc":"Immediately sacrifices 50% of this unit's current HP, gaining +70% ATK and summoning a on a surrounding melee tile to assist in combat"},"talents":[{"descRaw":"When is summoned, it will deal 225% of its ATK as Arts Damage to enemies in the surrounding 8 tiles","name":"From Paper Comes Life","desc":"When is summoned, it will deal 225% of its ATK as Arts Damage to enemies in the surrounding 8 tiles"}],"module":{"name":"An Old Thing"},"skills":[{"descRaw":"Increases the ATK of the next attack to <@ba.vup>235%, and sacrifices <@ba.vdown>10% of this unit's HP","name":"Origami Art - Swift Strike","desc":"Increases the ATK of the next attack to 235%, and sacrifices 10% of this unit's HP"},{"descRaw":"Immediately sacrifices <@ba.vdown>50% of this unit's current HP, gaining <@ba.vup>+70% ATK and summoning a on a surrounding melee tile to assist in combat","name":"Origami Art - Twin Shadows","desc":"Immediately sacrifices 50% of this unit's current HP, gaining +70% ATK and summoning a on a surrounding melee tile to assist in combat"}],"_h":"cr7adgdgbo9bxffqhhfqalkt641ebo9bxf"},"chess_char_2_11_b":{"name":"Kazemaru","subProfessionName":"Dollkeeper","trait":{"descRaw":"Instead of retreating when defeated, switch to a (Substitute has 0 Block, but ATK is <@ba.kw>increased) for 20 seconds before switching back to the original","desc":"Instead of retreating when defeated, switch to a (Substitute has 0 Block, but ATK is increased) for 20 seconds before switching back to the original"},"skill":{"descRaw":"Immediately sacrifices <@ba.vdown>50% of this unit's current HP, gaining <@ba.vup>+90% ATK and summoning a on a surrounding melee tile to assist in combat","name":"Origami Art - Twin Shadows","desc":"Immediately sacrifices 50% of this unit's current HP, gaining +90% ATK and summoning a on a surrounding melee tile to assist in combat"},"talents":[{"descRaw":"When is summoned, it will deal 270% of its ATK as Arts Damage to enemies in the surrounding 8 tiles","name":"From Paper Comes Life","desc":"When is summoned, it will deal 270% of its ATK as Arts Damage to enemies in the surrounding 8 tiles"}],"module":{"name":"An Old Thing"},"skills":[{"descRaw":"Increases the ATK of the next attack to <@ba.vup>275%, and sacrifices <@ba.vdown>10% of this unit's HP","name":"Origami Art - Swift Strike","desc":"Increases the ATK of the next attack to 275%, and sacrifices 10% of this unit's HP"},{"descRaw":"Immediately sacrifices <@ba.vdown>50% of this unit's current HP, gaining <@ba.vup>+90% ATK and summoning a on a surrounding melee tile to assist in combat","name":"Origami Art - Twin Shadows","desc":"Immediately sacrifices 50% of this unit's current HP, gaining +90% ATK and summoning a on a surrounding melee tile to assist in combat"}],"traitBase":{"descRaw":"Does not retreat upon receiving lethal damage, instead swaps to a (Substitute has 0 Block). Swaps back to the original after 20 seconds","desc":"Does not retreat upon receiving lethal damage, instead swaps to a (Substitute has 0 Block). Swaps back to the original after 20 seconds"},"talentsBase":[{"descRaw":"When is summoned, it will deal 270% of its ATK as Arts Damage to enemies in the surrounding 8 tiles","name":"From Paper Comes Life","desc":"When is summoned, it will deal 270% of its ATK as Arts Damage to enemies in the surrounding 8 tiles"}],"modules":[{"name":"An Old Thing","traitOverride":{"descRaw":"Instead of retreating when defeated, switch to a (Substitute has 0 Block, but ATK is <@ba.kw>increased) for 20 seconds before switching back to the original","desc":"Instead of retreating when defeated, switch to a (Substitute has 0 Block, but ATK is increased) for 20 seconds before switching back to the original"}}],"_h":"cr7ammg0la9b651shh1salnt64vqla9b65dgdg1shh1salmmg0"},"chess_char_2_12_a":{"name":"Gravel","subProfessionName":"Executor","trait":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","desc":"Significantly reduced Redeployment Time"},"skill":{"descRaw":"After deployment, gains a <$ba.barrier>Barrier that can absorb damage equal to <@ba.vup>140% of Max HP, decaying over <@ba.vup>10 seconds","name":"Rat Swarm","desc":"After deployment, gains a Barrier that can absorb damage equal to 140% of Max HP, decaying over 10 seconds"},"talents":[{"descRaw":"DP Cost -1","name":"Fast Deployment","desc":"DP Cost -1"}],"module":{"name":"Covert Action Toolkit"},"skills":[{"descRaw":"DEF <@ba.vup>+270% after Gravel is deployed; her DEF continually decreases over <@ba.vup>7 seconds","name":"Shadow Assault","desc":"DEF +270% after Gravel is deployed; her DEF continually decreases over 7 seconds"},{"descRaw":"After deployment, gains a <$ba.barrier>Barrier that can absorb damage equal to <@ba.vup>140% of Max HP, decaying over <@ba.vup>10 seconds","name":"Rat Swarm","desc":"After deployment, gains a Barrier that can absorb damage equal to 140% of Max HP, decaying over 10 seconds"}],"_h":"4x8vhagm36apybgz85gzicz1uro736apyb"},"chess_char_2_12_b":{"name":"Gravel","subProfessionName":"Executor","trait":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","moduleDescRaw":"Refunds <@ba.kw>a large portion of the current DP Cost when retreated","desc":"Significantly reduced Redeployment Time","moduleDesc":"Refunds a large portion of the current DP Cost when retreated"},"skill":{"descRaw":"After deployment, gains a <$ba.barrier>Barrier that can absorb damage equal to <@ba.vup>180% of Max HP, decaying over <@ba.vup>10 seconds","name":"Rat Swarm","desc":"After deployment, gains a Barrier that can absorb damage equal to 180% of Max HP, decaying over 10 seconds"},"talents":[{"descRaw":"DP Cost -1; All units that cost 10 or less DP gain +6% DEF","name":"Support of the Little","desc":"DP Cost -1; All units that cost 10 or less DP gain +6% DEF"}],"module":{"name":"Covert Action Toolkit"},"skills":[{"descRaw":"DEF <@ba.vup>+340% after Gravel is deployed; her DEF continually decreases over <@ba.vup>8 seconds","name":"Shadow Assault","desc":"DEF +340% after Gravel is deployed; her DEF continually decreases over 8 seconds"},{"descRaw":"After deployment, gains a <$ba.barrier>Barrier that can absorb damage equal to <@ba.vup>180% of Max HP, decaying over <@ba.vup>10 seconds","name":"Rat Swarm","desc":"After deployment, gains a Barrier that can absorb damage equal to 180% of Max HP, decaying over 10 seconds"}],"traitBase":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","desc":"Significantly reduced Redeployment Time"},"talentsBase":[{"descRaw":"DP Cost -1; All units that cost 10 or less DP gain +6% DEF","name":"Support of the Little","desc":"DP Cost -1; All units that cost 10 or less DP gain +6% DEF"}],"modules":[{"name":"Covert Action Toolkit","traitOverride":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","moduleDescRaw":"Refunds <@ba.kw>a large portion of the current DP Cost when retreated","desc":"Significantly reduced Redeployment Time","moduleDesc":"Refunds a large portion of the current DP Cost when retreated"}}],"_h":"4x8vha2ogmd292ap1jq1zjq1icryurum92ap1jhagmq1zjq1icha2ogmd2"},"chess_char_2_13_a":{"name":"Tippi","subProfessionName":"Skyranger","trait":{"descRaw":"After <$ba.liftoff>Taking Off, can block 2 flying enemies","desc":"After Taking Off, can block 2 flying enemies"},"skill":{"descRaw":"Immediately <$ba.liftoff>Takes Off, Attack Range <@ba.vup>expands, ATK <@ba.vup>+20%, and attacks hit <@ba.vup>3 times in a row\n<@ba.rem>Activates after taking damage, dodging that instance of Physical or Arts damage","name":"Emergency Scene Change","desc":"Immediately Takes Off, Attack Range expands, ATK +20%, and attacks hit 3 times in a row\nActivates after taking damage, dodging that instance of Physical or Arts damage"},"talents":[{"descRaw":"If not attacked for 13 seconds, dodge the next Physical or Arts attack","name":"Film Set Operational Manual","desc":"If not attacked for 13 seconds, dodge the next Physical or Arts attack"}],"skills":[{"descRaw":"Immediately <$ba.liftoff>Takes Off, Attack Range <@ba.vup>expands, ATK <@ba.vup>+45%","name":"Specialist's Spraying Skills","desc":"Immediately Takes Off, Attack Range expands, ATK +45%"},{"descRaw":"Immediately <$ba.liftoff>Takes Off, Attack Range <@ba.vup>expands, ATK <@ba.vup>+20%, and attacks hit <@ba.vup>3 times in a row\n<@ba.rem>Activates after taking damage, dodging that instance of Physical or Arts damage","name":"Emergency Scene Change","desc":"Immediately Takes Off, Attack Range expands, ATK +20%, and attacks hit 3 times in a row\nActivates after taking damage, dodging that instance of Physical or Arts damage"}],"_h":"tfj9360moqaw1h39gb396b66o1oqaw1h"},"chess_char_2_13_b":{"name":"Tippi","subProfessionName":"Skyranger","trait":{"descRaw":"After <$ba.liftoff>Taking Off, can block 2 flying enemies","desc":"After Taking Off, can block 2 flying enemies"},"skill":{"descRaw":"Immediately <$ba.liftoff>Takes Off, Attack Range <@ba.vup>expands, ATK <@ba.vup>+30%, and attacks hit <@ba.vup>3 times in a row\n<@ba.rem>Activates after taking damage, dodging that instance of Physical or Arts damage","name":"Emergency Scene Change","desc":"Immediately Takes Off, Attack Range expands, ATK +30%, and attacks hit 3 times in a row\nActivates after taking damage, dodging that instance of Physical or Arts damage"},"talents":[{"descRaw":"If not attacked for 9 seconds, dodge the next Physical or Arts attack","name":"Film Set Operational Manual","desc":"If not attacked for 9 seconds, dodge the next Physical or Arts attack"}],"skills":[{"descRaw":"Immediately <$ba.liftoff>Takes Off, Attack Range <@ba.vup>expands, ATK <@ba.vup>+60%","name":"Specialist's Spraying Skills","desc":"Immediately Takes Off, Attack Range expands, ATK +60%"},{"descRaw":"Immediately <$ba.liftoff>Takes Off, Attack Range <@ba.vup>expands, ATK <@ba.vup>+30%, and attacks hit <@ba.vup>3 times in a row\n<@ba.rem>Activates after taking damage, dodging that instance of Physical or Arts damage","name":"Emergency Scene Change","desc":"Immediately Takes Off, Attack Range expands, ATK +30%, and attacks hit 3 times in a row\nActivates after taking damage, dodging that instance of Physical or Arts damage"}],"traitBase":{"descRaw":"After <$ba.liftoff>Taking Off, can block 2 flying enemies","desc":"After Taking Off, can block 2 flying enemies"},"talentsBase":[{"descRaw":"If not attacked for 9 seconds, dodge the next Physical or Arts attack","name":"Film Set Operational Manual","desc":"If not attacked for 9 seconds, dodge the next Physical or Arts attack"}],"_h":"tfj9360matawxsemgbem5e664eatawxs360memgbem"},"chess_char_2_14_a":{"name":"Perfumer","subProfessionName":"Multi-target Medic","trait":{"descRaw":"Restores the HP of 3 allies simultaneously","desc":"Restores the HP of 3 allies simultaneously"},"skill":{"descRaw":"ASPD <@ba.vdown>-50; ATK <@ba.vup>+180%","name":"Fine Blending","desc":"ASPD -50; ATK +180%"},"talents":[{"descRaw":"Restores the HP of all allies by 3% of Perfumer's ATK per second","name":"Lavender","desc":"Restores the HP of all allies by 3% of Perfumer's ATK per second"}],"module":{"name":"'Aegean's Kiss'"},"skills":[{"descRaw":"ATK <@ba.vup>+30%","name":"Healing Up β","desc":"ATK +30%"},{"descRaw":"ASPD <@ba.vdown>-50; ATK <@ba.vup>+180%","name":"Fine Blending","desc":"ASPD -50; ATK +180%"}],"_h":"grmz0x0x5f3avibgoqbgxfigwjsd5f3avi"},"chess_char_2_14_b":{"name":"Perfumer","subProfessionName":"Multi-target Medic","trait":{"descRaw":"Restores the HP of <@ba.kw>4 allied units simultaneously","desc":"Restores the HP of 4 allied units simultaneously"},"skill":{"descRaw":"ASPD <@ba.vdown>-50; ATK <@ba.vup>+210%","name":"Fine Blending","desc":"ASPD -50; ATK +210%"},"talents":[{"descRaw":"Restores the HP of all allies by 5% of Perfumer's ATK per second","name":"Lavender's Fragrance","desc":"Restores the HP of all allies by 5% of Perfumer's ATK per second"}],"module":{"name":"'Aegean's Kiss'"},"skills":[{"descRaw":"ATK <@ba.vup>+50%","name":"Healing Up β","desc":"ATK +50%"},{"descRaw":"ASPD <@ba.vdown>-50; ATK <@ba.vup>+210%","name":"Fine Blending","desc":"ASPD -50; ATK +210%"}],"traitBase":{"descRaw":"Restores the HP of 3 allies simultaneously","desc":"Restores the HP of 3 allies simultaneously"},"talentsBase":[{"descRaw":"Restores the HP of all allies by 5% of Perfumer's ATK per second","name":"Lavender's Fragrance","desc":"Restores the HP of all allies by 5% of Perfumer's ATK per second"}],"modules":[{"name":"'Aegean's Kiss'","traitOverride":{"descRaw":"Restores the HP of <@ba.kw>4 allied units simultaneously","desc":"Restores the HP of 4 allied units simultaneously"}}],"_h":"grmznvonz33acavyvevyxf1iwjd7z33aca0x0xvyvevyxfnvon"},"chess_char_2_15_a":{"name":"Akkord","subProfessionName":"Blast Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage in a long line","desc":"Deals AOE Arts damage in a long line"},"skill":{"descRaw":"<@ba.vup>+35% ATK, every attack triggers a sonic boom at the location of other Operators within attack range, dealing <@ba.vup>15% ATK as AoE Arts damage","name":"Explosive Tuning","desc":"+35% ATK, every attack triggers a sonic boom at the location of other Operators within attack range, dealing 15% ATK as AoE Arts damage"},"talents":[{"descRaw":"When there is at least 1 other Operator within range, +8% ATK","name":"Pulse Isomorphism","desc":"When there is at least 1 other Operator within range, +8% ATK"}],"module":{"name":"The Music Box of A Burdenbeast"},"skills":[{"descRaw":"The next attack deals <@ba.vup>145% ATK as Arts damage\n<@ba.rem>Can store 2 charges","name":"Backbeat Stress","desc":"The next attack deals 145% ATK as Arts damage\nCan store 2 charges"},{"descRaw":"<@ba.vup>+35% ATK, every attack triggers a sonic boom at the location of other Operators within attack range, dealing <@ba.vup>15% ATK as AoE Arts damage","name":"Explosive Tuning","desc":"+35% ATK, every attack triggers a sonic boom at the location of other Operators within attack range, dealing 15% ATK as AoE Arts damage"}],"_h":"qnebq48u44qj1enbblnb16gklrax44qj1e"},"chess_char_2_15_b":{"name":"Akkord","subProfessionName":"Blast Caster","trait":{"descRaw":"Attacks deal <@ba.kw>extremely long-ranged AoE Arts damage; damage dealt increases with distance, up to <@ba.kw>110%","desc":"Attacks deal extremely long-ranged AoE Arts damage; damage dealt increases with distance, up to 110%"},"skill":{"descRaw":"<@ba.vup>+45% ATK, every attack triggers a sonic boom at the location of other Operators within attack range, dealing <@ba.vup>20% ATK as AoE Arts damage","name":"Explosive Tuning","desc":"+45% ATK, every attack triggers a sonic boom at the location of other Operators within attack range, dealing 20% ATK as AoE Arts damage"},"talents":[{"descRaw":"When there is at least 1 other Operator within range, +15% ATK","name":"Pulse Isomorphism","desc":"When there is at least 1 other Operator within range, +15% ATK"}],"module":{"name":"The Music Box of A Burdenbeast"},"skills":[{"descRaw":"The next attack deals <@ba.vup>170% ATK as Arts damage\n<@ba.rem>Can store 2 charges","name":"Backbeat Stress","desc":"The next attack deals 170% ATK as Arts damage\nCan store 2 charges"},{"descRaw":"<@ba.vup>+45% ATK, every attack triggers a sonic boom at the location of other Operators within attack range, dealing <@ba.vup>20% ATK as AoE Arts damage","name":"Explosive Tuning","desc":"+45% ATK, every attack triggers a sonic boom at the location of other Operators within attack range, dealing 20% ATK as AoE Arts damage"}],"traitBase":{"descRaw":"Deals <@ba.kw>AOE Arts damage in a long line","desc":"Deals AOE Arts damage in a long line"},"talentsBase":[{"descRaw":"When there is at least 1 other Operator within range, +15% ATK","name":"Pulse Isomorphism","desc":"When there is at least 1 other Operator within range, +15% ATK"}],"modules":[{"name":"The Music Box of A Burdenbeast","traitOverride":{"descRaw":"Attacks deal <@ba.kw>extremely long-ranged AoE Arts damage; damage dealt increases with distance, up to <@ba.kw>110%","desc":"Attacks deal extremely long-ranged AoE Arts damage; damage dealt increases with distance, up to 110%"}}],"_h":"qnebdove0fqjx7lhbllh16j0lrbd0fqjx7q48ulhbllh16dove"},"chess_char_2_16_a":{"name":"Lappland","subProfessionName":"Lord","trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"skill":{"descRaw":"ATK <@ba.vup>+75%; Damage dealt turns into Arts damage; Attacks 1 extra target; The damage reduction of Ranged Attacks is removed\n<@ba.rem>Automatically activated","name":"Wolf Spirit","desc":"ATK +75%; Damage dealt turns into Arts damage; Attacks 1 extra target; The damage reduction of Ranged Attacks is removed\nAutomatically activated"},"talents":[{"descRaw":"Disables the target's special ability when attacking, lasting 1 second","name":"Spiritual Destruction","desc":"Disables the target's special ability when attacking, lasting 1 second"}],"module":{"name":"'The Young Fang'"},"skills":[{"descRaw":"ATK <@ba.vup>+43%; <@ba.vup>25% chance to resist Physical damage\n<@ba.rem>Infinite duration","name":"Sundial","desc":"ATK +43%; 25% chance to resist Physical damage\nInfinite duration"},{"descRaw":"ATK <@ba.vup>+75%; Damage dealt turns into Arts damage; Attacks 1 extra target; The damage reduction of Ranged Attacks is removed\n<@ba.rem>Automatically activated","name":"Wolf Spirit","desc":"ATK +75%; Damage dealt turns into Arts damage; Attacks 1 extra target; The damage reduction of Ranged Attacks is removed\nAutomatically activated"}],"_h":"w75y69jz05p7mwvo71vo9o9fr9tr05p7mw"},"chess_char_2_16_b":{"name":"Lappland","subProfessionName":"Lord","trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"Attacks deal an additional <@ba.vup>10% ATK as Arts Damage","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"Attacks deal an additional 10% ATK as Arts Damage"},"skill":{"descRaw":"ATK <@ba.vup>+90%; Damage dealt turns into Arts damage; Attacks 1 extra target; The damage reduction of Ranged Attacks is removed\n<@ba.rem>Automatically activated","name":"Wolf Spirit","desc":"ATK +90%; Damage dealt turns into Arts damage; Attacks 1 extra target; The damage reduction of Ranged Attacks is removed\nAutomatically activated"},"talents":[{"descRaw":"Disables the target's special ability when attacking, lasting 5 seconds","name":"Spiritual Destruction","desc":"Disables the target's special ability when attacking, lasting 5 seconds"}],"module":{"name":"'The Young Fang'"},"skills":[{"descRaw":"ATK <@ba.vup>+55%; <@ba.vup>30% chance to resist Physical damage\n<@ba.rem>Infinite duration","name":"Sundial","desc":"ATK +55%; 30% chance to resist Physical damage\nInfinite duration"},{"descRaw":"ATK <@ba.vup>+90%; Damage dealt turns into Arts damage; Attacks 1 extra target; The damage reduction of Ranged Attacks is removed\n<@ba.rem>Automatically activated","name":"Wolf Spirit","desc":"ATK +90%; Damage dealt turns into Arts damage; Attacks 1 extra target; The damage reduction of Ranged Attacks is removed\nAutomatically activated"}],"traitBase":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"talentsBase":[{"descRaw":"Disables the target's special ability when attacking, lasting 5 seconds","name":"Spiritual Destruction","desc":"Disables the target's special ability when attacking, lasting 5 seconds"}],"modules":[{"name":"'The Young Fang'","traitOverride":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"Attacks deal an additional <@ba.vup>10% ATK as Arts Damage","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"Attacks deal an additional 10% ATK as Arts Damage"}}],"_h":"w75y698gjzsnkmp7ttnc71nc9omwr9cmkmp7tt69jznc71nc9o698gjzsn"},"chess_char_2_17_a":{"name":"Vetochki","subProfessionName":"Juggernaut","trait":{"descRaw":"<@ba.kw>Cannot be healed by allies","desc":"Cannot be healed by allies"},"skill":{"descRaw":"<$ba.tremble>Frightens nearby ground enemies for <@ba.vup>5s; ATK <@ba.vup>+100%, DEF <@ba.vup>+30%, and attacks all blocked enemies","name":"Set on Survival","desc":"Frightens nearby ground enemies for 5s; ATK +100%, DEF +30%, and attacks all blocked enemies"},"talents":[{"descRaw":"Restores 40% of Max HP when skill ends","name":"Simple Bandages","desc":"Restores 40% of Max HP when skill ends"}],"module":{"name":"'Marks of Time'"},"skills":[{"descRaw":"DEF <@ba.vup>+75% and gains <$ba.buffres>status resistance","name":"Desperate Resistance","desc":"DEF +75% and gains status resistance"},{"descRaw":"<$ba.tremble>Frightens nearby ground enemies for <@ba.vup>5s; ATK <@ba.vup>+100%, DEF <@ba.vup>+30%, and attacks all blocked enemies","name":"Set on Survival","desc":"Frightens nearby ground enemies for 5s; ATK +100%, DEF +30%, and attacks all blocked enemies"}],"_h":"qtpr4x1ti8cg5of6hzf6sgn9mpbhi8cg5o"},"chess_char_2_17_b":{"name":"Vetochki","subProfessionName":"Juggernaut","trait":{"descRaw":"<@ba.kw>Cannot be healed by allies","moduleDescRaw":"Takes <@ba.kw>15% less damage from enemies blocked by this unit","desc":"Cannot be healed by allies","moduleDesc":"Takes 15% less damage from enemies blocked by this unit"},"skill":{"descRaw":"<$ba.tremble>Frightens nearby ground enemies for <@ba.vup>5s; ATK <@ba.vup>+120%, DEF <@ba.vup>+40%, and attacks all blocked enemies","name":"Set on Survival","desc":"Frightens nearby ground enemies for 5s; ATK +120%, DEF +40%, and attacks all blocked enemies"},"talents":[{"descRaw":"Restores 50% of Max HP when skill ends","name":"Simple Bandages","desc":"Restores 50% of Max HP when skill ends"}],"module":{"name":"'Marks of Time'"},"skills":[{"descRaw":"DEF <@ba.vup>+90% and gains <$ba.buffres>status resistance","name":"Desperate Resistance","desc":"DEF +90% and gains status resistance"},{"descRaw":"<$ba.tremble>Frightens nearby ground enemies for <@ba.vup>5s; ATK <@ba.vup>+120%, DEF <@ba.vup>+40%, and attacks all blocked enemies","name":"Set on Survival","desc":"Frightens nearby ground enemies for 5s; ATK +120%, DEF +40%, and attacks all blocked enemies"}],"traitBase":{"descRaw":"<@ba.kw>Cannot be healed by allies","desc":"Cannot be healed by allies"},"talentsBase":[{"descRaw":"Restores 50% of Max HP when skill ends","name":"Simple Bandages","desc":"Restores 50% of Max HP when skill ends"}],"modules":[{"name":"'Marks of Time'","traitOverride":{"descRaw":"<@ba.kw>Cannot be healed by allies","moduleDescRaw":"Takes <@ba.kw>15% less damage from enemies blocked by this unit","desc":"Cannot be healed by allies","moduleDesc":"Takes 15% less damage from enemies blocked by this unit"}}],"_h":"qtpr4xtj1tdfjhcgw3mzhzmzsgiympv4jhcgw34x1tmzhzmzsg4xtj1tdf"},"chess_char_2_18_a":{"name":"Ashlock","subProfessionName":"Fortress","trait":{"descRaw":"When not blocking enemies, prioritizes dealing <@ba.kw>ranged AoE Physical damage","desc":"When not blocking enemies, prioritizes dealing ranged AoE Physical damage"},"skill":{"descRaw":"ATK <@ba.vup>+45%","name":"ATK Up γ","desc":"ATK +45%"},"talents":[{"descRaw":"ATK +4%. If the four adjacent tiles are ground tiles, ATK +8% instead","name":"Bombardment Studies","desc":"ATK +4%. If the four adjacent tiles are ground tiles, ATK +8% instead"}],"module":{"name":"Outdoor Essential Kit"},"skills":[{"descRaw":"ATK <@ba.vup>+45%","name":"ATK Up γ","desc":"ATK +45%"},{"descRaw":"Cannot block enemies and only carry out ranged attacks. Attack Interval <@ba.vup>reduces moderately, ATK <@ba.vup>+25%","name":"Focused Bombardment","desc":"Cannot block enemies and only carry out ranged attacks. Attack Interval reduces moderately, ATK +25%"}],"_h":"9oba7ti1igyjmhaaniaa6rigyjmhcoc3yk"},"chess_char_2_18_b":{"name":"Ashlock","subProfessionName":"Fortress","trait":{"descRaw":"When not blocking enemies, prioritizes dealing <@ba.kw>ranged AoE Physical damage","moduleDescRaw":"Increases ATK to <@ba.vup>110% when attacking blocked enemies","desc":"When not blocking enemies, prioritizes dealing ranged AoE Physical damage","moduleDesc":"Increases ATK to 110% when attacking blocked enemies"},"skill":{"descRaw":"ATK <@ba.vup>+60%","name":"ATK Up γ","desc":"ATK +60%"},"talents":[{"descRaw":"ATK +8%. If the four adjacent tiles are ground tiles, ATK +16% instead","name":"Bombardment Studies","desc":"ATK +8%. If the four adjacent tiles are ground tiles, ATK +16% instead"}],"module":{"name":"Outdoor Essential Kit"},"skills":[{"descRaw":"ATK <@ba.vup>+60%","name":"ATK Up γ","desc":"ATK +60%"},{"descRaw":"Cannot block enemies and only carry out ranged attacks. Attack Interval <@ba.vup>reduces, ATK <@ba.vup>+40%","name":"Focused Bombardment","desc":"Cannot block enemies and only carry out ranged attacks. Attack Interval reduces, ATK +40%"}],"traitBase":{"descRaw":"When not blocking enemies, prioritizes dealing <@ba.kw>ranged AoE Physical damage","desc":"When not blocking enemies, prioritizes dealing ranged AoE Physical damage"},"talentsBase":[{"descRaw":"ATK +8%. If the four adjacent tiles are ground tiles, ATK +16% instead","name":"Bombardment Studies","desc":"ATK +8%. If the four adjacent tiles are ground tiles, ATK +16% instead"}],"modules":[{"name":"Outdoor Essential Kit","traitOverride":{"descRaw":"When not blocking enemies, prioritizes dealing <@ba.kw>ranged AoE Physical damage","moduleDescRaw":"Increases ATK to <@ba.vup>110% when attacking blocked enemies","desc":"When not blocking enemies, prioritizes dealing ranged AoE Physical damage","moduleDesc":"Increases ATK to 110% when attacking blocked enemies"}}],"_h":"9oba7trri1vu75yjaextnixt6r75yjae6sc3fk7ti1xtnixt6r7trri1vu"},"chess_char_2_19_a":{"name":"Tin Man","subProfessionName":"Alchemist","trait":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","desc":"Can throw Alchemical Units to assist in combat"},"skill":{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>11 seconds, enemies around the landing point take <@ba.vup>65% ATK as Arts damage per second, while allied units around the point recover HP equal to <@ba.vup>15% ATK per second\n<@ba.rem>Can store 1 charge","name":"'Big Larry'","desc":"Throws an Alchemical Unit. For 11 seconds, enemies around the landing point take 65% ATK as Arts damage per second, while allied units around the point recover HP equal to 15% ATK per second\nCan store 1 charge"},"talents":[{"descRaw":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +3 Toil Limit when acting as a Loadbearing Operator","name":"'On My Way'","desc":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +3 Toil Limit when acting as a Loadbearing Operator"}],"module":{"name":"'Phrenology'"},"skills":[{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>8 seconds, enemies around the landing point suffer from <@ba.vup>20% <$ba.weaken>Enfeeble and take <@ba.vup>45% ATK as Arts damage per second","name":"'Ol' Curly'","desc":"Throws an Alchemical Unit. For 8 seconds, enemies around the landing point suffer from 20% Enfeeble and take 45% ATK as Arts damage per second"},{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>11 seconds, enemies around the landing point take <@ba.vup>65% ATK as Arts damage per second, while allied units around the point recover HP equal to <@ba.vup>15% ATK per second\n<@ba.rem>Can store 1 charge","name":"'Big Larry'","desc":"Throws an Alchemical Unit. For 11 seconds, enemies around the landing point take 65% ATK as Arts damage per second, while allied units around the point recover HP equal to 15% ATK per second\nCan store 1 charge"}],"_h":"7ms2yqta6bv84eieu7iejrcv43c96bv84e"},"chess_char_2_19_b":{"name":"Tin Man","subProfessionName":"Alchemist","trait":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","moduleDescRaw":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field","desc":"Can throw Alchemical Units to assist in combat","moduleDesc":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field"},"skill":{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>12 seconds, enemies around the landing point take <@ba.vup>80% ATK as Arts damage per second, while allied units around the point recover HP equal to <@ba.vup>20% ATK per second\n<@ba.rem>Can store 2 charges","name":"'Big Larry'","desc":"Throws an Alchemical Unit. For 12 seconds, enemies around the landing point take 80% ATK as Arts damage per second, while allied units around the point recover HP equal to 20% ATK per second\nCan store 2 charges"},"talents":[{"descRaw":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +9 Toil Limit when acting as a Loadbearing Operator","name":"'On My Way'","desc":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +9 Toil Limit when acting as a Loadbearing Operator"},{"descRaw":"Increases the continuous damage dealt to ground enemies in range of Tin Man's Alchemical Units by 20%","name":"Shriveled Soul","desc":"Increases the continuous damage dealt to ground enemies in range of Tin Man's Alchemical Units by 20%"}],"module":{"name":"'Phrenology'"},"skills":[{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>8 seconds, enemies around the landing point suffer from <@ba.vup>25% <$ba.weaken>Enfeeble and take <@ba.vup>60% ATK as Arts damage per second","name":"'Ol' Curly'","desc":"Throws an Alchemical Unit. For 8 seconds, enemies around the landing point suffer from 25% Enfeeble and take 60% ATK as Arts damage per second"},{"descRaw":"Throws an Alchemical Unit. For <@ba.vup>12 seconds, enemies around the landing point take <@ba.vup>80% ATK as Arts damage per second, while allied units around the point recover HP equal to <@ba.vup>20% ATK per second\n<@ba.rem>Can store 2 charges","name":"'Big Larry'","desc":"Throws an Alchemical Unit. For 12 seconds, enemies around the landing point take 80% ATK as Arts damage per second, while allied units around the point recover HP equal to 20% ATK per second\nCan store 2 charges"}],"traitBase":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","desc":"Can throw Alchemical Units to assist in combat"},"talentsBase":[{"descRaw":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +9 Toil Limit when acting as a Loadbearing Operator","name":"'On My Way'","desc":"In [Sarkaz's Furnaceside Fables], costs -2 Hope to recruit and grants +9 Toil Limit when acting as a Loadbearing Operator"},{"descRaw":"Increases the continuous damage dealt to ground enemies in range of Tin Man's Alchemical Units by 20%","name":"Shriveled Soul","desc":"Increases the continuous damage dealt to ground enemies in range of Tin Man's Alchemical Units by 20%"}],"modules":[{"name":"'Phrenology'","traitOverride":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","moduleDescRaw":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field","desc":"Can throw Alchemical Units to assist in combat","moduleDesc":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field"}}],"_h":"7ms2yqkytaky72v8mto8u7o86xcg6xjrit43pl72v8mtyqtao8u7o86xcg6xjryqkytaky"},"chess_char_3_01_a":{"name":"Exusiai","subProfessionName":"Marksman","trait":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"skill":{"descRaw":"Shoots <@ba.vup>5 times in a row; <@ba.vup>Very minor Attack Interval reduction\n<@ba.rem>Automatically activated","name":"Overloading Mode","desc":"Shoots 5 times in a row; Very minor Attack Interval reduction\nAutomatically activated"},"talents":[{"descRaw":"ASPD +12","name":"Fast Cartridge","desc":"ASPD +12"},{"descRaw":"ATK +6%; Max HP +10%; The same buff is given to a random ally when Exusiai is deployed","name":"Angel's Blessings","desc":"ATK +6%; Max HP +10%; The same buff is given to a random ally when Exusiai is deployed"}],"module":{"name":"Exusiai's Surprise"},"skills":[{"descRaw":"Shoots <@ba.vup>3 times in a row in the next attack, dealing <@ba.vup>113% of ATK damage with every shot","name":"Charging Mode","desc":"Shoots 3 times in a row in the next attack, dealing 113% of ATK damage with every shot"},{"descRaw":"Shoots <@ba.vup>4 times in a row, dealing <@ba.vup>105% of ATK damage with every shot","name":"Shooting Mode","desc":"Shoots 4 times in a row, dealing 105% of ATK damage with every shot"},{"descRaw":"Shoots <@ba.vup>5 times in a row; <@ba.vup>Very minor Attack Interval reduction\n<@ba.rem>Automatically activated","name":"Overloading Mode","desc":"Shoots 5 times in a row; Very minor Attack Interval reduction\nAutomatically activated"}],"_h":"dwkfcwcwnnnxjj74nn74owxnowesqs5m6oceiybmnnnxjj"},"chess_char_3_01_b":{"name":"Exusiai","subProfessionName":"Marksman","trait":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"},"skill":{"descRaw":"Shoots <@ba.vup>5 times in a row; <@ba.vup>Minor Attack Interval reduction\n<@ba.rem>Automatically activated","name":"Overloading Mode","desc":"Shoots 5 times in a row; Minor Attack Interval reduction\nAutomatically activated"},"talents":[{"descRaw":"ASPD +12","name":"Fast Cartridge","desc":"ASPD +12"},{"descRaw":"ATK +6%; Max HP +10%; The same buff is given to a random ally when Exusiai is deployed","name":"Angel's Blessings","desc":"ATK +6%; Max HP +10%; The same buff is given to a random ally when Exusiai is deployed"}],"module":{"name":"Exusiai's Surprise"},"skills":[{"descRaw":"Shoots <@ba.vup>3 times in a row in the next attack, dealing <@ba.vup>121% of ATK damage with every shot","name":"Charging Mode","desc":"Shoots 3 times in a row in the next attack, dealing 121% of ATK damage with every shot"},{"descRaw":"Shoots <@ba.vup>4 times in a row, dealing <@ba.vup>110% of ATK damage with every shot","name":"Shooting Mode","desc":"Shoots 4 times in a row, dealing 110% of ATK damage with every shot"},{"descRaw":"Shoots <@ba.vup>5 times in a row; <@ba.vup>Minor Attack Interval reduction\n<@ba.rem>Automatically activated","name":"Overloading Mode","desc":"Shoots 5 times in a row; Minor Attack Interval reduction\nAutomatically activated"}],"traitBase":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"talentsBase":[{"descRaw":"ASPD +12","name":"Fast Cartridge","desc":"ASPD +12"},{"descRaw":"ATK +6%; Max HP +10%; The same buff is given to a random ally when Exusiai is deployed","name":"Angel's Blessings","desc":"ATK +6%; Max HP +10%; The same buff is given to a random ally when Exusiai is deployed"}],"modules":[{"name":"Exusiai's Surprise","traitOverride":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"}},{"name":"Welcome to Penguin Logistics","traitOverride":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"When there are ground enemies within range, ASPD <@ba.kw>+8","desc":"Attacks aerial enemies first","moduleDesc":"When there are ground enemies within range, ASPD +8"}}],"_h":"dwkfcw9scwlsoqnxvk74nn74owxnowes3f5m8t28iy84oqnxvkcwcw74nn74owxnowescw9scwls48cw7bcwet"},"chess_char_3_02_a":{"name":"Ayerscarpe","subProfessionName":"Lord","trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"skill":{"descRaw":"Range <@ba.vup>expands; Damage type changes to Arts Damage; Each attack deals an additional <@ba.vup>100% of ATK as Arts damage to all enemies blocked by friendly Operators in the surrounding 8 tiles (this damage is treated as a melee attack)","name":"Activate Phase Blades","desc":"Range expands; Damage type changes to Arts Damage; Each attack deals an additional 100% of ATK as Arts damage to all enemies blocked by friendly Operators in the surrounding 8 tiles (this damage is treated as a melee attack)"},"talents":[{"descRaw":"This unit and allied Operators in the surrounding 8 tiles gain +8 ASPD","name":"Seek Aid","desc":"This unit and allied Operators in the surrounding 8 tiles gain +8 ASPD"}],"module":{"name":"Portable Wildland Stimulants"},"skills":[{"descRaw":"The next attack deals <@ba.vup>125% ATK as Arts damage to up to <@ba.vup>2 enemies within range and <$ba.sluggish>Slows them for <@ba.vup>1.0 second(s)","name":"Shrapnel Burst","desc":"The next attack deals 125% ATK as Arts damage to up to 2 enemies within range and Slows them for 1.0 second(s)"},{"descRaw":"Range <@ba.vup>expands; Damage type changes to Arts Damage; Each attack deals an additional <@ba.vup>100% of ATK as Arts damage to all enemies blocked by friendly Operators in the surrounding 8 tiles (this damage is treated as a melee attack)","name":"Activate Phase Blades","desc":"Range expands; Damage type changes to Arts Damage; Each attack deals an additional 100% of ATK as Arts damage to all enemies blocked by friendly Operators in the surrounding 8 tiles (this damage is treated as a melee attack)"}],"_h":"ne5y69jzrrxzu32jho2je0dxeovgrrxzu3"},"chess_char_3_02_b":{"name":"Ayerscarpe","subProfessionName":"Lord","trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"Attacks deal an additional <@ba.vup>10% ATK as Arts Damage","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"Attacks deal an additional 10% ATK as Arts Damage"},"skill":{"descRaw":"Range <@ba.vup>expands; Damage type changes to Arts Damage; Each attack deals an additional <@ba.vup>130% of ATK as Arts damage to all enemies blocked by friendly Operators in the surrounding 8 tiles (this damage is treated as a melee attack)","name":"Activate Phase Blades","desc":"Range expands; Damage type changes to Arts Damage; Each attack deals an additional 130% of ATK as Arts damage to all enemies blocked by friendly Operators in the surrounding 8 tiles (this damage is treated as a melee attack)"},"talents":[{"descRaw":"This unit and allied Operators in the surrounding 8 tiles gain +8 ASPD","name":"Seek Aid","desc":"This unit and allied Operators in the surrounding 8 tiles gain +8 ASPD"}],"module":{"name":"Portable Wildland Stimulants"},"skills":[{"descRaw":"The next attack deals <@ba.vup>140% ATK as Arts damage to up to <@ba.vup>3 enemies within range and <$ba.sluggish>Slows them for <@ba.vup>1.0 second(s)","name":"Shrapnel Burst","desc":"The next attack deals 140% ATK as Arts damage to up to 3 enemies within range and Slows them for 1.0 second(s)"},{"descRaw":"Range <@ba.vup>expands; Damage type changes to Arts Damage; Each attack deals an additional <@ba.vup>130% of ATK as Arts damage to all enemies blocked by friendly Operators in the surrounding 8 tiles (this damage is treated as a melee attack)","name":"Activate Phase Blades","desc":"Range expands; Damage type changes to Arts Damage; Each attack deals an additional 130% of ATK as Arts damage to all enemies blocked by friendly Operators in the surrounding 8 tiles (this damage is treated as a melee attack)"}],"traitBase":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"talentsBase":[{"descRaw":"This unit and allied Operators in the surrounding 8 tiles gain +8 ASPD","name":"Seek Aid","desc":"This unit and allied Operators in the surrounding 8 tiles gain +8 ASPD"}],"modules":[{"name":"Portable Wildland Stimulants","traitOverride":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"Attacks deal an additional <@ba.vup>10% ATK as Arts Damage","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"Attacks deal an additional 10% ATK as Arts Damage"}}],"_h":"ne5y698gjzsn54xzwa2jho2je0d5eoc054xzwa69jz2jho2je0698gjzsn"},"chess_char_3_03_a":{"name":"Swire","subProfessionName":"Instructor","trait":{"descRaw":"Has <@ba.kw>extended attack range; When attacking enemies not blocked by self, increase ATK to 120%","desc":"Has extended attack range; When attacking enemies not blocked by self, increase ATK to 120%"},"skill":{"descRaw":"ATK <@ba.vup>+40% and the effect of this unit's first Talent increases to <@ba.vup>2.4 times","name":"Cooperative Combat","desc":"ATK +40% and the effect of this unit's first Talent increases to 2.4 times"},"talents":[{"descRaw":"ATK of Melee Attack allies in the 8 surrounding tiles +10% when Swire is deployed","name":"Melee Combat Guidance","desc":"ATK of Melee Attack allies in the 8 surrounding tiles +10% when Swire is deployed"}],"module":{"name":"Self-defense Lipstick"},"skills":[{"descRaw":"The effect range of this unit's first Talent <@ba.vup>expands and the effect increases to <@ba.vup>2 times","name":"Command and Dispatch","desc":"The effect range of this unit's first Talent expands and the effect increases to 2 times"},{"descRaw":"ATK <@ba.vup>+40% and the effect of this unit's first Talent increases to <@ba.vup>2.4 times","name":"Cooperative Combat","desc":"ATK +40% and the effect of this unit's first Talent increases to 2.4 times"}],"_h":"112s8ivir3r67lmv47mvyz509kaer3r67l"},"chess_char_3_03_b":{"name":"Swire","subProfessionName":"Instructor","trait":{"descRaw":"Has <@ba.kw>extended attack range; When attacking enemies not blocked by self, increase ATK to <@ba.kw>130%","desc":"Has extended attack range; When attacking enemies not blocked by self, increase ATK to 130%"},"skill":{"descRaw":"ATK <@ba.vup>+50% and the effect of this unit's first Talent increases to <@ba.vup>2.7 times","name":"Cooperative Combat","desc":"ATK +50% and the effect of this unit's first Talent increases to 2.7 times"},"talents":[{"descRaw":"ATK of Melee Attack allies in the 8 surrounding tiles +10% when Swire is deployed","name":"Melee Combat Guidance","desc":"ATK of Melee Attack allies in the 8 surrounding tiles +10% when Swire is deployed"}],"module":{"name":"Self-defense Lipstick"},"skills":[{"descRaw":"The effect range of this unit's first Talent <@ba.vup>expands significantly and the effect increases to <@ba.vup>2 times","name":"Command and Dispatch","desc":"The effect range of this unit's first Talent expands significantly and the effect increases to 2 times"},{"descRaw":"ATK <@ba.vup>+50% and the effect of this unit's first Talent increases to <@ba.vup>2.7 times","name":"Cooperative Combat","desc":"ATK +50% and the effect of this unit's first Talent increases to 2.7 times"}],"traitBase":{"descRaw":"Has <@ba.kw>extended attack range; When attacking enemies not blocked by self, increase ATK to 120%","desc":"Has extended attack range; When attacking enemies not blocked by self, increase ATK to 120%"},"talentsBase":[{"descRaw":"ATK of Melee Attack allies in the 8 surrounding tiles +10% when Swire is deployed","name":"Melee Combat Guidance","desc":"ATK of Melee Attack allies in the 8 surrounding tiles +10% when Swire is deployed"}],"modules":[{"name":"Self-defense Lipstick","traitOverride":{"descRaw":"Has <@ba.kw>extended attack range; When attacking enemies not blocked by self, increase ATK to <@ba.kw>130%","desc":"Has extended attack range; When attacking enemies not blocked by self, increase ATK to 130%"}}],"_h":"112scz2xvjr6m1mv47mvyzu49kbyvjr6m18ivimv47mvyzcz2x"},"chess_char_3_04_a":{"name":"Swire the Elegant Wit","subProfessionName":"Merchant","trait":{"descRaw":"Has <@ba.kw>reduced Redeployment Time, but <@ba.kw>DP Cost is not refunded upon retreating; While deployed, <@ba.kw>3 DP are consumed every 3 seconds (automatically retreats without sufficient DP)","desc":"Has reduced Redeployment Time, but DP Cost is not refunded upon retreating; While deployed, 3 DP are consumed every 3 seconds (automatically retreats without sufficient DP)"},"skill":{"descRaw":"Spends <@ba.vup>1 Coin to place a Champagne Bomb on a ground tile within range that is passable and can be deployed upon; the Champagne Bomb deals <@ba.vup>155% of ATK as Physical damage to the first target it comes in contact with, and <$ba.sluggish>Slows for <@ba.vup>2 seconds\n<@ba.rem>The Champagne Bomb deals additional damage after having been deployed for 3 seconds; a maximum of 3 Coins may be held while this Skill is equipped","name":"'Courtesy Gift'","desc":"Spends 1 Coin to place a Champagne Bomb on a ground tile within range that is passable and can be deployed upon; the Champagne Bomb deals 155% of ATK as Physical damage to the first target it comes in contact with, and Slows for 2 seconds\nThe Champagne Bomb deals additional damage after having been deployed for 3 seconds; a maximum of 3 Coins may be held while this Skill is equipped"},"talents":[{"descRaw":"Gains 1 Coin upon skill activation (can be spent through skills). While a skill is active, gains 1 Coin each time DP is consumed by this unit's Trait, and +4% ATK (stacks up to 8 times)","name":"Big Spendthrift","desc":"Gains 1 Coin upon skill activation (can be spent through skills). While a skill is active, gains 1 Coin each time DP is consumed by this unit's Trait, and +4% ATK (stacks up to 8 times)"},{"descRaw":"Upon receiving lethal damage, as long as enough DP is available, consumes 5 DP to restore this unit's HP to 70%; the cost of this Talent doubles every time it is activated","name":"Cash Claps Calamity","desc":"Upon receiving lethal damage, as long as enough DP is available, consumes 5 DP to restore this unit's HP to 70%; the cost of this Talent doubles every time it is activated"}],"module":{"name":"'Be Resplendent and Outstanding'"},"skills":[{"descRaw":"Spends <@ba.vup>1 Coin: the next attack restores HP equal to <@ba.vup>40% of ATK to a friendly unit within the surrounding 8 tiles with less than 70% HP\n<@ba.rem>A maximum of 2 Coins may be held while this Skill is equipped","name":"Loyalty and Generosity","desc":"Spends 1 Coin: the next attack restores HP equal to 40% of ATK to a friendly unit within the surrounding 8 tiles with less than 70% HP\nA maximum of 2 Coins may be held while this Skill is equipped"},{"descRaw":"Spends <@ba.vup>1 Coin to place a Champagne Bomb on a ground tile within range that is passable and can be deployed upon; the Champagne Bomb deals <@ba.vup>155% of ATK as Physical damage to the first target it comes in contact with, and <$ba.sluggish>Slows for <@ba.vup>2 seconds\n<@ba.rem>The Champagne Bomb deals additional damage after having been deployed for 3 seconds; a maximum of 3 Coins may be held while this Skill is equipped","name":"'Courtesy Gift'","desc":"Spends 1 Coin to place a Champagne Bomb on a ground tile within range that is passable and can be deployed upon; the Champagne Bomb deals 155% of ATK as Physical damage to the first target it comes in contact with, and Slows for 2 seconds\nThe Champagne Bomb deals additional damage after having been deployed for 3 seconds; a maximum of 3 Coins may be held while this Skill is equipped"},{"descRaw":"Attacks hit twice, and gain 1 Coin upon defeating an enemy; when skill is manually deactivated, <@ba.vup>all Coins will be spent to randomly attack enemies in a frontal area. Each Coin spent in this manner hits once for <@ba.vup>100% of ATK as Physical damage and knocks the target back <@ba.vup>slightly\n<@ba.rem>Unlimited duration, can be manually deactivated at any time; a maximum of 10 Coins may be held while this Skill is equipped","name":"Lavish and Prodigal","desc":"Attacks hit twice, and gain 1 Coin upon defeating an enemy; when skill is manually deactivated, all Coins will be spent to randomly attack enemies in a frontal area. Each Coin spent in this manner hits once for 100% of ATK as Physical damage and knocks the target back slightly\nUnlimited duration, can be manually deactivated at any time; a maximum of 10 Coins may be held while this Skill is equipped"}],"_h":"l17bs1j390mn65jhikjhf9kdf9sn9djwb990mn652eo4qr"},"chess_char_3_04_b":{"name":"Swire the Elegant Wit","subProfessionName":"Merchant","trait":{"descRaw":"Has <@ba.kw>reduced Redeployment Time, but <@ba.kw>DP Cost is not refunded upon retreating; While deployed, <@ba.kw>2 DP are consumed every 3 seconds (automatically retreats without sufficient DP)","desc":"Has reduced Redeployment Time, but DP Cost is not refunded upon retreating; While deployed, 2 DP are consumed every 3 seconds (automatically retreats without sufficient DP)"},"skill":{"descRaw":"Spends <@ba.vup>1 Coin to place a Champagne Bomb on a ground tile within range that is passable and can be deployed upon; the Champagne Bomb deals <@ba.vup>170% of ATK as Physical damage to the first target it comes in contact with and <$ba.sluggish>Slows for <@ba.vup>2 seconds\n<@ba.rem>The Champagne Bomb deals additional damage after having been deployed for 3 seconds; a maximum of 4 Coins may be held while this Skill is equipped","name":"'Courtesy Gift'","desc":"Spends 1 Coin to place a Champagne Bomb on a ground tile within range that is passable and can be deployed upon; the Champagne Bomb deals 170% of ATK as Physical damage to the first target it comes in contact with and Slows for 2 seconds\nThe Champagne Bomb deals additional damage after having been deployed for 3 seconds; a maximum of 4 Coins may be held while this Skill is equipped"},"talents":[{"descRaw":"Gains 1 Coin upon skill activation (can be spent through skills). While a skill is active, gains 1 Coin each time DP is consumed by this unit's Trait, and +4% ATK (stacks up to 8 times)","name":"Big Spendthrift","desc":"Gains 1 Coin upon skill activation (can be spent through skills). While a skill is active, gains 1 Coin each time DP is consumed by this unit's Trait, and +4% ATK (stacks up to 8 times)"},{"descRaw":"Upon receiving lethal damage, as long as enough DP is available, consumes 5 DP to restore this unit's HP to 70%; the cost of this Talent doubles every time it is activated","name":"Cash Claps Calamity","desc":"Upon receiving lethal damage, as long as enough DP is available, consumes 5 DP to restore this unit's HP to 70%; the cost of this Talent doubles every time it is activated"}],"module":{"name":"'Be Resplendent and Outstanding'"},"skills":[{"descRaw":"Spends <@ba.vup>1 Coin: the next attack restores HP equal to <@ba.vup>55% of ATK to a friendly unit within the surrounding 8 tiles with less than 70% HP\n<@ba.rem>A maximum of 2 Coins may be held while this Skill is equipped","name":"Loyalty and Generosity","desc":"Spends 1 Coin: the next attack restores HP equal to 55% of ATK to a friendly unit within the surrounding 8 tiles with less than 70% HP\nA maximum of 2 Coins may be held while this Skill is equipped"},{"descRaw":"Spends <@ba.vup>1 Coin to place a Champagne Bomb on a ground tile within range that is passable and can be deployed upon; the Champagne Bomb deals <@ba.vup>170% of ATK as Physical damage to the first target it comes in contact with and <$ba.sluggish>Slows for <@ba.vup>2 seconds\n<@ba.rem>The Champagne Bomb deals additional damage after having been deployed for 3 seconds; a maximum of 4 Coins may be held while this Skill is equipped","name":"'Courtesy Gift'","desc":"Spends 1 Coin to place a Champagne Bomb on a ground tile within range that is passable and can be deployed upon; the Champagne Bomb deals 170% of ATK as Physical damage to the first target it comes in contact with and Slows for 2 seconds\nThe Champagne Bomb deals additional damage after having been deployed for 3 seconds; a maximum of 4 Coins may be held while this Skill is equipped"},{"descRaw":"Attacks hit twice, and gain 1 Coin upon defeating an enemy; when skill is manually deactivated, <@ba.vup>all Coins will be spent to randomly attack enemies in a frontal area. Each Coin spent in this manner hits once for <@ba.vup>120% of ATK as Physical damage and knocks the target back <@ba.vup>slightly\n<@ba.rem>Unlimited duration, can be manually deactivated at any time; a maximum of 10 Coins may be held while this Skill is equipped","name":"Lavish and Prodigal","desc":"Attacks hit twice, and gain 1 Coin upon defeating an enemy; when skill is manually deactivated, all Coins will be spent to randomly attack enemies in a frontal area. Each Coin spent in this manner hits once for 120% of ATK as Physical damage and knocks the target back slightly\nUnlimited duration, can be manually deactivated at any time; a maximum of 10 Coins may be held while this Skill is equipped"}],"traitBase":{"descRaw":"Has <@ba.kw>reduced Redeployment Time, but <@ba.kw>DP Cost is not refunded upon retreating; While deployed, <@ba.kw>3 DP are consumed every 3 seconds (automatically retreats without sufficient DP)","desc":"Has reduced Redeployment Time, but DP Cost is not refunded upon retreating; While deployed, 3 DP are consumed every 3 seconds (automatically retreats without sufficient DP)"},"talentsBase":[{"descRaw":"Gains 1 Coin upon skill activation (can be spent through skills). While a skill is active, gains 1 Coin each time DP is consumed by this unit's Trait, and +4% ATK (stacks up to 8 times)","name":"Big Spendthrift","desc":"Gains 1 Coin upon skill activation (can be spent through skills). While a skill is active, gains 1 Coin each time DP is consumed by this unit's Trait, and +4% ATK (stacks up to 8 times)"},{"descRaw":"Upon receiving lethal damage, as long as enough DP is available, consumes 5 DP to restore this unit's HP to 70%; the cost of this Talent doubles every time it is activated","name":"Cash Claps Calamity","desc":"Upon receiving lethal damage, as long as enough DP is available, consumes 5 DP to restore this unit's HP to 70%; the cost of this Talent doubles every time it is activated"}],"modules":[{"name":"'Be Resplendent and Outstanding'","traitOverride":{"descRaw":"Has <@ba.kw>reduced Redeployment Time, but <@ba.kw>DP Cost is not refunded upon retreating; While deployed, <@ba.kw>2 DP are consumed every 3 seconds (automatically retreats without sufficient DP)","desc":"Has reduced Redeployment Time, but DP Cost is not refunded upon retreating; While deployed, 2 DP are consumed every 3 seconds (automatically retreats without sufficient DP)"}},{"name":"Director Swire's Lungmen Food Guide","traitOverride":{"descRaw":"Has <@ba.kw>reduced Redeployment Time, but <@ba.kw>DP Cost is not refunded upon retreating; While deployed, <@ba.kw>3 DP are consumed every 3 seconds (automatically retreats without sufficient DP)","moduleDescRaw":"ATK +4% whenever Trait cost is paid, stacking up to 5 times","desc":"Has reduced Redeployment Time, but DP Cost is not refunded upon retreating; While deployed, 3 DP are consumed every 3 seconds (automatically retreats without sufficient DP)","moduleDesc":"ATK +4% whenever Trait cost is paid, stacking up to 5 times"}},{"name":"Swire the Elegant Wit's Badge","traitOverride":{"descRaw":"Has <@ba.kw>reduced Redeployment Time, but <@ba.kw>DP Cost is not refunded upon retreating; While deployed, <@ba.kw>3 DP are consumed every 3 seconds (automatically retreats without sufficient DP)","moduleDescRaw":"In <@ba.kw>Integrated Strategies, DP consumed when deployed or on the battlefield -30%, and for every 1 DP consumed by this unit, the shortest remaining Redeployment Timer in the Deployment Waiting Zone -2s","desc":"Has reduced Redeployment Time, but DP Cost is not refunded upon retreating; While deployed, 3 DP are consumed every 3 seconds (automatically retreats without sufficient DP)","moduleDesc":"In Integrated Strategies, DP consumed when deployed or on the battlefield -30%, and for every 1 DP consumed by this unit, the shortest remaining Redeployment Timer in the Deployment Waiting Zone -2s"}}],"_h":"l17bbobwc4mni3jhikjhf9kdf9snmjjwk7c4mni3e8o4y1s1j3jhikjhf9kdf9snbobwdrs15ij35i8ls1kgj32g"},"chess_char_3_05_a":{"name":"Skadi","subProfessionName":"Dreadnought","trait":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"skill":{"descRaw":"ATK, DEF and Max HP <@ba.vup>+85%","name":"Tidal Elegy","desc":"ATK, DEF and Max HP +85%"},"talents":[{"descRaw":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +14% ATK","name":"Abyssal Predator","desc":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +14% ATK"},{"descRaw":"Redeployment Time -10 seconds","name":"Swift Action","desc":"Redeployment Time -10 seconds"}],"module":{"name":"Moist Sword Bag"},"skills":[{"descRaw":"ATK <@ba.vup>+27%; ASPD <@ba.vup>+25","name":"Swift Strike γ","desc":"ATK +27%; ASPD +25"},{"descRaw":"ATK <@ba.vup>+100% for <@ba.vup>20 seconds after Skadi is deployed","name":"Wave Strike","desc":"ATK +100% for 20 seconds after Skadi is deployed"},{"descRaw":"ATK, DEF and Max HP <@ba.vup>+85%","name":"Tidal Elegy","desc":"ATK, DEF and Max HP +85%"}],"_h":"ktdr3h3hpxj5e8nc2bnc21ky21zy8ydm2gl0ihb6pxj5e8"},"chess_char_3_05_b":{"name":"Skadi","subProfessionName":"Dreadnought","trait":{"descRaw":"Blocks 1 enemy","moduleDescRaw":"When defeated, does not retreat and recovers all HP instead. However, Max HP <@ba.vdown>-60% and ASPD <@ba.vup>+30 (Can only activate once every deployment)","desc":"Blocks 1 enemy","moduleDesc":"When defeated, does not retreat and recovers all HP instead. However, Max HP -60% and ASPD +30 (Can only activate once every deployment)"},"skill":{"descRaw":"ATK, DEF and Max HP <@ba.vup>+100%","name":"Tidal Elegy","desc":"ATK, DEF and Max HP +100%"},"talents":[{"descRaw":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +14% ATK","name":"Abyssal Predator","desc":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +14% ATK"},{"descRaw":"Redeployment Time -10 seconds","name":"Swift Action","desc":"Redeployment Time -10 seconds"}],"module":{"name":"Moist Sword Bag"},"skills":[{"descRaw":"ATK <@ba.vup>+34%; ASPD <@ba.vup>+35","name":"Swift Strike γ","desc":"ATK +34%; ASPD +35"},{"descRaw":"ATK <@ba.vup>+120% for <@ba.vup>25 seconds after Skadi is deployed","name":"Wave Strike","desc":"ATK +120% for 25 seconds after Skadi is deployed"},{"descRaw":"ATK, DEF and Max HP <@ba.vup>+100%","name":"Tidal Elegy","desc":"ATK, DEF and Max HP +100%"}],"traitBase":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"talentsBase":[{"descRaw":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +14% ATK","name":"Abyssal Predator","desc":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +14% ATK"},{"descRaw":"Redeployment Time -10 seconds","name":"Swift Action","desc":"Redeployment Time -10 seconds"}],"modules":[{"name":"Moist Sword Bag","traitOverride":{"descRaw":"Blocks 1 enemy","moduleDescRaw":"When defeated, does not retreat and recovers all HP instead. However, Max HP <@ba.vdown>-60% and ASPD <@ba.vup>+30 (Can only activate once every deployment)","desc":"Blocks 1 enemy","moduleDesc":"When defeated, does not retreat and recovers all HP instead. However, Max HP -60% and ASPD +30 (Can only activate once every deployment)"}},{"name":"No Ending to This Dream","traitOverride":{"descRaw":"Blocks 1 enemy","moduleDescRaw":"Increases ATK to <@ba.vup>115% when attacking blocked enemies","desc":"Blocks 1 enemy","moduleDesc":"Increases ATK to 115% when attacking blocked enemies"}}],"_h":"ktdr3h023hulvpj5jknc2bnc21ky21zyvddmw9gbih8zvpj5jk3h3hnc2bnc21ky21zy3h023hul173hf03har"},"chess_char_3_06_a":{"name":"Philae","subProfessionName":"Primal Protector","trait":{"descRaw":"Blocks 3 enemies, and can inflict Elemental Injury","desc":"Blocks 3 enemies, and can inflict Elemental Injury"},"skill":{"descRaw":"Stops attacking, Max HP <@ba.vup>+40%; when attacked, deals <@ba.vup>110% ATK as Arts damage to surrounding ground enemies and an additional <@ba.vup>25% ATK as <$ba.dt.apoptosis2>Necrosis (can only trigger once every <@ba.vup>2s); if Elemental Injury is received while skill is active, ATK <@ba.vup>+70% until this skill ends","name":"Curse of the River of Death","desc":"Stops attacking, Max HP +40%; when attacked, deals 110% ATK as Arts damage to surrounding ground enemies and an additional 25% ATK as Necrosis (can only trigger once every 2s); if Elemental Injury is received while skill is active, ATK +70% until this skill ends"},"talents":[{"descRaw":"Receives -10% Elemental Injury, and recovers 2 SP when receiving Necrosis","name":"Herald of the Divine River","desc":"Receives -10% Elemental Injury, and recovers 2 SP when receiving Necrosis"}],"module":{"name":"The Days Rubbed to Silence"},"skills":[{"descRaw":"Max HP <@ba.vup>+45%, clears all <$ba.dt.element>Elemental Injury on self and gains a <$ba.epbarrier>Protective Barrier that absorbs up to <@ba.vup>900 Elemental Injury","name":"Blessing of the River of Life","desc":"Max HP +45%, clears all Elemental Injury on self and gains a Protective Barrier that absorbs up to 900 Elemental Injury"},{"descRaw":"Stops attacking, Max HP <@ba.vup>+40%; when attacked, deals <@ba.vup>110% ATK as Arts damage to surrounding ground enemies and an additional <@ba.vup>25% ATK as <$ba.dt.apoptosis2>Necrosis (can only trigger once every <@ba.vup>2s); if Elemental Injury is received while skill is active, ATK <@ba.vup>+70% until this skill ends","name":"Curse of the River of Death","desc":"Stops attacking, Max HP +40%; when attacked, deals 110% ATK as Arts damage to surrounding ground enemies and an additional 25% ATK as Necrosis (can only trigger once every 2s); if Elemental Injury is received while skill is active, ATK +70% until this skill ends"}],"_h":"n03l0g0glpw2ocg2vmgs8apen6kclpw2oc"},"chess_char_3_06_b":{"name":"Philae","subProfessionName":"Primal Protector","trait":{"descRaw":"Blocks 3 enemies, and can inflict Elemental Injury","moduleDescRaw":"Deals <@ba.kw>15% more Elemental Injury when blocking enemies","desc":"Blocks 3 enemies, and can inflict Elemental Injury","moduleDesc":"Deals 15% more Elemental Injury when blocking enemies"},"skill":{"descRaw":"Stops attacking, Max HP <@ba.vup>+50%; when attacked, deals <@ba.vup>140% ATK as Arts damage to surrounding ground enemies and an additional <@ba.vup>25% ATK as <$ba.dt.apoptosis2>Necrosis (can only trigger once every <@ba.vup>2s); if Elemental Injury is received while skill is active, ATK <@ba.vup>+80% until this skill ends","name":"Curse of the River of Death","desc":"Stops attacking, Max HP +50%; when attacked, deals 140% ATK as Arts damage to surrounding ground enemies and an additional 25% ATK as Necrosis (can only trigger once every 2s); if Elemental Injury is received while skill is active, ATK +80% until this skill ends"},"talents":[{"descRaw":"Receives -10% Elemental Injury, and recovers 2 SP when receiving Necrosis","name":"Herald of the Divine River","desc":"Receives -10% Elemental Injury, and recovers 2 SP when receiving Necrosis"}],"module":{"name":"The Days Rubbed to Silence"},"skills":[{"descRaw":"Max HP <@ba.vup>+60%, clears all <$ba.dt.element>Elemental Injury on self and gains a <$ba.epbarrier>Protective Barrier that absorbs up to <@ba.vup>1200 Elemental Injury","name":"Blessing of the River of Life","desc":"Max HP +60%, clears all Elemental Injury on self and gains a Protective Barrier that absorbs up to 1200 Elemental Injury"},{"descRaw":"Stops attacking, Max HP <@ba.vup>+50%; when attacked, deals <@ba.vup>140% ATK as Arts damage to surrounding ground enemies and an additional <@ba.vup>25% ATK as <$ba.dt.apoptosis2>Necrosis (can only trigger once every <@ba.vup>2s); if Elemental Injury is received while skill is active, ATK <@ba.vup>+80% until this skill ends","name":"Curse of the River of Death","desc":"Stops attacking, Max HP +50%; when attacked, deals 140% ATK as Arts damage to surrounding ground enemies and an additional 25% ATK as Necrosis (can only trigger once every 2s); if Elemental Injury is received while skill is active, ATK +80% until this skill ends"}],"traitBase":{"descRaw":"Blocks 3 enemies, and can inflict Elemental Injury","desc":"Blocks 3 enemies, and can inflict Elemental Injury"},"talentsBase":[{"descRaw":"Receives -10% Elemental Injury, and recovers 2 SP when receiving Necrosis","name":"Herald of the Divine River","desc":"Receives -10% Elemental Injury, and recovers 2 SP when receiving Necrosis"}],"modules":[{"name":"The Days Rubbed to Silence","traitOverride":{"descRaw":"Blocks 3 enemies, and can inflict Elemental Injury","moduleDescRaw":"Deals <@ba.kw>15% more Elemental Injury when blocking enemies","desc":"Blocks 3 enemies, and can inflict Elemental Injury","moduleDesc":"Deals 15% more Elemental Injury when blocking enemies"}}],"_h":"n03l0gdy0gsslew219g2vmgs8at3n697lew2190g0gg2vmgs8a0gdy0gss"},"chess_char_3_07_a":{"name":"Enforcer","subProfessionName":"Push Stroker","trait":{"descRaw":"Can attack <@ba.kw>all blocked enemies\nCan be deployed on Ranged Tiles","desc":"Can attack all blocked enemies\nCan be deployed on Ranged Tiles"},"skill":{"descRaw":"Immediately pushes back all enemies within range <@ba.vup>moderately in the direction this unit is facing, additionally <$ba.stun>stunning them for <@ba.vup>1.9 seconds (the <$ba.stun>stun duration is increased to <@ba.vup>3 seconds if the target collides with High Ground). If the target collides with another enemy, the enemy will also be <$ba.stun>stunned for <@ba.vup>1.9 seconds.","name":"Staggering Shot","desc":"Immediately pushes back all enemies within range moderately in the direction this unit is facing, additionally stunning them for 1.9 seconds (the stun duration is increased to 3 seconds if the target collides with High Ground). If the target collides with another enemy, the enemy will also be stunned for 1.9 seconds."},"talents":[{"descRaw":"Ignores 180 DEF when attacking enemies with weight greater than or equal to 3","name":"Precise Aim","desc":"Ignores 180 DEF when attacking enemies with weight greater than or equal to 3"}],"module":{"name":"Heaven, Here, Now"},"skills":[{"descRaw":"The next attack pushes the target towards the attack direction <@ba.vup>moderately, <$ba.stun>stunning it for <@ba.vup>1.4 seconds if the target collides with High Ground.","name":"Deterring Shot","desc":"The next attack pushes the target towards the attack direction moderately, stunning it for 1.4 seconds if the target collides with High Ground."},{"descRaw":"Immediately pushes back all enemies within range <@ba.vup>moderately in the direction this unit is facing, additionally <$ba.stun>stunning them for <@ba.vup>1.9 seconds (the <$ba.stun>stun duration is increased to <@ba.vup>3 seconds if the target collides with High Ground). If the target collides with another enemy, the enemy will also be <$ba.stun>stunned for <@ba.vup>1.9 seconds.","name":"Staggering Shot","desc":"Immediately pushes back all enemies within range moderately in the direction this unit is facing, additionally stunning them for 1.9 seconds (the stun duration is increased to 3 seconds if the target collides with High Ground). If the target collides with another enemy, the enemy will also be stunned for 1.9 seconds."}],"_h":"z3stdynewf4sen1krx1k75elzxsjwf4sen"},"chess_char_3_07_b":{"name":"Enforcer","subProfessionName":"Push Stroker","trait":{"descRaw":"Simultaneously attacks <@ba.kw>all blocked enemies\nCan be deployed on ranged tiles, and refunds half the DP cost of this deployment","desc":"Simultaneously attacks all blocked enemies\nCan be deployed on ranged tiles, and refunds half the DP cost of this deployment"},"skill":{"descRaw":"Immediately pushes back all enemies within range <@ba.vup>greatly in the direction this unit is facing, additionally <$ba.stun>stunning them for <@ba.vup>2.2 seconds (the <$ba.stun>stun duration is increased to <@ba.vup>3.4 seconds if the target collides with High Ground). If the target collides with another enemy, the enemy will also be <$ba.stun>stunned for <@ba.vup>2.2 seconds.","name":"Staggering Shot","desc":"Immediately pushes back all enemies within range greatly in the direction this unit is facing, additionally stunning them for 2.2 seconds (the stun duration is increased to 3.4 seconds if the target collides with High Ground). If the target collides with another enemy, the enemy will also be stunned for 2.2 seconds."},"talents":[{"descRaw":"Ignores 180 DEF when attacking enemies with weight greater than or equal to 3","name":"Precise Aim","desc":"Ignores 180 DEF when attacking enemies with weight greater than or equal to 3"}],"module":{"name":"Heaven, Here, Now"},"skills":[{"descRaw":"The next attack pushes the target towards the attack direction <@ba.vup>moderately, <$ba.stun>stunning it for <@ba.vup>1.7 seconds if the target collides with High Ground.","name":"Deterring Shot","desc":"The next attack pushes the target towards the attack direction moderately, stunning it for 1.7 seconds if the target collides with High Ground."},{"descRaw":"Immediately pushes back all enemies within range <@ba.vup>greatly in the direction this unit is facing, additionally <$ba.stun>stunning them for <@ba.vup>2.2 seconds (the <$ba.stun>stun duration is increased to <@ba.vup>3.4 seconds if the target collides with High Ground). If the target collides with another enemy, the enemy will also be <$ba.stun>stunned for <@ba.vup>2.2 seconds.","name":"Staggering Shot","desc":"Immediately pushes back all enemies within range greatly in the direction this unit is facing, additionally stunning them for 2.2 seconds (the stun duration is increased to 3.4 seconds if the target collides with High Ground). If the target collides with another enemy, the enemy will also be stunned for 2.2 seconds."}],"traitBase":{"descRaw":"Can attack <@ba.kw>all blocked enemies\nCan be deployed on Ranged Tiles","desc":"Can attack all blocked enemies\nCan be deployed on Ranged Tiles"},"talentsBase":[{"descRaw":"Ignores 180 DEF when attacking enemies with weight greater than or equal to 3","name":"Precise Aim","desc":"Ignores 180 DEF when attacking enemies with weight greater than or equal to 3"}],"modules":[{"name":"Heaven, Here, Now","traitOverride":{"descRaw":"Simultaneously attacks <@ba.kw>all blocked enemies\nCan be deployed on ranged tiles, and refunds half the DP cost of this deployment","desc":"Simultaneously attacks all blocked enemies\nCan be deployed on ranged tiles, and refunds half the DP cost of this deployment"}}],"_h":"z3stw5op714sz11krx1k75wezxtm714sz1dyne1krx1k75w5op"},"chess_char_3_08_a":{"name":"Mint","subProfessionName":"Phalanx Caster","trait":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage"},"skill":{"descRaw":"Every attack drags the target to Mint <@ba.vup>slightly, dealing <@ba.vup>110% ATK as Arts damage. Deal <@ba.vup>210% ATK as Arts damage when the skill ends","name":"Swirling Vortex","desc":"Every attack drags the target to Mint slightly, dealing 110% ATK as Arts damage. Deal 210% ATK as Arts damage when the skill ends"},"talents":[{"descRaw":"When this unit's skill is not active, adjacent allies gain +10% DEF; When this unit's skill is active, become less likely to be targeted by enemies","name":"Geologist","desc":"When this unit's skill is not active, adjacent allies gain +10% DEF; When this unit's skill is active, become less likely to be targeted by enemies"}],"module":{"name":"Attention-holding Device"},"skills":[{"descRaw":"Range <@ba.vup>expands; Attacks deal <@ba.vup>125% ATK as Arts damage","name":"Wind Whispers","desc":"Range expands; Attacks deal 125% ATK as Arts damage"},{"descRaw":"Every attack drags the target to Mint <@ba.vup>slightly, dealing <@ba.vup>110% ATK as Arts damage. Deal <@ba.vup>210% ATK as Arts damage when the skill ends","name":"Swirling Vortex","desc":"Every attack drags the target to Mint slightly, dealing 110% ATK as Arts damage. Deal 210% ATK as Arts damage when the skill ends"}],"_h":"uca03fl50u2wmnmlhwmlagxceca40u2wmn"},"chess_char_3_08_b":{"name":"Mint","subProfessionName":"Phalanx Caster","trait":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal <@ba.kw>AoE Arts Damage","desc":"Normally does not attack, but has greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal AoE Arts Damage"},"skill":{"descRaw":"Every attack drags the target to Mint <@ba.vup>slightly, dealing <@ba.vup>115% ATK as Arts damage. Deal <@ba.vup>240% ATK as Arts damage when the skill ends","name":"Swirling Vortex","desc":"Every attack drags the target to Mint slightly, dealing 115% ATK as Arts damage. Deal 240% ATK as Arts damage when the skill ends"},"talents":[{"descRaw":"When this unit's skill is not active, adjacent allies gain +10% DEF; When this unit's skill is active, become less likely to be targeted by enemies","name":"Geologist","desc":"When this unit's skill is not active, adjacent allies gain +10% DEF; When this unit's skill is active, become less likely to be targeted by enemies"}],"module":{"name":"Attention-holding Device"},"skills":[{"descRaw":"Range <@ba.vup>expands; Attacks deal <@ba.vup>140% ATK as Arts damage","name":"Wind Whispers","desc":"Range expands; Attacks deal 140% ATK as Arts damage"},{"descRaw":"Every attack drags the target to Mint <@ba.vup>slightly, dealing <@ba.vup>115% ATK as Arts damage. Deal <@ba.vup>240% ATK as Arts damage when the skill ends","name":"Swirling Vortex","desc":"Every attack drags the target to Mint slightly, dealing 115% ATK as Arts damage. Deal 240% ATK as Arts damage when the skill ends"}],"traitBase":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage"},"talentsBase":[{"descRaw":"When this unit's skill is not active, adjacent allies gain +10% DEF; When this unit's skill is active, become less likely to be targeted by enemies","name":"Geologist","desc":"When this unit's skill is not active, adjacent allies gain +10% DEF; When this unit's skill is active, become less likely to be targeted by enemies"}],"modules":[{"name":"Attention-holding Device","traitOverride":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal <@ba.kw>AoE Arts Damage","desc":"Normally does not attack, but has greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal AoE Arts Damage"}}],"_h":"uca069ubc62w3fmlhwmlagarecstc62w3f3fl5mlhwmlag69ub"},"chess_char_3_09_a":{"name":"Lucilla","subProfessionName":"Hexer","trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"skill":{"descRaw":"ATK <@ba.vup>+30% and attacks one additional target. Enemies within attack range that are not Elites or Leaders have <@ba.vup>-40% Movement Speed; each affected enemy defeated increases Talent effect by <@ba.vup>0.4x, up to <@ba.vup>2.6x, until this skill ends","name":"Release-retarding Chromogen","desc":"ATK +30% and attacks one additional target. Enemies within attack range that are not Elites or Leaders have -40% Movement Speed; each affected enemy defeated increases Talent effect by 0.4x, up to 2.6x, until this skill ends"},"talents":[{"descRaw":"Applies 16% <$ba.fragile>Fragile effect to enemies that are not Elites or Leaders within range","name":"Ingenius Usage of Survey Equipment","desc":"Applies 16% Fragile effect to enemies that are not Elites or Leaders within range"}],"module":{"name":"Multifunctional Mapping Instruments (Early Access)"},"skills":[{"descRaw":"Increases the ATK of the next attack to <@ba.vup>125% and attacks <@ba.vup>4 enemies simultaneously","name":"Camouflaging Current Chart","desc":"Increases the ATK of the next attack to 125% and attacks 4 enemies simultaneously"},{"descRaw":"ATK <@ba.vup>+30% and attacks one additional target. Enemies within attack range that are not Elites or Leaders have <@ba.vup>-40% Movement Speed; each affected enemy defeated increases Talent effect by <@ba.vup>0.4x, up to <@ba.vup>2.6x, until this skill ends","name":"Release-retarding Chromogen","desc":"ATK +30% and attacks one additional target. Enemies within attack range that are not Elites or Leaders have -40% Movement Speed; each affected enemy defeated increases Talent effect by 0.4x, up to 2.6x, until this skill ends"}],"_h":"drhvce5yccu5ieltw9cbfhjxh0vpccu5ie"},"chess_char_3_09_b":{"name":"Lucilla","subProfessionName":"Hexer","trait":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Applies 10% <$ba.weaken>Enfeeble to targets for 2 seconds","desc":"Deals Arts damage","moduleDesc":"Applies 10% Enfeeble to targets for 2 seconds"},"skill":{"descRaw":"ATK <@ba.vup>+40% and attacks one additional target. Enemies within attack range that are not Elites or Leaders have <@ba.vup>-50% Movement Speed; each affected enemy defeated increases Talent effect by <@ba.vup>0.5x, up to <@ba.vup>3.0x, until this skill ends","name":"Release-retarding Chromogen","desc":"ATK +40% and attacks one additional target. Enemies within attack range that are not Elites or Leaders have -50% Movement Speed; each affected enemy defeated increases Talent effect by 0.5x, up to 3.0x, until this skill ends"},"talents":[{"descRaw":"Applies 16% <$ba.fragile>Fragile effect to enemies that are not Elites or Leaders within range","name":"Ingenius Usage of Survey Equipment","desc":"Applies 16% Fragile effect to enemies that are not Elites or Leaders within range"}],"module":{"name":"Multifunctional Mapping Instruments (Early Access)"},"skills":[{"descRaw":"Increases the ATK of the next attack to <@ba.vup>145% and attacks <@ba.vup>4 enemies simultaneously","name":"Camouflaging Current Chart","desc":"Increases the ATK of the next attack to 145% and attacks 4 enemies simultaneously"},{"descRaw":"ATK <@ba.vup>+40% and attacks one additional target. Enemies within attack range that are not Elites or Leaders have <@ba.vup>-50% Movement Speed; each affected enemy defeated increases Talent effect by <@ba.vup>0.5x, up to <@ba.vup>3.0x, until this skill ends","name":"Release-retarding Chromogen","desc":"ATK +40% and attacks one additional target. Enemies within attack range that are not Elites or Leaders have -50% Movement Speed; each affected enemy defeated increases Talent effect by 0.5x, up to 3.0x, until this skill ends"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"talentsBase":[{"descRaw":"Applies 16% <$ba.fragile>Fragile effect to enemies that are not Elites or Leaders within range","name":"Ingenius Usage of Survey Equipment","desc":"Applies 16% Fragile effect to enemies that are not Elites or Leaders within range"}],"modules":[{"name":"Multifunctional Mapping Instruments (Early Access)","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Applies 10% <$ba.weaken>Enfeeble to targets for 2 seconds","desc":"Deals Arts damage","moduleDesc":"Applies 10% Enfeeble to targets for 2 seconds"}}],"_h":"drhvceih5ynymsu5m2ltw9cbfh63h0szmsu5m2ce5yltw9cbfhceih5yny"},"chess_char_3_10_a":{"name":"Pinecone","subProfessionName":"Spreadshooter","trait":{"descRaw":"Attacks <@ba.kw>all enemies within range, and deals 150% damage to enemies in the row directly in front of this unit.","desc":"Attacks all enemies within range, and deals 150% damage to enemies in the row directly in front of this unit."},"skill":{"descRaw":"ATK <@ba.vup>+25%, Attack range <@ba.vdown>decreases; Gains an additional <@ba.vup>+20% ATK each time this skill is used (Up to a max of 60%)","name":"Electrical Overcharge","desc":"ATK +25%, Attack range decreases; Gains an additional +20% ATK each time this skill is used (Up to a max of 60%)"},"talents":[{"descRaw":"Improves own SP recovery rate by +0.45/second for 60 seconds after deployment","name":"Portable Energy Source","desc":"Improves own SP recovery rate by +0.45/second for 60 seconds after deployment"}],"module":{"name":"Mobile Powerbank"},"skills":[{"descRaw":"Immediately launches an attack that deals <@ba.vup>165% damage, ignoring <@ba.vup>180 of the target's DEF\n<@ba.rem>Can store 2 charges","name":"RMA Spikes","desc":"Immediately launches an attack that deals 165% damage, ignoring 180 of the target's DEF\nCan store 2 charges"},{"descRaw":"ATK <@ba.vup>+25%, Attack range <@ba.vdown>decreases; Gains an additional <@ba.vup>+20% ATK each time this skill is used (Up to a max of 60%)","name":"Electrical Overcharge","desc":"ATK +25%, Attack range decreases; Gains an additional +20% ATK each time this skill is used (Up to a max of 60%)"}],"_h":"d3zvms6gecivtumqltmquw3pjzzrecivtu"},"chess_char_3_10_b":{"name":"Pinecone","subProfessionName":"Spreadshooter","trait":{"descRaw":"Attacks <@ba.kw>all enemies within range, and deals <@ba.kw>160% damage to enemies in the row directly in front of this unit.","desc":"Attacks all enemies within range, and deals 160% damage to enemies in the row directly in front of this unit."},"skill":{"descRaw":"ATK <@ba.vup>+40%, Attack range <@ba.vdown>decreases; Gains an additional <@ba.vup>+20% ATK each time this skill is used (Up to a max of 60%)","name":"Electrical Overcharge","desc":"ATK +40%, Attack range decreases; Gains an additional +20% ATK each time this skill is used (Up to a max of 60%)"},"talents":[{"descRaw":"Improves own SP recovery rate by +0.45/second for 60 seconds after deployment","name":"Portable Energy Source","desc":"Improves own SP recovery rate by +0.45/second for 60 seconds after deployment"}],"module":{"name":"Mobile Powerbank"},"skills":[{"descRaw":"Immediately launches an attack that deals <@ba.vup>180% damage, ignoring <@ba.vup>210 of the target's DEF\n<@ba.rem>Can store 3 charges","name":"RMA Spikes","desc":"Immediately launches an attack that deals 180% damage, ignoring 210 of the target's DEF\nCan store 3 charges"},{"descRaw":"ATK <@ba.vup>+40%, Attack range <@ba.vdown>decreases; Gains an additional <@ba.vup>+20% ATK each time this skill is used (Up to a max of 60%)","name":"Electrical Overcharge","desc":"ATK +40%, Attack range decreases; Gains an additional +20% ATK each time this skill is used (Up to a max of 60%)"}],"traitBase":{"descRaw":"Attacks <@ba.kw>all enemies within range, and deals 150% damage to enemies in the row directly in front of this unit.","desc":"Attacks all enemies within range, and deals 150% damage to enemies in the row directly in front of this unit."},"talentsBase":[{"descRaw":"Improves own SP recovery rate by +0.45/second for 60 seconds after deployment","name":"Portable Energy Source","desc":"Improves own SP recovery rate by +0.45/second for 60 seconds after deployment"}],"modules":[{"name":"Mobile Powerbank","traitOverride":{"descRaw":"Attacks <@ba.kw>all enemies within range, and deals <@ba.kw>160% damage to enemies in the row directly in front of this unit.","desc":"Attacks all enemies within range, and deals 160% damage to enemies in the row directly in front of this unit."}}],"_h":"d3zvpn49rxivphmqltmquwivjz8drxivphms6gmqltmquwpn49"},"chess_char_3_11_a":{"name":"Snow Hunter","subProfessionName":"Hunter","trait":{"descRaw":"Attacks consume Ammo to increase ATK to <@ba.kw>120%; While not attacking, Ammo will be slowly reloaded (max capacity 8).","desc":"Attacks consume Ammo to increase ATK to 120%; While not attacking, Ammo will be slowly reloaded (max capacity 8)."},"skill":{"descRaw":"Immediately fires special bullets dealing <@ba.vup>160% ATK for two shots (increases to <@ba.vup>185% when hitting non-mobile enemies)\n<@ba.rem>Can hold 1 charge(s)","name":"Twin Blizzard Bolts","desc":"Immediately fires special bullets dealing 160% ATK for two shots (increases to 185% when hitting non-mobile enemies)\nCan hold 1 charge(s)"},"talents":[{"descRaw":"On skill activation, sends out Rift Cloudbeast to attack, dealing 180% ATK as Physical damage and inflicting <$ba.cold>Cold for 3 seconds","name":"Cloud-Rifting Shot","desc":"On skill activation, sends out Rift Cloudbeast to attack, dealing 180% ATK as Physical damage and inflicting Cold for 3 seconds"}],"module":{"name":"Hunts of the Past"},"skills":[{"descRaw":"Increases the ATK of next attack to <@ba.vup>185%","name":"Power Strike β","desc":"Increases the ATK of next attack to 185%"},{"descRaw":"Immediately fires special bullets dealing <@ba.vup>160% ATK for two shots (increases to <@ba.vup>185% when hitting non-mobile enemies)\n<@ba.rem>Can hold 1 charge(s)","name":"Twin Blizzard Bolts","desc":"Immediately fires special bullets dealing 160% ATK for two shots (increases to 185% when hitting non-mobile enemies)\nCan hold 1 charge(s)"}],"_h":"l5hayq34zhfg0n28odg81mgj2j22zhfg0n"},"chess_char_3_11_b":{"name":"Snow Hunter","subProfessionName":"Hunter","trait":{"descRaw":"Attacks consume Ammo to increase ATK to <@ba.kw>120%; While not attacking, Ammo will be slowly reloaded (max capacity 8).","moduleDescRaw":"When Ammo count is empty, the next reload +1 Ammo additionally","desc":"Attacks consume Ammo to increase ATK to 120%; While not attacking, Ammo will be slowly reloaded (max capacity 8).","moduleDesc":"When Ammo count is empty, the next reload +1 Ammo additionally"},"skill":{"descRaw":"Immediately fires special bullets dealing <@ba.vup>180% ATK for two shots (increases to <@ba.vup>210% when hitting non-mobile enemies)\n<@ba.rem>Can hold 2 charge(s)","name":"Twin Blizzard Bolts","desc":"Immediately fires special bullets dealing 180% ATK for two shots (increases to 210% when hitting non-mobile enemies)\nCan hold 2 charge(s)"},"talents":[{"descRaw":"On skill activation, sends out Rift Cloudbeast to attack, dealing 180% ATK as Physical damage and inflicting <$ba.cold>Cold for 3 seconds","name":"Cloud-Rifting Shot","desc":"On skill activation, sends out Rift Cloudbeast to attack, dealing 180% ATK as Physical damage and inflicting Cold for 3 seconds"}],"module":{"name":"Hunts of the Past"},"skills":[{"descRaw":"Increases the ATK of next attack to <@ba.vup>200%","name":"Power Strike β","desc":"Increases the ATK of next attack to 200%"},{"descRaw":"Immediately fires special bullets dealing <@ba.vup>180% ATK for two shots (increases to <@ba.vup>210% when hitting non-mobile enemies)\n<@ba.rem>Can hold 2 charge(s)","name":"Twin Blizzard Bolts","desc":"Immediately fires special bullets dealing 180% ATK for two shots (increases to 210% when hitting non-mobile enemies)\nCan hold 2 charge(s)"}],"traitBase":{"descRaw":"Attacks consume Ammo to increase ATK to <@ba.kw>120%; While not attacking, Ammo will be slowly reloaded (max capacity 8).","desc":"Attacks consume Ammo to increase ATK to 120%; While not attacking, Ammo will be slowly reloaded (max capacity 8)."},"talentsBase":[{"descRaw":"On skill activation, sends out Rift Cloudbeast to attack, dealing 180% ATK as Physical damage and inflicting <$ba.cold>Cold for 3 seconds","name":"Cloud-Rifting Shot","desc":"On skill activation, sends out Rift Cloudbeast to attack, dealing 180% ATK as Physical damage and inflicting Cold for 3 seconds"}],"modules":[{"name":"Hunts of the Past","traitOverride":{"descRaw":"Attacks consume Ammo to increase ATK to <@ba.kw>120%; While not attacking, Ammo will be slowly reloaded (max capacity 8).","moduleDescRaw":"When Ammo count is empty, the next reload +1 Ammo additionally","desc":"Attacks consume Ammo to increase ATK to 120%; While not attacking, Ammo will be slowly reloaded (max capacity 8).","moduleDesc":"When Ammo count is empty, the next reload +1 Ammo additionally"}}],"_h":"l5hayqcu34cuq3fgs128odg81mgt2juwq3fgs1yq3428odg81myqcu34cu"},"chess_char_3_12_a":{"name":"Blemishine","subProfessionName":"Guardian","trait":{"descRaw":"Can heal allies by using skill(s)","desc":"Can heal allies by using skill(s)"},"skill":{"descRaw":"ATK <@ba.vup>+65%, DEF <@ba.vup>+25%; Every attack deals an additional <@ba.vup>60% ATK as Arts damage and restores the HP of a nearby ally <@ba.rem>besides herself for <@ba.vup>70% of Blemishine's ATK","name":"Divine Avatar","desc":"ATK +65%, DEF +25%; Every attack deals an additional 60% ATK as Arts damage and restores the HP of a nearby ally besides herself for 70% of Blemishine's ATK"},"talents":[{"descRaw":"When deployed, allies that have a Defensive Recovery skill also gain 1 SP when attacking","name":"Knight of Sword and Shield","desc":"When deployed, allies that have a Defensive Recovery skill also gain 1 SP when attacking"},{"descRaw":"Blemishine can attack and will prioritize <$ba.sleep>Sleeping enemies; Increase ATK to 140% when attacking <$ba.sleep>Sleeping enemies","name":"Mercy","desc":"Blemishine can attack and will prioritize Sleeping enemies; Increase ATK to 140% when attacking Sleeping enemies"}],"module":{"name":"Echo of Craftsman's Guild"},"skills":[{"descRaw":"The next attack deals <@ba.vup>200% ATK as physical damage and restores the HP of a nearby ally for <@ba.vup>110% of Blemishine's ATK\n<@ba.rem>Can store 1 charge(s)","name":"Surging Brilliance","desc":"The next attack deals 200% ATK as physical damage and restores the HP of a nearby ally for 110% of Blemishine's ATK\nCan store 1 charge(s)"},{"descRaw":"ATK <@ba.vup>+55% and all ground enemies within the same tile as herself are put to <$ba.sleep>Sleep. Restores the HP of all nearby allies by <@ba.vup>16% of Blemishine's ATK every second","name":"Deterring Radiance","desc":"ATK +55% and all ground enemies within the same tile as herself are put to Sleep. Restores the HP of all nearby allies by 16% of Blemishine's ATK every second"},{"descRaw":"ATK <@ba.vup>+65%, DEF <@ba.vup>+25%; Every attack deals an additional <@ba.vup>60% ATK as Arts damage and restores the HP of a nearby ally <@ba.rem>besides herself for <@ba.vup>70% of Blemishine's ATK","name":"Divine Avatar","desc":"ATK +65%, DEF +25%; Every attack deals an additional 60% ATK as Arts damage and restores the HP of a nearby ally besides herself for 70% of Blemishine's ATK"}],"_h":"ajxwayayrfhek9ifqyif5hik5qvzyqaer45hyeiirfhek9"},"chess_char_3_12_b":{"name":"Blemishine","subProfessionName":"Guardian","trait":{"descRaw":"Can heal allies by using skill(s)","moduleDescRaw":"Reduces damage taken by <@ba.kw>15%","desc":"Can heal allies by using skill(s)","moduleDesc":"Reduces damage taken by 15%"},"skill":{"descRaw":"ATK <@ba.vup>+80%, DEF <@ba.vup>+30%; Every attack deals an additional <@ba.vup>70% ATK as Arts damage and restores the HP of a nearby ally <@ba.rem>besides herself for <@ba.vup>80% of Blemishine's ATK","name":"Divine Avatar","desc":"ATK +80%, DEF +30%; Every attack deals an additional 70% ATK as Arts damage and restores the HP of a nearby ally besides herself for 80% of Blemishine's ATK"},"talents":[{"descRaw":"When deployed, allies that have a Defensive Recovery skill also gain 1 SP when attacking","name":"Knight of Sword and Shield","desc":"When deployed, allies that have a Defensive Recovery skill also gain 1 SP when attacking"},{"descRaw":"Blemishine can attack and will prioritize <$ba.sleep>Sleeping enemies; Increase ATK to 140% when attacking <$ba.sleep>Sleeping enemies","name":"Mercy","desc":"Blemishine can attack and will prioritize Sleeping enemies; Increase ATK to 140% when attacking Sleeping enemies"}],"module":{"name":"Echo of Craftsman's Guild"},"skills":[{"descRaw":"The next attack deals <@ba.vup>220% ATK as physical damage and restores the HP of a nearby ally for <@ba.vup>120% of Blemishine's ATK\n<@ba.rem>Can store 2 charge(s)","name":"Surging Brilliance","desc":"The next attack deals 220% ATK as physical damage and restores the HP of a nearby ally for 120% of Blemishine's ATK\nCan store 2 charge(s)"},{"descRaw":"ATK <@ba.vup>+70% and all ground enemies within the same tile as herself are put to <$ba.sleep>Sleep. Restores the HP of all nearby allies by <@ba.vup>17% of Blemishine's ATK every second","name":"Deterring Radiance","desc":"ATK +70% and all ground enemies within the same tile as herself are put to Sleep. Restores the HP of all nearby allies by 17% of Blemishine's ATK every second"},{"descRaw":"ATK <@ba.vup>+80%, DEF <@ba.vup>+30%; Every attack deals an additional <@ba.vup>70% ATK as Arts damage and restores the HP of a nearby ally <@ba.rem>besides herself for <@ba.vup>80% of Blemishine's ATK","name":"Divine Avatar","desc":"ATK +80%, DEF +30%; Every attack deals an additional 70% ATK as Arts damage and restores the HP of a nearby ally besides herself for 80% of Blemishine's ATK"}],"traitBase":{"descRaw":"Can heal allies by using skill(s)","desc":"Can heal allies by using skill(s)"},"talentsBase":[{"descRaw":"When deployed, allies that have a Defensive Recovery skill also gain 1 SP when attacking","name":"Knight of Sword and Shield","desc":"When deployed, allies that have a Defensive Recovery skill also gain 1 SP when attacking"},{"descRaw":"Blemishine can attack and will prioritize <$ba.sleep>Sleeping enemies; Increase ATK to 140% when attacking <$ba.sleep>Sleeping enemies","name":"Mercy","desc":"Blemishine can attack and will prioritize Sleeping enemies; Increase ATK to 140% when attacking Sleeping enemies"}],"modules":[{"name":"Echo of Craftsman's Guild","traitOverride":{"descRaw":"Can heal allies by using skill(s)","moduleDescRaw":"Reduces damage taken by <@ba.kw>15%","desc":"Can heal allies by using skill(s)","moduleDesc":"Reduces damage taken by 15%"}},{"name":"'Knight Primus'","traitOverride":{"descRaw":"Can heal allies by using skill(s)","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Can heal allies by using skill(s)","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"}}],"_h":"ajxwayiaay2w00heqoifqyif5hik5qvza4aeryjryeug00heqoayayifqyif5hik5qvzayiaay2wvyaybyaydw"},"chess_char_3_13_a":{"name":"Minimalist","subProfessionName":"Mech-accord Caster","trait":{"descRaw":"Controls a <@ba.kw>Drone that deals <@ba.kw>Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)","desc":"Controls a Drone that deals Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)"},"skill":{"descRaw":"The next attack deals <@ba.vup>130% ATK as Arts damage and attacks twice consecutively\n<@ba.rem>Can store 2 charges","name":"Prodigious Craftsmanship","desc":"The next attack deals 130% ATK as Arts damage and attacks twice consecutively\nCan store 2 charges"},"talents":[{"descRaw":"When attacking, has a 25% chance to increase that ATK to 150%","name":"Flash of Insight","desc":"When attacking, has a 25% chance to increase that ATK to 150%"}],"module":{"name":"'New Home'"},"skills":[{"descRaw":"ATK <@ba.vup>+27%; ASPD <@ba.vup>+25","name":"Swift Strike γ","desc":"ATK +27%; ASPD +25"},{"descRaw":"The next attack deals <@ba.vup>130% ATK as Arts damage and attacks twice consecutively\n<@ba.rem>Can store 2 charges","name":"Prodigious Craftsmanship","desc":"The next attack deals 130% ATK as Arts damage and attacks twice consecutively\nCan store 2 charges"}],"_h":"dy93k7j1aauzibryeqryxb8ydm2gaauzib"},"chess_char_3_13_b":{"name":"Minimalist","subProfessionName":"Mech-accord Caster","trait":{"descRaw":"Attack with <@ba.kw>Drones to deal <@ba.kw>Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)","desc":"Attack with Drones to deal Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)"},"skill":{"descRaw":"The next attack deals <@ba.vup>160% ATK as Arts damage and attacks twice consecutively\n<@ba.rem>Can store 3 charges","name":"Prodigious Craftsmanship","desc":"The next attack deals 160% ATK as Arts damage and attacks twice consecutively\nCan store 3 charges"},"talents":[{"descRaw":"When attacking, has a 25% chance to increase that ATK to 150%","name":"Flash of Insight","desc":"When attacking, has a 25% chance to increase that ATK to 150%"}],"module":{"name":"'New Home'"},"skills":[{"descRaw":"ATK <@ba.vup>+34%; ASPD <@ba.vup>+35","name":"Swift Strike γ","desc":"ATK +34%; ASPD +35"},{"descRaw":"The next attack deals <@ba.vup>160% ATK as Arts damage and attacks twice consecutively\n<@ba.rem>Can store 3 charges","name":"Prodigious Craftsmanship","desc":"The next attack deals 160% ATK as Arts damage and attacks twice consecutively\nCan store 3 charges"}],"traitBase":{"descRaw":"Controls a <@ba.kw>Drone that deals <@ba.kw>Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)","desc":"Controls a Drone that deals Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)"},"talentsBase":[{"descRaw":"When attacking, has a 25% chance to increase that ATK to 150%","name":"Flash of Insight","desc":"When attacking, has a 25% chance to increase that ATK to 150%"}],"modules":[{"name":"'New Home'","traitOverride":{"descRaw":"Attack with <@ba.kw>Drones to deal <@ba.kw>Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)","desc":"Attack with Drones to deal Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)"}}],"_h":"dy93lg7ipiuznjryeqryxbvddmw9piuznjk7j1ryeqryxblg7i"},"chess_char_3_14_a":{"name":"Pramanix","subProfessionName":"Hexer","trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"skill":{"descRaw":"For all enemies within range, DEF <@ba.vup>-40% and RES <@ba.vup>-23%","name":"Natural Deterrent","desc":"For all enemies within range, DEF -40% and RES -23%"},"talents":[{"descRaw":"Apply 30% <$ba.fragile>Fragile effect to enemies within range with less than 40% HP","name":"Weakening","desc":"Apply 30% Fragile effect to enemies within range with less than 40% HP"},{"descRaw":"Attacks 2 enemies simultaneously","name":"The Bell Tolls Twice","desc":"Attacks 2 enemies simultaneously"}],"module":{"name":"'Knitting of a Future'"},"skills":[{"descRaw":"Simultaneously attacks <@ba.vup>2 targets; ASPD of all enemies in range <@ba.vup>-40","name":"Echolocation","desc":"Simultaneously attacks 2 targets; ASPD of all enemies in range -40"},{"descRaw":"For all enemies within range, DEF <@ba.vup>-40% and RES <@ba.vup>-23%","name":"Natural Deterrent","desc":"For all enemies within range, DEF -40% and RES -23%"}],"_h":"12hvce5yufgphbpgd2muuquauql5r9s91fufgphb"},"chess_char_3_14_b":{"name":"Pramanix","subProfessionName":"Hexer","trait":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Applies 10% <$ba.weaken>Enfeeble to targets for 2 seconds","desc":"Deals Arts damage","moduleDesc":"Applies 10% Enfeeble to targets for 2 seconds"},"skill":{"descRaw":"For all enemies within range, DEF <@ba.vup>-45% and RES <@ba.vup>-26%","name":"Natural Deterrent","desc":"For all enemies within range, DEF -45% and RES -26%"},"talents":[{"descRaw":"Apply 30% <$ba.fragile>Fragile effect to enemies within range with less than 40% HP","name":"Weakening","desc":"Apply 30% Fragile effect to enemies within range with less than 40% HP"},{"descRaw":"Attacks 2 enemies simultaneously","name":"The Bell Tolls Twice","desc":"Attacks 2 enemies simultaneously"}],"module":{"name":"'Knitting of a Future'"},"skills":[{"descRaw":"Simultaneously attacks <@ba.vup>2 targets; ASPD of all enemies in range <@ba.vup>-50","name":"Echolocation","desc":"Simultaneously attacks 2 targets; ASPD of all enemies in range -50"},{"descRaw":"For all enemies within range, DEF <@ba.vup>-45% and RES <@ba.vup>-26%","name":"Natural Deterrent","desc":"For all enemies within range, DEF -45% and RES -26%"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"talentsBase":[{"descRaw":"Apply 30% <$ba.fragile>Fragile effect to enemies within range with less than 40% HP","name":"Weakening","desc":"Apply 30% Fragile effect to enemies within range with less than 40% HP"},{"descRaw":"Attacks 2 enemies simultaneously","name":"The Bell Tolls Twice","desc":"Attacks 2 enemies simultaneously"}],"modules":[{"name":"'Knitting of a Future'","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Applies 10% <$ba.weaken>Enfeeble to targets for 2 seconds","desc":"Deals Arts damage","moduleDesc":"Applies 10% Enfeeble to targets for 2 seconds"}}],"_h":"12hvceih5ynyupgps5pgd2muuquauql51us9kqupgps5ce5ypgd2muuquauql5ceih5yny"},"chess_char_3_15_a":{"name":"Shamare","subProfessionName":"Hexer","trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"skill":{"descRaw":"Obtains 1 Curse Doll (can store up to 1)\n<@ba.rem>Reduces the ATK and DEF of enemies around the Curse Doll by <@ba.vup>-25%, lasts for a maximum of 15 seconds","name":"Cursed Doll","desc":"Obtains 1 Curse Doll (can store up to 1)\nReduces the ATK and DEF of enemies around the Curse Doll by -25%, lasts for a maximum of 15 seconds"},"talents":[{"descRaw":"Apply 30% <$ba.fragile>Fragile effect to enemies within range with less than 40% HP","name":"Omen of Defeat","desc":"Apply 30% Fragile effect to enemies within range with less than 40% HP"}],"module":{"name":"Fabric Apples"},"skills":[{"descRaw":"ATK <@ba.vup>+30%, increases the damage amplification effect of this unit's Talent to <@ba.vup>1.4 times\n<@ba.rem>Unlimited duration","name":"Malediction","desc":"ATK +30%, increases the damage amplification effect of this unit's Talent to 1.4 times\nUnlimited duration"},{"descRaw":"Obtains 1 Curse Doll (can store up to 1)\n<@ba.rem>Reduces the ATK and DEF of enemies around the Curse Doll by <@ba.vup>-25%, lasts for a maximum of 15 seconds","name":"Cursed Doll","desc":"Obtains 1 Curse Doll (can store up to 1)\nReduces the ATK and DEF of enemies around the Curse Doll by -25%, lasts for a maximum of 15 seconds"}],"_h":"cjhvce5ywprofepgx8muq5ag3tj0wprofe"},"chess_char_3_15_b":{"name":"Shamare","subProfessionName":"Hexer","trait":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Applies 10% <$ba.weaken>Enfeeble to targets for 2 seconds","desc":"Deals Arts damage","moduleDesc":"Applies 10% Enfeeble to targets for 2 seconds"},"skill":{"descRaw":"Obtains 1 Curse Doll (can store up to 1)\n<@ba.rem>Reduces the ATK and DEF of enemies around the Curse Doll by <@ba.vup>-30%, lasts for a maximum of 15 seconds","name":"Cursed Doll","desc":"Obtains 1 Curse Doll (can store up to 1)\nReduces the ATK and DEF of enemies around the Curse Doll by -30%, lasts for a maximum of 15 seconds"},"talents":[{"descRaw":"Apply 30% <$ba.fragile>Fragile effect to enemies within range with less than 40% HP","name":"Omen of Defeat","desc":"Apply 30% Fragile effect to enemies within range with less than 40% HP"}],"module":{"name":"Fabric Apples"},"skills":[{"descRaw":"ATK <@ba.vup>+40%, increases the damage amplification effect of this unit's Talent to <@ba.vup>1.5 times\n<@ba.rem>Unlimited duration","name":"Malediction","desc":"ATK +40%, increases the damage amplification effect of this unit's Talent to 1.5 times\nUnlimited duration"},{"descRaw":"Obtains 1 Curse Doll (can store up to 1)\n<@ba.rem>Reduces the ATK and DEF of enemies around the Curse Doll by <@ba.vup>-30%, lasts for a maximum of 15 seconds","name":"Cursed Doll","desc":"Obtains 1 Curse Doll (can store up to 1)\nReduces the ATK and DEF of enemies around the Curse Doll by -30%, lasts for a maximum of 15 seconds"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"talentsBase":[{"descRaw":"Apply 30% <$ba.fragile>Fragile effect to enemies within range with less than 40% HP","name":"Omen of Defeat","desc":"Apply 30% Fragile effect to enemies within range with less than 40% HP"}],"modules":[{"name":"Fabric Apples","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Applies 10% <$ba.weaken>Enfeeble to targets for 2 seconds","desc":"Deals Arts damage","moduleDesc":"Applies 10% Enfeeble to targets for 2 seconds"}}],"_h":"cjhvceih5ynyrjro24pgx8muq5063tpurjro24ce5ypgx8muq5ceih5yny"},"chess_char_3_16_a":{"name":"Cuora","subProfessionName":"Protector","trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skill":{"descRaw":"Stops attacking; Block <@ba.vup>+1; DEF <@ba.vup>+75%; Restores HP by <@ba.vup>1% of Max HP per second","name":"Shell Defense","desc":"Stops attacking; Block +1; DEF +75%; Restores HP by 1% of Max HP per second"},"talents":[{"descRaw":"DEF +12%","name":"Defense Specialist","desc":"DEF +12%"}],"module":{"name":"Super Baseball Suit"},"skills":[{"descRaw":"DEF <@ba.vup>+35%","name":"DEF Up β","desc":"DEF +35%"},{"descRaw":"Stops attacking; Block <@ba.vup>+1; DEF <@ba.vup>+75%; Restores HP by <@ba.vup>1% of Max HP per second","name":"Shell Defense","desc":"Stops attacking; Block +1; DEF +75%; Restores HP by 1% of Max HP per second"}],"_h":"3d11t8t8dsz5qnycqxycll3qcxoddsz5qn"},"chess_char_3_16_b":{"name":"Cuora","subProfessionName":"Protector","trait":{"descRaw":"Blocks 3 enemies","moduleDescRaw":"DEF <@ba.kw>+20% when blocking an enemy","desc":"Blocks 3 enemies","moduleDesc":"DEF +20% when blocking an enemy"},"skill":{"descRaw":"Stops attacking; Block <@ba.vup>+1; DEF <@ba.vup>+95%; Restores HP by <@ba.vup>2% of Max HP per second","name":"Shell Defense","desc":"Stops attacking; Block +1; DEF +95%; Restores HP by 2% of Max HP per second"},"talents":[{"descRaw":"DEF +12%","name":"Defense Specialist","desc":"DEF +12%"}],"module":{"name":"Super Baseball Suit"},"skills":[{"descRaw":"DEF <@ba.vup>+50%","name":"DEF Up β","desc":"DEF +50%"},{"descRaw":"Stops attacking; Block <@ba.vup>+1; DEF <@ba.vup>+95%; Restores HP by <@ba.vup>2% of Max HP per second","name":"Shell Defense","desc":"Stops attacking; Block +1; DEF +95%; Restores HP by 2% of Max HP per second"}],"traitBase":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"talentsBase":[{"descRaw":"DEF +12%","name":"Defense Specialist","desc":"DEF +12%"}],"modules":[{"name":"Super Baseball Suit","traitOverride":{"descRaw":"Blocks 3 enemies","moduleDescRaw":"DEF <@ba.kw>+20% when blocking an enemy","desc":"Blocks 3 enemies","moduleDesc":"DEF +20% when blocking an enemy"}}],"_h":"3d11t8lrt8nt8zz566ycqxycllgfcxra8zz566t8t8ycqxycllt8lrt8nt"},"chess_char_3_17_a":{"name":"Meteor","subProfessionName":"Marksman","trait":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"skill":{"descRaw":"The next attack deals <@ba.vup>155% of ATK physical damage to at most <@ba.vup>5 enemies within range and the DEF of targets hit <@ba.vup>-30% for <@ba.vup>5 seconds","name":"Armor Breaker - Spread","desc":"The next attack deals 155% of ATK physical damage to at most 5 enemies within range and the DEF of targets hit -30% for 5 seconds"},"talents":[{"descRaw":"Increases ATK to 135% when attacking aerial targets","name":"Anti-Air Specialist","desc":"Increases ATK to 135% when attacking aerial targets"}],"module":{"name":"Hunter's Knife"},"skills":[{"descRaw":"The next attack deals <@ba.vup>135% of ATK physical damage and the target's DEF <@ba.vup>-25% for 5 seconds","name":"Armor Breaker","desc":"The next attack deals 135% of ATK physical damage and the target's DEF -25% for 5 seconds"},{"descRaw":"The next attack deals <@ba.vup>155% of ATK physical damage to at most <@ba.vup>5 enemies within range and the DEF of targets hit <@ba.vup>-30% for <@ba.vup>5 seconds","name":"Armor Breaker - Spread","desc":"The next attack deals 155% of ATK physical damage to at most 5 enemies within range and the DEF of targets hit -30% for 5 seconds"}],"_h":"c9kfcwcwm5efub1ema1eurd0mu22m5efub"},"chess_char_3_17_b":{"name":"Meteor","subProfessionName":"Marksman","trait":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"},"skill":{"descRaw":"The next attack deals <@ba.vup>170% of ATK physical damage to at most <@ba.vup>5 enemies within range and the DEF of targets hit <@ba.vup>-35% for <@ba.vup>5 seconds","name":"Armor Breaker - Spread","desc":"The next attack deals 170% of ATK physical damage to at most 5 enemies within range and the DEF of targets hit -35% for 5 seconds"},"talents":[{"descRaw":"Increases ATK to 135% when attacking aerial targets","name":"Anti-Air Specialist","desc":"Increases ATK to 135% when attacking aerial targets"}],"module":{"name":"Hunter's Knife"},"skills":[{"descRaw":"The next attack deals <@ba.vup>150% of ATK physical damage and the target's DEF <@ba.vup>-30% for 5 seconds","name":"Armor Breaker","desc":"The next attack deals 150% of ATK physical damage and the target's DEF -30% for 5 seconds"},{"descRaw":"The next attack deals <@ba.vup>170% of ATK physical damage to at most <@ba.vup>5 enemies within range and the DEF of targets hit <@ba.vup>-35% for <@ba.vup>5 seconds","name":"Armor Breaker - Spread","desc":"The next attack deals 170% of ATK physical damage to at most 5 enemies within range and the DEF of targets hit -35% for 5 seconds"}],"traitBase":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"talentsBase":[{"descRaw":"Increases ATK to 135% when attacking aerial targets","name":"Anti-Air Specialist","desc":"Increases ATK to 135% when attacking aerial targets"}],"modules":[{"name":"Hunter's Knife","traitOverride":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"}}],"_h":"c9kfcw9scwlscfef751ema1eurmzmutvcfef75cwcw1ema1eurcw9scwls"},"chess_char_3_18_a":{"name":"Vulpisfoglia","subProfessionName":"Pioneer","trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"skill":{"descRaw":"When skill is activated, gains <@ba.vup>7 DP immediately, Attack Range <@ba.vup>+1, ATK <@ba.vup>+65%, ASPD gradually reduces from <@ba.vup>+160 to +0; attacks all blocked enemies and each attack can <$ba.stun>Stun the enemy for <@ba.vup>0.2s\n<@ba.rem>If an enemy is defeated with this skill, the operator gains Camouflage when the skill ends. The Camouflage lasts until the next time this skill is activated","name":"La Volpe Nascosta","desc":"When skill is activated, gains 7 DP immediately, Attack Range +1, ATK +65%, ASPD gradually reduces from +160 to +0; attacks all blocked enemies and each attack can Stun the enemy for 0.2s\nIf an enemy is defeated with this skill, the operator gains Camouflage when the skill ends. The Camouflage lasts until the next time this skill is activated"},"talents":[{"descRaw":"After dealing damage to an enemy for the first time, Vulpisfoglia deals an additional 30% ATK as Arts damage whenever she deals damage to this enemy during the next 10s","name":"Fox Hunt","desc":"After dealing damage to an enemy for the first time, Vulpisfoglia deals an additional 30% ATK as Arts damage whenever she deals damage to this enemy during the next 10s"},{"descRaw":"Natural DP regeneration rate +10% while on the field; if Vulpisfoglia does not take damage for 4s, recovers 4% of Max HP every second","name":"Accelerando","desc":"Natural DP regeneration rate +10% while on the field; if Vulpisfoglia does not take damage for 4s, recovers 4% of Max HP every second"}],"module":{"name":"Patience, Mission, Vacation"},"skills":[{"descRaw":"The next attack deals an additional <@ba.vup>215% ATK as Arts damage, and gains <@ba.vup>1 DP\n<@ba.rem>Can store 3 charges","name":"Discreet Discipline","desc":"The next attack deals an additional 215% ATK as Arts damage, and gains 1 DP\nCan store 3 charges"},{"descRaw":"Immediately gains <@ba.vup>5 DP, deals <@ba.vup>200% ATK as Arts damage to up to 6 surrounding enemies and <$ba.sluggish>Slows them for <@ba.vup>4.5s; if an enemy is already <$ba.sluggish>Slowed, then <$ba.stun>Stuns them for <@ba.vup>4s\n<@ba.rem>Can store 2 charges","name":"Damoclean Interrogation","desc":"Immediately gains 5 DP, deals 200% ATK as Arts damage to up to 6 surrounding enemies and Slows them for 4.5s; if an enemy is already Slowed, then Stuns them for 4s\nCan store 2 charges"},{"descRaw":"When skill is activated, gains <@ba.vup>7 DP immediately, Attack Range <@ba.vup>+1, ATK <@ba.vup>+65%, ASPD gradually reduces from <@ba.vup>+160 to +0; attacks all blocked enemies and each attack can <$ba.stun>Stun the enemy for <@ba.vup>0.2s\n<@ba.rem>If an enemy is defeated with this skill, the operator gains Camouflage when the skill ends. The Camouflage lasts until the next time this skill is activated","name":"La Volpe Nascosta","desc":"When skill is activated, gains 7 DP immediately, Attack Range +1, ATK +65%, ASPD gradually reduces from +160 to +0; attacks all blocked enemies and each attack can Stun the enemy for 0.2s\nIf an enemy is defeated with this skill, the operator gains Camouflage when the skill ends. The Camouflage lasts until the next time this skill is activated"}],"_h":"jwtwtltl3ebss9y6aiy6erhger3yl9cmrlrzsly13ebss9"},"chess_char_3_18_b":{"name":"Vulpisfoglia","subProfessionName":"Pioneer","trait":{"descRaw":"Blocks 2 enemies; Gains +8% ATK and DEF while blocking enemies","desc":"Blocks 2 enemies; Gains +8% ATK and DEF while blocking enemies"},"skill":{"descRaw":"When skill is activated, gains <@ba.vup>8 DP immediately, Attack Range <@ba.vup>+1, ATK <@ba.vup>+80%, ASPD gradually reduces from <@ba.vup>+170 to +0; attacks all blocked enemies and each attack can <$ba.stun>Stun the enemy for <@ba.vup>0.2s\n<@ba.rem>If an enemy is defeated with this skill, the operator gains Camouflage when the skill ends. The Camouflage lasts until the next time this skill is activated","name":"La Volpe Nascosta","desc":"When skill is activated, gains 8 DP immediately, Attack Range +1, ATK +80%, ASPD gradually reduces from +170 to +0; attacks all blocked enemies and each attack can Stun the enemy for 0.2s\nIf an enemy is defeated with this skill, the operator gains Camouflage when the skill ends. The Camouflage lasts until the next time this skill is activated"},"talents":[{"descRaw":"After dealing damage to an enemy for the first time, Vulpisfoglia deals an additional 30% ATK as Arts damage whenever she deals damage to this enemy during the next 10s","name":"Fox Hunt","desc":"After dealing damage to an enemy for the first time, Vulpisfoglia deals an additional 30% ATK as Arts damage whenever she deals damage to this enemy during the next 10s"},{"descRaw":"Natural DP regeneration rate +10% while on the field; if Vulpisfoglia does not take damage for 4s, recovers 4% of Max HP every second","name":"Accelerando","desc":"Natural DP regeneration rate +10% while on the field; if Vulpisfoglia does not take damage for 4s, recovers 4% of Max HP every second"}],"module":{"name":"Patience, Mission, Vacation"},"skills":[{"descRaw":"The next attack deals an additional <@ba.vup>245% ATK as Arts damage, and gains <@ba.vup>1 DP\n<@ba.rem>Can store 3 charges","name":"Discreet Discipline","desc":"The next attack deals an additional 245% ATK as Arts damage, and gains 1 DP\nCan store 3 charges"},{"descRaw":"Immediately gains <@ba.vup>6 DP, deals <@ba.vup>245% ATK as Arts damage to up to 6 surrounding enemies and <$ba.sluggish>Slows them for <@ba.vup>4.5s; if an enemy is already <$ba.sluggish>Slowed, then <$ba.stun>Stuns them for <@ba.vup>4.5s\n<@ba.rem>Can store 2 charges","name":"Damoclean Interrogation","desc":"Immediately gains 6 DP, deals 245% ATK as Arts damage to up to 6 surrounding enemies and Slows them for 4.5s; if an enemy is already Slowed, then Stuns them for 4.5s\nCan store 2 charges"},{"descRaw":"When skill is activated, gains <@ba.vup>8 DP immediately, Attack Range <@ba.vup>+1, ATK <@ba.vup>+80%, ASPD gradually reduces from <@ba.vup>+170 to +0; attacks all blocked enemies and each attack can <$ba.stun>Stun the enemy for <@ba.vup>0.2s\n<@ba.rem>If an enemy is defeated with this skill, the operator gains Camouflage when the skill ends. The Camouflage lasts until the next time this skill is activated","name":"La Volpe Nascosta","desc":"When skill is activated, gains 8 DP immediately, Attack Range +1, ATK +80%, ASPD gradually reduces from +170 to +0; attacks all blocked enemies and each attack can Stun the enemy for 0.2s\nIf an enemy is defeated with this skill, the operator gains Camouflage when the skill ends. The Camouflage lasts until the next time this skill is activated"}],"traitBase":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"talentsBase":[{"descRaw":"After dealing damage to an enemy for the first time, Vulpisfoglia deals an additional 30% ATK as Arts damage whenever she deals damage to this enemy during the next 10s","name":"Fox Hunt","desc":"After dealing damage to an enemy for the first time, Vulpisfoglia deals an additional 30% ATK as Arts damage whenever she deals damage to this enemy during the next 10s"},{"descRaw":"Natural DP regeneration rate +10% while on the field; if Vulpisfoglia does not take damage for 4s, recovers 4% of Max HP every second","name":"Accelerando","desc":"Natural DP regeneration rate +10% while on the field; if Vulpisfoglia does not take damage for 4s, recovers 4% of Max HP every second"}],"modules":[{"name":"Patience, Mission, Vacation","traitOverride":{"descRaw":"Blocks 2 enemies; Gains +8% ATK and DEF while blocking enemies","desc":"Blocks 2 enemies; Gains +8% ATK and DEF while blocking enemies"}},{"name":"Sword Dance","traitOverride":{"descRaw":"Blocks 2 enemies","moduleDescRaw":"The first Deployment Cost -4","desc":"Blocks 2 enemies","moduleDesc":"The first Deployment Cost -4"}}],"_h":"jwtw5c5crvbsx8y6aiy6erhger3y2acmjwocsl3crvbsx8tltly6aiy6erhger3y5c5chytljytljy"},"chess_char_3_19_a":{"name":"Vigil","subProfessionName":"Tactician","trait":{"descRaw":"This unit can designate one <@ba.kw>Tactical Point within attack range to call Reinforcements; ATK is increased to 150% when attacking enemies blocked by Reinforcements","desc":"This unit can designate one Tactical Point within attack range to call Reinforcements; ATK is increased to 150% when attacking enemies blocked by Reinforcements"},"skill":{"descRaw":"Gradually generates <@ba.vup>10 DP over the skill duration, and causes attacks to hit <@ba.vup>3 times; When Vigil or the Wolfpack deal damage to a unit blocked by the Wolfpack, they deal an additional <@ba.vup>20% of Vigil's ATK as Arts damage","name":"Packleader's Dignity","desc":"Gradually generates 10 DP over the skill duration, and causes attacks to hit 3 times; When Vigil or the Wolfpack deal damage to a unit blocked by the Wolfpack, they deal an additional 20% of Vigil's ATK as Arts damage"},"talents":[{"descRaw":"Can summon a Wolfpack initially consisting of 2 'Wolf Shadows' at the Tactical Point to assist in combat; The number of 'Wolf Shadows' increases by 1 every 25 seconds (up to a maximum of 3; each 'Wolf Shadow' increases the Wolfpack's Block by 1 and causes its attacks to deal an additional instance of damage)","name":"Leader of the Wolfpack","desc":"Can summon a Wolfpack initially consisting of 2 'Wolf Shadows' at the Tactical Point to assist in combat; The number of 'Wolf Shadows' increases by 1 every 25 seconds (up to a maximum of 3; each 'Wolf Shadow' increases the Wolfpack's Block by 1 and causes its attacks to deal an additional instance of damage)"},{"descRaw":"Vigil and the Wolfpack's attacks ignore 175 DEF when attacking enemies blocked by the Wolfpack","name":"Wolven Nature","desc":"Vigil and the Wolfpack's attacks ignore 175 DEF when attacking enemies blocked by the Wolfpack"}],"module":{"name":"La Punciuta"},"skills":[{"descRaw":"Immediately generates <@ba.vup>7 DP and summons 1 'Wolf Shadow'","name":"Packleader's Call","desc":"Immediately generates 7 DP and summons 1 'Wolf Shadow'"},{"descRaw":"Immediately generates <@ba.vup>2 DP and causes the Wolfpack's next attack to deal <@ba.vup>155% damage and restore <@ba.vup>10% of its Max HP; Generates an additional <@ba.vup>1 DP if the Wolfpack defeats an enemy","name":"Packleader's Gift","desc":"Immediately generates 2 DP and causes the Wolfpack's next attack to deal 155% damage and restore 10% of its Max HP; Generates an additional 1 DP if the Wolfpack defeats an enemy"},{"descRaw":"Gradually generates <@ba.vup>10 DP over the skill duration, and causes attacks to hit <@ba.vup>3 times; When Vigil or the Wolfpack deal damage to a unit blocked by the Wolfpack, they deal an additional <@ba.vup>20% of Vigil's ATK as Arts damage","name":"Packleader's Dignity","desc":"Gradually generates 10 DP over the skill duration, and causes attacks to hit 3 times; When Vigil or the Wolfpack deal damage to a unit blocked by the Wolfpack, they deal an additional 20% of Vigil's ATK as Arts damage"}],"_h":"tf8auajgh9le8azahxzarattraepp943o6nw8r06h9le8a"},"chess_char_3_19_b":{"name":"Vigil","subProfessionName":"Tactician","trait":{"descRaw":"This unit can designate one <@ba.kw>Tactical Point within attack range to call Reinforcements; Reinforcements take <@ba.kw>15% less damage from units they are blocking, and this unit's ATK is increased to 150% when attacking enemies blocked by Reinforcements","desc":"This unit can designate one Tactical Point within attack range to call Reinforcements; Reinforcements take 15% less damage from units they are blocking, and this unit's ATK is increased to 150% when attacking enemies blocked by Reinforcements"},"skill":{"descRaw":"Gradually generates <@ba.vup>11 DP over the skill duration, and causes attacks to hit <@ba.vup>3 times; When Vigil or the Wolfpack deal damage to a unit blocked by the Wolfpack, they deal an additional <@ba.vup>30% of Vigil's ATK as Arts damage","name":"Packleader's Dignity","desc":"Gradually generates 11 DP over the skill duration, and causes attacks to hit 3 times; When Vigil or the Wolfpack deal damage to a unit blocked by the Wolfpack, they deal an additional 30% of Vigil's ATK as Arts damage"},"talents":[{"descRaw":"Can summon a Wolfpack initially consisting of 2 'Wolf Shadows' at the Tactical Point to assist in combat; The number of 'Wolf Shadows' increases by 1 every 25 seconds (up to a maximum of 3; each 'Wolf Shadow' increases the Wolfpack's Block by 1 and causes its attacks to deal an additional instance of damage)","name":"Leader of the Wolfpack","desc":"Can summon a Wolfpack initially consisting of 2 'Wolf Shadows' at the Tactical Point to assist in combat; The number of 'Wolf Shadows' increases by 1 every 25 seconds (up to a maximum of 3; each 'Wolf Shadow' increases the Wolfpack's Block by 1 and causes its attacks to deal an additional instance of damage)"},{"descRaw":"Vigil and the Wolfpack's attacks ignore 175 DEF when attacking enemies blocked by the Wolfpack","name":"Wolven Nature","desc":"Vigil and the Wolfpack's attacks ignore 175 DEF when attacking enemies blocked by the Wolfpack"}],"module":{"name":"La Punciuta"},"skills":[{"descRaw":"Immediately generates <@ba.vup>7 DP and summons 1 'Wolf Shadow'","name":"Packleader's Call","desc":"Immediately generates 7 DP and summons 1 'Wolf Shadow'"},{"descRaw":"Immediately generates <@ba.vup>2 DP and causes the Wolfpack's next attack to deal <@ba.vup>170% damage and restore <@ba.vup>15% of its Max HP; Generates an additional <@ba.vup>1 DP if the Wolfpack defeats an enemy","name":"Packleader's Gift","desc":"Immediately generates 2 DP and causes the Wolfpack's next attack to deal 170% damage and restore 15% of its Max HP; Generates an additional 1 DP if the Wolfpack defeats an enemy"},{"descRaw":"Gradually generates <@ba.vup>11 DP over the skill duration, and causes attacks to hit <@ba.vup>3 times; When Vigil or the Wolfpack deal damage to a unit blocked by the Wolfpack, they deal an additional <@ba.vup>30% of Vigil's ATK as Arts damage","name":"Packleader's Dignity","desc":"Gradually generates 11 DP over the skill duration, and causes attacks to hit 3 times; When Vigil or the Wolfpack deal damage to a unit blocked by the Wolfpack, they deal an additional 30% of Vigil's ATK as Arts damage"}],"traitBase":{"descRaw":"This unit can designate one <@ba.kw>Tactical Point within attack range to call Reinforcements; ATK is increased to 150% when attacking enemies blocked by Reinforcements","desc":"This unit can designate one Tactical Point within attack range to call Reinforcements; ATK is increased to 150% when attacking enemies blocked by Reinforcements"},"talentsBase":[{"descRaw":"Can summon a Wolfpack initially consisting of 2 'Wolf Shadows' at the Tactical Point to assist in combat; The number of 'Wolf Shadows' increases by 1 every 25 seconds (up to a maximum of 3; each 'Wolf Shadow' increases the Wolfpack's Block by 1 and causes its attacks to deal an additional instance of damage)","name":"Leader of the Wolfpack","desc":"Can summon a Wolfpack initially consisting of 2 'Wolf Shadows' at the Tactical Point to assist in combat; The number of 'Wolf Shadows' increases by 1 every 25 seconds (up to a maximum of 3; each 'Wolf Shadow' increases the Wolfpack's Block by 1 and causes its attacks to deal an additional instance of damage)"},{"descRaw":"Vigil and the Wolfpack's attacks ignore 175 DEF when attacking enemies blocked by the Wolfpack","name":"Wolven Nature","desc":"Vigil and the Wolfpack's attacks ignore 175 DEF when attacking enemies blocked by the Wolfpack"}],"modules":[{"name":"La Punciuta","traitOverride":{"descRaw":"This unit can designate one <@ba.kw>Tactical Point within attack range to call Reinforcements; Reinforcements take <@ba.kw>15% less damage from units they are blocking, and this unit's ATK is increased to 150% when attacking enemies blocked by Reinforcements","desc":"This unit can designate one Tactical Point within attack range to call Reinforcements; Reinforcements take 15% less damage from units they are blocking, and this unit's ATK is increased to 150% when attacking enemies blocked by Reinforcements"}},{"name":"Time Has Gone","traitOverride":{"descRaw":"This unit can designate one <@ba.kw>Tactical Point within attack range to call Reinforcements; Enemies blocked by reinforcements are more likely to be attacked, and this unit's ATK is increased to 165% when attacking enemies blocked by Reinforcements","desc":"This unit can designate one Tactical Point within attack range to call Reinforcements; Enemies blocked by reinforcements are more likely to be attacked, and this unit's ATK is increased to 165% when attacking enemies blocked by Reinforcements"}}],"_h":"tf8asrxpq5leyezahxzarattraepp943o6lq8rccq5leyeuajgzahxzarattraepsrxpn2m2to"},"chess_char_3_20_a":{"name":"Kjera","subProfessionName":"Mech-accord Caster","trait":{"descRaw":"Controls a <@ba.kw>Drone that deals <@ba.kw>Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)","desc":"Controls a Drone that deals Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)"},"skill":{"descRaw":"Drone <@ba.vup>+1, ATK <@ba.vup>+29%. Releases Drones to attack enemies, and grants self and Drone a <@ba.vup>15% chance to inflict <$ba.cold>Cold to enemies for <@ba.vup>2.5 seconds\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator","name":"Unrestrained Heart","desc":"Drone +1, ATK +29%. Releases Drones to attack enemies, and grants self and Drone a 15% chance to inflict Cold to enemies for 2.5 seconds\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator"},"talents":[{"descRaw":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%","name":"Deference","desc":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%"}],"module":{"name":"In the Woolen of Snow"},"skills":[{"descRaw":"ATK <@ba.vup>+45%","name":"ATK Up γ","desc":"ATK +45%"},{"descRaw":"Drone <@ba.vup>+1, ATK <@ba.vup>+29%. Releases Drones to attack enemies, and grants self and Drone a <@ba.vup>15% chance to inflict <$ba.cold>Cold to enemies for <@ba.vup>2.5 seconds\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator","name":"Unrestrained Heart","desc":"Drone +1, ATK +29%. Releases Drones to attack enemies, and grants self and Drone a 15% chance to inflict Cold to enemies for 2.5 seconds\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator"}],"_h":"xc93k7j1iwhsv483oo83t5igyjmhiwhsv4"},"chess_char_3_20_b":{"name":"Kjera","subProfessionName":"Mech-accord Caster","trait":{"descRaw":"Attack with <@ba.kw>Drones to deal <@ba.kw>Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)","desc":"Attack with Drones to deal Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)"},"skill":{"descRaw":"Drone <@ba.vup>+1, ATK <@ba.vup>+40%. Releases Drones to attack enemies, and grants self and Drone a <@ba.vup>20% chance to inflict <$ba.cold>Cold to enemies for <@ba.vup>2.5 seconds\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator","name":"Unrestrained Heart","desc":"Drone +1, ATK +40%. Releases Drones to attack enemies, and grants self and Drone a 20% chance to inflict Cold to enemies for 2.5 seconds\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator"},"talents":[{"descRaw":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%","name":"Deference","desc":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%"}],"module":{"name":"In the Woolen of Snow"},"skills":[{"descRaw":"ATK <@ba.vup>+60%","name":"ATK Up γ","desc":"ATK +60%"},{"descRaw":"Drone <@ba.vup>+1, ATK <@ba.vup>+40%. Releases Drones to attack enemies, and grants self and Drone a <@ba.vup>20% chance to inflict <$ba.cold>Cold to enemies for <@ba.vup>2.5 seconds\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator","name":"Unrestrained Heart","desc":"Drone +1, ATK +40%. Releases Drones to attack enemies, and grants self and Drone a 20% chance to inflict Cold to enemies for 2.5 seconds\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator"}],"traitBase":{"descRaw":"Controls a <@ba.kw>Drone that deals <@ba.kw>Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)","desc":"Controls a Drone that deals Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)"},"talentsBase":[{"descRaw":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%","name":"Deference","desc":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%"}],"modules":[{"name":"In the Woolen of Snow","traitOverride":{"descRaw":"Attack with <@ba.kw>Drones to deal <@ba.kw>Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)","desc":"Attack with Drones to deal Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)"}}],"_h":"xc93lg7i1dhsel83oo83t575yjae1dhselk7j183oo83t5lg7i"},"chess_char_3_21_a":{"name":"Archetto","subProfessionName":"Marksman","trait":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"skill":{"descRaw":"ATK <@ba.vup>+10%, attack range <@ba.vup>+1, attacks hit <@ba.vup>3 times in a row and target <@ba.vup>2 enemies simultaneously","name":"Thundering Arrows","desc":"ATK +10%, attack range +1, attacks hit 3 times in a row and target 2 enemies simultaneously"},"talents":[{"descRaw":"Every 2.5 seconds when deployed, restores 1 Skill Point to all deployed Sniper allies that have an Offensive Recovery skill.","name":"Landen Tactics","desc":"Every 2.5 seconds when deployed, restores 1 Skill Point to all deployed Sniper allies that have an Offensive Recovery skill."},{"descRaw":"When deployed, this unit gains 1 <$ba.shield>Shield. Restores 7 Skill Points after the Shield breaks","name":"Iron Bowstring","desc":"When deployed, this unit gains 1 Shield. Restores 7 Skill Points after the Shield breaks"}],"module":{"name":"'Seeds of Tomorrow'"},"skills":[{"descRaw":"The next attack deals <@ba.vup>185% ATK as Physical damage to the target and <@ba.vup>135% ATK as Physical damage to up to <@ba.vup>3 other nearby enemies","name":"Dispersing Arrows","desc":"The next attack deals 185% ATK as Physical damage to the target and 135% ATK as Physical damage to up to 3 other nearby enemies"},{"descRaw":"Immediately fire an arrow that deals <@ba.vup>114% ATK damage <@ba.vup>5 times in a row. The arrow can repeatedly ricochet to nearby enemies that have not been targeted yet (each ricochet reduces available ricochets by 1); <@ba.rem>Can store 1 charges","name":"Pursuing Arrows","desc":"Immediately fire an arrow that deals 114% ATK damage 5 times in a row. The arrow can repeatedly ricochet to nearby enemies that have not been targeted yet (each ricochet reduces available ricochets by 1); Can store 1 charges"},{"descRaw":"ATK <@ba.vup>+10%, attack range <@ba.vup>+1, attacks hit <@ba.vup>3 times in a row and target <@ba.vup>2 enemies simultaneously","name":"Thundering Arrows","desc":"ATK +10%, attack range +1, attacks hit 3 times in a row and target 2 enemies simultaneously"}],"_h":"ohkfcwcwotcpa3zxxlzxjjsepaymny5chf9lvo81otcpa3"},"chess_char_3_21_b":{"name":"Archetto","subProfessionName":"Marksman","trait":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"When there are ground enemies within range, ASPD <@ba.kw>+8","desc":"Attacks aerial enemies first","moduleDesc":"When there are ground enemies within range, ASPD +8"},"skill":{"descRaw":"ATK <@ba.vup>+15%, attack range <@ba.vup>+1, attacks hit <@ba.vup>3 times in a row and target <@ba.vup>2 enemies simultaneously","name":"Thundering Arrows","desc":"ATK +15%, attack range +1, attacks hit 3 times in a row and target 2 enemies simultaneously"},"talents":[{"descRaw":"Every 2.5 seconds when deployed, restores 1 Skill Point to all deployed Sniper allies that have an Offensive Recovery skill.","name":"Landen Tactics","desc":"Every 2.5 seconds when deployed, restores 1 Skill Point to all deployed Sniper allies that have an Offensive Recovery skill."},{"descRaw":"When deployed, this unit gains 1 <$ba.shield>Shield. Restores 7 Skill Points after the Shield breaks","name":"Iron Bowstring","desc":"When deployed, this unit gains 1 Shield. Restores 7 Skill Points after the Shield breaks"}],"module":{"name":"'Seeds of Tomorrow'"},"skills":[{"descRaw":"The next attack deals <@ba.vup>200% ATK as Physical damage to the target and <@ba.vup>150% ATK as Physical damage to up to <@ba.vup>3 other nearby enemies","name":"Dispersing Arrows","desc":"The next attack deals 200% ATK as Physical damage to the target and 150% ATK as Physical damage to up to 3 other nearby enemies"},{"descRaw":"Immediately fire an arrow that deals <@ba.vup>120% ATK damage <@ba.vup>5 times in a row. The arrow can repeatedly ricochet to nearby enemies that have not been targeted yet (each ricochet reduces available ricochets by 1); <@ba.rem>Can store 2 charges","name":"Pursuing Arrows","desc":"Immediately fire an arrow that deals 120% ATK damage 5 times in a row. The arrow can repeatedly ricochet to nearby enemies that have not been targeted yet (each ricochet reduces available ricochets by 1); Can store 2 charges"},{"descRaw":"ATK <@ba.vup>+15%, attack range <@ba.vup>+1, attacks hit <@ba.vup>3 times in a row and target <@ba.vup>2 enemies simultaneously","name":"Thundering Arrows","desc":"ATK +15%, attack range +1, attacks hit 3 times in a row and target 2 enemies simultaneously"}],"traitBase":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"talentsBase":[{"descRaw":"Every 2.5 seconds when deployed, restores 1 Skill Point to all deployed Sniper allies that have an Offensive Recovery skill.","name":"Landen Tactics","desc":"Every 2.5 seconds when deployed, restores 1 Skill Point to all deployed Sniper allies that have an Offensive Recovery skill."},{"descRaw":"When deployed, this unit gains 1 <$ba.shield>Shield. Restores 7 Skill Points after the Shield breaks","name":"Iron Bowstring","desc":"When deployed, this unit gains 1 Shield. Restores 7 Skill Points after the Shield breaks"}],"modules":[{"name":"'Seeds of Tomorrow'","traitOverride":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"When there are ground enemies within range, ASPD <@ba.kw>+8","desc":"Attacks aerial enemies first","moduleDesc":"When there are ground enemies within range, ASPD +8"}},{"name":"Yesterday Once More","traitOverride":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"}},{"name":"Archetto's Specialized Badge","traitOverride":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"In <@ba.kw>Integrated Strategies, for every deployed Operator with an Offensive Recovery skill, Archetto's Attack Range +1 (Max +3)","desc":"Attacks aerial enemies first","moduleDesc":"In Integrated Strategies, for every deployed Operator with an Offensive Recovery skill, Archetto's Attack Range +1 (Max +3)"}}],"_h":"ohkfcw7bcwetmucpo6zxxlzxjjsepaym5v5cboy1vo49mucpo6cwcwzxxlzxjjsepaymcw7bcwetz8cw9scwls81cw86cwwe"},"chess_char_4_01_a":{"name":"Sankta Miksaparato","subProfessionName":"Sentry Protector","trait":{"descRaw":"Blocks 3 enemies and attacks from long range.","desc":"Blocks 3 enemies and attacks from long range."},"skill":{"descRaw":"On skill activation, <$ba.addbullet>Replenishes <@ba.vup>2 bullets to all other [Laterano] Operators; Attack Range <@ba.vup>expands, Max HP <@ba.vup>+35%, ATK <@ba.vup>+140%, DEF <@ba.vup>+35%; stops attacking enemies; when attacked, immediately counterattacks up to <@ba.vup>3 enemies within Attack Range once; minimum interval between counterattacks is <@ba.vup>60% of actual Attack Interval\n<@ba.rem>Skill activation grants 30 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Pre-Retirement Preaching","desc":"On skill activation, Replenishes 2 bullets to all other [Laterano] Operators; Attack Range expands, Max HP +35%, ATK +140%, DEF +35%; stops attacking enemies; when attacked, immediately counterattacks up to 3 enemies within Attack Range once; minimum interval between counterattacks is 60% of actual Attack Interval\nSkill activation grants 30 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},"talents":[{"descRaw":"Whenever Sankta Miksaparato deals damage, he gains DEF +30 and ASPD +3 for 10 seconds, stacking up to 3 times","name":"Machine-Gun Welcome Ceremony","desc":"Whenever Sankta Miksaparato deals damage, he gains DEF +30 and ASPD +3 for 10 seconds, stacking up to 3 times"},{"descRaw":"When Sankta Miksaparato has not attacked for 8 seconds, he gains a <$ba.barrier>Barrier equal to 15% Max HP; this timer restarts once the Barrier is lost","name":"Shield-Up Farewell Ceremony","desc":"When Sankta Miksaparato has not attacked for 8 seconds, he gains a Barrier equal to 15% Max HP; this timer restarts once the Barrier is lost"}],"module":{"name":"Armor Cleaning Brush Set"},"skills":[{"descRaw":"The next attack hits <@ba.vup>three times, each hit dealing <@ba.vup>130% of ATK as Physical damage, and <$ba.addbullet>Replenishes <@ba.vup>1 bullet to another nearby [Laterano] Operator with an ammo-type skill active","name":"Gun-Knight Examiner-in-Chief","desc":"The next attack hits three times, each hit dealing 130% of ATK as Physical damage, and Replenishes 1 bullet to another nearby [Laterano] Operator with an ammo-type skill active"},{"descRaw":"ATK <@ba.vup>+80%, DEF <@ba.vup>+70%, and if lethal damage is received while skill is active, immediately consumes <@ba.vup>30 ammo to resist the damage\n<@ba.rem>Skill activation grants 42 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Eight-Armed Chainsaw Guy","desc":"ATK +80%, DEF +70%, and if lethal damage is received while skill is active, immediately consumes 30 ammo to resist the damage\nSkill activation grants 42 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"On skill activation, <$ba.addbullet>Replenishes <@ba.vup>2 bullets to all other [Laterano] Operators; Attack Range <@ba.vup>expands, Max HP <@ba.vup>+35%, ATK <@ba.vup>+140%, DEF <@ba.vup>+35%; stops attacking enemies; when attacked, immediately counterattacks up to <@ba.vup>3 enemies within Attack Range once; minimum interval between counterattacks is <@ba.vup>60% of actual Attack Interval\n<@ba.rem>Skill activation grants 30 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Pre-Retirement Preaching","desc":"On skill activation, Replenishes 2 bullets to all other [Laterano] Operators; Attack Range expands, Max HP +35%, ATK +140%, DEF +35%; stops attacking enemies; when attacked, immediately counterattacks up to 3 enemies within Attack Range once; minimum interval between counterattacks is 60% of actual Attack Interval\nSkill activation grants 30 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"}],"_h":"hhhftwtwsb0jqt3xmg3xtprop42nza5114mcnc3jsb0jqt"},"chess_char_4_01_b":{"name":"Sankta Miksaparato","subProfessionName":"Sentry Protector","trait":{"descRaw":"Blocks 3 enemies and attacks from long range.","moduleDescRaw":"Reveals <$ba.invisible>Invisible enemies within range","desc":"Blocks 3 enemies and attacks from long range.","moduleDesc":"Reveals Invisible enemies within range"},"skill":{"descRaw":"On skill activation, <$ba.addbullet>Replenishes <@ba.vup>3 bullets to all other [Laterano] Operators; Attack Range <@ba.vup>expands, Max HP <@ba.vup>+55%, ATK <@ba.vup>+170%, DEF <@ba.vup>+55%; stops attacking enemies; when attacked, immediately counterattacks up to <@ba.vup>3 enemies within Attack Range once; minimum interval between counterattacks is <@ba.vup>30% of actual Attack Interval\n<@ba.rem>Skill activation grants 30 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Pre-Retirement Preaching","desc":"On skill activation, Replenishes 3 bullets to all other [Laterano] Operators; Attack Range expands, Max HP +55%, ATK +170%, DEF +55%; stops attacking enemies; when attacked, immediately counterattacks up to 3 enemies within Attack Range once; minimum interval between counterattacks is 30% of actual Attack Interval\nSkill activation grants 30 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},"talents":[{"descRaw":"Whenever Sankta Miksaparato deals damage, he gains DEF +30 and ASPD +3 for 10 seconds, stacking up to 3 times","name":"Machine-Gun Welcome Ceremony","desc":"Whenever Sankta Miksaparato deals damage, he gains DEF +30 and ASPD +3 for 10 seconds, stacking up to 3 times"},{"descRaw":"When Sankta Miksaparato has not attacked for 8 seconds, he gains a <$ba.barrier>Barrier equal to 15% Max HP; this timer restarts once the Barrier is lost","name":"Shield-Up Farewell Ceremony","desc":"When Sankta Miksaparato has not attacked for 8 seconds, he gains a Barrier equal to 15% Max HP; this timer restarts once the Barrier is lost"}],"module":{"name":"Armor Cleaning Brush Set"},"skills":[{"descRaw":"The next attack hits <@ba.vup>three times, each hit dealing <@ba.vup>160% of ATK as Physical damage, and <$ba.addbullet>Replenishes <@ba.vup>1 bullet to another nearby [Laterano] Operator with an ammo-type skill active","name":"Gun-Knight Examiner-in-Chief","desc":"The next attack hits three times, each hit dealing 160% of ATK as Physical damage, and Replenishes 1 bullet to another nearby [Laterano] Operator with an ammo-type skill active"},{"descRaw":"ATK <@ba.vup>+105%, DEF <@ba.vup>+90%, and if lethal damage is received while skill is active, immediately consumes <@ba.vup>25 ammo to resist the damage\n<@ba.rem>Skill activation grants 45 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Eight-Armed Chainsaw Guy","desc":"ATK +105%, DEF +90%, and if lethal damage is received while skill is active, immediately consumes 25 ammo to resist the damage\nSkill activation grants 45 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"On skill activation, <$ba.addbullet>Replenishes <@ba.vup>3 bullets to all other [Laterano] Operators; Attack Range <@ba.vup>expands, Max HP <@ba.vup>+55%, ATK <@ba.vup>+170%, DEF <@ba.vup>+55%; stops attacking enemies; when attacked, immediately counterattacks up to <@ba.vup>3 enemies within Attack Range once; minimum interval between counterattacks is <@ba.vup>30% of actual Attack Interval\n<@ba.rem>Skill activation grants 30 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Pre-Retirement Preaching","desc":"On skill activation, Replenishes 3 bullets to all other [Laterano] Operators; Attack Range expands, Max HP +55%, ATK +170%, DEF +55%; stops attacking enemies; when attacked, immediately counterattacks up to 3 enemies within Attack Range once; minimum interval between counterattacks is 30% of actual Attack Interval\nSkill activation grants 30 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"}],"traitBase":{"descRaw":"Blocks 3 enemies and attacks from long range.","desc":"Blocks 3 enemies and attacks from long range."},"talentsBase":[{"descRaw":"Whenever Sankta Miksaparato deals damage, he gains DEF +30 and ASPD +3 for 10 seconds, stacking up to 3 times","name":"Machine-Gun Welcome Ceremony","desc":"Whenever Sankta Miksaparato deals damage, he gains DEF +30 and ASPD +3 for 10 seconds, stacking up to 3 times"},{"descRaw":"When Sankta Miksaparato has not attacked for 8 seconds, he gains a <$ba.barrier>Barrier equal to 15% Max HP; this timer restarts once the Barrier is lost","name":"Shield-Up Farewell Ceremony","desc":"When Sankta Miksaparato has not attacked for 8 seconds, he gains a Barrier equal to 15% Max HP; this timer restarts once the Barrier is lost"}],"modules":[{"name":"Armor Cleaning Brush Set","traitOverride":{"descRaw":"Blocks 3 enemies and attacks from long range.","moduleDescRaw":"Reveals <$ba.invisible>Invisible enemies within range","desc":"Blocks 3 enemies and attacks from long range.","moduleDesc":"Reveals Invisible enemies within range"}},{"name":"\"Old Friend\"","traitOverride":{"descRaw":"Blocks 3 enemies and attacks from long range.","moduleDescRaw":"Attack Range +1 (unaffected by skill Attack Range changes)","desc":"Blocks 3 enemies and attacks from long range.","moduleDesc":"Attack Range +1 (unaffected by skill Attack Range changes)"}}],"_h":"hhhftwp6twhbxm0jcy3xmg3xtprop42nnt51qdr5nc3kxm0jcytwtw3xmg3xtprop42ntwp6twhb03twaqtwaq"},"chess_char_4_02_a":{"name":"Mostima","subProfessionName":"Splash Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"skill":{"descRaw":"Attack Range <@ba.vup>increases, attacks turn into ripples that spread outward, ATK <@ba.vup>+90%, increases the effect of the second talent to <@ba.vup>3, and attacks knock targets back <@ba.vup>slightly","name":"Key of Chronology","desc":"Attack Range increases, attacks turn into ripples that spread outward, ATK +90%, increases the effect of the second talent to 3, and attacks knock targets back slightly"},"talents":[{"descRaw":"When deployed, increases the SP recovery rate of all Casters by +0.4/second (only the highest effect of this type takes place)","name":"Skill Aura - Caster","desc":"When deployed, increases the SP recovery rate of all Casters by +0.4/second (only the highest effect of this type takes place)"},{"descRaw":"Slows the movement speed of enemies within this unit's attack range by 15%","name":"Subjective Time Dilation","desc":"Slows the movement speed of enemies within this unit's attack range by 15%"}],"module":{"name":"Home of 'Black Lock' and 'White Key'"},"skills":[{"descRaw":"ATK <@ba.vup>+45%","name":"ATK Up γ","desc":"ATK +45%"},{"descRaw":"<$ba.stun>Stuns all enemies within Attack Range and deals <@ba.vup>100% ATK as Arts damage to them every second","name":"Lock of Shattered Time","desc":"Stuns all enemies within Attack Range and deals 100% ATK as Arts damage to them every second"},{"descRaw":"Attack Range <@ba.vup>increases, attacks turn into ripples that spread outward, ATK <@ba.vup>+90%, increases the effect of the second talent to <@ba.vup>3, and attacks knock targets back <@ba.vup>slightly","name":"Key of Chronology","desc":"Attack Range increases, attacks turn into ripples that spread outward, ATK +90%, increases the effect of the second talent to 3, and attacks knock targets back slightly"}],"_h":"hfkin1hbm8b4boh3aqh3ft5hftjgigyjmhtwdh99m8b4bo"},"chess_char_4_02_b":{"name":"Mostima","subProfessionName":"Splash Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"<@ba.kw>Reduces Deployment Cost","desc":"Deals AOE Arts damage","moduleDesc":"Reduces Deployment Cost"},"skill":{"descRaw":"Attack Range <@ba.vup>increases, attacks turn into ripples that spread outward, ATK <@ba.vup>+120%, increases the effect of the second talent to <@ba.vup>3, and attacks knock targets back <@ba.vup>slightly","name":"Key of Chronology","desc":"Attack Range increases, attacks turn into ripples that spread outward, ATK +120%, increases the effect of the second talent to 3, and attacks knock targets back slightly"},"talents":[{"descRaw":"When deployed, increases the SP recovery rate of all Casters by +0.4/second (only the highest effect of this type takes place)","name":"Skill Aura - Caster","desc":"When deployed, increases the SP recovery rate of all Casters by +0.4/second (only the highest effect of this type takes place)"},{"descRaw":"Slows the movement speed of enemies within this unit's attack range by 15%","name":"Subjective Time Dilation","desc":"Slows the movement speed of enemies within this unit's attack range by 15%"}],"module":{"name":"Home of 'Black Lock' and 'White Key'"},"skills":[{"descRaw":"ATK <@ba.vup>+60%","name":"ATK Up γ","desc":"ATK +60%"},{"descRaw":"<$ba.stun>Stuns all enemies within Attack Range and deals <@ba.vup>120% ATK as Arts damage to them every second","name":"Lock of Shattered Time","desc":"Stuns all enemies within Attack Range and deals 120% ATK as Arts damage to them every second"},{"descRaw":"Attack Range <@ba.vup>increases, attacks turn into ripples that spread outward, ATK <@ba.vup>+120%, increases the effect of the second talent to <@ba.vup>3, and attacks knock targets back <@ba.vup>slightly","name":"Key of Chronology","desc":"Attack Range increases, attacks turn into ripples that spread outward, ATK +120%, increases the effect of the second talent to 3, and attacks knock targets back slightly"}],"traitBase":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"talentsBase":[{"descRaw":"When deployed, increases the SP recovery rate of all Casters by +0.4/second (only the highest effect of this type takes place)","name":"Skill Aura - Caster","desc":"When deployed, increases the SP recovery rate of all Casters by +0.4/second (only the highest effect of this type takes place)"},{"descRaw":"Slows the movement speed of enemies within this unit's attack range by 15%","name":"Subjective Time Dilation","desc":"Slows the movement speed of enemies within this unit's attack range by 15%"}],"modules":[{"name":"Home of 'Black Lock' and 'White Key'","traitOverride":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"<@ba.kw>Reduces Deployment Cost","desc":"Deals AOE Arts damage","moduleDesc":"Reduces Deployment Cost"}},{"name":"Veteran Legatus' Customized Cloak","traitOverride":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Deals AOE Arts damage","moduleDesc":"Attack Range expands"}}],"_h":"hfkin1jyhbzaoab44sh3aqh3ft5hftjg75yjaecmdhgfoab44sn1hbh3aqh3ft5hftjgn1jyhbzajsn1d0hb5k"},"chess_char_4_03_a":{"name":"Kjera","subProfessionName":"Mech-accord Caster","trait":{"descRaw":"Controls a <@ba.kw>Drone that deals <@ba.kw>Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)","desc":"Controls a Drone that deals Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)"},"skill":{"descRaw":"Drone <@ba.vup>+1, ATK <@ba.vup>+29%. Releases Drones to attack enemies, and grants self and Drone a <@ba.vup>15% chance to inflict <$ba.cold>Cold to enemies for <@ba.vup>2.5 seconds\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator","name":"Unrestrained Heart","desc":"Drone +1, ATK +29%. Releases Drones to attack enemies, and grants self and Drone a 15% chance to inflict Cold to enemies for 2.5 seconds\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator"},"talents":[{"descRaw":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%","name":"Deference","desc":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%"}],"module":{"name":"In the Woolen of Snow"},"skills":[{"descRaw":"ATK <@ba.vup>+45%","name":"ATK Up γ","desc":"ATK +45%"},{"descRaw":"Drone <@ba.vup>+1, ATK <@ba.vup>+29%. Releases Drones to attack enemies, and grants self and Drone a <@ba.vup>15% chance to inflict <$ba.cold>Cold to enemies for <@ba.vup>2.5 seconds\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator","name":"Unrestrained Heart","desc":"Drone +1, ATK +29%. Releases Drones to attack enemies, and grants self and Drone a 15% chance to inflict Cold to enemies for 2.5 seconds\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator"}],"_h":"xc93k7j1iwhsv483oo83t5igyjmhiwhsv4"},"chess_char_4_03_b":{"name":"Kjera","subProfessionName":"Mech-accord Caster","trait":{"descRaw":"Attack with <@ba.kw>Drones to deal <@ba.kw>Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)","desc":"Attack with Drones to deal Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)"},"skill":{"descRaw":"Drone <@ba.vup>+1, ATK <@ba.vup>+40%. Releases Drones to attack enemies, and grants self and Drone a <@ba.vup>20% chance to inflict <$ba.cold>Cold to enemies for <@ba.vup>2.5 seconds\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator","name":"Unrestrained Heart","desc":"Drone +1, ATK +40%. Releases Drones to attack enemies, and grants self and Drone a 20% chance to inflict Cold to enemies for 2.5 seconds\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator"},"talents":[{"descRaw":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%","name":"Deference","desc":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%"}],"module":{"name":"In the Woolen of Snow"},"skills":[{"descRaw":"ATK <@ba.vup>+60%","name":"ATK Up γ","desc":"ATK +60%"},{"descRaw":"Drone <@ba.vup>+1, ATK <@ba.vup>+40%. Releases Drones to attack enemies, and grants self and Drone a <@ba.vup>20% chance to inflict <$ba.cold>Cold to enemies for <@ba.vup>2.5 seconds\n<@ba.rem>The Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator","name":"Unrestrained Heart","desc":"Drone +1, ATK +40%. Releases Drones to attack enemies, and grants self and Drone a 20% chance to inflict Cold to enemies for 2.5 seconds\nThe Drone locks onto an enemy until the enemy is defeated or until the skill is over, then returns to the Operator"}],"traitBase":{"descRaw":"Controls a <@ba.kw>Drone that deals <@ba.kw>Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)","desc":"Controls a Drone that deals Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)"},"talentsBase":[{"descRaw":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%","name":"Deference","desc":"ATK +10%, when there are two or more ground tiles within Attack Range, the effect becomes ATK +16%"}],"modules":[{"name":"In the Woolen of Snow","traitOverride":{"descRaw":"Attack with <@ba.kw>Drones to deal <@ba.kw>Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)","desc":"Attack with Drones to deal Arts damage\nDrone deals more damage when it attacks the same enemy again (deals up to 120% of Operator's ATK as damage)"}}],"_h":"xc93lg7i1dhsel83oo83t575yjae1dhselk7j183oo83t5lg7i"},"chess_char_4_04_a":{"name":"Ines","subProfessionName":"Agent","trait":{"descRaw":"Has <@ba.kw>reduced Redeployment Time, can use ranged attacks","desc":"Has reduced Redeployment Time, can use ranged attacks"},"skill":{"descRaw":"Attack range <@ba.vup>expands, gains <@ba.vup>+60% ATK and <$ba.invisible>Invisibility, each attack grants <@ba.vup>1 DP and <$ba.steal>Steals <@ba.vup>5 ASPD from the target (Caps at 50, lasts until skill ends or Ines is retreated)","name":"Murky Night","desc":"Attack range expands, gains +60% ATK and Invisibility, each attack grants 1 DP and Steals 5 ASPD from the target (Caps at 50, lasts until skill ends or Ines is retreated)"},"talents":[{"descRaw":"The first hit on each enemy <$ba.root>Binds the target for 5 seconds and <$ba.steal>Steals 90 ATK (effect expires when enemy is defeated or Ines retreats)","name":"Shadow Weaver","desc":"The first hit on each enemy Binds the target for 5 seconds and Steals 90 ATK (effect expires when enemy is defeated or Ines retreats)"},{"descRaw":"Enemies within Attack Range lose <$ba.invisible>Invisibility and have -30% Movement Speed; after retreating, Ines leaves behind a Shadow Sentry with the same effect (Max 1)","name":"Shadow Sentry","desc":"Enemies within Attack Range lose Invisibility and have -30% Movement Speed; after retreating, Ines leaves behind a Shadow Sentry with the same effect (Max 1)"}],"module":{"name":"'Horncare Set'"},"skills":[{"descRaw":"The next attack deals <@ba.vup>40% ATK as Arts damage to the target every second for <@ba.vup>3 seconds (does not stack), gains <@ba.vup>2 DP","name":"Shadow Raid","desc":"The next attack deals 40% ATK as Arts damage to the target every second for 3 seconds (does not stack), gains 2 DP"},{"descRaw":"Attack range <@ba.vup>expands, gains <@ba.vup>+60% ATK and <$ba.invisible>Invisibility, each attack grants <@ba.vup>1 DP and <$ba.steal>Steals <@ba.vup>5 ASPD from the target (Caps at 50, lasts until skill ends or Ines is retreated)","name":"Murky Night","desc":"Attack range expands, gains +60% ATK and Invisibility, each attack grants 1 DP and Steals 5 ASPD from the target (Caps at 50, lasts until skill ends or Ines is retreated)"},{"descRaw":"<@ba.rem>The first deployment costs 0 DP, places a Shadow Sentry on the field, and immediately refreshes Redeployment Time\nAfter deployment, <@ba.vup>+90% ATK, immediately retrieves the Shadow Sentry, and deals <@ba.vup>110% ATK as Physical damage to up to <@ba.vup>4 enemies it passes through; while active, gains <@ba.vup>1 DP for each attack on an enemy","name":"Solitary Return","desc":"The first deployment costs 0 DP, places a Shadow Sentry on the field, and immediately refreshes Redeployment Time\nAfter deployment, +90% ATK, immediately retrieves the Shadow Sentry, and deals 110% ATK as Physical damage to up to 4 enemies it passes through; while active, gains 1 DP for each attack on an enemy"}],"_h":"lroly5q5bzv0t9ag0huhvjy4o8g1u4vkm9bzv0t9q88gw6"},"chess_char_4_04_b":{"name":"Ines","subProfessionName":"Agent","trait":{"descRaw":"Has <@ba.kw>reduced Redeployment Time, can use ranged attacks","moduleDescRaw":"First Redeployment Time reduced by <@ba.kw>35%","desc":"Has reduced Redeployment Time, can use ranged attacks","moduleDesc":"First Redeployment Time reduced by 35%"},"skill":{"descRaw":"Attack range <@ba.vup>expands, gains <@ba.vup>+80% ATK and <$ba.invisible>Invisibility, each attack grants <@ba.vup>1 DP and <$ba.steal>Steals <@ba.vup>6 ASPD from the target (Caps at 60, lasts until skill ends or Ines is retreated)","name":"Murky Night","desc":"Attack range expands, gains +80% ATK and Invisibility, each attack grants 1 DP and Steals 6 ASPD from the target (Caps at 60, lasts until skill ends or Ines is retreated)"},"talents":[{"descRaw":"The first hit on each enemy <$ba.root>Binds the target for 5 seconds and <$ba.steal>Steals 90 ATK (effect expires when enemy is defeated or Ines retreats)","name":"Shadow Weaver","desc":"The first hit on each enemy Binds the target for 5 seconds and Steals 90 ATK (effect expires when enemy is defeated or Ines retreats)"},{"descRaw":"Enemies within Attack Range lose <$ba.invisible>Invisibility and have -30% Movement Speed; after retreating, Ines leaves behind a Shadow Sentry with the same effect (Max 1)","name":"Shadow Sentry","desc":"Enemies within Attack Range lose Invisibility and have -30% Movement Speed; after retreating, Ines leaves behind a Shadow Sentry with the same effect (Max 1)"}],"module":{"name":"'Horncare Set'"},"skills":[{"descRaw":"The next attack deals <@ba.vup>55% ATK as Arts damage to the target every second for <@ba.vup>3 seconds (does not stack), gains <@ba.vup>2 DP","name":"Shadow Raid","desc":"The next attack deals 55% ATK as Arts damage to the target every second for 3 seconds (does not stack), gains 2 DP"},{"descRaw":"Attack range <@ba.vup>expands, gains <@ba.vup>+80% ATK and <$ba.invisible>Invisibility, each attack grants <@ba.vup>1 DP and <$ba.steal>Steals <@ba.vup>6 ASPD from the target (Caps at 60, lasts until skill ends or Ines is retreated)","name":"Murky Night","desc":"Attack range expands, gains +80% ATK and Invisibility, each attack grants 1 DP and Steals 6 ASPD from the target (Caps at 60, lasts until skill ends or Ines is retreated)"},{"descRaw":"<@ba.rem>The first deployment costs 0 DP, places a Shadow Sentry on the field, and immediately refreshes Redeployment Time\nAfter deployment, <@ba.vup>+120% ATK, immediately retrieves the Shadow Sentry, and deals <@ba.vup>140% ATK as Physical damage to up to <@ba.vup>5 enemies it passes through; while active, gains <@ba.vup>1 DP for each attack on an enemy","name":"Solitary Return","desc":"The first deployment costs 0 DP, places a Shadow Sentry on the field, and immediately refreshes Redeployment Time\nAfter deployment, +120% ATK, immediately retrieves the Shadow Sentry, and deals 140% ATK as Physical damage to up to 5 enemies it passes through; while active, gains 1 DP for each attack on an enemy"}],"traitBase":{"descRaw":"Has <@ba.kw>reduced Redeployment Time, can use ranged attacks","desc":"Has reduced Redeployment Time, can use ranged attacks"},"talentsBase":[{"descRaw":"The first hit on each enemy <$ba.root>Binds the target for 5 seconds and <$ba.steal>Steals 90 ATK (effect expires when enemy is defeated or Ines retreats)","name":"Shadow Weaver","desc":"The first hit on each enemy Binds the target for 5 seconds and Steals 90 ATK (effect expires when enemy is defeated or Ines retreats)"},{"descRaw":"Enemies within Attack Range lose <$ba.invisible>Invisibility and have -30% Movement Speed; after retreating, Ines leaves behind a Shadow Sentry with the same effect (Max 1)","name":"Shadow Sentry","desc":"Enemies within Attack Range lose Invisibility and have -30% Movement Speed; after retreating, Ines leaves behind a Shadow Sentry with the same effect (Max 1)"}],"modules":[{"name":"'Horncare Set'","traitOverride":{"descRaw":"Has <@ba.kw>reduced Redeployment Time, can use ranged attacks","moduleDescRaw":"First Redeployment Time reduced by <@ba.kw>35%","desc":"Has reduced Redeployment Time, can use ranged attacks","moduleDesc":"First Redeployment Time reduced by 35%"}}],"_h":"lroly5qfq5rv49v0ptag0huhvjy4o8g1z6vk7r49v0ptx08gzuy5q5ag0huhvjy4o8g1y5qfq5rv"},"chess_char_4_05_a":{"name":"Beeswax","subProfessionName":"Phalanx Caster","trait":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage"},"skill":{"descRaw":"Summons an Obelisk upon a melee tile within this unit's Attack Range. When the Obelisk appears, it deals <@ba.vup>200% ATK as Arts damage to nearby enemies and <$ba.stun>Stuns them for <@ba.vup>1 seconds","name":"Guardian Obelisk","desc":"Summons an Obelisk upon a melee tile within this unit's Attack Range. When the Obelisk appears, it deals 200% ATK as Arts damage to nearby enemies and Stuns them for 1 seconds"},"talents":[{"descRaw":"When this unit's skill is not active, restores 4% Max HP per second","name":"Shambhala's Sanctuary","desc":"When this unit's skill is not active, restores 4% Max HP per second"}],"module":{"name":"'Beeswax's Blessing'"},"skills":[{"descRaw":"Range <@ba.vup>expands, ATK <@ba.vup>+25%","name":"Growing Sandstorm","desc":"Range expands, ATK +25%"},{"descRaw":"Summons an Obelisk upon a melee tile within this unit's Attack Range. When the Obelisk appears, it deals <@ba.vup>200% ATK as Arts damage to nearby enemies and <$ba.stun>Stuns them for <@ba.vup>1 seconds","name":"Guardian Obelisk","desc":"Summons an Obelisk upon a melee tile within this unit's Attack Range. When the Obelisk appears, it deals 200% ATK as Arts damage to nearby enemies and Stuns them for 1 seconds"}],"_h":"qma03fl5jnetofehc4ehtjyakolojnetof"},"chess_char_4_05_b":{"name":"Beeswax","subProfessionName":"Phalanx Caster","trait":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal <@ba.kw>AoE Arts Damage","desc":"Normally does not attack, but has greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal AoE Arts Damage"},"skill":{"descRaw":"Summons an Obelisk upon a melee tile within this unit's Attack Range. When the Obelisk appears, it deals <@ba.vup>230% ATK as Arts damage to nearby enemies and <$ba.stun>Stuns them for <@ba.vup>1.5 seconds","name":"Guardian Obelisk","desc":"Summons an Obelisk upon a melee tile within this unit's Attack Range. When the Obelisk appears, it deals 230% ATK as Arts damage to nearby enemies and Stuns them for 1.5 seconds"},"talents":[{"descRaw":"When this unit's skill is not active, restores 4% Max HP per second","name":"Shambhala's Sanctuary","desc":"When this unit's skill is not active, restores 4% Max HP per second"}],"module":{"name":"'Beeswax's Blessing'"},"skills":[{"descRaw":"Range <@ba.vup>expands, ATK <@ba.vup>+40%","name":"Growing Sandstorm","desc":"Range expands, ATK +40%"},{"descRaw":"Summons an Obelisk upon a melee tile within this unit's Attack Range. When the Obelisk appears, it deals <@ba.vup>230% ATK as Arts damage to nearby enemies and <$ba.stun>Stuns them for <@ba.vup>1.5 seconds","name":"Guardian Obelisk","desc":"Summons an Obelisk upon a melee tile within this unit's Attack Range. When the Obelisk appears, it deals 230% ATK as Arts damage to nearby enemies and Stuns them for 1.5 seconds"}],"traitBase":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage"},"talentsBase":[{"descRaw":"When this unit's skill is not active, restores 4% Max HP per second","name":"Shambhala's Sanctuary","desc":"When this unit's skill is not active, restores 4% Max HP per second"}],"modules":[{"name":"'Beeswax's Blessing'","traitOverride":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal <@ba.kw>AoE Arts Damage","desc":"Normally does not attack, but has greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal AoE Arts Damage"}}],"_h":"qma069ubg1eterehc4ehtj8bkoqzg1eter3fl5ehc4ehtj69ub"},"chess_char_4_06_a":{"name":"Kroos the Keen Glint","subProfessionName":"Marksman","trait":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"skill":{"descRaw":"Attack Interval <@ba.vup>reduces and attacks hit <@ba.vup>2 times in a row. After hitting a target <@ba.vup>40 times, attacks hit <@ba.vup>4 times in a row for the remainder of the skill duration","name":"Silencer","desc":"Attack Interval reduces and attacks hit 2 times in a row. After hitting a target 40 times, attacks hit 4 times in a row for the remainder of the skill duration"},"talents":[{"descRaw":"When attacking, has a 20% chance to deal 150% damage and <$ba.stun>Stun the target for 0.2 seconds","name":"Bullseye","desc":"When attacking, has a 20% chance to deal 150% damage and Stun the target for 0.2 seconds"}],"module":{"name":"Truth or Dare"},"skills":[{"descRaw":"ATK <@ba.vup>+20%, attacks hit <@ba.vup>2 times in a row and gain <$ba.camou>Camouflage","name":"Traceless","desc":"ATK +20%, attacks hit 2 times in a row and gain Camouflage"},{"descRaw":"Attack Interval <@ba.vup>reduces and attacks hit <@ba.vup>2 times in a row. After hitting a target <@ba.vup>40 times, attacks hit <@ba.vup>4 times in a row for the remainder of the skill duration","name":"Silencer","desc":"Attack Interval reduces and attacks hit 2 times in a row. After hitting a target 40 times, attacks hit 4 times in a row for the remainder of the skill duration"}],"_h":"a2kfcwcwlvsf1rgspgjqsyn53yvylvsf1r"},"chess_char_4_06_b":{"name":"Kroos the Keen Glint","subProfessionName":"Marksman","trait":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"},"skill":{"descRaw":"Attack Interval <@ba.vup>reduces moderately and attacks hit <@ba.vup>2 times in a row. After hitting a target <@ba.vup>40 times, attacks hit <@ba.vup>4 times in a row for the remainder of the skill duration","name":"Silencer","desc":"Attack Interval reduces moderately and attacks hit 2 times in a row. After hitting a target 40 times, attacks hit 4 times in a row for the remainder of the skill duration"},"talents":[{"descRaw":"When attacking, has a 20% chance to deal 150% damage and <$ba.stun>Stun the target for 0.2 seconds","name":"Bullseye","desc":"When attacking, has a 20% chance to deal 150% damage and Stun the target for 0.2 seconds"}],"module":{"name":"Truth or Dare"},"skills":[{"descRaw":"ATK <@ba.vup>+30%, attacks hit <@ba.vup>2 times in a row and gain <$ba.camou>Camouflage","name":"Traceless","desc":"ATK +30%, attacks hit 2 times in a row and gain Camouflage"},{"descRaw":"Attack Interval <@ba.vup>reduces moderately and attacks hit <@ba.vup>2 times in a row. After hitting a target <@ba.vup>40 times, attacks hit <@ba.vup>4 times in a row for the remainder of the skill duration","name":"Silencer","desc":"Attack Interval reduces moderately and attacks hit 2 times in a row. After hitting a target 40 times, attacks hit 4 times in a row for the remainder of the skill duration"}],"traitBase":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"talentsBase":[{"descRaw":"When attacking, has a 20% chance to deal 150% damage and <$ba.stun>Stun the target for 0.2 seconds","name":"Bullseye","desc":"When attacking, has a 20% chance to deal 150% damage and Stun the target for 0.2 seconds"}],"modules":[{"name":"Truth or Dare","traitOverride":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"}}],"_h":"a2kfcw9scwls0gsfzegspgjqsy443y6p0gsfzecwcwgspgjqsycw9scwls"},"chess_char_4_07_a":{"name":"Bagpipe","subProfessionName":"Charger","trait":{"descRaw":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","desc":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated"},"skill":{"descRaw":"Increases the ATK of the next attack to <@ba.vup>145%, and strikes an additional time\n<@ba.rem>Can store up to 1 charges","name":"High-Impact Assault","desc":"Increases the ATK of the next attack to 145%, and strikes an additional time\nCan store up to 1 charges"},"talents":[{"descRaw":"When attacking, has a 25% chance to increase ATK to 130% and strike an additional target","name":"Precise Reloading","desc":"When attacking, has a 25% chance to increase ATK to 130% and strike an additional target"},{"descRaw":"When this unit is in the squad, all Vanguards gain +6 Starting SP","name":"Martial Tradition","desc":"When this unit is in the squad, all Vanguards gain +6 Starting SP"}],"module":{"name":"Piledriver Spear Magazine"},"skills":[{"descRaw":"ATK <@ba.vup>+27%; ASPD <@ba.vup>+25","name":"Swift Strike γ","desc":"ATK +27%; ASPD +25"},{"descRaw":"Increases the ATK of the next attack to <@ba.vup>145%, and strikes an additional time\n<@ba.rem>Can store up to 1 charges","name":"High-Impact Assault","desc":"Increases the ATK of the next attack to 145%, and strikes an additional time\nCan store up to 1 charges"},{"descRaw":"ATK interval <@ba.vdown>increases, Block <@ba.vup>+1, ATK and DEF <@ba.vup>+60%, and attacks hit <@ba.vup>3 times in a row","name":"Locked Breech Burst","desc":"ATK interval increases, Block +1, ATK and DEF +60%, and attacks hit 3 times in a row"}],"_h":"z283jwjwsvsyvuxpehxp1d0y1d568ydm2gsvsyvu18f0cn"},"chess_char_4_07_b":{"name":"Bagpipe","subProfessionName":"Charger","trait":{"descRaw":"Generates <@ba.vup>2 DP after this unit defeats an enemy; Refunds the <@ba.kw>current DP Cost when retreated","desc":"Generates 2 DP after this unit defeats an enemy; Refunds the current DP Cost when retreated"},"skill":{"descRaw":"Increases the ATK of the next attack to <@ba.vup>160%, and strikes an additional time\n<@ba.rem>Can store up to 2 charges","name":"High-Impact Assault","desc":"Increases the ATK of the next attack to 160%, and strikes an additional time\nCan store up to 2 charges"},"talents":[{"descRaw":"When attacking, has a 25% chance to increase ATK to 130% and strike an additional target","name":"Precise Reloading","desc":"When attacking, has a 25% chance to increase ATK to 130% and strike an additional target"},{"descRaw":"When this unit is in the squad, all Vanguards gain +6 Starting SP","name":"Martial Tradition","desc":"When this unit is in the squad, all Vanguards gain +6 Starting SP"}],"module":{"name":"Piledriver Spear Magazine"},"skills":[{"descRaw":"ATK <@ba.vup>+34%; ASPD <@ba.vup>+35","name":"Swift Strike γ","desc":"ATK +34%; ASPD +35"},{"descRaw":"Increases the ATK of the next attack to <@ba.vup>160%, and strikes an additional time\n<@ba.rem>Can store up to 2 charges","name":"High-Impact Assault","desc":"Increases the ATK of the next attack to 160%, and strikes an additional time\nCan store up to 2 charges"},{"descRaw":"ATK interval <@ba.vdown>increases, Block <@ba.vup>+1, ATK and DEF <@ba.vup>+90%, and attacks hit <@ba.vup>3 times in a row","name":"Locked Breech Burst","desc":"ATK interval increases, Block +1, ATK and DEF +90%, and attacks hit 3 times in a row"}],"traitBase":{"descRaw":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","desc":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated"},"talentsBase":[{"descRaw":"When attacking, has a 25% chance to increase ATK to 130% and strike an additional target","name":"Precise Reloading","desc":"When attacking, has a 25% chance to increase ATK to 130% and strike an additional target"},{"descRaw":"When this unit is in the squad, all Vanguards gain +6 Starting SP","name":"Martial Tradition","desc":"When this unit is in the squad, all Vanguards gain +6 Starting SP"}],"modules":[{"name":"Piledriver Spear Magazine","traitOverride":{"descRaw":"Generates <@ba.vup>2 DP after this unit defeats an enemy; Refunds the <@ba.kw>current DP Cost when retreated","desc":"Generates 2 DP after this unit defeats an enemy; Refunds the current DP Cost when retreated"}},{"name":"Stick and Sack","traitOverride":{"descRaw":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","moduleDescRaw":"When attacking enemies with less than <@ba.vup>40% of their max HP, increase ATK to <@ba.vup>115%","desc":"Obtain 1 DP after this unit defeats an enemy; Refunds the original DP Cost when retreated","moduleDesc":"When attacking enemies with less than 40% of their max HP, increase ATK to 115%"}}],"_h":"z2835ml5rzsy0qxpehxp1d0y1d56vddmw9rzsy0qpjf0m2jwjwxpehxp1d0y1d565ml5lzjwhpjwx3"},"chess_char_4_08_a":{"name":"Rose Salt","subProfessionName":"Multi-target Medic","trait":{"descRaw":"Restores the HP of 3 allies simultaneously","desc":"Restores the HP of 3 allies simultaneously"},"skill":{"descRaw":"Attack interval <@ba.vup>reduces somewhat slightly, <@ba.vup>20% of Physical and Arts damage received by allied Operators within range becomes HP loss over <@ba.vup>5s","name":"Super-Fine Slow-Release Meds!","desc":"Attack interval reduces somewhat slightly, 20% of Physical and Arts damage received by allied Operators within range becomes HP loss over 5s"},"talents":[{"descRaw":"ATK -5%, but allied Operators within range receive 15% more healing","name":"Herbalist Número Uno","desc":"ATK -5%, but allied Operators within range receive 15% more healing"}],"module":{"name":"Colorful Life in the Salt Flat"},"skills":[{"descRaw":"The next heal is increased to <@ba.vup>150% ATK\n<@ba.rem>Can store 1 charge(s)","name":"Top-Notch Emergency Meds!","desc":"The next heal is increased to 150% ATK\nCan store 1 charge(s)"},{"descRaw":"Attack interval <@ba.vup>reduces somewhat slightly, <@ba.vup>20% of Physical and Arts damage received by allied Operators within range becomes HP loss over <@ba.vup>5s","name":"Super-Fine Slow-Release Meds!","desc":"Attack interval reduces somewhat slightly, 20% of Physical and Arts damage received by allied Operators within range becomes HP loss over 5s"}],"_h":"mlmz0x0xkhqdaoi5awi5aulleqjekhqdao"},"chess_char_4_08_b":{"name":"Rose Salt","subProfessionName":"Multi-target Medic","trait":{"descRaw":"Restores the HP of 3 allies simultaneously","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Restores the HP of 3 allies simultaneously","moduleDesc":"Attack Range expands"},"skill":{"descRaw":"Attack interval <@ba.vup>reduces, <@ba.vup>30% of Physical and Arts damage received by allied Operators within range becomes HP loss over <@ba.vup>5s","name":"Super-Fine Slow-Release Meds!","desc":"Attack interval reduces, 30% of Physical and Arts damage received by allied Operators within range becomes HP loss over 5s"},"talents":[{"descRaw":"ATK -5%, but allied Operators within range receive 15% more healing","name":"Herbalist Número Uno","desc":"ATK -5%, but allied Operators within range receive 15% more healing"}],"module":{"name":"Colorful Life in the Salt Flat"},"skills":[{"descRaw":"The next heal is increased to <@ba.vup>165% ATK\n<@ba.rem>Can store 1 charge(s)","name":"Top-Notch Emergency Meds!","desc":"The next heal is increased to 165% ATK\nCan store 1 charge(s)"},{"descRaw":"Attack interval <@ba.vup>reduces, <@ba.vup>30% of Physical and Arts damage received by allied Operators within range becomes HP loss over <@ba.vup>5s","name":"Super-Fine Slow-Release Meds!","desc":"Attack interval reduces, 30% of Physical and Arts damage received by allied Operators within range becomes HP loss over 5s"}],"traitBase":{"descRaw":"Restores the HP of 3 allies simultaneously","desc":"Restores the HP of 3 allies simultaneously"},"talentsBase":[{"descRaw":"ATK -5%, but allied Operators within range receive 15% more healing","name":"Herbalist Número Uno","desc":"ATK -5%, but allied Operators within range receive 15% more healing"}],"modules":[{"name":"Colorful Life in the Salt Flat","traitOverride":{"descRaw":"Restores the HP of 3 allies simultaneously","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Restores the HP of 3 allies simultaneously","moduleDesc":"Attack Range expands"}}],"_h":"mlmz0xd00x5k9mqds5i5awi5ausheqvq9mqds50x0xi5awi5au0xd00x5k"},"chess_char_4_09_a":{"name":"Mizuki","subProfessionName":"Ambusher","trait":{"descRaw":"Deals Damage to <@ba.kw>all targets within range\n50% chance to dodge Physical and Arts attacks and is less likely to be <@ba.kw>targeted by enemies","desc":"Deals Damage to all targets within range\n50% chance to dodge Physical and Arts attacks and is less likely to be targeted by enemies"},"skill":{"descRaw":"Attack Interval <@ba.vup>reduces slightly, ATK <@ba.vup>+15%. Mizuki's first Talent targets <@ba.vup>1 additional enemy and inflicts <$ba.root>Bind for <@ba.vup>0.8 seconds","name":"Prisoner's Dilemma","desc":"Attack Interval reduces slightly, ATK +15%. Mizuki's first Talent targets 1 additional enemy and inflicts Bind for 0.8 seconds"},"talents":[{"descRaw":"Attacks deal an additional 50% of ATK as Arts damage to the target with the lowest HP","name":"Traumatic Hysteria","desc":"Attacks deal an additional 50% of ATK as Arts damage to the target with the lowest HP"},{"descRaw":"When there are enemies with less than 50% HP within Attack Range, ATK +10%","name":"Countertransference","desc":"When there are enemies with less than 50% HP within Attack Range, ATK +10%"}],"module":{"name":"Entreaty of the Herald"},"skills":[{"descRaw":"The next attack deals <@ba.vup>200% of ATK as Physical damage and increases the damage multiplier of Mizuki's first Talent to <@ba.vup>2.0 times\n<@ba.rem>Can store 2 charge(s)","name":"Awaken","desc":"The next attack deals 200% of ATK as Physical damage and increases the damage multiplier of Mizuki's first Talent to 2.0 times\nCan store 2 charge(s)"},{"descRaw":"Attack Interval <@ba.vup>reduces slightly, ATK <@ba.vup>+15%. Mizuki's first Talent targets <@ba.vup>1 additional enemy and inflicts <$ba.root>Bind for <@ba.vup>0.8 seconds","name":"Prisoner's Dilemma","desc":"Attack Interval reduces slightly, ATK +15%. Mizuki's first Talent targets 1 additional enemy and inflicts Bind for 0.8 seconds"},{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+90%. Mizuki's first Talent targets <@ba.vup>2 additional enemies and inflicts <$ba.stun>Stun for <@ba.vup>0.7 seconds; When attacks hit less than 3 enemies, Mizuki loses <@ba.vup>15% Max HP","name":"Moon in the Water","desc":"Attack Range expands, ATK +90%. Mizuki's first Talent targets 2 additional enemies and inflicts Stun for 0.7 seconds; When attacks hit less than 3 enemies, Mizuki loses 15% Max HP"}],"_h":"01sn7ghi36gsi02nai2nontwon0oh0b7tm36gsi08ab66r"},"chess_char_4_09_b":{"name":"Mizuki","subProfessionName":"Ambusher","trait":{"descRaw":"Deals Damage to <@ba.kw>all targets within range\n50% chance to dodge Physical and Arts attacks and is less likely to be <@ba.kw>targeted by enemies","moduleDescRaw":"Slows the Movement Speed of enemies within this unit's attack range by <@ba.kw>20%","desc":"Deals Damage to all targets within range\n50% chance to dodge Physical and Arts attacks and is less likely to be targeted by enemies","moduleDesc":"Slows the Movement Speed of enemies within this unit's attack range by 20%"},"skill":{"descRaw":"Attack Interval <@ba.vup>reduces, ATK <@ba.vup>+20%. Mizuki's first Talent targets <@ba.vup>1 additional enemy and inflicts <$ba.root>Bind for <@ba.vup>1 seconds","name":"Prisoner's Dilemma","desc":"Attack Interval reduces, ATK +20%. Mizuki's first Talent targets 1 additional enemy and inflicts Bind for 1 seconds"},"talents":[{"descRaw":"Attacks deal an additional 50% of ATK as Arts damage to the target with the lowest HP","name":"Traumatic Hysteria","desc":"Attacks deal an additional 50% of ATK as Arts damage to the target with the lowest HP"},{"descRaw":"When there are enemies with less than 50% HP within Attack Range, ATK +10%","name":"Countertransference","desc":"When there are enemies with less than 50% HP within Attack Range, ATK +10%"}],"module":{"name":"Entreaty of the Herald"},"skills":[{"descRaw":"The next attack deals <@ba.vup>230% of ATK as Physical damage and increases the damage multiplier of Mizuki's first Talent to <@ba.vup>2.3 times\n<@ba.rem>Can store 2 charge(s)","name":"Awaken","desc":"The next attack deals 230% of ATK as Physical damage and increases the damage multiplier of Mizuki's first Talent to 2.3 times\nCan store 2 charge(s)"},{"descRaw":"Attack Interval <@ba.vup>reduces, ATK <@ba.vup>+20%. Mizuki's first Talent targets <@ba.vup>1 additional enemy and inflicts <$ba.root>Bind for <@ba.vup>1 seconds","name":"Prisoner's Dilemma","desc":"Attack Interval reduces, ATK +20%. Mizuki's first Talent targets 1 additional enemy and inflicts Bind for 1 seconds"},{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+105%. Mizuki's first Talent targets <@ba.vup>2 additional enemies and inflicts <$ba.stun>Stun for <@ba.vup>1 seconds; When attacks hit less than 3 enemies, Mizuki loses <@ba.vup>15% Max HP","name":"Moon in the Water","desc":"Attack Range expands, ATK +105%. Mizuki's first Talent targets 2 additional enemies and inflicts Stun for 1 seconds; When attacks hit less than 3 enemies, Mizuki loses 15% Max HP"}],"traitBase":{"descRaw":"Deals Damage to <@ba.kw>all targets within range\n50% chance to dodge Physical and Arts attacks and is less likely to be <@ba.kw>targeted by enemies","desc":"Deals Damage to all targets within range\n50% chance to dodge Physical and Arts attacks and is less likely to be targeted by enemies"},"talentsBase":[{"descRaw":"Attacks deal an additional 50% of ATK as Arts damage to the target with the lowest HP","name":"Traumatic Hysteria","desc":"Attacks deal an additional 50% of ATK as Arts damage to the target with the lowest HP"},{"descRaw":"When there are enemies with less than 50% HP within Attack Range, ATK +10%","name":"Countertransference","desc":"When there are enemies with less than 50% HP within Attack Range, ATK +10%"}],"modules":[{"name":"Entreaty of the Herald","traitOverride":{"descRaw":"Deals Damage to <@ba.kw>all targets within range\n50% chance to dodge Physical and Arts attacks and is less likely to be <@ba.kw>targeted by enemies","moduleDescRaw":"Slows the Movement Speed of enemies within this unit's attack range by <@ba.kw>20%","desc":"Deals Damage to all targets within range\n50% chance to dodge Physical and Arts attacks and is less likely to be targeted by enemies","moduleDesc":"Slows the Movement Speed of enemies within this unit's attack range by 20%"}},{"name":"Caerulorum Semina","traitOverride":{"descRaw":"Deals Damage to <@ba.kw>all targets within range\n65% chance to dodge Physical and Arts attacks and is less likely to be <@ba.kw>targeted by enemies","desc":"Deals Damage to all targets within range\n65% chance to dodge Physical and Arts attacks and is less likely to be targeted by enemies"}},{"name":"Mizuki's Specialized Badge","traitOverride":{"descRaw":"Deals Damage to <@ba.kw>all targets within range\n50% chance to dodge Physical and Arts attacks and is less likely to be <@ba.kw>targeted by enemies","moduleDescRaw":"In <@ba.kw>Integrated Strategies, ASPD +50 and recovers 4% HP per second","desc":"Deals Damage to all targets within range\n50% chance to dodge Physical and Arts attacks and is less likely to be targeted by enemies","moduleDesc":"In Integrated Strategies, ASPD +50 and recovers 4% HP per second"}}],"_h":"01sn7grshilg1dgscr2nai2nontwon0oueb7j81dgscrtpb6tq7ghi2nai2nontwon0o7grshilg670gemqp7ggphigx"},"chess_char_4_10_a":{"name":"Aroma","subProfessionName":"Blast Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage in a long line","desc":"Deals AOE Arts damage in a long line"},"skill":{"descRaw":"ATK <@ba.vup>+65%, and deals <@ba.vup>65% ATK as Arts damage to Levitated enemies within range when they fall back to the ground.","name":"Caution! Wet Floor!","desc":"ATK +65%, and deals 65% ATK as Arts damage to Levitated enemies within range when they fall back to the ground."},"talents":[{"descRaw":"The first attack against each enemy has ATK increased to 110% and <$ba.levitate>Levitates the target for 2.5s","name":"Let's Get Saponaceous!","desc":"The first attack against each enemy has ATK increased to 110% and Levitates the target for 2.5s"}],"module":{"name":"Lemon-flavored Childhood"},"skills":[{"descRaw":"Next attack deals <@ba.vup>150% ATK as Arts damage, plus an additional <@ba.vup>55% ATK as Arts damage to aerial enemies.\n<@ba.rem>Can store up to 2 charges.","name":"Power Cleaning","desc":"Next attack deals 150% ATK as Arts damage, plus an additional 55% ATK as Arts damage to aerial enemies.\nCan store up to 2 charges."},{"descRaw":"ATK <@ba.vup>+65%, and deals <@ba.vup>65% ATK as Arts damage to Levitated enemies within range when they fall back to the ground.","name":"Caution! Wet Floor!","desc":"ATK +65%, and deals 65% ATK as Arts damage to Levitated enemies within range when they fall back to the ground."}],"_h":"00ebq48u10gcxc6y8hkgwve459l610gcxc"},"chess_char_4_10_b":{"name":"Aroma","subProfessionName":"Blast Caster","trait":{"descRaw":"Attacks deal <@ba.kw>extremely long-ranged AoE Arts damage; damage dealt increases with distance, up to <@ba.kw>110%","desc":"Attacks deal extremely long-ranged AoE Arts damage; damage dealt increases with distance, up to 110%"},"skill":{"descRaw":"ATK <@ba.vup>+80%, and deals <@ba.vup>80% ATK as Arts damage to Levitated enemies within range when they fall back to the ground.","name":"Caution! Wet Floor!","desc":"ATK +80%, and deals 80% ATK as Arts damage to Levitated enemies within range when they fall back to the ground."},"talents":[{"descRaw":"The first attack against each enemy has ATK increased to 110% and <$ba.levitate>Levitates the target for 2.5s","name":"Let's Get Saponaceous!","desc":"The first attack against each enemy has ATK increased to 110% and Levitates the target for 2.5s"}],"module":{"name":"Lemon-flavored Childhood"},"skills":[{"descRaw":"Next attack deals <@ba.vup>180% ATK as Arts damage, plus an additional <@ba.vup>70% ATK as Arts damage to aerial enemies.\n<@ba.rem>Can store up to 2 charges.","name":"Power Cleaning","desc":"Next attack deals 180% ATK as Arts damage, plus an additional 70% ATK as Arts damage to aerial enemies.\nCan store up to 2 charges."},{"descRaw":"ATK <@ba.vup>+80%, and deals <@ba.vup>80% ATK as Arts damage to Levitated enemies within range when they fall back to the ground.","name":"Caution! Wet Floor!","desc":"ATK +80%, and deals 80% ATK as Arts damage to Levitated enemies within range when they fall back to the ground."}],"traitBase":{"descRaw":"Deals <@ba.kw>AOE Arts damage in a long line","desc":"Deals AOE Arts damage in a long line"},"talentsBase":[{"descRaw":"The first attack against each enemy has ATK increased to 110% and <$ba.levitate>Levitates the target for 2.5s","name":"Let's Get Saponaceous!","desc":"The first attack against each enemy has ATK increased to 110% and Levitates the target for 2.5s"}],"modules":[{"name":"Lemon-flavored Childhood","traitOverride":{"descRaw":"Attacks deal <@ba.kw>extremely long-ranged AoE Arts damage; damage dealt increases with distance, up to <@ba.kw>110%","desc":"Attacks deal extremely long-ranged AoE Arts damage; damage dealt increases with distance, up to 110%"}}],"_h":"00ebdovetkgcqq6y8hkgwv9g59vqtkgcqqq48u6y8hkgwvdove"},"chess_char_4_11_a":{"name":"Catherine","subProfessionName":"Artificer","trait":{"descRaw":"Blocks 2 enemies; Can use in battles","desc":"Blocks 2 enemies; Can use in battles"},"skill":{"descRaw":"Stops attacking, Max HP <@ba.vup>+40%, DEF <@ba.vup>+10%; Device effect changes to granting a <$ba.barrier>Barrier to the target Operator equivalent to <@ba.vup>6% of Catherine's Max HP every second (cannot exceed her Talent's limit)","name":"Tempered by War","desc":"Stops attacking, Max HP +40%, DEF +10%; Device effect changes to granting a Barrier to the target Operator equivalent to 6% of Catherine's Max HP every second (cannot exceed her Talent's limit)"},"talents":[{"descRaw":"Carries 3 Support Devices (max 2 deployed at once) that grant an Operator a <$ba.barrier>Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, <$ba.barrier>Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack","name":"Directional Support Signal","desc":"Carries 3 Support Devices (max 2 deployed at once) that grant an Operator a Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack"}],"module":{"name":"Leisure Hours"},"skills":[{"descRaw":"ATK <@ba.vup>+8%, DEF <@ba.vup>+8% for self and other operators who have a <$ba.barrier>Barrier granted by her Device(s)","name":"Wrought by Age","desc":"ATK +8%, DEF +8% for self and other operators who have a Barrier granted by her Device(s)"},{"descRaw":"Stops attacking, Max HP <@ba.vup>+40%, DEF <@ba.vup>+10%; Device effect changes to granting a <$ba.barrier>Barrier to the target Operator equivalent to <@ba.vup>6% of Catherine's Max HP every second (cannot exceed her Talent's limit)","name":"Tempered by War","desc":"Stops attacking, Max HP +40%, DEF +10%; Device effect changes to granting a Barrier to the target Operator equivalent to 6% of Catherine's Max HP every second (cannot exceed her Talent's limit)"}],"_h":"j4n4lqlqavbwz7lzcnlbwi081erzavbwz7"},"chess_char_4_11_b":{"name":"Catherine","subProfessionName":"Artificer","trait":{"descRaw":"Blocks 2 enemies; Can use in battles","moduleDescRaw":"Increases the max number of Support Devices that can be held by <@ba.kw>+1 and <@ba.kw>reduces their Deployment Cost","desc":"Blocks 2 enemies; Can use in battles","moduleDesc":"Increases the max number of Support Devices that can be held by +1 and reduces their Deployment Cost"},"skill":{"descRaw":"Stops attacking, Max HP <@ba.vup>+55%, DEF <@ba.vup>+15%; Device effect changes to granting a <$ba.barrier>Barrier to the target Operator equivalent to <@ba.vup>6% of Catherine's Max HP every second (cannot exceed her Talent's limit)","name":"Tempered by War","desc":"Stops attacking, Max HP +55%, DEF +15%; Device effect changes to granting a Barrier to the target Operator equivalent to 6% of Catherine's Max HP every second (cannot exceed her Talent's limit)"},"talents":[{"descRaw":"Carries 3 Support Devices (max 2 deployed at once) that grant an Operator a <$ba.barrier>Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, <$ba.barrier>Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack","name":"Directional Support Signal","desc":"Carries 3 Support Devices (max 2 deployed at once) that grant an Operator a Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack"}],"module":{"name":"Leisure Hours"},"skills":[{"descRaw":"ATK <@ba.vup>+11%, DEF <@ba.vup>+11% for self and other operators who have a <$ba.barrier>Barrier granted by her Device(s)","name":"Wrought by Age","desc":"ATK +11%, DEF +11% for self and other operators who have a Barrier granted by her Device(s)"},{"descRaw":"Stops attacking, Max HP <@ba.vup>+55%, DEF <@ba.vup>+15%; Device effect changes to granting a <$ba.barrier>Barrier to the target Operator equivalent to <@ba.vup>6% of Catherine's Max HP every second (cannot exceed her Talent's limit)","name":"Tempered by War","desc":"Stops attacking, Max HP +55%, DEF +15%; Device effect changes to granting a Barrier to the target Operator equivalent to 6% of Catherine's Max HP every second (cannot exceed her Talent's limit)"}],"traitBase":{"descRaw":"Blocks 2 enemies; Can use in battles","desc":"Blocks 2 enemies; Can use in battles"},"talentsBase":[{"descRaw":"Carries 3 Support Devices (max 2 deployed at once) that grant an Operator a <$ba.barrier>Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, <$ba.barrier>Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack","name":"Directional Support Signal","desc":"Carries 3 Support Devices (max 2 deployed at once) that grant an Operator a Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack"}],"modules":[{"name":"Leisure Hours","traitOverride":{"descRaw":"Blocks 2 enemies; Can use in battles","moduleDescRaw":"Increases the max number of Support Devices that can be held by <@ba.kw>+1 and <@ba.kw>reduces their Deployment Cost","desc":"Blocks 2 enemies; Can use in battles","moduleDesc":"Increases the max number of Support Devices that can be held by +1 and reduces their Deployment Cost"}}],"_h":"j4n4lqpelqm4fkbwh6lzcnlbwi7m1e3ffkbwh6lqlqlzcnlbwilqpelqm4"},"chess_char_4_12_a":{"name":"Gladiia","subProfessionName":"Hookmaster","trait":{"descRaw":"Can <@ba.kw>Shift enemies by using skills\nCan be deployed on Ranged Tiles","desc":"Can Shift enemies by using skills\nCan be deployed on Ranged Tiles"},"skill":{"descRaw":"<$ba.root>Binds a faraway target and generates a tornado centered on it, inflicting <@ba.vup>-50% Movement Speed to nearby enemies. Enemies caught in the tornado receive <@ba.vup>85% ATK as <@ba.vup>Arts damage and are dragged towards the center <@ba.vup>slightly once every <@ba.vup>1.5 seconds. The target and nearby enemies are dragged towards this unit <@ba.vup>slightly after the skill duration","name":"Waterless Dance of the Shattered Maelstrom","desc":"Binds a faraway target and generates a tornado centered on it, inflicting -50% Movement Speed to nearby enemies. Enemies caught in the tornado receive 85% ATK as Arts damage and are dragged towards the center slightly once every 1.5 seconds. The target and nearby enemies are dragged towards this unit slightly after the skill duration"},"talents":[{"descRaw":"When deployed, all [Abyssal Hunter] Operators recover 2.5% Max HP every second and receive 25% less Physical and Arts damage from [Sea Monster] enemies","name":"Waves of Ægir","desc":"When deployed, all [Abyssal Hunter] Operators recover 2.5% Max HP every second and receive 25% less Physical and Arts damage from [Sea Monster] enemies"},{"descRaw":"When attacking enemies with 3 or less weight, increase ATK to 130%","name":"Survival of the Fittest","desc":"When attacking enemies with 3 or less weight, increase ATK to 130%"}],"module":{"name":"Consul's Handmirror"},"skills":[{"descRaw":"The next attack drags the target towards this unit <@ba.vup>moderately, dealing <@ba.vup>150% ATK as Physical damage\n<@ba.rem>Can store 2 charge(s)","name":"Waterless Parting of the Great Ocean","desc":"The next attack drags the target towards this unit moderately, dealing 150% ATK as Physical damage\nCan store 2 charge(s)"},{"descRaw":"Attack Interval <@ba.vdown>increases, Attack Range expands; Each attack targets 2 enemies, prioritizes blocked enemies, deals <@ba.vup>135% ATK as Physical damage and drags them towards this unit <@ba.vup>moderately","name":"Waterless Grasp of the Raging Seas","desc":"Attack Interval increases, Attack Range expands; Each attack targets 2 enemies, prioritizes blocked enemies, deals 135% ATK as Physical damage and drags them towards this unit moderately"},{"descRaw":"<$ba.root>Binds a faraway target and generates a tornado centered on it, inflicting <@ba.vup>-50% Movement Speed to nearby enemies. Enemies caught in the tornado receive <@ba.vup>85% ATK as <@ba.vup>Arts damage and are dragged towards the center <@ba.vup>slightly once every <@ba.vup>1.5 seconds. The target and nearby enemies are dragged towards this unit <@ba.vup>slightly after the skill duration","name":"Waterless Dance of the Shattered Maelstrom","desc":"Binds a faraway target and generates a tornado centered on it, inflicting -50% Movement Speed to nearby enemies. Enemies caught in the tornado receive 85% ATK as Arts damage and are dragged towards the center slightly once every 1.5 seconds. The target and nearby enemies are dragged towards this unit slightly after the skill duration"}],"_h":"bqvyd37xdf1km308n5081qls1q0uzuy6kiey8184df1km3"},"chess_char_4_12_b":{"name":"Gladiia","subProfessionName":"Hookmaster","trait":{"descRaw":"Can <@ba.kw>Shift enemies by using skills\nCan be deployed on Ranged Tiles","moduleDescRaw":"While being pulled, enemies take Arts damage proportional to the distance traveled","desc":"Can Shift enemies by using skills\nCan be deployed on Ranged Tiles","moduleDesc":"While being pulled, enemies take Arts damage proportional to the distance traveled"},"skill":{"descRaw":"<$ba.root>Binds a faraway target and generates a tornado centered on it, inflicting <@ba.vup>-50% Movement Speed to nearby enemies. Enemies caught in the tornado receive <@ba.vup>100% ATK as <@ba.vup>Arts damage and are dragged towards the center <@ba.vup>moderately once every <@ba.vup>1.5 seconds. The target and nearby enemies are dragged towards this unit <@ba.vup>moderately after the skill duration","name":"Waterless Dance of the Shattered Maelstrom","desc":"Binds a faraway target and generates a tornado centered on it, inflicting -50% Movement Speed to nearby enemies. Enemies caught in the tornado receive 100% ATK as Arts damage and are dragged towards the center moderately once every 1.5 seconds. The target and nearby enemies are dragged towards this unit moderately after the skill duration"},"talents":[{"descRaw":"When deployed, all [Abyssal Hunter] Operators recover 2.5% Max HP every second and receive 25% less Physical and Arts damage from [Sea Monster] enemies","name":"Waves of Ægir","desc":"When deployed, all [Abyssal Hunter] Operators recover 2.5% Max HP every second and receive 25% less Physical and Arts damage from [Sea Monster] enemies"},{"descRaw":"When attacking enemies with 3 or less weight, increase ATK to 130%","name":"Survival of the Fittest","desc":"When attacking enemies with 3 or less weight, increase ATK to 130%"}],"module":{"name":"Consul's Handmirror"},"skills":[{"descRaw":"The next attack drags the target towards this unit <@ba.vup>moderately, dealing <@ba.vup>180% ATK as Physical damage\n<@ba.rem>Can store 2 charge(s)","name":"Waterless Parting of the Great Ocean","desc":"The next attack drags the target towards this unit moderately, dealing 180% ATK as Physical damage\nCan store 2 charge(s)"},{"descRaw":"Attack Interval <@ba.vdown>increases, Attack Range expands; Each attack targets 2 enemies, prioritizes blocked enemies, deals <@ba.vup>150% ATK as Physical damage and drags them towards this unit <@ba.vup>moderately","name":"Waterless Grasp of the Raging Seas","desc":"Attack Interval increases, Attack Range expands; Each attack targets 2 enemies, prioritizes blocked enemies, deals 150% ATK as Physical damage and drags them towards this unit moderately"},{"descRaw":"<$ba.root>Binds a faraway target and generates a tornado centered on it, inflicting <@ba.vup>-50% Movement Speed to nearby enemies. Enemies caught in the tornado receive <@ba.vup>100% ATK as <@ba.vup>Arts damage and are dragged towards the center <@ba.vup>moderately once every <@ba.vup>1.5 seconds. The target and nearby enemies are dragged towards this unit <@ba.vup>moderately after the skill duration","name":"Waterless Dance of the Shattered Maelstrom","desc":"Binds a faraway target and generates a tornado centered on it, inflicting -50% Movement Speed to nearby enemies. Enemies caught in the tornado receive 100% ATK as Arts damage and are dragged towards the center moderately once every 1.5 seconds. The target and nearby enemies are dragged towards this unit moderately after the skill duration"}],"traitBase":{"descRaw":"Can <@ba.kw>Shift enemies by using skills\nCan be deployed on Ranged Tiles","desc":"Can Shift enemies by using skills\nCan be deployed on Ranged Tiles"},"talentsBase":[{"descRaw":"When deployed, all [Abyssal Hunter] Operators recover 2.5% Max HP every second and receive 25% less Physical and Arts damage from [Sea Monster] enemies","name":"Waves of Ægir","desc":"When deployed, all [Abyssal Hunter] Operators recover 2.5% Max HP every second and receive 25% less Physical and Arts damage from [Sea Monster] enemies"},{"descRaw":"When attacking enemies with 3 or less weight, increase ATK to 130%","name":"Survival of the Fittest","desc":"When attacking enemies with 3 or less weight, increase ATK to 130%"}],"modules":[{"name":"Consul's Handmirror","traitOverride":{"descRaw":"Can <@ba.kw>Shift enemies by using skills\nCan be deployed on Ranged Tiles","moduleDescRaw":"While being pulled, enemies take Arts damage proportional to the distance traveled","desc":"Can Shift enemies by using skills\nCan be deployed on Ranged Tiles","moduleDesc":"While being pulled, enemies take Arts damage proportional to the distance traveled"}},{"name":"Pale Gold Hair Pendant","traitOverride":{"descRaw":"Can <@ba.kw>Shift enemies by using skills; increases the strength of the shift by 1 degree when dragging enemies far away towards herself\nCan be deployed on Ranged tiles","desc":"Can Shift enemies by using skills; increases the strength of the shift by 1 degree when dragging enemies far away towards herself\nCan be deployed on Ranged tiles"}}],"_h":"bqvyd3gy7xgy0t1k9d08n5081qls1q0ugxy6e3dp81ut0t1k9dd37x08n5081qls1q0ud3gy7xgyfjxfv1"},"chess_char_4_13_a":{"name":"Gnosis","subProfessionName":"Hexer","trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"skill":{"descRaw":"Deals <@ba.vup>130% ATK as Arts damage to all enemies within Attack Range and inflict <$ba.cold>Cold for <@ba.vup>2.5 seconds; <$ba.charged>Charged effect: Inflicts an additional layer of <$ba.cold>Cold","name":"Zero-Point Burst","desc":"Deals 130% ATK as Arts damage to all enemies within Attack Range and inflict Cold for 2.5 seconds; Charged effect: Inflicts an additional layer of Cold"},"talents":[{"descRaw":"Attacks inflict <$ba.cold>Cold for 1 second; Apply 25% <$ba.fragile>Fragile effect to <$ba.cold>Cold enemies within range. <$ba.frozen>Frozen enemies within range receive double the <$ba.fragile>Fragile effect","name":"Rigid Ice","desc":"Attacks inflict Cold for 1 second; Apply 25% Fragile effect to Cold enemies within range. Frozen enemies within range receive double the Fragile effect"},{"descRaw":"Grants <$ba.buffres>Resist to all [Kjerag] Operators after Gnosis has been deployed for 10 seconds","name":"Two Paths, One Goal","desc":"Grants Resist to all [Kjerag] Operators after Gnosis has been deployed for 10 seconds"}],"module":{"name":"'Vow'"},"skills":[{"descRaw":"The next attack deals <@ba.vup>135% ATK as Arts damage and attacks <@ba.vup>twice consecutively","name":"High-Speed Cogitation","desc":"The next attack deals 135% ATK as Arts damage and attacks twice consecutively"},{"descRaw":"Deals <@ba.vup>130% ATK as Arts damage to all enemies within Attack Range and inflict <$ba.cold>Cold for <@ba.vup>2.5 seconds; <$ba.charged>Charged effect: Inflicts an additional layer of <$ba.cold>Cold","name":"Zero-Point Burst","desc":"Deals 130% ATK as Arts damage to all enemies within Attack Range and inflict Cold for 2.5 seconds; Charged effect: Inflicts an additional layer of Cold"},{"descRaw":"ASPD <@ba.vup>+120 and attacks <@ba.vup>2 enemies simultaneously; Extend the effect duration of <$ba.frozen>Frozen enemies within Attack Range until the skill ends, then deal <@ba.vup>300% ATK as Arts damage to all <$ba.frozen>Frozen enemies and remove the <$ba.frozen>Frozen effect when the skill ends; Prioritizes enemies that are not <$ba.frozen>Frozen","name":"Hypothermia","desc":"ASPD +120 and attacks 2 enemies simultaneously; Extend the effect duration of Frozen enemies within Attack Range until the skill ends, then deal 300% ATK as Arts damage to all Frozen enemies and remove the Frozen effect when the skill ends; Prioritizes enemies that are not Frozen"}],"_h":"wvhvce5y67vki3gzljudl3tx4y4fr2uclk67vki3mvoon0"},"chess_char_4_13_b":{"name":"Gnosis","subProfessionName":"Hexer","trait":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Applies 10% <$ba.weaken>Enfeeble to targets for 2 seconds","desc":"Deals Arts damage","moduleDesc":"Applies 10% Enfeeble to targets for 2 seconds"},"skill":{"descRaw":"Deals <@ba.vup>160% ATK as Arts damage to all enemies within Attack Range and inflict <$ba.cold>Cold for <@ba.vup>3 seconds; <$ba.charged>Charged effect: Inflicts an additional layer of <$ba.cold>Cold","name":"Zero-Point Burst","desc":"Deals 160% ATK as Arts damage to all enemies within Attack Range and inflict Cold for 3 seconds; Charged effect: Inflicts an additional layer of Cold"},"talents":[{"descRaw":"Attacks inflict <$ba.cold>Cold for 1 second; Apply 25% <$ba.fragile>Fragile effect to <$ba.cold>Cold enemies within range. <$ba.frozen>Frozen enemies within range receive double the <$ba.fragile>Fragile effect","name":"Rigid Ice","desc":"Attacks inflict Cold for 1 second; Apply 25% Fragile effect to Cold enemies within range. Frozen enemies within range receive double the Fragile effect"},{"descRaw":"Grants <$ba.buffres>Resist to all [Kjerag] Operators after Gnosis has been deployed for 10 seconds","name":"Two Paths, One Goal","desc":"Grants Resist to all [Kjerag] Operators after Gnosis has been deployed for 10 seconds"}],"module":{"name":"'Vow'"},"skills":[{"descRaw":"The next attack deals <@ba.vup>150% ATK as Arts damage and attacks <@ba.vup>twice consecutively","name":"High-Speed Cogitation","desc":"The next attack deals 150% ATK as Arts damage and attacks twice consecutively"},{"descRaw":"Deals <@ba.vup>160% ATK as Arts damage to all enemies within Attack Range and inflict <$ba.cold>Cold for <@ba.vup>3 seconds; <$ba.charged>Charged effect: Inflicts an additional layer of <$ba.cold>Cold","name":"Zero-Point Burst","desc":"Deals 160% ATK as Arts damage to all enemies within Attack Range and inflict Cold for 3 seconds; Charged effect: Inflicts an additional layer of Cold"},{"descRaw":"ASPD <@ba.vup>+122 and attacks <@ba.vup>2 enemies simultaneously; Extend the effect duration of <$ba.frozen>Frozen enemies within Attack Range until the skill ends, then deal <@ba.vup>400% ATK as Arts damage to all <$ba.frozen>Frozen enemies and remove the <$ba.frozen>Frozen effect when the skill ends; Prioritizes enemies that are not <$ba.frozen>Frozen","name":"Hypothermia","desc":"ASPD +122 and attacks 2 enemies simultaneously; Extend the effect duration of Frozen enemies within Attack Range until the skill ends, then deal 400% ATK as Arts damage to all Frozen enemies and remove the Frozen effect when the skill ends; Prioritizes enemies that are not Frozen"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"talentsBase":[{"descRaw":"Attacks inflict <$ba.cold>Cold for 1 second; Apply 25% <$ba.fragile>Fragile effect to <$ba.cold>Cold enemies within range. <$ba.frozen>Frozen enemies within range receive double the <$ba.fragile>Fragile effect","name":"Rigid Ice","desc":"Attacks inflict Cold for 1 second; Apply 25% Fragile effect to Cold enemies within range. Frozen enemies within range receive double the Fragile effect"},{"descRaw":"Grants <$ba.buffres>Resist to all [Kjerag] Operators after Gnosis has been deployed for 10 seconds","name":"Two Paths, One Goal","desc":"Grants Resist to all [Kjerag] Operators after Gnosis has been deployed for 10 seconds"}],"modules":[{"name":"'Vow'","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Applies 10% <$ba.weaken>Enfeeble to targets for 2 seconds","desc":"Deals Arts damage","moduleDesc":"Applies 10% Enfeeble to targets for 2 seconds"}},{"name":"Project One Model","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Increases SP recovery rate by +0.25/s while an elite or leader enemy is within Attack Range","desc":"Deals Arts damage","moduleDesc":"Increases SP recovery rate by +0.25/s while an elite or leader enemy is within Attack Range"}},{"name":"Gnosis's Specialized Badge","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"In <@ba.kw>Integrated Strategies, when Gnosis is on the field, enemies inflicted with <$ba.cold>Cold or <$ba.frozen>Frozen take 50% of Gnosis's ATK as Arts damage every 0.5 seconds","desc":"Deals Arts damage","moduleDesc":"In Integrated Strategies, when Gnosis is on the field, enemies inflicted with Cold or Frozen take 50% of Gnosis's ATK as Arts damage every 0.5 seconds"}}],"_h":"wvhvceih5ynywsvkz4gzljudl3tx4y4f45ucm1wsvkz4l2oo8nce5ygzljudl3tx4y4fceih5ynywrceds5yds1rcefb5yg5"},"chess_char_4_14_a":{"name":"Leonhardt","subProfessionName":"Splash Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"skill":{"descRaw":"Range <@ba.vup>expands, immediately deals <@ba.vup>170% Arts damage to all enemies within range and reduces their RES by <@ba.vup>-8% for <@ba.vup>6 seconds\n<@ba.rem>Can store up to 2 charges","name":"Deconstruct and Detonate","desc":"Range expands, immediately deals 170% Arts damage to all enemies within range and reduces their RES by -8% for 6 seconds\nCan store up to 2 charges"},"talents":[{"descRaw":"This unit gains +4% ATK for every enemy in range (stacks up to 5 times)","name":"Lethal Fragmentation","desc":"This unit gains +4% ATK for every enemy in range (stacks up to 5 times)"}],"module":{"name":"Inheritance and Development"},"skills":[{"descRaw":"ATK <@ba.vup>+45%","name":"ATK Up γ","desc":"ATK +45%"},{"descRaw":"Range <@ba.vup>expands, immediately deals <@ba.vup>170% Arts damage to all enemies within range and reduces their RES by <@ba.vup>-8% for <@ba.vup>6 seconds\n<@ba.rem>Can store up to 2 charges","name":"Deconstruct and Detonate","desc":"Range expands, immediately deals 170% Arts damage to all enemies within range and reduces their RES by -8% for 6 seconds\nCan store up to 2 charges"}],"_h":"tgkin1hb0momgkus4gusfrigyjmh0momgk"},"chess_char_4_14_b":{"name":"Leonhardt","subProfessionName":"Splash Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Deals AOE Arts damage","moduleDesc":"Attack Range expands"},"skill":{"descRaw":"Range <@ba.vup>expands, immediately deals <@ba.vup>200% Arts damage to all enemies within range and reduces their RES by <@ba.vup>-12% for <@ba.vup>6 seconds\n<@ba.rem>Can store up to 2 charges","name":"Deconstruct and Detonate","desc":"Range expands, immediately deals 200% Arts damage to all enemies within range and reduces their RES by -12% for 6 seconds\nCan store up to 2 charges"},"talents":[{"descRaw":"This unit gains +4% ATK for every enemy in range (stacks up to 5 times)","name":"Lethal Fragmentation","desc":"This unit gains +4% ATK for every enemy in range (stacks up to 5 times)"}],"module":{"name":"Inheritance and Development"},"skills":[{"descRaw":"ATK <@ba.vup>+60%","name":"ATK Up γ","desc":"ATK +60%"},{"descRaw":"Range <@ba.vup>expands, immediately deals <@ba.vup>200% Arts damage to all enemies within range and reduces their RES by <@ba.vup>-12% for <@ba.vup>6 seconds\n<@ba.rem>Can store up to 2 charges","name":"Deconstruct and Detonate","desc":"Range expands, immediately deals 200% Arts damage to all enemies within range and reduces their RES by -12% for 6 seconds\nCan store up to 2 charges"}],"traitBase":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"talentsBase":[{"descRaw":"This unit gains +4% ATK for every enemy in range (stacks up to 5 times)","name":"Lethal Fragmentation","desc":"This unit gains +4% ATK for every enemy in range (stacks up to 5 times)"}],"modules":[{"name":"Inheritance and Development","traitOverride":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Deals AOE Arts damage","moduleDesc":"Attack Range expands"}}],"_h":"tgkin1d0hb5k4zomztus4gusfr75yjae4zomztn1hbus4gusfrn1d0hb5k"},"chess_char_4_15_a":{"name":"Record Keeper","subProfessionName":"Medic","trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"skill":{"descRaw":"ATK <@ba.vup>+45%; after healing an Operator, grants them a buff for 10s that recovers <@ba.vup>80 HP whenever they take damage","name":"Sage Advice","desc":"ATK +45%; after healing an Operator, grants them a buff for 10s that recovers 80 HP whenever they take damage"},"talents":[{"descRaw":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s","name":"Accumulated Knowledge","desc":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s"}],"module":{"name":"Unfinished Record"},"skills":[{"descRaw":"The next heal is increased to <@ba.vup>115% of ATK and heals an additional target\n<@ba.rem>Can store 2 charge(s)","name":"Learning By Analogy","desc":"The next heal is increased to 115% of ATK and heals an additional target\nCan store 2 charge(s)"},{"descRaw":"ATK <@ba.vup>+45%; after healing an Operator, grants them a buff for 10s that recovers <@ba.vup>80 HP whenever they take damage","name":"Sage Advice","desc":"ATK +45%; after healing an Operator, grants them a buff for 10s that recovers 80 HP whenever they take damage"}],"_h":"pq7q7676ujeilb6hxb6h25hb0duoujeilb"},"chess_char_4_15_b":{"name":"Record Keeper","subProfessionName":"Medic","trait":{"descRaw":"Restores the HP of allies","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Restores the HP of allies","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"},"skill":{"descRaw":"ATK <@ba.vup>+60%; after healing an Operator, grants them a buff for 10s that recovers <@ba.vup>120 HP whenever they take damage","name":"Sage Advice","desc":"ATK +60%; after healing an Operator, grants them a buff for 10s that recovers 120 HP whenever they take damage"},"talents":[{"descRaw":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s","name":"Accumulated Knowledge","desc":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s"}],"module":{"name":"Unfinished Record"},"skills":[{"descRaw":"The next heal is increased to <@ba.vup>130% of ATK and heals an additional target\n<@ba.rem>Can store 3 charge(s)","name":"Learning By Analogy","desc":"The next heal is increased to 130% of ATK and heals an additional target\nCan store 3 charge(s)"},{"descRaw":"ATK <@ba.vup>+60%; after healing an Operator, grants them a buff for 10s that recovers <@ba.vup>120 HP whenever they take damage","name":"Sage Advice","desc":"ATK +60%; after healing an Operator, grants them a buff for 10s that recovers 120 HP whenever they take damage"}],"traitBase":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"talentsBase":[{"descRaw":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s","name":"Accumulated Knowledge","desc":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s"}],"modules":[{"name":"Unfinished Record","traitOverride":{"descRaw":"Restores the HP of allies","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Restores the HP of allies","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"}}],"_h":"pq7q76by76dw97eiq96hxb6h25lz0dg897eiq976766hxb6h2576by76dw"},"chess_char_4_16_a":{"name":"Texas the Omertosa","subProfessionName":"Executor","trait":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","desc":"Significantly reduced Redeployment Time"},"skill":{"descRaw":"After deployment, immediately deals <@ba.vup>115% ATK as Arts damage twice to all surrounding enemies and <$ba.stun>Stuns them for <@ba.vup>1.5 seconds, then releases a Sword Rain at up to <@ba.vup>2 different targets within range every second that deals <@ba.vup>85% ATK as Arts damage and <$ba.stun>Stuns for <@ba.vup>0.2 seconds","name":"Torrential Sword Rain","desc":"After deployment, immediately deals 115% ATK as Arts damage twice to all surrounding enemies and Stuns them for 1.5 seconds, then releases a Sword Rain at up to 2 different targets within range every second that deals 85% ATK as Arts damage and Stuns for 0.2 seconds"},"talents":[{"descRaw":"Gains +20% ATK during the duration of the passive skill; When defeating an enemy for the first time, fully restores HP and reactivates the effects of the passive skill","name":"Texas Tradition","desc":"Gains +20% ATK during the duration of the passive skill; When defeating an enemy for the first time, fully restores HP and reactivates the effects of the passive skill"},{"descRaw":"Before defeating an enemy for the first time after each deployment, gains +8 ASPD and reduces all damage taken by 25%","name":"Texas Swordsmanship","desc":"Before defeating an enemy for the first time after each deployment, gains +8 ASPD and reduces all damage taken by 25%"}],"module":{"name":"Blueberry & Dark Chocolate"},"skills":[{"descRaw":"After deployment, gains ATK <@ba.vup>+40%; Attacks Silence the target for <@ba.vup>5 seconds and cause them to take <@ba.vup>260 Arts damage per second during that duration","name":"Silent Drizzle","desc":"After deployment, gains ATK +40%; Attacks Silence the target for 5 seconds and cause them to take 260 Arts damage per second during that duration"},{"descRaw":"After deployment, immediately deals <@ba.vup>150% ATK as Arts damage to all surrounding enemies and inflicts <@ba.vup>-15% RES for <@ba.vup>8 seconds; ATK <@ba.vup>+30%, attacks hit 2 times and deal Arts damage","name":"Unrelenting Downpour","desc":"After deployment, immediately deals 150% ATK as Arts damage to all surrounding enemies and inflicts -15% RES for 8 seconds; ATK +30%, attacks hit 2 times and deal Arts damage"},{"descRaw":"After deployment, immediately deals <@ba.vup>115% ATK as Arts damage twice to all surrounding enemies and <$ba.stun>Stuns them for <@ba.vup>1.5 seconds, then releases a Sword Rain at up to <@ba.vup>2 different targets within range every second that deals <@ba.vup>85% ATK as Arts damage and <$ba.stun>Stuns for <@ba.vup>0.2 seconds","name":"Torrential Sword Rain","desc":"After deployment, immediately deals 115% ATK as Arts damage twice to all surrounding enemies and Stuns them for 1.5 seconds, then releases a Sword Rain at up to 2 different targets within range every second that deals 85% ATK as Arts damage and Stuns for 0.2 seconds"}],"_h":"w28vhagmvdn5oce7g7e7rb2mrbwp15ujkwkbitq7vdn5oc"},"chess_char_4_16_b":{"name":"Texas the Omertosa","subProfessionName":"Executor","trait":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","moduleDescRaw":"When there are no allied units in the four adjacent tiles, ATK <@ba.kw>+10%","desc":"Significantly reduced Redeployment Time","moduleDesc":"When there are no allied units in the four adjacent tiles, ATK +10%"},"skill":{"descRaw":"After deployment, immediately deals <@ba.vup>130% ATK as Arts damage twice to all surrounding enemies and <$ba.stun>Stuns them for <@ba.vup>1.5 seconds, then releases a Sword Rain at up to <@ba.vup>3 different targets within range every second that deals <@ba.vup>100% ATK as Arts damage and <$ba.stun>Stuns for <@ba.vup>0.2 seconds","name":"Torrential Sword Rain","desc":"After deployment, immediately deals 130% ATK as Arts damage twice to all surrounding enemies and Stuns them for 1.5 seconds, then releases a Sword Rain at up to 3 different targets within range every second that deals 100% ATK as Arts damage and Stuns for 0.2 seconds"},"talents":[{"descRaw":"Gains +20% ATK during the duration of the passive skill; When defeating an enemy for the first time, fully restores HP and reactivates the effects of the passive skill","name":"Texas Tradition","desc":"Gains +20% ATK during the duration of the passive skill; When defeating an enemy for the first time, fully restores HP and reactivates the effects of the passive skill"},{"descRaw":"Before defeating an enemy for the first time after each deployment, gains +8 ASPD and reduces all damage taken by 25%","name":"Texas Swordsmanship","desc":"Before defeating an enemy for the first time after each deployment, gains +8 ASPD and reduces all damage taken by 25%"}],"module":{"name":"Blueberry & Dark Chocolate"},"skills":[{"descRaw":"After deployment, gains ATK <@ba.vup>+55%; Attacks Silence the target for <@ba.vup>8 seconds and cause them to take <@ba.vup>320 Arts damage per second during that duration","name":"Silent Drizzle","desc":"After deployment, gains ATK +55%; Attacks Silence the target for 8 seconds and cause them to take 320 Arts damage per second during that duration"},{"descRaw":"After deployment, immediately deals <@ba.vup>180% ATK as Arts damage to all surrounding enemies and inflicts <@ba.vup>-20% RES for <@ba.vup>10 seconds; ATK <@ba.vup>+40%, attacks hit 2 times and deal Arts damage","name":"Unrelenting Downpour","desc":"After deployment, immediately deals 180% ATK as Arts damage to all surrounding enemies and inflicts -20% RES for 10 seconds; ATK +40%, attacks hit 2 times and deal Arts damage"},{"descRaw":"After deployment, immediately deals <@ba.vup>130% ATK as Arts damage twice to all surrounding enemies and <$ba.stun>Stuns them for <@ba.vup>1.5 seconds, then releases a Sword Rain at up to <@ba.vup>3 different targets within range every second that deals <@ba.vup>100% ATK as Arts damage and <$ba.stun>Stuns for <@ba.vup>0.2 seconds","name":"Torrential Sword Rain","desc":"After deployment, immediately deals 130% ATK as Arts damage twice to all surrounding enemies and Stuns them for 1.5 seconds, then releases a Sword Rain at up to 3 different targets within range every second that deals 100% ATK as Arts damage and Stuns for 0.2 seconds"}],"traitBase":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","desc":"Significantly reduced Redeployment Time"},"talentsBase":[{"descRaw":"Gains +20% ATK during the duration of the passive skill; When defeating an enemy for the first time, fully restores HP and reactivates the effects of the passive skill","name":"Texas Tradition","desc":"Gains +20% ATK during the duration of the passive skill; When defeating an enemy for the first time, fully restores HP and reactivates the effects of the passive skill"},{"descRaw":"Before defeating an enemy for the first time after each deployment, gains +8 ASPD and reduces all damage taken by 25%","name":"Texas Swordsmanship","desc":"Before defeating an enemy for the first time after each deployment, gains +8 ASPD and reduces all damage taken by 25%"}],"modules":[{"name":"Blueberry & Dark Chocolate","traitOverride":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","moduleDescRaw":"When there are no allied units in the four adjacent tiles, ATK <@ba.kw>+10%","desc":"Significantly reduced Redeployment Time","moduleDesc":"When there are no allied units in the four adjacent tiles, ATK +10%"}},{"name":"\"New Car, New Life\"","traitOverride":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","moduleDescRaw":"Refunds <@ba.kw>a large portion of the current DP Cost when retreated","desc":"Significantly reduced Redeployment Time","moduleDesc":"Refunds a large portion of the current DP Cost when retreated"}}],"_h":"w28vhazsgms8rbn5xie7g7e7rb2mrbwputujbo2eitl6rbn5xihagme7g7e7rb2mrbwphazsgms8sqha2ogmd2"},"chess_char_4_17_a":{"name":"Hoshiguma","subProfessionName":"Protector","trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skill":{"descRaw":"DEF <@ba.vup>+13%\nDeals <@ba.vup>65% of ATK as Physical damage to targets that attack Hoshiguma","name":"Thorns","desc":"DEF +13%\nDeals 65% of ATK as Physical damage to targets that attack Hoshiguma"},"talents":[{"descRaw":"25% chance to resist damage","name":"Tactical Armor","desc":"25% chance to resist damage"},{"descRaw":"When deployed, allied Defender Operators gain +6% DEF","name":"Special Operation Strategy","desc":"When deployed, allied Defender Operators gain +6% DEF"}],"module":{"name":"Gifts From Friends"},"skills":[{"descRaw":"DEF <@ba.vup>+50%; ATK <@ba.vup>+20%","name":"Warpath","desc":"DEF +50%; ATK +20%"},{"descRaw":"DEF <@ba.vup>+13%\nDeals <@ba.vup>65% of ATK as Physical damage to targets that attack Hoshiguma","name":"Thorns","desc":"DEF +13%\nDeals 65% of ATK as Physical damage to targets that attack Hoshiguma"},{"descRaw":"ATK <@ba.vup>+80%; DEF <@ba.vup>+50%; Cuts all targets in the frontal tile with the shield","name":"Saw of Strength","desc":"ATK +80%; DEF +50%; Cuts all targets in the frontal tile with the shield"}],"_h":"m411t8t8nvz723m433m4lvmqlvokwpl45znvz723g8essi"},"chess_char_4_17_b":{"name":"Hoshiguma","subProfessionName":"Protector","trait":{"descRaw":"Blocks 4 enemies","desc":"Blocks 4 enemies"},"skill":{"descRaw":"DEF <@ba.vup>+21%\nDeals <@ba.vup>80% of ATK as Physical damage to targets that attack Hoshiguma","name":"Thorns","desc":"DEF +21%\nDeals 80% of ATK as Physical damage to targets that attack Hoshiguma"},"talents":[{"descRaw":"25% chance to resist damage","name":"Tactical Armor","desc":"25% chance to resist damage"},{"descRaw":"When deployed, allied Defender Operators gain +6% DEF","name":"Special Operation Strategy","desc":"When deployed, allied Defender Operators gain +6% DEF"}],"module":{"name":"Gifts From Friends"},"skills":[{"descRaw":"DEF <@ba.vup>+65%; ATK <@ba.vup>+30%","name":"Warpath","desc":"DEF +65%; ATK +30%"},{"descRaw":"DEF <@ba.vup>+21%\nDeals <@ba.vup>80% of ATK as Physical damage to targets that attack Hoshiguma","name":"Thorns","desc":"DEF +21%\nDeals 80% of ATK as Physical damage to targets that attack Hoshiguma"},{"descRaw":"ATK <@ba.vup>+95%; DEF <@ba.vup>+60%; Cuts all targets in the frontal tile with the shield","name":"Saw of Strength","desc":"ATK +95%; DEF +60%; Cuts all targets in the frontal tile with the shield"}],"traitBase":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"talentsBase":[{"descRaw":"25% chance to resist damage","name":"Tactical Armor","desc":"25% chance to resist damage"},{"descRaw":"When deployed, allied Defender Operators gain +6% DEF","name":"Special Operation Strategy","desc":"When deployed, allied Defender Operators gain +6% DEF"}],"modules":[{"name":"Gifts From Friends","traitOverride":{"descRaw":"Blocks 4 enemies","desc":"Blocks 4 enemies"}},{"name":"Amulet","traitOverride":{"descRaw":"Blocks 3 enemies","moduleDescRaw":"DEF <@ba.kw>+20% when blocking an enemy","desc":"Blocks 3 enemies","moduleDesc":"DEF +20% when blocking an enemy"}}],"_h":"m411bibivvz7arm433m4lvmqlvokcol4d4vvz7arkfesvjt8t8m433m4lvmqlvokbibi2yt8lrt8nt"},"chess_char_4_18_a":{"name":"Mudrock","subProfessionName":"Juggernaut","trait":{"descRaw":"<@ba.kw>Cannot be healed by allies","desc":"Cannot be healed by allies"},"skill":{"descRaw":"The next attack restores <@ba.vup>4% of this unit's Max HP and deals <@ba.vup>190% ATK as Physical damage to all surrounding ground enemies, with a <@ba.vup>30% chance to <$ba.stun>Stun them for <@ba.vup>0.5 seconds","name":"Crag Splitter","desc":"The next attack restores 4% of this unit's Max HP and deals 190% ATK as Physical damage to all surrounding ground enemies, with a 30% chance to Stun them for 0.5 seconds"},"talents":[{"descRaw":"Every 9 seconds, gains 1 <$ba.shield>Shield (Can have up to 3 stacks, with 1 stack granted immediately when deployed). When a Shield is broken, restores 20% of Max HP","name":"Ward of the Fertile Soil","desc":"Every 9 seconds, gains 1 Shield (Can have up to 3 stacks, with 1 stack granted immediately when deployed). When a Shield is broken, restores 20% of Max HP"},{"descRaw":"Takes 30% less damage from Sarkaz enemies","name":"Unshakable Solidarity","desc":"Takes 30% less damage from Sarkaz enemies"}],"module":{"name":"Spreading Roots of Soil and Stone"},"skills":[{"descRaw":"DEF <@ba.vup>+45%","name":"DEF Up γ","desc":"DEF +45%"},{"descRaw":"The next attack restores <@ba.vup>4% of this unit's Max HP and deals <@ba.vup>190% ATK as Physical damage to all surrounding ground enemies, with a <@ba.vup>30% chance to <$ba.stun>Stun them for <@ba.vup>0.5 seconds","name":"Crag Splitter","desc":"The next attack restores 4% of this unit's Max HP and deals 190% ATK as Physical damage to all surrounding ground enemies, with a 30% chance to Stun them for 0.5 seconds"},{"descRaw":"Upon skill activation, Mudrock stops attacking and does not take damage for <@ba.vup>10 seconds, and reduces the Movement Speed of surrounding enemies by <@ba.vup>-60%; After this state ends, Mudrock <$ba.stun>Stuns surrounding ground enemies for <@ba.vup>3 seconds and gains <@ba.vup>reduced Attack Interval, ATK <@ba.vup>+85%, DEF <@ba.vup>+40%, and the ability to attack all blocked enemies","name":"Bloodline of Desecrated Earth","desc":"Upon skill activation, Mudrock stops attacking and does not take damage for 10 seconds, and reduces the Movement Speed of surrounding enemies by -60%; After this state ends, Mudrock Stuns surrounding ground enemies for 3 seconds and gains reduced Attack Interval, ATK +85%, DEF +40%, and the ability to attack all blocked enemies"}],"_h":"vfpr4x1t9d6horf38i0y5cj35c29ktmwi09d6horl8grau"},"chess_char_4_18_b":{"name":"Mudrock","subProfessionName":"Juggernaut","trait":{"descRaw":"<@ba.kw>Cannot be healed by allies","moduleDescRaw":"Takes <@ba.kw>15% less damage from enemies blocked by this unit","desc":"Cannot be healed by allies","moduleDesc":"Takes 15% less damage from enemies blocked by this unit"},"skill":{"descRaw":"The next attack restores <@ba.vup>5% of this unit's Max HP and deals <@ba.vup>210% ATK as Physical damage to all surrounding ground enemies, with a <@ba.vup>30% chance to <$ba.stun>Stun them for <@ba.vup>0.6 seconds","name":"Crag Splitter","desc":"The next attack restores 5% of this unit's Max HP and deals 210% ATK as Physical damage to all surrounding ground enemies, with a 30% chance to Stun them for 0.6 seconds"},"talents":[{"descRaw":"Every 9 seconds, gains 1 <$ba.shield>Shield (Can have up to 3 stacks, with 1 stack granted immediately when deployed). When a Shield is broken, restores 20% of Max HP","name":"Ward of the Fertile Soil","desc":"Every 9 seconds, gains 1 Shield (Can have up to 3 stacks, with 1 stack granted immediately when deployed). When a Shield is broken, restores 20% of Max HP"},{"descRaw":"Takes 30% less damage from Sarkaz enemies","name":"Unshakable Solidarity","desc":"Takes 30% less damage from Sarkaz enemies"}],"module":{"name":"Spreading Roots of Soil and Stone"},"skills":[{"descRaw":"DEF <@ba.vup>+60%","name":"DEF Up γ","desc":"DEF +60%"},{"descRaw":"The next attack restores <@ba.vup>5% of this unit's Max HP and deals <@ba.vup>210% ATK as Physical damage to all surrounding ground enemies, with a <@ba.vup>30% chance to <$ba.stun>Stun them for <@ba.vup>0.6 seconds","name":"Crag Splitter","desc":"The next attack restores 5% of this unit's Max HP and deals 210% ATK as Physical damage to all surrounding ground enemies, with a 30% chance to Stun them for 0.6 seconds"},{"descRaw":"Upon skill activation, Mudrock stops attacking and does not take damage for <@ba.vup>10 seconds, and reduces the Movement Speed of surrounding enemies by <@ba.vup>-60%; After this state ends, Mudrock <$ba.stun>Stuns surrounding ground enemies for <@ba.vup>3.5 seconds and gains <@ba.vup>reduced Attack Interval, ATK <@ba.vup>+100%, DEF <@ba.vup>+50%, and the ability to attack all blocked enemies","name":"Bloodline of Desecrated Earth","desc":"Upon skill activation, Mudrock stops attacking and does not take damage for 10 seconds, and reduces the Movement Speed of surrounding enemies by -60%; After this state ends, Mudrock Stuns surrounding ground enemies for 3.5 seconds and gains reduced Attack Interval, ATK +100%, DEF +50%, and the ability to attack all blocked enemies"}],"traitBase":{"descRaw":"<@ba.kw>Cannot be healed by allies","desc":"Cannot be healed by allies"},"talentsBase":[{"descRaw":"Every 9 seconds, gains 1 <$ba.shield>Shield (Can have up to 3 stacks, with 1 stack granted immediately when deployed). When a Shield is broken, restores 20% of Max HP","name":"Ward of the Fertile Soil","desc":"Every 9 seconds, gains 1 Shield (Can have up to 3 stacks, with 1 stack granted immediately when deployed). When a Shield is broken, restores 20% of Max HP"},{"descRaw":"Takes 30% less damage from Sarkaz enemies","name":"Unshakable Solidarity","desc":"Takes 30% less damage from Sarkaz enemies"}],"modules":[{"name":"Spreading Roots of Soil and Stone","traitOverride":{"descRaw":"<@ba.kw>Cannot be healed by allies","moduleDescRaw":"Takes <@ba.kw>15% less damage from enemies blocked by this unit","desc":"Cannot be healed by allies","moduleDesc":"Takes 15% less damage from enemies blocked by this unit"}},{"name":"Wish of the Fertile Earth","traitOverride":{"descRaw":"<@ba.kw>Cannot be healed by allies","moduleDescRaw":"When there are no allies in the surrounding 8 tiles, ATK and DEF <@ba.kw>+8%","desc":"Cannot be healed by allies","moduleDesc":"When there are no allies in the surrounding 8 tiles, ATK and DEF +8%"}}],"_h":"vfpr4xtj1tdfa86hj8f38i0y5cj35c299kmwu3a86hj8imgr6g4x1tf38i0y5cj35c294xtj1tdflj4xym1t8k"},"chess_char_4_19_a":{"name":"Flametail","subProfessionName":"Pioneer","trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"skill":{"descRaw":"Gradually gains <@ba.vup>8 DP over the skill duration. Attack Interval <@ba.vup>reduces, ATK <@ba.vup>+45%, Block <@ba.vup>+1 and gain <@ba.vup>60% Physical and Arts Dodge","name":"Flameheart","desc":"Gradually gains 8 DP over the skill duration. Attack Interval reduces, ATK +45%, Block +1 and gain 60% Physical and Arts Dodge"},"talents":[{"descRaw":"After dodging an attack, the next attack deals two hits and attacks all blocked enemies","name":"Vanguard Swordsmanship","desc":"After dodging an attack, the next attack deals two hits and attacks all blocked enemies"},{"descRaw":"When deployed, all 'Kazimierz' Operators gain 22% Physical Dodge","name":"Pinus Sylvestris Leader","desc":"When deployed, all 'Kazimierz' Operators gain 22% Physical Dodge"}],"module":{"name":"The Origins of Pinus Sylvestris"},"skills":[{"descRaw":"Immediately gains <@ba.vup>6 DP and dodge the next Physical attack","name":"Quick Intuition","desc":"Immediately gains 6 DP and dodge the next Physical attack"},{"descRaw":"Immediately gains <@ba.vup>11 DP; Deals <@ba.vup>180% ATK as Physical damage <@ba.vup>twice to up to 6 nearby enemies and <$ba.stun>Stuns them for <@ba.vup>0.5 seconds. Allied units within Attack Range gain <@ba.vup>40% Physical Dodge for <@ba.vup>10 seconds","name":"'Pinus Sylvestris'","desc":"Immediately gains 11 DP; Deals 180% ATK as Physical damage twice to up to 6 nearby enemies and Stuns them for 0.5 seconds. Allied units within Attack Range gain 40% Physical Dodge for 10 seconds"},{"descRaw":"Gradually gains <@ba.vup>8 DP over the skill duration. Attack Interval <@ba.vup>reduces, ATK <@ba.vup>+45%, Block <@ba.vup>+1 and gain <@ba.vup>60% Physical and Arts Dodge","name":"Flameheart","desc":"Gradually gains 8 DP over the skill duration. Attack Interval reduces, ATK +45%, Block +1 and gain 60% Physical and Arts Dodge"}],"_h":"bntwtltlld9gzq57qd57yj2yyjpfzqee8vqi9bsuld9gzq"},"chess_char_4_19_b":{"name":"Flametail","subProfessionName":"Pioneer","trait":{"descRaw":"Blocks 2 enemies","moduleDescRaw":"The first Deployment Cost -4","desc":"Blocks 2 enemies","moduleDesc":"The first Deployment Cost -4"},"skill":{"descRaw":"Gradually gains <@ba.vup>8 DP over the skill duration. Attack Interval <@ba.vup>reduces, ATK <@ba.vup>+60%, Block <@ba.vup>+1 and gain <@ba.vup>80% Physical and Arts Dodge","name":"Flameheart","desc":"Gradually gains 8 DP over the skill duration. Attack Interval reduces, ATK +60%, Block +1 and gain 80% Physical and Arts Dodge"},"talents":[{"descRaw":"After dodging an attack, the next attack deals two hits and attacks all blocked enemies","name":"Vanguard Swordsmanship","desc":"After dodging an attack, the next attack deals two hits and attacks all blocked enemies"},{"descRaw":"When deployed, all 'Kazimierz' Operators gain 22% Physical Dodge","name":"Pinus Sylvestris Leader","desc":"When deployed, all 'Kazimierz' Operators gain 22% Physical Dodge"}],"module":{"name":"The Origins of Pinus Sylvestris"},"skills":[{"descRaw":"Immediately gains <@ba.vup>6 DP and dodge the next Physical attack","name":"Quick Intuition","desc":"Immediately gains 6 DP and dodge the next Physical attack"},{"descRaw":"Immediately gains <@ba.vup>12 DP; Deals <@ba.vup>210% ATK as Physical damage <@ba.vup>twice to up to 6 nearby enemies and <$ba.stun>Stuns them for <@ba.vup>0.5 seconds. Allied units within Attack Range gain <@ba.vup>45% Physical Dodge for <@ba.vup>10 seconds","name":"'Pinus Sylvestris'","desc":"Immediately gains 12 DP; Deals 210% ATK as Physical damage twice to up to 6 nearby enemies and Stuns them for 0.5 seconds. Allied units within Attack Range gain 45% Physical Dodge for 10 seconds"},{"descRaw":"Gradually gains <@ba.vup>8 DP over the skill duration. Attack Interval <@ba.vup>reduces, ATK <@ba.vup>+60%, Block <@ba.vup>+1 and gain <@ba.vup>80% Physical and Arts Dodge","name":"Flameheart","desc":"Gradually gains 8 DP over the skill duration. Attack Interval reduces, ATK +60%, Block +1 and gain 80% Physical and Arts Dodge"}],"traitBase":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"talentsBase":[{"descRaw":"After dodging an attack, the next attack deals two hits and attacks all blocked enemies","name":"Vanguard Swordsmanship","desc":"After dodging an attack, the next attack deals two hits and attacks all blocked enemies"},{"descRaw":"When deployed, all 'Kazimierz' Operators gain 22% Physical Dodge","name":"Pinus Sylvestris Leader","desc":"When deployed, all 'Kazimierz' Operators gain 22% Physical Dodge"}],"modules":[{"name":"The Origins of Pinus Sylvestris","traitOverride":{"descRaw":"Blocks 2 enemies","moduleDescRaw":"The first Deployment Cost -4","desc":"Blocks 2 enemies","moduleDesc":"The first Deployment Cost -4"}},{"name":"Their Future","traitOverride":{"descRaw":"Blocks 2 enemies; Gains +8% ATK and DEF while blocking enemies","desc":"Blocks 2 enemies; Gains +8% ATK and DEF while blocking enemies"}}],"_h":"bntwtljytljyai9g5z57qd57yj2yyjpfzqee8v149bkyai9g5ztltl57qd57yj2yyjpftljytljye55c5c"},"chess_char_4_20_a":{"name":"Fartooth","subProfessionName":"Deadeye","trait":{"descRaw":"Prioritizes attacking the enemy with <@ba.kw>lowest DEF within range first","desc":"Prioritizes attacking the enemy with lowest DEF within range first"},"skill":{"descRaw":"Attack Range changes to an <@ba.rem>infinitely long straight line ahead, ATK <@ba.vup>+80%. When attacking an enemy outside of the normal Attack Range, damage dealt increases to <@ba.vup>125%","name":"Feathershine Arrows","desc":"Attack Range changes to an infinitely long straight line ahead, ATK +80%. When attacking an enemy outside of the normal Attack Range, damage dealt increases to 125%"},"talents":[{"descRaw":"When no damage is taken within the past 10 seconds, ATK +15%","name":"Concentration","desc":"When no damage is taken within the past 10 seconds, ATK +15%"},{"descRaw":"When this unit's skill is active, becomes less likely to be targeted by enemies and attacks ignore the target's Physical Dodge","name":"Stilled Breath","desc":"When this unit's skill is active, becomes less likely to be targeted by enemies and attacks ignore the target's Physical Dodge"}],"module":{"name":"First-show Support Set"},"skills":[{"descRaw":"ATK <@ba.vup>+27%; ASPD <@ba.vup>+25","name":"Swift Strike γ","desc":"ATK +27%; ASPD +25"},{"descRaw":"Can attack blocked enemies outside of Attack Range. ASPD <@ba.vup>+75","name":"Ally Support","desc":"Can attack blocked enemies outside of Attack Range. ASPD +75"},{"descRaw":"Attack Range changes to an <@ba.rem>infinitely long straight line ahead, ATK <@ba.vup>+80%. When attacking an enemy outside of the normal Attack Range, damage dealt increases to <@ba.vup>125%","name":"Feathershine Arrows","desc":"Attack Range changes to an infinitely long straight line ahead, ATK +80%. When attacking an enemy outside of the normal Attack Range, damage dealt increases to 125%"}],"_h":"zq9ogscolvgis98nma8ntmlftmab8ydm2g2nhjmulvgis9"},"chess_char_4_20_b":{"name":"Fartooth","subProfessionName":"Deadeye","trait":{"descRaw":"Prioritizes attacking the enemy with <@ba.kw>lowest DEF within range first","moduleDescRaw":"The further away the enemy, the higher the damage dealt (up to an increase of <@ba.kw>15%)","desc":"Prioritizes attacking the enemy with lowest DEF within range first","moduleDesc":"The further away the enemy, the higher the damage dealt (up to an increase of 15%)"},"skill":{"descRaw":"Attack Range changes to an <@ba.rem>infinitely long straight line ahead, ATK <@ba.vup>+100%. When attacking an enemy outside of the normal Attack Range, damage dealt increases to <@ba.vup>130%","name":"Feathershine Arrows","desc":"Attack Range changes to an infinitely long straight line ahead, ATK +100%. When attacking an enemy outside of the normal Attack Range, damage dealt increases to 130%"},"talents":[{"descRaw":"When no damage is taken within the past 10 seconds, ATK +15%","name":"Concentration","desc":"When no damage is taken within the past 10 seconds, ATK +15%"},{"descRaw":"When this unit's skill is active, becomes less likely to be targeted by enemies and attacks ignore the target's Physical Dodge","name":"Stilled Breath","desc":"When this unit's skill is active, becomes less likely to be targeted by enemies and attacks ignore the target's Physical Dodge"}],"module":{"name":"First-show Support Set"},"skills":[{"descRaw":"ATK <@ba.vup>+34%; ASPD <@ba.vup>+35","name":"Swift Strike γ","desc":"ATK +34%; ASPD +35"},{"descRaw":"Can attack blocked enemies outside of Attack Range. ASPD <@ba.vup>+90","name":"Ally Support","desc":"Can attack blocked enemies outside of Attack Range. ASPD +90"},{"descRaw":"Attack Range changes to an <@ba.rem>infinitely long straight line ahead, ATK <@ba.vup>+100%. When attacking an enemy outside of the normal Attack Range, damage dealt increases to <@ba.vup>130%","name":"Feathershine Arrows","desc":"Attack Range changes to an infinitely long straight line ahead, ATK +100%. When attacking an enemy outside of the normal Attack Range, damage dealt increases to 130%"}],"traitBase":{"descRaw":"Prioritizes attacking the enemy with <@ba.kw>lowest DEF within range first","desc":"Prioritizes attacking the enemy with lowest DEF within range first"},"talentsBase":[{"descRaw":"When no damage is taken within the past 10 seconds, ATK +15%","name":"Concentration","desc":"When no damage is taken within the past 10 seconds, ATK +15%"},{"descRaw":"When this unit's skill is active, becomes less likely to be targeted by enemies and attacks ignore the target's Physical Dodge","name":"Stilled Breath","desc":"When this unit's skill is active, becomes less likely to be targeted by enemies and attacks ignore the target's Physical Dodge"}],"modules":[{"name":"First-show Support Set","traitOverride":{"descRaw":"Prioritizes attacking the enemy with <@ba.kw>lowest DEF within range first","moduleDescRaw":"The further away the enemy, the higher the damage dealt (up to an increase of <@ba.kw>15%)","desc":"Prioritizes attacking the enemy with lowest DEF within range first","moduleDesc":"The further away the enemy, the higher the damage dealt (up to an increase of 15%)"}},{"name":"Fan Letters","traitOverride":{"descRaw":"Prioritizes attacking the enemy with <@ba.kw>lowest DEF within range first","moduleDescRaw":"If the attacked enemy remains alive, gain <@ba.kw>1 additional SP","desc":"Prioritizes attacking the enemy with lowest DEF within range first","moduleDesc":"If the attacked enemy remains alive, gain 1 additional SP"}}],"_h":"zq9ogssnconlbkgids8nma8ntmlftmabvddmw9bchjhnbkgidsgsco8nma8ntmlftmabgssnconl8ygsoycouw"},"chess_char_4_21_a":{"name":"Ptilopsis","subProfessionName":"Multi-target Medic","trait":{"descRaw":"Restores the HP of 3 allies simultaneously","desc":"Restores the HP of 3 allies simultaneously"},"skill":{"descRaw":"Range expands; reduces Attack Interval <@ba.vup>moderately","name":"Enkephalin","desc":"Range expands; reduces Attack Interval moderately"},"talents":[{"descRaw":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)","name":"Skill Aura","desc":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)"}],"module":{"name":"Medic Environment Analyze System"},"skills":[{"descRaw":"ATK <@ba.vup>+55%","name":"Healing Up γ","desc":"ATK +55%"},{"descRaw":"Range expands; reduces Attack Interval <@ba.vup>moderately","name":"Enkephalin","desc":"Range expands; reduces Attack Interval moderately"}],"_h":"m8mz0x0xygn2ppdu3kdu3ktd0ixeygn2pp"},"chess_char_4_21_b":{"name":"Ptilopsis","subProfessionName":"Multi-target Medic","trait":{"descRaw":"Restores the HP of 3 allies simultaneously","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Restores the HP of 3 allies simultaneously","moduleDesc":"Attack Range expands"},"skill":{"descRaw":"Range expands; reduces Attack Interval <@ba.vup>significantly","name":"Enkephalin","desc":"Range expands; reduces Attack Interval significantly"},"talents":[{"descRaw":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)","name":"Skill Aura","desc":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)"}],"module":{"name":"Medic Environment Analyze System"},"skills":[{"descRaw":"ATK <@ba.vup>+70%","name":"Healing Up γ","desc":"ATK +70%"},{"descRaw":"Range expands; reduces Attack Interval <@ba.vup>significantly","name":"Enkephalin","desc":"Range expands; reduces Attack Interval significantly"}],"traitBase":{"descRaw":"Restores the HP of 3 allies simultaneously","desc":"Restores the HP of 3 allies simultaneously"},"talentsBase":[{"descRaw":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)","name":"Skill Aura","desc":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)"}],"modules":[{"name":"Medic Environment Analyze System","traitOverride":{"descRaw":"Restores the HP of 3 allies simultaneously","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Restores the HP of 3 allies simultaneously","moduleDesc":"Attack Range expands"}}],"_h":"m8mz0xd00x5kj1n2gidu3kdu3kdg0ipdj1n2gi0x0xdu3kdu3k0xd00x5k"},"chess_char_4_22_a":{"name":"SilverAsh","subProfessionName":"Lord","trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"skill":{"descRaw":"DEF <@ba.vdown>-70%; ATK <@ba.vup>+125%; Range <@ba.vup>expands; Attacks at most <@ba.vup>4 targets simultaneously (regarded as Melee Attack)","name":"Truesilver Slash","desc":"DEF -70%; ATK +125%; Range expands; Attacks at most 4 targets simultaneously (regarded as Melee Attack)"},"talents":[{"descRaw":"ATK +10%, all allied units' Redeployment Time -10% when this unit is in the squad.","name":"Leader","desc":"ATK +10%, all allied units' Redeployment Time -10% when this unit is in the squad."},{"descRaw":"Reveals <$ba.invisible>Invisible enemies within range","name":"Eagle Eyes","desc":"Reveals Invisible enemies within range"}],"module":{"name":"Snow Realm Fowlcare Kit"},"skills":[{"descRaw":"Increases the ATK of next attack to <@ba.vup>205%","name":"Power Strike γ","desc":"Increases the ATK of next attack to 205%"},{"descRaw":"<@ba.rem>Can switch between the original state and the following state:\nRange <@ba.vdown>reduces; DEF <@ba.vup>+50%; Restores HP by <@ba.vup>3.5% of Max HP per second","name":"Rules of Survival","desc":"Can switch between the original state and the following state:\nRange reduces; DEF +50%; Restores HP by 3.5% of Max HP per second"},{"descRaw":"DEF <@ba.vdown>-70%; ATK <@ba.vup>+125%; Range <@ba.vup>expands; Attacks at most <@ba.vup>4 targets simultaneously (regarded as Melee Attack)","name":"Truesilver Slash","desc":"DEF -70%; ATK +125%; Range expands; Attacks at most 4 targets simultaneously (regarded as Melee Attack)"}],"_h":"qj5y69jzh5gzxgyrotyrp6xohbadfeiyj5veij9ah5gzxg"},"chess_char_4_22_b":{"name":"SilverAsh","subProfessionName":"Lord","trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"Attacks deal an additional <@ba.vup>10% ATK as Arts Damage","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"Attacks deal an additional 10% ATK as Arts Damage"},"skill":{"descRaw":"DEF <@ba.vdown>-70%; ATK <@ba.vup>+140%; Range <@ba.vup>expands; Attacks at most <@ba.vup>5 targets simultaneously (regarded as Melee Attack)","name":"Truesilver Slash","desc":"DEF -70%; ATK +140%; Range expands; Attacks at most 5 targets simultaneously (regarded as Melee Attack)"},"talents":[{"descRaw":"ATK +10%, all allied units' Redeployment Time -10% when this unit is in the squad.","name":"Leader","desc":"ATK +10%, all allied units' Redeployment Time -10% when this unit is in the squad."},{"descRaw":"Reveals <$ba.invisible>Invisible enemies within range","name":"Eagle Eyes","desc":"Reveals Invisible enemies within range"}],"module":{"name":"Snow Realm Fowlcare Kit"},"skills":[{"descRaw":"Increases the ATK of next attack to <@ba.vup>225%","name":"Power Strike γ","desc":"Increases the ATK of next attack to 225%"},{"descRaw":"<@ba.rem>Can switch between the original state and the following state:\nRange <@ba.vdown>reduces; DEF <@ba.vup>+65%; Restores HP by <@ba.vup>4.0% of Max HP per second","name":"Rules of Survival","desc":"Can switch between the original state and the following state:\nRange reduces; DEF +65%; Restores HP by 4.0% of Max HP per second"},{"descRaw":"DEF <@ba.vdown>-70%; ATK <@ba.vup>+140%; Range <@ba.vup>expands; Attacks at most <@ba.vup>5 targets simultaneously (regarded as Melee Attack)","name":"Truesilver Slash","desc":"DEF -70%; ATK +140%; Range expands; Attacks at most 5 targets simultaneously (regarded as Melee Attack)"}],"traitBase":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"talentsBase":[{"descRaw":"ATK +10%, all allied units' Redeployment Time -10% when this unit is in the squad.","name":"Leader","desc":"ATK +10%, all allied units' Redeployment Time -10% when this unit is in the squad."},{"descRaw":"Reveals <$ba.invisible>Invisible enemies within range","name":"Eagle Eyes","desc":"Reveals Invisible enemies within range"}],"modules":[{"name":"Snow Realm Fowlcare Kit","traitOverride":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"Attacks deal an additional <@ba.vup>10% ATK as Arts Damage","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"Attacks deal an additional 10% ATK as Arts Damage"}}],"_h":"qj5y698gjzsn8jgzxayrotyrp6xohbad5oiy7jt0ijs08jgzxa69jzyrotyrp6xohbad698gjzsn"},"chess_char_4_23_a":{"name":"Gavial the Invincible","subProfessionName":"Centurion","trait":{"descRaw":"Attacks <@ba.kw>all blocked enemies","desc":"Attacks all blocked enemies"},"skill":{"descRaw":"ATK <@ba.vup>+85%, ASPD <@ba.vup>+60, Block <@ba.vup>+2; While this skill is active, this unit only takes <@ba.vup>50% of incoming damage, with the remaining amount dealt as HP loss over <@ba.vup>20 seconds after this skill ends","name":"Soul of the Jungle","desc":"ATK +85%, ASPD +60, Block +2; While this skill is active, this unit only takes 50% of incoming damage, with the remaining amount dealt as HP loss over 20 seconds after this skill ends"},"talents":[{"descRaw":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy","name":"Battleaxe","desc":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy"},{"descRaw":"Increases this unit's healing received by 20%, increased to 40% when under half HP","name":"Medical Background","desc":"Increases this unit's healing received by 20%, increased to 40% when under half HP"}],"module":{"name":"The Binding of Gavial"},"skills":[{"descRaw":"ATK <@ba.vup>+45%, each attack restores HP to this unit equal to <@ba.vup>30% of the damage dealt","name":"Precise Thrashing","desc":"ATK +45%, each attack restores HP to this unit equal to 30% of the damage dealt"},{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+110%, DEF <@ba.vup>+35%; When attacking unblocked enemies, pulls them towards this unit <@ba.vup>moderately","name":"Chainsaw Assault","desc":"Attack Range expands, ATK +110%, DEF +35%; When attacking unblocked enemies, pulls them towards this unit moderately"},{"descRaw":"ATK <@ba.vup>+85%, ASPD <@ba.vup>+60, Block <@ba.vup>+2; While this skill is active, this unit only takes <@ba.vup>50% of incoming damage, with the remaining amount dealt as HP loss over <@ba.vup>20 seconds after this skill ends","name":"Soul of the Jungle","desc":"ATK +85%, ASPD +60, Block +2; While this skill is active, this unit only takes 50% of incoming damage, with the remaining amount dealt as HP loss over 20 seconds after this skill ends"}],"_h":"rugraayeanlu28hphshpebfpebko8qlfq667lzonanlu28"},"chess_char_4_23_b":{"name":"Gavial the Invincible","subProfessionName":"Centurion","trait":{"descRaw":"Attacks <@ba.kw>all blocked enemies; ATK is increased to <@ba.kw>110% when attacking blocked enemies","desc":"Attacks all blocked enemies; ATK is increased to 110% when attacking blocked enemies"},"skill":{"descRaw":"ATK <@ba.vup>+100%, ASPD <@ba.vup>+80, Block <@ba.vup>+2; While this skill is active, this unit only takes <@ba.vup>50% of incoming damage, with the remaining amount dealt as HP loss over <@ba.vup>20 seconds after this skill ends","name":"Soul of the Jungle","desc":"ATK +100%, ASPD +80, Block +2; While this skill is active, this unit only takes 50% of incoming damage, with the remaining amount dealt as HP loss over 20 seconds after this skill ends"},"talents":[{"descRaw":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy","name":"Battleaxe","desc":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy"},{"descRaw":"Increases this unit's healing received by 20%, increased to 40% when under half HP","name":"Medical Background","desc":"Increases this unit's healing received by 20%, increased to 40% when under half HP"}],"module":{"name":"The Binding of Gavial"},"skills":[{"descRaw":"ATK <@ba.vup>+60%, each attack restores HP to this unit equal to <@ba.vup>35% of the damage dealt","name":"Precise Thrashing","desc":"ATK +60%, each attack restores HP to this unit equal to 35% of the damage dealt"},{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+140%, DEF <@ba.vup>+40%; When attacking unblocked enemies, pulls them towards this unit <@ba.vup>moderately","name":"Chainsaw Assault","desc":"Attack Range expands, ATK +140%, DEF +40%; When attacking unblocked enemies, pulls them towards this unit moderately"},{"descRaw":"ATK <@ba.vup>+100%, ASPD <@ba.vup>+80, Block <@ba.vup>+2; While this skill is active, this unit only takes <@ba.vup>50% of incoming damage, with the remaining amount dealt as HP loss over <@ba.vup>20 seconds after this skill ends","name":"Soul of the Jungle","desc":"ATK +100%, ASPD +80, Block +2; While this skill is active, this unit only takes 50% of incoming damage, with the remaining amount dealt as HP loss over 20 seconds after this skill ends"}],"traitBase":{"descRaw":"Attacks <@ba.kw>all blocked enemies","desc":"Attacks all blocked enemies"},"talentsBase":[{"descRaw":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy","name":"Battleaxe","desc":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy"},{"descRaw":"Increases this unit's healing received by 20%, increased to 40% when under half HP","name":"Medical Background","desc":"Increases this unit's healing received by 20%, increased to 40% when under half HP"}],"modules":[{"name":"The Binding of Gavial","traitOverride":{"descRaw":"Attacks <@ba.kw>all blocked enemies; ATK is increased to <@ba.kw>110% when attacking blocked enemies","desc":"Attacks all blocked enemies; ATK is increased to 110% when attacking blocked enemies"}},{"name":"Sanding and Polishing","traitOverride":{"descRaw":"Attacks <@ba.kw>all blocked enemies","moduleDescRaw":"While above 50% HP, reduces the amount of Physical damage taken by <@ba.kw>20%","desc":"Attacks all blocked enemies","moduleDesc":"While above 50% HP, reduces the amount of Physical damage taken by 20%"}},{"name":"Gavial the Invincible Limited Badge","traitOverride":{"descRaw":"Attacks <@ba.kw>all blocked enemies","moduleDescRaw":"In <@ba.kw>Reclamation Algorithm, after the skill is activated for the first time, Max HP, ATK, and DEF increase to 150%","desc":"Attacks all blocked enemies","moduleDesc":"In Reclamation Algorithm, after the skill is activated for the first time, Max HP, ATK, and DEF increase to 150%"}}],"_h":"rugrshhviblugohphshpebfpebkog6lfaunclz0qiblugoaayehphshpebfpebkoshhvunaaxwye826yaaoeye86"},"chess_char_4_24_a":{"name":"Carnelian","subProfessionName":"Phalanx Caster","trait":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage"},"skill":{"descRaw":"Attack Interval <@ba.vup>reduces and every attack inflicts <$ba.sluggish>Slow for 0.3 seconds;\n<$ba.charged>Charged effect: ATK <@ba.vup>+10% and instead of <$ba.sluggish>Slowing, <$ba.root>Binds targets for <@ba.vup>0.3 seconds","name":"Sand Fetters","desc":"Attack Interval reduces and every attack inflicts Slow for 0.3 seconds;\nCharged effect: ATK +10% and instead of Slowing, Binds targets for 0.3 seconds"},"talents":[{"descRaw":"Restores 40% Max HP when skill is activated; \nEffect is doubled when <$ba.charged>Charged","name":"Meal of Life","desc":"Restores 40% Max HP when skill is activated; \nEffect is doubled when Charged"},{"descRaw":"Improves own SP recovery rate by +0.6/second when SP is above the limit","name":"Poised for Action","desc":"Improves own SP recovery rate by +0.6/second when SP is above the limit"}],"module":{"name":"Hyacinth and Dagger"},"skills":[{"descRaw":"ATK <@ba.vup>+25%, DEF <@ba.vup>+40%;\n<$ba.charged>Charged effect: Trait effect remains active during skill","name":"Sandstorm Guardian","desc":"ATK +25%, DEF +40%;\nCharged effect: Trait effect remains active during skill"},{"descRaw":"Attack Interval <@ba.vup>reduces and every attack inflicts <$ba.sluggish>Slow for 0.3 seconds;\n<$ba.charged>Charged effect: ATK <@ba.vup>+10% and instead of <$ba.sluggish>Slowing, <$ba.root>Binds targets for <@ba.vup>0.3 seconds","name":"Sand Fetters","desc":"Attack Interval reduces and every attack inflicts Slow for 0.3 seconds;\nCharged effect: ATK +10% and instead of Slowing, Binds targets for 0.3 seconds"},{"descRaw":"Attack Range <@ba.vup>expands and ATK gradually increases up to <@ba.vup>+140%\n<$ba.charged>Charged effect: Every attack increases the damage taken by the target from Carnelian by <@ba.vup>20% (stacks up to <@ba.vup>5 times), lasting until the end of the skill","name":"Mark of Gluttony","desc":"Attack Range expands and ATK gradually increases up to +140%\nCharged effect: Every attack increases the damage taken by the target from Carnelian by 20% (stacks up to 5 times), lasting until the end of the skill"}],"_h":"2la03fl51a8e55smj6acwr52wr811v7trn1a8e55wxedjv"},"chess_char_4_24_b":{"name":"Carnelian","subProfessionName":"Phalanx Caster","trait":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal <@ba.kw>AoE Arts Damage","desc":"Normally does not attack, but has greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal AoE Arts Damage"},"skill":{"descRaw":"Attack Interval <@ba.vup>reduces greatly and every attack inflicts <$ba.sluggish>Slow for 0.3 seconds;\n<$ba.charged>Charged effect: ATK <@ba.vup>+15% and instead of <$ba.sluggish>Slowing, <$ba.root>Binds targets for <@ba.vup>0.4 seconds","name":"Sand Fetters","desc":"Attack Interval reduces greatly and every attack inflicts Slow for 0.3 seconds;\nCharged effect: ATK +15% and instead of Slowing, Binds targets for 0.4 seconds"},"talents":[{"descRaw":"Restores 40% Max HP when skill is activated; \nEffect is doubled when <$ba.charged>Charged","name":"Meal of Life","desc":"Restores 40% Max HP when skill is activated; \nEffect is doubled when Charged"},{"descRaw":"Improves own SP recovery rate by +0.6/second when SP is above the limit","name":"Poised for Action","desc":"Improves own SP recovery rate by +0.6/second when SP is above the limit"}],"module":{"name":"Hyacinth and Dagger"},"skills":[{"descRaw":"ATK <@ba.vup>+40%, DEF <@ba.vup>+70%;\n<$ba.charged>Charged effect: Trait effect remains active during skill","name":"Sandstorm Guardian","desc":"ATK +40%, DEF +70%;\nCharged effect: Trait effect remains active during skill"},{"descRaw":"Attack Interval <@ba.vup>reduces greatly and every attack inflicts <$ba.sluggish>Slow for 0.3 seconds;\n<$ba.charged>Charged effect: ATK <@ba.vup>+15% and instead of <$ba.sluggish>Slowing, <$ba.root>Binds targets for <@ba.vup>0.4 seconds","name":"Sand Fetters","desc":"Attack Interval reduces greatly and every attack inflicts Slow for 0.3 seconds;\nCharged effect: ATK +15% and instead of Slowing, Binds targets for 0.4 seconds"},{"descRaw":"Attack Range <@ba.vup>expands and ATK gradually increases up to <@ba.vup>+200%\n<$ba.charged>Charged effect: Every attack increases the damage taken by the target from Carnelian by <@ba.vup>20% (stacks up to <@ba.vup>5 times), lasting until the end of the skill","name":"Mark of Gluttony","desc":"Attack Range expands and ATK gradually increases up to +200%\nCharged effect: Every attack increases the damage taken by the target from Carnelian by 20% (stacks up to 5 times), lasting until the end of the skill"}],"traitBase":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage"},"talentsBase":[{"descRaw":"Restores 40% Max HP when skill is activated; \nEffect is doubled when <$ba.charged>Charged","name":"Meal of Life","desc":"Restores 40% Max HP when skill is activated; \nEffect is doubled when Charged"},{"descRaw":"Improves own SP recovery rate by +0.6/second when SP is above the limit","name":"Poised for Action","desc":"Improves own SP recovery rate by +0.6/second when SP is above the limit"}],"modules":[{"name":"Hyacinth and Dagger","traitOverride":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal <@ba.kw>AoE Arts Damage","desc":"Normally does not attack, but has greatly increased DEF and RES; when skill is active, retains some of the bonus and attacks deal AoE Arts Damage"}},{"name":"Always Have Your Back","traitOverride":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","moduleDescRaw":"Damage increases with number of enemies in the area (max increase <@ba.kw>15%)","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage","moduleDesc":"Damage increases with number of enemies in the area (max increase 15%)"}}],"_h":"2la069ubt18e0ysmj6acwr52wr816x7tnht18e0yaaed1u3fl5smj6acwr52wr8169ubm53fuhl523"},"chess_char_4_25_a":{"name":"Civilight Eterna","subProfessionName":"Bard","trait":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration"},"skill":{"descRaw":"Attack range expands and Trait effect increases to <@ba.vup>65%. Particles no longer disappear, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>65% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every <@ba.vup>2s.","name":"The Present Reconstructed","desc":"Attack range expands and Trait effect increases to 65%. Particles no longer disappear, and all allies in attack range gain Inspiration equal to 65% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every 2s."},"talents":[{"descRaw":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s.","name":"Dust of the Past","desc":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s."},{"descRaw":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies.","name":"The Echo of Kings","desc":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies."}],"module":{"name":"Another Story"},"skills":[{"descRaw":"Trait effect increases to <@ba.vup>20% and Particle generation speed is increased.\n<@ba.rem>Unlimited duration","name":"The Past Lingering","desc":"Trait effect increases to 20% and Particle generation speed is increased.\nUnlimited duration"},{"descRaw":"Particle limit <@ba.vup>+3 and immediately gains <@ba.vup>6 Particles. Particle orbit radius expands, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>65% of Civilight Eterna's ATK. Particles no longer collide with allied Operators, and instead deal <@ba.vup>220% of Civilight Eterna's ATK as True damage when colliding with an enemy unit, and also <$ba.root>Binding them for <@ba.vup>3s.","name":"The Future Elusive","desc":"Particle limit +3 and immediately gains 6 Particles. Particle orbit radius expands, and all allies in attack range gain Inspiration equal to 65% of Civilight Eterna's ATK. Particles no longer collide with allied Operators, and instead deal 220% of Civilight Eterna's ATK as True damage when colliding with an enemy unit, and also Binding them for 3s."},{"descRaw":"Attack range expands and Trait effect increases to <@ba.vup>65%. Particles no longer disappear, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>65% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every <@ba.vup>2s.","name":"The Present Reconstructed","desc":"Attack range expands and Trait effect increases to 65%. Particles no longer disappear, and all allies in attack range gain Inspiration equal to 65% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every 2s."}],"_h":"xkz9rj9pxzf1q8xumfxu2h0c2hpopowgf7uyi5jzxzf1q8"},"chess_char_4_25_b":{"name":"Civilight Eterna","subProfessionName":"Bard","trait":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","moduleDescRaw":"When there are 2 or more other Operators within range, ATK <@ba.kw>+8% (unaffected by skill)","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration","moduleDesc":"When there are 2 or more other Operators within range, ATK +8% (unaffected by skill)"},"skill":{"descRaw":"Attack range expands and Trait effect increases to <@ba.vup>75%. Particles no longer disappear, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>80% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every <@ba.vup>2s.","name":"The Present Reconstructed","desc":"Attack range expands and Trait effect increases to 75%. Particles no longer disappear, and all allies in attack range gain Inspiration equal to 80% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every 2s."},"talents":[{"descRaw":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s.","name":"Dust of the Past","desc":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s."},{"descRaw":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies.","name":"The Echo of Kings","desc":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies."}],"module":{"name":"Another Story"},"skills":[{"descRaw":"Trait effect increases to <@ba.vup>28% and Particle generation speed is increased.\n<@ba.rem>Unlimited duration","name":"The Past Lingering","desc":"Trait effect increases to 28% and Particle generation speed is increased.\nUnlimited duration"},{"descRaw":"Particle limit <@ba.vup>+3 and immediately gains <@ba.vup>6 Particles. Particle orbit radius expands, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>80% of Civilight Eterna's ATK. Particles no longer collide with allied Operators, and instead deal <@ba.vup>260% of Civilight Eterna's ATK as True damage when colliding with an enemy unit, and also <$ba.root>Binding them for <@ba.vup>3s.","name":"The Future Elusive","desc":"Particle limit +3 and immediately gains 6 Particles. Particle orbit radius expands, and all allies in attack range gain Inspiration equal to 80% of Civilight Eterna's ATK. Particles no longer collide with allied Operators, and instead deal 260% of Civilight Eterna's ATK as True damage when colliding with an enemy unit, and also Binding them for 3s."},{"descRaw":"Attack range expands and Trait effect increases to <@ba.vup>75%. Particles no longer disappear, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>80% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every <@ba.vup>2s.","name":"The Present Reconstructed","desc":"Attack range expands and Trait effect increases to 75%. Particles no longer disappear, and all allies in attack range gain Inspiration equal to 80% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every 2s."}],"traitBase":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration"},"talentsBase":[{"descRaw":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s.","name":"Dust of the Past","desc":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s."},{"descRaw":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies.","name":"The Echo of Kings","desc":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies."}],"modules":[{"name":"Another Story","traitOverride":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","moduleDescRaw":"When there are 2 or more other Operators within range, ATK <@ba.kw>+8% (unaffected by skill)","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration","moduleDesc":"When there are 2 or more other Operators within range, ATK +8% (unaffected by skill)"}}],"_h":"xkz9rjxy9pmou5f1i2xumfxu2h0c2hpouswgl7n7i5wyu5f1i2rj9pxumfxu2h0c2hporjxy9pmo"},"chess_char_4_26_a":{"name":"Warfarin","subProfessionName":"Medic","trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"skill":{"descRaw":"The next heal restores an additional <@ba.vup>15% of its target's Max HP\n<@ba.rem>Only available when the target's HP is lower than 50%; Can store 2 charge(s)","name":"Emergency Triage","desc":"The next heal restores an additional 15% of its target's Max HP\nOnly available when the target's HP is lower than 50%; Can store 2 charge(s)"},"talents":[{"descRaw":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed","name":"Blood Sample Recycle","desc":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed"}],"module":{"name":"Emergency Reserves"},"skills":[{"descRaw":"The next heal restores an additional <@ba.vup>15% of its target's Max HP\n<@ba.rem>Only available when the target's HP is lower than 50%; Can store 2 charge(s)","name":"Emergency Triage","desc":"The next heal restores an additional 15% of its target's Max HP\nOnly available when the target's HP is lower than 50%; Can store 2 charge(s)"},{"descRaw":"Warfarin and a random ally within range obtain the following status:\nATK <@ba.vup>+45% and loses <@ba.vdown>3% of Max HP every second, lasting for <@ba.vup>15 seconds","name":"Unstable Plasma","desc":"Warfarin and a random ally within range obtain the following status:\nATK +45% and loses 3% of Max HP every second, lasting for 15 seconds"}],"_h":"jh7q7676xbumlw95h4953vxbumlwmhincn"},"chess_char_4_26_b":{"name":"Warfarin","subProfessionName":"Medic","trait":{"descRaw":"Restores the HP of allies","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Restores the HP of allies","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"},"skill":{"descRaw":"The next heal restores an additional <@ba.vup>19% of its target's Max HP\n<@ba.rem>Only available when the target's HP is lower than 50%; Can store 3 charge(s)","name":"Emergency Triage","desc":"The next heal restores an additional 19% of its target's Max HP\nOnly available when the target's HP is lower than 50%; Can store 3 charge(s)"},"talents":[{"descRaw":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed","name":"Blood Sample Recycle","desc":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed"}],"module":{"name":"Emergency Reserves"},"skills":[{"descRaw":"The next heal restores an additional <@ba.vup>19% of its target's Max HP\n<@ba.rem>Only available when the target's HP is lower than 50%; Can store 3 charge(s)","name":"Emergency Triage","desc":"The next heal restores an additional 19% of its target's Max HP\nOnly available when the target's HP is lower than 50%; Can store 3 charge(s)"},{"descRaw":"Warfarin and a random ally within range obtain the following status:\nATK <@ba.vup>+60% and loses <@ba.vdown>3% of Max HP every second, lasting for <@ba.vup>15 seconds","name":"Unstable Plasma","desc":"Warfarin and a random ally within range obtain the following status:\nATK +60% and loses 3% of Max HP every second, lasting for 15 seconds"}],"traitBase":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"talentsBase":[{"descRaw":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed","name":"Blood Sample Recycle","desc":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed"}],"modules":[{"name":"Emergency Reserves","traitOverride":{"descRaw":"Restores the HP of allies","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Restores the HP of allies","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"}}],"_h":"jh7q76by76dw78umel95h4953v78umelpoinuw767695h4953v76by76dw"},"chess_char_5_01_a":{"name":"Executor the Ex Foedere","subProfessionName":"Reaper","trait":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AOE Damage; Recovers <@ba.kw>50 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AOE Damage; Recovers 50 HP for every enemy hit during attacks, up to Block count"},"skill":{"descRaw":"ATK <@ba.vup>+45%, DEF <@ba.vup>+45%, Block <@ba.vup>+1; upon receiving a melee attack from an enemy, there is a <@ba.vup>20% chance to dodge and reload <@ba.vup>1 ammo\n<@ba.rem>Skill activation grants 12 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Close Combat","desc":"ATK +45%, DEF +45%, Block +1; upon receiving a melee attack from an enemy, there is a 20% chance to dodge and reload 1 ammo\nSkill activation grants 12 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},"talents":[{"descRaw":"Attacks have a 20% chance to hit twice; this chance increases by 5% for each ammo consumed while a skill is active, resetting when the skill ends","name":"The Chosen One","desc":"Attacks have a 20% chance to hit twice; this chance increases by 5% for each ammo consumed while a skill is active, resetting when the skill ends"},{"descRaw":"For every Laterano Operator deployed, increases the ammo capacity of this unit's ammo-based skills by +1 (stacks up to 4 times)","name":"Empathy by Shotgun","desc":"For every Laterano Operator deployed, increases the ammo capacity of this unit's ammo-based skills by +1 (stacks up to 4 times)"}],"module":{"name":"Unanswered"},"skills":[{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+20%, attacks ignore <@ba.vup>190 of the target's DEF\n<@ba.rem>Skill activation grants 8 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Testament Exacted","desc":"Attack Range expands, ATK +20%, attacks ignore 190 of the target's DEF\nSkill activation grants 8 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"ATK <@ba.vup>+45%, DEF <@ba.vup>+45%, Block <@ba.vup>+1; upon receiving a melee attack from an enemy, there is a <@ba.vup>20% chance to dodge and reload <@ba.vup>1 ammo\n<@ba.rem>Skill activation grants 12 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Close Combat","desc":"ATK +45%, DEF +45%, Block +1; upon receiving a melee attack from an enemy, there is a 20% chance to dodge and reload 1 ammo\nSkill activation grants 12 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"Attack Interval <@ba.vdown>lengthens slightly, Attack Range <@ba.vup>expands, ATK <@ba.vup>+120%; each time 1 ammo is consumed, ATK increases by an additional <@ba.vup>4% (up to a maximum of 30 stacks); increases the Trait HP recovery effectiveness to <@ba.vup>2 times; when the skill ends, deals <@ba.vup>200% of ATK as Physical damage to all enemies attacked while the skill is active\n<@ba.rem>Skill activation grants 16 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Damnatus Ex Foedere","desc":"Attack Interval lengthens slightly, Attack Range expands, ATK +120%; each time 1 ammo is consumed, ATK increases by an additional 4% (up to a maximum of 30 stacks); increases the Trait HP recovery effectiveness to 2 times; when the skill ends, deals 200% of ATK as Physical damage to all enemies attacked while the skill is active\nSkill activation grants 16 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"}],"_h":"a9xoggo0bmkv09g3cog3zgwdzghz2pcuhcbmkv0955c4su"},"chess_char_5_01_b":{"name":"Executor the Ex Foedere","subProfessionName":"Reaper","trait":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AoE damage; Recovers <@ba.kw>60 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AoE damage; Recovers 60 HP for every enemy hit during attacks, up to Block count"},"skill":{"descRaw":"ATK <@ba.vup>+60%, DEF <@ba.vup>+60%, Block <@ba.vup>+1; upon receiving a melee attack from an enemy, there is a <@ba.vup>30% chance to dodge and reload <@ba.vup>1 ammo\n<@ba.rem>Skill activation grants 12 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Close Combat","desc":"ATK +60%, DEF +60%, Block +1; upon receiving a melee attack from an enemy, there is a 30% chance to dodge and reload 1 ammo\nSkill activation grants 12 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},"talents":[{"descRaw":"Attacks have a 20% chance to hit twice; this chance increases by 5% for each ammo consumed while a skill is active, resetting when the skill ends","name":"The Chosen One","desc":"Attacks have a 20% chance to hit twice; this chance increases by 5% for each ammo consumed while a skill is active, resetting when the skill ends"},{"descRaw":"For every Laterano Operator deployed, increases the ammo capacity of this unit's ammo-based skills by +1 (stacks up to 4 times)","name":"Empathy by Shotgun","desc":"For every Laterano Operator deployed, increases the ammo capacity of this unit's ammo-based skills by +1 (stacks up to 4 times)"}],"module":{"name":"Unanswered"},"skills":[{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+30%, attacks ignore <@ba.vup>280 of the target's DEF\n<@ba.rem>Skill activation grants 8 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Testament Exacted","desc":"Attack Range expands, ATK +30%, attacks ignore 280 of the target's DEF\nSkill activation grants 8 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"ATK <@ba.vup>+60%, DEF <@ba.vup>+60%, Block <@ba.vup>+1; upon receiving a melee attack from an enemy, there is a <@ba.vup>30% chance to dodge and reload <@ba.vup>1 ammo\n<@ba.rem>Skill activation grants 12 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Close Combat","desc":"ATK +60%, DEF +60%, Block +1; upon receiving a melee attack from an enemy, there is a 30% chance to dodge and reload 1 ammo\nSkill activation grants 12 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"Attack Interval <@ba.vdown>lengthens slightly, Attack Range <@ba.vup>expands, ATK <@ba.vup>+150%; each time 1 ammo is consumed, ATK increases by an additional <@ba.vup>5% (up to a maximum of 30 stacks); increases the Trait HP recovery effectiveness to <@ba.vup>2 times; when the skill ends, deals <@ba.vup>200% of ATK as Physical damage to all enemies attacked while the skill is active\n<@ba.rem>Skill activation grants 16 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Damnatus Ex Foedere","desc":"Attack Interval lengthens slightly, Attack Range expands, ATK +150%; each time 1 ammo is consumed, ATK increases by an additional 5% (up to a maximum of 30 stacks); increases the Trait HP recovery effectiveness to 2 times; when the skill ends, deals 200% of ATK as Physical damage to all enemies attacked while the skill is active\nSkill activation grants 16 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"}],"traitBase":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AOE Damage; Recovers <@ba.kw>50 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AOE Damage; Recovers 50 HP for every enemy hit during attacks, up to Block count"},"talentsBase":[{"descRaw":"Attacks have a 20% chance to hit twice; this chance increases by 5% for each ammo consumed while a skill is active, resetting when the skill ends","name":"The Chosen One","desc":"Attacks have a 20% chance to hit twice; this chance increases by 5% for each ammo consumed while a skill is active, resetting when the skill ends"},{"descRaw":"For every Laterano Operator deployed, increases the ammo capacity of this unit's ammo-based skills by +1 (stacks up to 4 times)","name":"Empathy by Shotgun","desc":"For every Laterano Operator deployed, increases the ammo capacity of this unit's ammo-based skills by +1 (stacks up to 4 times)"}],"modules":[{"name":"Unanswered","traitOverride":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AoE damage; Recovers <@ba.kw>60 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AoE damage; Recovers 60 HP for every enemy hit during attacks, up to Block count"}},{"name":"Acknowledged","traitOverride":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AoE damage; Recovers <@ba.kw>12 HP for every enemy hit during attacks, up to Block count","moduleDescRaw":"ASPD <@ba.kw>+12 when there are 2 or more enemies within Attack Range","desc":"Cannot be healed by allies; Attacks deal AoE damage; Recovers 12 HP for every enemy hit during attacks, up to Block count","moduleDesc":"ASPD +12 when there are 2 or more enemies within Attack Range"}}],"_h":"a9xoczmpzrkvbag3cog3zgwdzghzracuv1zrkvbartc4ueggo0g3cog3zgwdzghzczmpl7u662dip4"},"chess_char_5_02_a":{"name":"Titi","subProfessionName":"Incantation Medic","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>50% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 50% of the damage dealt"},"skill":{"descRaw":"ATK <@ba.vup>+110%, attacks 2 enemies simultaneously, and attacking targets that are not <$ba.sleep>Asleep puts them to <$ba.sleep>Sleep for <@ba.vup>5s; all enemies awakening from <$ba.sleep>Sleep or defeated during <$ba.sleep>Sleep receive Arts damage (damage based on <$ba.sleep>Sleep duration, up to <@ba.vup>370% ATK), and put one other nearby enemy to <$ba.sleep>Sleep for <@ba.vup>5s; when other allied Operators within Attack Range receive lethal damage, they are instead put to <$ba.sleep>Sleep until fully healed or skill ends","name":"History's Bloom","desc":"ATK +110%, attacks 2 enemies simultaneously, and attacking targets that are not Asleep puts them to Sleep for 5s; all enemies awakening from Sleep or defeated during Sleep receive Arts damage (damage based on Sleep duration, up to 370% ATK), and put one other nearby enemy to Sleep for 5s; when other allied Operators within Attack Range receive lethal damage, they are instead put to Sleep until fully healed or skill ends"},"talents":[{"descRaw":"Can attack <$ba.sleep>Sleeping enemies, and when attacking stationary enemies, deals an additional 15% ATK as Arts damage; when deployed, <$ba.sleep>Sleeping enemies receive 30% of Titi's ATK as Arts damage per second","name":"Frozen in Time","desc":"Can attack Sleeping enemies, and when attacking stationary enemies, deals an additional 15% ATK as Arts damage; when deployed, Sleeping enemies receive 30% of Titi's ATK as Arts damage per second"},{"descRaw":"Deployed [Minos] and [Sargon] Operators gain <$ba.strong>Vigor effect of +20 ASPD when HP is above 50%","name":"Courage's Reward","desc":"Deployed [Minos] and [Sargon] Operators gain Vigor effect of +20 ASPD when HP is above 50%"}],"module":{"name":"Gifts from Columbia"},"skills":[{"descRaw":"ATK <@ba.vup>+65%, and every attack has a <@ba.vup>30% chance to put the target to <$ba.sleep>Sleep for <@ba.vup>2s","name":"Anti-Degradative","desc":"ATK +65%, and every attack has a 30% chance to put the target to Sleep for 2s"},{"descRaw":"<@ba.vdown>Stops attacking, ATK <@ba.vup>+115%, and puts herself and the Operator within Attack Range with the lowest HP percentage to <$ba.sleep>Sleep until the skill ends; continuously puts enemies around herself and the target to <$ba.sleep>Sleep; Talent 1 effect increases to <@ba.vup>2.4x\n<@ba.rem>Can manually deactivate skill at any time","name":"Sealant","desc":"Stops attacking, ATK +115%, and puts herself and the Operator within Attack Range with the lowest HP percentage to Sleep until the skill ends; continuously puts enemies around herself and the target to Sleep; Talent 1 effect increases to 2.4x\nCan manually deactivate skill at any time"},{"descRaw":"ATK <@ba.vup>+110%, attacks 2 enemies simultaneously, and attacking targets that are not <$ba.sleep>Asleep puts them to <$ba.sleep>Sleep for <@ba.vup>5s; all enemies awakening from <$ba.sleep>Sleep or defeated during <$ba.sleep>Sleep receive Arts damage (damage based on <$ba.sleep>Sleep duration, up to <@ba.vup>370% ATK), and put one other nearby enemy to <$ba.sleep>Sleep for <@ba.vup>5s; when other allied Operators within Attack Range receive lethal damage, they are instead put to <$ba.sleep>Sleep until fully healed or skill ends","name":"History's Bloom","desc":"ATK +110%, attacks 2 enemies simultaneously, and attacking targets that are not Asleep puts them to Sleep for 5s; all enemies awakening from Sleep or defeated during Sleep receive Arts damage (damage based on Sleep duration, up to 370% ATK), and put one other nearby enemy to Sleep for 5s; when other allied Operators within Attack Range receive lethal damage, they are instead put to Sleep until fully healed or skill ends"}],"_h":"tvuli5yzfjp2k2fkxndyk1puyk79evomv58nk88tfjp2k2"},"chess_char_5_02_b":{"name":"Titi","subProfessionName":"Incantation Medic","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>60% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 60% of the damage dealt"},"skill":{"descRaw":"ATK <@ba.vup>+150%, attacks 2 enemies simultaneously, and attacking targets that are not <$ba.sleep>Asleep puts them to <$ba.sleep>Sleep for <@ba.vup>5s; all enemies awakening from <$ba.sleep>Sleep or defeated during <$ba.sleep>Sleep receive Arts damage (damage based on <$ba.sleep>Sleep duration, up to <@ba.vup>400% ATK), and put one other nearby enemy to <$ba.sleep>Sleep for <@ba.vup>5s; when other allied Operators within Attack Range receive lethal damage, they are instead put to <$ba.sleep>Sleep until fully healed or skill ends","name":"History's Bloom","desc":"ATK +150%, attacks 2 enemies simultaneously, and attacking targets that are not Asleep puts them to Sleep for 5s; all enemies awakening from Sleep or defeated during Sleep receive Arts damage (damage based on Sleep duration, up to 400% ATK), and put one other nearby enemy to Sleep for 5s; when other allied Operators within Attack Range receive lethal damage, they are instead put to Sleep until fully healed or skill ends"},"talents":[{"descRaw":"Can attack <$ba.sleep>Sleeping enemies, and when attacking stationary enemies, deals an additional 15% ATK as Arts damage; when deployed, <$ba.sleep>Sleeping enemies receive 30% of Titi's ATK as Arts damage per second","name":"Frozen in Time","desc":"Can attack Sleeping enemies, and when attacking stationary enemies, deals an additional 15% ATK as Arts damage; when deployed, Sleeping enemies receive 30% of Titi's ATK as Arts damage per second"},{"descRaw":"Deployed [Minos] and [Sargon] Operators gain <$ba.strong>Vigor effect of +20 ASPD when HP is above 50%","name":"Courage's Reward","desc":"Deployed [Minos] and [Sargon] Operators gain Vigor effect of +20 ASPD when HP is above 50%"}],"module":{"name":"Gifts from Columbia"},"skills":[{"descRaw":"ATK <@ba.vup>+80%, and every attack has a <@ba.vup>40% chance to put the target to <$ba.sleep>Sleep for <@ba.vup>2.4s","name":"Anti-Degradative","desc":"ATK +80%, and every attack has a 40% chance to put the target to Sleep for 2.4s"},{"descRaw":"<@ba.vdown>Stops attacking, ATK <@ba.vup>+150%, and puts herself and the Operator within Attack Range with the lowest HP percentage to <$ba.sleep>Sleep until the skill ends; continuously puts enemies around herself and the target to <$ba.sleep>Sleep; Talent 1 effect increases to <@ba.vup>2.8x\n<@ba.rem>Can manually deactivate skill at any time","name":"Sealant","desc":"Stops attacking, ATK +150%, and puts herself and the Operator within Attack Range with the lowest HP percentage to Sleep until the skill ends; continuously puts enemies around herself and the target to Sleep; Talent 1 effect increases to 2.8x\nCan manually deactivate skill at any time"},{"descRaw":"ATK <@ba.vup>+150%, attacks 2 enemies simultaneously, and attacking targets that are not <$ba.sleep>Asleep puts them to <$ba.sleep>Sleep for <@ba.vup>5s; all enemies awakening from <$ba.sleep>Sleep or defeated during <$ba.sleep>Sleep receive Arts damage (damage based on <$ba.sleep>Sleep duration, up to <@ba.vup>400% ATK), and put one other nearby enemy to <$ba.sleep>Sleep for <@ba.vup>5s; when other allied Operators within Attack Range receive lethal damage, they are instead put to <$ba.sleep>Sleep until fully healed or skill ends","name":"History's Bloom","desc":"ATK +150%, attacks 2 enemies simultaneously, and attacking targets that are not Asleep puts them to Sleep for 5s; all enemies awakening from Sleep or defeated during Sleep receive Arts damage (damage based on Sleep duration, up to 400% ATK), and put one other nearby enemy to Sleep for 5s; when other allied Operators within Attack Range receive lethal damage, they are instead put to Sleep until fully healed or skill ends"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>50% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 50% of the damage dealt"},"talentsBase":[{"descRaw":"Can attack <$ba.sleep>Sleeping enemies, and when attacking stationary enemies, deals an additional 15% ATK as Arts damage; when deployed, <$ba.sleep>Sleeping enemies receive 30% of Titi's ATK as Arts damage per second","name":"Frozen in Time","desc":"Can attack Sleeping enemies, and when attacking stationary enemies, deals an additional 15% ATK as Arts damage; when deployed, Sleeping enemies receive 30% of Titi's ATK as Arts damage per second"},{"descRaw":"Deployed [Minos] and [Sargon] Operators gain <$ba.strong>Vigor effect of +20 ASPD when HP is above 50%","name":"Courage's Reward","desc":"Deployed [Minos] and [Sargon] Operators gain Vigor effect of +20 ASPD when HP is above 50%"}],"modules":[{"name":"Gifts from Columbia","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>60% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 60% of the damage dealt"}}],"_h":"tvuluaryz9p298fkxndyk1puyk79jlomfbxok8toz9p298i5yzfkxndyk1puyk79uary"},"chess_char_5_03_a":{"name":"Blaze the Igniting Spark","subProfessionName":"Primal Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","desc":"Attacks deal Arts damage, and can inflict Elemental Damage"},"skill":{"descRaw":"Attack Range <@ba.vup>changes, ATK <@ba.vup>+70%, Attack Interval <@ba.vup>greatly reduces, and normal attacks now deal AoE damage; if target is under the burst effect of <$ba.dt.burning2>Burn, deals an additional <@ba.vup>60% ATK as Elemental Damage\n<@ba.rem>Loses 3% of Max HP every second; skill activation grants 18 ammo, and whenever an enemy enters the burst effect of <$ba.dt.burning2>Burn, gains 2 additional ammo; skill ends when all ammo is used (Can manually deactivate skill)","name":"Pyre of Perdition","desc":"Attack Range changes, ATK +70%, Attack Interval greatly reduces, and normal attacks now deal AoE damage; if target is under the burst effect of Burn, deals an additional 60% ATK as Elemental Damage\nLoses 3% of Max HP every second; skill activation grants 18 ammo, and whenever an enemy enters the burst effect of Burn, gains 2 additional ammo; skill ends when all ammo is used (Can manually deactivate skill)"},"talents":[{"descRaw":"Whenever an enemy triggers a <$ba.dt.burning2>Burn burst, immediately deals 350% ATK as Elemental Damage to that enemy and recovers 12% Max HP","name":"Meltdown","desc":"Whenever an enemy triggers a Burn burst, immediately deals 350% ATK as Elemental Damage to that enemy and recovers 12% Max HP"},{"descRaw":"When defeated, becomes downed instead and gains 6000 <$ba.barrier>Barrier; cannot attack or be healed while downed, but recovers 3% HP per second; once HP is full, revives and <$ba.stun>stuns nearby enemies for 5s","name":"From the Ashes","desc":"When defeated, becomes downed instead and gains 6000 Barrier; cannot attack or be healed while downed, but recovers 3% HP per second; once HP is full, revives and stuns nearby enemies for 5s"}],"module":{"name":"The Fervent Longing"},"skills":[{"descRaw":"Selects the Operator with the highest Max HP within range, dealing <@ba.vup>46% ATK as Arts damage and <@ba.vup>30% of that Arts damage as <$ba.dt.burning2>Burn to all enemies surrounding that Operator every second for 20s","name":"Hand in Heated Hand","desc":"Selects the Operator with the highest Max HP within range, dealing 46% ATK as Arts damage and 30% of that Arts damage as Burn to all enemies surrounding that Operator every second for 20s"},{"descRaw":"Attack Range <@ba.vup>changes, Attack Interval <@ba.vdown>increases, ATK <@ba.vup>+90%, and attacks <@ba.vup>3 enemies at once; when attacking, loses <@ba.vdown>5% HP and sets a burning field at the location of the target: passing enemies have <@ba.vup>-50% Movement Speed and take <@ba.vup>35% of Blaze the Igniting Spark's ATK as Arts damage and <@ba.vup>30% of that Arts damage as <$ba.dt.burning2>Burn every second","name":"Boiling Blood Ablaze","desc":"Attack Range changes, Attack Interval increases, ATK +90%, and attacks 3 enemies at once; when attacking, loses 5% HP and sets a burning field at the location of the target: passing enemies have -50% Movement Speed and take 35% of Blaze the Igniting Spark's ATK as Arts damage and 30% of that Arts damage as Burn every second"},{"descRaw":"Attack Range <@ba.vup>changes, ATK <@ba.vup>+70%, Attack Interval <@ba.vup>greatly reduces, and normal attacks now deal AoE damage; if target is under the burst effect of <$ba.dt.burning2>Burn, deals an additional <@ba.vup>60% ATK as Elemental Damage\n<@ba.rem>Loses 3% of Max HP every second; skill activation grants 18 ammo, and whenever an enemy enters the burst effect of <$ba.dt.burning2>Burn, gains 2 additional ammo; skill ends when all ammo is used (Can manually deactivate skill)","name":"Pyre of Perdition","desc":"Attack Range changes, ATK +70%, Attack Interval greatly reduces, and normal attacks now deal AoE damage; if target is under the burst effect of Burn, deals an additional 60% ATK as Elemental Damage\nLoses 3% of Max HP every second; skill activation grants 18 ammo, and whenever an enemy enters the burst effect of Burn, gains 2 additional ammo; skill ends when all ammo is used (Can manually deactivate skill)"}],"_h":"8ycm8odog3tkqhyl5xj20cd4dvbk9aheaddfze4wg3tkqh"},"chess_char_5_03_b":{"name":"Blaze the Igniting Spark","subProfessionName":"Primal Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","moduleDescRaw":"Damage dealt to enemies under an Elemental Burst effect increased to 110%","desc":"Attacks deal Arts damage, and can inflict Elemental Damage","moduleDesc":"Damage dealt to enemies under an Elemental Burst effect increased to 110%"},"skill":{"descRaw":"Attack Range <@ba.vup>changes, ATK <@ba.vup>+85%, Attack Interval <@ba.vup>greatly reduces, and normal attacks now deal AoE damage; if target is under the burst effect of <$ba.dt.burning2>Burn, deals an additional <@ba.vup>70% ATK as Elemental Damage\n<@ba.rem>Loses 3% of Max HP every second; skill activation grants 21 ammo, and whenever an enemy enters the burst effect of <$ba.dt.burning2>Burn, gains 2 additional ammo; skill ends when all ammo is used (Can manually deactivate skill)","name":"Pyre of Perdition","desc":"Attack Range changes, ATK +85%, Attack Interval greatly reduces, and normal attacks now deal AoE damage; if target is under the burst effect of Burn, deals an additional 70% ATK as Elemental Damage\nLoses 3% of Max HP every second; skill activation grants 21 ammo, and whenever an enemy enters the burst effect of Burn, gains 2 additional ammo; skill ends when all ammo is used (Can manually deactivate skill)"},"talents":[{"descRaw":"Whenever an enemy triggers a <$ba.dt.burning2>Burn burst, immediately deals 350% ATK as Elemental Damage to that enemy and recovers 12% Max HP","name":"Meltdown","desc":"Whenever an enemy triggers a Burn burst, immediately deals 350% ATK as Elemental Damage to that enemy and recovers 12% Max HP"},{"descRaw":"When defeated, becomes downed instead and gains 6000 <$ba.barrier>Barrier; cannot attack or be healed while downed, but recovers 3% HP per second; once HP is full, revives and <$ba.stun>stuns nearby enemies for 5s","name":"From the Ashes","desc":"When defeated, becomes downed instead and gains 6000 Barrier; cannot attack or be healed while downed, but recovers 3% HP per second; once HP is full, revives and stuns nearby enemies for 5s"}],"module":{"name":"The Fervent Longing"},"skills":[{"descRaw":"Selects the Operator with the highest Max HP within range, dealing <@ba.vup>55% ATK as Arts damage and <@ba.vup>30% of that Arts damage as <$ba.dt.burning2>Burn to all enemies surrounding that Operator every second for 20s","name":"Hand in Heated Hand","desc":"Selects the Operator with the highest Max HP within range, dealing 55% ATK as Arts damage and 30% of that Arts damage as Burn to all enemies surrounding that Operator every second for 20s"},{"descRaw":"Attack Range <@ba.vup>changes, Attack Interval <@ba.vdown>increases, ATK <@ba.vup>+120%, and attacks <@ba.vup>3 enemies at once; when attacking, loses <@ba.vdown>5% HP and sets a burning field at the location of the target: passing enemies have <@ba.vup>-50% Movement Speed and take <@ba.vup>35% of Blaze the Igniting Spark's ATK as Arts damage and <@ba.vup>30% of that Arts damage as <$ba.dt.burning2>Burn every second","name":"Boiling Blood Ablaze","desc":"Attack Range changes, Attack Interval increases, ATK +120%, and attacks 3 enemies at once; when attacking, loses 5% HP and sets a burning field at the location of the target: passing enemies have -50% Movement Speed and take 35% of Blaze the Igniting Spark's ATK as Arts damage and 30% of that Arts damage as Burn every second"},{"descRaw":"Attack Range <@ba.vup>changes, ATK <@ba.vup>+85%, Attack Interval <@ba.vup>greatly reduces, and normal attacks now deal AoE damage; if target is under the burst effect of <$ba.dt.burning2>Burn, deals an additional <@ba.vup>70% ATK as Elemental Damage\n<@ba.rem>Loses 3% of Max HP every second; skill activation grants 21 ammo, and whenever an enemy enters the burst effect of <$ba.dt.burning2>Burn, gains 2 additional ammo; skill ends when all ammo is used (Can manually deactivate skill)","name":"Pyre of Perdition","desc":"Attack Range changes, ATK +85%, Attack Interval greatly reduces, and normal attacks now deal AoE damage; if target is under the burst effect of Burn, deals an additional 70% ATK as Elemental Damage\nLoses 3% of Max HP every second; skill activation grants 21 ammo, and whenever an enemy enters the burst effect of Burn, gains 2 additional ammo; skill ends when all ammo is used (Can manually deactivate skill)"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","desc":"Attacks deal Arts damage, and can inflict Elemental Damage"},"talentsBase":[{"descRaw":"Whenever an enemy triggers a <$ba.dt.burning2>Burn burst, immediately deals 350% ATK as Elemental Damage to that enemy and recovers 12% Max HP","name":"Meltdown","desc":"Whenever an enemy triggers a Burn burst, immediately deals 350% ATK as Elemental Damage to that enemy and recovers 12% Max HP"},{"descRaw":"When defeated, becomes downed instead and gains 6000 <$ba.barrier>Barrier; cannot attack or be healed while downed, but recovers 3% HP per second; once HP is full, revives and <$ba.stun>stuns nearby enemies for 5s","name":"From the Ashes","desc":"When defeated, becomes downed instead and gains 6000 Barrier; cannot attack or be healed while downed, but recovers 3% HP per second; once HP is full, revives and stuns nearby enemies for 5s"}],"modules":[{"name":"The Fervent Longing","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","moduleDescRaw":"Damage dealt to enemies under an Elemental Burst effect increased to 110%","desc":"Attacks deal Arts damage, and can inflict Elemental Damage","moduleDesc":"Damage dealt to enemies under an Elemental Burst effect increased to 110%"}},{"name":"Little Communication Helper","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","moduleDescRaw":"SP recovery +0.2/s when there are enemies under the burst effect of Elemental Injury within range","desc":"Attacks deal Arts damage, and can inflict Elemental Damage","moduleDesc":"SP recovery +0.2/s when there are enemies under the burst effect of Elemental Injury within range"}}],"_h":"8ycm8owrdowra4tk4gyl5xj20cd4dvbkcuhe3pltzedca4tk4g8odoyl5xj20cd4dvbk8owrdowr298oe5doe5"},"chess_char_5_04_a":{"name":"Warfarin","subProfessionName":"Medic","trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"skill":{"descRaw":"The next heal restores an additional <@ba.vup>15% of its target's Max HP\n<@ba.rem>Only available when the target's HP is lower than 50%; Can store 2 charge(s)","name":"Emergency Triage","desc":"The next heal restores an additional 15% of its target's Max HP\nOnly available when the target's HP is lower than 50%; Can store 2 charge(s)"},"talents":[{"descRaw":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed","name":"Blood Sample Recycle","desc":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed"}],"module":{"name":"Emergency Reserves"},"skills":[{"descRaw":"The next heal restores an additional <@ba.vup>15% of its target's Max HP\n<@ba.rem>Only available when the target's HP is lower than 50%; Can store 2 charge(s)","name":"Emergency Triage","desc":"The next heal restores an additional 15% of its target's Max HP\nOnly available when the target's HP is lower than 50%; Can store 2 charge(s)"},{"descRaw":"Warfarin and a random ally within range obtain the following status:\nATK <@ba.vup>+45% and loses <@ba.vdown>3% of Max HP every second, lasting for <@ba.vup>15 seconds","name":"Unstable Plasma","desc":"Warfarin and a random ally within range obtain the following status:\nATK +45% and loses 3% of Max HP every second, lasting for 15 seconds"}],"_h":"jh7q7676xbumlw95h4953vxbumlwmhincn"},"chess_char_5_04_b":{"name":"Warfarin","subProfessionName":"Medic","trait":{"descRaw":"Restores the HP of allies","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Restores the HP of allies","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"},"skill":{"descRaw":"The next heal restores an additional <@ba.vup>19% of its target's Max HP\n<@ba.rem>Only available when the target's HP is lower than 50%; Can store 3 charge(s)","name":"Emergency Triage","desc":"The next heal restores an additional 19% of its target's Max HP\nOnly available when the target's HP is lower than 50%; Can store 3 charge(s)"},"talents":[{"descRaw":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed","name":"Blood Sample Recycle","desc":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed"}],"module":{"name":"Emergency Reserves"},"skills":[{"descRaw":"The next heal restores an additional <@ba.vup>19% of its target's Max HP\n<@ba.rem>Only available when the target's HP is lower than 50%; Can store 3 charge(s)","name":"Emergency Triage","desc":"The next heal restores an additional 19% of its target's Max HP\nOnly available when the target's HP is lower than 50%; Can store 3 charge(s)"},{"descRaw":"Warfarin and a random ally within range obtain the following status:\nATK <@ba.vup>+60% and loses <@ba.vdown>3% of Max HP every second, lasting for <@ba.vup>15 seconds","name":"Unstable Plasma","desc":"Warfarin and a random ally within range obtain the following status:\nATK +60% and loses 3% of Max HP every second, lasting for 15 seconds"}],"traitBase":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"talentsBase":[{"descRaw":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed","name":"Blood Sample Recycle","desc":"Restores 2 Skill Points to this Operator and a random ally within range when an enemy within range is killed"}],"modules":[{"name":"Emergency Reserves","traitOverride":{"descRaw":"Restores the HP of allies","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Restores the HP of allies","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"}}],"_h":"jh7q76by76dw78umel95h4953v78umelpoinuw767695h4953v76by76dw"},"chess_char_5_05_a":{"name":"Ulpianus","subProfessionName":"Crusher","trait":{"descRaw":"Attacks <@ba.kw>all blocked enemies","desc":"Attacks all blocked enemies"},"skill":{"descRaw":"Max HP <@ba.vup>+40%, ATK <@ba.vup>+200%. Immediately throws an anchor forward, stopping when hitting a target or reaching the max distance, dealing <@ba.vup>135% ATK as Physical damage to all nearby enemies and Stunning them for <@ba.vup>6 seconds. If the anchor stops on a tile he can deploy on, Ulpianus will <$ba.addash>Move to that tile\n<@ba.rem>Skill can be manually deactivated; when skill ends, Ulpianus returns to his original position","name":"Paths Must Be Opened","desc":"Max HP +40%, ATK +200%. Immediately throws an anchor forward, stopping when hitting a target or reaching the max distance, dealing 135% ATK as Physical damage to all nearby enemies and Stunning them for 6 seconds. If the anchor stops on a tile he can deploy on, Ulpianus will Move to that tile\nSkill can be manually deactivated; when skill ends, Ulpianus returns to his original position"},"talents":[{"descRaw":"Restores 100 HP whenever taking damage; if HP is below 50%, restores 160 HP instead","name":"Natural Holdfast","desc":"Restores 100 HP whenever taking damage; if HP is below 50%, restores 160 HP instead"},{"descRaw":"Increases Max HP by 120 and ATK by 30 after defeating an enemy, stacking up to 9 times; other [Abyssal Hunter] Operators gain 50% of this boost effect","name":"Nourish the Blood","desc":"Increases Max HP by 120 and ATK by 30 after defeating an enemy, stacking up to 9 times; other [Abyssal Hunter] Operators gain 50% of this boost effect"}],"module":{"name":"Vestiarium Ulpiani"},"skills":[{"descRaw":"Throws an anchor forward, dragging 2 enemies caught by it towards this unit <@ba.vup>moderately, dealing <@ba.vup>185% ATK as Physical damage","name":"Contact Must Be Made","desc":"Throws an anchor forward, dragging 2 enemies caught by it towards this unit moderately, dealing 185% ATK as Physical damage"},{"descRaw":"Talent 1's effect increases to <@ba.vup>1.6x, Block <@ba.vup>+1, Max HP <@ba.vup>+30%, ATK <@ba.vup>+115%\n<@ba.rem>Unlimited duration","name":"Boundaries Must Be Kept","desc":"Talent 1's effect increases to 1.6x, Block +1, Max HP +30%, ATK +115%\nUnlimited duration"},{"descRaw":"Max HP <@ba.vup>+40%, ATK <@ba.vup>+200%. Immediately throws an anchor forward, stopping when hitting a target or reaching the max distance, dealing <@ba.vup>135% ATK as Physical damage to all nearby enemies and Stunning them for <@ba.vup>6 seconds. If the anchor stops on a tile he can deploy on, Ulpianus will <$ba.addash>Move to that tile\n<@ba.rem>Skill can be manually deactivated; when skill ends, Ulpianus returns to his original position","name":"Paths Must Be Opened","desc":"Max HP +40%, ATK +200%. Immediately throws an anchor forward, stopping when hitting a target or reaching the max distance, dealing 135% ATK as Physical damage to all nearby enemies and Stunning them for 6 seconds. If the anchor stops on a tile he can deploy on, Ulpianus will Move to that tile\nSkill can be manually deactivated; when skill ends, Ulpianus returns to his original position"}],"_h":"9iaoaaye19ozpwvpb6vphsrthsayl5s9tdwk50ri19ozpw"},"chess_char_5_05_b":{"name":"Ulpianus","subProfessionName":"Crusher","trait":{"descRaw":"Attacks <@ba.kw>all blocked enemies","moduleDescRaw":"Have <@ba.kw>+20% healing effectiveness","desc":"Attacks all blocked enemies","moduleDesc":"Have +20% healing effectiveness"},"skill":{"descRaw":"Max HP <@ba.vup>+60%, ATK <@ba.vup>+230%. Immediately throws an anchor forward, stopping when hitting a target or reaching the max distance, dealing <@ba.vup>140% ATK as Physical damage to all nearby enemies and Stunning them for <@ba.vup>6 seconds. If the anchor stops on a tile he can deploy on, Ulpianus will <$ba.addash>Move to that tile\n<@ba.rem>Skill can be manually deactivated; when skill ends, Ulpianus returns to his original position","name":"Paths Must Be Opened","desc":"Max HP +60%, ATK +230%. Immediately throws an anchor forward, stopping when hitting a target or reaching the max distance, dealing 140% ATK as Physical damage to all nearby enemies and Stunning them for 6 seconds. If the anchor stops on a tile he can deploy on, Ulpianus will Move to that tile\nSkill can be manually deactivated; when skill ends, Ulpianus returns to his original position"},"talents":[{"descRaw":"Restores 100 HP whenever taking damage; if HP is below 50%, restores 160 HP instead","name":"Natural Holdfast","desc":"Restores 100 HP whenever taking damage; if HP is below 50%, restores 160 HP instead"},{"descRaw":"Increases Max HP by 120 and ATK by 30 after defeating an enemy, stacking up to 9 times; other [Abyssal Hunter] Operators gain 50% of this boost effect","name":"Nourish the Blood","desc":"Increases Max HP by 120 and ATK by 30 after defeating an enemy, stacking up to 9 times; other [Abyssal Hunter] Operators gain 50% of this boost effect"}],"module":{"name":"Vestiarium Ulpiani"},"skills":[{"descRaw":"Throws an anchor forward, dragging 2 enemies caught by it towards this unit <@ba.vup>moderately, dealing <@ba.vup>210% ATK as Physical damage","name":"Contact Must Be Made","desc":"Throws an anchor forward, dragging 2 enemies caught by it towards this unit moderately, dealing 210% ATK as Physical damage"},{"descRaw":"Talent 1's effect increases to <@ba.vup>1.8x, Block <@ba.vup>+1, Max HP <@ba.vup>+40%, ATK <@ba.vup>+130%\n<@ba.rem>Unlimited duration","name":"Boundaries Must Be Kept","desc":"Talent 1's effect increases to 1.8x, Block +1, Max HP +40%, ATK +130%\nUnlimited duration"},{"descRaw":"Max HP <@ba.vup>+60%, ATK <@ba.vup>+230%. Immediately throws an anchor forward, stopping when hitting a target or reaching the max distance, dealing <@ba.vup>140% ATK as Physical damage to all nearby enemies and Stunning them for <@ba.vup>6 seconds. If the anchor stops on a tile he can deploy on, Ulpianus will <$ba.addash>Move to that tile\n<@ba.rem>Skill can be manually deactivated; when skill ends, Ulpianus returns to his original position","name":"Paths Must Be Opened","desc":"Max HP +60%, ATK +230%. Immediately throws an anchor forward, stopping when hitting a target or reaching the max distance, dealing 140% ATK as Physical damage to all nearby enemies and Stunning them for 6 seconds. If the anchor stops on a tile he can deploy on, Ulpianus will Move to that tile\nSkill can be manually deactivated; when skill ends, Ulpianus returns to his original position"}],"traitBase":{"descRaw":"Attacks <@ba.kw>all blocked enemies","desc":"Attacks all blocked enemies"},"talentsBase":[{"descRaw":"Restores 100 HP whenever taking damage; if HP is below 50%, restores 160 HP instead","name":"Natural Holdfast","desc":"Restores 100 HP whenever taking damage; if HP is below 50%, restores 160 HP instead"},{"descRaw":"Increases Max HP by 120 and ATK by 30 after defeating an enemy, stacking up to 9 times; other [Abyssal Hunter] Operators gain 50% of this boost effect","name":"Nourish the Blood","desc":"Increases Max HP by 120 and ATK by 30 after defeating an enemy, stacking up to 9 times; other [Abyssal Hunter] Operators gain 50% of this boost effect"}],"modules":[{"name":"Vestiarium Ulpiani","traitOverride":{"descRaw":"Attacks <@ba.kw>all blocked enemies","moduleDescRaw":"Have <@ba.kw>+20% healing effectiveness","desc":"Attacks all blocked enemies","moduleDesc":"Have +20% healing effectiveness"}}],"_h":"9iaoaas8yekmaaozetvpb6vphsrthsay3ks9fmxi50qsaaozetaayevpb6vphsrthsayaas8yekm"},"chess_char_5_06_a":{"name":"Entelechia","subProfessionName":"Reaper","trait":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AOE Damage; Recovers <@ba.kw>50 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AOE Damage; Recovers 50 HP for every enemy hit during attacks, up to Block count"},"skill":{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+80%, ASPD <@ba.vup>+100, and immediately summons Heart Candles tied to up to <@ba.vup>3 ground enemies within range with the highest HP; attacks against the Heart Candles deal at least <@ba.vup>35% ATK as damage to them; Heart Candles inherit <@ba.vdown>60% of the corresponding enemy's current HP, and when attacked, that enemy will lose the same amount of HP as the Heart Candle\n<@ba.rem>Heart Candles are only affected by Entelechia's attacks","name":"Clinging Desire, Longing Spirit","desc":"Attack Range increases, ATK +80%, ASPD +100, and immediately summons Heart Candles tied to up to 3 ground enemies within range with the highest HP; attacks against the Heart Candles deal at least 35% ATK as damage to them; Heart Candles inherit 60% of the corresponding enemy's current HP, and when attacked, that enemy will lose the same amount of HP as the Heart Candle\nHeart Candles are only affected by Entelechia's attacks"},"talents":[{"descRaw":"Attacks <$ba.steal>Steal 75 Max HP from the target (Caps at 1350) and deal 200 Arts damage per second to the target for 5s","name":"Blood Bank","desc":"Attacks Steal 75 Max HP from the target (Caps at 1350) and deal 200 Arts damage per second to the target for 5s"},{"descRaw":"When HP drops below 25% for the first time, immediately recovers 50% of Max HP and reduces Physical damage taken by 10% from that point onwards","name":"Second Serving","desc":"When HP drops below 25% for the first time, immediately recovers 50% of Max HP and reduces Physical damage taken by 10% from that point onwards"}],"module":{"name":"A Ferry that Withers"},"skills":[{"descRaw":"The ATK of next attack increases to <@ba.vup>125%, attacking twice consecutively","name":"Chasing the Rose Shadow","desc":"The ATK of next attack increases to 125%, attacking twice consecutively"},{"descRaw":"Stops attacking and summons blood scythes around this unit and <@ba.vup>1 other ground unit to slash at all surrounding enemies, dealing <@ba.vup>135% ATK as Physical damage every <@ba.vup>0.5s","name":"Crimson Harvest","desc":"Stops attacking and summons blood scythes around this unit and 1 other ground unit to slash at all surrounding enemies, dealing 135% ATK as Physical damage every 0.5s"},{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+80%, ASPD <@ba.vup>+100, and immediately summons Heart Candles tied to up to <@ba.vup>3 ground enemies within range with the highest HP; attacks against the Heart Candles deal at least <@ba.vup>35% ATK as damage to them; Heart Candles inherit <@ba.vdown>60% of the corresponding enemy's current HP, and when attacked, that enemy will lose the same amount of HP as the Heart Candle\n<@ba.rem>Heart Candles are only affected by Entelechia's attacks","name":"Clinging Desire, Longing Spirit","desc":"Attack Range increases, ATK +80%, ASPD +100, and immediately summons Heart Candles tied to up to 3 ground enemies within range with the highest HP; attacks against the Heart Candles deal at least 35% ATK as damage to them; Heart Candles inherit 60% of the corresponding enemy's current HP, and when attacked, that enemy will lose the same amount of HP as the Heart Candle\nHeart Candles are only affected by Entelechia's attacks"}],"_h":"r5xoggo0mjjdl6egueb3hztchzvoe4a7vt6t4ldmmjjdl6"},"chess_char_5_06_b":{"name":"Entelechia","subProfessionName":"Reaper","trait":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AoE damage; Recovers <@ba.kw>60 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AoE damage; Recovers 60 HP for every enemy hit during attacks, up to Block count"},"skill":{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+110%, ASPD <@ba.vup>+100, and immediately summons Heart Candles tied to up to <@ba.vup>3 ground enemies within range with the highest HP; attacks against the Heart Candles deal at least <@ba.vup>35% ATK as damage to them; Heart Candles inherit <@ba.vdown>60% of the corresponding enemy's current HP, and when attacked, that enemy will lose the same amount of HP as the Heart Candle\n<@ba.rem>Heart Candles are only affected by Entelechia's attacks","name":"Clinging Desire, Longing Spirit","desc":"Attack Range increases, ATK +110%, ASPD +100, and immediately summons Heart Candles tied to up to 3 ground enemies within range with the highest HP; attacks against the Heart Candles deal at least 35% ATK as damage to them; Heart Candles inherit 60% of the corresponding enemy's current HP, and when attacked, that enemy will lose the same amount of HP as the Heart Candle\nHeart Candles are only affected by Entelechia's attacks"},"talents":[{"descRaw":"Attacks <$ba.steal>Steal 75 Max HP from the target (Caps at 1350) and deal 200 Arts damage per second to the target for 5s","name":"Blood Bank","desc":"Attacks Steal 75 Max HP from the target (Caps at 1350) and deal 200 Arts damage per second to the target for 5s"},{"descRaw":"When HP drops below 25% for the first time, immediately recovers 50% of Max HP and reduces Physical damage taken by 10% from that point onwards","name":"Second Serving","desc":"When HP drops below 25% for the first time, immediately recovers 50% of Max HP and reduces Physical damage taken by 10% from that point onwards"}],"module":{"name":"A Ferry that Withers"},"skills":[{"descRaw":"The ATK of next attack increases to <@ba.vup>145%, attacking twice consecutively","name":"Chasing the Rose Shadow","desc":"The ATK of next attack increases to 145%, attacking twice consecutively"},{"descRaw":"Stops attacking and summons blood scythes around this unit and <@ba.vup>1 other ground unit to slash at all surrounding enemies, dealing <@ba.vup>170% ATK as Physical damage every <@ba.vup>0.5s","name":"Crimson Harvest","desc":"Stops attacking and summons blood scythes around this unit and 1 other ground unit to slash at all surrounding enemies, dealing 170% ATK as Physical damage every 0.5s"},{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+110%, ASPD <@ba.vup>+100, and immediately summons Heart Candles tied to up to <@ba.vup>3 ground enemies within range with the highest HP; attacks against the Heart Candles deal at least <@ba.vup>35% ATK as damage to them; Heart Candles inherit <@ba.vdown>60% of the corresponding enemy's current HP, and when attacked, that enemy will lose the same amount of HP as the Heart Candle\n<@ba.rem>Heart Candles are only affected by Entelechia's attacks","name":"Clinging Desire, Longing Spirit","desc":"Attack Range increases, ATK +110%, ASPD +100, and immediately summons Heart Candles tied to up to 3 ground enemies within range with the highest HP; attacks against the Heart Candles deal at least 35% ATK as damage to them; Heart Candles inherit 60% of the corresponding enemy's current HP, and when attacked, that enemy will lose the same amount of HP as the Heart Candle\nHeart Candles are only affected by Entelechia's attacks"}],"traitBase":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AOE Damage; Recovers <@ba.kw>50 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AOE Damage; Recovers 50 HP for every enemy hit during attacks, up to Block count"},"talentsBase":[{"descRaw":"Attacks <$ba.steal>Steal 75 Max HP from the target (Caps at 1350) and deal 200 Arts damage per second to the target for 5s","name":"Blood Bank","desc":"Attacks Steal 75 Max HP from the target (Caps at 1350) and deal 200 Arts damage per second to the target for 5s"},{"descRaw":"When HP drops below 25% for the first time, immediately recovers 50% of Max HP and reduces Physical damage taken by 10% from that point onwards","name":"Second Serving","desc":"When HP drops below 25% for the first time, immediately recovers 50% of Max HP and reduces Physical damage taken by 10% from that point onwards"}],"modules":[{"name":"A Ferry that Withers","traitOverride":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AoE damage; Recovers <@ba.kw>60 HP for every enemy hit during attacks, up to Block count","desc":"Cannot be healed by allies; Attacks deal AoE damage; Recovers 60 HP for every enemy hit during attacks, up to Block count"}},{"name":"A Collection of Rosy Tales","traitOverride":{"descRaw":"Cannot be healed by allies; Attacks deal <@ba.kw>AOE Damage; Recovers <@ba.kw>50 HP for every enemy hit during attacks, up to Block count","moduleDescRaw":"When there are 2 or more enemies within Attack Range, ASPD <@ba.kw>+12","desc":"Cannot be healed by allies; Attacks deal AOE Damage; Recovers 50 HP for every enemy hit during attacks, up to Block count","moduleDesc":"When there are 2 or more enemies within Attack Range, ASPD +12"}}],"_h":"r5xoczmpxrjda4egueb3hztchzvo0aa7trgc4lnpxrjda4ggo0egueb3hztchzvoczmphmgg62o0p4"},"chess_char_5_07_a":{"name":"Surtr","subProfessionName":"Arts Fighter","trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"skill":{"descRaw":"Immediately recover all HP; ATK <@ba.vup>+210%, attack range <@ba.vup>+2, attack target count <@ba.vup>+2 and Max HP <@ba.vup>+5000. Gradually lose HP (HP loss caps at 20%/second after <@ba.vup>60 seconds); <@ba.rem>Unlimited duration","name":"Twilight","desc":"Immediately recover all HP; ATK +210%, attack range +2, attack target count +2 and Max HP +5000. Gradually lose HP (HP loss caps at 20%/second after 60 seconds); Unlimited duration"},"talents":[{"descRaw":"Attacks ignore 20 RES","name":"Molten Flame","desc":"Attacks ignore 20 RES"},{"descRaw":"After receiving fatal damage, continuously prevent HP from falling below 1. Retreat from the battlefield 8 seconds later","name":"Remnant Ash","desc":"After receiving fatal damage, continuously prevent HP from falling below 1. Retreat from the battlefield 8 seconds later"}],"module":{"name":"Heart of Sami"},"skills":[{"descRaw":"Increases the ATK of the next attack to <@ba.vup>220%. If the target is defeated, immediately recover all Skill Points","name":"Laevatain","desc":"Increases the ATK of the next attack to 220%. If the target is defeated, immediately recover all Skill Points"},{"descRaw":"ATK <@ba.vup>+65%, attack range <@ba.vup>+1 and attack target count <@ba.vup>+1. When attacking only one enemy, deal <@ba.vup>140% ATK as damage to the target","name":"Molten Giant","desc":"ATK +65%, attack range +1 and attack target count +1. When attacking only one enemy, deal 140% ATK as damage to the target"},{"descRaw":"Immediately recover all HP; ATK <@ba.vup>+210%, attack range <@ba.vup>+2, attack target count <@ba.vup>+2 and Max HP <@ba.vup>+5000. Gradually lose HP (HP loss caps at 20%/second after <@ba.vup>60 seconds); <@ba.rem>Unlimited duration","name":"Twilight","desc":"Immediately recover all HP; ATK +210%, attack range +2, attack target count +2 and Max HP +5000. Gradually lose HP (HP loss caps at 20%/second after 60 seconds); Unlimited duration"}],"_h":"q6c5ce5yppjo6wxeq0xe3tco3tfrbw4ms7fdnynxppjo6w"},"chess_char_5_07_b":{"name":"Surtr","subProfessionName":"Arts Fighter","trait":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"ASPD <@ba.kw>+8 when not blocking an enemy","desc":"Deals Arts damage","moduleDesc":"ASPD +8 when not blocking an enemy"},"skill":{"descRaw":"Immediately recover all HP; ATK <@ba.vup>+240%, attack range <@ba.vup>+2, attack target count <@ba.vup>+2 and Max HP <@ba.vup>+5000. Gradually lose HP (HP loss caps at 20%/second after <@ba.vup>60 seconds); <@ba.rem>Unlimited duration","name":"Twilight","desc":"Immediately recover all HP; ATK +240%, attack range +2, attack target count +2 and Max HP +5000. Gradually lose HP (HP loss caps at 20%/second after 60 seconds); Unlimited duration"},"talents":[{"descRaw":"Attacks ignore 20 RES","name":"Molten Flame","desc":"Attacks ignore 20 RES"},{"descRaw":"After receiving fatal damage, continuously prevent HP from falling below 1. Retreat from the battlefield 8 seconds later","name":"Remnant Ash","desc":"After receiving fatal damage, continuously prevent HP from falling below 1. Retreat from the battlefield 8 seconds later"}],"module":{"name":"Heart of Sami"},"skills":[{"descRaw":"Increases the ATK of the next attack to <@ba.vup>240%. If the target is defeated, immediately recover all Skill Points","name":"Laevatain","desc":"Increases the ATK of the next attack to 240%. If the target is defeated, immediately recover all Skill Points"},{"descRaw":"ATK <@ba.vup>+80%, attack range <@ba.vup>+1 and attack target count <@ba.vup>+1. When attacking only one enemy, deal <@ba.vup>150% ATK as damage to the target","name":"Molten Giant","desc":"ATK +80%, attack range +1 and attack target count +1. When attacking only one enemy, deal 150% ATK as damage to the target"},{"descRaw":"Immediately recover all HP; ATK <@ba.vup>+240%, attack range <@ba.vup>+2, attack target count <@ba.vup>+2 and Max HP <@ba.vup>+5000. Gradually lose HP (HP loss caps at 20%/second after <@ba.vup>60 seconds); <@ba.rem>Unlimited duration","name":"Twilight","desc":"Immediately recover all HP; ATK +240%, attack range +2, attack target count +2 and Max HP +5000. Gradually lose HP (HP loss caps at 20%/second after 60 seconds); Unlimited duration"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"talentsBase":[{"descRaw":"Attacks ignore 20 RES","name":"Molten Flame","desc":"Attacks ignore 20 RES"},{"descRaw":"After receiving fatal damage, continuously prevent HP from falling below 1. Retreat from the battlefield 8 seconds later","name":"Remnant Ash","desc":"After receiving fatal damage, continuously prevent HP from falling below 1. Retreat from the battlefield 8 seconds later"}],"modules":[{"name":"Heart of Sami","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"ASPD <@ba.kw>+8 when not blocking an enemy","desc":"Deals Arts damage","moduleDesc":"ASPD +8 when not blocking an enemy"}},{"name":"Travel Necessities","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Enemies blocked by this unit receive <@ba.kw>10% <$ba.magicfragile>Arts Fragility","desc":"Deals Arts damage","moduleDesc":"Enemies blocked by this unit receive 10% Arts Fragility"}}],"_h":"q6c5cetd5ynz24jonfxeq0xe3tco3tfrri4mf5zzny8b24jonfce5yxeq0xe3tco3tfrcetd5ynzhoceux5yh6"},"chess_char_5_08_a":{"name":"Horn","subProfessionName":"Fortress","trait":{"descRaw":"When not blocking enemies, prioritizes dealing <@ba.kw>ranged AoE Physical damage","desc":"When not blocking enemies, prioritizes dealing ranged AoE Physical damage"},"skill":{"descRaw":"ATK <@ba.vup>+25%, attack interval <@ba.vup>reduced\n<$ba.overdrive>Overload: ATK becomes <@ba.vup>+50%, gradually lose HP (12% Max HP/sec after 12 seconds)<@ba.rem>Skill can be manually deactivated","name":"Ultimate Line of Defense","desc":"ATK +25%, attack interval reduced\nOverload: ATK becomes +50%, gradually lose HP (12% Max HP/sec after 12 seconds)Skill can be manually deactivated"},"talents":[{"descRaw":"When this unit is on the field, Defender Operators gain +20% ATK","name":"Military Fortress","desc":"When this unit is on the field, Defender Operators gain +20% ATK"},{"descRaw":"Instead of retreating when defeated, recover HP to max and gain -50% Max HP, +18 ASPD, and +18% DEF (triggers once per deployment)","name":"Bloodbath","desc":"Instead of retreating when defeated, recover HP to max and gain -50% Max HP, +18 ASPD, and +18% DEF (triggers once per deployment)"}],"module":{"name":"Exemplars"},"skills":[{"descRaw":"The next attack deals <@ba.vup>190% ATK as Physical damage. If it is a ranged attack, splash area is <@ba.vup>increased, and an illuminated zone is created for <@ba.vup>6 seconds, disabling enemy <$ba.invisible>Invisibility\n<@ba.rem>Can store 1 charges","name":"Flare Grenade","desc":"The next attack deals 190% ATK as Physical damage. If it is a ranged attack, splash area is increased, and an illuminated zone is created for 6 seconds, disabling enemy Invisibility\nCan store 1 charges"},{"descRaw":"Each attack deals <@ba.vup>160% ATK as Physical splash damage\n<$ba.overdrive>Overload: Each attack deals <@ba.vup>35% ATK as extra <@ba.vup>Arts splash damage. If cancelled manually, fire all remaining bullets, and lose <@ba.vdown>60%HP\n<@ba.rem>Skill has 10 ammo and can be manually deactivated","name":"Tempest Command","desc":"Each attack deals 160% ATK as Physical splash damage\nOverload: Each attack deals 35% ATK as extra Arts splash damage. If cancelled manually, fire all remaining bullets, and lose 60%HP\nSkill has 10 ammo and can be manually deactivated"},{"descRaw":"ATK <@ba.vup>+25%, attack interval <@ba.vup>reduced\n<$ba.overdrive>Overload: ATK becomes <@ba.vup>+50%, gradually lose HP (12% Max HP/sec after 12 seconds)<@ba.rem>Skill can be manually deactivated","name":"Ultimate Line of Defense","desc":"ATK +25%, attack interval reduced\nOverload: ATK becomes +50%, gradually lose HP (12% Max HP/sec after 12 seconds)Skill can be manually deactivated"}],"_h":"vwba7ti176z1ojw9bsw9j9atj9fqbi2v8g1730v276z1oj"},"chess_char_5_08_b":{"name":"Horn","subProfessionName":"Fortress","trait":{"descRaw":"When not blocking enemies, prioritizes dealing <@ba.kw>ranged AoE Physical damage","moduleDescRaw":"Increases ATK to <@ba.vup>110% when attacking blocked enemies","desc":"When not blocking enemies, prioritizes dealing ranged AoE Physical damage","moduleDesc":"Increases ATK to 110% when attacking blocked enemies"},"skill":{"descRaw":"ATK <@ba.vup>+40%, attack interval <@ba.vup>greatly reduced\n<$ba.overdrive>Overload: ATK becomes <@ba.vup>+80%, gradually lose HP (12% Max HP/sec after 12 seconds)<@ba.rem>Skill can be manually deactivated","name":"Ultimate Line of Defense","desc":"ATK +40%, attack interval greatly reduced\nOverload: ATK becomes +80%, gradually lose HP (12% Max HP/sec after 12 seconds)Skill can be manually deactivated"},"talents":[{"descRaw":"When this unit is on the field, Defender Operators gain +20% ATK","name":"Military Fortress","desc":"When this unit is on the field, Defender Operators gain +20% ATK"},{"descRaw":"Instead of retreating when defeated, recover HP to max and gain -50% Max HP, +18 ASPD, and +18% DEF (triggers once per deployment)","name":"Bloodbath","desc":"Instead of retreating when defeated, recover HP to max and gain -50% Max HP, +18 ASPD, and +18% DEF (triggers once per deployment)"}],"module":{"name":"Exemplars"},"skills":[{"descRaw":"The next attack deals <@ba.vup>220% ATK as Physical damage. If it is a ranged attack, splash area is <@ba.vup>increased, and an illuminated zone is created for <@ba.vup>7 seconds, disabling enemy <$ba.invisible>Invisibility\n<@ba.rem>Can store 2 charges","name":"Flare Grenade","desc":"The next attack deals 220% ATK as Physical damage. If it is a ranged attack, splash area is increased, and an illuminated zone is created for 7 seconds, disabling enemy Invisibility\nCan store 2 charges"},{"descRaw":"Each attack deals <@ba.vup>190% ATK as Physical splash damage\n<$ba.overdrive>Overload: Each attack deals <@ba.vup>40% ATK as extra <@ba.vup>Arts splash damage. If cancelled manually, fire all remaining bullets, and lose <@ba.vdown>60%HP\n<@ba.rem>Skill has 10 ammo and can be manually deactivated","name":"Tempest Command","desc":"Each attack deals 190% ATK as Physical splash damage\nOverload: Each attack deals 40% ATK as extra Arts splash damage. If cancelled manually, fire all remaining bullets, and lose 60%HP\nSkill has 10 ammo and can be manually deactivated"},{"descRaw":"ATK <@ba.vup>+40%, attack interval <@ba.vup>greatly reduced\n<$ba.overdrive>Overload: ATK becomes <@ba.vup>+80%, gradually lose HP (12% Max HP/sec after 12 seconds)<@ba.rem>Skill can be manually deactivated","name":"Ultimate Line of Defense","desc":"ATK +40%, attack interval greatly reduced\nOverload: ATK becomes +80%, gradually lose HP (12% Max HP/sec after 12 seconds)Skill can be manually deactivated"}],"traitBase":{"descRaw":"When not blocking enemies, prioritizes dealing <@ba.kw>ranged AoE Physical damage","desc":"When not blocking enemies, prioritizes dealing ranged AoE Physical damage"},"talentsBase":[{"descRaw":"When this unit is on the field, Defender Operators gain +20% ATK","name":"Military Fortress","desc":"When this unit is on the field, Defender Operators gain +20% ATK"},{"descRaw":"Instead of retreating when defeated, recover HP to max and gain -50% Max HP, +18 ASPD, and +18% DEF (triggers once per deployment)","name":"Bloodbath","desc":"Instead of retreating when defeated, recover HP to max and gain -50% Max HP, +18 ASPD, and +18% DEF (triggers once per deployment)"}],"modules":[{"name":"Exemplars","traitOverride":{"descRaw":"When not blocking enemies, prioritizes dealing <@ba.kw>ranged AoE Physical damage","moduleDescRaw":"Increases ATK to <@ba.vup>110% when attacking blocked enemies","desc":"When not blocking enemies, prioritizes dealing ranged AoE Physical damage","moduleDesc":"Increases ATK to 110% when attacking blocked enemies"}},{"name":"Old Clothes, New Days","traitOverride":{"descRaw":"When not blocking enemies, prioritizes dealing <@ba.kw>ranged AOE Physical damage and ASPD <@ba.vup>+10","desc":"When not blocking enemies, prioritizes dealing ranged AOE Physical damage and ASPD +10"}}],"_h":"vwba7trri1vu7az1lzw9bsw9j9atj9fqny2vxgr430sz7az1lz7ti1w9bsw9j9atj9fq7trri1vuwqn3sg"},"chess_char_5_09_a":{"name":"Civilight Eterna","subProfessionName":"Bard","trait":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration"},"skill":{"descRaw":"Attack range expands and Trait effect increases to <@ba.vup>65%. Particles no longer disappear, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>65% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every <@ba.vup>2s.","name":"The Present Reconstructed","desc":"Attack range expands and Trait effect increases to 65%. Particles no longer disappear, and all allies in attack range gain Inspiration equal to 65% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every 2s."},"talents":[{"descRaw":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s.","name":"Dust of the Past","desc":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s."},{"descRaw":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies.","name":"The Echo of Kings","desc":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies."}],"module":{"name":"Another Story"},"skills":[{"descRaw":"Trait effect increases to <@ba.vup>20% and Particle generation speed is increased.\n<@ba.rem>Unlimited duration","name":"The Past Lingering","desc":"Trait effect increases to 20% and Particle generation speed is increased.\nUnlimited duration"},{"descRaw":"Particle limit <@ba.vup>+3 and immediately gains <@ba.vup>6 Particles. Particle orbit radius expands, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>65% of Civilight Eterna's ATK. Particles no longer collide with allied Operators, and instead deal <@ba.vup>220% of Civilight Eterna's ATK as True damage when colliding with an enemy unit, and also <$ba.root>Binding them for <@ba.vup>3s.","name":"The Future Elusive","desc":"Particle limit +3 and immediately gains 6 Particles. Particle orbit radius expands, and all allies in attack range gain Inspiration equal to 65% of Civilight Eterna's ATK. Particles no longer collide with allied Operators, and instead deal 220% of Civilight Eterna's ATK as True damage when colliding with an enemy unit, and also Binding them for 3s."},{"descRaw":"Attack range expands and Trait effect increases to <@ba.vup>65%. Particles no longer disappear, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>65% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every <@ba.vup>2s.","name":"The Present Reconstructed","desc":"Attack range expands and Trait effect increases to 65%. Particles no longer disappear, and all allies in attack range gain Inspiration equal to 65% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every 2s."}],"_h":"xkz9rj9pxzf1q8xumfxu2h0c2hpopowgf7uyi5jzxzf1q8"},"chess_char_5_09_b":{"name":"Civilight Eterna","subProfessionName":"Bard","trait":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","moduleDescRaw":"When there are 2 or more other Operators within range, ATK <@ba.kw>+8% (unaffected by skill)","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration","moduleDesc":"When there are 2 or more other Operators within range, ATK +8% (unaffected by skill)"},"skill":{"descRaw":"Attack range expands and Trait effect increases to <@ba.vup>75%. Particles no longer disappear, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>80% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every <@ba.vup>2s.","name":"The Present Reconstructed","desc":"Attack range expands and Trait effect increases to 75%. Particles no longer disappear, and all allies in attack range gain Inspiration equal to 80% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every 2s."},"talents":[{"descRaw":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s.","name":"Dust of the Past","desc":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s."},{"descRaw":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies.","name":"The Echo of Kings","desc":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies."}],"module":{"name":"Another Story"},"skills":[{"descRaw":"Trait effect increases to <@ba.vup>28% and Particle generation speed is increased.\n<@ba.rem>Unlimited duration","name":"The Past Lingering","desc":"Trait effect increases to 28% and Particle generation speed is increased.\nUnlimited duration"},{"descRaw":"Particle limit <@ba.vup>+3 and immediately gains <@ba.vup>6 Particles. Particle orbit radius expands, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>80% of Civilight Eterna's ATK. Particles no longer collide with allied Operators, and instead deal <@ba.vup>260% of Civilight Eterna's ATK as True damage when colliding with an enemy unit, and also <$ba.root>Binding them for <@ba.vup>3s.","name":"The Future Elusive","desc":"Particle limit +3 and immediately gains 6 Particles. Particle orbit radius expands, and all allies in attack range gain Inspiration equal to 80% of Civilight Eterna's ATK. Particles no longer collide with allied Operators, and instead deal 260% of Civilight Eterna's ATK as True damage when colliding with an enemy unit, and also Binding them for 3s."},{"descRaw":"Attack range expands and Trait effect increases to <@ba.vup>75%. Particles no longer disappear, and all allies in attack range gain <$ba.inspire>Inspiration equal to <@ba.vup>80% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every <@ba.vup>2s.","name":"The Present Reconstructed","desc":"Attack range expands and Trait effect increases to 75%. Particles no longer disappear, and all allies in attack range gain Inspiration equal to 80% of Civilight Eterna's max HP. Redistribute HP of all allies in attack range every 2s."}],"traitBase":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration"},"talentsBase":[{"descRaw":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s.","name":"Dust of the Past","desc":"3 Particles orbit Civilight Eterna at all times. When a Particle collides with an allied Operator, it disappears and increases Civilight Eterna's Trait effect on that Operator to 1.5x for 6s. The disappeared Particle respawns after 6s."},{"descRaw":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies.","name":"The Echo of Kings","desc":"When deployed, all allied units take 10% less damage from [Sarkaz] enemies."}],"modules":[{"name":"Another Story","traitOverride":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","moduleDescRaw":"When there are 2 or more other Operators within range, ATK <@ba.kw>+8% (unaffected by skill)","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration","moduleDesc":"When there are 2 or more other Operators within range, ATK +8% (unaffected by skill)"}}],"_h":"xkz9rjxy9pmou5f1i2xumfxu2h0c2hpouswgl7n7i5wyu5f1i2rj9pxumfxu2h0c2hporjxy9pmo"},"chess_char_5_10_a":{"name":"Suzuran","subProfessionName":"Decel Binder","trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skill":{"descRaw":"<@ba.vdown>Stops attacking; Attack Range <@ba.vup>expands, the effect of this unit's second Talent increases to <@ba.vup>1.4 times, and all enemies within Attack Range are <$ba.sluggish><@ba.vup>Slowed. Heals all ally units within range for <@ba.vup>9% of this unit's ATK every second","name":"Foxfire Haze","desc":"Stops attacking; Attack Range expands, the effect of this unit's second Talent increases to 1.4 times, and all enemies within Attack Range are Slowed. Heals all ally units within range for 9% of this unit's ATK every second"},"talents":[{"descRaw":"When deployed, increases the SP recovery rate of all Supporters by +0.4/second (only the highest effect of this type takes place)","name":"Skill Aura - Supporter","desc":"When deployed, increases the SP recovery rate of all Supporters by +0.4/second (only the highest effect of this type takes place)"},{"descRaw":"Enemies in range that are <$ba.sluggish>Slowed are inflicted with 20% <$ba.fragile>Fragile effect for an equivalent duration","name":"Binding Circle","desc":"Enemies in range that are Slowed are inflicted with 20% Fragile effect for an equivalent duration"}],"module":{"name":"Pocket Omamori"},"skills":[{"descRaw":"ATK <@ba.vup>+45%, ASPD <@ba.vup>+10\n<@ba.rem>Skill activated automatically","name":"I'll Do My Best","desc":"ATK +45%, ASPD +10\nSkill activated automatically"},{"descRaw":"ATK <@ba.vup>+20%, attacks hit up to <@ba.vup>2 enemies\n<@ba.rem>Unlimited duration","name":"Childhood Frolic","desc":"ATK +20%, attacks hit up to 2 enemies\nUnlimited duration"},{"descRaw":"<@ba.vdown>Stops attacking; Attack Range <@ba.vup>expands, the effect of this unit's second Talent increases to <@ba.vup>1.4 times, and all enemies within Attack Range are <$ba.sluggish><@ba.vup>Slowed. Heals all ally units within range for <@ba.vup>9% of this unit's ATK every second","name":"Foxfire Haze","desc":"Stops attacking; Attack Range expands, the effect of this unit's second Talent increases to 1.4 times, and all enemies within Attack Range are Slowed. Heals all ally units within range for 9% of this unit's ATK every second"}],"_h":"pyf2pn83i0i48420zv20oat6h0p3god17iy3ve4zi0i484"},"chess_char_5_10_b":{"name":"Suzuran","subProfessionName":"Decel Binder","trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","moduleDescRaw":"SP recovery +0.2/s when there are enemies within range","desc":"Deals Arts damage and Slows the target for a short time","moduleDesc":"SP recovery +0.2/s when there are enemies within range"},"skill":{"descRaw":"<@ba.vdown>Stops attacking; Attack Range <@ba.vup>expands, the effect of this unit's second Talent increases to <@ba.vup>1.7 times, and all enemies within Attack Range are <$ba.sluggish><@ba.vup>Slowed. Heals all ally units within range for <@ba.vup>11% of this unit's ATK every second","name":"Foxfire Haze","desc":"Stops attacking; Attack Range expands, the effect of this unit's second Talent increases to 1.7 times, and all enemies within Attack Range are Slowed. Heals all ally units within range for 11% of this unit's ATK every second"},"talents":[{"descRaw":"When deployed, increases the SP recovery rate of all Supporters by +0.4/second (only the highest effect of this type takes place)","name":"Skill Aura - Supporter","desc":"When deployed, increases the SP recovery rate of all Supporters by +0.4/second (only the highest effect of this type takes place)"},{"descRaw":"Enemies in range that are <$ba.sluggish>Slowed are inflicted with 20% <$ba.fragile>Fragile effect for an equivalent duration","name":"Binding Circle","desc":"Enemies in range that are Slowed are inflicted with 20% Fragile effect for an equivalent duration"}],"module":{"name":"Pocket Omamori"},"skills":[{"descRaw":"ATK <@ba.vup>+60%, ASPD <@ba.vup>+15\n<@ba.rem>Skill activated automatically","name":"I'll Do My Best","desc":"ATK +60%, ASPD +15\nSkill activated automatically"},{"descRaw":"ATK <@ba.vup>+30%, attacks hit up to <@ba.vup>2 enemies\n<@ba.rem>Unlimited duration","name":"Childhood Frolic","desc":"ATK +30%, attacks hit up to 2 enemies\nUnlimited duration"},{"descRaw":"<@ba.vdown>Stops attacking; Attack Range <@ba.vup>expands, the effect of this unit's second Talent increases to <@ba.vup>1.7 times, and all enemies within Attack Range are <$ba.sluggish><@ba.vup>Slowed. Heals all ally units within range for <@ba.vup>11% of this unit's ATK every second","name":"Foxfire Haze","desc":"Stops attacking; Attack Range expands, the effect of this unit's second Talent increases to 1.7 times, and all enemies within Attack Range are Slowed. Heals all ally units within range for 11% of this unit's ATK every second"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"talentsBase":[{"descRaw":"When deployed, increases the SP recovery rate of all Supporters by +0.4/second (only the highest effect of this type takes place)","name":"Skill Aura - Supporter","desc":"When deployed, increases the SP recovery rate of all Supporters by +0.4/second (only the highest effect of this type takes place)"},{"descRaw":"Enemies in range that are <$ba.sluggish>Slowed are inflicted with 20% <$ba.fragile>Fragile effect for an equivalent duration","name":"Binding Circle","desc":"Enemies in range that are Slowed are inflicted with 20% Fragile effect for an equivalent duration"}],"modules":[{"name":"Pocket Omamori","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","moduleDescRaw":"SP recovery +0.2/s when there are enemies within range","desc":"Deals Arts damage and Slows the target for a short time","moduleDesc":"SP recovery +0.2/s when there are enemies within range"}},{"name":"Children of Terra","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and <$ba.sluggish>Slow the enemy for a <@ba.kw>moderate period of time","desc":"Attacks deal Arts damage, and Slow the enemy for a moderate period of time"}}],"_h":"pyf2pn0i830ifoi49820zv20oat6h0p3f4d1pu4iveecfoi498pn8320zv20oat6h0p3pn0i830iv4uw08"},"chess_char_5_11_a":{"name":"Saria","subProfessionName":"Guardian","trait":{"descRaw":"Can heal allies by using skill(s)","desc":"Can heal allies by using skill(s)"},"skill":{"descRaw":"Restores the HP of all allies within a certain range by <@ba.vup>95% of Saria's ATK","name":"Medicine Dispensing","desc":"Restores the HP of all allies within a certain range by 95% of Saria's ATK"},"talents":[{"descRaw":"For every 20 seconds Saria is deployed, ATK +5% and DEF +4%, stacking up to 5 times","name":"Rhine Charged Suit","desc":"For every 20 seconds Saria is deployed, ATK +5% and DEF +4%, stacking up to 5 times"},{"descRaw":"When Saria restores an ally's HP, she also restores 1 extra Skill Point to them","name":"Refreshment","desc":"When Saria restores an ally's HP, she also restores 1 extra Skill Point to them"}],"module":{"name":"Unused Boxing Gloves"},"skills":[{"descRaw":"The next attack restores HP equal to <@ba.vup>130% ATK to a nearby friendly unit with less than 50% HP\n<@ba.rem>Can store 1 charge(s)","name":"First Aid","desc":"The next attack restores HP equal to 130% ATK to a nearby friendly unit with less than 50% HP\nCan store 1 charge(s)"},{"descRaw":"Restores the HP of all allies within a certain range by <@ba.vup>95% of Saria's ATK","name":"Medicine Dispensing","desc":"Restores the HP of all allies within a certain range by 95% of Saria's ATK"},{"descRaw":"Restores the HP of all nearby allies per second by <@ba.vup>15% of Saria's ATK\nThe Arts damage taken by nearby enemies <@ba.vup>+30% and their Movement Speed <@ba.vup>-60%","name":"Calcification","desc":"Restores the HP of all nearby allies per second by 15% of Saria's ATK\nThe Arts damage taken by nearby enemies +30% and their Movement Speed -60%"}],"_h":"2dxwayay4rf6ewcmwqcmn0akn0anq96r4a4rf6ewjxw6xc"},"chess_char_5_11_b":{"name":"Saria","subProfessionName":"Guardian","trait":{"descRaw":"Can heal allies by using skill(s)","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Can heal allies by using skill(s)","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"},"skill":{"descRaw":"Restores the HP of all allies within a certain range by <@ba.vup>110% of Saria's ATK","name":"Medicine Dispensing","desc":"Restores the HP of all allies within a certain range by 110% of Saria's ATK"},"talents":[{"descRaw":"For every 20 seconds Saria is deployed, ATK +5% and DEF +4%, stacking up to 5 times","name":"Rhine Charged Suit","desc":"For every 20 seconds Saria is deployed, ATK +5% and DEF +4%, stacking up to 5 times"},{"descRaw":"When Saria restores an ally's HP, she also restores 1 extra Skill Point to them","name":"Refreshment","desc":"When Saria restores an ally's HP, she also restores 1 extra Skill Point to them"}],"module":{"name":"Unused Boxing Gloves"},"skills":[{"descRaw":"The next attack restores HP equal to <@ba.vup>150% ATK to a nearby friendly unit with less than 50% HP\n<@ba.rem>Can store 2 charge(s)","name":"First Aid","desc":"The next attack restores HP equal to 150% ATK to a nearby friendly unit with less than 50% HP\nCan store 2 charge(s)"},{"descRaw":"Restores the HP of all allies within a certain range by <@ba.vup>110% of Saria's ATK","name":"Medicine Dispensing","desc":"Restores the HP of all allies within a certain range by 110% of Saria's ATK"},{"descRaw":"Restores the HP of all nearby allies per second by <@ba.vup>20% of Saria's ATK\nThe Arts damage taken by nearby enemies <@ba.vup>+40% and their Movement Speed <@ba.vup>-60%","name":"Calcification","desc":"Restores the HP of all nearby allies per second by 20% of Saria's ATK\nThe Arts damage taken by nearby enemies +40% and their Movement Speed -60%"}],"traitBase":{"descRaw":"Can heal allies by using skill(s)","desc":"Can heal allies by using skill(s)"},"talentsBase":[{"descRaw":"For every 20 seconds Saria is deployed, ATK +5% and DEF +4%, stacking up to 5 times","name":"Rhine Charged Suit","desc":"For every 20 seconds Saria is deployed, ATK +5% and DEF +4%, stacking up to 5 times"},{"descRaw":"When Saria restores an ally's HP, she also restores 1 extra Skill Point to them","name":"Refreshment","desc":"When Saria restores an ally's HP, she also restores 1 extra Skill Point to them"}],"modules":[{"name":"Unused Boxing Gloves","traitOverride":{"descRaw":"Can heal allies by using skill(s)","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Can heal allies by using skill(s)","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"}},{"name":"Technology Rising Star Award","traitOverride":{"descRaw":"Can heal allies by using skill(s)","moduleDescRaw":"Reduces damage taken by <@ba.kw>15%","desc":"Can heal allies by using skill(s)","moduleDesc":"Reduces damage taken by 15%"}}],"_h":"2dxwaybyaydwf5f6e2cmwqcmn0akn0ani26rmnf5f6e2t0w6ojayaycmwqcmn0akn0anaybyaydwkpayiaay2w"},"chess_char_5_12_a":{"name":"Dusk","subProfessionName":"Splash Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"skill":{"descRaw":"The next attack has <@ba.vup>increased splash area and deals <@ba.vup>180% ATK as Arts damage\n<@ba.rem>Can store 2 charges","name":"Transcendental Stroke","desc":"The next attack has increased splash area and deals 180% ATK as Arts damage\nCan store 2 charges"},"talents":[{"descRaw":"When Dusk or a 'Freeling' defeats an enemy, Dusk gains ATK +2%, stacking up to 15 times","name":"Sublimity","desc":"When Dusk or a 'Freeling' defeats an enemy, Dusk gains ATK +2%, stacking up to 15 times"},{"descRaw":"The first attack after deployment will summon a 'Freeling' (lasts for 25 seconds) at the target's location (only on deployable ground tiles)","name":"Finishing Touch","desc":"The first attack after deployment will summon a 'Freeling' (lasts for 25 seconds) at the target's location (only on deployable ground tiles)"}],"module":{"name":"Untitled Scroll"},"skills":[{"descRaw":"The next attack has <@ba.vup>increased splash area and deals <@ba.vup>180% ATK as Arts damage\n<@ba.rem>Can store 2 charges","name":"Transcendental Stroke","desc":"The next attack has increased splash area and deals 180% ATK as Arts damage\nCan store 2 charges"},{"descRaw":"Range <@ba.vup>expands, ATK <@ba.vup>+29%, ASPD <@ba.vup>+29 and attacks all enemies within range. Increase Arts damage dealt to enemies with less than 50% HP to <@ba.vup>120%","name":"Flowing Ink","desc":"Range expands, ATK +29%, ASPD +29 and attacks all enemies within range. Increase Arts damage dealt to enemies with less than 50% HP to 120%"},{"descRaw":"Attack Interval <@ba.vdown>increases and prioritize attacking unblocked enemies. Range and splash area <@ba.vup>expand, ATK <@ba.vup>+70% and every attack summons/refreshes a <@ba.vup>'Freeling' (lasts for 25 seconds) at the target's location (only on deployable ground tiles)","name":"Image over Form","desc":"Attack Interval increases and prioritize attacking unblocked enemies. Range and splash area expand, ATK +70% and every attack summons/refreshes a 'Freeling' (lasts for 25 seconds) at the target's location (only on deployable ground tiles)"}],"_h":"cgkin1hbtml3s22loe2lxeh9xeuztml3s2mgsfgg6tov6k"},"chess_char_5_12_b":{"name":"Dusk","subProfessionName":"Splash Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Deals AOE Arts damage","moduleDesc":"Attack Range expands"},"skill":{"descRaw":"The next attack has <@ba.vup>increased splash area and deals <@ba.vup>210% ATK as Arts damage\n<@ba.rem>Can store 2 charges","name":"Transcendental Stroke","desc":"The next attack has increased splash area and deals 210% ATK as Arts damage\nCan store 2 charges"},"talents":[{"descRaw":"When Dusk or a 'Freeling' defeats an enemy, Dusk gains ATK +2%, stacking up to 15 times","name":"Sublimity","desc":"When Dusk or a 'Freeling' defeats an enemy, Dusk gains ATK +2%, stacking up to 15 times"},{"descRaw":"The first attack after deployment will summon a 'Freeling' (lasts for 25 seconds) at the target's location (only on deployable ground tiles)","name":"Finishing Touch","desc":"The first attack after deployment will summon a 'Freeling' (lasts for 25 seconds) at the target's location (only on deployable ground tiles)"}],"module":{"name":"Untitled Scroll"},"skills":[{"descRaw":"The next attack has <@ba.vup>increased splash area and deals <@ba.vup>210% ATK as Arts damage\n<@ba.rem>Can store 2 charges","name":"Transcendental Stroke","desc":"The next attack has increased splash area and deals 210% ATK as Arts damage\nCan store 2 charges"},{"descRaw":"Range <@ba.vup>expands, ATK <@ba.vup>+40%, ASPD <@ba.vup>+40 and attacks all enemies within range. Increase Arts damage dealt to enemies with less than 50% HP to <@ba.vup>125%","name":"Flowing Ink","desc":"Range expands, ATK +40%, ASPD +40 and attacks all enemies within range. Increase Arts damage dealt to enemies with less than 50% HP to 125%"},{"descRaw":"Attack Interval <@ba.vdown>increases and prioritize attacking unblocked enemies. Range and splash area <@ba.vup>expand, ATK <@ba.vup>+100% and every attack summons/refreshes a <@ba.vup>'Freeling' (lasts for 25 seconds) at the target's location (only on deployable ground tiles)","name":"Image over Form","desc":"Attack Interval increases and prioritize attacking unblocked enemies. Range and splash area expand, ATK +100% and every attack summons/refreshes a 'Freeling' (lasts for 25 seconds) at the target's location (only on deployable ground tiles)"}],"traitBase":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"talentsBase":[{"descRaw":"When Dusk or a 'Freeling' defeats an enemy, Dusk gains ATK +2%, stacking up to 15 times","name":"Sublimity","desc":"When Dusk or a 'Freeling' defeats an enemy, Dusk gains ATK +2%, stacking up to 15 times"},{"descRaw":"The first attack after deployment will summon a 'Freeling' (lasts for 25 seconds) at the target's location (only on deployable ground tiles)","name":"Finishing Touch","desc":"The first attack after deployment will summon a 'Freeling' (lasts for 25 seconds) at the target's location (only on deployable ground tiles)"}],"modules":[{"name":"Untitled Scroll","traitOverride":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Deals AOE Arts damage","moduleDesc":"Attack Range expands"}},{"name":"'All Told, A Sleepless Night'","traitOverride":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"<@ba.kw>Reduces Deployment Cost","desc":"Deals AOE Arts damage","moduleDesc":"Reduces Deployment Cost"}},{"name":"Dusk's Specialized Badge","traitOverride":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"In <@ba.kw>Integrated Strategies, attacks one additional target","desc":"Deals AOE Arts damage","moduleDesc":"In Integrated Strategies, attacks one additional target"},"talentChanges":[{"name":"Finishing Touch"}]}],"_h":"cgkin1d0hb5kc6l3d22loe2lxeh9xeuzc6l3d2xpsf8jzdov2qn1hb2loe2lxeh9xeuzn1d0hb5kamn1jyhbzapcn12bhbmjh9"},"chess_char_5_13_a":{"name":"Specter the Unchained","subProfessionName":"Dollkeeper","trait":{"descRaw":"Does not retreat upon receiving lethal damage, instead swaps to a (Substitute has 0 Block). Swaps back to the original after 20 seconds","desc":"Does not retreat upon receiving lethal damage, instead swaps to a (Substitute has 0 Block). Swaps back to the original after 20 seconds"},"skill":{"descRaw":"ATK <@ba.vup>+70%, ASPD <@ba.vup>+22. While skill is active, prevents Specter's HP from falling below <@ba.vup>1\n<@ba.rem>Will be defeated when the skill ends","name":"The Thirst to Survive","desc":"ATK +70%, ASPD +22. While skill is active, prevents Specter's HP from falling below 1\nWill be defeated when the skill ends"},"talents":[{"descRaw":" reduces Movement Speed of nearby enemies by 40%, and deals 40% ATK as Arts damage to them per second","name":"Embraced Self","desc":" reduces Movement Speed of nearby enemies by 40%, and deals 40% ATK as Arts damage to them per second"},{"descRaw":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +20% Max HP","name":"Ægir's Depths","desc":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +20% Max HP"}],"module":{"name":"'Vinyl Record' Box"},"skills":[{"descRaw":"When activated, exchange HP percentage with the ally with the lowest HP percentage within range. Specter gains ATK <@ba.vup>+90%","name":"The Skill to Survive","desc":"When activated, exchange HP percentage with the ally with the lowest HP percentage within range. Specter gains ATK +90%"},{"descRaw":"ATK <@ba.vup>+70%, ASPD <@ba.vup>+22. While skill is active, prevents Specter's HP from falling below <@ba.vup>1\n<@ba.rem>Will be defeated when the skill ends","name":"The Thirst to Survive","desc":"ATK +70%, ASPD +22. While skill is active, prevents Specter's HP from falling below 1\nWill be defeated when the skill ends"},{"descRaw":"Attack interval <@ba.vdown>increases, attacks all blocked enemies, ATK <@ba.vup>+170%, Max HP <@ba.vup>+130%; deal <@ba.vup>50% ATK as extra Physical damage when attacking enemies with HP percentage equal to or higher than self, otherwise lose <@ba.vdown>3% of HP","name":"The Pressure to Survive","desc":"Attack interval increases, attacks all blocked enemies, ATK +170%, Max HP +130%; deal 50% ATK as extra Physical damage when attacking enemies with HP percentage equal to or higher than self, otherwise lose 3% of HP"}],"_h":"847adgdga0ez89nddandx6amx6bsoyxfe7a0ez89czf6sy"},"chess_char_5_13_b":{"name":"Specter the Unchained","subProfessionName":"Dollkeeper","trait":{"descRaw":"Instead of retreating when defeated, switch to a (Substitute has 0 Block, but ATK is <@ba.kw>increased) for 20 seconds before switching back to the original","desc":"Instead of retreating when defeated, switch to a (Substitute has 0 Block, but ATK is increased) for 20 seconds before switching back to the original"},"skill":{"descRaw":"ATK <@ba.vup>+100%, ASPD <@ba.vup>+34. While skill is active, prevents Specter's HP from falling below <@ba.vup>1\n<@ba.rem>Will be defeated when the skill ends","name":"The Thirst to Survive","desc":"ATK +100%, ASPD +34. While skill is active, prevents Specter's HP from falling below 1\nWill be defeated when the skill ends"},"talents":[{"descRaw":" reduces Movement Speed of nearby enemies by 40%, and deals 40% ATK as Arts damage to them per second","name":"Embraced Self","desc":" reduces Movement Speed of nearby enemies by 40%, and deals 40% ATK as Arts damage to them per second"},{"descRaw":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +20% Max HP","name":"Ægir's Depths","desc":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +20% Max HP"}],"module":{"name":"'Vinyl Record' Box"},"skills":[{"descRaw":"When activated, exchange HP percentage with the ally with the lowest HP percentage within range. Specter gains ATK <@ba.vup>+120%","name":"The Skill to Survive","desc":"When activated, exchange HP percentage with the ally with the lowest HP percentage within range. Specter gains ATK +120%"},{"descRaw":"ATK <@ba.vup>+100%, ASPD <@ba.vup>+34. While skill is active, prevents Specter's HP from falling below <@ba.vup>1\n<@ba.rem>Will be defeated when the skill ends","name":"The Thirst to Survive","desc":"ATK +100%, ASPD +34. While skill is active, prevents Specter's HP from falling below 1\nWill be defeated when the skill ends"},{"descRaw":"Attack interval <@ba.vdown>increases, attacks all blocked enemies, ATK <@ba.vup>+200%, Max HP <@ba.vup>+160%; deal <@ba.vup>60% ATK as extra Physical damage when attacking enemies with HP percentage equal to or higher than self, otherwise lose <@ba.vdown>3% of HP","name":"The Pressure to Survive","desc":"Attack interval increases, attacks all blocked enemies, ATK +200%, Max HP +160%; deal 60% ATK as extra Physical damage when attacking enemies with HP percentage equal to or higher than self, otherwise lose 3% of HP"}],"traitBase":{"descRaw":"Does not retreat upon receiving lethal damage, instead swaps to a (Substitute has 0 Block). Swaps back to the original after 20 seconds","desc":"Does not retreat upon receiving lethal damage, instead swaps to a (Substitute has 0 Block). Swaps back to the original after 20 seconds"},"talentsBase":[{"descRaw":" reduces Movement Speed of nearby enemies by 40%, and deals 40% ATK as Arts damage to them per second","name":"Embraced Self","desc":" reduces Movement Speed of nearby enemies by 40%, and deals 40% ATK as Arts damage to them per second"},{"descRaw":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +20% Max HP","name":"Ægir's Depths","desc":"When this unit is in the squad, all [Abyssal Hunter] Operators gain +20% Max HP"}],"modules":[{"name":"'Vinyl Record' Box","traitOverride":{"descRaw":"Instead of retreating when defeated, switch to a (Substitute has 0 Block, but ATK is <@ba.kw>increased) for 20 seconds before switching back to the original","desc":"Instead of retreating when defeated, switch to a (Substitute has 0 Block, but ATK is increased) for 20 seconds before switching back to the original"}},{"name":"The Beauty in the Incomplete","traitOverride":{"descRaw":"Instead of retreating when defeated, switch to a (Substitute has 0 Block, but HP is <@ba.kw>increased) for 20 seconds before switching back to the original","desc":"Instead of retreating when defeated, switch to a (Substitute has 0 Block, but HP is increased) for 20 seconds before switching back to the original"}},{"name":"Skadi the Corrupting Heart Limited Badge","traitOverride":{"descRaw":"Does not retreat upon receiving lethal damage, instead swaps to a (Substitute has 0 Block). Swaps back to the original after 20 seconds","moduleDescRaw":"In <@ba.kw>Integrated Strategies, Physical and Arts damage dealt by self and the +40%, Physical and Arts damage taken -40%","desc":"Does not retreat upon receiving lethal damage, instead swaps to a (Substitute has 0 Block). Swaps back to the original after 20 seconds","moduleDesc":"In Integrated Strategies, Physical and Arts damage dealt by self and the +40%, Physical and Arts damage taken -40%"}}],"_h":"847ammg0ojezeknddandx6amx6bsk4xf7hojezeklbf6zmdgdgnddandx6amx6bsmmg0kr5nx3o4dgaadgbe"},"chess_char_5_14_a":{"name":"SilverAsh the Reignfrost","subProfessionName":"Strategist","trait":{"descRaw":"Blocks 2 enemies, and can support allies in the Deployment Waiting Zone","desc":"Blocks 2 enemies, and can support allies in the Deployment Waiting Zone"},"skill":{"descRaw":"Deals <@ba.vup>260% ATK as Physical damage to 6 enemies in front, inflicts <$ba.cold>Cold on them and removes their <$ba.invisible>Invisibility for <@ba.vup>4 seconds; the Operator nearest to 'Eye of the Blizzard' has <@ba.vup>-11 DP Cost (Prioritizes <@ba.vup>Guard/Caster/Sniper Operator on the right); All Operators to the left of 'Eye of the Blizzard' cast this skill <@ba.vup>with their own ATK once when deployed (stacks 2 times) \n<@ba.rem>Can store 2 charges","name":"Countergambit","desc":"Deals 260% ATK as Physical damage to 6 enemies in front, inflicts Cold on them and removes their Invisibility for 4 seconds; the Operator nearest to 'Eye of the Blizzard' has -11 DP Cost (Prioritizes Guard/Caster/Sniper Operator on the right); All Operators to the left of 'Eye of the Blizzard' cast this skill with their own ATK once when deployed (stacks 2 times) \nCan store 2 charges"},"talents":[{"descRaw":"When on field, adds an 'Eye of the Blizzard' to the Deployment Waiting Zone and rearranges undeployed Operators according to their DP Cost. Self and the Operators to the left of the Eye gain +4 starting SP and -20% Redeployment Time","name":"Open Game","desc":"When on field, adds an 'Eye of the Blizzard' to the Deployment Waiting Zone and rearranges undeployed Operators according to their DP Cost. Self and the Operators to the left of the Eye gain +4 starting SP and -20% Redeployment Time"},{"descRaw":"When on field, all Kjerag Operators gain <$ba.frozen>Frozen immunity, +60 DEF, and recover 1.5% Max HP every second; after being deployed for 15 seconds, DEF and HP recovery effects double","name":"Snow Realm Trailblazer","desc":"When on field, all Kjerag Operators gain Frozen immunity, +60 DEF, and recover 1.5% Max HP every second; after being deployed for 15 seconds, DEF and HP recovery effects double"}],"skills":[{"descRaw":"Immediately gains <@ba.vup>10 DP. The Operator nearest to 'Eye of the Blizzard' in the Deployment Waiting Zone has <@ba.vup>-5 DP Cost (Prioritizes <@ba.vup>Guard/Caster/Sniper Operator on the right), and gains a <$ba.barrier>Barrier equal to <@ba.vup>50% of SilverAsh the Reignfrost's Max HP upon deployment","name":"Pawn Break","desc":"Immediately gains 10 DP. The Operator nearest to 'Eye of the Blizzard' in the Deployment Waiting Zone has -5 DP Cost (Prioritizes Guard/Caster/Sniper Operator on the right), and gains a Barrier equal to 50% of SilverAsh the Reignfrost's Max HP upon deployment"},{"descRaw":"Deals <@ba.vup>260% ATK as Physical damage to 6 enemies in front, inflicts <$ba.cold>Cold on them and removes their <$ba.invisible>Invisibility for <@ba.vup>4 seconds; the Operator nearest to 'Eye of the Blizzard' has <@ba.vup>-11 DP Cost (Prioritizes <@ba.vup>Guard/Caster/Sniper Operator on the right); All Operators to the left of 'Eye of the Blizzard' cast this skill <@ba.vup>with their own ATK once when deployed (stacks 2 times) \n<@ba.rem>Can store 2 charges","name":"Countergambit","desc":"Deals 260% ATK as Physical damage to 6 enemies in front, inflicts Cold on them and removes their Invisibility for 4 seconds; the Operator nearest to 'Eye of the Blizzard' has -11 DP Cost (Prioritizes Guard/Caster/Sniper Operator on the right); All Operators to the left of 'Eye of the Blizzard' cast this skill with their own ATK once when deployed (stacks 2 times) \nCan store 2 charges"},{"descRaw":"Attack Range <@ba.vup>expands, removes enemies' <$ba.invisible>Invisibility, attacks deal <@ba.vup>140% ATK as Physical damage and inflict <@ba.vup>20% <$ba.fragile>Fragile to targets in a straight line; immediately gains <@ba.vup>5 DP, then gradually gains <@ba.vup>24 DP\n<@ba.rem>On first skill activation, swaps the DP Cost of the Operator with the highest Cost (Prioritizes Guard/Caster/Sniper Operators) with the lowest in the Deployment Waiting Zone\n<@ba.rem>'Eye of the Blizzard' is deployable when skill is active","name":"Castled King","desc":"Attack Range expands, removes enemies' Invisibility, attacks deal 140% ATK as Physical damage and inflict 20% Fragile to targets in a straight line; immediately gains 5 DP, then gradually gains 24 DP\nOn first skill activation, swaps the DP Cost of the Operator with the highest Cost (Prioritizes Guard/Caster/Sniper Operators) with the lowest in the Deployment Waiting Zone\n'Eye of the Blizzard' is deployable when skill is active"}],"_h":"3j6e3v3vx35brrix5oixx2id4omar0mlx35brryjjlgt"},"chess_char_5_14_b":{"name":"SilverAsh the Reignfrost","subProfessionName":"Strategist","trait":{"descRaw":"Blocks 2 enemies, and can support allies in the Deployment Waiting Zone","desc":"Blocks 2 enemies, and can support allies in the Deployment Waiting Zone"},"skill":{"descRaw":"Deals <@ba.vup>320% ATK as Physical damage to 6 enemies in front, inflicts <$ba.cold>Cold on them and removes their <$ba.invisible>Invisibility for <@ba.vup>5 seconds; the Operator nearest to 'Eye of the Blizzard' has <@ba.vup>-11 DP Cost (Prioritizes <@ba.vup>Guard/Caster/Sniper Operator on the right); All Operators to the left of 'Eye of the Blizzard' cast this skill <@ba.vup>with their own ATK once when deployed (stacks 2 times) \n<@ba.rem>Can store 2 charges","name":"Countergambit","desc":"Deals 320% ATK as Physical damage to 6 enemies in front, inflicts Cold on them and removes their Invisibility for 5 seconds; the Operator nearest to 'Eye of the Blizzard' has -11 DP Cost (Prioritizes Guard/Caster/Sniper Operator on the right); All Operators to the left of 'Eye of the Blizzard' cast this skill with their own ATK once when deployed (stacks 2 times) \nCan store 2 charges"},"talents":[{"descRaw":"When on field, adds an 'Eye of the Blizzard' to the Deployment Waiting Zone and rearranges undeployed Operators according to their DP Cost. Self and the Operators to the left of the Eye gain +4 starting SP and -20% Redeployment Time","name":"Open Game","desc":"When on field, adds an 'Eye of the Blizzard' to the Deployment Waiting Zone and rearranges undeployed Operators according to their DP Cost. Self and the Operators to the left of the Eye gain +4 starting SP and -20% Redeployment Time"},{"descRaw":"When on field, all Kjerag Operators gain <$ba.frozen>Frozen immunity, +60 DEF, and recover 1.5% Max HP every second; after being deployed for 15 seconds, DEF and HP recovery effects double","name":"Snow Realm Trailblazer","desc":"When on field, all Kjerag Operators gain Frozen immunity, +60 DEF, and recover 1.5% Max HP every second; after being deployed for 15 seconds, DEF and HP recovery effects double"}],"skills":[{"descRaw":"Immediately gains <@ba.vup>10 DP. The Operator nearest to 'Eye of the Blizzard' in the Deployment Waiting Zone has <@ba.vup>-5 DP Cost (Prioritizes <@ba.vup>Guard/Caster/Sniper Operator on the right), and gains a <$ba.barrier>Barrier equal to <@ba.vup>50% of SilverAsh the Reignfrost's Max HP upon deployment","name":"Pawn Break","desc":"Immediately gains 10 DP. The Operator nearest to 'Eye of the Blizzard' in the Deployment Waiting Zone has -5 DP Cost (Prioritizes Guard/Caster/Sniper Operator on the right), and gains a Barrier equal to 50% of SilverAsh the Reignfrost's Max HP upon deployment"},{"descRaw":"Deals <@ba.vup>320% ATK as Physical damage to 6 enemies in front, inflicts <$ba.cold>Cold on them and removes their <$ba.invisible>Invisibility for <@ba.vup>5 seconds; the Operator nearest to 'Eye of the Blizzard' has <@ba.vup>-11 DP Cost (Prioritizes <@ba.vup>Guard/Caster/Sniper Operator on the right); All Operators to the left of 'Eye of the Blizzard' cast this skill <@ba.vup>with their own ATK once when deployed (stacks 2 times) \n<@ba.rem>Can store 2 charges","name":"Countergambit","desc":"Deals 320% ATK as Physical damage to 6 enemies in front, inflicts Cold on them and removes their Invisibility for 5 seconds; the Operator nearest to 'Eye of the Blizzard' has -11 DP Cost (Prioritizes Guard/Caster/Sniper Operator on the right); All Operators to the left of 'Eye of the Blizzard' cast this skill with their own ATK once when deployed (stacks 2 times) \nCan store 2 charges"},{"descRaw":"Attack Range <@ba.vup>expands, removes enemies' <$ba.invisible>Invisibility, attacks deal <@ba.vup>170% ATK as Physical damage and inflict <@ba.vup>25% <$ba.fragile>Fragile to targets in a straight line; immediately gains <@ba.vup>6 DP, then gradually gains <@ba.vup>24 DP\n<@ba.rem>On first skill activation, swaps the DP Cost of the Operator with the highest Cost (Prioritizes Guard/Caster/Sniper Operators) with the lowest in the Deployment Waiting Zone\n<@ba.rem>'Eye of the Blizzard' is deployable when skill is active","name":"Castled King","desc":"Attack Range expands, removes enemies' Invisibility, attacks deal 170% ATK as Physical damage and inflict 25% Fragile to targets in a straight line; immediately gains 6 DP, then gradually gains 24 DP\nOn first skill activation, swaps the DP Cost of the Operator with the highest Cost (Prioritizes Guard/Caster/Sniper Operators) with the lowest in the Deployment Waiting Zone\n'Eye of the Blizzard' is deployable when skill is active"}],"traitBase":{"descRaw":"Blocks 2 enemies, and can support allies in the Deployment Waiting Zone","desc":"Blocks 2 enemies, and can support allies in the Deployment Waiting Zone"},"talentsBase":[{"descRaw":"When on field, adds an 'Eye of the Blizzard' to the Deployment Waiting Zone and rearranges undeployed Operators according to their DP Cost. Self and the Operators to the left of the Eye gain +4 starting SP and -20% Redeployment Time","name":"Open Game","desc":"When on field, adds an 'Eye of the Blizzard' to the Deployment Waiting Zone and rearranges undeployed Operators according to their DP Cost. Self and the Operators to the left of the Eye gain +4 starting SP and -20% Redeployment Time"},{"descRaw":"When on field, all Kjerag Operators gain <$ba.frozen>Frozen immunity, +60 DEF, and recover 1.5% Max HP every second; after being deployed for 15 seconds, DEF and HP recovery effects double","name":"Snow Realm Trailblazer","desc":"When on field, all Kjerag Operators gain Frozen immunity, +60 DEF, and recover 1.5% Max HP every second; after being deployed for 15 seconds, DEF and HP recovery effects double"}],"_h":"3j6e3v3vqv5b37ix5oixx2id4omar0mlqv5b37u6jl563v3vix5oixx2id4o"},"chess_char_5_15_a":{"name":"Thorns the Lodestar","subProfessionName":"Alchemist","trait":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","desc":"Can throw Alchemical Units to assist in combat"},"skill":{"descRaw":"Throws an Alchemical Unit; for <@ba.vup>12s, ground enemies around the landing point receive <@ba.vup>50% less healing and recovery effects, and take <@ba.vup>120% ATK as Arts damage per second; allies in the area recover HP equal to <@ba.vup>12% ATK per second; the Alchemical Unit will slowly travel in the direction it was thrown and expand its area of effect over <@ba.vup>12s\n<@ba.rem>Can store 1 charge","name":"Surge of Ceration","desc":"Throws an Alchemical Unit; for 12s, ground enemies around the landing point receive 50% less healing and recovery effects, and take 120% ATK as Arts damage per second; allies in the area recover HP equal to 12% ATK per second; the Alchemical Unit will slowly travel in the direction it was thrown and expand its area of effect over 12s\nCan store 1 charge"},"talents":[{"descRaw":"ATK +10%; when there are other Operators within range, Alchemical Units thrown by this unit last 3s longer","name":"La Forma del Corazón","desc":"ATK +10%; when there are other Operators within range, Alchemical Units thrown by this unit last 3s longer"},{"descRaw":"When deployed, all allies have ASPD +5 and all enemies have ASPD -5; effect is doubled for allies and enemies on a straight line of 6 or more consecutive tiles","name":"El Alcance de la Visión","desc":"When deployed, all allies have ASPD +5 and all enemies have ASPD -5; effect is doubled for allies and enemies on a straight line of 6 or more consecutive tiles"}],"module":{"name":"A Three-Sided Coin"},"skills":[{"descRaw":"Throws an Alchemical Unit at an ally; for <@ba.vup>6s, this ally and other allies on the 8 surrounding tiles gain DEF <@ba.vup>+60 and recover HP equal to <@ba.vup>11% ATK per second","name":"Wave Reckoning","desc":"Throws an Alchemical Unit at an ally; for 6s, this ally and other allies on the 8 surrounding tiles gain DEF +60 and recover HP equal to 11% ATK per second"},{"descRaw":"Throws an Alchemical Unit; for <@ba.vup>12s, ground enemies around the landing point receive <@ba.vup>50% less healing and recovery effects, and take <@ba.vup>120% ATK as Arts damage per second; allies in the area recover HP equal to <@ba.vup>12% ATK per second; the Alchemical Unit will slowly travel in the direction it was thrown and expand its area of effect over <@ba.vup>12s\n<@ba.rem>Can store 1 charge","name":"Surge of Ceration","desc":"Throws an Alchemical Unit; for 12s, ground enemies around the landing point receive 50% less healing and recovery effects, and take 120% ATK as Arts damage per second; allies in the area recover HP equal to 12% ATK per second; the Alchemical Unit will slowly travel in the direction it was thrown and expand its area of effect over 12s\nCan store 1 charge"},{"descRaw":"Passive Effect: Attack Range increases\nActivation Effect: throws Alchemical Units at the <@ba.vup>3 Operators with the lowest Block; for <@ba.vup>19s, enemies within the defined area have ATK <@ba.vup>-12%, DEF <@ba.vup>-32%, RES <@ba.vup>-32% (does not stack); enemies also take <@ba.vup>120% ATK as Arts damage per second; these effects gradually increase (reaching max values after <@ba.vup>15s: ATK <@ba.vup>-21%, DEF <@ba.vup>-41%, RES <@ba.vup>-41%, take <@ba.vup>300% ATK as Arts damage per second)","name":"'Zona Marítima Personal'","desc":"Passive Effect: Attack Range increases\nActivation Effect: throws Alchemical Units at the 3 Operators with the lowest Block; for 19s, enemies within the defined area have ATK -12%, DEF -32%, RES -32% (does not stack); enemies also take 120% ATK as Arts damage per second; these effects gradually increase (reaching max values after 15s: ATK -21%, DEF -41%, RES -41%, take 300% ATK as Arts damage per second)"}],"_h":"3zs2yqtaq4i4u7udn2udyeb3yeyg8up2xfq4i4u7vej2wf"},"chess_char_5_15_b":{"name":"Thorns the Lodestar","subProfessionName":"Alchemist","trait":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","moduleDescRaw":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field","desc":"Can throw Alchemical Units to assist in combat","moduleDesc":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field"},"skill":{"descRaw":"Throws an Alchemical Unit; for <@ba.vup>15s, ground enemies around the landing point receive <@ba.vup>50% less healing and recovery effects, and take <@ba.vup>140% ATK as Arts damage per second; allies in the area recover HP equal to <@ba.vup>15% ATK per second; the Alchemical Unit will slowly travel in the direction it was thrown and expand its area of effect over <@ba.vup>15s\n<@ba.rem>Can store 2 charges","name":"Surge of Ceration","desc":"Throws an Alchemical Unit; for 15s, ground enemies around the landing point receive 50% less healing and recovery effects, and take 140% ATK as Arts damage per second; allies in the area recover HP equal to 15% ATK per second; the Alchemical Unit will slowly travel in the direction it was thrown and expand its area of effect over 15s\nCan store 2 charges"},"talents":[{"descRaw":"ATK +10%; when there are other Operators within range, Alchemical Units thrown by this unit last 3s longer","name":"La Forma del Corazón","desc":"ATK +10%; when there are other Operators within range, Alchemical Units thrown by this unit last 3s longer"},{"descRaw":"When deployed, all allies have ASPD +5 and all enemies have ASPD -5; effect is doubled for allies and enemies on a straight line of 6 or more consecutive tiles","name":"El Alcance de la Visión","desc":"When deployed, all allies have ASPD +5 and all enemies have ASPD -5; effect is doubled for allies and enemies on a straight line of 6 or more consecutive tiles"}],"module":{"name":"A Three-Sided Coin"},"skills":[{"descRaw":"Throws an Alchemical Unit at an ally; for <@ba.vup>7s, this ally and other allies on the 8 surrounding tiles gain DEF <@ba.vup>+75 and recover HP equal to <@ba.vup>14% ATK per second","name":"Wave Reckoning","desc":"Throws an Alchemical Unit at an ally; for 7s, this ally and other allies on the 8 surrounding tiles gain DEF +75 and recover HP equal to 14% ATK per second"},{"descRaw":"Throws an Alchemical Unit; for <@ba.vup>15s, ground enemies around the landing point receive <@ba.vup>50% less healing and recovery effects, and take <@ba.vup>140% ATK as Arts damage per second; allies in the area recover HP equal to <@ba.vup>15% ATK per second; the Alchemical Unit will slowly travel in the direction it was thrown and expand its area of effect over <@ba.vup>15s\n<@ba.rem>Can store 2 charges","name":"Surge of Ceration","desc":"Throws an Alchemical Unit; for 15s, ground enemies around the landing point receive 50% less healing and recovery effects, and take 140% ATK as Arts damage per second; allies in the area recover HP equal to 15% ATK per second; the Alchemical Unit will slowly travel in the direction it was thrown and expand its area of effect over 15s\nCan store 2 charges"},{"descRaw":"Passive Effect: Attack Range increases\nActivation Effect: throws Alchemical Units at the <@ba.vup>3 Operators with the lowest Block; for <@ba.vup>20s, enemies within the defined area have ATK <@ba.vup>-13%, DEF <@ba.vup>-33%, RES <@ba.vup>-33% (does not stack); enemies also take <@ba.vup>150% ATK as Arts damage per second; these effects gradually increase (reaching max values after <@ba.vup>15s: ATK <@ba.vup>-25%, DEF <@ba.vup>-45%, RES <@ba.vup>-45%, take <@ba.vup>330% ATK as Arts damage per second)","name":"'Zona Marítima Personal'","desc":"Passive Effect: Attack Range increases\nActivation Effect: throws Alchemical Units at the 3 Operators with the lowest Block; for 20s, enemies within the defined area have ATK -13%, DEF -33%, RES -33% (does not stack); enemies also take 150% ATK as Arts damage per second; these effects gradually increase (reaching max values after 15s: ATK -25%, DEF -45%, RES -45%, take 330% ATK as Arts damage per second)"}],"traitBase":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","desc":"Can throw Alchemical Units to assist in combat"},"talentsBase":[{"descRaw":"ATK +10%; when there are other Operators within range, Alchemical Units thrown by this unit last 3s longer","name":"La Forma del Corazón","desc":"ATK +10%; when there are other Operators within range, Alchemical Units thrown by this unit last 3s longer"},{"descRaw":"When deployed, all allies have ASPD +5 and all enemies have ASPD -5; effect is doubled for allies and enemies on a straight line of 6 or more consecutive tiles","name":"El Alcance de la Visión","desc":"When deployed, all allies have ASPD +5 and all enemies have ASPD -5; effect is doubled for allies and enemies on a straight line of 6 or more consecutive tiles"}],"modules":[{"name":"A Three-Sided Coin","traitOverride":{"descRaw":"Can throw <@ba.kw>Alchemical Units to assist in combat","moduleDescRaw":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field","desc":"Can throw Alchemical Units to assist in combat","moduleDesc":"Increases SP recovery rate by +0.1/s while an Alchemical Unit is on the field"}}],"_h":"3zs2yqkytakyx8i44fudn2udyeb3yeygb0p2ehx8i44fvtj2gayqtaudn2udyeb3yeygyqkytaky"},"chess_char_5_16_a":{"name":"Ptilopsis","subProfessionName":"Multi-target Medic","trait":{"descRaw":"Restores the HP of 3 allies simultaneously","desc":"Restores the HP of 3 allies simultaneously"},"skill":{"descRaw":"Range expands; reduces Attack Interval <@ba.vup>moderately","name":"Enkephalin","desc":"Range expands; reduces Attack Interval moderately"},"talents":[{"descRaw":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)","name":"Skill Aura","desc":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)"}],"module":{"name":"Medic Environment Analyze System"},"skills":[{"descRaw":"ATK <@ba.vup>+55%","name":"Healing Up γ","desc":"ATK +55%"},{"descRaw":"Range expands; reduces Attack Interval <@ba.vup>moderately","name":"Enkephalin","desc":"Range expands; reduces Attack Interval moderately"}],"_h":"m8mz0x0xygn2ppdu3kdu3ktd0ixeygn2pp"},"chess_char_5_16_b":{"name":"Ptilopsis","subProfessionName":"Multi-target Medic","trait":{"descRaw":"Restores the HP of 3 allies simultaneously","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Restores the HP of 3 allies simultaneously","moduleDesc":"Attack Range expands"},"skill":{"descRaw":"Range expands; reduces Attack Interval <@ba.vup>significantly","name":"Enkephalin","desc":"Range expands; reduces Attack Interval significantly"},"talents":[{"descRaw":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)","name":"Skill Aura","desc":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)"}],"module":{"name":"Medic Environment Analyze System"},"skills":[{"descRaw":"ATK <@ba.vup>+70%","name":"Healing Up γ","desc":"ATK +70%"},{"descRaw":"Range expands; reduces Attack Interval <@ba.vup>significantly","name":"Enkephalin","desc":"Range expands; reduces Attack Interval significantly"}],"traitBase":{"descRaw":"Restores the HP of 3 allies simultaneously","desc":"Restores the HP of 3 allies simultaneously"},"talentsBase":[{"descRaw":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)","name":"Skill Aura","desc":"When deployed, increases the SP recovery of all allies by 0.3/sec (only the highest effect of this type will be applied)"}],"modules":[{"name":"Medic Environment Analyze System","traitOverride":{"descRaw":"Restores the HP of 3 allies simultaneously","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Restores the HP of 3 allies simultaneously","moduleDesc":"Attack Range expands"}}],"_h":"m8mz0xd00x5kj1n2gidu3kdu3kdg0ipdj1n2gi0x0xdu3kdu3k0xd00x5k"},"chess_char_5_17_a":{"name":"Mountain","subProfessionName":"Fighter","trait":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"skill":{"descRaw":"<@ba.rem>Can switch between the original state and the following state:\nDEF <@ba.vdown>-30%, Attack Range <@ba.vdown>reduces, ATK <@ba.vup>+35%, Block <@ba.vup>+1, attacks all blocked enemies, and restores <@ba.vup>4.0% Max HP per second","name":"Sweeping Stance","desc":"Can switch between the original state and the following state:\nDEF -30%, Attack Range reduces, ATK +35%, Block +1, attacks all blocked enemies, and restores 4.0% Max HP per second"},"talents":[{"descRaw":"20% chance for attacks to deal 160% damage and reduce the target's ATK by 15% for 3 seconds (Does not stack)","name":"Forceful Fist","desc":"20% chance for attacks to deal 160% damage and reduce the target's ATK by 15% for 3 seconds (Does not stack)"},{"descRaw":"DEF +10%; Physical Dodge +15%","name":"Sturdy Constitution","desc":"DEF +10%; Physical Dodge +15%"}],"module":{"name":"'Price of Freedom'"},"skills":[{"descRaw":"The next attack deals <@ba.vup>170% ATK damage and hits 1 additional target","name":"Left Hook","desc":"The next attack deals 170% ATK damage and hits 1 additional target"},{"descRaw":"<@ba.rem>Can switch between the original state and the following state:\nDEF <@ba.vdown>-30%, Attack Range <@ba.vdown>reduces, ATK <@ba.vup>+35%, Block <@ba.vup>+1, attacks all blocked enemies, and restores <@ba.vup>4.0% Max HP per second","name":"Sweeping Stance","desc":"Can switch between the original state and the following state:\nDEF -30%, Attack Range reduces, ATK +35%, Block +1, attacks all blocked enemies, and restores 4.0% Max HP per second"},{"descRaw":"Attack interval <@ba.vdown>increases, ATK <@ba.vup>+55%, attacks hit <@ba.vup>2 times, increases the activation rate of the first Talent to <@ba.vup>48%, and each attack pushes up to <@ba.vup>3 surrounding targets away <@ba.vup>moderately","name":"Earth-Shattering Smash","desc":"Attack interval increases, ATK +55%, attacks hit 2 times, increases the activation rate of the first Talent to 48%, and each attack pushes up to 3 surrounding targets away moderately"}],"_h":"30lz3h3hh4spc5kni0knyzhlyznz4ktnzvh4spc55qd0pb"},"chess_char_5_17_b":{"name":"Mountain","subProfessionName":"Fighter","trait":{"descRaw":"Blocks 1 enemy; Gains <@ba.vup>+10 ASPD when above 50% HP","desc":"Blocks 1 enemy; Gains +10 ASPD when above 50% HP"},"skill":{"descRaw":"<@ba.rem>Can switch between the original state and the following state:\nDEF <@ba.vdown>-25%, Attack Range <@ba.vdown>reduces, ATK <@ba.vup>+50%, Block <@ba.vup>+1, attacks all blocked enemies, and restores <@ba.vup>5.0% Max HP per second","name":"Sweeping Stance","desc":"Can switch between the original state and the following state:\nDEF -25%, Attack Range reduces, ATK +50%, Block +1, attacks all blocked enemies, and restores 5.0% Max HP per second"},"talents":[{"descRaw":"20% chance for attacks to deal 160% damage and reduce the target's ATK by 15% for 3 seconds (Does not stack)","name":"Forceful Fist","desc":"20% chance for attacks to deal 160% damage and reduce the target's ATK by 15% for 3 seconds (Does not stack)"},{"descRaw":"DEF +10%; Physical Dodge +15%","name":"Sturdy Constitution","desc":"DEF +10%; Physical Dodge +15%"}],"module":{"name":"'Price of Freedom'"},"skills":[{"descRaw":"The next attack deals <@ba.vup>200% ATK damage and hits 1 additional target","name":"Left Hook","desc":"The next attack deals 200% ATK damage and hits 1 additional target"},{"descRaw":"<@ba.rem>Can switch between the original state and the following state:\nDEF <@ba.vdown>-25%, Attack Range <@ba.vdown>reduces, ATK <@ba.vup>+50%, Block <@ba.vup>+1, attacks all blocked enemies, and restores <@ba.vup>5.0% Max HP per second","name":"Sweeping Stance","desc":"Can switch between the original state and the following state:\nDEF -25%, Attack Range reduces, ATK +50%, Block +1, attacks all blocked enemies, and restores 5.0% Max HP per second"},{"descRaw":"Attack interval <@ba.vdown>increases, ATK <@ba.vup>+70%, attacks hit <@ba.vup>2 times, increases the activation rate of the first Talent to <@ba.vup>55%, and each attack pushes up to <@ba.vup>3 surrounding targets away <@ba.vup>moderately","name":"Earth-Shattering Smash","desc":"Attack interval increases, ATK +70%, attacks hit 2 times, increases the activation rate of the first Talent to 55%, and each attack pushes up to 3 surrounding targets away moderately"}],"traitBase":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"talentsBase":[{"descRaw":"20% chance for attacks to deal 160% damage and reduce the target's ATK by 15% for 3 seconds (Does not stack)","name":"Forceful Fist","desc":"20% chance for attacks to deal 160% damage and reduce the target's ATK by 15% for 3 seconds (Does not stack)"},{"descRaw":"DEF +10%; Physical Dodge +15%","name":"Sturdy Constitution","desc":"DEF +10%; Physical Dodge +15%"}],"modules":[{"name":"'Price of Freedom'","traitOverride":{"descRaw":"Blocks 1 enemy; Gains <@ba.vup>+10 ASPD when above 50% HP","desc":"Blocks 1 enemy; Gains +10 ASPD when above 50% HP"}},{"name":"'In the Dead of Night'","traitOverride":{"descRaw":"Blocks 1 enemy; Has <@ba.kw>15% Physical Dodge","desc":"Blocks 1 enemy; Has 15% Physical Dodge"}}],"_h":"30lz19jq9csp11kni0knyzhlyznzsqtnsl9csp113fd09s3h3hkni0knyzhlyznz19jqjoo4wy"},"chess_char_5_18_a":{"name":"Gavial the Invincible","subProfessionName":"Centurion","trait":{"descRaw":"Attacks <@ba.kw>all blocked enemies","desc":"Attacks all blocked enemies"},"skill":{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+110%, DEF <@ba.vup>+35%; When attacking unblocked enemies, pulls them towards this unit <@ba.vup>moderately","name":"Chainsaw Assault","desc":"Attack Range expands, ATK +110%, DEF +35%; When attacking unblocked enemies, pulls them towards this unit moderately"},"talents":[{"descRaw":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy","name":"Battleaxe","desc":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy"},{"descRaw":"Increases this unit's healing received by 20%, increased to 40% when under half HP","name":"Medical Background","desc":"Increases this unit's healing received by 20%, increased to 40% when under half HP"}],"module":{"name":"The Binding of Gavial"},"skills":[{"descRaw":"ATK <@ba.vup>+45%, each attack restores HP to this unit equal to <@ba.vup>30% of the damage dealt","name":"Precise Thrashing","desc":"ATK +45%, each attack restores HP to this unit equal to 30% of the damage dealt"},{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+110%, DEF <@ba.vup>+35%; When attacking unblocked enemies, pulls them towards this unit <@ba.vup>moderately","name":"Chainsaw Assault","desc":"Attack Range expands, ATK +110%, DEF +35%; When attacking unblocked enemies, pulls them towards this unit moderately"},{"descRaw":"ATK <@ba.vup>+85%, ASPD <@ba.vup>+60, Block <@ba.vup>+2; While this skill is active, this unit only takes <@ba.vup>50% of incoming damage, with the remaining amount dealt as HP loss over <@ba.vup>20 seconds after this skill ends","name":"Soul of the Jungle","desc":"ATK +85%, ASPD +60, Block +2; While this skill is active, this unit only takes 50% of incoming damage, with the remaining amount dealt as HP loss over 20 seconds after this skill ends"}],"_h":"rugraaye67lzonhphshpebfpebko8qlfq667lzonanlu28"},"chess_char_5_18_b":{"name":"Gavial the Invincible","subProfessionName":"Centurion","trait":{"descRaw":"Attacks <@ba.kw>all blocked enemies; ATK is increased to <@ba.kw>110% when attacking blocked enemies","desc":"Attacks all blocked enemies; ATK is increased to 110% when attacking blocked enemies"},"skill":{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+140%, DEF <@ba.vup>+40%; When attacking unblocked enemies, pulls them towards this unit <@ba.vup>moderately","name":"Chainsaw Assault","desc":"Attack Range expands, ATK +140%, DEF +40%; When attacking unblocked enemies, pulls them towards this unit moderately"},"talents":[{"descRaw":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy","name":"Battleaxe","desc":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy"},{"descRaw":"Increases this unit's healing received by 20%, increased to 40% when under half HP","name":"Medical Background","desc":"Increases this unit's healing received by 20%, increased to 40% when under half HP"}],"module":{"name":"The Binding of Gavial"},"skills":[{"descRaw":"ATK <@ba.vup>+60%, each attack restores HP to this unit equal to <@ba.vup>35% of the damage dealt","name":"Precise Thrashing","desc":"ATK +60%, each attack restores HP to this unit equal to 35% of the damage dealt"},{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+140%, DEF <@ba.vup>+40%; When attacking unblocked enemies, pulls them towards this unit <@ba.vup>moderately","name":"Chainsaw Assault","desc":"Attack Range expands, ATK +140%, DEF +40%; When attacking unblocked enemies, pulls them towards this unit moderately"},{"descRaw":"ATK <@ba.vup>+100%, ASPD <@ba.vup>+80, Block <@ba.vup>+2; While this skill is active, this unit only takes <@ba.vup>50% of incoming damage, with the remaining amount dealt as HP loss over <@ba.vup>20 seconds after this skill ends","name":"Soul of the Jungle","desc":"ATK +100%, ASPD +80, Block +2; While this skill is active, this unit only takes 50% of incoming damage, with the remaining amount dealt as HP loss over 20 seconds after this skill ends"}],"traitBase":{"descRaw":"Attacks <@ba.kw>all blocked enemies","desc":"Attacks all blocked enemies"},"talentsBase":[{"descRaw":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy","name":"Battleaxe","desc":"Increases ATK and DEF by 10%, increased by a further 4% for each blocked enemy"},{"descRaw":"Increases this unit's healing received by 20%, increased to 40% when under half HP","name":"Medical Background","desc":"Increases this unit's healing received by 20%, increased to 40% when under half HP"}],"modules":[{"name":"The Binding of Gavial","traitOverride":{"descRaw":"Attacks <@ba.kw>all blocked enemies; ATK is increased to <@ba.kw>110% when attacking blocked enemies","desc":"Attacks all blocked enemies; ATK is increased to 110% when attacking blocked enemies"}},{"name":"Sanding and Polishing","traitOverride":{"descRaw":"Attacks <@ba.kw>all blocked enemies","moduleDescRaw":"While above 50% HP, reduces the amount of Physical damage taken by <@ba.kw>20%","desc":"Attacks all blocked enemies","moduleDesc":"While above 50% HP, reduces the amount of Physical damage taken by 20%"}},{"name":"Gavial the Invincible Limited Badge","traitOverride":{"descRaw":"Attacks <@ba.kw>all blocked enemies","moduleDescRaw":"In <@ba.kw>Reclamation Algorithm, after the skill is activated for the first time, Max HP, ATK, and DEF increase to 150%","desc":"Attacks all blocked enemies","moduleDesc":"In Reclamation Algorithm, after the skill is activated for the first time, Max HP, ATK, and DEF increase to 150%"}}],"_h":"rugrshhvnclz0qhphshpebfpebkog6lfaunclz0qiblugoaayehphshpebfpebkoshhvunaaxwye826yaaoeye86"},"chess_char_5_19_a":{"name":"Młynar","subProfessionName":"Liberator","trait":{"descRaw":"Normally does not attack and has 0 Block; when skill is inactive, ATK gradually increases up to <@ba.kw>+200% over <@ba.kw>40 seconds; ATK is reset when the skill ends","desc":"Normally does not attack and has 0 Block; when skill is inactive, ATK gradually increases up to +200% over 40 seconds; ATK is reset when the skill ends"},"skill":{"descRaw":"Attack range <@ba.vup>increased, Trait effect increased by <@ba.vup>2x (trait multiplier <@ba.vup>-10% for each enemy defeated), attacks hit <@ba.vup>5 targets for <@ba.vup>125% ATK as Physical damage. When any enemy within range is attacked by a Kazimierz Operator, deal an extra <@ba.vup>10% of Młynar ATK as <@ba.vup>True damage.","name":"Unbrilliant Glory","desc":"Attack range increased, Trait effect increased by 2x (trait multiplier -10% for each enemy defeated), attacks hit 5 targets for 125% ATK as Physical damage. When any enemy within range is attacked by a Kazimierz Operator, deal an extra 10% of Młynar ATK as True damage."},"talents":[{"descRaw":"ATK increased to 110% when attacking. If there are 3 or more enemies nearby, ATK increased to 115%, and take 15% less damage","name":"Wanderer","desc":"ATK increased to 110% when attacking. If there are 3 or more enemies nearby, ATK increased to 115%, and take 15% less damage"},{"descRaw":"More likely to be attacked while deployed. When any Kazimierz Operator is attacked, reflect 15% of Młynar's ATK as True Damage","name":"Unmoved","desc":"More likely to be attacked while deployed. When any Kazimierz Operator is attacked, reflect 15% of Młynar's ATK as True Damage"}],"module":{"name":"'Man in Scabbard'"},"skills":[{"descRaw":"Attacks deal <@ba.vup>145% ATK as Physical damage, DEF <@ba.vup>+30%","name":"Unvoiced Anger","desc":"Attacks deal 145% ATK as Physical damage, DEF +30%"},{"descRaw":"Attack interval <@ba.vdown>increased, attack range <@ba.vup>increased, attacks deal <@ba.vup>130% ATK <@ba.vup>twice.\n<@ba.rem>If an enemy has been defeated while skill is active, Trait effect is not reset when skill expires. This can be manually deactivated. (Skill can be halted at any time while active)","name":"Unresolved Sorrow","desc":"Attack interval increased, attack range increased, attacks deal 130% ATK twice.\nIf an enemy has been defeated while skill is active, Trait effect is not reset when skill expires. This can be manually deactivated. (Skill can be halted at any time while active)"},{"descRaw":"Attack range <@ba.vup>increased, Trait effect increased by <@ba.vup>2x (trait multiplier <@ba.vup>-10% for each enemy defeated), attacks hit <@ba.vup>5 targets for <@ba.vup>125% ATK as Physical damage. When any enemy within range is attacked by a Kazimierz Operator, deal an extra <@ba.vup>10% of Młynar ATK as <@ba.vup>True damage.","name":"Unbrilliant Glory","desc":"Attack range increased, Trait effect increased by 2x (trait multiplier -10% for each enemy defeated), attacks hit 5 targets for 125% ATK as Physical damage. When any enemy within range is attacked by a Kazimierz Operator, deal an extra 10% of Młynar ATK as True damage."}],"_h":"n2jnun9tdt1ifefo2tfoxs9exs8d376wor3gq581dt1ife"},"chess_char_5_19_b":{"name":"Młynar","subProfessionName":"Liberator","trait":{"descRaw":"Normally does not attack and has 0 Block; when skill is inactive, ATK gradually increases up to <@ba.kw>+200% over <@ba.kw>40 seconds; ATK is reset when the skill ends","moduleDescRaw":"Directly gains <@ba.kw>+100% charge after deployment","desc":"Normally does not attack and has 0 Block; when skill is inactive, ATK gradually increases up to +200% over 40 seconds; ATK is reset when the skill ends","moduleDesc":"Directly gains +100% charge after deployment"},"skill":{"descRaw":"Attack range <@ba.vup>increased, Trait effect increased by <@ba.vup>2x (trait multiplier <@ba.vup>-10% for each enemy defeated), attacks hit <@ba.vup>5 targets for <@ba.vup>150% ATK as Physical damage. When any enemy within range is attacked by a Kazimierz Operator, deal an extra <@ba.vup>11% of Młynar ATK as <@ba.vup>True damage.","name":"Unbrilliant Glory","desc":"Attack range increased, Trait effect increased by 2x (trait multiplier -10% for each enemy defeated), attacks hit 5 targets for 150% ATK as Physical damage. When any enemy within range is attacked by a Kazimierz Operator, deal an extra 11% of Młynar ATK as True damage."},"talents":[{"descRaw":"ATK increased to 110% when attacking. If there are 3 or more enemies nearby, ATK increased to 115%, and take 15% less damage","name":"Wanderer","desc":"ATK increased to 110% when attacking. If there are 3 or more enemies nearby, ATK increased to 115%, and take 15% less damage"},{"descRaw":"More likely to be attacked while deployed. When any Kazimierz Operator is attacked, reflect 15% of Młynar's ATK as True Damage","name":"Unmoved","desc":"More likely to be attacked while deployed. When any Kazimierz Operator is attacked, reflect 15% of Młynar's ATK as True Damage"}],"module":{"name":"'Man in Scabbard'"},"skills":[{"descRaw":"Attacks deal <@ba.vup>170% ATK as Physical damage, DEF <@ba.vup>+40%","name":"Unvoiced Anger","desc":"Attacks deal 170% ATK as Physical damage, DEF +40%"},{"descRaw":"Attack interval <@ba.vdown>increased, attack range <@ba.vup>increased, attacks deal <@ba.vup>160% ATK <@ba.vup>twice.\n<@ba.rem>If an enemy has been defeated while skill is active, Trait effect is not reset when skill expires. This can be manually deactivated. (Skill can be halted at any time while active)","name":"Unresolved Sorrow","desc":"Attack interval increased, attack range increased, attacks deal 160% ATK twice.\nIf an enemy has been defeated while skill is active, Trait effect is not reset when skill expires. This can be manually deactivated. (Skill can be halted at any time while active)"},{"descRaw":"Attack range <@ba.vup>increased, Trait effect increased by <@ba.vup>2x (trait multiplier <@ba.vup>-10% for each enemy defeated), attacks hit <@ba.vup>5 targets for <@ba.vup>150% ATK as Physical damage. When any enemy within range is attacked by a Kazimierz Operator, deal an extra <@ba.vup>11% of Młynar ATK as <@ba.vup>True damage.","name":"Unbrilliant Glory","desc":"Attack range increased, Trait effect increased by 2x (trait multiplier -10% for each enemy defeated), attacks hit 5 targets for 150% ATK as Physical damage. When any enemy within range is attacked by a Kazimierz Operator, deal an extra 11% of Młynar ATK as True damage."}],"traitBase":{"descRaw":"Normally does not attack and has 0 Block; when skill is inactive, ATK gradually increases up to <@ba.kw>+200% over <@ba.kw>40 seconds; ATK is reset when the skill ends","desc":"Normally does not attack and has 0 Block; when skill is inactive, ATK gradually increases up to +200% over 40 seconds; ATK is reset when the skill ends"},"talentsBase":[{"descRaw":"ATK increased to 110% when attacking. If there are 3 or more enemies nearby, ATK increased to 115%, and take 15% less damage","name":"Wanderer","desc":"ATK increased to 110% when attacking. If there are 3 or more enemies nearby, ATK increased to 115%, and take 15% less damage"},{"descRaw":"More likely to be attacked while deployed. When any Kazimierz Operator is attacked, reflect 15% of Młynar's ATK as True Damage","name":"Unmoved","desc":"More likely to be attacked while deployed. When any Kazimierz Operator is attacked, reflect 15% of Młynar's ATK as True Damage"}],"modules":[{"name":"'Man in Scabbard'","traitOverride":{"descRaw":"Normally does not attack and has 0 Block; when skill is inactive, ATK gradually increases up to <@ba.kw>+200% over <@ba.kw>40 seconds; ATK is reset when the skill ends","moduleDescRaw":"Directly gains <@ba.kw>+100% charge after deployment","desc":"Normally does not attack and has 0 Block; when skill is inactive, ATK gradually increases up to +200% over 40 seconds; ATK is reset when the skill ends","moduleDesc":"Directly gains +100% charge after deployment"}}],"_h":"n2jnunve9tyojq1ikzfo2tfoxs9exs8dkw6w46phq55ejq1ikzun9tfo2tfoxs9exs8dunve9tyo"},"chess_char_5_20_a":{"name":"Angelina","subProfessionName":"Decel Binder","trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skill":{"descRaw":"Applies <$ba.weightless>Weightless to all enemies on the battlefield, <@ba.vup>expands Attack Range, <@ba.vup>+90% ATK, and can attack <@ba.vup>4 enemies\n<@ba.rem>Cannot use normal attacks while skill is inactive","name":"Arcane Staff - Anti-Gravity Mode","desc":"Applies Weightless to all enemies on the battlefield, expands Attack Range, +90% ATK, and can attack 4 enemies\nCannot use normal attacks while skill is inactive"},"talents":[{"descRaw":"All allies' ASPD +7","name":"Accelerator Field","desc":"All allies' ASPD +7"},{"descRaw":"Restores the HP of all allies by 20 per second when the skill is not activated","name":"Part-time Job","desc":"Restores the HP of all allies by 20 per second when the skill is not activated"}],"module":{"name":"Gravity Calibration Module"},"skills":[{"descRaw":"ATK <@ba.vup>+60%\n<@ba.rem>Automatically activated","name":"Arcane Staff - Quick Charge Mode","desc":"ATK +60%\nAutomatically activated"},{"descRaw":"Attack Interval <@ba.vup>reduces dramatically, but the Arts damage dealt by every attack is only <@ba.vdown>35% of ATK\n<@ba.rem>Cannot use Normal Attack when the skill is not activated","name":"Arcane Staff - Particle Mode","desc":"Attack Interval reduces dramatically, but the Arts damage dealt by every attack is only 35% of ATK\nCannot use Normal Attack when the skill is not activated"},{"descRaw":"Applies <$ba.weightless>Weightless to all enemies on the battlefield, <@ba.vup>expands Attack Range, <@ba.vup>+90% ATK, and can attack <@ba.vup>4 enemies\n<@ba.rem>Cannot use normal attacks while skill is inactive","name":"Arcane Staff - Anti-Gravity Mode","desc":"Applies Weightless to all enemies on the battlefield, expands Attack Range, +90% ATK, and can attack 4 enemies\nCannot use normal attacks while skill is inactive"}],"_h":"kqf2pn83uuq33kel9telhohwhole1lc02kvhvcw6uuq33k"},"chess_char_5_20_b":{"name":"Angelina","subProfessionName":"Decel Binder","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and <$ba.sluggish>Slow the enemy for a <@ba.kw>moderate period of time","desc":"Attacks deal Arts damage, and Slow the enemy for a moderate period of time"},"skill":{"descRaw":"Applies <$ba.weightless>Weightless to all enemies on the battlefield, <@ba.vup>expands Attack Range, <@ba.vup>+105% ATK, and can attack <@ba.vup>5 enemies\n<@ba.rem>Cannot use normal attacks while skill is inactive","name":"Arcane Staff - Anti-Gravity Mode","desc":"Applies Weightless to all enemies on the battlefield, expands Attack Range, +105% ATK, and can attack 5 enemies\nCannot use normal attacks while skill is inactive"},"talents":[{"descRaw":"All allies' ASPD +7","name":"Accelerator Field","desc":"All allies' ASPD +7"},{"descRaw":"Restores the HP of all allies by 20 per second when the skill is not activated","name":"Part-time Job","desc":"Restores the HP of all allies by 20 per second when the skill is not activated"}],"module":{"name":"Gravity Calibration Module"},"skills":[{"descRaw":"ATK <@ba.vup>+80%\n<@ba.rem>Automatically activated","name":"Arcane Staff - Quick Charge Mode","desc":"ATK +80%\nAutomatically activated"},{"descRaw":"Attack Interval <@ba.vup>reduces dramatically, but the Arts damage dealt by every attack is only <@ba.vdown>40% of ATK\n<@ba.rem>Cannot use Normal Attack when the skill is not activated","name":"Arcane Staff - Particle Mode","desc":"Attack Interval reduces dramatically, but the Arts damage dealt by every attack is only 40% of ATK\nCannot use Normal Attack when the skill is not activated"},{"descRaw":"Applies <$ba.weightless>Weightless to all enemies on the battlefield, <@ba.vup>expands Attack Range, <@ba.vup>+105% ATK, and can attack <@ba.vup>5 enemies\n<@ba.rem>Cannot use normal attacks while skill is inactive","name":"Arcane Staff - Anti-Gravity Mode","desc":"Applies Weightless to all enemies on the battlefield, expands Attack Range, +105% ATK, and can attack 5 enemies\nCannot use normal attacks while skill is inactive"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"talentsBase":[{"descRaw":"All allies' ASPD +7","name":"Accelerator Field","desc":"All allies' ASPD +7"},{"descRaw":"Restores the HP of all allies by 20 per second when the skill is not activated","name":"Part-time Job","desc":"Restores the HP of all allies by 20 per second when the skill is not activated"}],"modules":[{"name":"Gravity Calibration Module","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and <$ba.sluggish>Slow the enemy for a <@ba.kw>moderate period of time","desc":"Attacks deal Arts damage, and Slow the enemy for a moderate period of time"}},{"name":"Experimental Anti-Gravity Module","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","moduleDescRaw":"SP recovery +0.2/s when there are enemies within range","desc":"Deals Arts damage and Slows the target for a short time","moduleDesc":"SP recovery +0.2/s when there are enemies within range"}},{"name":"Angelina's Specialized Badge","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","moduleDescRaw":"In <@ba.kw>Integrated Strategies, all enemies on the field have Weight -1 while this unit is deployed","desc":"Deals Arts damage and Slows the target for a short time","moduleDesc":"In Integrated Strategies, all enemies on the field have Weight -1 while this unit is deployed"}}],"_h":"kqf2uw085sq3riel9telhohwholec7c0gictvcba5sq3ripn83el9telhohwholeuw084opn0i830ixmpnrc830g"},"chess_char_5_21_a":{"name":"Santalla","subProfessionName":"Splash Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"skill":{"descRaw":"Attack Range <@ba.vup>expands, Attack Interval <@ba.vup>shortens massively, and attacks now summon icicles over random areas within range. When the icicles fall, all enemies in the area are inflicted with <$ba.cold>Cold for <@ba.vup>1 seconds and dealt <@ba.vup>65% of Santalla's ATK as Arts damage","name":"'Witch's Tears'","desc":"Attack Range expands, Attack Interval shortens massively, and attacks now summon icicles over random areas within range. When the icicles fall, all enemies in the area are inflicted with Cold for 1 seconds and dealt 65% of Santalla's ATK as Arts damage"},"talents":[{"descRaw":"After being deployed for 20 seconds, this unit gains +15% ATK and <$ba.buffres>Status Resistance","name":"Born of the Biting Cold","desc":"After being deployed for 20 seconds, this unit gains +15% ATK and Status Resistance"}],"module":{"name":"Ice Brazier"},"skills":[{"descRaw":"ATK <@ba.vup>+27%; ASPD <@ba.vup>+25","name":"Swift Strike γ","desc":"ATK +27%; ASPD +25"},{"descRaw":"Attack Range <@ba.vup>expands, Attack Interval <@ba.vup>shortens massively, and attacks now summon icicles over random areas within range. When the icicles fall, all enemies in the area are inflicted with <$ba.cold>Cold for <@ba.vup>1 seconds and dealt <@ba.vup>65% of Santalla's ATK as Arts damage","name":"'Witch's Tears'","desc":"Attack Range expands, Attack Interval shortens massively, and attacks now summon icicles over random areas within range. When the icicles fall, all enemies in the area are inflicted with Cold for 1 seconds and dealt 65% of Santalla's ATK as Arts damage"}],"_h":"wvkin1hbwsbv4spk92sdnu8ydm2gwsbv4s"},"chess_char_5_21_b":{"name":"Santalla","subProfessionName":"Splash Caster","trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"<@ba.kw>Reduces Deployment Cost","desc":"Deals AOE Arts damage","moduleDesc":"Reduces Deployment Cost"},"skill":{"descRaw":"Attack Range <@ba.vup>expands, Attack Interval <@ba.vup>shortens massively, and attacks now summon icicles over random areas within range. When the icicles fall, all enemies in the area are inflicted with <$ba.cold>Cold for <@ba.vup>1 seconds and dealt <@ba.vup>75% of Santalla's ATK as Arts damage","name":"'Witch's Tears'","desc":"Attack Range expands, Attack Interval shortens massively, and attacks now summon icicles over random areas within range. When the icicles fall, all enemies in the area are inflicted with Cold for 1 seconds and dealt 75% of Santalla's ATK as Arts damage"},"talents":[{"descRaw":"After being deployed for 20 seconds, this unit gains +15% ATK and <$ba.buffres>Status Resistance","name":"Born of the Biting Cold","desc":"After being deployed for 20 seconds, this unit gains +15% ATK and Status Resistance"}],"module":{"name":"Ice Brazier"},"skills":[{"descRaw":"ATK <@ba.vup>+34%; ASPD <@ba.vup>+35","name":"Swift Strike γ","desc":"ATK +34%; ASPD +35"},{"descRaw":"Attack Range <@ba.vup>expands, Attack Interval <@ba.vup>shortens massively, and attacks now summon icicles over random areas within range. When the icicles fall, all enemies in the area are inflicted with <$ba.cold>Cold for <@ba.vup>1 seconds and dealt <@ba.vup>75% of Santalla's ATK as Arts damage","name":"'Witch's Tears'","desc":"Attack Range expands, Attack Interval shortens massively, and attacks now summon icicles over random areas within range. When the icicles fall, all enemies in the area are inflicted with Cold for 1 seconds and dealt 75% of Santalla's ATK as Arts damage"}],"traitBase":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"talentsBase":[{"descRaw":"After being deployed for 20 seconds, this unit gains +15% ATK and <$ba.buffres>Status Resistance","name":"Born of the Biting Cold","desc":"After being deployed for 20 seconds, this unit gains +15% ATK and Status Resistance"}],"modules":[{"name":"Ice Brazier","traitOverride":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"<@ba.kw>Reduces Deployment Cost","desc":"Deals AOE Arts damage","moduleDesc":"Reduces Deployment Cost"}}],"_h":"wvkin1jyhbza1fbvs1pk92sdnuvddmw91fbvs1n1hbpk92sdnun1jyhbza"},"chess_char_5_22_a":{"name":"Nymph","subProfessionName":"Primal Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","desc":"Attacks deal Arts damage, and can inflict Elemental Damage"},"skill":{"descRaw":"Deals <@ba.vup>270% ATK as Arts damage to the target and inflicts <$ba.fear>Fear for <@ba.vup>4 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional <@ba.vup>18% of Arts damage as <$ba.dt.apoptosis2>Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to <@ba.vup>70% ATK\n<@ba.rem>Can store 1 charge(s)","name":"Fear Blast","desc":"Deals 270% ATK as Arts damage to the target and inflicts Fear for 4 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional 18% of Arts damage as Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to 70% ATK\nCan store 1 charge(s)"},"talents":[{"descRaw":"When attacking enemies under the burst effect of <$ba.dt.apoptosis2>Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the <$ba.dt.apoptosis2>Necrosis burst","name":"Soul Stolen","desc":"When attacking enemies under the burst effect of Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the Necrosis burst"},{"descRaw":"Whenever a <$ba.dt.apoptosis2>Necrosis burst effect is triggered within Nymph's attack range, ATK +2%, stacking up to 10 times","name":"Key to the Heart","desc":"Whenever a Necrosis burst effect is triggered within Nymph's attack range, ATK +2%, stacking up to 10 times"}],"module":{"name":"'Aspiration'"},"skills":[{"descRaw":"ATK <@ba.vup>+60%, attacks deal an additional <@ba.vup>10% of Arts damage as <$ba.dt.apoptosis2>Necrosis; if target is under the burst effect of <$ba.dt.apoptosis2>Necrosis, deal an additional <@ba.vup>30% ATK as Elemental Damage","name":"Strike of the Djall","desc":"ATK +60%, attacks deal an additional 10% of Arts damage as Necrosis; if target is under the burst effect of Necrosis, deal an additional 30% ATK as Elemental Damage"},{"descRaw":"Deals <@ba.vup>270% ATK as Arts damage to the target and inflicts <$ba.fear>Fear for <@ba.vup>4 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional <@ba.vup>18% of Arts damage as <$ba.dt.apoptosis2>Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to <@ba.vup>70% ATK\n<@ba.rem>Can store 1 charge(s)","name":"Fear Blast","desc":"Deals 270% ATK as Arts damage to the target and inflicts Fear for 4 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional 18% of Arts damage as Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to 70% ATK\nCan store 1 charge(s)"},{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+140%, ASPD <@ba.vup>+30, attack <@ba.vup>2 targets simultaneously. If target is under the burst effect of <$ba.dt.apoptosis2>Necrosis, attacks deal Elemental Damage","name":"Crumbling Heart","desc":"Attack Range increases, ATK +140%, ASPD +30, attack 2 targets simultaneously. If target is under the burst effect of Necrosis, attacks deal Elemental Damage"}],"_h":"w8cm8odo07cr3j5bq2trwtac3z8m5nbboi07cr3juzfi1d"},"chess_char_5_22_b":{"name":"Nymph","subProfessionName":"Primal Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","moduleDescRaw":"Damage dealt to enemies under an Elemental Burst effect increased to 110%","desc":"Attacks deal Arts damage, and can inflict Elemental Damage","moduleDesc":"Damage dealt to enemies under an Elemental Burst effect increased to 110%"},"skill":{"descRaw":"Deals <@ba.vup>300% ATK as Arts damage to the target and inflicts <$ba.fear>Fear for <@ba.vup>5 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional <@ba.vup>22% of Arts damage as <$ba.dt.apoptosis2>Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to <@ba.vup>85% ATK\n<@ba.rem>Can store 2 charge(s)","name":"Fear Blast","desc":"Deals 300% ATK as Arts damage to the target and inflicts Fear for 5 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional 22% of Arts damage as Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to 85% ATK\nCan store 2 charge(s)"},"talents":[{"descRaw":"When attacking enemies under the burst effect of <$ba.dt.apoptosis2>Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the <$ba.dt.apoptosis2>Necrosis burst","name":"Soul Stolen","desc":"When attacking enemies under the burst effect of Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the Necrosis burst"},{"descRaw":"Whenever a <$ba.dt.apoptosis2>Necrosis burst effect is triggered within Nymph's attack range, ATK +2%, stacking up to 10 times","name":"Key to the Heart","desc":"Whenever a Necrosis burst effect is triggered within Nymph's attack range, ATK +2%, stacking up to 10 times"}],"module":{"name":"'Aspiration'"},"skills":[{"descRaw":"ATK <@ba.vup>+80%, attacks deal an additional <@ba.vup>10% of Arts damage as <$ba.dt.apoptosis2>Necrosis; if target is under the burst effect of <$ba.dt.apoptosis2>Necrosis, deal an additional <@ba.vup>40% ATK as Elemental Damage","name":"Strike of the Djall","desc":"ATK +80%, attacks deal an additional 10% of Arts damage as Necrosis; if target is under the burst effect of Necrosis, deal an additional 40% ATK as Elemental Damage"},{"descRaw":"Deals <@ba.vup>300% ATK as Arts damage to the target and inflicts <$ba.fear>Fear for <@ba.vup>5 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional <@ba.vup>22% of Arts damage as <$ba.dt.apoptosis2>Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to <@ba.vup>85% ATK\n<@ba.rem>Can store 2 charge(s)","name":"Fear Blast","desc":"Deals 300% ATK as Arts damage to the target and inflicts Fear for 5 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional 22% of Arts damage as Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to 85% ATK\nCan store 2 charge(s)"},{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+170%, ASPD <@ba.vup>+45, attack <@ba.vup>2 targets simultaneously. If target is under the burst effect of <$ba.dt.apoptosis2>Necrosis, attacks deal Elemental Damage","name":"Crumbling Heart","desc":"Attack Range increases, ATK +170%, ASPD +45, attack 2 targets simultaneously. If target is under the burst effect of Necrosis, attacks deal Elemental Damage"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","desc":"Attacks deal Arts damage, and can inflict Elemental Damage"},"talentsBase":[{"descRaw":"When attacking enemies under the burst effect of <$ba.dt.apoptosis2>Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the <$ba.dt.apoptosis2>Necrosis burst","name":"Soul Stolen","desc":"When attacking enemies under the burst effect of Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the Necrosis burst"},{"descRaw":"Whenever a <$ba.dt.apoptosis2>Necrosis burst effect is triggered within Nymph's attack range, ATK +2%, stacking up to 10 times","name":"Key to the Heart","desc":"Whenever a Necrosis burst effect is triggered within Nymph's attack range, ATK +2%, stacking up to 10 times"}],"modules":[{"name":"'Aspiration'","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","moduleDescRaw":"Damage dealt to enemies under an Elemental Burst effect increased to 110%","desc":"Attacks deal Arts damage, and can inflict Elemental Damage","moduleDesc":"Damage dealt to enemies under an Elemental Burst effect increased to 110%"}},{"name":"Consultation Toolkit","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","moduleDescRaw":"SP recovery +0.2/s when there are enemies under the burst effect of Elemental Injury within range","desc":"Attacks deal Arts damage, and can inflict Elemental Damage","moduleDesc":"SP recovery +0.2/s when there are enemies under the burst effect of Elemental Injury within range"}}],"_h":"w8cm8owrdowrzccrqi5bq2trwtac3z8mjgbb6bzccrqiqgfiu48odo5bq2trwtac3z8m8owrdowr3s8oe5doe5"},"chess_char_5_23_a":{"name":"Record Keeper","subProfessionName":"Medic","trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"skill":{"descRaw":"ATK <@ba.vup>+45%; after healing an Operator, grants them a buff for 10s that recovers <@ba.vup>80 HP whenever they take damage","name":"Sage Advice","desc":"ATK +45%; after healing an Operator, grants them a buff for 10s that recovers 80 HP whenever they take damage"},"talents":[{"descRaw":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s","name":"Accumulated Knowledge","desc":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s"}],"module":{"name":"Unfinished Record"},"skills":[{"descRaw":"The next heal is increased to <@ba.vup>115% of ATK and heals an additional target\n<@ba.rem>Can store 2 charge(s)","name":"Learning By Analogy","desc":"The next heal is increased to 115% of ATK and heals an additional target\nCan store 2 charge(s)"},{"descRaw":"ATK <@ba.vup>+45%; after healing an Operator, grants them a buff for 10s that recovers <@ba.vup>80 HP whenever they take damage","name":"Sage Advice","desc":"ATK +45%; after healing an Operator, grants them a buff for 10s that recovers 80 HP whenever they take damage"}],"_h":"pq7q7676ujeilb6hxb6h25hb0duoujeilb"},"chess_char_5_23_b":{"name":"Record Keeper","subProfessionName":"Medic","trait":{"descRaw":"Restores the HP of allies","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Restores the HP of allies","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"},"skill":{"descRaw":"ATK <@ba.vup>+60%; after healing an Operator, grants them a buff for 10s that recovers <@ba.vup>120 HP whenever they take damage","name":"Sage Advice","desc":"ATK +60%; after healing an Operator, grants them a buff for 10s that recovers 120 HP whenever they take damage"},"talents":[{"descRaw":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s","name":"Accumulated Knowledge","desc":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s"}],"module":{"name":"Unfinished Record"},"skills":[{"descRaw":"The next heal is increased to <@ba.vup>130% of ATK and heals an additional target\n<@ba.rem>Can store 3 charge(s)","name":"Learning By Analogy","desc":"The next heal is increased to 130% of ATK and heals an additional target\nCan store 3 charge(s)"},{"descRaw":"ATK <@ba.vup>+60%; after healing an Operator, grants them a buff for 10s that recovers <@ba.vup>120 HP whenever they take damage","name":"Sage Advice","desc":"ATK +60%; after healing an Operator, grants them a buff for 10s that recovers 120 HP whenever they take damage"}],"traitBase":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"talentsBase":[{"descRaw":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s","name":"Accumulated Knowledge","desc":"When Operators within Attack Range activate a skill, Record Keeper recovers 1 SP and gains ASPD +16 for 8s"}],"modules":[{"name":"Unfinished Record","traitOverride":{"descRaw":"Restores the HP of allies","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Restores the HP of allies","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"}}],"_h":"pq7q76by76dw97eiq96hxb6h25lz0dg897eiq976766hxb6h2576by76dw"},"chess_char_5_diy1_a":{"name":"Selected Operator","_h":"mc"},"chess_char_5_diy1_b":{"name":"Selected Operator","_h":"mc"},"chess_char_5_diy2_a":{"name":"Selected Operator","_h":"mc"},"chess_char_5_diy2_b":{"name":"Selected Operator","_h":"mc"},"chess_char_6_01_a":{"name":"Lemuen","subProfessionName":"Deadeye","trait":{"descRaw":"Prioritizes attacking the enemy with <@ba.kw>lowest DEF within range first","desc":"Prioritizes attacking the enemy with lowest DEF within range first"},"skill":{"descRaw":"Stops attacking, consuming 1 bullet every <@ba.vup>0.5s to lock onto enemies in succession; when the skill ends, bombards the positions of all locked-on enemies, dealing <@ba.vup>240% of ATK as AoE Physical damage per bombardment (damage increases to <@ba.vup>360% of ATK for enemies in the center of the bombardment)\n<@ba.rem>Skill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Salutatio Sclopeti: Memento Mori","desc":"Stops attacking, consuming 1 bullet every 0.5s to lock onto enemies in succession; when the skill ends, bombards the positions of all locked-on enemies, dealing 240% of ATK as AoE Physical damage per bombardment (damage increases to 360% of ATK for enemies in the center of the bombardment)\nSkill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},"talents":[{"descRaw":"Elite or leader enemies who are within a Laterano Operator's Attack Range for more than 8 seconds become Wanted, taking 15% more damage from Laterano Operators; Lemuen can attack all Wanted enemies","name":"Diploma Persecutionis Internationalis","desc":"Elite or leader enemies who are within a Laterano Operator's Attack Range for more than 8 seconds become Wanted, taking 15% more damage from Laterano Operators; Lemuen can attack all Wanted enemies"},{"descRaw":"After being deployed for 20 seconds, ATK +10% and Lemuen's ammo-type skills have +1 Ammo capacity","name":"Modus Extraditio Fugitivi","desc":"After being deployed for 20 seconds, ATK +10% and Lemuen's ammo-type skills have +1 Ammo capacity"}],"module":{"name":"'Magazine and Stained Glass'"},"skills":[{"descRaw":"Increases ATK to <@ba.vup>165% when attacking, and attacks 1 additional target\n<@ba.rem>Skill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Salvē Etiam","desc":"Increases ATK to 165% when attacking, and attacks 1 additional target\nSkill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"ASPD <@ba.vup>+50, ATK <@ba.vup>+40%; when there are Wanted enemies on the battlefield, consumes a bullet to take aim for up to <@ba.vup>2.5s before firing a shot that ignores Dodge (while aiming, ATK gradually increases from <@ba.vup>180% to <@ba.vup>355%; if ATK is higher than the sum of target's remaining HP and DEF, stops aiming and immediately fires)\n<@ba.rem>Skill activation grants 6 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Honesta Missio","desc":"ASPD +50, ATK +40%; when there are Wanted enemies on the battlefield, consumes a bullet to take aim for up to 2.5s before firing a shot that ignores Dodge (while aiming, ATK gradually increases from 180% to 355%; if ATK is higher than the sum of target's remaining HP and DEF, stops aiming and immediately fires)\nSkill activation grants 6 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"Stops attacking, consuming 1 bullet every <@ba.vup>0.5s to lock onto enemies in succession; when the skill ends, bombards the positions of all locked-on enemies, dealing <@ba.vup>240% of ATK as AoE Physical damage per bombardment (damage increases to <@ba.vup>360% of ATK for enemies in the center of the bombardment)\n<@ba.rem>Skill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Salutatio Sclopeti: Memento Mori","desc":"Stops attacking, consuming 1 bullet every 0.5s to lock onto enemies in succession; when the skill ends, bombards the positions of all locked-on enemies, dealing 240% of ATK as AoE Physical damage per bombardment (damage increases to 360% of ATK for enemies in the center of the bombardment)\nSkill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"}],"_h":"vc9ogscosgr2zls6ljs690b990ai3yyjwdp0di47sgr2zl"},"chess_char_6_01_b":{"name":"Lemuen","subProfessionName":"Deadeye","trait":{"descRaw":"Prioritizes attacking the enemy with <@ba.kw>lowest DEF within range first","moduleDescRaw":"If the attacked enemy remains alive, gain <@ba.kw>1 additional SP","desc":"Prioritizes attacking the enemy with lowest DEF within range first","moduleDesc":"If the attacked enemy remains alive, gain 1 additional SP"},"skill":{"descRaw":"Stops attacking, consuming 1 bullet every <@ba.vup>0.5s to lock onto enemies in succession; when the skill ends, bombards the positions of all locked-on enemies, dealing <@ba.vup>270% of ATK as AoE Physical damage per bombardment (damage increases to <@ba.vup>390% of ATK for enemies in the center of the bombardment)\n<@ba.rem>Skill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Salutatio Sclopeti: Memento Mori","desc":"Stops attacking, consuming 1 bullet every 0.5s to lock onto enemies in succession; when the skill ends, bombards the positions of all locked-on enemies, dealing 270% of ATK as AoE Physical damage per bombardment (damage increases to 390% of ATK for enemies in the center of the bombardment)\nSkill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},"talents":[{"descRaw":"Elite or leader enemies who are within a Laterano Operator's Attack Range for more than 8 seconds become Wanted, taking 15% more damage from Laterano Operators; Lemuen can attack all Wanted enemies","name":"Diploma Persecutionis Internationalis","desc":"Elite or leader enemies who are within a Laterano Operator's Attack Range for more than 8 seconds become Wanted, taking 15% more damage from Laterano Operators; Lemuen can attack all Wanted enemies"},{"descRaw":"After being deployed for 15 seconds, ATK +18%, Lemuen's ammo-type skills have +2 Ammo capacity, and other Laterano Operators' ammo-type skills have +1 Ammo capacity","name":"Modus Extraditio Fugitivi","desc":"After being deployed for 15 seconds, ATK +18%, Lemuen's ammo-type skills have +2 Ammo capacity, and other Laterano Operators' ammo-type skills have +1 Ammo capacity"}],"module":{"name":"'Magazine and Stained Glass'"},"skills":[{"descRaw":"Increases ATK to <@ba.vup>180% when attacking, and attacks 1 additional target\n<@ba.rem>Skill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Salvē Etiam","desc":"Increases ATK to 180% when attacking, and attacks 1 additional target\nSkill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"ASPD <@ba.vup>+65, ATK <@ba.vup>+50%; when there are Wanted enemies on the battlefield, consumes a bullet to take aim for up to <@ba.vup>3s before firing a shot that ignores Dodge (while aiming, ATK gradually increases from <@ba.vup>180% to <@ba.vup>390%; if ATK is higher than the sum of target's remaining HP and DEF, stops aiming and immediately fires)\n<@ba.rem>Skill activation grants 6 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Honesta Missio","desc":"ASPD +65, ATK +50%; when there are Wanted enemies on the battlefield, consumes a bullet to take aim for up to 3s before firing a shot that ignores Dodge (while aiming, ATK gradually increases from 180% to 390%; if ATK is higher than the sum of target's remaining HP and DEF, stops aiming and immediately fires)\nSkill activation grants 6 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"Stops attacking, consuming 1 bullet every <@ba.vup>0.5s to lock onto enemies in succession; when the skill ends, bombards the positions of all locked-on enemies, dealing <@ba.vup>270% of ATK as AoE Physical damage per bombardment (damage increases to <@ba.vup>390% of ATK for enemies in the center of the bombardment)\n<@ba.rem>Skill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Salutatio Sclopeti: Memento Mori","desc":"Stops attacking, consuming 1 bullet every 0.5s to lock onto enemies in succession; when the skill ends, bombards the positions of all locked-on enemies, dealing 270% of ATK as AoE Physical damage per bombardment (damage increases to 390% of ATK for enemies in the center of the bombardment)\nSkill activation grants 5 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"}],"traitBase":{"descRaw":"Prioritizes attacking the enemy with <@ba.kw>lowest DEF within range first","desc":"Prioritizes attacking the enemy with lowest DEF within range first"},"talentsBase":[{"descRaw":"Elite or leader enemies who are within a Laterano Operator's Attack Range for more than 8 seconds become Wanted, taking 15% more damage from Laterano Operators; Lemuen can attack all Wanted enemies","name":"Diploma Persecutionis Internationalis","desc":"Elite or leader enemies who are within a Laterano Operator's Attack Range for more than 8 seconds become Wanted, taking 15% more damage from Laterano Operators; Lemuen can attack all Wanted enemies"},{"descRaw":"After being deployed for 20 seconds, ATK +10% and Lemuen's ammo-type skills have +1 Ammo capacity","name":"Modus Extraditio Fugitivi","desc":"After being deployed for 20 seconds, ATK +10% and Lemuen's ammo-type skills have +1 Ammo capacity"}],"modules":[{"name":"'Magazine and Stained Glass'","traitOverride":{"descRaw":"Prioritizes attacking the enemy with <@ba.kw>lowest DEF within range first","moduleDescRaw":"If the attacked enemy remains alive, gain <@ba.kw>1 additional SP","desc":"Prioritizes attacking the enemy with lowest DEF within range first","moduleDesc":"If the attacked enemy remains alive, gain 1 additional SP"},"talentChanges":[{"descRaw":"After being deployed for 15 seconds, ATK +18%, Lemuen's ammo-type skills have +2 Ammo capacity, and other Laterano Operators' ammo-type skills have +1 Ammo capacity","name":"Modus Extraditio Fugitivi","desc":"After being deployed for 15 seconds, ATK +18%, Lemuen's ammo-type skills have +2 Ammo capacity, and other Laterano Operators' ammo-type skills have +1 Ammo capacity"}]}],"_h":"vc9ogsoycouwwur2zfs6ljs6hnb9hnaiktyj3o96dietwur2zfgscos6ljs690b990aigsoycouwhnb9hn"},"chess_char_6_02_a":{"name":"Pramanix the Prerita","subProfessionName":"Phalanx Caster","trait":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage"},"skill":{"descRaw":"Attack range <@ba.vup>expands. Immediately <$ba.attract>Lures all enemies within attack range for <@ba.vup>10 seconds to the closest reachable ground near her, increases snowfall speed, <@ba.vup>+35% ATK, <@ba.vup>+30 ASPD, attacks ignore <@ba.vup>10 RES, and every attack deals <@ba.vup>180% ATK as Arts damage","name":"Towards the Mountains, Bow","desc":"Attack range expands. Immediately Lures all enemies within attack range for 10 seconds to the closest reachable ground near her, increases snowfall speed, +35% ATK, +30 ASPD, attacks ignore 10 RES, and every attack deals 180% ATK as Arts damage"},"talents":[{"descRaw":"Snow falls every 5.5 seconds onto tiles within attack range, dealing 75% ATK as Arts damage to any ground enemies passing through affected tiles. Each stack of snow reduces enemy Movement Speed by 12%, stacking up to 5 times (Snow on the tile disappears when the first enemy on it leaves the tile)","name":"Unending Snows","desc":"Snow falls every 5.5 seconds onto tiles within attack range, dealing 75% ATK as Arts damage to any ground enemies passing through affected tiles. Each stack of snow reduces enemy Movement Speed by 12%, stacking up to 5 times (Snow on the tile disappears when the first enemy on it leaves the tile)"},{"descRaw":"Upon taking damage, inflicts <$ba.cold>Cold on enemies for 1.5 seconds; if taking lethal damage, recovers all HP (once only) and <$ba.frozen>Freezes herself for 4 seconds, while <$ba.frozen>Freezing all enemies for 8 seconds","name":"Blessing of Karlan","desc":"Upon taking damage, inflicts Cold on enemies for 1.5 seconds; if taking lethal damage, recovers all HP (once only) and Freezes herself for 4 seconds, while Freezing all enemies for 8 seconds"}],"module":{"name":"A Thousandth of A Heart"},"skills":[{"descRaw":"Deals <@ba.vup>390% ATK as Arts damage to all enemies within range, inflicting <$ba.cold>Cold for <@ba.vup>3.5 seconds, and pushing them with moderate force in deployment direction; snow spreads on the ground (Up to 5 tiles forward)\n<@ba.rem>Can store 2 charges","name":"Ere Snow, Bells Chime","desc":"Deals 390% ATK as Arts damage to all enemies within range, inflicting Cold for 3.5 seconds, and pushing them with moderate force in deployment direction; snow spreads on the ground (Up to 5 tiles forward)\nCan store 2 charges"},{"descRaw":"Attacks deal <@ba.vup>310% ATK as Arts damage, and snow spreads to surrounding tiles after reaching 5 stacks (Spreads to a max of 20 tiles); ground enemies on snow tiles take <@ba.vup>20% ATK as Arts damage every second, and are inflicted with <@ba.vup>5 seconds of <$ba.cold>Cold after leaving a snow tile; When snow accumulates on the Objective Point 5 times, it freezes\n<@ba.rem>Unlimited duration, can manually deactivate skill (skill can be deactivated at will)","name":"Peaks, Clad in Frost","desc":"Attacks deal 310% ATK as Arts damage, and snow spreads to surrounding tiles after reaching 5 stacks (Spreads to a max of 20 tiles); ground enemies on snow tiles take 20% ATK as Arts damage every second, and are inflicted with 5 seconds of Cold after leaving a snow tile; When snow accumulates on the Objective Point 5 times, it freezes\nUnlimited duration, can manually deactivate skill (skill can be deactivated at will)"},{"descRaw":"Attack range <@ba.vup>expands. Immediately <$ba.attract>Lures all enemies within attack range for <@ba.vup>10 seconds to the closest reachable ground near her, increases snowfall speed, <@ba.vup>+35% ATK, <@ba.vup>+30 ASPD, attacks ignore <@ba.vup>10 RES, and every attack deals <@ba.vup>180% ATK as Arts damage","name":"Towards the Mountains, Bow","desc":"Attack range expands. Immediately Lures all enemies within attack range for 10 seconds to the closest reachable ground near her, increases snowfall speed, +35% ATK, +30 ASPD, attacks ignore 10 RES, and every attack deals 180% ATK as Arts damage"}],"_h":"ija03fl5hpufbklnysln9q5vpimejhfwrzmorhlzhpufbk"},"chess_char_6_02_b":{"name":"Pramanix the Prerita","subProfessionName":"Phalanx Caster","trait":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","moduleDescRaw":"Damage increases with number of enemies in the area (max increase <@ba.kw>15%)","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage","moduleDesc":"Damage increases with number of enemies in the area (max increase 15%)"},"skill":{"descRaw":"Attack range <@ba.vup>expands. Immediately <$ba.attract>Lures all enemies within attack range for <@ba.vup>10 seconds to the closest reachable ground near her, increases snowfall speed, <@ba.vup>+70% ATK, <@ba.vup>+30 ASPD, attacks ignore <@ba.vup>10 RES, and every attack deals <@ba.vup>210% ATK as Arts damage","name":"Towards the Mountains, Bow","desc":"Attack range expands. Immediately Lures all enemies within attack range for 10 seconds to the closest reachable ground near her, increases snowfall speed, +70% ATK, +30 ASPD, attacks ignore 10 RES, and every attack deals 210% ATK as Arts damage"},"talents":[{"descRaw":"Snow falls every 5 seconds onto tiles within attack range, dealing 100% ATK as Arts damage to any ground enemies passing through affected tiles. Each stack of snow reduces enemy Movement Speed by 12%, stacking up to 5 times (Snow on tile disappears when the first enemy on it leaves the tile), and on deployment, immediately covers all tiles within attack range with a stack of snow","name":"Unending Snows","desc":"Snow falls every 5 seconds onto tiles within attack range, dealing 100% ATK as Arts damage to any ground enemies passing through affected tiles. Each stack of snow reduces enemy Movement Speed by 12%, stacking up to 5 times (Snow on tile disappears when the first enemy on it leaves the tile), and on deployment, immediately covers all tiles within attack range with a stack of snow"},{"descRaw":"Upon taking damage, inflicts <$ba.cold>Cold on enemies for 1.5 seconds; if taking lethal damage, recovers all HP (once only) and <$ba.frozen>Freezes herself for 4 seconds, while <$ba.frozen>Freezing all enemies for 8 seconds","name":"Blessing of Karlan","desc":"Upon taking damage, inflicts Cold on enemies for 1.5 seconds; if taking lethal damage, recovers all HP (once only) and Freezes herself for 4 seconds, while Freezing all enemies for 8 seconds"}],"module":{"name":"A Thousandth of A Heart"},"skills":[{"descRaw":"Deals <@ba.vup>480% ATK as Arts damage to all enemies within range, inflicting <$ba.cold>Cold for <@ba.vup>3.5 seconds, and pushing them with moderate force in deployment direction; snow spreads on the ground (Up to 5 tiles forward)\n<@ba.rem>Can store 2 charges","name":"Ere Snow, Bells Chime","desc":"Deals 480% ATK as Arts damage to all enemies within range, inflicting Cold for 3.5 seconds, and pushing them with moderate force in deployment direction; snow spreads on the ground (Up to 5 tiles forward)\nCan store 2 charges"},{"descRaw":"Attacks deal <@ba.vup>350% ATK as Arts damage, and snow spreads to surrounding tiles after reaching 5 stacks (Spreads to a max of 20 tiles); ground enemies on snow tiles take <@ba.vup>20% ATK as Arts damage every second, and are inflicted with <@ba.vup>5 seconds of <$ba.cold>Cold after leaving a snow tile; When snow accumulates on the Objective Point 5 times, it freezes\n<@ba.rem>Unlimited duration, can manually deactivate skill (skill can be deactivated at will)","name":"Peaks, Clad in Frost","desc":"Attacks deal 350% ATK as Arts damage, and snow spreads to surrounding tiles after reaching 5 stacks (Spreads to a max of 20 tiles); ground enemies on snow tiles take 20% ATK as Arts damage every second, and are inflicted with 5 seconds of Cold after leaving a snow tile; When snow accumulates on the Objective Point 5 times, it freezes\nUnlimited duration, can manually deactivate skill (skill can be deactivated at will)"},{"descRaw":"Attack range <@ba.vup>expands. Immediately <$ba.attract>Lures all enemies within attack range for <@ba.vup>10 seconds to the closest reachable ground near her, increases snowfall speed, <@ba.vup>+70% ATK, <@ba.vup>+30 ASPD, attacks ignore <@ba.vup>10 RES, and every attack deals <@ba.vup>210% ATK as Arts damage","name":"Towards the Mountains, Bow","desc":"Attack range expands. Immediately Lures all enemies within attack range for 10 seconds to the closest reachable ground near her, increases snowfall speed, +70% ATK, +30 ASPD, attacks ignore 10 RES, and every attack deals 210% ATK as Arts damage"}],"traitBase":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage"},"talentsBase":[{"descRaw":"Snow falls every 5.5 seconds onto tiles within attack range, dealing 75% ATK as Arts damage to any ground enemies passing through affected tiles. Each stack of snow reduces enemy Movement Speed by 12%, stacking up to 5 times (Snow on the tile disappears when the first enemy on it leaves the tile)","name":"Unending Snows","desc":"Snow falls every 5.5 seconds onto tiles within attack range, dealing 75% ATK as Arts damage to any ground enemies passing through affected tiles. Each stack of snow reduces enemy Movement Speed by 12%, stacking up to 5 times (Snow on the tile disappears when the first enemy on it leaves the tile)"},{"descRaw":"Upon taking damage, inflicts <$ba.cold>Cold on enemies for 1.5 seconds; if taking lethal damage, recovers all HP (once only) and <$ba.frozen>Freezes herself for 4 seconds, while <$ba.frozen>Freezing all enemies for 8 seconds","name":"Blessing of Karlan","desc":"Upon taking damage, inflicts Cold on enemies for 1.5 seconds; if taking lethal damage, recovers all HP (once only) and Freezes herself for 4 seconds, while Freezing all enemies for 8 seconds"}],"modules":[{"name":"A Thousandth of A Heart","traitOverride":{"descRaw":"Normally <@ba.kw>does not attack, but has <@ba.kw>greatly increased DEF and RES; When skill is active, attacks deal <@ba.kw>AoE Arts damage","moduleDescRaw":"Damage increases with number of enemies in the area (max increase <@ba.kw>15%)","desc":"Normally does not attack, but has greatly increased DEF and RES; When skill is active, attacks deal AoE Arts damage","moduleDesc":"Damage increases with number of enemies in the area (max increase 15%)"},"talentChanges":[null,{"descRaw":"Snow falls every 5 seconds onto tiles within attack range, dealing 100% ATK as Arts damage to any ground enemies passing through affected tiles. Each stack of snow reduces enemy Movement Speed by 12%, stacking up to 5 times (Snow on tile disappears when the first enemy on it leaves the tile), and on deployment, immediately covers all tiles within attack range with a stack of snow","name":"Unending Snows","desc":"Snow falls every 5 seconds onto tiles within attack range, dealing 100% ATK as Arts damage to any ground enemies passing through affected tiles. Each stack of snow reduces enemy Movement Speed by 12%, stacking up to 5 times (Snow on tile disappears when the first enemy on it leaves the tile), and on deployment, immediately covers all tiles within attack range with a stack of snow"}]}],"_h":"ija03fuhl523buufk9yfysyf9q5vpimeedfws77orhmzbuufk93fl5lnysln9q5vpime3fuhl523yfysyf"},"chess_char_6_03_a":{"name":"Yu","subProfessionName":"Primal Protector","trait":{"descRaw":"Blocks 3 enemies, and can inflict Elemental Injury","desc":"Blocks 3 enemies, and can inflict Elemental Injury"},"skill":{"descRaw":"Max HP <@ba.vup>+50%, ATK <@ba.vup>+50%, DEF <@ba.vup>+50%, and grants effects of Talent 2 to all Operators on the field; creates a wall of fire spanning the entire field: Arts damage dealt by other allies that crosses the wall will deal an additional <@ba.vup>6% of Yu's ATK as <$ba.dt.burning2>Burn; enemy projectiles passing through the wall have a <@ba.vup>10% chance of being removed","name":"Enter the Stove's Palm","desc":"Max HP +50%, ATK +50%, DEF +50%, and grants effects of Talent 2 to all Operators on the field; creates a wall of fire spanning the entire field: Arts damage dealt by other allies that crosses the wall will deal an additional 6% of Yu's ATK as Burn; enemy projectiles passing through the wall have a 10% chance of being removed"},"talents":[{"descRaw":"When blocking enemies, gains 25% <$ba.protect>Sanctuary; blocked enemies receive 40% ATK as Arts damage and 12% ATK as <$ba.dt.burning2>Burn per second","name":"You Feed Me, I Feed You","desc":"When blocking enemies, gains 25% Sanctuary; blocked enemies receive 40% ATK as Arts damage and 12% ATK as Burn per second"},{"descRaw":"When there are at least 4 Operators on the field, recovers 1.5% Max HP as both HP and <$ba.dt.element>Elemental Injury per second","name":"Midst Markets, Dragons Dwell","desc":"When there are at least 4 Operators on the field, recovers 1.5% Max HP as both HP and Elemental Injury per second"}],"module":{"name":"Tastes of Life"},"skills":[{"descRaw":"Passive Effect: becomes more likely to be attacked\nMax HP <@ba.vup>+25%, DEF <@ba.vup>+25%; every time Yu is attacked, deals <@ba.vup>30% of Yu's ATK as <$ba.dt.burning2>Burn to the attacker","name":"Today's Host","desc":"Passive Effect: becomes more likely to be attacked\nMax HP +25%, DEF +25%; every time Yu is attacked, deals 30% of Yu's ATK as Burn to the attacker"},{"descRaw":"Immediately deals <@ba.vup>100% ATK as Arts damage to all surrounding enemies and teleports those ground targets that can reach Yu to his position; Block <@ba.vup>+2, Max HP <@ba.vup>+100%, ATK <@ba.vup>+170%, and normal attacks deal <@ba.vup>Arts damage","name":"For Guests, Bounteous Gifts","desc":"Immediately deals 100% ATK as Arts damage to all surrounding enemies and teleports those ground targets that can reach Yu to his position; Block +2, Max HP +100%, ATK +170%, and normal attacks deal Arts damage"},{"descRaw":"Max HP <@ba.vup>+50%, ATK <@ba.vup>+50%, DEF <@ba.vup>+50%, and grants effects of Talent 2 to all Operators on the field; creates a wall of fire spanning the entire field: Arts damage dealt by other allies that crosses the wall will deal an additional <@ba.vup>6% of Yu's ATK as <$ba.dt.burning2>Burn; enemy projectiles passing through the wall have a <@ba.vup>10% chance of being removed","name":"Enter the Stove's Palm","desc":"Max HP +50%, ATK +50%, DEF +50%, and grants effects of Talent 2 to all Operators on the field; creates a wall of fire spanning the entire field: Arts damage dealt by other allies that crosses the wall will deal an additional 6% of Yu's ATK as Burn; enemy projectiles passing through the wall have a 10% chance of being removed"}],"_h":"pw3l0g0gmwol2sph6cfvbibm9iok7uge6ydibjtlmwol2s"},"chess_char_6_03_b":{"name":"Yu","subProfessionName":"Primal Protector","trait":{"descRaw":"Blocks 3 enemies, and can inflict Elemental Injury","moduleDescRaw":"Deals <@ba.kw>15% more Elemental Injury when blocking enemies","desc":"Blocks 3 enemies, and can inflict Elemental Injury","moduleDesc":"Deals 15% more Elemental Injury when blocking enemies"},"skill":{"descRaw":"Max HP <@ba.vup>+80%, ATK <@ba.vup>+80%, DEF <@ba.vup>+80%, and grants effects of Talent 2 to all Operators on the field; creates a wall of fire spanning the entire field: Arts damage dealt by other allies that crosses the wall will deal an additional <@ba.vup>7% of Yu's ATK as <$ba.dt.burning2>Burn; enemy projectiles passing through the wall have a <@ba.vup>15% chance of being removed","name":"Enter the Stove's Palm","desc":"Max HP +80%, ATK +80%, DEF +80%, and grants effects of Talent 2 to all Operators on the field; creates a wall of fire spanning the entire field: Arts damage dealt by other allies that crosses the wall will deal an additional 7% of Yu's ATK as Burn; enemy projectiles passing through the wall have a 15% chance of being removed"},"talents":[{"descRaw":"When blocking enemies, gains 25% <$ba.protect>Sanctuary; blocked enemies receive 40% ATK as Arts damage and 12% ATK as <$ba.dt.burning2>Burn per second","name":"You Feed Me, I Feed You","desc":"When blocking enemies, gains 25% Sanctuary; blocked enemies receive 40% ATK as Arts damage and 12% ATK as Burn per second"},{"descRaw":"When there are at least 2 Operators on the field, recovers 1.5% Max HP as both HP and <$ba.dt.element>Elemental Injury per second; when there are at least 4, Arts damage dealt by this unit against targets under the burst effect of <$ba.dt.burning2>Burn increases by 14%","name":"Midst Markets, Dragons Dwell","desc":"When there are at least 2 Operators on the field, recovers 1.5% Max HP as both HP and Elemental Injury per second; when there are at least 4, Arts damage dealt by this unit against targets under the burst effect of Burn increases by 14%"}],"module":{"name":"Tastes of Life"},"skills":[{"descRaw":"Passive Effect: becomes more likely to be attacked\nMax HP <@ba.vup>+40%, DEF <@ba.vup>+40%; every time Yu is attacked, deals <@ba.vup>40% of Yu's ATK as <$ba.dt.burning2>Burn to the attacker","name":"Today's Host","desc":"Passive Effect: becomes more likely to be attacked\nMax HP +40%, DEF +40%; every time Yu is attacked, deals 40% of Yu's ATK as Burn to the attacker"},{"descRaw":"Immediately deals <@ba.vup>100% ATK as Arts damage to all surrounding enemies and teleports those ground targets that can reach Yu to his position; Block <@ba.vup>+2, Max HP <@ba.vup>+130%, ATK <@ba.vup>+200%, and normal attacks deal <@ba.vup>Arts damage","name":"For Guests, Bounteous Gifts","desc":"Immediately deals 100% ATK as Arts damage to all surrounding enemies and teleports those ground targets that can reach Yu to his position; Block +2, Max HP +130%, ATK +200%, and normal attacks deal Arts damage"},{"descRaw":"Max HP <@ba.vup>+80%, ATK <@ba.vup>+80%, DEF <@ba.vup>+80%, and grants effects of Talent 2 to all Operators on the field; creates a wall of fire spanning the entire field: Arts damage dealt by other allies that crosses the wall will deal an additional <@ba.vup>7% of Yu's ATK as <$ba.dt.burning2>Burn; enemy projectiles passing through the wall have a <@ba.vup>15% chance of being removed","name":"Enter the Stove's Palm","desc":"Max HP +80%, ATK +80%, DEF +80%, and grants effects of Talent 2 to all Operators on the field; creates a wall of fire spanning the entire field: Arts damage dealt by other allies that crosses the wall will deal an additional 7% of Yu's ATK as Burn; enemy projectiles passing through the wall have a 15% chance of being removed"}],"traitBase":{"descRaw":"Blocks 3 enemies, and can inflict Elemental Injury","desc":"Blocks 3 enemies, and can inflict Elemental Injury"},"talentsBase":[{"descRaw":"When blocking enemies, gains 25% <$ba.protect>Sanctuary; blocked enemies receive 40% ATK as Arts damage and 12% ATK as <$ba.dt.burning2>Burn per second","name":"You Feed Me, I Feed You","desc":"When blocking enemies, gains 25% Sanctuary; blocked enemies receive 40% ATK as Arts damage and 12% ATK as Burn per second"},{"descRaw":"When there are at least 4 Operators on the field, recovers 1.5% Max HP as both HP and <$ba.dt.element>Elemental Injury per second","name":"Midst Markets, Dragons Dwell","desc":"When there are at least 4 Operators on the field, recovers 1.5% Max HP as both HP and Elemental Injury per second"}],"modules":[{"name":"Tastes of Life","traitOverride":{"descRaw":"Blocks 3 enemies, and can inflict Elemental Injury","moduleDescRaw":"Deals <@ba.kw>15% more Elemental Injury when blocking enemies","desc":"Blocks 3 enemies, and can inflict Elemental Injury","moduleDesc":"Deals 15% more Elemental Injury when blocking enemies"},"talentChanges":[{"descRaw":"When there are at least 2 Operators on the field, recovers 1.5% Max HP as both HP and <$ba.dt.element>Elemental Injury per second; when there are at least 4, Arts damage dealt by this unit against targets under the burst effect of <$ba.dt.burning2>Burn increases by 14%","name":"Midst Markets, Dragons Dwell","desc":"When there are at least 2 Operators on the field, recovers 1.5% Max HP as both HP and Elemental Injury per second; when there are at least 4, Arts damage dealt by this unit against targets under the burst effect of Burn increases by 14%"}]}],"_h":"pw3l0gdy0gssttol5zph6cfvxybmb5okwnge3xjfbjvyttol5z0g0gph6cfvbibm9iok0gdy0gssxybmb5"},"chess_char_6_04_a":{"name":"Skadi the Corrupting Heart","subProfessionName":"Bard","trait":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration"},"skill":{"descRaw":"This unit's Trait changes to losing <@ba.vdown>5% HP every second. Deals <@ba.vup>40% ATK as <@ba.vup>True damage to all enemies within range every second (damage from this unit and the Seaborn stacks). All ally units within range gain <$ba.inspire>Inspiration equal to <@ba.vup>65% of this unit's ATK","name":"'The Tide Surges, The Tide Recedes'","desc":"This unit's Trait changes to losing 5% HP every second. Deals 40% ATK as True damage to all enemies within range every second (damage from this unit and the Seaborn stacks). All ally units within range gain Inspiration equal to 65% of this unit's ATK"},"talents":[{"descRaw":"Can use a Seaborn that lasts for 25 seconds. The Seaborn's Attack Range is regarded as an extension of this unit's Attack Range","name":"Ancient Kin","desc":"Can use a Seaborn that lasts for 25 seconds. The Seaborn's Attack Range is regarded as an extension of this unit's Attack Range"},{"descRaw":"ATK +6% when there is an allied unit within range of self or the Seaborn; If the allied unit is an [Abyssal Hunter] Operator, gain ATK +15% instead","name":"Predatory Habits","desc":"ATK +6% when there is an allied unit within range of self or the Seaborn; If the allied unit is an [Abyssal Hunter] Operator, gain ATK +15% instead"}],"module":{"name":"An Exuvia of Her Past"},"skills":[{"descRaw":"Immediately restores all HP and gains Max HP <@ba.vup>+110%. The healing effect of this unit's Trait is increased to <@ba.vup>50% and <@ba.vup>50% of damage taken by all ally units within Attack Range is directly transferred to this unit (only the highest effect of this type is applied)","name":"Chant of Returning by Varied Paths","desc":"Immediately restores all HP and gains Max HP +110%. The healing effect of this unit's Trait is increased to 50% and 50% of damage taken by all ally units within Attack Range is directly transferred to this unit (only the highest effect of this type is applied)"},{"descRaw":"All other ally units within Attack Range gain <$ba.inspire>Inspiration equal to <@ba.vup>30% of this unit's ATK and DEF. The healing effect of this unit's Trait is increased to <@ba.vup>16%\n<@ba.rem>Unlimited duration","name":"Wish of Burial Beyond the Light","desc":"All other ally units within Attack Range gain Inspiration equal to 30% of this unit's ATK and DEF. The healing effect of this unit's Trait is increased to 16%\nUnlimited duration"},{"descRaw":"This unit's Trait changes to losing <@ba.vdown>5% HP every second. Deals <@ba.vup>40% ATK as <@ba.vup>True damage to all enemies within range every second (damage from this unit and the Seaborn stacks). All ally units within range gain <$ba.inspire>Inspiration equal to <@ba.vup>65% of this unit's ATK","name":"'The Tide Surges, The Tide Recedes'","desc":"This unit's Trait changes to losing 5% HP every second. Deals 40% ATK as True damage to all enemies within range every second (damage from this unit and the Seaborn stacks). All ally units within range gain Inspiration equal to 65% of this unit's ATK"}],"_h":"vcz9rj9ptxuk18s4lbs4jsjkjsl2v5lbzij4vg5etxuk18"},"chess_char_6_04_b":{"name":"Skadi the Corrupting Heart","subProfessionName":"Bard","trait":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","moduleDescRaw":"When there are 2 or more other Operators within range, ATK <@ba.kw>+8% (unaffected by skill)","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration","moduleDesc":"When there are 2 or more other Operators within range, ATK +8% (unaffected by skill)"},"skill":{"descRaw":"This unit's Trait changes to losing <@ba.vdown>5% HP every second. Deals <@ba.vup>55% ATK as <@ba.vup>True damage to all enemies within range every second (damage from this unit and the Seaborn stacks). All ally units within range gain <$ba.inspire>Inspiration equal to <@ba.vup>80% of this unit's ATK","name":"'The Tide Surges, The Tide Recedes'","desc":"This unit's Trait changes to losing 5% HP every second. Deals 55% ATK as True damage to all enemies within range every second (damage from this unit and the Seaborn stacks). All ally units within range gain Inspiration equal to 80% of this unit's ATK"},"talents":[{"descRaw":"Can use a Seaborn that lasts for 30 seconds. The Seaborn's Attack Range is regarded as an extension of this unit's Attack Range; Seaborn Redeployment Time -5s","name":"Ancient Kin","desc":"Can use a Seaborn that lasts for 30 seconds. The Seaborn's Attack Range is regarded as an extension of this unit's Attack Range; Seaborn Redeployment Time -5s"},{"descRaw":"ATK +6% when there is an allied unit within range of self or the Seaborn; If the allied unit is an [Abyssal Hunter] Operator, gain ATK +15% instead","name":"Predatory Habits","desc":"ATK +6% when there is an allied unit within range of self or the Seaborn; If the allied unit is an [Abyssal Hunter] Operator, gain ATK +15% instead"}],"module":{"name":"An Exuvia of Her Past"},"skills":[{"descRaw":"Immediately restores all HP and gains Max HP <@ba.vup>+140%. The healing effect of this unit's Trait is increased to <@ba.vup>60% and <@ba.vup>50% of damage taken by all ally units within Attack Range is directly transferred to this unit (only the highest effect of this type is applied)","name":"Chant of Returning by Varied Paths","desc":"Immediately restores all HP and gains Max HP +140%. The healing effect of this unit's Trait is increased to 60% and 50% of damage taken by all ally units within Attack Range is directly transferred to this unit (only the highest effect of this type is applied)"},{"descRaw":"All other ally units within Attack Range gain <$ba.inspire>Inspiration equal to <@ba.vup>45% of this unit's ATK and DEF. The healing effect of this unit's Trait is increased to <@ba.vup>17%\n<@ba.rem>Unlimited duration","name":"Wish of Burial Beyond the Light","desc":"All other ally units within Attack Range gain Inspiration equal to 45% of this unit's ATK and DEF. The healing effect of this unit's Trait is increased to 17%\nUnlimited duration"},{"descRaw":"This unit's Trait changes to losing <@ba.vdown>5% HP every second. Deals <@ba.vup>55% ATK as <@ba.vup>True damage to all enemies within range every second (damage from this unit and the Seaborn stacks). All ally units within range gain <$ba.inspire>Inspiration equal to <@ba.vup>80% of this unit's ATK","name":"'The Tide Surges, The Tide Recedes'","desc":"This unit's Trait changes to losing 5% HP every second. Deals 55% ATK as True damage to all enemies within range every second (damage from this unit and the Seaborn stacks). All ally units within range gain Inspiration equal to 80% of this unit's ATK"}],"traitBase":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration"},"talentsBase":[{"descRaw":"Can use a Seaborn that lasts for 25 seconds. The Seaborn's Attack Range is regarded as an extension of this unit's Attack Range","name":"Ancient Kin","desc":"Can use a Seaborn that lasts for 25 seconds. The Seaborn's Attack Range is regarded as an extension of this unit's Attack Range"},{"descRaw":"ATK +6% when there is an allied unit within range of self or the Seaborn; If the allied unit is an [Abyssal Hunter] Operator, gain ATK +15% instead","name":"Predatory Habits","desc":"ATK +6% when there is an allied unit within range of self or the Seaborn; If the allied unit is an [Abyssal Hunter] Operator, gain ATK +15% instead"}],"modules":[{"name":"An Exuvia of Her Past","traitOverride":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","moduleDescRaw":"When there are 2 or more other Operators within range, ATK <@ba.kw>+8% (unaffected by skill)","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration","moduleDesc":"When there are 2 or more other Operators within range, ATK +8% (unaffected by skill)"},"talentChanges":[{"descRaw":"Can use a Seaborn that lasts for 30 seconds. The Seaborn's Attack Range is regarded as an extension of this unit's Attack Range; Seaborn Redeployment Time -5s","name":"Ancient Kin","desc":"Can use a Seaborn that lasts for 30 seconds. The Seaborn's Attack Range is regarded as an extension of this unit's Attack Range; Seaborn Redeployment Time -5s"}]},{"name":"New Generation","traitOverride":{"descRaw":"Does not attack but continuously restores the <@ba.kw>HP of all allies within range (the HP restored per second is equal to <@ba.kw>10% of self ATK). Self is unaffected by <$ba.inspire>Inspiration","moduleDescRaw":"When this unit's skill is active, allies within Attack Range gain 30 Physical and Arts <$ba.dmgresistance>Damage Reduction","desc":"Does not attack but continuously restores the HP of all allies within range (the HP restored per second is equal to 10% of self ATK). Self is unaffected by Inspiration","moduleDesc":"When this unit's skill is active, allies within Attack Range gain 30 Physical and Arts Damage Reduction"},"talentChanges":[null,{"descRaw":"ATK +9% and DEF +8% when there is an allied unit within Attack Range of self or the Seaborn; if the allied unit is an [Abyssal Hunter] Operator, gain ATK +20% and DEF +8% instead; when allied Operators are deployed within range of self or the Seaborn, this unit gains 3 SP","name":"Predatory Habits","desc":"ATK +9% and DEF +8% when there is an allied unit within Attack Range of self or the Seaborn; if the allied unit is an [Abyssal Hunter] Operator, gain ATK +20% and DEF +8% instead; when allied Operators are deployed within range of self or the Seaborn, this unit gains 3 SP"}]}],"_h":"vcz9rjxy9pmohaukcdzdlbzdjsjkjsl2tplbv2ctvg9dhaukcdrj9ps4lbs4jsjkjsl2rjxy9pmozdlbzdh5rj4x9pyiotjkot"},"chess_char_6_05_a":{"name":"Passenger","subProfessionName":"Chain Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage and jump between <@ba.kw>4 enemies. Each jump deals 15% less damage and inflicts a brief <$ba.sluggish>Slow","desc":"Attacks deal Arts damage and jump between 4 enemies. Each jump deals 15% less damage and inflicts a brief Slow"},"skill":{"descRaw":"Immediately generates a lightning storm centered on the target with the highest HP within a wide range, lasting for <@ba.vup>4 seconds; Deals an additional attack equal to <@ba.vup>115% ATK to a random enemy within the lightning storm every <@ba.vup>0.5 seconds; <@ba.rem>Can store 2 charges","name":"Glorious Shards","desc":"Immediately generates a lightning storm centered on the target with the highest HP within a wide range, lasting for 4 seconds; Deals an additional attack equal to 115% ATK to a random enemy within the lightning storm every 0.5 seconds; Can store 2 charges"},"talents":[{"descRaw":"When attacking enemies with 80% or more HP, Passenger will deal 20% increased damage to them for 3 seconds","name":"Mechanism Analysis","desc":"When attacking enemies with 80% or more HP, Passenger will deal 20% increased damage to them for 3 seconds"},{"descRaw":"When there are no enemies in the surrounding 4 tiles, ATK +8%","name":"Lone Soldier","desc":"When there are no enemies in the surrounding 4 tiles, ATK +8%"}],"module":{"name":"Electromagnetic Regulator"},"skills":[{"descRaw":"Increases the ATK of the next attack to <@ba.vup>180%; The attack will jump between at most <@ba.vup>4 enemies and the duration of the <$ba.sluggish>Slow is increased to <@ba.vup>1.5 seconds","name":"Touch of Static","desc":"Increases the ATK of the next attack to 180%; The attack will jump between at most 4 enemies and the duration of the Slow is increased to 1.5 seconds"},{"descRaw":"Attack Range <@ba.vup>+1 tile, ATK <@ba.vup>+15%, Attack Interval <@ba.vup>decreases a little. Increase the maximum number of jumps to <@ba.vup>5","name":"Focus Command","desc":"Attack Range +1 tile, ATK +15%, Attack Interval decreases a little. Increase the maximum number of jumps to 5"},{"descRaw":"Immediately generates a lightning storm centered on the target with the highest HP within a wide range, lasting for <@ba.vup>4 seconds; Deals an additional attack equal to <@ba.vup>115% ATK to a random enemy within the lightning storm every <@ba.vup>0.5 seconds; <@ba.rem>Can store 2 charges","name":"Glorious Shards","desc":"Immediately generates a lightning storm centered on the target with the highest HP within a wide range, lasting for 4 seconds; Deals an additional attack equal to 115% ATK to a random enemy within the lightning storm every 0.5 seconds; Can store 2 charges"}],"_h":"8lw66v5lk9ezuqk50vk553j7533epdl2pkijyarfk9ezuq"},"chess_char_6_05_b":{"name":"Passenger","subProfessionName":"Chain Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage and jump between <@ba.kw>4 enemies. Each jump deals <@ba.kw>10% less damage and inflicts a short <$ba.sluggish>Slow","desc":"Attacks deal Arts damage and jump between 4 enemies. Each jump deals 10% less damage and inflicts a short Slow"},"skill":{"descRaw":"Immediately generates a lightning storm centered on the target with the highest HP within a wide range, lasting for <@ba.vup>4 seconds; Deals an additional attack equal to <@ba.vup>130% ATK to a random enemy within the lightning storm every <@ba.vup>0.5 seconds; <@ba.rem>Can store 2 charges","name":"Glorious Shards","desc":"Immediately generates a lightning storm centered on the target with the highest HP within a wide range, lasting for 4 seconds; Deals an additional attack equal to 130% ATK to a random enemy within the lightning storm every 0.5 seconds; Can store 2 charges"},"talents":[{"descRaw":"When attacking enemies with 80% or more HP, Passenger will deal 20% increased damage to them for 3 seconds","name":"Mechanism Analysis","desc":"When attacking enemies with 80% or more HP, Passenger will deal 20% increased damage to them for 3 seconds"},{"descRaw":"When there are no enemies in the surrounding 4 tiles, ATK +8% and own SP recovery rate +0.25/second","name":"Lone Soldier","desc":"When there are no enemies in the surrounding 4 tiles, ATK +8% and own SP recovery rate +0.25/second"}],"module":{"name":"Electromagnetic Regulator"},"skills":[{"descRaw":"Increases the ATK of the next attack to <@ba.vup>210%; The attack will jump between at most <@ba.vup>4 enemies and the duration of the <$ba.sluggish>Slow is increased to <@ba.vup>1.5 seconds","name":"Touch of Static","desc":"Increases the ATK of the next attack to 210%; The attack will jump between at most 4 enemies and the duration of the Slow is increased to 1.5 seconds"},{"descRaw":"Attack Range <@ba.vup>+1 tile, ATK <@ba.vup>+20%, Attack Interval <@ba.vup>decreases. Increase the maximum number of jumps to <@ba.vup>5","name":"Focus Command","desc":"Attack Range +1 tile, ATK +20%, Attack Interval decreases. Increase the maximum number of jumps to 5"},{"descRaw":"Immediately generates a lightning storm centered on the target with the highest HP within a wide range, lasting for <@ba.vup>4 seconds; Deals an additional attack equal to <@ba.vup>130% ATK to a random enemy within the lightning storm every <@ba.vup>0.5 seconds; <@ba.rem>Can store 2 charges","name":"Glorious Shards","desc":"Immediately generates a lightning storm centered on the target with the highest HP within a wide range, lasting for 4 seconds; Deals an additional attack equal to 130% ATK to a random enemy within the lightning storm every 0.5 seconds; Can store 2 charges"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage and jump between <@ba.kw>4 enemies. Each jump deals 15% less damage and inflicts a brief <$ba.sluggish>Slow","desc":"Attacks deal Arts damage and jump between 4 enemies. Each jump deals 15% less damage and inflicts a brief Slow"},"talentsBase":[{"descRaw":"When attacking enemies with 80% or more HP, Passenger will deal 20% increased damage to them for 3 seconds","name":"Mechanism Analysis","desc":"When attacking enemies with 80% or more HP, Passenger will deal 20% increased damage to them for 3 seconds"},{"descRaw":"When there are no enemies in the surrounding 4 tiles, ATK +8%","name":"Lone Soldier","desc":"When there are no enemies in the surrounding 4 tiles, ATK +8%"}],"modules":[{"name":"Electromagnetic Regulator","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage and jump between <@ba.kw>4 enemies. Each jump deals <@ba.kw>10% less damage and inflicts a short <$ba.sluggish>Slow","desc":"Attacks deal Arts damage and jump between 4 enemies. Each jump deals 10% less damage and inflicts a short Slow"},"talentChanges":[{"descRaw":"When there are no enemies in the surrounding 4 tiles, ATK +8% and own SP recovery rate +0.25/second","name":"Lone Soldier","desc":"When there are no enemies in the surrounding 4 tiles, ATK +8% and own SP recovery rate +0.25/second"}]},{"name":"Gold of Crowns","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage and jump between <@ba.kw>4 enemies. Each jump <@ba.kw>no longer deals less damage and inflicts a brief <$ba.sluggish>Slow","desc":"Attacks deal Arts damage and jump between 4 enemies. Each jump no longer deals less damage and inflicts a brief Slow"},"talentChanges":[{"descRaw":"When attacking enemies with 70% or more HP, Passenger will deal 28% increased damage to them for 4 seconds","name":"Mechanism Analysis","desc":"When attacking enemies with 70% or more HP, Passenger will deal 28% increased damage to them for 4 seconds"}]},{"name":"Passenger's Specialized Badge","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage and jump between <@ba.kw>4 enemies. Each jump deals 15% less damage and inflicts a brief <$ba.sluggish>Slow","moduleDescRaw":"In <@ba.kw>Reclamation Algorithm, allies take -100% damage from environmental effects; Passenger gains ATK +60% and obtains 1 SP per second","desc":"Attacks deal Arts damage and jump between 4 enemies. Each jump deals 15% less damage and inflicts a brief Slow","moduleDesc":"In Reclamation Algorithm, allies take -100% damage from environmental effects; Passenger gains ATK +60% and obtains 1 SP per second"},"talentChanges":[null,{"descRaw":"When hitting an enemy with more than 80% HP, Passenger deals 20% more damage to it for 3 seconds; in <@ba.kw>Reclamation Algorithm, every 10 seconds strikes 5 targets on the field with lightning (dense targets are more likely to be chosen), dealing Arts damage equal to 500% of Passenger's ATK to all units in the area, granting vision of that area for 12 seconds, and giving hit friendly units 2 SP","name":"Mechanism Analysis","desc":"When hitting an enemy with more than 80% HP, Passenger deals 20% more damage to it for 3 seconds; in Reclamation Algorithm, every 10 seconds strikes 5 targets on the field with lightning (dense targets are more likely to be chosen), dealing Arts damage equal to 500% of Passenger's ATK to all units in the area, granting vision of that area for 12 seconds, and giving hit friendly units 2 SP"}]}],"_h":"8lw6h9stcqezizk50vk58rj78r3eq9l2wsfhya1dcqeziz6v5lk50vk553j7533eh9st8rj78rn13ayatd0vtdud6v415ly1r60vbk"},"chess_char_6_06_a":{"name":"Pepe","subProfessionName":"Earthshaker","trait":{"descRaw":"Attacks deal <@ba.kw>50% ATK as <@ba.kw>AOE Physical damage to enemies around the target.","desc":"Attacks deal 50% ATK as AOE Physical damage to enemies around the target."},"skill":{"descRaw":"Attack Interval <@ba.vdown>increases slightly, ATK <@ba.vup>+150%; attacks <$ba.stun>Stun targets for <@ba.vup>0.8 seconds (<@ba.vup>1 seconds for the primary target). After every attack, splash area <@ba.vup>expands and Pepe gets an additional <@ba.vup>+13% ATK, stacking up to 4 times","name":"Shock of Time","desc":"Attack Interval increases slightly, ATK +150%; attacks Stun targets for 0.8 seconds (1 seconds for the primary target). After every attack, splash area expands and Pepe gets an additional +13% ATK, stacking up to 4 times"},"talents":[{"descRaw":"Every enemy defeated while her skill is active grants Pepe 1 SP when the skill ends; restores up to 14 SP","name":"Legacy of the Past","desc":"Every enemy defeated while her skill is active grants Pepe 1 SP when the skill ends; restores up to 14 SP"},{"descRaw":"When deployed, all [Guard] Operators gain +16% ATK","name":"Perfuse With Lotus","desc":"When deployed, all [Guard] Operators gain +16% ATK"}],"module":{"name":"Rain or Shine"},"skills":[{"descRaw":"The next attack deals <@ba.vup>190% ATK as Physical damage. When Pepe is affected by a <$ba.debuff>Negative Status, this skill can be used to remove the <$ba.debuff>Negative Status\n<@ba.rem>Can store 1 charge","name":"Get Stamped!","desc":"The next attack deals 190% ATK as Physical damage. When Pepe is affected by a Negative Status, this skill can be used to remove the Negative Status\nCan store 1 charge"},{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+55%, ASPD <@ba.vup>+50, attacks random enemies within attack range\n<@ba.rem>Each time this skill is activated, the next skill use has an additional ASPD +25, stacking up to 2 times","name":"Whirling Hammer Defense","desc":"Attack Range increases, ATK +55%, ASPD +50, attacks random enemies within attack range\nEach time this skill is activated, the next skill use has an additional ASPD +25, stacking up to 2 times"},{"descRaw":"Attack Interval <@ba.vdown>increases slightly, ATK <@ba.vup>+150%; attacks <$ba.stun>Stun targets for <@ba.vup>0.8 seconds (<@ba.vup>1 seconds for the primary target). After every attack, splash area <@ba.vup>expands and Pepe gets an additional <@ba.vup>+13% ATK, stacking up to 4 times","name":"Shock of Time","desc":"Attack Interval increases slightly, ATK +150%; attacks Stun targets for 0.8 seconds (1 seconds for the primary target). After every attack, splash area expands and Pepe gets an additional +13% ATK, stacking up to 4 times"}],"_h":"t3bwzvn7dytojrk35gk3w51sw5lt060tnh3gzx7hdytojr"},"chess_char_6_06_b":{"name":"Pepe","subProfessionName":"Earthshaker","trait":{"descRaw":"Attacks deal <@ba.kw>50% ATK as <@ba.kw>AOE Physical damage to enemies around the target.","moduleDescRaw":"When there are 3 or more enemies within the splash area, ATK of the current instance of attack increases to <@ba.kw>115%","desc":"Attacks deal 50% ATK as AOE Physical damage to enemies around the target.","moduleDesc":"When there are 3 or more enemies within the splash area, ATK of the current instance of attack increases to 115%"},"skill":{"descRaw":"Attack Interval <@ba.vdown>increases slightly, ATK <@ba.vup>+180%; attacks <$ba.stun>Stun targets for <@ba.vup>0.8 seconds (<@ba.vup>1.5 seconds for the primary target). After every attack, splash area <@ba.vup>expands and Pepe gets an additional <@ba.vup>+16% ATK, stacking up to 4 times","name":"Shock of Time","desc":"Attack Interval increases slightly, ATK +180%; attacks Stun targets for 0.8 seconds (1.5 seconds for the primary target). After every attack, splash area expands and Pepe gets an additional +16% ATK, stacking up to 4 times"},"talents":[{"descRaw":"Every enemy defeated while her skill is active grants Pepe 2 SP when the skill ends; restores up to 17 SP","name":"Legacy of the Past","desc":"Every enemy defeated while her skill is active grants Pepe 2 SP when the skill ends; restores up to 17 SP"},{"descRaw":"When deployed, all [Guard] Operators gain +16% ATK","name":"Perfuse With Lotus","desc":"When deployed, all [Guard] Operators gain +16% ATK"}],"module":{"name":"Rain or Shine"},"skills":[{"descRaw":"The next attack deals <@ba.vup>230% ATK as Physical damage. When Pepe is affected by a <$ba.debuff>Negative Status, this skill can be used to remove the <$ba.debuff>Negative Status\n<@ba.rem>Can store 1 charge","name":"Get Stamped!","desc":"The next attack deals 230% ATK as Physical damage. When Pepe is affected by a Negative Status, this skill can be used to remove the Negative Status\nCan store 1 charge"},{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+70%, ASPD <@ba.vup>+70, attacks random enemies within attack range\n<@ba.rem>Each time this skill is activated, the next skill use has an additional ASPD +30, stacking up to 2 times","name":"Whirling Hammer Defense","desc":"Attack Range increases, ATK +70%, ASPD +70, attacks random enemies within attack range\nEach time this skill is activated, the next skill use has an additional ASPD +30, stacking up to 2 times"},{"descRaw":"Attack Interval <@ba.vdown>increases slightly, ATK <@ba.vup>+180%; attacks <$ba.stun>Stun targets for <@ba.vup>0.8 seconds (<@ba.vup>1.5 seconds for the primary target). After every attack, splash area <@ba.vup>expands and Pepe gets an additional <@ba.vup>+16% ATK, stacking up to 4 times","name":"Shock of Time","desc":"Attack Interval increases slightly, ATK +180%; attacks Stun targets for 0.8 seconds (1.5 seconds for the primary target). After every attack, splash area expands and Pepe gets an additional +16% ATK, stacking up to 4 times"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>50% ATK as <@ba.kw>AOE Physical damage to enemies around the target.","desc":"Attacks deal 50% ATK as AOE Physical damage to enemies around the target."},"talentsBase":[{"descRaw":"Every enemy defeated while her skill is active grants Pepe 1 SP when the skill ends; restores up to 14 SP","name":"Legacy of the Past","desc":"Every enemy defeated while her skill is active grants Pepe 1 SP when the skill ends; restores up to 14 SP"},{"descRaw":"When deployed, all [Guard] Operators gain +16% ATK","name":"Perfuse With Lotus","desc":"When deployed, all [Guard] Operators gain +16% ATK"}],"modules":[{"name":"Rain or Shine","traitOverride":{"descRaw":"Attacks deal <@ba.kw>50% ATK as <@ba.kw>AOE Physical damage to enemies around the target.","moduleDescRaw":"When there are 3 or more enemies within the splash area, ATK of the current instance of attack increases to <@ba.kw>115%","desc":"Attacks deal 50% ATK as AOE Physical damage to enemies around the target.","moduleDesc":"When there are 3 or more enemies within the splash area, ATK of the current instance of attack increases to 115%"},"talentChanges":[{"descRaw":"Every enemy defeated while her skill is active grants Pepe 2 SP when the skill ends; restores up to 17 SP","name":"Legacy of the Past","desc":"Every enemy defeated while her skill is active grants Pepe 2 SP when the skill ends; restores up to 17 SP"}]},{"name":"Pepe's Specialized Badge","traitOverride":{"descRaw":"Attacks deal <@ba.kw>50% ATK as <@ba.kw>AOE Physical damage to enemies around the target.","moduleDescRaw":"In <@ba.kw>Reclamation Algorithm, Redeployment Time reduces significantly if carrying resources","desc":"Attacks deal 50% ATK as AOE Physical damage to enemies around the target.","moduleDesc":"In Reclamation Algorithm, Redeployment Time reduces significantly if carrying resources"},"talentChanges":[{"descRaw":"When deployed, all Guard Operators gain +16% ATK; in <@ba.kw>Reclamation Algorithm, gain visibility of Treasure Chest positions when deployed, and every attack creates an aftershock equal to 50% ATK at the position of every Guard Operator; if the main target is a Resource, all connected Resource nodes will also generate an aftershock equal to 50% ATK (triggers up to 10 times)","name":"Perfuse With Lotus","desc":"When deployed, all Guard Operators gain +16% ATK; in Reclamation Algorithm, gain visibility of Treasure Chest positions when deployed, and every attack creates an aftershock equal to 50% ATK at the position of every Guard Operator; if the main target is a Resource, all connected Resource nodes will also generate an aftershock equal to 50% ATK (triggers up to 10 times)"},null,{"descRaw":"When deployed, all Guard Operators gain +16% ATK; in <@ba.kw>Reclamation Algorithm, gain visibility of Treasure Chest positions when deployed, and every attack creates an aftershock equal to 50% ATK at the position of every Guard Operator; if the main target is a Resource, all connected Resource nodes will also generate an aftershock equal to 50% ATK (triggers up to 10 times)","name":"Perfuse With Lotus","desc":"When deployed, all Guard Operators gain +16% ATK; in Reclamation Algorithm, gain visibility of Treasure Chest positions when deployed, and every attack creates an aftershock equal to 50% ATK at the position of every Guard Operator; if the main target is a Resource, all connected Resource nodes will also generate an aftershock equal to 50% ATK (triggers up to 10 times)"}]}],"_h":"t3bwzviun74eljto8irj5grjw51sw5ltzd0tno99zxqqljto8izvn7k35gk3w51sw5ltzviun74erj5grjhzzvcon74g3k1shs3k1shs"},"chess_char_6_07_a":{"name":"Vina Victoria","subProfessionName":"Arts Fighter","trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"skill":{"descRaw":"Summons Golden Vows on deployable tiles within Talent 1's range; when skill is active, can attack enemies being blocked by friendly units in Talent 1's range; ATK <@ba.vup>+145%, attack target count <@ba.vup>+1, Attack Interval <@ba.vup>reduces, attacks deal <@ba.vup>True damage","name":"And All Be In My Name","desc":"Summons Golden Vows on deployable tiles within Talent 1's range; when skill is active, can attack enemies being blocked by friendly units in Talent 1's range; ATK +145%, attack target count +1, Attack Interval reduces, attacks deal True damage"},"talents":[{"descRaw":"This unit and friendly units within the surrounding 8 tiles take 20% less Physical damage, and Vina gains +5% ATK for each friendly unit within this range","name":"The Kings' Sighs","desc":"This unit and friendly units within the surrounding 8 tiles take 20% less Physical damage, and Vina gains +5% ATK for each friendly unit within this range"},{"descRaw":"When damaging an enemy for the first time, inflicts <$ba.tremble>Frighten for 4s","name":"Unsheathed Sword","desc":"When damaging an enemy for the first time, inflicts Frighten for 4s"}],"module":{"name":"The Adventure of the Lioness"},"skills":[{"descRaw":"The next attack deals <@ba.vup>90% ATK as <@ba.vup>True damage to all surrounding ground enemies","name":"Reforged Radiance","desc":"The next attack deals 90% ATK as True damage to all surrounding ground enemies"},{"descRaw":"Passive Effect: if there are 2 or more friendly units within Talent 1's range, Vina's SP recovery <@ba.vup>+0.3/s\nUpon automatic activation: Attack Range <@ba.vup>+1, ATK <@ba.vup>+135%, attack target count <@ba.vup>+1\n<@ba.rem>Unlimited duration","name":"Homeward Bound","desc":"Passive Effect: if there are 2 or more friendly units within Talent 1's range, Vina's SP recovery +0.3/s\nUpon automatic activation: Attack Range +1, ATK +135%, attack target count +1\nUnlimited duration"},{"descRaw":"Summons Golden Vows on deployable tiles within Talent 1's range; when skill is active, can attack enemies being blocked by friendly units in Talent 1's range; ATK <@ba.vup>+145%, attack target count <@ba.vup>+1, Attack Interval <@ba.vup>reduces, attacks deal <@ba.vup>True damage","name":"And All Be In My Name","desc":"Summons Golden Vows on deployable tiles within Talent 1's range; when skill is active, can attack enemies being blocked by friendly units in Talent 1's range; ATK +145%, attack target count +1, Attack Interval reduces, attacks deal True damage"}],"_h":"8vc5ce5y6ism383m3g3mccb2qrw769a9l5h6wm5y6ism38"},"chess_char_6_07_b":{"name":"Vina Victoria","subProfessionName":"Arts Fighter","trait":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"ASPD <@ba.kw>+8 when not blocking an enemy","desc":"Deals Arts damage","moduleDesc":"ASPD +8 when not blocking an enemy"},"skill":{"descRaw":"Summons Golden Vows on deployable tiles within Talent 1's range; when skill is active, can attack enemies being blocked by friendly units in Talent 1's range; ATK <@ba.vup>+160%, attack target count <@ba.vup>+2, Attack Interval <@ba.vup>reduces, attacks deal <@ba.vup>True damage","name":"And All Be In My Name","desc":"Summons Golden Vows on deployable tiles within Talent 1's range; when skill is active, can attack enemies being blocked by friendly units in Talent 1's range; ATK +160%, attack target count +2, Attack Interval reduces, attacks deal True damage"},"talents":[{"descRaw":"This unit and friendly units within the surrounding 8 tiles take 26% less Physical damage, and Vina gains +7% ATK for each friendly unit within this range","name":"The Kings' Sighs","desc":"This unit and friendly units within the surrounding 8 tiles take 26% less Physical damage, and Vina gains +7% ATK for each friendly unit within this range"},{"descRaw":"When damaging an enemy for the first time, inflicts <$ba.tremble>Frighten for 4s","name":"Unsheathed Sword","desc":"When damaging an enemy for the first time, inflicts Frighten for 4s"}],"module":{"name":"The Adventure of the Lioness"},"skills":[{"descRaw":"The next attack deals <@ba.vup>120% ATK as <@ba.vup>True damage to all surrounding ground enemies","name":"Reforged Radiance","desc":"The next attack deals 120% ATK as True damage to all surrounding ground enemies"},{"descRaw":"Passive Effect: if there are 2 or more friendly units within Talent 1's range, Vina's SP recovery <@ba.vup>+0.5/s\nUpon automatic activation: Attack Range <@ba.vup>+1, ATK <@ba.vup>+150%, attack target count <@ba.vup>+1\n<@ba.rem>Unlimited duration","name":"Homeward Bound","desc":"Passive Effect: if there are 2 or more friendly units within Talent 1's range, Vina's SP recovery +0.5/s\nUpon automatic activation: Attack Range +1, ATK +150%, attack target count +1\nUnlimited duration"},{"descRaw":"Summons Golden Vows on deployable tiles within Talent 1's range; when skill is active, can attack enemies being blocked by friendly units in Talent 1's range; ATK <@ba.vup>+160%, attack target count <@ba.vup>+2, Attack Interval <@ba.vup>reduces, attacks deal <@ba.vup>True damage","name":"And All Be In My Name","desc":"Summons Golden Vows on deployable tiles within Talent 1's range; when skill is active, can attack enemies being blocked by friendly units in Talent 1's range; ATK +160%, attack target count +2, Attack Interval reduces, attacks deal True damage"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"talentsBase":[{"descRaw":"This unit and friendly units within the surrounding 8 tiles take 20% less Physical damage, and Vina gains +5% ATK for each friendly unit within this range","name":"The Kings' Sighs","desc":"This unit and friendly units within the surrounding 8 tiles take 20% less Physical damage, and Vina gains +5% ATK for each friendly unit within this range"},{"descRaw":"When damaging an enemy for the first time, inflicts <$ba.tremble>Frighten for 4s","name":"Unsheathed Sword","desc":"When damaging an enemy for the first time, inflicts Frighten for 4s"}],"modules":[{"name":"The Adventure of the Lioness","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"ASPD <@ba.kw>+8 when not blocking an enemy","desc":"Deals Arts damage","moduleDesc":"ASPD +8 when not blocking an enemy"},"talentChanges":[{"descRaw":"This unit and friendly units within the surrounding 8 tiles take 26% less Physical damage, and Vina gains +7% ATK for each friendly unit within this range","name":"The Kings' Sighs","desc":"This unit and friendly units within the surrounding 8 tiles take 26% less Physical damage, and Vina gains +7% ATK for each friendly unit within this range"}]},{"name":"'Speed and Bag'","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage","moduleDescRaw":"Enemies blocked by her or her own Summons receive <@ba.kw>10% <$ba.fragile>Fragile","desc":"Deals Arts damage","moduleDesc":"Enemies blocked by her or her own Summons receive 10% Fragile"},"talentChanges":[null,{"descRaw":"When damaging an enemy for the first time, inflicts <$ba.tremble>Frighten on regular enemies for 6 seconds, while Elite and Leader enemies are <$ba.tremble>Frightened for 12 seconds. Vina Victoria and her summons deal 15% more damage to Frightened targets","name":"Unsheathed Sword","desc":"When damaging an enemy for the first time, inflicts Frighten on regular enemies for 6 seconds, while Elite and Leader enemies are Frightened for 12 seconds. Vina Victoria and her summons deal 15% more damage to Frightened targets"}]}],"_h":"8vc5cetd5ynzxssmbqku3gkuccb2qrw7mba9brklwm53xssmbqce5y3m3g3mccb2qrw7cetd5ynzku3gkuz2cew05yauuyb2xo"},"chess_char_6_08_a":{"name":"Reed the Flame Shadow","subProfessionName":"Incantation Medic","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>50% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 50% of the damage dealt"},"skill":{"descRaw":"Attacks hit <@ba.vup>2 enemies; ATK <@ba.vup>+25%; Talent 1 activation chance increases to <@ba.vup>100%; enemies with the Cinder effect take <@ba.vup>20% of Reed the Flame Shadow's ATK as Arts damage per second, and when defeated deal <@ba.vup>100% of ATK as Arts damage and inflict Cinder to nearby enemies\n<@ba.rem>Cinder lasts until this skill expires","name":"Ember of Life","desc":"Attacks hit 2 enemies; ATK +25%; Talent 1 activation chance increases to 100%; enemies with the Cinder effect take 20% of Reed the Flame Shadow's ATK as Arts damage per second, and when defeated deal 100% of ATK as Arts damage and inflict Cinder to nearby enemies\nCinder lasts until this skill expires"},"talents":[{"descRaw":"When dealing damage, 30% chance to inflict Cinder: ATK -20%, 30% <$ba.magicfragile>[Arts Fragility], does not stack, lasts 6s","name":"Cinder","desc":"When dealing damage, 30% chance to inflict Cinder: ATK -20%, 30% [Arts Fragility], does not stack, lasts 6s"},{"descRaw":"When healing an ally, Reed the Flame Shadow heals herself for 50% of the amount healed","name":"Reflected Shine","desc":"When healing an ally, Reed the Flame Shadow heals herself for 50% of the amount healed"}],"module":{"name":"'A Floral Garland to the Red Dragon'"},"skills":[{"descRaw":"ATK <@ba.vup>+27%; ASPD <@ba.vup>+25","name":"Swift Strike γ","desc":"ATK +27%; ASPD +25"},{"descRaw":"Prioritizing ground Operators, gives <@ba.vup>1 ally 3 fireballs with the following effect: Every <@ba.vup>1.5s, deals <@ba.vup>160% of Reed the Flame Shadow's ATK as Arts damage to an enemy, triggering her Trait but only on that ally.","name":"Wither and Thrive","desc":"Prioritizing ground Operators, gives 1 ally 3 fireballs with the following effect: Every 1.5s, deals 160% of Reed the Flame Shadow's ATK as Arts damage to an enemy, triggering her Trait but only on that ally."},{"descRaw":"Attacks hit <@ba.vup>2 enemies; ATK <@ba.vup>+25%; Talent 1 activation chance increases to <@ba.vup>100%; enemies with the Cinder effect take <@ba.vup>20% of Reed the Flame Shadow's ATK as Arts damage per second, and when defeated deal <@ba.vup>100% of ATK as Arts damage and inflict Cinder to nearby enemies\n<@ba.rem>Cinder lasts until this skill expires","name":"Ember of Life","desc":"Attacks hit 2 enemies; ATK +25%; Talent 1 activation chance increases to 100%; enemies with the Cinder effect take 20% of Reed the Flame Shadow's ATK as Arts damage per second, and when defeated deal 100% of ATK as Arts damage and inflict Cinder to nearby enemies\nCinder lasts until this skill expires"}],"_h":"fuuli5yzxs3l6lj296apwny5wnp28ydm2gbf8neixs3l6l"},"chess_char_6_08_b":{"name":"Reed the Flame Shadow","subProfessionName":"Incantation Medic","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>60% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 60% of the damage dealt"},"skill":{"descRaw":"Attacks hit <@ba.vup>2 enemies; ATK <@ba.vup>+40%; Talent 1 activation chance increases to <@ba.vup>100%; enemies with the Cinder effect take <@ba.vup>30% of Reed the Flame Shadow's ATK as Arts damage per second, and when defeated deal <@ba.vup>110% of ATK as Arts damage and inflict Cinder to nearby enemies\n<@ba.rem>Cinder lasts until this skill expires","name":"Ember of Life","desc":"Attacks hit 2 enemies; ATK +40%; Talent 1 activation chance increases to 100%; enemies with the Cinder effect take 30% of Reed the Flame Shadow's ATK as Arts damage per second, and when defeated deal 110% of ATK as Arts damage and inflict Cinder to nearby enemies\nCinder lasts until this skill expires"},"talents":[{"descRaw":"When dealing damage, 30% chance to inflict Cinder: ATK -20%, 30% <$ba.magicfragile>[Arts Fragility], does not stack, lasts 6s","name":"Cinder","desc":"When dealing damage, 30% chance to inflict Cinder: ATK -20%, 30% [Arts Fragility], does not stack, lasts 6s"},{"descRaw":"When healing an ally, healing effect is increased by 5%, and Reed the Flame Shadow heals herself for 60% of the amount healed","name":"Reflected Shine","desc":"When healing an ally, healing effect is increased by 5%, and Reed the Flame Shadow heals herself for 60% of the amount healed"}],"module":{"name":"'A Floral Garland to the Red Dragon'"},"skills":[{"descRaw":"ATK <@ba.vup>+34%; ASPD <@ba.vup>+35","name":"Swift Strike γ","desc":"ATK +34%; ASPD +35"},{"descRaw":"Prioritizing ground Operators, gives <@ba.vup>2 allies 3 fireballs with the following effect: Every <@ba.vup>1.5s, deals <@ba.vup>190% of Reed the Flame Shadow's ATK as Arts damage to an enemy, triggering her Trait but only on that ally.","name":"Wither and Thrive","desc":"Prioritizing ground Operators, gives 2 allies 3 fireballs with the following effect: Every 1.5s, deals 190% of Reed the Flame Shadow's ATK as Arts damage to an enemy, triggering her Trait but only on that ally."},{"descRaw":"Attacks hit <@ba.vup>2 enemies; ATK <@ba.vup>+40%; Talent 1 activation chance increases to <@ba.vup>100%; enemies with the Cinder effect take <@ba.vup>30% of Reed the Flame Shadow's ATK as Arts damage per second, and when defeated deal <@ba.vup>110% of ATK as Arts damage and inflict Cinder to nearby enemies\n<@ba.rem>Cinder lasts until this skill expires","name":"Ember of Life","desc":"Attacks hit 2 enemies; ATK +40%; Talent 1 activation chance increases to 100%; enemies with the Cinder effect take 30% of Reed the Flame Shadow's ATK as Arts damage per second, and when defeated deal 110% of ATK as Arts damage and inflict Cinder to nearby enemies\nCinder lasts until this skill expires"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>50% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 50% of the damage dealt"},"talentsBase":[{"descRaw":"When dealing damage, 30% chance to inflict Cinder: ATK -20%, 30% <$ba.magicfragile>[Arts Fragility], does not stack, lasts 6s","name":"Cinder","desc":"When dealing damage, 30% chance to inflict Cinder: ATK -20%, 30% [Arts Fragility], does not stack, lasts 6s"},{"descRaw":"When healing an ally, Reed the Flame Shadow heals herself for 50% of the amount healed","name":"Reflected Shine","desc":"When healing an ally, Reed the Flame Shadow heals herself for 50% of the amount healed"}],"modules":[{"name":"'A Floral Garland to the Red Dragon'","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>60% of the damage dealt","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 60% of the damage dealt"},"talentChanges":[{"descRaw":"When healing an ally, healing effect is increased by 5%, and Reed the Flame Shadow heals herself for 60% of the amount healed","name":"Reflected Shine","desc":"When healing an ally, healing effect is increased by 5%, and Reed the Flame Shadow heals herself for 60% of the amount healed"}]},{"name":"\"A Corner of One's Own\"","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage and heal the HP of an ally within Attack Range for <@ba.kw>50% of the damage dealt","moduleDescRaw":"When there is an injured allied Operator within Attack Range, damage dealt increases to <@ba.kw>110%","desc":"Attacks deal Arts damage and heal the HP of an ally within Attack Range for 50% of the damage dealt","moduleDesc":"When there is an injured allied Operator within Attack Range, damage dealt increases to 110%"},"talentChanges":[null,{"descRaw":"When dealing damage, 30% chance to inflict Scorch on the enemy: ATK -20% and 38% <$ba.magicfragile>[Arts Fragility], non-stackable, lasts 8 seconds","name":"Cinder","desc":"When dealing damage, 30% chance to inflict Scorch on the enemy: ATK -20% and 38% [Arts Fragility], non-stackable, lasts 8 seconds"}]}],"_h":"fuuluarymp3l36j296apwzy5wzp2vddmw9xo8nmnmp3l36i5yzj296apwny5wnp2uarywzy5wzyii5mpyzfj1k96nr"},"chess_char_6_09_a":{"name":"Virtuosa","subProfessionName":"Ritualist","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Injury","desc":"Attacks deal Arts damage, and can inflict Elemental Injury"},"skill":{"descRaw":"Deal <@ba.vup>210% ATK as Arts damage, and an additional <@ba.vup>85% ATK as <$ba.dt.apoptosis2>Necrosis if the enemy is not under the burst effect\n<@ba.rem>Can store 2 charges and cannot use normal attacks when skill is inactive","name":"'Golden Ecstasy'","desc":"Deal 210% ATK as Arts damage, and an additional 85% ATK as Necrosis if the enemy is not under the burst effect\nCan store 2 charges and cannot use normal attacks when skill is inactive"},"talents":[{"descRaw":"Enemies within attack range take 10% ATK as <$ba.dt.apoptosis2>Necrosis per second, and are <$ba.sluggish>Slowed for 0.2s","name":"Wordless Elegy","desc":"Enemies within attack range take 10% ATK as Necrosis per second, and are Slowed for 0.2s"},{"descRaw":"Enemies within attack range take 20% more <$ba.dt.apoptosis2>Necrosis","name":"Mental Inversion","desc":"Enemies within attack range take 20% more Necrosis"}],"module":{"name":"The Decrescendo"},"skills":[{"descRaw":"Deal <@ba.vup>210% ATK as Arts damage, and an additional <@ba.vup>85% ATK as <$ba.dt.apoptosis2>Necrosis if the enemy is not under the burst effect\n<@ba.rem>Can store 2 charges and cannot use normal attacks when skill is inactive","name":"'Golden Ecstasy'","desc":"Deal 210% ATK as Arts damage, and an additional 85% ATK as Necrosis if the enemy is not under the burst effect\nCan store 2 charges and cannot use normal attacks when skill is inactive"},{"descRaw":"ASPD <@ba.vup>+30, attack <@ba.vup>1 additional target; when this unit and the allied Operator with highest ATK within range deal damage to an enemy, additionally deal <@ba.vup>15% ATK as <$ba.dt.apoptosis2>Necrosis","name":"'Requiem Mass'","desc":"ASPD +30, attack 1 additional target; when this unit and the allied Operator with highest ATK within range deal damage to an enemy, additionally deal 15% ATK as Necrosis"},{"descRaw":"<@ba.vdown>Stops attacking, Attack Range <@ba.vup>increases, ATK <@ba.vup>+105%, 2nd Talent effect increased to <@ba.vup>1.9x; when skill is active, for all other Operators within range, the one with the highest max HP gains max HP <@ba.vup>+20%, the one with the highest ATK gains ATK <@ba.vup>+20%, and the one with the highest DEF gains DEF <@ba.vup>+20%","name":"'Liberal Tango'","desc":"Stops attacking, Attack Range increases, ATK +105%, 2nd Talent effect increased to 1.9x; when skill is active, for all other Operators within range, the one with the highest max HP gains max HP +20%, the one with the highest ATK gains ATK +20%, and the one with the highest DEF gains DEF +20%"}],"_h":"q5cpi24y7xdlfbnea296f5n3r7z77xdlfb0bxizm5yhfzk"},"chess_char_6_09_b":{"name":"Virtuosa","subProfessionName":"Ritualist","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Injury","moduleDescRaw":"Elemental Injury dealt to Elite and Leader enemies increases by <@ba.kw>18%","desc":"Attacks deal Arts damage, and can inflict Elemental Injury","moduleDesc":"Elemental Injury dealt to Elite and Leader enemies increases by 18%"},"skill":{"descRaw":"Deal <@ba.vup>240% ATK as Arts damage, and an additional <@ba.vup>95% ATK as <$ba.dt.apoptosis2>Necrosis if the enemy is not under the burst effect\n<@ba.rem>Can store 2 charges and cannot use normal attacks when skill is inactive","name":"'Golden Ecstasy'","desc":"Deal 240% ATK as Arts damage, and an additional 95% ATK as Necrosis if the enemy is not under the burst effect\nCan store 2 charges and cannot use normal attacks when skill is inactive"},"talents":[{"descRaw":"Enemies within attack range take 10% ATK as <$ba.dt.apoptosis2>Necrosis per second, and are <$ba.sluggish>Slowed for 0.2s","name":"Wordless Elegy","desc":"Enemies within attack range take 10% ATK as Necrosis per second, and are Slowed for 0.2s"},{"descRaw":"Enemies within attack range take 33% more <$ba.dt.apoptosis2>Necrosis; if the target is under the burst effect of <$ba.dt.apoptosis2>Necrosis, they receive 5% <$ba.elementfragile>Elemental Fragility","name":"Mental Inversion","desc":"Enemies within attack range take 33% more Necrosis; if the target is under the burst effect of Necrosis, they receive 5% Elemental Fragility"}],"module":{"name":"The Decrescendo"},"skills":[{"descRaw":"Deal <@ba.vup>240% ATK as Arts damage, and an additional <@ba.vup>95% ATK as <$ba.dt.apoptosis2>Necrosis if the enemy is not under the burst effect\n<@ba.rem>Can store 2 charges and cannot use normal attacks when skill is inactive","name":"'Golden Ecstasy'","desc":"Deal 240% ATK as Arts damage, and an additional 95% ATK as Necrosis if the enemy is not under the burst effect\nCan store 2 charges and cannot use normal attacks when skill is inactive"},{"descRaw":"ASPD <@ba.vup>+45, attack <@ba.vup>1 additional target; when this unit and the allied Operator with highest ATK within range deal damage to an enemy, additionally deal <@ba.vup>20% ATK as <$ba.dt.apoptosis2>Necrosis","name":"'Requiem Mass'","desc":"ASPD +45, attack 1 additional target; when this unit and the allied Operator with highest ATK within range deal damage to an enemy, additionally deal 20% ATK as Necrosis"},{"descRaw":"<@ba.vdown>Stops attacking, Attack Range <@ba.vup>increases, ATK <@ba.vup>+140%, 2nd Talent effect increased to <@ba.vup>2.2x; when skill is active, for all other Operators within range, the one with the highest max HP gains max HP <@ba.vup>+25%, the one with the highest ATK gains ATK <@ba.vup>+25%, and the one with the highest DEF gains DEF <@ba.vup>+25%","name":"'Liberal Tango'","desc":"Stops attacking, Attack Range increases, ATK +140%, 2nd Talent effect increased to 2.2x; when skill is active, for all other Operators within range, the one with the highest max HP gains max HP +25%, the one with the highest ATK gains ATK +25%, and the one with the highest DEF gains DEF +25%"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Injury","desc":"Attacks deal Arts damage, and can inflict Elemental Injury"},"talentsBase":[{"descRaw":"Enemies within attack range take 10% ATK as <$ba.dt.apoptosis2>Necrosis per second, and are <$ba.sluggish>Slowed for 0.2s","name":"Wordless Elegy","desc":"Enemies within attack range take 10% ATK as Necrosis per second, and are Slowed for 0.2s"},{"descRaw":"Enemies within attack range take 20% more <$ba.dt.apoptosis2>Necrosis","name":"Mental Inversion","desc":"Enemies within attack range take 20% more Necrosis"}],"modules":[{"name":"The Decrescendo","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Injury","moduleDescRaw":"Elemental Injury dealt to Elite and Leader enemies increases by <@ba.kw>18%","desc":"Attacks deal Arts damage, and can inflict Elemental Injury","moduleDesc":"Elemental Injury dealt to Elite and Leader enemies increases by 18%"},"talentChanges":[{"descRaw":"Enemies within attack range take 33% more <$ba.dt.apoptosis2>Necrosis; if the target is under the burst effect of <$ba.dt.apoptosis2>Necrosis, they receive 5% <$ba.elementfragile>Elemental Fragility","name":"Mental Inversion","desc":"Enemies within attack range take 33% more Necrosis; if the target is under the burst effect of Necrosis, they receive 5% Elemental Fragility"}]},{"name":"'Tuning on the Heart'","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Injury","moduleDescRaw":"Enemies within Attack Range receive 10% <$ba.elementfragile>Elemental Fragility","desc":"Attacks deal Arts damage, and can inflict Elemental Injury","moduleDesc":"Enemies within Attack Range receive 10% Elemental Fragility"},"talentChanges":[null,{"descRaw":"When deployed, all enemies take 20% more <$ba.dt.apoptosis2>Necrosis, and receive 150 Elemental Damage per second when under the burst effect of <$ba.dt.apoptosis2>Necrosis","name":"Mental Inversion","desc":"When deployed, all enemies take 20% more Necrosis, and receive 150 Elemental Damage per second when under the burst effect of Necrosis"}]}],"_h":"q5cpi25g4yj6srdlo1nea296etn3chz7srdlo12jxi76lqhfaci24ynea296f5n3r7z7i25g4yj6etn3chk0i22m4y2c0mn3ei"},"chess_char_6_10_a":{"name":"Nymph","subProfessionName":"Primal Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","desc":"Attacks deal Arts damage, and can inflict Elemental Damage"},"skill":{"descRaw":"Deals <@ba.vup>270% ATK as Arts damage to the target and inflicts <$ba.fear>Fear for <@ba.vup>4 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional <@ba.vup>18% of Arts damage as <$ba.dt.apoptosis2>Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to <@ba.vup>70% ATK\n<@ba.rem>Can store 1 charge(s)","name":"Fear Blast","desc":"Deals 270% ATK as Arts damage to the target and inflicts Fear for 4 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional 18% of Arts damage as Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to 70% ATK\nCan store 1 charge(s)"},"talents":[{"descRaw":"When attacking enemies under the burst effect of <$ba.dt.apoptosis2>Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the <$ba.dt.apoptosis2>Necrosis burst","name":"Soul Stolen","desc":"When attacking enemies under the burst effect of Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the Necrosis burst"},{"descRaw":"Whenever a <$ba.dt.apoptosis2>Necrosis burst effect is triggered within Nymph's attack range, ATK +2%, stacking up to 10 times","name":"Key to the Heart","desc":"Whenever a Necrosis burst effect is triggered within Nymph's attack range, ATK +2%, stacking up to 10 times"}],"module":{"name":"'Aspiration'"},"skills":[{"descRaw":"ATK <@ba.vup>+60%, attacks deal an additional <@ba.vup>10% of Arts damage as <$ba.dt.apoptosis2>Necrosis; if target is under the burst effect of <$ba.dt.apoptosis2>Necrosis, deal an additional <@ba.vup>30% ATK as Elemental Damage","name":"Strike of the Djall","desc":"ATK +60%, attacks deal an additional 10% of Arts damage as Necrosis; if target is under the burst effect of Necrosis, deal an additional 30% ATK as Elemental Damage"},{"descRaw":"Deals <@ba.vup>270% ATK as Arts damage to the target and inflicts <$ba.fear>Fear for <@ba.vup>4 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional <@ba.vup>18% of Arts damage as <$ba.dt.apoptosis2>Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to <@ba.vup>70% ATK\n<@ba.rem>Can store 1 charge(s)","name":"Fear Blast","desc":"Deals 270% ATK as Arts damage to the target and inflicts Fear for 4 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional 18% of Arts damage as Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to 70% ATK\nCan store 1 charge(s)"},{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+140%, ASPD <@ba.vup>+30, attack <@ba.vup>2 targets simultaneously. If target is under the burst effect of <$ba.dt.apoptosis2>Necrosis, attacks deal Elemental Damage","name":"Crumbling Heart","desc":"Attack Range increases, ATK +140%, ASPD +30, attack 2 targets simultaneously. If target is under the burst effect of Necrosis, attacks deal Elemental Damage"}],"_h":"w8cm8odo07cr3j5bq2trwtac3z8m5nbboi07cr3juzfi1d"},"chess_char_6_10_b":{"name":"Nymph","subProfessionName":"Primal Caster","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","moduleDescRaw":"Damage dealt to enemies under an Elemental Burst effect increased to 110%","desc":"Attacks deal Arts damage, and can inflict Elemental Damage","moduleDesc":"Damage dealt to enemies under an Elemental Burst effect increased to 110%"},"skill":{"descRaw":"Deals <@ba.vup>300% ATK as Arts damage to the target and inflicts <$ba.fear>Fear for <@ba.vup>5 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional <@ba.vup>22% of Arts damage as <$ba.dt.apoptosis2>Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to <@ba.vup>85% ATK\n<@ba.rem>Can store 2 charge(s)","name":"Fear Blast","desc":"Deals 300% ATK as Arts damage to the target and inflicts Fear for 5 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional 22% of Arts damage as Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to 85% ATK\nCan store 2 charge(s)"},"talents":[{"descRaw":"When attacking enemies under the burst effect of <$ba.dt.apoptosis2>Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the <$ba.dt.apoptosis2>Necrosis burst","name":"Soul Stolen","desc":"When attacking enemies under the burst effect of Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the Necrosis burst"},{"descRaw":"Whenever a <$ba.dt.apoptosis2>Necrosis burst effect is triggered, ATK +3%, stacking up to 10 times; at 10 stacks, ASPD +12","name":"Key to the Heart","desc":"Whenever a Necrosis burst effect is triggered, ATK +3%, stacking up to 10 times; at 10 stacks, ASPD +12"}],"module":{"name":"'Aspiration'"},"skills":[{"descRaw":"ATK <@ba.vup>+80%, attacks deal an additional <@ba.vup>10% of Arts damage as <$ba.dt.apoptosis2>Necrosis; if target is under the burst effect of <$ba.dt.apoptosis2>Necrosis, deal an additional <@ba.vup>40% ATK as Elemental Damage","name":"Strike of the Djall","desc":"ATK +80%, attacks deal an additional 10% of Arts damage as Necrosis; if target is under the burst effect of Necrosis, deal an additional 40% ATK as Elemental Damage"},{"descRaw":"Deals <@ba.vup>300% ATK as Arts damage to the target and inflicts <$ba.fear>Fear for <@ba.vup>5 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional <@ba.vup>22% of Arts damage as <$ba.dt.apoptosis2>Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to <@ba.vup>85% ATK\n<@ba.rem>Can store 2 charge(s)","name":"Fear Blast","desc":"Deals 300% ATK as Arts damage to the target and inflicts Fear for 5 seconds, also dealing an equal amount of Arts splash damage around the target; both instances deal an additional 22% of Arts damage as Necrosis. If the target hit is under the burst effect of Necrosis, the damage dealt by Talent 1 increases to 85% ATK\nCan store 2 charge(s)"},{"descRaw":"Attack Range <@ba.vup>increases, ATK <@ba.vup>+170%, ASPD <@ba.vup>+45, attack <@ba.vup>2 targets simultaneously. If target is under the burst effect of <$ba.dt.apoptosis2>Necrosis, attacks deal Elemental Damage","name":"Crumbling Heart","desc":"Attack Range increases, ATK +170%, ASPD +45, attack 2 targets simultaneously. If target is under the burst effect of Necrosis, attacks deal Elemental Damage"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","desc":"Attacks deal Arts damage, and can inflict Elemental Damage"},"talentsBase":[{"descRaw":"When attacking enemies under the burst effect of <$ba.dt.apoptosis2>Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the <$ba.dt.apoptosis2>Necrosis burst","name":"Soul Stolen","desc":"When attacking enemies under the burst effect of Necrosis, deals an additional 40% ATK as Elemental Damage per second, lasting until the end of the Necrosis burst"},{"descRaw":"Whenever a <$ba.dt.apoptosis2>Necrosis burst effect is triggered within Nymph's attack range, ATK +2%, stacking up to 10 times","name":"Key to the Heart","desc":"Whenever a Necrosis burst effect is triggered within Nymph's attack range, ATK +2%, stacking up to 10 times"}],"modules":[{"name":"'Aspiration'","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","moduleDescRaw":"Damage dealt to enemies under an Elemental Burst effect increased to 110%","desc":"Attacks deal Arts damage, and can inflict Elemental Damage","moduleDesc":"Damage dealt to enemies under an Elemental Burst effect increased to 110%"},"talentChanges":[{"descRaw":"Whenever a <$ba.dt.apoptosis2>Necrosis burst effect is triggered, ATK +3%, stacking up to 10 times; at 10 stacks, ASPD +12","name":"Key to the Heart","desc":"Whenever a Necrosis burst effect is triggered, ATK +3%, stacking up to 10 times; at 10 stacks, ASPD +12"}]},{"name":"Consultation Toolkit","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and can inflict <@ba.kw>Elemental Damage","moduleDescRaw":"SP recovery +0.2/s when there are enemies under the burst effect of Elemental Injury within range","desc":"Attacks deal Arts damage, and can inflict Elemental Damage","moduleDesc":"SP recovery +0.2/s when there are enemies under the burst effect of Elemental Injury within range"},"talentChanges":[null,{"descRaw":"When attacking enemies under the burst effect of <$ba.dt.apoptosis2>Necrosis, deals an additional 40% ATK as Elemental Damage per 0.7s, lasting until the end of the <$ba.dt.apoptosis2>Necrosis burst","name":"Soul Stolen","desc":"When attacking enemies under the burst effect of Necrosis, deals an additional 40% ATK as Elemental Damage per 0.7s, lasting until the end of the Necrosis burst"}]}],"_h":"w8cm8owrdowrzccrqi5bq2trhhacnn8mjgbb6bzccrqiqgfiu48odo5bq2trwtac3z8m8owrdowrhhacnn3s8oe5doe5wyq24e"},"chess_char_6_11_a":{"name":"Muelsyse","subProfessionName":"Tactician","trait":{"descRaw":"This unit can designate one <@ba.kw>Tactical Point within attack range to call Reinforcements; ATK is increased to 150% when attacking enemies blocked by Reinforcements","desc":"This unit can designate one Tactical Point within attack range to call Reinforcements; ATK is increased to 150% when attacking enemies blocked by Reinforcements"},"skill":{"descRaw":"Immediately gains <@ba.vup>13 DP, Muelsyse and her Flowing Shapes gain <@ba.vup>+22% ATK, if Flowing Shape is in Melee form, pulls surrounding enemies <@ba.vup>slightly towards it every <@ba.vup>2 seconds and <$ba.stun>Stuns all blocked enemies; if Flowing Shape is in Ranged form, respawns all Flowing Shapes and attacks <$ba.root>Bind enemies for <@ba.vup>1.5 seconds","name":"Superficial Regulation","desc":"Immediately gains 13 DP, Muelsyse and her Flowing Shapes gain +22% ATK, if Flowing Shape is in Melee form, pulls surrounding enemies slightly towards it every 2 seconds and Stuns all blocked enemies; if Flowing Shape is in Ranged form, respawns all Flowing Shapes and attacks Bind enemies for 1.5 seconds"},"talents":[{"descRaw":"Can summon a Flowing Shape to assist in combat. Flowing Shapes can partially copy an undeployed Operator's attributes (Max HP, ATK, DEF, RES, Block Count, Attack Interval, Attack Range, Damage Type, and obtain a special trait depending on whether in melee or ranged form), will respawn 25 seconds after being defeated","name":"Pure Water is Life","desc":"Can summon a Flowing Shape to assist in combat. Flowing Shapes can partially copy an undeployed Operator's attributes (Max HP, ATK, DEF, RES, Block Count, Attack Interval, Attack Range, Damage Type, and obtain a special trait depending on whether in melee or ranged form), will respawn 25 seconds after being defeated"},{"descRaw":"When in squad, all [Rhine Lab] Operators have -2 DP Cost, and the first Rhine Lab Operator deployed has an additional -1 DP Cost","name":"Expenditure Economization","desc":"When in squad, all [Rhine Lab] Operators have -2 DP Cost, and the first Rhine Lab Operator deployed has an additional -1 DP Cost"}],"module":{"name":"Dresser Flowing Shape"},"skills":[{"descRaw":"Gradually recovers <@ba.vup>11 DP while skill is active, Muelsyse and her Flowing Shapes gain <@ba.vup>+22% ATK, <@ba.vup>+22 ASPD","name":"Progressive Moisturization","desc":"Gradually recovers 11 DP while skill is active, Muelsyse and her Flowing Shapes gain +22% ATK, +22 ASPD"},{"descRaw":"Immediately gains <@ba.vup>13 DP, Muelsyse and her Flowing Shapes gain <@ba.vup>+22% ATK; if Flowing Shape is in Melee form, it recovers <@ba.vup>2% HP every second and gains <@ba.vup>15% <$ba.protect>Sanctuary, if Flowing Shape is in Ranged form, its attacks hit <@ba.vup>twice at random targets within attack range","name":"Ecological Interaction","desc":"Immediately gains 13 DP, Muelsyse and her Flowing Shapes gain +22% ATK; if Flowing Shape is in Melee form, it recovers 2% HP every second and gains 15% Sanctuary, if Flowing Shape is in Ranged form, its attacks hit twice at random targets within attack range"},{"descRaw":"Immediately gains <@ba.vup>13 DP, Muelsyse and her Flowing Shapes gain <@ba.vup>+22% ATK, if Flowing Shape is in Melee form, pulls surrounding enemies <@ba.vup>slightly towards it every <@ba.vup>2 seconds and <$ba.stun>Stuns all blocked enemies; if Flowing Shape is in Ranged form, respawns all Flowing Shapes and attacks <$ba.root>Bind enemies for <@ba.vup>1.5 seconds","name":"Superficial Regulation","desc":"Immediately gains 13 DP, Muelsyse and her Flowing Shapes gain +22% ATK, if Flowing Shape is in Melee form, pulls surrounding enemies slightly towards it every 2 seconds and Stuns all blocked enemies; if Flowing Shape is in Ranged form, respawns all Flowing Shapes and attacks Bind enemies for 1.5 seconds"}],"_h":"rr8auajg8ild2hjd2qjdla84lakvhds90wnbffgf8ild2h"},"chess_char_6_11_b":{"name":"Muelsyse","subProfessionName":"Tactician","trait":{"descRaw":"This unit can designate one <@ba.kw>Tactical Point within attack range to call Reinforcements; Reinforcements take <@ba.kw>15% less damage from units they are blocking, and this unit's ATK is increased to 150% when attacking enemies blocked by Reinforcements","desc":"This unit can designate one Tactical Point within attack range to call Reinforcements; Reinforcements take 15% less damage from units they are blocking, and this unit's ATK is increased to 150% when attacking enemies blocked by Reinforcements"},"skill":{"descRaw":"Immediately gains <@ba.vup>14 DP, Muelsyse and her Flowing Shapes gain <@ba.vup>+35% ATK, if Flowing Shape is in Melee form, pulls surrounding enemies <@ba.vup>slightly towards it every <@ba.vup>2 seconds and <$ba.stun>Stuns all blocked enemies; if Flowing Shape is in Ranged form, respawns all Flowing Shapes and attacks <$ba.root>Bind enemies for <@ba.vup>1.5 seconds","name":"Superficial Regulation","desc":"Immediately gains 14 DP, Muelsyse and her Flowing Shapes gain +35% ATK, if Flowing Shape is in Melee form, pulls surrounding enemies slightly towards it every 2 seconds and Stuns all blocked enemies; if Flowing Shape is in Ranged form, respawns all Flowing Shapes and attacks Bind enemies for 1.5 seconds"},"talents":[{"descRaw":"Can summon a Flowing Shape to assist in combat. Flowing Shapes can copy all of an undeployed Operator's attributes (Max HP, ATK, DEF, RES, Block Count, Attack Interval, Attack Range, Damage Type, ability of obtaining a special trait depending on whether in melee or ranged form), gains 5 SP immediately after first deployment, and will respawn 25 seconds after being defeated.","name":"Pure Water is Life","desc":"Can summon a Flowing Shape to assist in combat. Flowing Shapes can copy all of an undeployed Operator's attributes (Max HP, ATK, DEF, RES, Block Count, Attack Interval, Attack Range, Damage Type, ability of obtaining a special trait depending on whether in melee or ranged form), gains 5 SP immediately after first deployment, and will respawn 25 seconds after being defeated."},{"descRaw":"When in squad, all [Rhine Lab] Operators have -2 DP Cost, and the first Rhine Lab Operator deployed has an additional -1 DP Cost","name":"Expenditure Economization","desc":"When in squad, all [Rhine Lab] Operators have -2 DP Cost, and the first Rhine Lab Operator deployed has an additional -1 DP Cost"}],"module":{"name":"Dresser Flowing Shape"},"skills":[{"descRaw":"Gradually recovers <@ba.vup>12 DP while skill is active, Muelsyse and her Flowing Shapes gain <@ba.vup>+35% ATK, <@ba.vup>+35 ASPD","name":"Progressive Moisturization","desc":"Gradually recovers 12 DP while skill is active, Muelsyse and her Flowing Shapes gain +35% ATK, +35 ASPD"},{"descRaw":"Immediately gains <@ba.vup>14 DP, Muelsyse and her Flowing Shapes gain <@ba.vup>+35% ATK; if Flowing Shape is in Melee form, it recovers <@ba.vup>3% HP every second and gains <@ba.vup>20% <$ba.protect>Sanctuary, if Flowing Shape is in Ranged form, its attacks hit <@ba.vup>twice at random targets within attack range","name":"Ecological Interaction","desc":"Immediately gains 14 DP, Muelsyse and her Flowing Shapes gain +35% ATK; if Flowing Shape is in Melee form, it recovers 3% HP every second and gains 20% Sanctuary, if Flowing Shape is in Ranged form, its attacks hit twice at random targets within attack range"},{"descRaw":"Immediately gains <@ba.vup>14 DP, Muelsyse and her Flowing Shapes gain <@ba.vup>+35% ATK, if Flowing Shape is in Melee form, pulls surrounding enemies <@ba.vup>slightly towards it every <@ba.vup>2 seconds and <$ba.stun>Stuns all blocked enemies; if Flowing Shape is in Ranged form, respawns all Flowing Shapes and attacks <$ba.root>Bind enemies for <@ba.vup>1.5 seconds","name":"Superficial Regulation","desc":"Immediately gains 14 DP, Muelsyse and her Flowing Shapes gain +35% ATK, if Flowing Shape is in Melee form, pulls surrounding enemies slightly towards it every 2 seconds and Stuns all blocked enemies; if Flowing Shape is in Ranged form, respawns all Flowing Shapes and attacks Bind enemies for 1.5 seconds"}],"traitBase":{"descRaw":"This unit can designate one <@ba.kw>Tactical Point within attack range to call Reinforcements; ATK is increased to 150% when attacking enemies blocked by Reinforcements","desc":"This unit can designate one Tactical Point within attack range to call Reinforcements; ATK is increased to 150% when attacking enemies blocked by Reinforcements"},"talentsBase":[{"descRaw":"Can summon a Flowing Shape to assist in combat. Flowing Shapes can partially copy an undeployed Operator's attributes (Max HP, ATK, DEF, RES, Block Count, Attack Interval, Attack Range, Damage Type, and obtain a special trait depending on whether in melee or ranged form), will respawn 25 seconds after being defeated","name":"Pure Water is Life","desc":"Can summon a Flowing Shape to assist in combat. Flowing Shapes can partially copy an undeployed Operator's attributes (Max HP, ATK, DEF, RES, Block Count, Attack Interval, Attack Range, Damage Type, and obtain a special trait depending on whether in melee or ranged form), will respawn 25 seconds after being defeated"},{"descRaw":"When in squad, all [Rhine Lab] Operators have -2 DP Cost, and the first Rhine Lab Operator deployed has an additional -1 DP Cost","name":"Expenditure Economization","desc":"When in squad, all [Rhine Lab] Operators have -2 DP Cost, and the first Rhine Lab Operator deployed has an additional -1 DP Cost"}],"modules":[{"name":"Dresser Flowing Shape","traitOverride":{"descRaw":"This unit can designate one <@ba.kw>Tactical Point within attack range to call Reinforcements; Reinforcements take <@ba.kw>15% less damage from units they are blocking, and this unit's ATK is increased to 150% when attacking enemies blocked by Reinforcements","desc":"This unit can designate one Tactical Point within attack range to call Reinforcements; Reinforcements take 15% less damage from units they are blocking, and this unit's ATK is increased to 150% when attacking enemies blocked by Reinforcements"},"talentChanges":[{"descRaw":"Can summon a Flowing Shape to assist in combat. Flowing Shapes can copy all of an undeployed Operator's attributes (Max HP, ATK, DEF, RES, Block Count, Attack Interval, Attack Range, Damage Type, ability of obtaining a special trait depending on whether in melee or ranged form), gains 5 SP immediately after first deployment, and will respawn 25 seconds after being defeated.","name":"Pure Water is Life","desc":"Can summon a Flowing Shape to assist in combat. Flowing Shapes can copy all of an undeployed Operator's attributes (Max HP, ATK, DEF, RES, Block Count, Attack Interval, Attack Range, Damage Type, ability of obtaining a special trait depending on whether in melee or ranged form), gains 5 SP immediately after first deployment, and will respawn 25 seconds after being defeated."}]},{"name":"Fallen Leaves of Four Seasons","traitOverride":{"descRaw":"This unit can designate one <@ba.kw>Tactical Point within attack range to call Reinforcements; Enemies blocked by reinforcements are more likely to be attacked, and this unit's ATK is increased to 165% when attacking enemies blocked by Reinforcements","desc":"This unit can designate one Tactical Point within attack range to call Reinforcements; Enemies blocked by reinforcements are more likely to be attacked, and this unit's ATK is increased to 165% when attacking enemies blocked by Reinforcements"},"talentChanges":[{"descRaw":"When in squad, all [Rhine Lab] Operators have -2 DP Cost, and the first Rhine Lab Operator deployed has an additional -1 DP Cost; when Flowing Shape duplicates a [Rhine Lab] Operator, Muelsyse gains 10 SP and the duplicated [Rhine Lab] Operator gains 10 SP when deployed","name":"Expenditure Economization","desc":"When in squad, all [Rhine Lab] Operators have -2 DP Cost, and the first Rhine Lab Operator deployed has an additional -1 DP Cost; when Flowing Shape duplicates a [Rhine Lab] Operator, Muelsyse gains 10 SP and the duplicated [Rhine Lab] Operator gains 10 SP when deployed"}]}],"_h":"rr8asrxpflldhcv62qv6la84lakvkys9btnvffhzflldhcuajgjd2qjdla84lakvsrxpv62qv634m2tox084x0"},"chess_char_6_12_a":{"name":"Rosmontis","subProfessionName":"Flinger","trait":{"descRaw":"Attacks deal <@ba.kw>two instances of Physical damage to <@ba.kw>ground enemies in a small area (The second instance is a shockwave that has half the normal ATK)","desc":"Attacks deal two instances of Physical damage to ground enemies in a small area (The second instance is a shockwave that has half the normal ATK)"},"skill":{"descRaw":"Attack Interval <@ba.vdown>increases, ATK <@ba.vup>+20%, splash area <@ba.vup>expands, and each attack causes <@ba.vup>2 additional shockwaves; Enemies hit by this unit's attacks and shockwaves have a <@ba.vup>20% chance to be <$ba.stun>Stunned for <@ba.vup>0.9 seconds","name":"Nociceptor Inhibition","desc":"Attack Interval increases, ATK +20%, splash area expands, and each attack causes 2 additional shockwaves; Enemies hit by this unit's attacks and shockwaves have a 20% chance to be Stunned for 0.9 seconds"},"talents":[{"descRaw":"Attacks ignore 160 DEF","name":"Armaments of Annihilation","desc":"Attacks ignore 160 DEF"},{"descRaw":"When deployed, grants +8% ATK to this unit and a random deployed Caster Operator","name":"Stable Esthesia","desc":"When deployed, grants +8% ATK to this unit and a random deployed Caster Operator"}],"module":{"name":"'Notes'"},"skills":[{"descRaw":"The next attack deals an additional hit equal to <@ba.vup>100% ATK as Arts damage","name":"Expanded Cognition","desc":"The next attack deals an additional hit equal to 100% ATK as Arts damage"},{"descRaw":"Attack Interval <@ba.vdown>increases, ATK <@ba.vup>+20%, splash area <@ba.vup>expands, and each attack causes <@ba.vup>2 additional shockwaves; Enemies hit by this unit's attacks and shockwaves have a <@ba.vup>20% chance to be <$ba.stun>Stunned for <@ba.vup>0.9 seconds","name":"Nociceptor Inhibition","desc":"Attack Interval increases, ATK +20%, splash area expands, and each attack causes 2 additional shockwaves; Enemies hit by this unit's attacks and shockwaves have a 20% chance to be Stunned for 0.9 seconds"},{"descRaw":"Attack Interval <@ba.vup>decreases, ATK <@ba.vup>+25%, and attacks up to <@ba.vup>2 <@ba.rem>blocked enemies at a time; Immediately deploys two pieces of Tactical Equipment on ground tiles within Attack Range (After deployment, surrounding enemies are <$ba.stun>Stunned for <@ba.vup>2 seconds, and the blocked enemies' DEF <@ba.vup>-160)","name":"'As You Wish'","desc":"Attack Interval decreases, ATK +25%, and attacks up to 2 blocked enemies at a time; Immediately deploys two pieces of Tactical Equipment on ground tiles within Attack Range (After deployment, surrounding enemies are Stunned for 2 seconds, and the blocked enemies' DEF -160)"}],"_h":"t48q0dt76fnglgmzdumz53zo53215z49u66fnglg9oyj03"},"chess_char_6_12_b":{"name":"Rosmontis","subProfessionName":"Flinger","trait":{"descRaw":"Attacks deal <@ba.kw>three instances of Physical damage to <@ba.kw>ground enemies in a small area (The second and third instances are shockwaves that have half the normal ATK)","desc":"Attacks deal three instances of Physical damage to ground enemies in a small area (The second and third instances are shockwaves that have half the normal ATK)"},"skill":{"descRaw":"Attack Interval <@ba.vdown>increases, ATK <@ba.vup>+30%, splash area <@ba.vup>expands, and each attack causes <@ba.vup>2 additional shockwaves; Enemies hit by this unit's attacks and shockwaves have a <@ba.vup>20% chance to be <$ba.stun>Stunned for <@ba.vup>1.1 seconds","name":"Nociceptor Inhibition","desc":"Attack Interval increases, ATK +30%, splash area expands, and each attack causes 2 additional shockwaves; Enemies hit by this unit's attacks and shockwaves have a 20% chance to be Stunned for 1.1 seconds"},"talents":[{"descRaw":"Attacks ignore 220 DEF","name":"Armaments of Annihilation","desc":"Attacks ignore 220 DEF"},{"descRaw":"When deployed, grants +8% ATK to this unit and a random deployed Caster Operator","name":"Stable Esthesia","desc":"When deployed, grants +8% ATK to this unit and a random deployed Caster Operator"}],"module":{"name":"'Notes'"},"skills":[{"descRaw":"The next attack deals an additional hit equal to <@ba.vup>120% ATK as Arts damage","name":"Expanded Cognition","desc":"The next attack deals an additional hit equal to 120% ATK as Arts damage"},{"descRaw":"Attack Interval <@ba.vdown>increases, ATK <@ba.vup>+30%, splash area <@ba.vup>expands, and each attack causes <@ba.vup>2 additional shockwaves; Enemies hit by this unit's attacks and shockwaves have a <@ba.vup>20% chance to be <$ba.stun>Stunned for <@ba.vup>1.1 seconds","name":"Nociceptor Inhibition","desc":"Attack Interval increases, ATK +30%, splash area expands, and each attack causes 2 additional shockwaves; Enemies hit by this unit's attacks and shockwaves have a 20% chance to be Stunned for 1.1 seconds"},{"descRaw":"Attack Interval <@ba.vup>decreases, ATK <@ba.vup>+40%, and attacks up to <@ba.vup>2 <@ba.rem>blocked enemies at a time; Immediately deploys two pieces of Tactical Equipment on ground tiles within Attack Range (After deployment, surrounding enemies are <$ba.stun>Stunned for <@ba.vup>2.5 seconds, and the blocked enemies' DEF <@ba.vup>-160)","name":"'As You Wish'","desc":"Attack Interval decreases, ATK +40%, and attacks up to 2 blocked enemies at a time; Immediately deploys two pieces of Tactical Equipment on ground tiles within Attack Range (After deployment, surrounding enemies are Stunned for 2.5 seconds, and the blocked enemies' DEF -160)"}],"traitBase":{"descRaw":"Attacks deal <@ba.kw>two instances of Physical damage to <@ba.kw>ground enemies in a small area (The second instance is a shockwave that has half the normal ATK)","desc":"Attacks deal two instances of Physical damage to ground enemies in a small area (The second instance is a shockwave that has half the normal ATK)"},"talentsBase":[{"descRaw":"Attacks ignore 160 DEF","name":"Armaments of Annihilation","desc":"Attacks ignore 160 DEF"},{"descRaw":"When deployed, grants +8% ATK to this unit and a random deployed Caster Operator","name":"Stable Esthesia","desc":"When deployed, grants +8% ATK to this unit and a random deployed Caster Operator"}],"modules":[{"name":"'Notes'","traitOverride":{"descRaw":"Attacks deal <@ba.kw>three instances of Physical damage to <@ba.kw>ground enemies in a small area (The second and third instances are shockwaves that have half the normal ATK)","desc":"Attacks deal three instances of Physical damage to ground enemies in a small area (The second and third instances are shockwaves that have half the normal ATK)"},"talentChanges":[{"descRaw":"Attacks ignore 220 DEF","name":"Armaments of Annihilation","desc":"Attacks ignore 220 DEF"}]},{"name":"Rosmontis's Specialized Badge","traitOverride":{"descRaw":"Attacks deal <@ba.kw>two instances of Physical damage to <@ba.kw>ground enemies in a small area (The second instance is a shockwave that has half the normal ATK)","moduleDescRaw":"In <@ba.kw>Integrated Strategies, attacks deal <@ba.kw>1 additional instance of <@ba.kw>100% ATK as Arts damage","desc":"Attacks deal two instances of Physical damage to ground enemies in a small area (The second instance is a shockwave that has half the normal ATK)","moduleDesc":"In Integrated Strategies, attacks deal 1 additional instance of 100% ATK as Arts damage"},"talentChanges":[null,{"descRaw":"When deployed, grants +8% ATK to this unit and a random deployed [Caster] Operator; in <@ba.kw>Integrated Strategies, Rosmontis also benefits from [Caster] Collectibles, and when any [Sniper] or [Caster] Operator is deployed, 1 stronger piece of Tactical Equipment with special effects will be summoned within their Attack Range","name":"Stable Esthesia","desc":"When deployed, grants +8% ATK to this unit and a random deployed [Caster] Operator; in Integrated Strategies, Rosmontis also benefits from [Caster] Collectibles, and when any [Sniper] or [Caster] Operator is deployed, 1 stronger piece of Tactical Equipment with special effects will be summoned within their Attack Range"}]}],"_h":"t48qack8fznglyxcduxc53zo5321yp49i4fzngly56yjtr0dt7mzdumz53zo5321ack8xcduxco80dopt76zbezoxw"},"chess_char_6_13_a":{"name":"Exusiai the New Covenant","subProfessionName":"Geek","trait":{"descRaw":"Continually loses HP over time","desc":"Continually loses HP over time"},"skill":{"descRaw":"<$ba.steal>Steals <@ba.vup>70 ASPD from <@ba.vup>1 allied Operator within Attack Range (lasts until skill ends or Exusiai the New Covenant leaves the field), and both this unit and the targeted Operator gain a <$ba.barrier>Barrier equal to <@ba.vup>180% Max HP which decays; Attack Interval reduces, each attack deals <@ba.vup>230% of ATK as Physical damage\n<@ba.rem>Skill activation grants 35 ammo and the skill ends when all ammo is used (Can manually deactivate skill); if ASPD is successfully <$ba.steal>Stolen, grants an additional 5 ammo","name":"Shootoholic","desc":"Steals 70 ASPD from 1 allied Operator within Attack Range (lasts until skill ends or Exusiai the New Covenant leaves the field), and both this unit and the targeted Operator gain a Barrier equal to 180% Max HP which decays; Attack Interval reduces, each attack deals 230% of ATK as Physical damage\nSkill activation grants 35 ammo and the skill ends when all ammo is used (Can manually deactivate skill); if ASPD is successfully Stolen, grants an additional 5 ammo"},"talents":[{"descRaw":"When deployed, recovers 6% HP whenever an allied Operator consumes ammo; in addition, there is a 25% chance to bombard the enemies within that Operator's Attack Range, dealing 150% of Exusiai the New Covenant's ATK as Physical splash damage","name":"Firepower FM","desc":"When deployed, recovers 6% HP whenever an allied Operator consumes ammo; in addition, there is a 25% chance to bombard the enemies within that Operator's Attack Range, dealing 150% of Exusiai the New Covenant's ATK as Physical splash damage"},{"descRaw":"When deployed, Operators with ammo-type skills gain ATK +9%; effect is doubled for [Laterano] Operators","name":"Covenant of Bullets","desc":"When deployed, Operators with ammo-type skills gain ATK +9%; effect is doubled for [Laterano] Operators"}],"module":{"name":"Convenience Kit for New Friends"},"skills":[{"descRaw":"Each attack deals <@ba.vup>180% of ATK as Physical damage, and prioritizes attacking aerial units; if manually deactivated, fires all remaining ammo at random enemies within Attack Range\n<@ba.rem>Skill activation grants 8 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Sweeping the Skies","desc":"Each attack deals 180% of ATK as Physical damage, and prioritizes attacking aerial units; if manually deactivated, fires all remaining ammo at random enemies within Attack Range\nSkill activation grants 8 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"<$ba.steal>Steals <@ba.vup>70 ASPD from <@ba.vup>1 allied Operator within Attack Range (lasts until skill ends or Exusiai the New Covenant leaves the field), and both this unit and the targeted Operator gain a <$ba.barrier>Barrier equal to <@ba.vup>180% Max HP which decays; Attack Interval reduces, each attack deals <@ba.vup>230% of ATK as Physical damage\n<@ba.rem>Skill activation grants 35 ammo and the skill ends when all ammo is used (Can manually deactivate skill); if ASPD is successfully <$ba.steal>Stolen, grants an additional 5 ammo","name":"Shootoholic","desc":"Steals 70 ASPD from 1 allied Operator within Attack Range (lasts until skill ends or Exusiai the New Covenant leaves the field), and both this unit and the targeted Operator gain a Barrier equal to 180% Max HP which decays; Attack Interval reduces, each attack deals 230% of ATK as Physical damage\nSkill activation grants 35 ammo and the skill ends when all ammo is used (Can manually deactivate skill); if ASPD is successfully Stolen, grants an additional 5 ammo"},{"descRaw":"ATK <@ba.vup>+15%, and attacks hit <@ba.vup>5 times for <@ba.vup>115% of ATK per hit; if Delivery Coordinates are on the field, deals a single instance of Physical splash damage equal to <@ba.vup>250% of ATK at its location and deploys the ground Operator with the longest Redeployment Time there, granting that Operator <@ba.vup>6 SP\n<@ba.rem>Gains Delivery Coordinates after deployment; skill activation grants 50 ammo, each attack consumes 5 ammo, and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Guaranteed Success!","desc":"ATK +15%, and attacks hit 5 times for 115% of ATK per hit; if Delivery Coordinates are on the field, deals a single instance of Physical splash damage equal to 250% of ATK at its location and deploys the ground Operator with the longest Redeployment Time there, granting that Operator 6 SP\nGains Delivery Coordinates after deployment; skill activation grants 50 ammo, each attack consumes 5 ammo, and the skill ends when all ammo is used (Can manually deactivate skill)"}],"_h":"watjogogbn6jtxubg6ub498449ots234onbn6jtxlktp87"},"chess_char_6_13_b":{"name":"Exusiai the New Covenant","subProfessionName":"Geek","trait":{"descRaw":"Continually loses HP over time","moduleDescRaw":"Increases SP recovery rate by +0.25/second while above 80% HP","desc":"Continually loses HP over time","moduleDesc":"Increases SP recovery rate by +0.25/second while above 80% HP"},"skill":{"descRaw":"<$ba.steal>Steals <@ba.vup>70 ASPD from <@ba.vup>1 allied Operator within Attack Range (lasts until skill ends or Exusiai the New Covenant leaves the field), and both this unit and the targeted Operator gain a <$ba.barrier>Barrier equal to <@ba.vup>200% Max HP which decays; Attack Interval reduces, each attack deals <@ba.vup>270% of ATK as Physical damage\n<@ba.rem>Skill activation grants 35 ammo and the skill ends when all ammo is used (Can manually deactivate skill); if ASPD is successfully <$ba.steal>Stolen, grants an additional 5 ammo","name":"Shootoholic","desc":"Steals 70 ASPD from 1 allied Operator within Attack Range (lasts until skill ends or Exusiai the New Covenant leaves the field), and both this unit and the targeted Operator gain a Barrier equal to 200% Max HP which decays; Attack Interval reduces, each attack deals 270% of ATK as Physical damage\nSkill activation grants 35 ammo and the skill ends when all ammo is used (Can manually deactivate skill); if ASPD is successfully Stolen, grants an additional 5 ammo"},"talents":[{"descRaw":"When deployed, recovers 6% HP whenever an allied Operator consumes ammo; in addition, there is a 35% chance to bombard the enemies within that Operator's Attack Range, dealing 185% of Exusiai the New Covenant's ATK as Physical splash damage","name":"Firepower FM","desc":"When deployed, recovers 6% HP whenever an allied Operator consumes ammo; in addition, there is a 35% chance to bombard the enemies within that Operator's Attack Range, dealing 185% of Exusiai the New Covenant's ATK as Physical splash damage"},{"descRaw":"When deployed, Operators with ammo-type skills gain ATK +9%; effect is doubled for [Laterano] Operators","name":"Covenant of Bullets","desc":"When deployed, Operators with ammo-type skills gain ATK +9%; effect is doubled for [Laterano] Operators"}],"module":{"name":"Convenience Kit for New Friends"},"skills":[{"descRaw":"Each attack deals <@ba.vup>210% of ATK as Physical damage, and prioritizes attacking aerial units; if manually deactivated, fires all remaining ammo at random enemies within Attack Range\n<@ba.rem>Skill activation grants 8 ammo and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Sweeping the Skies","desc":"Each attack deals 210% of ATK as Physical damage, and prioritizes attacking aerial units; if manually deactivated, fires all remaining ammo at random enemies within Attack Range\nSkill activation grants 8 ammo and the skill ends when all ammo is used (Can manually deactivate skill)"},{"descRaw":"<$ba.steal>Steals <@ba.vup>70 ASPD from <@ba.vup>1 allied Operator within Attack Range (lasts until skill ends or Exusiai the New Covenant leaves the field), and both this unit and the targeted Operator gain a <$ba.barrier>Barrier equal to <@ba.vup>200% Max HP which decays; Attack Interval reduces, each attack deals <@ba.vup>270% of ATK as Physical damage\n<@ba.rem>Skill activation grants 35 ammo and the skill ends when all ammo is used (Can manually deactivate skill); if ASPD is successfully <$ba.steal>Stolen, grants an additional 5 ammo","name":"Shootoholic","desc":"Steals 70 ASPD from 1 allied Operator within Attack Range (lasts until skill ends or Exusiai the New Covenant leaves the field), and both this unit and the targeted Operator gain a Barrier equal to 200% Max HP which decays; Attack Interval reduces, each attack deals 270% of ATK as Physical damage\nSkill activation grants 35 ammo and the skill ends when all ammo is used (Can manually deactivate skill); if ASPD is successfully Stolen, grants an additional 5 ammo"},{"descRaw":"ATK <@ba.vup>+20%, and attacks hit <@ba.vup>5 times for <@ba.vup>135% of ATK per hit; if Delivery Coordinates are on the field, deals a single instance of Physical splash damage equal to <@ba.vup>250% of ATK at its location and deploys the ground Operator with the longest Redeployment Time there, granting that Operator <@ba.vup>6 SP\n<@ba.rem>Gains Delivery Coordinates after deployment; skill activation grants 50 ammo, each attack consumes 5 ammo, and the skill ends when all ammo is used (Can manually deactivate skill)","name":"Guaranteed Success!","desc":"ATK +20%, and attacks hit 5 times for 135% of ATK per hit; if Delivery Coordinates are on the field, deals a single instance of Physical splash damage equal to 250% of ATK at its location and deploys the ground Operator with the longest Redeployment Time there, granting that Operator 6 SP\nGains Delivery Coordinates after deployment; skill activation grants 50 ammo, each attack consumes 5 ammo, and the skill ends when all ammo is used (Can manually deactivate skill)"}],"traitBase":{"descRaw":"Continually loses HP over time","desc":"Continually loses HP over time"},"talentsBase":[{"descRaw":"When deployed, recovers 6% HP whenever an allied Operator consumes ammo; in addition, there is a 25% chance to bombard the enemies within that Operator's Attack Range, dealing 150% of Exusiai the New Covenant's ATK as Physical splash damage","name":"Firepower FM","desc":"When deployed, recovers 6% HP whenever an allied Operator consumes ammo; in addition, there is a 25% chance to bombard the enemies within that Operator's Attack Range, dealing 150% of Exusiai the New Covenant's ATK as Physical splash damage"},{"descRaw":"When deployed, Operators with ammo-type skills gain ATK +9%; effect is doubled for [Laterano] Operators","name":"Covenant of Bullets","desc":"When deployed, Operators with ammo-type skills gain ATK +9%; effect is doubled for [Laterano] Operators"}],"modules":[{"name":"Convenience Kit for New Friends","traitOverride":{"descRaw":"Continually loses HP over time","moduleDescRaw":"Increases SP recovery rate by +0.25/second while above 80% HP","desc":"Continually loses HP over time","moduleDesc":"Increases SP recovery rate by +0.25/second while above 80% HP"},"talentChanges":[{"descRaw":"When deployed, recovers 6% HP whenever an allied Operator consumes ammo; in addition, there is a 35% chance to bombard the enemies within that Operator's Attack Range, dealing 185% of Exusiai the New Covenant's ATK as Physical splash damage","name":"Firepower FM","desc":"When deployed, recovers 6% HP whenever an allied Operator consumes ammo; in addition, there is a 35% chance to bombard the enemies within that Operator's Attack Range, dealing 185% of Exusiai the New Covenant's ATK as Physical splash damage"}]}],"_h":"watjogr2ogr2c86jlsdwg6dw498449otf234fbc86jls3ytpmpogogubg6ub498449otogr2ogr2dwg6dw"},"chess_char_6_14_a":{"name":"Lumen","subProfessionName":"Therapist","trait":{"descRaw":"Has a large healing range, but the healing amount on farther targets is reduced to <@ba.kw>80%","desc":"Has a large healing range, but the healing amount on farther targets is reduced to 80%"},"skill":{"descRaw":"ATK <@ba.vup>+30%, ASPD <@ba.vup>+20, prioritizes healing units with <$ba.debuff>negative statuses; ammo is consumed if the target has a <$ba.debuff>negative status, increasing healing to <@ba.vup>135% of ATK, and removing <$ba.debuff>negative statuses from the target. \n<@ba.rem>Attack has <@ba.vup>4 ammo. Skill ends when all ammo is used (can manually deactivate skill)","name":"This Lantern Undying","desc":"ATK +30%, ASPD +20, prioritizes healing units with negative statuses; ammo is consumed if the target has a negative status, increasing healing to 135% of ATK, and removing negative statuses from the target. \nAttack has 4 ammo. Skill ends when all ammo is used (can manually deactivate skill)"},"talents":[{"descRaw":"Healing targets gain <$ba.buffres>status resistance for 4 seconds. If the target's HP is above 75%, they gain <$ba.buffres>status resistance for 6 seconds instead.","name":"An Everyman's Wish","desc":"Healing targets gain status resistance for 4 seconds. If the target's HP is above 75%, they gain status resistance for 6 seconds instead."},{"descRaw":"When an ally within range receives a negative status, heal them for 80% of Lumen's ATK. 12 seconds cooldown.","name":"Quick Fix","desc":"When an ally within range receives a negative status, heal them for 80% of Lumen's ATK. 12 seconds cooldown."}],"module":{"name":"Spyglass"},"skills":[{"descRaw":"The next attack causes the target and nearby allies to receive healing equal to <@ba.vup>32% of Lumen's ATK every second for <@ba.vup>4 seconds","name":"In Drizzle, Privation","desc":"The next attack causes the target and nearby allies to receive healing equal to 32% of Lumen's ATK every second for 4 seconds"},{"descRaw":"Restore HP equal to <@ba.vup>160% ATK to <@ba.vup>2 allies within range; \n<$ba.charged>Charged effect: Remove <$ba.debuff>negative statuses from targets","name":"In Downpour, Grace","desc":"Restore HP equal to 160% ATK to 2 allies within range; \nCharged effect: Remove negative statuses from targets"},{"descRaw":"ATK <@ba.vup>+30%, ASPD <@ba.vup>+20, prioritizes healing units with <$ba.debuff>negative statuses; ammo is consumed if the target has a <$ba.debuff>negative status, increasing healing to <@ba.vup>135% of ATK, and removing <$ba.debuff>negative statuses from the target. \n<@ba.rem>Attack has <@ba.vup>4 ammo. Skill ends when all ammo is used (can manually deactivate skill)","name":"This Lantern Undying","desc":"ATK +30%, ASPD +20, prioritizes healing units with negative statuses; ammo is consumed if the target has a negative status, increasing healing to 135% of ATK, and removing negative statuses from the target. \nAttack has 4 ammo. Skill ends when all ammo is used (can manually deactivate skill)"}],"_h":"jqdplwg2ta69o2rj64yx6o306o7iwslxn0q278yita69o2"},"chess_char_6_14_b":{"name":"Lumen","subProfessionName":"Therapist","trait":{"descRaw":"Has a large healing range, but the healing amount on farther targets is reduced to <@ba.kw>80%","moduleDescRaw":"Gain <$ba.buffres>status resistance, and become less likely to be attacked","desc":"Has a large healing range, but the healing amount on farther targets is reduced to 80%","moduleDesc":"Gain status resistance, and become less likely to be attacked"},"skill":{"descRaw":"ATK <@ba.vup>+40%, ASPD <@ba.vup>+20, prioritizes healing units with <$ba.debuff>negative statuses; ammo is consumed if the target has a <$ba.debuff>negative status, increasing healing to <@ba.vup>150% of ATK, and removing <$ba.debuff>negative statuses from the target. \n<@ba.rem>Attack has <@ba.vup>6 ammo. Skill ends when all ammo is used (can manually deactivate skill)","name":"This Lantern Undying","desc":"ATK +40%, ASPD +20, prioritizes healing units with negative statuses; ammo is consumed if the target has a negative status, increasing healing to 150% of ATK, and removing negative statuses from the target. \nAttack has 6 ammo. Skill ends when all ammo is used (can manually deactivate skill)"},"talents":[{"descRaw":"Healing targets gain <$ba.buffres>status resistance for 5 seconds. If the target's HP is above 75%, they gain <$ba.buffres>status resistance for 8 seconds instead.","name":"An Everyman's Wish","desc":"Healing targets gain status resistance for 5 seconds. If the target's HP is above 75%, they gain status resistance for 8 seconds instead."},{"descRaw":"When an ally within range receives a negative status, heal them for 80% of Lumen's ATK. 12 seconds cooldown.","name":"Quick Fix","desc":"When an ally within range receives a negative status, heal them for 80% of Lumen's ATK. 12 seconds cooldown."}],"module":{"name":"Spyglass"},"skills":[{"descRaw":"The next attack causes the target and nearby allies to receive healing equal to <@ba.vup>40% of Lumen's ATK every second for <@ba.vup>5 seconds","name":"In Drizzle, Privation","desc":"The next attack causes the target and nearby allies to receive healing equal to 40% of Lumen's ATK every second for 5 seconds"},{"descRaw":"Restore HP equal to <@ba.vup>200% ATK to <@ba.vup>2 allies within range; \n<$ba.charged>Charged effect: Remove <$ba.debuff>negative statuses from targets","name":"In Downpour, Grace","desc":"Restore HP equal to 200% ATK to 2 allies within range; \nCharged effect: Remove negative statuses from targets"},{"descRaw":"ATK <@ba.vup>+40%, ASPD <@ba.vup>+20, prioritizes healing units with <$ba.debuff>negative statuses; ammo is consumed if the target has a <$ba.debuff>negative status, increasing healing to <@ba.vup>150% of ATK, and removing <$ba.debuff>negative statuses from the target. \n<@ba.rem>Attack has <@ba.vup>6 ammo. Skill ends when all ammo is used (can manually deactivate skill)","name":"This Lantern Undying","desc":"ATK +40%, ASPD +20, prioritizes healing units with negative statuses; ammo is consumed if the target has a negative status, increasing healing to 150% of ATK, and removing negative statuses from the target. \nAttack has 6 ammo. Skill ends when all ammo is used (can manually deactivate skill)"}],"traitBase":{"descRaw":"Has a large healing range, but the healing amount on farther targets is reduced to <@ba.kw>80%","desc":"Has a large healing range, but the healing amount on farther targets is reduced to 80%"},"talentsBase":[{"descRaw":"Healing targets gain <$ba.buffres>status resistance for 4 seconds. If the target's HP is above 75%, they gain <$ba.buffres>status resistance for 6 seconds instead.","name":"An Everyman's Wish","desc":"Healing targets gain status resistance for 4 seconds. If the target's HP is above 75%, they gain status resistance for 6 seconds instead."},{"descRaw":"When an ally within range receives a negative status, heal them for 80% of Lumen's ATK. 12 seconds cooldown.","name":"Quick Fix","desc":"When an ally within range receives a negative status, heal them for 80% of Lumen's ATK. 12 seconds cooldown."}],"modules":[{"name":"Spyglass","traitOverride":{"descRaw":"Has a large healing range, but the healing amount on farther targets is reduced to <@ba.kw>80%","moduleDescRaw":"Gain <$ba.buffres>status resistance, and become less likely to be attacked","desc":"Has a large healing range, but the healing amount on farther targets is reduced to 80%","moduleDesc":"Gain status resistance, and become less likely to be attacked"},"talentChanges":[{"descRaw":"Healing targets gain <$ba.buffres>status resistance for 5 seconds. If the target's HP is above 75%, they gain <$ba.buffres>status resistance for 8 seconds instead.","name":"An Everyman's Wish","desc":"Healing targets gain status resistance for 5 seconds. If the target's HP is above 75%, they gain status resistance for 8 seconds instead."}]},{"name":"'Luck'","traitOverride":{"descRaw":"Has a large healing range and healing is <@ba.kw>no longer reduced for distant targets","desc":"Has a large healing range and healing is no longer reduced for distant targets"},"talentChanges":[{"descRaw":"When an ally within range receives a negative status, heal them for 100% of Lumen's ATK. 10 second cooldown.","name":"Quick Fix","desc":"When an ally within range receives a negative status, heal them for 100% of Lumen's ATK. 10 second cooldown."}]}],"_h":"jqdplwidg26sqq69xeuu644w6o306o7i90lxfkfb781rqq69xelwg2rj64yx6o306o7ilwidg26suu644wmanuvymb30mb"},"chess_char_6_15_a":{"name":"Qiubai","subProfessionName":"Lord","trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"skill":{"descRaw":"Attack range <@ba.vup>expands, ATK <@ba.vup>+30%, damage type changed to Arts, attacks 2 extra targets, ranged attacks no longer have reduced damage, each attack grants <@ba.vup>+10 ASPD (stacking up to <@ba.vup>5 times).","name":"Questioning Snow","desc":"Attack range expands, ATK +30%, damage type changed to Arts, attacks 2 extra targets, ranged attacks no longer have reduced damage, each attack grants +10 ASPD (stacking up to 5 times)."},"talents":[{"descRaw":"Deal an additional 40% of ATK as Arts damage when attacking enemies affected by <$ba.sluggish>Slow or <$ba.root>Bind","name":"Find an Opening","desc":"Deal an additional 40% of ATK as Arts damage when attacking enemies affected by Slow or Bind"},{"descRaw":"Attacks have a 20% chance to <$ba.root>Bind the target for 1.5s","name":"Falling Petals","desc":"Attacks have a 20% chance to Bind the target for 1.5s"}],"module":{"name":"A Weathered Snow Hat"},"skills":[{"descRaw":"Next attack <$ba.root>binds the target for <@ba.vup>2s. When <$ba.root>Bind expires, deals <@ba.vup>210% of ATK as Arts damage to target and all nearby enemies.","name":"Halting Feather","desc":"Next attack binds the target for 2s. When Bind expires, deals 210% of ATK as Arts damage to target and all nearby enemies."},{"descRaw":"Deals <@ba.vup>195% of ATK as Arts damage to ground enemies ahead, attack range <@ba.vup>changes, ATK <@ba.vup>+75%, ground enemies within attack range are <$ba.sluggish>slowed; when skill expires, deals <@ba.vup>195% ATK as Physical damage to ground enemies in range.","name":"Holding Shadow","desc":"Deals 195% of ATK as Arts damage to ground enemies ahead, attack range changes, ATK +75%, ground enemies within attack range are slowed; when skill expires, deals 195% ATK as Physical damage to ground enemies in range."},{"descRaw":"Attack range <@ba.vup>expands, ATK <@ba.vup>+30%, damage type changed to Arts, attacks 2 extra targets, ranged attacks no longer have reduced damage, each attack grants <@ba.vup>+10 ASPD (stacking up to <@ba.vup>5 times).","name":"Questioning Snow","desc":"Attack range expands, ATK +30%, damage type changed to Arts, attacks 2 extra targets, ranged attacks no longer have reduced damage, each attack grants +10 ASPD (stacking up to 5 times)."}],"_h":"kx5y69jzj4chbgsde3xllzx7en171ckbl8sjylzlj4chbg"},"chess_char_6_15_b":{"name":"Qiubai","subProfessionName":"Lord","trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"Attacks deal an additional <@ba.vup>10% ATK as Arts Damage","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"Attacks deal an additional 10% ATK as Arts Damage"},"skill":{"descRaw":"Attack range <@ba.vup>expands, ATK <@ba.vup>+40%, damage type changed to Arts, attacks 2 extra targets, ranged attacks no longer have reduced damage, each attack grants <@ba.vup>+13 ASPD (stacking up to <@ba.vup>6 times).","name":"Questioning Snow","desc":"Attack range expands, ATK +40%, damage type changed to Arts, attacks 2 extra targets, ranged attacks no longer have reduced damage, each attack grants +13 ASPD (stacking up to 6 times)."},"talents":[{"descRaw":"Deals an additional 45% of ATK as Arts damage when attacking enemies affected by <$ba.sluggish>Slow or <$ba.root>Bind; deals 1.2x damage when target is affected by both <$ba.sluggish>Slow and <$ba.root>Bind.","name":"Find an Opening","desc":"Deals an additional 45% of ATK as Arts damage when attacking enemies affected by Slow or Bind; deals 1.2x damage when target is affected by both Slow and Bind."},{"descRaw":"Attacks have a 20% chance to <$ba.root>Bind the target for 1.5s","name":"Falling Petals","desc":"Attacks have a 20% chance to Bind the target for 1.5s"}],"module":{"name":"A Weathered Snow Hat"},"skills":[{"descRaw":"Next attack <$ba.root>binds the target for <@ba.vup>2.5s. When <$ba.root>Bind expires, deals <@ba.vup>240% of ATK as Arts damage to target and all nearby enemies.","name":"Halting Feather","desc":"Next attack binds the target for 2.5s. When Bind expires, deals 240% of ATK as Arts damage to target and all nearby enemies."},{"descRaw":"Deals <@ba.vup>240% of ATK as Arts damage to ground enemies ahead, attack range <@ba.vup>changes, ATK <@ba.vup>+90%, ground enemies within attack range are <$ba.sluggish>slowed; when skill expires, deals <@ba.vup>240% ATK as Physical damage to ground enemies in range.","name":"Holding Shadow","desc":"Deals 240% of ATK as Arts damage to ground enemies ahead, attack range changes, ATK +90%, ground enemies within attack range are slowed; when skill expires, deals 240% ATK as Physical damage to ground enemies in range."},{"descRaw":"Attack range <@ba.vup>expands, ATK <@ba.vup>+40%, damage type changed to Arts, attacks 2 extra targets, ranged attacks no longer have reduced damage, each attack grants <@ba.vup>+13 ASPD (stacking up to <@ba.vup>6 times).","name":"Questioning Snow","desc":"Attack range expands, ATK +40%, damage type changed to Arts, attacks 2 extra targets, ranged attacks no longer have reduced damage, each attack grants +13 ASPD (stacking up to 6 times)."}],"traitBase":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"talentsBase":[{"descRaw":"Deal an additional 40% of ATK as Arts damage when attacking enemies affected by <$ba.sluggish>Slow or <$ba.root>Bind","name":"Find an Opening","desc":"Deal an additional 40% of ATK as Arts damage when attacking enemies affected by Slow or Bind"},{"descRaw":"Attacks have a 20% chance to <$ba.root>Bind the target for 1.5s","name":"Falling Petals","desc":"Attacks have a 20% chance to Bind the target for 1.5s"}],"modules":[{"name":"A Weathered Snow Hat","traitOverride":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"Attacks deal an additional <@ba.vup>10% ATK as Arts Damage","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"Attacks deal an additional 10% ATK as Arts Damage"},"talentChanges":[{"descRaw":"Deals an additional 45% of ATK as Arts damage when attacking enemies affected by <$ba.sluggish>Slow or <$ba.root>Bind; deals 1.2x damage when target is affected by both <$ba.sluggish>Slow and <$ba.root>Bind.","name":"Find an Opening","desc":"Deals an additional 45% of ATK as Arts damage when attacking enemies affected by Slow or Bind; deals 1.2x damage when target is affected by both Slow and Bind."}]},{"name":"When Snow Is Coming","traitOverride":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"ASPD <@ba.vup>+12 when there are 2 or more enemies in attack range.","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"ASPD +12 when there are 2 or more enemies in attack range."},"talentChanges":[{"descRaw":"Attacks have a 25% chance to <$ba.root>Bind the target for 1.5 seconds; the first hit on each enemy has a 100% chance and the <$ba.root>Bind duration is increased to 3 seconds","name":"Falling Petals","desc":"Attacks have a 25% chance to Bind the target for 1.5 seconds; the first hit on each enemy has a 100% chance and the Bind duration is increased to 3 seconds"}]}],"_h":"kx5y698gjzsnpvch4586e39klzx7en170skbd2r8ylxcpvch4569jzsde3xllzx7en17698gjzsn86e39k2969bjjzp41vx7zb"},"chess_char_6_16_a":{"name":"Astgenne the Lightchaser","subProfessionName":"Decel Binder","trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skill":{"descRaw":"Attack range <@ba.vup>expands; <@ba.vup>+35% ATK, ATK interval <@ba.vup>decreases; attacks continuously lock onto <@ba.vup>2 enemies, chaining them together, and every chained enemy will deal <@ba.vup>15% of the Arts damage taken to other chained enemies as extra damage","name":"Flux Chain","desc":"Attack range expands; +35% ATK, ATK interval decreases; attacks continuously lock onto 2 enemies, chaining them together, and every chained enemy will deal 15% of the Arts damage taken to other chained enemies as extra damage"},"talents":[{"descRaw":"When inflicting <$ba.sluggish>Slow on an enemy, +1 ASPD, stacking up to 18 times","name":"Data Modeling","desc":"When inflicting Slow on an enemy, +1 ASPD, stacking up to 18 times"},{"descRaw":"Enemies within attack range gain 10% <$ba.fragile>Fragile, increasing to 14% <$ba.fragile>Fragile after being in Astgenne the Lightchaser's attack range for more than 7 seconds","name":"Energy Source Analysis","desc":"Enemies within attack range gain 10% Fragile, increasing to 14% Fragile after being in Astgenne the Lightchaser's attack range for more than 7 seconds"}],"module":{"name":"The Seeker's Collection"},"skills":[{"descRaw":"<@ba.vup>+45% ATK, attacks can jump between enemies multiple times, up to <@ba.vup>3 times","name":"Star Chart's Shine","desc":"+45% ATK, attacks can jump between enemies multiple times, up to 3 times"},{"descRaw":"The next attack targets the furthest <@ba.vup>1 enemies from the Objective Point within Attack Range, dealing <@ba.vup>115% ATK as Arts damage; extends <$ba.sluggish>Slow duration to <@ba.vup>3 seconds, links to up to <@ba.vup>2 enemies around the target and pulls them towards the target's location with <@ba.vup>slight force, dealing the same amount of Arts damage","name":"Stellar Gravity","desc":"The next attack targets the furthest 1 enemies from the Objective Point within Attack Range, dealing 115% ATK as Arts damage; extends Slow duration to 3 seconds, links to up to 2 enemies around the target and pulls them towards the target's location with slight force, dealing the same amount of Arts damage"},{"descRaw":"Attack range <@ba.vup>expands; <@ba.vup>+35% ATK, ATK interval <@ba.vup>decreases; attacks continuously lock onto <@ba.vup>2 enemies, chaining them together, and every chained enemy will deal <@ba.vup>15% of the Arts damage taken to other chained enemies as extra damage","name":"Flux Chain","desc":"Attack range expands; +35% ATK, ATK interval decreases; attacks continuously lock onto 2 enemies, chaining them together, and every chained enemy will deal 15% of the Arts damage taken to other chained enemies as extra damage"}],"_h":"vef2pn830zgpp89fbiojmz8zbnkj2cq5fkrwt7k10zgpp8"},"chess_char_6_16_b":{"name":"Astgenne the Lightchaser","subProfessionName":"Decel Binder","trait":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and <$ba.sluggish>Slow the enemy for a <@ba.kw>moderate period of time","desc":"Attacks deal Arts damage, and Slow the enemy for a moderate period of time"},"skill":{"descRaw":"Attack range <@ba.vup>expands; <@ba.vup>+50% ATK, ATK interval <@ba.vup>decreases; attacks continuously lock onto <@ba.vup>2 enemies, chaining them together, and every chained enemy will deal <@ba.vup>20% of the Arts damage taken to other chained enemies as extra damage","name":"Flux Chain","desc":"Attack range expands; +50% ATK, ATK interval decreases; attacks continuously lock onto 2 enemies, chaining them together, and every chained enemy will deal 20% of the Arts damage taken to other chained enemies as extra damage"},"talents":[{"descRaw":"+1 ASPD when inflicting <$ba.sluggish>Slow on enemies, stacking up to 25 times; +12% ATK at full stacks","name":"Data Modeling","desc":"+1 ASPD when inflicting Slow on enemies, stacking up to 25 times; +12% ATK at full stacks"},{"descRaw":"Enemies within attack range gain 10% <$ba.fragile>Fragile, increasing to 14% <$ba.fragile>Fragile after being in Astgenne the Lightchaser's attack range for more than 7 seconds","name":"Energy Source Analysis","desc":"Enemies within attack range gain 10% Fragile, increasing to 14% Fragile after being in Astgenne the Lightchaser's attack range for more than 7 seconds"},{"name":"Data Modeling"}],"module":{"name":"The Seeker's Collection"},"skills":[{"descRaw":"<@ba.vup>+60% ATK, attacks can jump between enemies multiple times, up to <@ba.vup>3 times","name":"Star Chart's Shine","desc":"+60% ATK, attacks can jump between enemies multiple times, up to 3 times"},{"descRaw":"The next attack targets the furthest <@ba.vup>1 enemies from the Objective Point within Attack Range, dealing <@ba.vup>130% ATK as Arts damage; extends <$ba.sluggish>Slow duration to <@ba.vup>3 seconds, links to up to <@ba.vup>2 enemies around the target and pulls them towards the target's location with <@ba.vup>moderate force, dealing the same amount of Arts damage","name":"Stellar Gravity","desc":"The next attack targets the furthest 1 enemies from the Objective Point within Attack Range, dealing 130% ATK as Arts damage; extends Slow duration to 3 seconds, links to up to 2 enemies around the target and pulls them towards the target's location with moderate force, dealing the same amount of Arts damage"},{"descRaw":"Attack range <@ba.vup>expands; <@ba.vup>+50% ATK, ATK interval <@ba.vup>decreases; attacks continuously lock onto <@ba.vup>2 enemies, chaining them together, and every chained enemy will deal <@ba.vup>20% of the Arts damage taken to other chained enemies as extra damage","name":"Flux Chain","desc":"Attack range expands; +50% ATK, ATK interval decreases; attacks continuously lock onto 2 enemies, chaining them together, and every chained enemy will deal 20% of the Arts damage taken to other chained enemies as extra damage"}],"traitBase":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"talentsBase":[{"descRaw":"When inflicting <$ba.sluggish>Slow on an enemy, +1 ASPD, stacking up to 18 times","name":"Data Modeling","desc":"When inflicting Slow on an enemy, +1 ASPD, stacking up to 18 times"},{"descRaw":"Enemies within attack range gain 10% <$ba.fragile>Fragile, increasing to 14% <$ba.fragile>Fragile after being in Astgenne the Lightchaser's attack range for more than 7 seconds","name":"Energy Source Analysis","desc":"Enemies within attack range gain 10% Fragile, increasing to 14% Fragile after being in Astgenne the Lightchaser's attack range for more than 7 seconds"}],"modules":[{"name":"The Seeker's Collection","traitOverride":{"descRaw":"Attacks deal <@ba.kw>Arts damage, and <$ba.sluggish>Slow the enemy for a <@ba.kw>moderate period of time","desc":"Attacks deal Arts damage, and Slow the enemy for a moderate period of time"},"talentChanges":[{"descRaw":"+1 ASPD when inflicting <$ba.sluggish>Slow on enemies, stacking up to 25 times; +12% ATK at full stacks","name":"Data Modeling","desc":"+1 ASPD when inflicting Slow on enemies, stacking up to 25 times; +12% ATK at full stacks"},{"name":"Data Modeling"}]}],"_h":"vef2uw08tygp2jvybiymmz8zbnbikjnbq5u9l6t78htygp2jpn839fbiojmz8zbnkjuw08vybiymbi"},"chess_char_6_17_a":{"name":"Nearl the Radiant Knight","subProfessionName":"Dreadnought","trait":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"skill":{"descRaw":"Summons a 'Blazing Sun' on a deployable ground tile within the four adjacent tiles, dealing <@ba.vup>90% ATK as True damage to nearby enemies and <$ba.stun>Stunning them for <@ba.vup>3 seconds. Attack Range <@ba.vup>expands, ATK <@ba.vup>+70%, DEF <@ba.vup>+40% and damage type changes to <@ba.vup>True damage when attacking enemies blocked by self or the 'Blazing Sun'","name":"Blazing Sun's Obeisance","desc":"Summons a 'Blazing Sun' on a deployable ground tile within the four adjacent tiles, dealing 90% ATK as True damage to nearby enemies and Stunning them for 3 seconds. Attack Range expands, ATK +70%, DEF +40% and damage type changes to True damage when attacking enemies blocked by self or the 'Blazing Sun'"},"talents":[{"descRaw":"When deploying, deals 80% ATK as True damage to enemies in the four adjacent tiles and <$ba.stun>Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit","name":"Brave the Darkness","desc":"When deploying, deals 80% ATK as True damage to enemies in the four adjacent tiles and Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit"},{"descRaw":"Attacks ignore 20% DEF","name":"Daybreak","desc":"Attacks ignore 20% DEF"}],"module":{"name":"Blade of Blazing Sun"},"skills":[{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+40% and ASPD <@ba.vup>+26\n<@ba.rem>Unlimited duration","name":"Flaming Edge","desc":"Attack Range expands, ATK +40% and ASPD +26\nUnlimited duration"},{"descRaw":"Passive Effect: Deployment <@ba.vup>does not consume deployment slots. \nAfter deployment, ATK <@ba.vup>+90% and gain <@ba.vup>3 <$ba.shield>Shields. After the skill duration, automatically retreat and extend Redeployment Time by <@ba.vup>25%. If the previously deployed Operator is from Kazimierz, the Redeployment Time <@ba.vup>will not be extended","name":"Night-Scouring Gleam","desc":"Passive Effect: Deployment does not consume deployment slots. \nAfter deployment, ATK +90% and gain 3 Shields. After the skill duration, automatically retreat and extend Redeployment Time by 25%. If the previously deployed Operator is from Kazimierz, the Redeployment Time will not be extended"},{"descRaw":"Summons a 'Blazing Sun' on a deployable ground tile within the four adjacent tiles, dealing <@ba.vup>90% ATK as True damage to nearby enemies and <$ba.stun>Stunning them for <@ba.vup>3 seconds. Attack Range <@ba.vup>expands, ATK <@ba.vup>+70%, DEF <@ba.vup>+40% and damage type changes to <@ba.vup>True damage when attacking enemies blocked by self or the 'Blazing Sun'","name":"Blazing Sun's Obeisance","desc":"Summons a 'Blazing Sun' on a deployable ground tile within the four adjacent tiles, dealing 90% ATK as True damage to nearby enemies and Stunning them for 3 seconds. Attack Range expands, ATK +70%, DEF +40% and damage type changes to True damage when attacking enemies blocked by self or the 'Blazing Sun'"}],"_h":"fodr3h3hpzk21duw8q40gi40gi4ausqctnuos3umpzk21d"},"chess_char_6_17_b":{"name":"Nearl the Radiant Knight","subProfessionName":"Dreadnought","trait":{"descRaw":"Blocks 1 enemy","moduleDescRaw":"Increases ATK to <@ba.vup>115% when attacking blocked enemies","desc":"Blocks 1 enemy","moduleDesc":"Increases ATK to 115% when attacking blocked enemies"},"skill":{"descRaw":"Summons a 'Blazing Sun' on a deployable ground tile within the four adjacent tiles, dealing <@ba.vup>100% ATK as True damage to nearby enemies and <$ba.stun>Stunning them for <@ba.vup>3 seconds. Attack Range <@ba.vup>expands, ATK <@ba.vup>+100%, DEF <@ba.vup>+70% and damage type changes to <@ba.vup>True damage when attacking enemies blocked by self or the 'Blazing Sun'","name":"Blazing Sun's Obeisance","desc":"Summons a 'Blazing Sun' on a deployable ground tile within the four adjacent tiles, dealing 100% ATK as True damage to nearby enemies and Stunning them for 3 seconds. Attack Range expands, ATK +100%, DEF +70% and damage type changes to True damage when attacking enemies blocked by self or the 'Blazing Sun'"},"talents":[{"descRaw":"When deploying, deals 80% ATK as True damage to enemies in the four adjacent tiles and <$ba.stun>Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit","name":"Brave the Darkness","desc":"When deploying, deals 80% ATK as True damage to enemies in the four adjacent tiles and Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit"},{"descRaw":"Attacks ignore 28% DEF","name":"Daybreak","desc":"Attacks ignore 28% DEF"}],"module":{"name":"Blade of Blazing Sun"},"skills":[{"descRaw":"Attack Range <@ba.vup>expands, ATK <@ba.vup>+55% and ASPD <@ba.vup>+38\n<@ba.rem>Unlimited duration","name":"Flaming Edge","desc":"Attack Range expands, ATK +55% and ASPD +38\nUnlimited duration"},{"descRaw":"Passive Effect: Deployment <@ba.vup>does not consume deployment slots. \nAfter deployment, ATK <@ba.vup>+120% and gain <@ba.vup>3 <$ba.shield>Shields. After the skill duration, automatically retreat and extend Redeployment Time by <@ba.vup>25%. If the previously deployed Operator is from Kazimierz, the Redeployment Time <@ba.vup>will not be extended","name":"Night-Scouring Gleam","desc":"Passive Effect: Deployment does not consume deployment slots. \nAfter deployment, ATK +120% and gain 3 Shields. After the skill duration, automatically retreat and extend Redeployment Time by 25%. If the previously deployed Operator is from Kazimierz, the Redeployment Time will not be extended"},{"descRaw":"Summons a 'Blazing Sun' on a deployable ground tile within the four adjacent tiles, dealing <@ba.vup>100% ATK as True damage to nearby enemies and <$ba.stun>Stunning them for <@ba.vup>3 seconds. Attack Range <@ba.vup>expands, ATK <@ba.vup>+100%, DEF <@ba.vup>+70% and damage type changes to <@ba.vup>True damage when attacking enemies blocked by self or the 'Blazing Sun'","name":"Blazing Sun's Obeisance","desc":"Summons a 'Blazing Sun' on a deployable ground tile within the four adjacent tiles, dealing 100% ATK as True damage to nearby enemies and Stunning them for 3 seconds. Attack Range expands, ATK +100%, DEF +70% and damage type changes to True damage when attacking enemies blocked by self or the 'Blazing Sun'"}],"traitBase":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"talentsBase":[{"descRaw":"When deploying, deals 80% ATK as True damage to enemies in the four adjacent tiles and <$ba.stun>Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit","name":"Brave the Darkness","desc":"When deploying, deals 80% ATK as True damage to enemies in the four adjacent tiles and Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit"},{"descRaw":"Attacks ignore 20% DEF","name":"Daybreak","desc":"Attacks ignore 20% DEF"}],"modules":[{"name":"Blade of Blazing Sun","traitOverride":{"descRaw":"Blocks 1 enemy","moduleDescRaw":"Increases ATK to <@ba.vup>115% when attacking blocked enemies","desc":"Blocks 1 enemy","moduleDesc":"Increases ATK to 115% when attacking blocked enemies"},"talentChanges":[{"descRaw":"Attacks ignore 28% DEF","name":"Daybreak","desc":"Attacks ignore 28% DEF"}]},{"name":"'A Knightly House'","traitOverride":{"descRaw":"Blocks 1 enemy","moduleDescRaw":"When defeated, does not retreat and recovers all HP instead. However, Max HP <@ba.vdown>-60% and ASPD <@ba.vup>+30 (Can only activate once every deployment)","desc":"Blocks 1 enemy","moduleDesc":"When defeated, does not retreat and recovers all HP instead. However, Max HP -60% and ASPD +30 (Can only activate once every deployment)"},"talentChanges":[{"descRaw":"When deploying and when defeated for the first time, deals 100% ATK as True damage to enemies in the four adjacent tiles and <$ba.stun>Stuns them for 4s. If the previously deployed operator is from [Kazimierz], deals an additional hit","name":"Brave the Darkness","desc":"When deploying and when defeated for the first time, deals 100% ATK as True damage to enemies in the four adjacent tiles and Stuns them for 4s. If the previously deployed operator is from [Kazimierz], deals an additional hit"}]}],"_h":"fodr3hf03harkek2sguw8q408q408q4a55qc0oeos3hckek2sg3h3huw8q40gi40gi4a3hf03har8q408qjn3h023hulll8q21"},"chess_char_6_18_a":{"name":"Lappland the Decadenza","subProfessionName":"Mech-accord Caster","trait":{"descRaw":"Controls a <@ba.kw>Drone that deals <@ba.kw>Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)","desc":"Controls a Drone that deals Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)"},"skill":{"descRaw":"Drone <@ba.vup>+2, ATK <@ba.vup>+45%, releases <@ba.vup>special Drones that scatter across the entire battlefield and chase the closest enemy to them; upon reaching their target, inflicts <$ba.fear>Fear for <@ba.vup>2s, locks the target and attacks it; enemies around the Drones have <@ba.vup>-30% Movement Speed and take <@ba.vup>100% ATK as Arts damage every second (does not stack); <@ba.rem>When the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator","name":"Finale: Catastrofe","desc":"Drone +2, ATK +45%, releases special Drones that scatter across the entire battlefield and chase the closest enemy to them; upon reaching their target, inflicts Fear for 2s, locks the target and attacks it; enemies around the Drones have -30% Movement Speed and take 100% ATK as Arts damage every second (does not stack); When the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator"},"talents":[{"descRaw":"Every 20s on the field, Drones gain one of the following effects in order: max Drone damage +10%; disables enemies' special abilities for 2s when dealing damage to them; +1 Drone","name":"Alpha Wolf","desc":"Every 20s on the field, Drones gain one of the following effects in order: max Drone damage +10%; disables enemies' special abilities for 2s when dealing damage to them; +1 Drone"},{"descRaw":"When this unit is in the squad, all [Siracusa] Operators gain +5 Starting SP","name":"Honor of Siracusa","desc":"When this unit is in the squad, all [Siracusa] Operators gain +5 Starting SP"}],"module":{"name":"Hour of the Wolf"},"skills":[{"descRaw":"Passive Effect: Drone <@ba.vup>+1\n<@ba.rem>Active Effect: Can switch between the default state and the following state:\nATK <@ba.vup>+14%, releases Drones to lock and attack non-mobile enemies across the entire battlefield, searching for a new target if the enemy moves or is defeated","name":"Lament of the Apathetic","desc":"Passive Effect: Drone +1\nActive Effect: Can switch between the default state and the following state:\nATK +14%, releases Drones to lock and attack non-mobile enemies across the entire battlefield, searching for a new target if the enemy moves or is defeated"},{"descRaw":"Drone <@ba.vup>+3, Attack Range <@ba.vup>expands, ATK <@ba.vup>+60%, releases Drones to lock and attack random enemies; when Drones attack, they have a <@ba.vup>10% chance to inflict <$ba.fear>Fear for <@ba.vup>1s\n<@ba.rem>When the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator","name":"Hurricane Chase","desc":"Drone +3, Attack Range expands, ATK +60%, releases Drones to lock and attack random enemies; when Drones attack, they have a 10% chance to inflict Fear for 1s\nWhen the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator"},{"descRaw":"Drone <@ba.vup>+2, ATK <@ba.vup>+45%, releases <@ba.vup>special Drones that scatter across the entire battlefield and chase the closest enemy to them; upon reaching their target, inflicts <$ba.fear>Fear for <@ba.vup>2s, locks the target and attacks it; enemies around the Drones have <@ba.vup>-30% Movement Speed and take <@ba.vup>100% ATK as Arts damage every second (does not stack); <@ba.rem>When the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator","name":"Finale: Catastrofe","desc":"Drone +2, ATK +45%, releases special Drones that scatter across the entire battlefield and chase the closest enemy to them; upon reaching their target, inflicts Fear for 2s, locks the target and attacks it; enemies around the Drones have -30% Movement Speed and take 100% ATK as Arts damage every second (does not stack); When the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator"}],"_h":"l993k7j1l1kvhtuwfxuwlxu4lxhz6wr03i3w0eb1l1kvht"},"chess_char_6_18_b":{"name":"Lappland the Decadenza","subProfessionName":"Mech-accord Caster","trait":{"descRaw":"Attack with <@ba.kw>Drones to deal <@ba.kw>Arts damage\nDrone deals more damage when it attacks the same enemy again (base damage increased, deals up to 110% of Operator's ATK as damage)","desc":"Attack with Drones to deal Arts damage\nDrone deals more damage when it attacks the same enemy again (base damage increased, deals up to 110% of Operator's ATK as damage)"},"skill":{"descRaw":"Drone <@ba.vup>+2, ATK <@ba.vup>+60%, releases <@ba.vup>special Drones that scatter across the entire battlefield and chase the closest enemy to them; upon reaching their target, inflicts <$ba.fear>Fear for <@ba.vup>2s, locks the target and attacks it; enemies around the Drones have <@ba.vup>-40% Movement Speed and take <@ba.vup>100% ATK as Arts damage every second (does not stack); <@ba.rem>When the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator","name":"Finale: Catastrofe","desc":"Drone +2, ATK +60%, releases special Drones that scatter across the entire battlefield and chase the closest enemy to them; upon reaching their target, inflicts Fear for 2s, locks the target and attacks it; enemies around the Drones have -40% Movement Speed and take 100% ATK as Arts damage every second (does not stack); When the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator"},"talents":[{"descRaw":"Every 20s on the field, Drones gain one of the following effects in order: max Drone damage +10%; disables enemies' special abilities for 2s when dealing damage to them; +1 Drone","name":"Alpha Wolf","desc":"Every 20s on the field, Drones gain one of the following effects in order: max Drone damage +10%; disables enemies' special abilities for 2s when dealing damage to them; +1 Drone"},{"descRaw":"When this unit is in the squad, all [Siracusa] Operators gain +5 Starting SP, and +10 ASPD after first skill activation","name":"Honor of Siracusa","desc":"When this unit is in the squad, all [Siracusa] Operators gain +5 Starting SP, and +10 ASPD after first skill activation"}],"module":{"name":"Hour of the Wolf"},"skills":[{"descRaw":"Passive Effect: Drone <@ba.vup>+1\n<@ba.rem>Active Effect: Can switch between the default state and the following state:\nATK <@ba.vup>+23%, releases Drones to lock and attack non-mobile enemies across the entire battlefield, searching for a new target if the enemy moves or is defeated","name":"Lament of the Apathetic","desc":"Passive Effect: Drone +1\nActive Effect: Can switch between the default state and the following state:\nATK +23%, releases Drones to lock and attack non-mobile enemies across the entire battlefield, searching for a new target if the enemy moves or is defeated"},{"descRaw":"Drone <@ba.vup>+3, Attack Range <@ba.vup>expands, ATK <@ba.vup>+80%, releases Drones to lock and attack random enemies; when Drones attack, they have a <@ba.vup>10% chance to inflict <$ba.fear>Fear for <@ba.vup>1s\n<@ba.rem>When the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator","name":"Hurricane Chase","desc":"Drone +3, Attack Range expands, ATK +80%, releases Drones to lock and attack random enemies; when Drones attack, they have a 10% chance to inflict Fear for 1s\nWhen the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator"},{"descRaw":"Drone <@ba.vup>+2, ATK <@ba.vup>+60%, releases <@ba.vup>special Drones that scatter across the entire battlefield and chase the closest enemy to them; upon reaching their target, inflicts <$ba.fear>Fear for <@ba.vup>2s, locks the target and attacks it; enemies around the Drones have <@ba.vup>-40% Movement Speed and take <@ba.vup>100% ATK as Arts damage every second (does not stack); <@ba.rem>When the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator","name":"Finale: Catastrofe","desc":"Drone +2, ATK +60%, releases special Drones that scatter across the entire battlefield and chase the closest enemy to them; upon reaching their target, inflicts Fear for 2s, locks the target and attacks it; enemies around the Drones have -40% Movement Speed and take 100% ATK as Arts damage every second (does not stack); When the Drone's locked-on target is defeated, they will search for a new one; when the skill ends, they return to the Operator"}],"traitBase":{"descRaw":"Controls a <@ba.kw>Drone that deals <@ba.kw>Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)","desc":"Controls a Drone that deals Arts damage; When the Drone attacks the same enemy, its damage will increase (up to 110% of the operator's ATK)"},"talentsBase":[{"descRaw":"Every 20s on the field, Drones gain one of the following effects in order: max Drone damage +10%; disables enemies' special abilities for 2s when dealing damage to them; +1 Drone","name":"Alpha Wolf","desc":"Every 20s on the field, Drones gain one of the following effects in order: max Drone damage +10%; disables enemies' special abilities for 2s when dealing damage to them; +1 Drone"},{"descRaw":"When this unit is in the squad, all [Siracusa] Operators gain +5 Starting SP","name":"Honor of Siracusa","desc":"When this unit is in the squad, all [Siracusa] Operators gain +5 Starting SP"}],"modules":[{"name":"Hour of the Wolf","traitOverride":{"descRaw":"Attack with <@ba.kw>Drones to deal <@ba.kw>Arts damage\nDrone deals more damage when it attacks the same enemy again (base damage increased, deals up to 110% of Operator's ATK as damage)","desc":"Attack with Drones to deal Arts damage\nDrone deals more damage when it attacks the same enemy again (base damage increased, deals up to 110% of Operator's ATK as damage)"},"talentChanges":[{"descRaw":"When this unit is in the squad, all [Siracusa] Operators gain +5 Starting SP, and +10 ASPD after first skill activation","name":"Honor of Siracusa","desc":"When this unit is in the squad, all [Siracusa] Operators gain +5 Starting SP, and +10 ASPD after first skill activation"}]}],"_h":"l993507eixkvejuwfxuwkxu4kxhzwqr0d0gq0eznixkvejk7j1uwfxuwlxu4lxhz507ekxu4kx"},"chess_char_6_19_a":{"name":"Degenbrecher","subProfessionName":"Swordmaster","trait":{"descRaw":"Normal attacks deal damage <@ba.kw>twice","desc":"Normal attacks deal damage twice"},"skill":{"descRaw":"Slash <@ba.vup>10 times, each dealing <@ba.vup>180% ATK as Physical damage to up to <@ba.vup>5 enemies. Talent trigger chance increases to <@ba.vup>100%, and continuously drags enemies towards self, with <@ba.vup>moderate force. Then deal <@ba.vup>300% of ATK as Physical damage once, and drag enemies towards self with <@ba.vup>great force","name":"Return To Silence","desc":"Slash 10 times, each dealing 180% ATK as Physical damage to up to 5 enemies. Talent trigger chance increases to 100%, and continuously drags enemies towards self, with moderate force. Then deal 300% of ATK as Physical damage once, and drag enemies towards self with great force"},"talents":[{"descRaw":"When dealing damage, there is a 10% chance to increase ATK to 160% and <$ba.tremble>Frighten the target for 5s.","name":"Born Warrior","desc":"When dealing damage, there is a 10% chance to increase ATK to 160% and Frighten the target for 5s."},{"descRaw":"Ignore 25% DEF when attacking <$ba.tremble>Frightened targets","name":"Living Legend","desc":"Ignore 25% DEF when attacking Frightened targets"}],"module":{"name":"'Footnotes of the Past'"},"skills":[{"descRaw":"The next attack deals <@ba.vup>175% of ATK as Physical damage twice to up to <@ba.vup>5 nearby ground enemies","name":"Pure Force","desc":"The next attack deals 175% of ATK as Physical damage twice to up to 5 nearby ground enemies"},{"descRaw":"Slash <@ba.vup>2 times at up to <@ba.vup>5 ground enemies ahead, or slash <@ba.vup>3 times when attacking blocked enemies. Talent trigger rate increased to <@ba.vup>100%, and each slash deals <@ba.vup>250% of ATK as Physical damage\n<@ba.rem>Can store 2 charges","name":"Silent Derision","desc":"Slash 2 times at up to 5 ground enemies ahead, or slash 3 times when attacking blocked enemies. Talent trigger rate increased to 100%, and each slash deals 250% of ATK as Physical damage\nCan store 2 charges"},{"descRaw":"Slash <@ba.vup>10 times, each dealing <@ba.vup>180% ATK as Physical damage to up to <@ba.vup>5 enemies. Talent trigger chance increases to <@ba.vup>100%, and continuously drags enemies towards self, with <@ba.vup>moderate force. Then deal <@ba.vup>300% of ATK as Physical damage once, and drag enemies towards self with <@ba.vup>great force","name":"Return To Silence","desc":"Slash 10 times, each dealing 180% ATK as Physical damage to up to 5 enemies. Talent trigger chance increases to 100%, and continuously drags enemies towards self, with moderate force. Then deal 300% of ATK as Physical damage once, and drag enemies towards self with great force"}],"_h":"geyq9mmcfeej7dr8pf1r0wyfibhlon18qzod7ixqfeej7d"},"chess_char_6_19_b":{"name":"Degenbrecher","subProfessionName":"Swordmaster","trait":{"descRaw":"Normal attacks deal damage <@ba.kw>twice","moduleDescRaw":"Deals <@ba.vup>10% more damage with skills","desc":"Normal attacks deal damage twice","moduleDesc":"Deals 10% more damage with skills"},"skill":{"descRaw":"Slash <@ba.vup>10 times, each dealing <@ba.vup>200% ATK as Physical damage to up to <@ba.vup>6 enemies. Talent trigger chance increases to <@ba.vup>100%, and continuously drags enemies towards self, with <@ba.vup>moderate force. Then deal <@ba.vup>300% of ATK as Physical damage once, and drag enemies towards self with <@ba.vup>great force","name":"Return To Silence","desc":"Slash 10 times, each dealing 200% ATK as Physical damage to up to 6 enemies. Talent trigger chance increases to 100%, and continuously drags enemies towards self, with moderate force. Then deal 300% of ATK as Physical damage once, and drag enemies towards self with great force"},"talents":[{"descRaw":"When dealing damage, there is a 10% chance to increase ATK to 170% and <$ba.tremble>Frighten the target for 5s.","name":"Born Warrior","desc":"When dealing damage, there is a 10% chance to increase ATK to 170% and Frighten the target for 5s."},{"descRaw":"Ignore 25% DEF when attacking <$ba.tremble>Frightened targets","name":"Living Legend","desc":"Ignore 25% DEF when attacking Frightened targets"}],"module":{"name":"'Footnotes of the Past'"},"skills":[{"descRaw":"The next attack deals <@ba.vup>190% of ATK as Physical damage twice to up to <@ba.vup>6 nearby ground enemies","name":"Pure Force","desc":"The next attack deals 190% of ATK as Physical damage twice to up to 6 nearby ground enemies"},{"descRaw":"Slash <@ba.vup>2 times at up to <@ba.vup>5 ground enemies ahead, or slash <@ba.vup>3 times when attacking blocked enemies. Talent trigger rate increased to <@ba.vup>100%, and each slash deals <@ba.vup>280% of ATK as Physical damage\n<@ba.rem>Can store 2 charges","name":"Silent Derision","desc":"Slash 2 times at up to 5 ground enemies ahead, or slash 3 times when attacking blocked enemies. Talent trigger rate increased to 100%, and each slash deals 280% of ATK as Physical damage\nCan store 2 charges"},{"descRaw":"Slash <@ba.vup>10 times, each dealing <@ba.vup>200% ATK as Physical damage to up to <@ba.vup>6 enemies. Talent trigger chance increases to <@ba.vup>100%, and continuously drags enemies towards self, with <@ba.vup>moderate force. Then deal <@ba.vup>300% of ATK as Physical damage once, and drag enemies towards self with <@ba.vup>great force","name":"Return To Silence","desc":"Slash 10 times, each dealing 200% ATK as Physical damage to up to 6 enemies. Talent trigger chance increases to 100%, and continuously drags enemies towards self, with moderate force. Then deal 300% of ATK as Physical damage once, and drag enemies towards self with great force"}],"traitBase":{"descRaw":"Normal attacks deal damage <@ba.kw>twice","desc":"Normal attacks deal damage twice"},"talentsBase":[{"descRaw":"When dealing damage, there is a 10% chance to increase ATK to 160% and <$ba.tremble>Frighten the target for 5s.","name":"Born Warrior","desc":"When dealing damage, there is a 10% chance to increase ATK to 160% and Frighten the target for 5s."},{"descRaw":"Ignore 25% DEF when attacking <$ba.tremble>Frightened targets","name":"Living Legend","desc":"Ignore 25% DEF when attacking Frightened targets"}],"modules":[{"name":"'Footnotes of the Past'","traitOverride":{"descRaw":"Normal attacks deal damage <@ba.kw>twice","moduleDescRaw":"Deals <@ba.vup>10% more damage with skills","desc":"Normal attacks deal damage twice","moduleDesc":"Deals 10% more damage with skills"},"talentChanges":[{"descRaw":"When dealing damage, there is a 10% chance to increase ATK to 170% and <$ba.tremble>Frighten the target for 5s.","name":"Born Warrior","desc":"When dealing damage, there is a 10% chance to increase ATK to 170% and Frighten the target for 5s."}]},{"name":"New Contract","traitOverride":{"descRaw":"Normal attacks deal damage <@ba.kw>twice","moduleDescRaw":"Attacks ignore <@ba.vup>70 DEF","desc":"Normal attacks deal damage twice","moduleDesc":"Attacks ignore 70 DEF"},"talentChanges":[{"descRaw":"ATK +8%; when attacking <$ba.tremble>Trembling targets, ignores 33% of the target's DEF; when a ground enemy first enters Attack Range, inflicts <$ba.tremble>Tremble on it for 6 seconds","name":"Living Legend","desc":"ATK +8%; when attacking Trembling targets, ignores 33% of the target's DEF; when a ground enemy first enters Attack Range, inflicts Tremble on it for 6 seconds"}]}],"_h":"geyq9mbtmcp2peejv5slpfca0wyfibhlob18ufpa7i5rpeejv59mmcr8pf1r0wyfibhl9mbtmcp2slpfca1n9mv2mcgtaeyfac"},"chess_char_6_20_a":{"name":"Eyjafjalla the Hvít Aska","subProfessionName":"Wandering Medic","trait":{"descRaw":"Restores the HP of allied units and recovers <$ba.dt.element>Elemental Injury by <@ba.kw>50% of ATK (can recover <$ba.dt.element>Elemental Injury of unhurt allied units)","desc":"Restores the HP of allied units and recovers Elemental Injury by 50% of ATK (can recover Elemental Injury of unhurt allied units)"},"skill":{"descRaw":"Attack Range becomes global, and each heal is converted to a <@ba.vup>5- heal sequence that prioritizes different targets, each with <@ba.vup>35% healing effectiveness and <$ba.dt.element>Elemental Injury recovery; the effect of the Second Talent is increased to <@ba.vup>2.9 times","name":"Volcanic Echoes","desc":"Attack Range becomes global, and each heal is converted to a 5- heal sequence that prioritizes different targets, each with 35% healing effectiveness and Elemental Injury recovery; the effect of the Second Talent is increased to 2.9 times"},"talents":[{"descRaw":"Normal heals additionally restore HP and <$ba.dt.element>Elemental Injury per second equal to 10% of the original amount, lasting for 6 seconds (stacks up to 3 times)","name":"Replenishing Mist","desc":"Normal heals additionally restore HP and Elemental Injury per second equal to 10% of the original amount, lasting for 6 seconds (stacks up to 3 times)"},{"descRaw":"Increases the Max HP of friendly units within range by +6%, and reduces the <$ba.dt.element>Elemental Injury they take by 12%","name":"Volcanic Ash Remedy","desc":"Increases the Max HP of friendly units within range by +6%, and reduces the Elemental Injury they take by 12%"}],"module":{"name":"Sounds I Want to Retain"},"skills":[{"descRaw":"ATK <@ba.vup>+20%, each heal can affect one additional target, and all friendly units within range will recover <$ba.dt.element>Elemental Injury equal to <@ba.vup>4% of Eyjafjalla the Hvít Aska's ATK\n<@ba.rem>Unlimited duration","name":"Soundless Sustenance","desc":"ATK +20%, each heal can affect one additional target, and all friendly units within range will recover Elemental Injury equal to 4% of Eyjafjalla the Hvít Aska's ATK\nUnlimited duration"},{"descRaw":"Immediately heals all friendly units within range and creates a<$ba.epbarrier> Protective Barrier for them that lasts <@ba.vup>12 seconds; Protective Barrier absorbs <$ba.dt.element>Elemental Injury for all friendly units equal to <@ba.vup>500% of ATK","name":"Cloudmist Shelter","desc":"Immediately heals all friendly units within range and creates a Protective Barrier for them that lasts 12 seconds; Protective Barrier absorbs Elemental Injury for all friendly units equal to 500% of ATK"},{"descRaw":"Attack Range becomes global, and each heal is converted to a <@ba.vup>5- heal sequence that prioritizes different targets, each with <@ba.vup>35% healing effectiveness and <$ba.dt.element>Elemental Injury recovery; the effect of the Second Talent is increased to <@ba.vup>2.9 times","name":"Volcanic Echoes","desc":"Attack Range becomes global, and each heal is converted to a 5- heal sequence that prioritizes different targets, each with 35% healing effectiveness and Elemental Injury recovery; the effect of the Second Talent is increased to 2.9 times"}],"_h":"fhvky6pi2guo31oaeb4yrjsc2vtyog9k8ob28bu42guo31"},"chess_char_6_20_b":{"name":"Eyjafjalla the Hvít Aska","subProfessionName":"Wandering Medic","trait":{"descRaw":"Restores the HP of allied units and recovers <$ba.dt.element>Elemental Injury by <@ba.kw>60% of ATK (can recover <$ba.dt.element>Elemental Injury of unhurt allied units)","desc":"Restores the HP of allied units and recovers Elemental Injury by 60% of ATK (can recover Elemental Injury of unhurt allied units)"},"skill":{"descRaw":"Attack Range becomes global, and each heal is converted to a <@ba.vup>5- heal sequence that prioritizes different targets, each with <@ba.vup>45% healing effectiveness and <$ba.dt.element>Elemental Injury recovery; the effect of the Second Talent is increased to <@ba.vup>3.8 times","name":"Volcanic Echoes","desc":"Attack Range becomes global, and each heal is converted to a 5- heal sequence that prioritizes different targets, each with 45% healing effectiveness and Elemental Injury recovery; the effect of the Second Talent is increased to 3.8 times"},"talents":[{"descRaw":"Normal heals additionally restore HP and <$ba.dt.element>Elemental Injury per second equal to 10% of the original amount, lasting for 6 seconds (stacks up to 3 times)","name":"Replenishing Mist","desc":"Normal heals additionally restore HP and Elemental Injury per second equal to 10% of the original amount, lasting for 6 seconds (stacks up to 3 times)"},{"descRaw":"Increases the Max HP of friendly units within range by +8%, and reduces the <$ba.dt.element>Elemental Injury they take by 14%","name":"Volcanic Ash Remedy","desc":"Increases the Max HP of friendly units within range by +8%, and reduces the Elemental Injury they take by 14%"}],"module":{"name":"Sounds I Want to Retain"},"skills":[{"descRaw":"ATK <@ba.vup>+30%, each heal can affect one additional target, and all friendly units within range will recover <$ba.dt.element>Elemental Injury equal to <@ba.vup>6% of Eyjafjalla the Hvít Aska's ATK\n<@ba.rem>Unlimited duration","name":"Soundless Sustenance","desc":"ATK +30%, each heal can affect one additional target, and all friendly units within range will recover Elemental Injury equal to 6% of Eyjafjalla the Hvít Aska's ATK\nUnlimited duration"},{"descRaw":"Immediately heals all friendly units within range and creates a<$ba.epbarrier> Protective Barrier for them that lasts <@ba.vup>14 seconds; Protective Barrier absorbs <$ba.dt.element>Elemental Injury for all friendly units equal to <@ba.vup>650% of ATK","name":"Cloudmist Shelter","desc":"Immediately heals all friendly units within range and creates a Protective Barrier for them that lasts 14 seconds; Protective Barrier absorbs Elemental Injury for all friendly units equal to 650% of ATK"},{"descRaw":"Attack Range becomes global, and each heal is converted to a <@ba.vup>5- heal sequence that prioritizes different targets, each with <@ba.vup>45% healing effectiveness and <$ba.dt.element>Elemental Injury recovery; the effect of the Second Talent is increased to <@ba.vup>3.8 times","name":"Volcanic Echoes","desc":"Attack Range becomes global, and each heal is converted to a 5- heal sequence that prioritizes different targets, each with 45% healing effectiveness and Elemental Injury recovery; the effect of the Second Talent is increased to 3.8 times"}],"traitBase":{"descRaw":"Restores the HP of allied units and recovers <$ba.dt.element>Elemental Injury by <@ba.kw>50% of ATK (can recover <$ba.dt.element>Elemental Injury of unhurt allied units)","desc":"Restores the HP of allied units and recovers Elemental Injury by 50% of ATK (can recover Elemental Injury of unhurt allied units)"},"talentsBase":[{"descRaw":"Normal heals additionally restore HP and <$ba.dt.element>Elemental Injury per second equal to 10% of the original amount, lasting for 6 seconds (stacks up to 3 times)","name":"Replenishing Mist","desc":"Normal heals additionally restore HP and Elemental Injury per second equal to 10% of the original amount, lasting for 6 seconds (stacks up to 3 times)"},{"descRaw":"Increases the Max HP of friendly units within range by +6%, and reduces the <$ba.dt.element>Elemental Injury they take by 12%","name":"Volcanic Ash Remedy","desc":"Increases the Max HP of friendly units within range by +6%, and reduces the Elemental Injury they take by 12%"}],"modules":[{"name":"Sounds I Want to Retain","traitOverride":{"descRaw":"Restores the HP of allied units and recovers <$ba.dt.element>Elemental Injury by <@ba.kw>60% of ATK (can recover <$ba.dt.element>Elemental Injury of unhurt allied units)","desc":"Restores the HP of allied units and recovers Elemental Injury by 60% of ATK (can recover Elemental Injury of unhurt allied units)"},"talentChanges":[{"descRaw":"Increases the Max HP of friendly units within range by +8%, and reduces the <$ba.dt.element>Elemental Injury they take by 14%","name":"Volcanic Ash Remedy","desc":"Increases the Max HP of friendly units within range by +8%, and reduces the Elemental Injury they take by 14%"}]},{"name":"Life I Want to Retain","traitOverride":{"descRaw":"Restores the HP of allied units and recovers <$ba.dt.element>Elemental Injury by <@ba.kw>50% of ATK (can recover <$ba.dt.element>Elemental Injury of unhurt allied units)","moduleDescRaw":"ASPD <@ba.vup>+8 when there is an ally within Attack Range affected by Elemental Injury","desc":"Restores the HP of allied units and recovers Elemental Injury by 50% of ATK (can recover Elemental Injury of unhurt allied units)","moduleDesc":"ASPD +8 when there is an ally within Attack Range affected by Elemental Injury"},"talentChanges":[{"descRaw":"Normal heals additionally restore HP and <$ba.dt.element>Elemental Injury per second equal to 13% of the original amount, lasting for 8 seconds (stacks up to 3 times)","name":"Replenishing Mist","desc":"Normal heals additionally restore HP and Elemental Injury per second equal to 13% of the original amount, lasting for 8 seconds (stacks up to 3 times)"}]}],"_h":"fhvkf7fdvluo0koaeb4ydnscsjty4n9k1f4o8b0evluo0ky6pioaeb4yrjsc2vtyf7fddnscsj4ny6ldpirke7ebdz"},"chess_char_6_diy1_a":{"name":"Selected Operator","_h":"mc"},"chess_char_6_diy1_b":{"name":"Selected Operator","_h":"mc"},"chess_char_6_diy2_a":{"name":"Selected Operator","_h":"mc"},"chess_char_6_diy2_b":{"name":"Selected Operator","_h":"mc"}},"backups":{"units":{"char_600_cpione":{"name":"Reserve Operator - Vanguard","subProfessionName":"Pioneer","forms":{"2/1/4/0":{"trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"skills":[{"descRaw":"Instantly gains <@ba.vup>6 Deployment Points.","name":"Charge α","desc":"Instantly gains 6 Deployment Points."},{"descRaw":"Instantly gains <@ba.vup>9 Deployment Points.","name":"Charge β","desc":"Instantly gains 9 Deployment Points."},{"descRaw":"Instantly gains <@ba.vup>12 Deployment Points.","name":"Charge γ","desc":"Instantly gains 12 Deployment Points."}],"talents":[{"descRaw":"ATK +8%","name":"ATK Up","desc":"ATK +8%"}]},"2/60/7/1":{"trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"skills":[{"descRaw":"Instantly gains <@ba.vup>6 Deployment Points.","name":"Charge α","desc":"Instantly gains 6 Deployment Points."},{"descRaw":"Instantly gains <@ba.vup>9 Deployment Points.","name":"Charge β","desc":"Instantly gains 9 Deployment Points."},{"descRaw":"Instantly gains <@ba.vup>12 Deployment Points.","name":"Charge γ","desc":"Instantly gains 12 Deployment Points."}],"talents":[{"descRaw":"ATK +8%","name":"ATK Up","desc":"ATK +8%"}]}}},"char_601_cguard":{"name":"Reserve Operator - Guard","subProfessionName":"Dreadnought","forms":{"2/1/4/0":{"trait":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"skills":[{"descRaw":"ATK <@ba.vup>+30%","name":"ATK Up α","desc":"ATK +30%"},{"descRaw":"ATK <@ba.vup>+35%","name":"ATK Up β","desc":"ATK +35%"},{"descRaw":"ATK <@ba.vup>+45%","name":"ATK Up γ","desc":"ATK +45%"}],"talents":[{"descRaw":"ATK +8%","name":"ATK Up","desc":"ATK +8%"}]},"2/60/7/1":{"trait":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"skills":[{"descRaw":"ATK <@ba.vup>+50%","name":"ATK Up α","desc":"ATK +50%"},{"descRaw":"ATK <@ba.vup>+50%","name":"ATK Up β","desc":"ATK +50%"},{"descRaw":"ATK <@ba.vup>+60%","name":"ATK Up γ","desc":"ATK +60%"}],"talents":[{"descRaw":"ATK +8%","name":"ATK Up","desc":"ATK +8%"}]}}},"char_602_cdfend":{"name":"Reserve Operator - Defender","subProfessionName":"Protector","forms":{"2/1/4/0":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skills":[{"descRaw":"DEF <@ba.vup>+30%","name":"DEF Up α","desc":"DEF +30%"},{"descRaw":"DEF <@ba.vup>+35%","name":"DEF Up β","desc":"DEF +35%"},{"descRaw":"DEF <@ba.vup>+45%","name":"DEF Up γ","desc":"DEF +45%"}],"talents":[{"descRaw":"DEF +10%","name":"DEF Up","desc":"DEF +10%"}]},"2/60/7/1":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skills":[{"descRaw":"DEF <@ba.vup>+50%","name":"DEF Up α","desc":"DEF +50%"},{"descRaw":"DEF <@ba.vup>+50%","name":"DEF Up β","desc":"DEF +50%"},{"descRaw":"DEF <@ba.vup>+60%","name":"DEF Up γ","desc":"DEF +60%"}],"talents":[{"descRaw":"DEF +10%","name":"DEF Up","desc":"DEF +10%"}]}}},"char_603_csnipe":{"name":"Reserve Operator - Sniper","subProfessionName":"Marksman","forms":{"2/1/4/0":{"trait":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"skills":[{"descRaw":"ATK <@ba.vup>+30%","name":"ATK Up α","desc":"ATK +30%"},{"descRaw":"ATK <@ba.vup>+35%","name":"ATK Up β","desc":"ATK +35%"},{"descRaw":"ATK <@ba.vup>+45%","name":"ATK Up γ","desc":"ATK +45%"}],"talents":[{"descRaw":"ATK +8%","name":"ATK Up","desc":"ATK +8%"}]},"2/60/7/1":{"trait":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"skills":[{"descRaw":"ATK <@ba.vup>+50%","name":"ATK Up α","desc":"ATK +50%"},{"descRaw":"ATK <@ba.vup>+50%","name":"ATK Up β","desc":"ATK +50%"},{"descRaw":"ATK <@ba.vup>+60%","name":"ATK Up γ","desc":"ATK +60%"}],"talents":[{"descRaw":"ATK +8%","name":"ATK Up","desc":"ATK +8%"}]}}},"char_604_ccast":{"name":"Reserve Operator - Caster","subProfessionName":"Core Caster","forms":{"2/1/4/0":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"skills":[{"descRaw":"ASPD <@ba.vup>+30","name":"Tactical Chant α","desc":"ASPD +30"},{"descRaw":"ASPD <@ba.vup>+30","name":"Tactical Chant β","desc":"ASPD +30"},{"descRaw":"ASPD <@ba.vup>+45","name":"Tactical Chant γ","desc":"ASPD +45"}],"talents":[{"descRaw":"ASPD +9","name":"Casting Speed Up","desc":"ASPD +9"}]},"2/60/7/1":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"skills":[{"descRaw":"ASPD <@ba.vup>+50","name":"Tactical Chant α","desc":"ASPD +50"},{"descRaw":"ASPD <@ba.vup>+45","name":"Tactical Chant β","desc":"ASPD +45"},{"descRaw":"ASPD <@ba.vup>+60","name":"Tactical Chant γ","desc":"ASPD +60"}],"talents":[{"descRaw":"ASPD +9","name":"Casting Speed Up","desc":"ASPD +9"}]}}},"char_605_cmedic":{"name":"Reserve Operator - Medic","subProfessionName":"Medic","forms":{"2/1/4/0":{"trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"skills":[{"descRaw":"ATK <@ba.vup>+30%","name":"Healing Up α","desc":"ATK +30%"},{"descRaw":"ATK <@ba.vup>+30%","name":"Healing Up β","desc":"ATK +30%"},{"descRaw":"ATK <@ba.vup>+55%","name":"Healing Up γ","desc":"ATK +55%"}],"talents":[{"descRaw":"ATK +8%","name":"ATK Up","desc":"ATK +8%"}]},"2/60/7/1":{"trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"skills":[{"descRaw":"ATK <@ba.vup>+50%","name":"Healing Up α","desc":"ATK +50%"},{"descRaw":"ATK <@ba.vup>+50%","name":"Healing Up β","desc":"ATK +50%"},{"descRaw":"ATK <@ba.vup>+70%","name":"Healing Up γ","desc":"ATK +70%"}],"talents":[{"descRaw":"ATK +8%","name":"ATK Up","desc":"ATK +8%"}]}}},"char_606_csuppo":{"name":"Reserve Operator - Supporter","subProfessionName":"Decel Binder","forms":{"2/1/4/0":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skills":[{"descRaw":"ASPD <@ba.vup>+30","name":"Tactical Chant α","desc":"ASPD +30"},{"descRaw":"ASPD <@ba.vup>+30","name":"Tactical Chant β","desc":"ASPD +30"},{"descRaw":"ASPD <@ba.vup>+45","name":"Tactical Chant γ","desc":"ASPD +45"}],"talents":[{"descRaw":"ASPD +9","name":"Casting Speed Up","desc":"ASPD +9"}]},"2/60/7/1":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skills":[{"descRaw":"ASPD <@ba.vup>+50","name":"Tactical Chant α","desc":"ASPD +50"},{"descRaw":"ASPD <@ba.vup>+45","name":"Tactical Chant β","desc":"ASPD +45"},{"descRaw":"ASPD <@ba.vup>+60","name":"Tactical Chant γ","desc":"ASPD +60"}],"talents":[{"descRaw":"ASPD +9","name":"Casting Speed Up","desc":"ASPD +9"}]}}},"char_607_cspec":{"name":"Reserve Operator - Specialist","subProfessionName":"Executor","forms":{"2/1/4/0":{"trait":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","desc":"Significantly reduced Redeployment Time"},"skills":[{"descRaw":"After deployment, ATK <@ba.vup>+20%, DEF <@ba.vup>+15%","name":"Hit and Run α","desc":"After deployment, ATK +20%, DEF +15%"},{"descRaw":"After deployment, ATK <@ba.vup>+30%, DEF <@ba.vup>+25%","name":"Hit and Run β","desc":"After deployment, ATK +30%, DEF +25%"},{"descRaw":"After deployment, ATK <@ba.vup>+40%, DEF <@ba.vup>+35%","name":"Hit and Run γ","desc":"After deployment, ATK +40%, DEF +35%"}],"talents":[{"descRaw":"ATK +8%","name":"ATK Up","desc":"ATK +8%"}]},"2/60/7/1":{"trait":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","desc":"Significantly reduced Redeployment Time"},"skills":[{"descRaw":"After deployment, ATK <@ba.vup>+30%, DEF <@ba.vup>+30%","name":"Hit and Run α","desc":"After deployment, ATK +30%, DEF +30%"},{"descRaw":"After deployment, ATK <@ba.vup>+40%, DEF <@ba.vup>+30%","name":"Hit and Run β","desc":"After deployment, ATK +40%, DEF +30%"},{"descRaw":"After deployment, ATK <@ba.vup>+50%, DEF <@ba.vup>+50%","name":"Hit and Run γ","desc":"After deployment, ATK +50%, DEF +50%"}],"talents":[{"descRaw":"ATK +8%","name":"ATK Up","desc":"ATK +8%"}]}}},"char_608_acpion":{"name":"Tulip","subProfessionName":"Pioneer","moduleNames":{"uniequip_001_acpion":{"name":"Tulip's Badge"},"uniequip_002_acpion":{"name":"Tulip's Badge"}},"forms":{"2/1/4/0":{"trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"skills":[{"descRaw":"Immediately gains <@ba.vup>6 DP and deals <@ba.vup>170% ATK as Physical damage to up to 2 enemies within range","name":"Estocada","desc":"Immediately gains 6 DP and deals 170% ATK as Physical damage to up to 2 enemies within range"},{"descRaw":"Gradually gains <@ba.vup>6 DP over the skill duration; ASPD +<@ba.vup>95, and ignores <@ba.vup>25% DEF","name":"Ráfaga","desc":"Gradually gains 6 DP over the skill duration; ASPD +95, and ignores 25% DEF"},{"descRaw":"Immediately gains <@ba.vup>6 DP and performs <@ba.vup>8 chain slashes at surrounding enemies, each dealing <@ba.vup>155% ATK as Physical damage that ignores <@ba.vup>50% DEF","name":"Lingering Scent","desc":"Immediately gains 6 DP and performs 8 chain slashes at surrounding enemies, each dealing 155% ATK as Physical damage that ignores 50% DEF"}],"talents":[{"descRaw":"SP recovery rate +0.6/sec after deployment and before 2nd skill use","name":"Boundless Heart","desc":"SP recovery rate +0.6/sec after deployment and before 2nd skill use"},{"descRaw":"ATK +10%; gains 1 additional DP after defeating an enemy","name":"Heart of the Tides","desc":"ATK +10%; gains 1 additional DP after defeating an enemy"}]},"2/60/7/1":{"trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"skills":[{"descRaw":"Immediately gains <@ba.vup>6 DP and deals <@ba.vup>200% ATK as Physical damage to up to 2 enemies within range","name":"Estocada","desc":"Immediately gains 6 DP and deals 200% ATK as Physical damage to up to 2 enemies within range"},{"descRaw":"Gradually gains <@ba.vup>7 DP over the skill duration; ASPD +<@ba.vup>110, and ignores <@ba.vup>30% DEF","name":"Ráfaga","desc":"Gradually gains 7 DP over the skill duration; ASPD +110, and ignores 30% DEF"},{"descRaw":"Immediately gains <@ba.vup>7 DP and performs <@ba.vup>8 chain slashes at surrounding enemies, each dealing <@ba.vup>170% ATK as Physical damage that ignores <@ba.vup>50% DEF","name":"Lingering Scent","desc":"Immediately gains 7 DP and performs 8 chain slashes at surrounding enemies, each dealing 170% ATK as Physical damage that ignores 50% DEF"}],"talents":[{"descRaw":"SP recovery rate +0.6/sec after deployment and before 2nd skill use","name":"Boundless Heart","desc":"SP recovery rate +0.6/sec after deployment and before 2nd skill use"},{"descRaw":"ATK +10%; gains 1 additional DP after defeating an enemy","name":"Heart of the Tides","desc":"ATK +10%; gains 1 additional DP after defeating an enemy"}],"modules":[{"name":"Tulip's Badge","traitOverride":{"descRaw":"Blocks 2 enemies; Gains +8% ATK and DEF while blocking enemies","desc":"Blocks 2 enemies; Gains +8% ATK and DEF while blocking enemies"}}]},"2/60/7/3":{"trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"skills":[{"descRaw":"Immediately gains <@ba.vup>6 DP and deals <@ba.vup>200% ATK as Physical damage to up to 2 enemies within range","name":"Estocada","desc":"Immediately gains 6 DP and deals 200% ATK as Physical damage to up to 2 enemies within range"},{"descRaw":"Gradually gains <@ba.vup>7 DP over the skill duration; ASPD +<@ba.vup>110, and ignores <@ba.vup>30% DEF","name":"Ráfaga","desc":"Gradually gains 7 DP over the skill duration; ASPD +110, and ignores 30% DEF"},{"descRaw":"Immediately gains <@ba.vup>7 DP and performs <@ba.vup>8 chain slashes at surrounding enemies, each dealing <@ba.vup>170% ATK as Physical damage that ignores <@ba.vup>50% DEF","name":"Lingering Scent","desc":"Immediately gains 7 DP and performs 8 chain slashes at surrounding enemies, each dealing 170% ATK as Physical damage that ignores 50% DEF"}],"talents":[{"descRaw":"SP recovery rate +0.6/sec after deployment and before 2nd skill use","name":"Boundless Heart","desc":"SP recovery rate +0.6/sec after deployment and before 2nd skill use"},{"descRaw":"ATK +10%; gains 1 additional DP after defeating an enemy","name":"Heart of the Tides","desc":"ATK +10%; gains 1 additional DP after defeating an enemy"}],"modules":[{"name":"Tulip's Badge","traitOverride":{"descRaw":"Blocks 2 enemies; Gains +8% ATK and DEF while blocking enemies","desc":"Blocks 2 enemies; Gains +8% ATK and DEF while blocking enemies"},"talentChanges":[{"descRaw":"SP recovery rate +1/sec after deployment and before 2nd skill use","name":"Boundless Heart","desc":"SP recovery rate +1/sec after deployment and before 2nd skill use"}]}]}}},"char_609_acguad":{"subProfessionName":"Dreadnought","moduleNames":{"uniequip_001_acguad":{"name":"Sharp's Badge"},"uniequip_002_acguad":{"name":"Sharp's Badge"}},"forms":{"2/1/4/0":{"trait":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"skills":[{"descRaw":"ATK <@ba.vup>+25%, every attack has a 20% chance of striking twice","name":"Swiftblade","desc":"ATK +25%, every attack has a 20% chance of striking twice"},{"descRaw":"DEF <@ba.vdown>reduces to 0, Max HP <@ba.vup>+30%, each Attack's ATK increases to <@ba.vup>160%","name":"Drawing Sword","desc":"DEF reduces to 0, Max HP +30%, each Attack's ATK increases to 160%"},{"descRaw":"ATK <@ba.vup>+30%, every attack gives a stackable buff that grants <@ba.vup>+16% ATK (stacks up to 8 times), stacks are reset upon changing targets; during the skill duration, Sharp's HP will not drop below 1","name":"To The Bitter End","desc":"ATK +30%, every attack gives a stackable buff that grants +16% ATK (stacks up to 8 times), stacks are reset upon changing targets; during the skill duration, Sharp's HP will not drop below 1"}],"talents":[{"descRaw":"ATK +15%; Obtains 30% Physical Dodge","name":"Invisible Blade","desc":"ATK +15%; Obtains 30% Physical Dodge"},{"descRaw":"ASPD +10 after being deployed for 30s","name":"Not One Step Back","desc":"ASPD +10 after being deployed for 30s"}]},"2/60/7/1":{"trait":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"skills":[{"descRaw":"ATK <@ba.vup>+40%, every attack has a 20% chance of striking twice","name":"Swiftblade","desc":"ATK +40%, every attack has a 20% chance of striking twice"},{"descRaw":"DEF <@ba.vdown>reduces to 0, Max HP <@ba.vup>+40%, each Attack's ATK increases to <@ba.vup>180%","name":"Drawing Sword","desc":"DEF reduces to 0, Max HP +40%, each Attack's ATK increases to 180%"},{"descRaw":"ATK <@ba.vup>+45%, every attack gives a stackable buff that grants <@ba.vup>+17% ATK (stacks up to 8 times), stacks are reset upon changing targets; during the skill duration, Sharp's HP will not drop below 1","name":"To The Bitter End","desc":"ATK +45%, every attack gives a stackable buff that grants +17% ATK (stacks up to 8 times), stacks are reset upon changing targets; during the skill duration, Sharp's HP will not drop below 1"}],"talents":[{"descRaw":"ATK +15%; Obtains 30% Physical Dodge","name":"Invisible Blade","desc":"ATK +15%; Obtains 30% Physical Dodge"},{"descRaw":"ASPD +10 after being deployed for 30s","name":"Not One Step Back","desc":"ASPD +10 after being deployed for 30s"}],"modules":[{"name":"Sharp's Badge","traitOverride":{"descRaw":"Blocks 1 enemy","moduleDescRaw":"Increases ATK to <@ba.vup>115% when attacking blocked enemies","desc":"Blocks 1 enemy","moduleDesc":"Increases ATK to 115% when attacking blocked enemies"}}]},"2/60/7/3":{"trait":{"descRaw":"Blocks 1 enemy","desc":"Blocks 1 enemy"},"skills":[{"descRaw":"ATK <@ba.vup>+40%, every attack has a 20% chance of striking twice","name":"Swiftblade","desc":"ATK +40%, every attack has a 20% chance of striking twice"},{"descRaw":"DEF <@ba.vdown>reduces to 0, Max HP <@ba.vup>+40%, each Attack's ATK increases to <@ba.vup>180%","name":"Drawing Sword","desc":"DEF reduces to 0, Max HP +40%, each Attack's ATK increases to 180%"},{"descRaw":"ATK <@ba.vup>+45%, every attack gives a stackable buff that grants <@ba.vup>+17% ATK (stacks up to 8 times), stacks are reset upon changing targets; during the skill duration, Sharp's HP will not drop below 1","name":"To The Bitter End","desc":"ATK +45%, every attack gives a stackable buff that grants +17% ATK (stacks up to 8 times), stacks are reset upon changing targets; during the skill duration, Sharp's HP will not drop below 1"}],"talents":[{"descRaw":"ATK +15%; Obtains 30% Physical Dodge","name":"Invisible Blade","desc":"ATK +15%; Obtains 30% Physical Dodge"},{"descRaw":"ASPD +10 after being deployed for 30s","name":"Not One Step Back","desc":"ASPD +10 after being deployed for 30s"}],"modules":[{"name":"Sharp's Badge","traitOverride":{"descRaw":"Blocks 1 enemy","moduleDescRaw":"Increases ATK to <@ba.vup>115% when attacking blocked enemies","desc":"Blocks 1 enemy","moduleDesc":"Increases ATK to 115% when attacking blocked enemies"},"talentChanges":[{"descRaw":"ATK +20%; Obtains 35% Physical Dodge","name":"Invisible Blade","desc":"ATK +20%; Obtains 35% Physical Dodge"}]}]}}},"char_610_acfend":{"subProfessionName":"Protector","moduleNames":{"uniequip_001_acfend":{"name":"Mechanist's Badge"},"uniequip_002_acfend":{"name":"Mechanist's Badge"}},"forms":{"2/1/4/0":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skills":[{"descRaw":"Max HP <@ba.vup>+26%, DEF <@ba.vup>+26%","name":"Structural Stability","desc":"Max HP +26%, DEF +26%"},{"descRaw":"DEF <@ba.vup>+50%, Talent 2's effect increases to <@ba.vup>2x","name":"Invariance Principle","desc":"DEF +50%, Talent 2's effect increases to 2x"},{"descRaw":"During the skill duration, DEF <@ba.vup>+50%, Block <@ba.vup>+1, all enemies blocked by Mechanist take <@ba.vup>40% ATK as Arts damage every second","name":"Stress Inversion","desc":"During the skill duration, DEF +50%, Block +1, all enemies blocked by Mechanist take 40% ATK as Arts damage every second"}],"talents":[{"descRaw":"DEF +10%, and another +10% when HP below 50%","name":"Research Materials","desc":"DEF +10%, and another +10% when HP below 50%"},{"descRaw":"Enemies blocked by this unit have -7 ASPD","name":"Feedback Armor","desc":"Enemies blocked by this unit have -7 ASPD"}]},"2/60/7/1":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skills":[{"descRaw":"Max HP <@ba.vup>+40%, DEF <@ba.vup>+40%","name":"Structural Stability","desc":"Max HP +40%, DEF +40%"},{"descRaw":"DEF <@ba.vup>+65%, Talent 2's effect increases to <@ba.vup>3x","name":"Invariance Principle","desc":"DEF +65%, Talent 2's effect increases to 3x"},{"descRaw":"During the skill duration, DEF <@ba.vup>+70%, Block <@ba.vup>+1, all enemies blocked by Mechanist take <@ba.vup>55% ATK as Arts damage every second","name":"Stress Inversion","desc":"During the skill duration, DEF +70%, Block +1, all enemies blocked by Mechanist take 55% ATK as Arts damage every second"}],"talents":[{"descRaw":"DEF +10%, and another +10% when HP below 50%","name":"Research Materials","desc":"DEF +10%, and another +10% when HP below 50%"},{"descRaw":"Enemies blocked by this unit have -7 ASPD","name":"Feedback Armor","desc":"Enemies blocked by this unit have -7 ASPD"}],"modules":[{"name":"Mechanist's Badge","traitOverride":{"descRaw":"Blocks 3 enemies","moduleDescRaw":"DEF <@ba.kw>+20% when blocking an enemy","desc":"Blocks 3 enemies","moduleDesc":"DEF +20% when blocking an enemy"}}]},"2/60/7/3":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skills":[{"descRaw":"Max HP <@ba.vup>+40%, DEF <@ba.vup>+40%","name":"Structural Stability","desc":"Max HP +40%, DEF +40%"},{"descRaw":"DEF <@ba.vup>+65%, Talent 2's effect increases to <@ba.vup>3x","name":"Invariance Principle","desc":"DEF +65%, Talent 2's effect increases to 3x"},{"descRaw":"During the skill duration, DEF <@ba.vup>+70%, Block <@ba.vup>+1, all enemies blocked by Mechanist take <@ba.vup>55% ATK as Arts damage every second","name":"Stress Inversion","desc":"During the skill duration, DEF +70%, Block +1, all enemies blocked by Mechanist take 55% ATK as Arts damage every second"}],"talents":[{"descRaw":"DEF +10%, and another +10% when HP below 50%","name":"Research Materials","desc":"DEF +10%, and another +10% when HP below 50%"},{"descRaw":"Enemies blocked by this unit have -7 ASPD","name":"Feedback Armor","desc":"Enemies blocked by this unit have -7 ASPD"}],"modules":[{"name":"Mechanist's Badge","traitOverride":{"descRaw":"Blocks 3 enemies","moduleDescRaw":"DEF <@ba.kw>+20% when blocking an enemy","desc":"Blocks 3 enemies","moduleDesc":"DEF +20% when blocking an enemy"},"talentChanges":[{"descRaw":"DEF +10%, and another +20% when HP below 50%","name":"Research Materials","desc":"DEF +10%, and another +20% when HP below 50%"}]}]}}},"char_611_acnipe":{"subProfessionName":"Marksman","moduleNames":{"uniequip_001_acnipe":{"name":"Stormeye's Badge"},"uniequip_002_acnipe":{"name":"Stormeye's Badge"}},"forms":{"2/1/4/0":{"trait":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"skills":[{"descRaw":"ATK <@ba.vup>+15%, ASPD <@ba.vup>+30; attacks ignore 100 DEF","name":"Skyshatter","desc":"ATK +15%, ASPD +30; attacks ignore 100 DEF"},{"descRaw":"ATK <@ba.vup>+5%; each attack hits 1 additional target\n<@ba.rem>Unlimited duration","name":"One With the Bow","desc":"ATK +5%; each attack hits 1 additional target\nUnlimited duration"},{"descRaw":"Attacks hit up to 3 targets simultaneously; chance for Talent 1 to trigger increases to <@ba.vup>30%, attacks strike twice; if the target is above <@ba.vup>90% HP, deals 1 additional hit","name":"Pronation","desc":"Attacks hit up to 3 targets simultaneously; chance for Talent 1 to trigger increases to 30%, attacks strike twice; if the target is above 90% HP, deals 1 additional hit"}],"talents":[{"descRaw":"Has a 25% chance to increase ATK to 180%","name":"Windfall","desc":"Has a 25% chance to increase ATK to 180%"},{"descRaw":"When not attacking, SP recovery +0.2/s","name":"Brewing Storm","desc":"When not attacking, SP recovery +0.2/s"}]},"2/60/7/1":{"trait":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"skills":[{"descRaw":"ATK <@ba.vup>+15%, ASPD <@ba.vup>+50; attacks ignore 100 DEF","name":"Skyshatter","desc":"ATK +15%, ASPD +50; attacks ignore 100 DEF"},{"descRaw":"ATK <@ba.vup>+5%; each attack hits 1 additional target\n<@ba.rem>Unlimited duration","name":"One With the Bow","desc":"ATK +5%; each attack hits 1 additional target\nUnlimited duration"},{"descRaw":"Attacks hit up to 3 targets simultaneously; chance for Talent 1 to trigger increases to <@ba.vup>35%, attacks strike twice; if the target is above <@ba.vup>90% HP, deals 1 additional hit","name":"Pronation","desc":"Attacks hit up to 3 targets simultaneously; chance for Talent 1 to trigger increases to 35%, attacks strike twice; if the target is above 90% HP, deals 1 additional hit"}],"talents":[{"descRaw":"Has a 25% chance to increase ATK to 180%","name":"Windfall","desc":"Has a 25% chance to increase ATK to 180%"},{"descRaw":"When not attacking, SP recovery +0.2/s","name":"Brewing Storm","desc":"When not attacking, SP recovery +0.2/s"}],"modules":[{"name":"Stormeye's Badge","traitOverride":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"}}]},"2/60/7/3":{"trait":{"descRaw":"Attacks aerial enemies first","desc":"Attacks aerial enemies first"},"skills":[{"descRaw":"ATK <@ba.vup>+15%, ASPD <@ba.vup>+50; attacks ignore 100 DEF","name":"Skyshatter","desc":"ATK +15%, ASPD +50; attacks ignore 100 DEF"},{"descRaw":"ATK <@ba.vup>+5%; each attack hits 1 additional target\n<@ba.rem>Unlimited duration","name":"One With the Bow","desc":"ATK +5%; each attack hits 1 additional target\nUnlimited duration"},{"descRaw":"Attacks hit up to 3 targets simultaneously; chance for Talent 1 to trigger increases to <@ba.vup>35%, attacks strike twice; if the target is above <@ba.vup>90% HP, deals 1 additional hit","name":"Pronation","desc":"Attacks hit up to 3 targets simultaneously; chance for Talent 1 to trigger increases to 35%, attacks strike twice; if the target is above 90% HP, deals 1 additional hit"}],"talents":[{"descRaw":"Has a 25% chance to increase ATK to 180%","name":"Windfall","desc":"Has a 25% chance to increase ATK to 180%"},{"descRaw":"When not attacking, SP recovery +0.2/s","name":"Brewing Storm","desc":"When not attacking, SP recovery +0.2/s"}],"modules":[{"name":"Stormeye's Badge","traitOverride":{"descRaw":"Attacks aerial enemies first","moduleDescRaw":"Increases ATK to <@ba.kw>110% when attacking aerial targets","desc":"Attacks aerial enemies first","moduleDesc":"Increases ATK to 110% when attacking aerial targets"},"talentChanges":[{"descRaw":"Has a 25% chance to increase ATK to 190%","name":"Windfall","desc":"Has a 25% chance to increase ATK to 190%"}]}]}}},"char_612_accast":{"subProfessionName":"Splash Caster","moduleNames":{"uniequip_001_accast":{"name":"Pith's Badge"},"uniequip_002_accast":{"name":"Pith's Badge"}},"forms":{"2/1/4/0":{"trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"skills":[{"descRaw":"ASPD <@ba.vup>+30, splash area <@ba.vup>expands","name":"'All That I Author'","desc":"ASPD +30, splash area expands"},{"descRaw":"ASPD <@ba.vup>+35, the ATK of all Casters <@ba.vup>+30%","name":"'All That I Do'","desc":"ASPD +35, the ATK of all Casters +30%"},{"descRaw":"When skill is activated, immediately deals <@ba.vup>100% ATK as Arts damage to all enemies within range; afterwards, attack target count <@ba.vup>+1, ASPD <@ba.vup>+40, splash area <@ba.vup>expands slightly","name":"'All That I Command'","desc":"When skill is activated, immediately deals 100% ATK as Arts damage to all enemies within range; afterwards, attack target count +1, ASPD +40, splash area expands slightly"}],"talents":[{"descRaw":"Attacks ignore 12 RES","name":"'All That I See'","desc":"Attacks ignore 12 RES"},{"descRaw":"This unit and [Caster] Operators in the 4 tiles around her gain +10% ATK","name":"'All That I Teach'","desc":"This unit and [Caster] Operators in the 4 tiles around her gain +10% ATK"}]},"2/60/7/1":{"trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"skills":[{"descRaw":"ASPD <@ba.vup>+40, splash area <@ba.vup>expands","name":"'All That I Author'","desc":"ASPD +40, splash area expands"},{"descRaw":"ASPD <@ba.vup>+50, the ATK of all Casters <@ba.vup>+35%","name":"'All That I Do'","desc":"ASPD +50, the ATK of all Casters +35%"},{"descRaw":"When skill is activated, immediately deals <@ba.vup>140% ATK as Arts damage to all enemies within range; afterwards, attack target count <@ba.vup>+1, ASPD <@ba.vup>+55, splash area <@ba.vup>expands slightly","name":"'All That I Command'","desc":"When skill is activated, immediately deals 140% ATK as Arts damage to all enemies within range; afterwards, attack target count +1, ASPD +55, splash area expands slightly"}],"talents":[{"descRaw":"Attacks ignore 12 RES","name":"'All That I See'","desc":"Attacks ignore 12 RES"},{"descRaw":"This unit and [Caster] Operators in the 4 tiles around her gain +10% ATK","name":"'All That I Teach'","desc":"This unit and [Caster] Operators in the 4 tiles around her gain +10% ATK"}],"modules":[{"name":"Pith's Badge","traitOverride":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Deals AOE Arts damage","moduleDesc":"Attack Range expands"}}]},"2/60/7/3":{"trait":{"descRaw":"Deals <@ba.kw>AOE Arts damage","desc":"Deals AOE Arts damage"},"skills":[{"descRaw":"ASPD <@ba.vup>+40, splash area <@ba.vup>expands","name":"'All That I Author'","desc":"ASPD +40, splash area expands"},{"descRaw":"ASPD <@ba.vup>+50, the ATK of all Casters <@ba.vup>+35%","name":"'All That I Do'","desc":"ASPD +50, the ATK of all Casters +35%"},{"descRaw":"When skill is activated, immediately deals <@ba.vup>140% ATK as Arts damage to all enemies within range; afterwards, attack target count <@ba.vup>+1, ASPD <@ba.vup>+55, splash area <@ba.vup>expands slightly","name":"'All That I Command'","desc":"When skill is activated, immediately deals 140% ATK as Arts damage to all enemies within range; afterwards, attack target count +1, ASPD +55, splash area expands slightly"}],"talents":[{"descRaw":"Attacks ignore 12 RES","name":"'All That I See'","desc":"Attacks ignore 12 RES"},{"descRaw":"This unit and [Caster] Operators in the 4 tiles around her gain +10% ATK","name":"'All That I Teach'","desc":"This unit and [Caster] Operators in the 4 tiles around her gain +10% ATK"}],"modules":[{"name":"Pith's Badge","traitOverride":{"descRaw":"Deals <@ba.kw>AOE Arts damage","moduleDescRaw":"Attack Range <@ba.kw>expands","desc":"Deals AOE Arts damage","moduleDesc":"Attack Range expands"},"talentChanges":[{"descRaw":"This unit and [Caster] Operators in the 4 tiles around her gain +20% ATK","name":"'All That I Teach'","desc":"This unit and [Caster] Operators in the 4 tiles around her gain +20% ATK"}]}]}}},"char_613_acmedc":{"subProfessionName":"Medic","moduleNames":{"uniequip_001_acmedc":{"name":"Touch's Badge"},"uniequip_002_acmedc":{"name":"Touch's Badge"}},"forms":{"2/1/4/0":{"trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"skills":[{"descRaw":"ATK <@ba.vup>+40%; each heal has a <@ba.vup>40% chance of triggering an additional heal","name":"Generous Gift","desc":"ATK +40%; each heal has a 40% chance of triggering an additional heal"},{"descRaw":"Attack Range <@ba.vup>+1; heals <@ba.vup>2 targets, all Medic Operators gain ATK <@ba.vup>+21%","name":"Apocalyptic Scene","desc":"Attack Range +1; heals 2 targets, all Medic Operators gain ATK +21%"},{"descRaw":"Attack Range <@ba.vup>+2, ATK <@ba.vup>+20%; heals <@ba.vup>2 targets and additionally heals the target or the friendly unit next to the target once for <@ba.vup>30% of the healing amount upon the original target; if the friendly unit to be healed is at 50% HP or lower, the healing amount is increased to <@ba.vup>135% of the original amount","name":"Earnest Gospel","desc":"Attack Range +2, ATK +20%; heals 2 targets and additionally heals the target or the friendly unit next to the target once for 30% of the healing amount upon the original target; if the friendly unit to be healed is at 50% HP or lower, the healing amount is increased to 135% of the original amount"}],"talents":[{"descRaw":"Targets healed by this unit gain 3 SP","name":"Promotion","desc":"Targets healed by this unit gain 3 SP"},{"descRaw":"When allies within range are defeated, gain 5 SP","name":"Transcendence","desc":"When allies within range are defeated, gain 5 SP"}]},"2/60/7/1":{"trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"skills":[{"descRaw":"ATK <@ba.vup>+50%; each heal has a <@ba.vup>50% chance of triggering an additional heal","name":"Generous Gift","desc":"ATK +50%; each heal has a 50% chance of triggering an additional heal"},{"descRaw":"Attack Range <@ba.vup>+1; heals <@ba.vup>2 targets, all Medic Operators gain ATK <@ba.vup>+30%","name":"Apocalyptic Scene","desc":"Attack Range +1; heals 2 targets, all Medic Operators gain ATK +30%"},{"descRaw":"Attack Range <@ba.vup>+2, ATK <@ba.vup>+30%; heals <@ba.vup>2 targets and additionally heals the target or the friendly unit next to the target once for <@ba.vup>30% of the healing amount upon the original target; if the friendly unit to be healed is at 50% HP or lower, the healing amount is increased to <@ba.vup>140% of the original amount","name":"Earnest Gospel","desc":"Attack Range +2, ATK +30%; heals 2 targets and additionally heals the target or the friendly unit next to the target once for 30% of the healing amount upon the original target; if the friendly unit to be healed is at 50% HP or lower, the healing amount is increased to 140% of the original amount"}],"talents":[{"descRaw":"Targets healed by this unit gain 3 SP","name":"Promotion","desc":"Targets healed by this unit gain 3 SP"},{"descRaw":"When allies within range are defeated, gain 5 SP","name":"Transcendence","desc":"When allies within range are defeated, gain 5 SP"}],"modules":[{"name":"Touch's Badge","traitOverride":{"descRaw":"Restores the HP of allies","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Restores the HP of allies","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"}}]},"2/60/7/3":{"trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"skills":[{"descRaw":"ATK <@ba.vup>+50%; each heal has a <@ba.vup>50% chance of triggering an additional heal","name":"Generous Gift","desc":"ATK +50%; each heal has a 50% chance of triggering an additional heal"},{"descRaw":"Attack Range <@ba.vup>+1; heals <@ba.vup>2 targets, all Medic Operators gain ATK <@ba.vup>+30%","name":"Apocalyptic Scene","desc":"Attack Range +1; heals 2 targets, all Medic Operators gain ATK +30%"},{"descRaw":"Attack Range <@ba.vup>+2, ATK <@ba.vup>+30%; heals <@ba.vup>2 targets and additionally heals the target or the friendly unit next to the target once for <@ba.vup>30% of the healing amount upon the original target; if the friendly unit to be healed is at 50% HP or lower, the healing amount is increased to <@ba.vup>140% of the original amount","name":"Earnest Gospel","desc":"Attack Range +2, ATK +30%; heals 2 targets and additionally heals the target or the friendly unit next to the target once for 30% of the healing amount upon the original target; if the friendly unit to be healed is at 50% HP or lower, the healing amount is increased to 140% of the original amount"}],"talents":[{"descRaw":"Targets healed by this unit gain 3 SP","name":"Promotion","desc":"Targets healed by this unit gain 3 SP"},{"descRaw":"When allies within range are defeated, gain 5 SP","name":"Transcendence","desc":"When allies within range are defeated, gain 5 SP"}],"modules":[{"name":"Touch's Badge","traitOverride":{"descRaw":"Restores the HP of allies","moduleDescRaw":"When healing allied units with less than 50% HP, increases heal amount by <@ba.kw>15%","desc":"Restores the HP of allies","moduleDesc":"When healing allied units with less than 50% HP, increases heal amount by 15%"},"talentChanges":[{"descRaw":"When allies within range are defeated, gain 8 SP","name":"Transcendence","desc":"When allies within range are defeated, gain 8 SP"}]}]}}},"char_614_acsupo":{"subProfessionName":"Decel Binder","moduleNames":{"uniequip_001_acsupo":{"name":"Raidian's Badge"},"uniequip_002_acsupo":{"name":"Raidian's Badge"}},"forms":{"2/1/4/0":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skills":[{"descRaw":"ATK <@ba.vup>+25%; attacks 1 extra target","name":"Diphony","desc":"ATK +25%; attacks 1 extra target"},{"descRaw":"Attack Interval <@ba.vup>reduces slightly, attacks three targets simultaneously, <$ba.sluggish>Slows inflicted by attacks are extended to <@ba.vup>1.1s","name":"Triform","desc":"Attack Interval reduces slightly, attacks three targets simultaneously, Slows inflicted by attacks are extended to 1.1s"},{"descRaw":"Attack Range expands, ATK <@ba.vup>+40%, Talent 1's effect increases to <@ba.vup>2.0x, all enemies within range receive a <@ba.vup>10% <$ba.fragile>Fragile effect and a <@ba.vup>10% <$ba.weaken>Enfeeble effect","name":"Impulse Signal","desc":"Attack Range expands, ATK +40%, Talent 1's effect increases to 2.0x, all enemies within range receive a 10% Fragile effect and a 10% Enfeeble effect"}],"talents":[{"descRaw":"ASPD +15, adjacent Operators' ASPD +10","name":"Phase Locked","desc":"ASPD +15, adjacent Operators' ASPD +10"},{"descRaw":"Enemies within range have -10% Physical and Arts hit rate","name":"Decoy Blip","desc":"Enemies within range have -10% Physical and Arts hit rate"}]},"2/60/7/1":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skills":[{"descRaw":"ATK <@ba.vup>+40%; attacks 1 extra target","name":"Diphony","desc":"ATK +40%; attacks 1 extra target"},{"descRaw":"Attack Interval <@ba.vup>reduces, attacks three targets simultaneously, <$ba.sluggish>Slows inflicted by attacks are extended to <@ba.vup>1.2s","name":"Triform","desc":"Attack Interval reduces, attacks three targets simultaneously, Slows inflicted by attacks are extended to 1.2s"},{"descRaw":"Attack Range expands, ATK <@ba.vup>+50%, Talent 1's effect increases to <@ba.vup>2.5x, all enemies within range receive a <@ba.vup>20% <$ba.fragile>Fragile effect and a <@ba.vup>20% <$ba.weaken>Enfeeble effect","name":"Impulse Signal","desc":"Attack Range expands, ATK +50%, Talent 1's effect increases to 2.5x, all enemies within range receive a 20% Fragile effect and a 20% Enfeeble effect"}],"talents":[{"descRaw":"ASPD +15, adjacent Operators' ASPD +10","name":"Phase Locked","desc":"ASPD +15, adjacent Operators' ASPD +10"},{"descRaw":"Enemies within range have -10% Physical and Arts hit rate","name":"Decoy Blip","desc":"Enemies within range have -10% Physical and Arts hit rate"}],"modules":[{"name":"Raidian's Badge","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","moduleDescRaw":"SP recovery +0.2/s when there are enemies within range","desc":"Deals Arts damage and Slows the target for a short time","moduleDesc":"SP recovery +0.2/s when there are enemies within range"}}]},"2/60/7/3":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","desc":"Deals Arts damage and Slows the target for a short time"},"skills":[{"descRaw":"ATK <@ba.vup>+40%; attacks 1 extra target","name":"Diphony","desc":"ATK +40%; attacks 1 extra target"},{"descRaw":"Attack Interval <@ba.vup>reduces, attacks three targets simultaneously, <$ba.sluggish>Slows inflicted by attacks are extended to <@ba.vup>1.2s","name":"Triform","desc":"Attack Interval reduces, attacks three targets simultaneously, Slows inflicted by attacks are extended to 1.2s"},{"descRaw":"Attack Range expands, ATK <@ba.vup>+50%, Talent 1's effect increases to <@ba.vup>2.5x, all enemies within range receive a <@ba.vup>20% <$ba.fragile>Fragile effect and a <@ba.vup>20% <$ba.weaken>Enfeeble effect","name":"Impulse Signal","desc":"Attack Range expands, ATK +50%, Talent 1's effect increases to 2.5x, all enemies within range receive a 20% Fragile effect and a 20% Enfeeble effect"}],"talents":[{"descRaw":"ASPD +15, adjacent Operators' ASPD +10","name":"Phase Locked","desc":"ASPD +15, adjacent Operators' ASPD +10"},{"descRaw":"Enemies within range have -10% Physical and Arts hit rate","name":"Decoy Blip","desc":"Enemies within range have -10% Physical and Arts hit rate"}],"modules":[{"name":"Raidian's Badge","traitOverride":{"descRaw":"Deals <@ba.kw>Arts damage and <$ba.sluggish>Slows the target for a short time","moduleDescRaw":"SP recovery +0.2/s when there are enemies within range","desc":"Deals Arts damage and Slows the target for a short time","moduleDesc":"SP recovery +0.2/s when there are enemies within range"},"talentChanges":[null,{"descRaw":"ASPD +20, adjacent Operators' ASPD +12","name":"Phase Locked","desc":"ASPD +20, adjacent Operators' ASPD +12"}]}]}}},"char_615_acspec":{"subProfessionName":"Executor","moduleNames":{"uniequip_001_acspec":{"name":"Misery's Badge"},"uniequip_002_acspec":{"name":"Misery's Badge"}},"forms":{"2/1/4/0":{"trait":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","desc":"Significantly reduced Redeployment Time"},"skills":[{"descRaw":"After deployment, Talent 1's chance to trigger increases to <@ba.vup>25%, and gains <@ba.vup>45% Physical dodge","name":"When Physics Obeys","desc":"After deployment, Talent 1's chance to trigger increases to 25%, and gains 45% Physical dodge"},{"descRaw":"After deployment, ATK <@ba.vup>+30%, ASPD <@ba.vup>+15","name":"When War Complies","desc":"After deployment, ATK +30%, ASPD +15"},{"descRaw":"After deployment, immediately deals <@ba.vup>210% ATK as Physical damage to all surrounding enemies, then uses spatial Arts to drag all unblocked enemies <@ba.vup>slightly towards this unit and <$ba.sluggish>Slows them for <@ba.vup>2.5s","name":"When Space Surrenders","desc":"After deployment, immediately deals 210% ATK as Physical damage to all surrounding enemies, then uses spatial Arts to drag all unblocked enemies slightly towards this unit and Slows them for 2.5s"}],"talents":[{"descRaw":"Each attack has a 10% chance of striking twice","name":"Double-Hit Experiment","desc":"Each attack has a 10% chance of striking twice"},{"descRaw":"When there is only 1 enemy in the surrounding 4 tiles, ATK +10%","name":"Four-Dimensional Separation","desc":"When there is only 1 enemy in the surrounding 4 tiles, ATK +10%"}]},"2/60/7/1":{"trait":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","desc":"Significantly reduced Redeployment Time"},"skills":[{"descRaw":"After deployment, Talent 1's chance to trigger increases to <@ba.vup>25%, and gains <@ba.vup>60% Physical dodge","name":"When Physics Obeys","desc":"After deployment, Talent 1's chance to trigger increases to 25%, and gains 60% Physical dodge"},{"descRaw":"After deployment, ATK <@ba.vup>+45%, ASPD <@ba.vup>+15","name":"When War Complies","desc":"After deployment, ATK +45%, ASPD +15"},{"descRaw":"After deployment, immediately deals <@ba.vup>240% ATK as Physical damage to all surrounding enemies, then uses spatial Arts to drag all unblocked enemies <@ba.vup>slightly towards this unit and <$ba.sluggish>Slows them for <@ba.vup>2.5s","name":"When Space Surrenders","desc":"After deployment, immediately deals 240% ATK as Physical damage to all surrounding enemies, then uses spatial Arts to drag all unblocked enemies slightly towards this unit and Slows them for 2.5s"}],"talents":[{"descRaw":"Each attack has a 10% chance of striking twice","name":"Double-Hit Experiment","desc":"Each attack has a 10% chance of striking twice"},{"descRaw":"When there is only 1 enemy in the surrounding 4 tiles, ATK +10%","name":"Four-Dimensional Separation","desc":"When there is only 1 enemy in the surrounding 4 tiles, ATK +10%"}],"modules":[{"name":"Misery's Badge","traitOverride":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","moduleDescRaw":"When there are no allied units in the four adjacent tiles, ATK <@ba.kw>+10%","desc":"Significantly reduced Redeployment Time","moduleDesc":"When there are no allied units in the four adjacent tiles, ATK +10%"}}]},"2/60/7/3":{"trait":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","desc":"Significantly reduced Redeployment Time"},"skills":[{"descRaw":"After deployment, Talent 1's chance to trigger increases to <@ba.vup>25%, and gains <@ba.vup>60% Physical dodge","name":"When Physics Obeys","desc":"After deployment, Talent 1's chance to trigger increases to 25%, and gains 60% Physical dodge"},{"descRaw":"After deployment, ATK <@ba.vup>+45%, ASPD <@ba.vup>+15","name":"When War Complies","desc":"After deployment, ATK +45%, ASPD +15"},{"descRaw":"After deployment, immediately deals <@ba.vup>240% ATK as Physical damage to all surrounding enemies, then uses spatial Arts to drag all unblocked enemies <@ba.vup>slightly towards this unit and <$ba.sluggish>Slows them for <@ba.vup>2.5s","name":"When Space Surrenders","desc":"After deployment, immediately deals 240% ATK as Physical damage to all surrounding enemies, then uses spatial Arts to drag all unblocked enemies slightly towards this unit and Slows them for 2.5s"}],"talents":[{"descRaw":"Each attack has a 10% chance of striking twice","name":"Double-Hit Experiment","desc":"Each attack has a 10% chance of striking twice"},{"descRaw":"When there is only 1 enemy in the surrounding 4 tiles, ATK +10%","name":"Four-Dimensional Separation","desc":"When there is only 1 enemy in the surrounding 4 tiles, ATK +10%"}],"modules":[{"name":"Misery's Badge","traitOverride":{"descRaw":"Significantly <@ba.kw>reduced Redeployment Time","moduleDescRaw":"When there are no allied units in the four adjacent tiles, ATK <@ba.kw>+10%","desc":"Significantly reduced Redeployment Time","moduleDesc":"When there are no allied units in the four adjacent tiles, ATK +10%"},"talentChanges":[{"descRaw":"ATK +5%, each attack has a 15% chance of striking twice","name":"Double-Hit Experiment","desc":"ATK +5%, each attack has a 15% chance of striking twice"}]}]}}},"char_617_sharp2":{"name":"Lord/Sharp","subProfessionName":"Lord","moduleNames":{"uniequip_001_sharp2":{"name":"Lord/Sharp's Badge"},"uniequip_002_sharp2":{"name":"Lord/Sharp's Badge"}},"forms":{"2/1/4/0":{"trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"skills":[{"descRaw":"<@ba.vup>+130% ATK, <@ba.vup>+35 ASPD, simultaneously attacks <@ba.vup>2 targets, and ranged attacks no longer reduce ATK","name":"Silent Explosion","desc":"+130% ATK, +35 ASPD, simultaneously attacks 2 targets, and ranged attacks no longer reduce ATK"}],"talents":[{"descRaw":"ATK +20%; Obtains 25% Arts Dodge","name":"Soundless Blade","desc":"ATK +20%; Obtains 25% Arts Dodge"},{"descRaw":"ASPD +12 when there are 2 or more enemies in attack range","name":"Breacher's Courage","desc":"ASPD +12 when there are 2 or more enemies in attack range"}]},"2/60/7/1":{"trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"skills":[{"descRaw":"<@ba.vup>+180% ATK, <@ba.vup>+50 ASPD, simultaneously attacks <@ba.vup>2 targets, and ranged attacks no longer reduce ATK","name":"Silent Explosion","desc":"+180% ATK, +50 ASPD, simultaneously attacks 2 targets, and ranged attacks no longer reduce ATK"}],"talents":[{"descRaw":"ATK +20%; Obtains 25% Arts Dodge","name":"Soundless Blade","desc":"ATK +20%; Obtains 25% Arts Dodge"},{"descRaw":"ASPD +12 when there are 2 or more enemies in attack range","name":"Breacher's Courage","desc":"ASPD +12 when there are 2 or more enemies in attack range"}],"modules":[{"name":"Lord/Sharp's Badge","traitOverride":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"Attacks deal an additional <@ba.vup>10% ATK as Arts Damage","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"Attacks deal an additional 10% ATK as Arts Damage"}}]},"2/60/7/3":{"trait":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","desc":"Can launch Ranged Attacks that deal 80% of normal ATK"},"skills":[{"descRaw":"<@ba.vup>+180% ATK, <@ba.vup>+50 ASPD, simultaneously attacks <@ba.vup>2 targets, and ranged attacks no longer reduce ATK","name":"Silent Explosion","desc":"+180% ATK, +50 ASPD, simultaneously attacks 2 targets, and ranged attacks no longer reduce ATK"}],"talents":[{"descRaw":"ATK +20%; Obtains 25% Arts Dodge","name":"Soundless Blade","desc":"ATK +20%; Obtains 25% Arts Dodge"},{"descRaw":"ASPD +12 when there are 2 or more enemies in attack range","name":"Breacher's Courage","desc":"ASPD +12 when there are 2 or more enemies in attack range"}],"modules":[{"name":"Lord/Sharp's Badge","traitOverride":{"descRaw":"Can launch <@ba.kw>Ranged Attacks that deal 80% of normal ATK","moduleDescRaw":"Attacks deal an additional <@ba.vup>10% ATK as Arts Damage","desc":"Can launch Ranged Attacks that deal 80% of normal ATK","moduleDesc":"Attacks deal an additional 10% ATK as Arts Damage"},"talentChanges":[{"descRaw":"ATK +25%; Obtains 35% Arts Dodge","name":"Soundless Blade","desc":"ATK +25%; Obtains 35% Arts Dodge"}]}]}}},"_h":"68twtltlrqgeybu36xwg053k0e36re36tltlrqgeybu36xwg053k0e36re363ldr3h3higjpsdyje270igyjmh36re363h3h1ijpd71ie2d775yjae36re36cj11t8t829eeos3qcxodktmwi0uagpuat8t8gfeeragfcxra9kmwu3uagpua3tkfcwcwigjpsdyje270igyjmh36re36cwcw1ijpd71ie2d775yjae36re36t2wpce5yc39tn8c3ban88vzb2cy2kby2ce5yqp9tbm8vba2ctwzbvdy2kby2wr7q7676igkksdigwjsdtd0ixe36re3676761ikkd71iwjd7dg0ipd36re369bf2pn83c39tn8c3ban88vzb2cy2kby2pn83qp9tbm8vba2ctwzbvdy2kby2bj8vhagmawu0wo129jdaj4meuk36re36hagmx0u0dw9v9jt9nkmerw36re36dmtwsjsjtltl11grcleb046exqy1bky55vy57ub37utltlrngrhzsa04xb2ky1hqy55vy57ub37usj5c5ctltlrngrhzsa04xb2ky1hqy55vy57ub37usj5c5cd25vd2drueue3h3h2ypai32h5slr39qcv3syexsyd5vnd53h3h6zpaco4k5s9gcyqc9msyexsyd5vnd5ue3hf03har3h3h6zpaco4k5s9gcyqc9msyexsyd5vnd5ue3hf03harcxexcx11owowt8t8qq2zzqqzx4hht4w091fyccfy5juv5jt8t8522zs6bsx4yk14w025fyccfy5juv5jowt8lrt8ntt8t8522zs6bsx4yk14w025fyccfy5juv5jowt8lrt8ntwzccwzkfvyvycwcwfr7v8r2d63rwr5fs3nsgkjsgjs9mjscwcwex7vrl2d63rwlafssusgkjsgjs9mjsvycw9scwlscwcwex7vrl2d63rwlafssusgkjsgjs9mjsvycw9scwls0rkj0rkivrvrn1hbv3hzipypkf25srwtz75bnx5bgijrgin1hb98hz60i9kf6pp9wt8p5bnx5bgijrgivrn1d0hb5kn1hb98hz60i9kf6pp9wt8p5bnx5bgijrgivrn1d0hb5kk7jrk77qhtht76763h9xo9opeso8scy1p9pk9jpkzcirzc7676y39xu32fesc20ly1p2pk9jpkzcirzcht76by76dw7676y39xu32fesc20ly1p2pk9jpkzcirzcht76by76dwexirexf2pqpqpn83vey9jhjvqa85hpuyy861mw61ksm3kspn83bxy93oldqazhjnuyja61mw61ksm3kspqpn0i830ipn83bxy93oldqazhjnuyja61mw61ksm3kspqpn0i830iejmwej8vububhagmsf652fbdodb1labkzt2khy2kv1stv1hagm76658wj9odfxy3bkzg2khy2kv1stv1ubhazsgms8hagm76658wj9odfxy3bkzg2khy2kv1stv1ubhazsgms88bhy8bn55ylclc69jzx3ztfo833f83ne62ne69jz9fztp8833f83ne62nelc698gjzsn69jz9fztp8833f83ne62nelc698gjzsndp3fdp"},"diy":{"operators":{"char_003_kalts":{"name":"Kal'tsit"},"char_010_chen":{"name":"Ch'en"},"char_017_huang":{"name":"Blaze"},"char_112_siege":{"name":"Siege"},"char_134_ifrit":{"name":"Ifrit"},"char_147_shining":{"name":"Shining"},"char_179_cgbird":{"name":"Nightingale"},"char_180_amgoat":{"name":"Eyjafjalla"},"char_188_helage":{"name":"Hellagur"},"char_197_poca":{"name":"Rosa"},"char_225_haak":{"name":"Aak"},"char_248_mgllan":{"name":"Magallan"},"char_250_phatom":{"name":"Phantom"},"char_293_thorns":{"name":"Thorns"},"char_300_phenxi":{"name":"Fiammetta"},"char_322_lmlee":{"name":"Lee"},"char_340_shwaz":{"name":"Schwarz"},"char_362_saga":{"name":"Saga"},"char_377_gdglow":{"name":"Goldenglow"},"char_400_weedy":{"name":"Weedy"},"char_416_zumama":{"name":"Eunectes"},"char_450_necras":{"name":"Necrass"},"char_456_ash":{"name":"Ash"},"char_479_sleach":{"name":"Saileach"},"char_485_pallas":{"name":"Pallas"},"char_601_cguard":{"name":"Reserve Operator - Guard"},"char_602_cdfend":{"name":"Reserve Operator - Defender"},"char_603_csnipe":{"name":"Reserve Operator - Sniper"},"char_604_ccast":{"name":"Reserve Operator - Caster"},"char_605_cmedic":{"name":"Reserve Operator - Medic"},"char_606_csuppo":{"name":"Reserve Operator - Supporter"},"char_608_acpion":{"name":"Tulip"},"char_617_sharp2":{"name":"Lord/Sharp"},"char_1013_chen2":{"name":"Ch'en the Holungday"},"char_1029_yato2":{"name":"Kirin R Yato"},"char_1031_slent2":{"name":"Silence the Paradigmatic"},"char_1034_jesca2":{"name":"Jessica the Liberated"},"char_1035_wisdel":{"name":"Wiš'adel"},"char_1042_phatm2":{"name":"Tragodia"},"char_1043_leizi2":{"name":"Leizi the Thunderbringer"},"char_1044_hsgma2":{"name":"Hoshiguma the Breacher"},"char_1050_chen3":{"name":"Ch'en the Dawnstreak"},"char_1051_headb2":{"name":"Zima the Raging Tide"},"char_1502_crosly":{"name":"Crownslayer"},"char_2012_typhon":{"name":"Typhon"},"char_2013_cerber":{"name":"Ceobe"},"char_2014_nian":{"name":"Nian"},"char_2023_ling":{"name":"Ling"},"char_2024_chyue":{"name":"Chongyue"},"char_2025_shu":{"name":"Shu"},"char_2027_wang":{"name":"Wang"},"char_4009_irene":{"name":"Irene"},"char_4011_lessng":{"name":"Lessing"},"char_4027_heyak":{"name":"Ho'olheyak"},"char_4037_demetr":{"name":"Bellone"},"char_4046_ebnhlz":{"name":"Ebenholz"},"char_4048_doroth":{"name":"Dorothy"},"char_4055_bgsnow":{"name":"Pozëmka"},"char_4065_judge":{"name":"Penance"},"char_4072_ironmn":{"name":"Stainless"},"char_4080_lin":{"name":"Lin"},"char_4088_hodrer":{"name":"Hoederer"},"char_4098_vvana":{"name":"Viviana"},"char_4117_ray":{"name":"Ray"},"char_4121_zuole":{"name":"Zuo Le"},"char_4123_ela":{"name":"Ela"},"char_4132_ascln":{"name":"Ascalon"},"char_4133_logos":{"name":"Logos"},"char_4138_narant":{"name":"Narantuya"},"char_4141_marcil":{"name":"Marcille"},"char_4182_oblvns":{"name":"Sakiko Togawa"},"char_4195_radian":{"name":"Raidian"},"char_4202_haruka":{"name":"Haruka"},"char_4204_mantra":{"name":"Mantra"},"char_4212_nasti":{"name":"Nasti"}},"_h":"omxj9ngywys837bq8fkykepxoa0nxwk85oo2izuau9rcvdcgfg3lcj3tt2wr9bdmn5ap7s0pocspw1ox1rjah2w0bxj37n034xu0q2byt1w46swme5ocmme3l2zkrag28b94b41bqm1v9nthbk2ino"}},"tokens":{"token_10000_silent_healrb":{"descRaw":"Cannot be attacked; restores the HP of nearby friendly units","name":"Medic Drone","desc":"Cannot be attacked; restores the HP of nearby friendly units","variants":{"chess_char_2_02_a":{"trait":{"descRaw":"Cannot be attacked; restores the HP of nearby friendly units","desc":"Cannot be attacked; restores the HP of nearby friendly units"},"skill":{"descRaw":"Self-destructs in <@ba.vup>10 seconds","name":"Self-Destruct","desc":"Self-destructs in 10 seconds"},"bySkill":{"0":{"skill":{"descRaw":"Self-destructs in <@ba.vup>10 seconds","name":"Self-Destruct","desc":"Self-destructs in 10 seconds"}}}},"chess_char_2_02_b":{"trait":{"descRaw":"Cannot be attacked; restores the HP of nearby friendly units","desc":"Cannot be attacked; restores the HP of nearby friendly units"},"skill":{"descRaw":"Self-destructs in <@ba.vup>10 seconds","name":"Self-Destruct","desc":"Self-destructs in 10 seconds"},"bySkill":{"0":{"skill":{"descRaw":"Self-destructs in <@ba.vup>10 seconds","name":"Self-Destruct","desc":"Self-destructs in 10 seconds"}}},"byModule":{"none":{"trait":{"descRaw":"Cannot be attacked; restores the HP of nearby friendly units","desc":"Cannot be attacked; restores the HP of nearby friendly units"}}}}},"_h":"8i3j8i8i8iek53s9ek53s98i8iek53s9ek53s98i8i"},"token_10006_vodfox_doll":{"descRaw":"Cannot be attacked","name":"Cursed Doll","desc":"Cannot be attacked","variants":{"chess_char_3_15_a":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"skill":{"descRaw":"Reduces the ATK and DEF of enemies within range by <@ba.vup>-25%","name":"Cursed Doll","desc":"Reduces the ATK and DEF of enemies within range by -25%"},"bySkill":{"0":{"skill":{"descRaw":"Reduces the ATK and DEF of enemies within range by <@ba.vup>-25%","name":"Cursed Doll","desc":"Reduces the ATK and DEF of enemies within range by -25%"}}}},"chess_char_3_15_b":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"skill":{"descRaw":"Reduces the ATK and DEF of enemies within range by <@ba.vup>-30%","name":"Cursed Doll","desc":"Reduces the ATK and DEF of enemies within range by -30%"},"bySkill":{"0":{"skill":{"descRaw":"Reduces the ATK and DEF of enemies within range by <@ba.vup>-30%","name":"Cursed Doll","desc":"Reduces the ATK and DEF of enemies within range by -30%"}}},"byModule":{"none":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"}}}}},"_h":"9zro9z9z9z3eroq33eroq39z9zr4roilr4roil9z9z"},"token_10011_beewax_oblisk":{"descRaw":"Blocks 3 enemies","name":"Sand Obelisk","desc":"Blocks 3 enemies","variants":{"chess_char_4_05_a":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skill":{"descRaw":"When appearing, deals <@ba.vup>200% ATK as Arts damage to nearby enemies and <$ba.stun>Stuns them for <@ba.vup>1 seconds","name":"Summon Sand Obelisk","desc":"When appearing, deals 200% ATK as Arts damage to nearby enemies and Stuns them for 1 seconds"},"bySkill":{"0":{"skill":{"descRaw":"When appearing, deals <@ba.vup>200% ATK as Arts damage to nearby enemies and <$ba.stun>Stuns them for <@ba.vup>1 seconds","name":"Summon Sand Obelisk","desc":"When appearing, deals 200% ATK as Arts damage to nearby enemies and Stuns them for 1 seconds"}}}},"chess_char_4_05_b":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"skill":{"descRaw":"When appearing, deals <@ba.vup>230% ATK as Arts damage to nearby enemies and <$ba.stun>Stuns them for <@ba.vup>1.5 seconds","name":"Summon Sand Obelisk","desc":"When appearing, deals 230% ATK as Arts damage to nearby enemies and Stuns them for 1.5 seconds"},"bySkill":{"0":{"skill":{"descRaw":"When appearing, deals <@ba.vup>230% ATK as Arts damage to nearby enemies and <$ba.stun>Stuns them for <@ba.vup>1.5 seconds","name":"Summon Sand Obelisk","desc":"When appearing, deals 230% ATK as Arts damage to nearby enemies and Stuns them for 1.5 seconds"}}},"byModule":{"none":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"}}}}},"_h":"t8d0t8t8t83bs4q33bs4q3t8t88ls4in8ls4int8t8"},"token_10012_rosmon_shield":{"descRaw":"Blocks 2 enemies, and reduces the DEF of blocked units","name":"Rosmontis's Tactical Equipment","desc":"Blocks 2 enemies, and reduces the DEF of blocked units","variants":{"chess_char_6_12_a":{"trait":{"descRaw":"Blocks 2 enemies, and reduces the DEF of blocked units","desc":"Blocks 2 enemies, and reduces the DEF of blocked units"},"skill":{"descRaw":"When appearing, <$ba.stun>Stuns surrounding enemies for <@ba.vup>2 seconds","name":"Call Tactical Equipment","desc":"When appearing, Stuns surrounding enemies for 2 seconds"},"bySkill":{"0":{"skill":{"descRaw":"When appearing, <$ba.stun>Stuns surrounding enemies for <@ba.vup>2 seconds","name":"Call Tactical Equipment","desc":"When appearing, Stuns surrounding enemies for 2 seconds"}},"2":{"skill":{"descRaw":"When appearing, <$ba.stun>Stuns surrounding enemies for <@ba.vup>2 seconds","name":"Call Tactical Equipment","desc":"When appearing, Stuns surrounding enemies for 2 seconds"}}}},"chess_char_6_12_b":{"trait":{"descRaw":"Blocks 2 enemies, and reduces the DEF of blocked units","desc":"Blocks 2 enemies, and reduces the DEF of blocked units"},"skill":{"descRaw":"When appearing, <$ba.stun>Stuns surrounding enemies for <@ba.vup>2.5 seconds","name":"Call Tactical Equipment","desc":"When appearing, Stuns surrounding enemies for 2.5 seconds"},"bySkill":{"0":{"skill":{"descRaw":"When appearing, <$ba.stun>Stuns surrounding enemies for <@ba.vup>2.5 seconds","name":"Call Tactical Equipment","desc":"When appearing, Stuns surrounding enemies for 2.5 seconds"}},"2":{"skill":{"descRaw":"When appearing, <$ba.stun>Stuns surrounding enemies for <@ba.vup>2.5 seconds","name":"Call Tactical Equipment","desc":"When appearing, Stuns surrounding enemies for 2.5 seconds"}}},"byModule":{"uniequip_003_rosmon":{"trait":{"descRaw":"Blocks 2 enemies. In <@ba.kw>Integrated Strategies, its Stun effect extends to 5s, and its ability of reducing the DEF of blocked enemies changes to reducing the DEF of ground enemies on the surrounding 8 tiles by <@ba.kw>400, and their RES by <@ba.kw>20 (does not stack)","desc":"Blocks 2 enemies. In Integrated Strategies, its Stun effect extends to 5s, and its ability of reducing the DEF of blocked enemies changes to reducing the DEF of ground enemies on the surrounding 8 tiles by 400, and their RES by 20 (does not stack)"}},"none":{"trait":{"descRaw":"Blocks 2 enemies, and reduces the DEF of blocked units","desc":"Blocks 2 enemies, and reduces the DEF of blocked units"}}}}},"_h":"xda9xdxdxdfu2osrfu2osrfu2osrxdxd7v2odw7v2odw7v2odwj1l1xdxd"},"token_10015_dusk_drgn":{"descRaw":"Deals <@ba.kw>Arts damage","name":"'Freeling'","desc":"Deals Arts damage","variants":{"chess_char_5_12_a":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"}},"chess_char_5_12_b":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"},"byModule":{"uniequip_003_dusk":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"}},"uniequip_004_dusk":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"}},"none":{"trait":{"descRaw":"Deals <@ba.kw>Arts damage","desc":"Deals Arts damage"}}}}},"_h":"ce7d5yce5yce5yce5yce5yce5y"},"token_10017_skadi2_dedant":{"descRaw":"Cannot be attacked","name":"Skadi's Seaborn","desc":"Cannot be attacked","variants":{"chess_char_6_04_a":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"skill":{"descRaw":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range","name":"Resonance","desc":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range"},"talents":[{"descRaw":"Lasts 25 seconds after deployment","name":"Ancient Kin","desc":"Lasts 25 seconds after deployment"}],"bySkill":{"0":{"skill":{"descRaw":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range","name":"Resonance","desc":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range"}},"1":{"skill":{"descRaw":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range","name":"Resonance","desc":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range"}}}},"chess_char_6_04_b":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"skill":{"descRaw":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range","name":"Resonance","desc":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range"},"talents":[{"descRaw":"Lasts 30 seconds after deployment","name":"Ancient Kin","desc":"Lasts 30 seconds after deployment"}],"bySkill":{"0":{"skill":{"descRaw":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range","name":"Resonance","desc":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range"}},"1":{"skill":{"descRaw":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range","name":"Resonance","desc":"Attack Range is regarded as an extension of Skadi the Corrupting Heart's Attack Range"}}},"byModule":{"uniequip_003_skadi2":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"talents":[{"descRaw":"Lasts 25 seconds after deployment","name":"Ancient Kin","desc":"Lasts 25 seconds after deployment"}]},"none":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"talents":[{"descRaw":"Lasts 25 seconds after deployment","name":"Ancient Kin","desc":"Lasts 25 seconds after deployment"}]}}}},"_h":"9zxx9z9z9zvojxvoeqlbeqvojxvovojxvo9z9zvojxvoiolbiovojxvovojxvo9z9zeqlbeq9z9zeqlbeq"},"token_10019_nearl2_sword":{"descRaw":"Blocks 2 enemies","name":"'Blazing Sun'","desc":"Blocks 2 enemies","variants":{"chess_char_6_17_a":{"trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"skill":{"descRaw":"When deploying, deals <@ba.vup>90% ATK as True damage to enemies in the four adjacent tiles and <$ba.stun>Stuns them for <@ba.vup>3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit","name":"'Blazing Sun'","desc":"When deploying, deals 90% ATK as True damage to enemies in the four adjacent tiles and Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit"},"bySkill":{"0":{"skill":{"descRaw":"When deploying, deals <@ba.vup>90% ATK as True damage to enemies in the four adjacent tiles and <$ba.stun>Stuns them for <@ba.vup>3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit","name":"'Blazing Sun'","desc":"When deploying, deals 90% ATK as True damage to enemies in the four adjacent tiles and Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit"}},"1":{"skill":{"descRaw":"When deploying, deals <@ba.vup>90% ATK as True damage to enemies in the four adjacent tiles and <$ba.stun>Stuns them for <@ba.vup>3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit","name":"'Blazing Sun'","desc":"When deploying, deals 90% ATK as True damage to enemies in the four adjacent tiles and Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit"}}}},"chess_char_6_17_b":{"trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"},"skill":{"descRaw":"When deploying, deals <@ba.vup>100% ATK as True damage to enemies in the four adjacent tiles and <$ba.stun>Stuns them for <@ba.vup>3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit","name":"'Blazing Sun'","desc":"When deploying, deals 100% ATK as True damage to enemies in the four adjacent tiles and Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit"},"bySkill":{"0":{"skill":{"descRaw":"When deploying, deals <@ba.vup>100% ATK as True damage to enemies in the four adjacent tiles and <$ba.stun>Stuns them for <@ba.vup>3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit","name":"'Blazing Sun'","desc":"When deploying, deals 100% ATK as True damage to enemies in the four adjacent tiles and Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit"}},"1":{"skill":{"descRaw":"When deploying, deals <@ba.vup>100% ATK as True damage to enemies in the four adjacent tiles and <$ba.stun>Stuns them for <@ba.vup>3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit","name":"'Blazing Sun'","desc":"When deploying, deals 100% ATK as True damage to enemies in the four adjacent tiles and Stuns them for 3 seconds. If the previously deployed Operator is from Kazimierz, deals an additional hit"}}},"byModule":{"uniequip_003_nearl2":{"trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"}},"none":{"trait":{"descRaw":"Blocks 2 enemies","desc":"Blocks 2 enemies"}}}}},"_h":"tlm9tltltl70m95270m95270m952tltl9km9si9km9si9km9sitltltltl"},"token_10022_kazema_shadow":{"descRaw":"Cannot block enemies","name":"Kaminingyo","desc":"Cannot block enemies","variants":{"chess_char_2_11_a":{"trait":{"descRaw":"Cannot block enemies","desc":"Cannot block enemies"}},"chess_char_2_11_b":{"trait":{"descRaw":"Cannot block enemies","desc":"Cannot block enemies"},"byModule":{"none":{"trait":{"descRaw":"Cannot block enemies","desc":"Cannot block enemies"}}}}},"_h":"36hf36363636363636"},"token_10028_vigil_wolf":{"descRaw":"Can only be deployed within the summoner's Attack Range","name":"Wolfpack","desc":"Can only be deployed within the summoner's Attack Range","variants":{"chess_char_3_19_a":{"trait":{"descRaw":"Can only be deployed within the summoner's Attack Range","desc":"Can only be deployed within the summoner's Attack Range"},"skill":{"name":"Wolfpack"},"talents":[{"descRaw":"Gains 1 'Wolf Shadow' every 25s (up to a maximum of 3). For each 'Wolf Shadow' present, the Wolfpack gains +1 Block, and each attack inflicts an additional instance of damage; when more than 1 'Wolf Shadow' is present, upon taking lethal damage 1 'Wolf Shadow' will be lost to fully restore HP.","name":"Leader of the Wolfpack","desc":"Gains 1 'Wolf Shadow' every 25s (up to a maximum of 3). For each 'Wolf Shadow' present, the Wolfpack gains +1 Block, and each attack inflicts an additional instance of damage; when more than 1 'Wolf Shadow' is present, upon taking lethal damage 1 'Wolf Shadow' will be lost to fully restore HP."},{"descRaw":"Ignores 175 DEF when attacking a blocked target","name":"Wolven Nature","desc":"Ignores 175 DEF when attacking a blocked target"}],"bySkill":{"0":{"skill":{"name":"Wolfpack"}},"1":{"skill":{"name":"Wolfpack"}}}},"chess_char_3_19_b":{"trait":{"descRaw":"Can only be deployed within the summoner's Attack Range","desc":"Can only be deployed within the summoner's Attack Range"},"skill":{"name":"Wolfpack"},"talents":[{"descRaw":"Gains 1 'Wolf Shadow' every 25s (up to a maximum of 3). For each 'Wolf Shadow' present, the Wolfpack gains +1 Block, and each attack inflicts an additional instance of damage; when more than 1 'Wolf Shadow' is present, upon taking lethal damage 1 'Wolf Shadow' will be lost to fully restore HP.","name":"Leader of the Wolfpack","desc":"Gains 1 'Wolf Shadow' every 25s (up to a maximum of 3). For each 'Wolf Shadow' present, the Wolfpack gains +1 Block, and each attack inflicts an additional instance of damage; when more than 1 'Wolf Shadow' is present, upon taking lethal damage 1 'Wolf Shadow' will be lost to fully restore HP."},{"descRaw":"Ignores 175 DEF when attacking a blocked target","name":"Wolven Nature","desc":"Ignores 175 DEF when attacking a blocked target"}],"bySkill":{"0":{"skill":{"name":"Wolfpack"}},"1":{"skill":{"name":"Wolfpack"}}},"byModule":{"uniequip_003_vigil":{"trait":{"descRaw":"Can only be deployed within the summoner's Attack Range","desc":"Can only be deployed within the summoner's Attack Range"},"talents":[{"descRaw":"Gains 1 'Wolf Shadow' every 25s (up to a maximum of 3). For each 'Wolf Shadow' present, the Wolfpack gains +1 Block, and each attack inflicts an additional instance of damage; when more than 1 'Wolf Shadow' is present, upon taking lethal damage 1 'Wolf Shadow' will be lost to fully restore HP.","name":"Leader of the Wolfpack","desc":"Gains 1 'Wolf Shadow' every 25s (up to a maximum of 3). For each 'Wolf Shadow' present, the Wolfpack gains +1 Block, and each attack inflicts an additional instance of damage; when more than 1 'Wolf Shadow' is present, upon taking lethal damage 1 'Wolf Shadow' will be lost to fully restore HP."},{"descRaw":"Ignores 175 DEF when attacking a blocked target","name":"Wolven Nature","desc":"Ignores 175 DEF when attacking a blocked target"}]},"none":{"trait":{"descRaw":"Can only be deployed within the summoner's Attack Range","desc":"Can only be deployed within the summoner's Attack Range"},"talents":[{"descRaw":"Gains 1 'Wolf Shadow' every 25s (up to a maximum of 3). For each 'Wolf Shadow' present, the Wolfpack gains +1 Block, and each attack inflicts an additional instance of damage; when more than 1 'Wolf Shadow' is present, upon taking lethal damage 1 'Wolf Shadow' will be lost to fully restore HP.","name":"Leader of the Wolfpack","desc":"Gains 1 'Wolf Shadow' every 25s (up to a maximum of 3). For each 'Wolf Shadow' present, the Wolfpack gains +1 Block, and each attack inflicts an additional instance of damage; when more than 1 'Wolf Shadow' is present, upon taking lethal damage 1 'Wolf Shadow' will be lost to fully restore HP."},{"descRaw":"Ignores 175 DEF when attacking a blocked target","name":"Wolven Nature","desc":"Ignores 175 DEF when attacking a blocked target"}]}}}},"_h":"kjjhkjkjkjjhs4hxs43ptt3pjhjhkjkjjhs4hxs43ptt3pjhjhkjkjs4hxs43ptt3pkjkjs4hxs43ptt3p"},"token_10030_mlyss_wtrman":{"descRaw":"The initial attack deals <@ba.kw>Arts damage; can only be deployed within the summoner's Attack Range","name":"Flowing Shape","desc":"The initial attack deals Arts damage; can only be deployed within the summoner's Attack Range","variants":{"chess_char_6_11_a":{"trait":{"descRaw":"The initial attack deals <@ba.kw>Arts damage; can only be deployed within the summoner's Attack Range","desc":"The initial attack deals Arts damage; can only be deployed within the summoner's Attack Range"},"skill":{"descRaw":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every <@ba.vup>10 attacks, automatically deploying a copy on an adjacent tile (lasts <@ba.vup>25 seconds); if it is a Melee Operator, each attack <$ba.steal>Steals <@ba.vup>10 ATK and DEF from enemies (Caps at<@ba.vup>250, resets after copying another Operator)","name":"Flowing Shape","desc":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every 10 attacks, automatically deploying a copy on an adjacent tile (lasts 25 seconds); if it is a Melee Operator, each attack Steals 10 ATK and DEF from enemies (Caps at250, resets after copying another Operator)"},"talents":[{"descRaw":"On skill activation, copies 90% of the target's HP, ATK, DEF, and RES, as well as Block Count, Attack Interval, Attack Range, and Initial Damage Type (Does not inherit 'does not attack' or healing type)","desc":"On skill activation, copies 90% of the target's HP, ATK, DEF, and RES, as well as Block Count, Attack Interval, Attack Range, and Initial Damage Type (Does not inherit 'does not attack' or healing type)"}],"bySkill":{"0":{"skill":{"descRaw":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every <@ba.vup>10 attacks, automatically deploying a copy on an adjacent tile (lasts <@ba.vup>25 seconds); if it is a Melee Operator, each attack <$ba.steal>Steals <@ba.vup>10 ATK and DEF from enemies (Caps at<@ba.vup>250, resets after copying another Operator)","name":"Flowing Shape","desc":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every 10 attacks, automatically deploying a copy on an adjacent tile (lasts 25 seconds); if it is a Melee Operator, each attack Steals 10 ATK and DEF from enemies (Caps at250, resets after copying another Operator)"}},"1":{"skill":{"descRaw":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every <@ba.vup>10 attacks, automatically deploying a copy on an adjacent tile (lasts <@ba.vup>25 seconds); if it is a Melee Operator, each attack <$ba.steal>Steals <@ba.vup>10 ATK and DEF from enemies (Caps at<@ba.vup>250, resets after copying another Operator)","name":"Flowing Shape","desc":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every 10 attacks, automatically deploying a copy on an adjacent tile (lasts 25 seconds); if it is a Melee Operator, each attack Steals 10 ATK and DEF from enemies (Caps at250, resets after copying another Operator)"}}}},"chess_char_6_11_b":{"trait":{"descRaw":"The initial attack deals <@ba.kw>Arts damage; can only be deployed within the summoner's Attack Range","desc":"The initial attack deals Arts damage; can only be deployed within the summoner's Attack Range"},"skill":{"descRaw":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every <@ba.vup>10 attacks, automatically deploying a copy on an adjacent tile (lasts <@ba.vup>25 seconds); if it is a Melee Operator, each attack <$ba.steal>Steals <@ba.vup>10 ATK and DEF from enemies (Caps at<@ba.vup>250, resets after copying another Operator)","name":"Flowing Shape","desc":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every 10 attacks, automatically deploying a copy on an adjacent tile (lasts 25 seconds); if it is a Melee Operator, each attack Steals 10 ATK and DEF from enemies (Caps at250, resets after copying another Operator)"},"talents":[{"descRaw":"On skill activation, copies 100% of the target's HP, ATK, DEF, and RES, as well as Block Count, Attack Interval, Attack Range, and Initial Damage Type (Does not inherit 'does not attack' or healing type)","desc":"On skill activation, copies 100% of the target's HP, ATK, DEF, and RES, as well as Block Count, Attack Interval, Attack Range, and Initial Damage Type (Does not inherit 'does not attack' or healing type)"}],"bySkill":{"0":{"skill":{"descRaw":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every <@ba.vup>10 attacks, automatically deploying a copy on an adjacent tile (lasts <@ba.vup>25 seconds); if it is a Melee Operator, each attack <$ba.steal>Steals <@ba.vup>10 ATK and DEF from enemies (Caps at<@ba.vup>250, resets after copying another Operator)","name":"Flowing Shape","desc":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every 10 attacks, automatically deploying a copy on an adjacent tile (lasts 25 seconds); if it is a Melee Operator, each attack Steals 10 ATK and DEF from enemies (Caps at250, resets after copying another Operator)"}},"1":{"skill":{"descRaw":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every <@ba.vup>10 attacks, automatically deploying a copy on an adjacent tile (lasts <@ba.vup>25 seconds); if it is a Melee Operator, each attack <$ba.steal>Steals <@ba.vup>10 ATK and DEF from enemies (Caps at<@ba.vup>250, resets after copying another Operator)","name":"Flowing Shape","desc":"Copies an undeployed Operator. If it is a Ranged Operator, can split itself after every 10 attacks, automatically deploying a copy on an adjacent tile (lasts 25 seconds); if it is a Melee Operator, each attack Steals 10 ATK and DEF from enemies (Caps at250, resets after copying another Operator)"}}},"byModule":{"uniequip_003_mlyss":{"trait":{"descRaw":"The initial attack deals <@ba.kw>Arts damage; can only be deployed within the summoner's Attack Range","desc":"The initial attack deals Arts damage; can only be deployed within the summoner's Attack Range"},"talents":[{"descRaw":"On skill activation, copies 90% of the target's HP, ATK, DEF, and RES, as well as Block Count, Attack Interval, Attack Range, and Initial Damage Type (Does not inherit 'does not attack' or healing type)","desc":"On skill activation, copies 90% of the target's HP, ATK, DEF, and RES, as well as Block Count, Attack Interval, Attack Range, and Initial Damage Type (Does not inherit 'does not attack' or healing type)"}]},"none":{"trait":{"descRaw":"The initial attack deals <@ba.kw>Arts damage; can only be deployed within the summoner's Attack Range","desc":"The initial attack deals Arts damage; can only be deployed within the summoner's Attack Range"},"talents":[{"descRaw":"On skill activation, copies 90% of the target's HP, ATK, DEF, and RES, as well as Block Count, Attack Interval, Attack Range, and Initial Damage Type (Does not inherit 'does not attack' or healing type)","desc":"On skill activation, copies 90% of the target's HP, ATK, DEF, and RES, as well as Block Count, Attack Interval, Attack Range, and Initial Damage Type (Does not inherit 'does not attack' or healing type)"}]}}}},"_h":"ve6y6ave6awu6ywtvavawu6ywtwu6ywtve6awu6ywt4i4iwu6ywtwu6ywtve6avavave6avava"},"token_10031_swire2_gdtrap":{"name":"Champagne Bomb","variants":{"chess_char_3_04_a":{"skill":{"descRaw":"Deals Physical damage to the first enemy it comes in contact with and <$ba.sluggish>Slows\n<@ba.rem>The Champagne Bomb deals additional damage after having been deployed for 3 seconds","name":"'Courtesy Gift'","desc":"Deals Physical damage to the first enemy it comes in contact with and Slows\nThe Champagne Bomb deals additional damage after having been deployed for 3 seconds"},"bySkill":{"0":{"skill":{"descRaw":"Deals Physical damage to the first enemy it comes in contact with and <$ba.sluggish>Slows\n<@ba.rem>The Champagne Bomb deals additional damage after having been deployed for 3 seconds","name":"'Courtesy Gift'","desc":"Deals Physical damage to the first enemy it comes in contact with and Slows\nThe Champagne Bomb deals additional damage after having been deployed for 3 seconds"}},"2":{"skill":{"descRaw":"Deals Physical damage to the first enemy it comes in contact with and <$ba.sluggish>Slows\n<@ba.rem>The Champagne Bomb deals additional damage after having been deployed for 3 seconds","name":"'Courtesy Gift'","desc":"Deals Physical damage to the first enemy it comes in contact with and Slows\nThe Champagne Bomb deals additional damage after having been deployed for 3 seconds"}}}},"chess_char_3_04_b":{"skill":{"descRaw":"Deals Physical damage to the first enemy it comes in contact with and <$ba.sluggish>Slows\n<@ba.rem>The Champagne Bomb deals additional damage after having been deployed for 3 seconds","name":"'Courtesy Gift'","desc":"Deals Physical damage to the first enemy it comes in contact with and Slows\nThe Champagne Bomb deals additional damage after having been deployed for 3 seconds"},"bySkill":{"0":{"skill":{"descRaw":"Deals Physical damage to the first enemy it comes in contact with and <$ba.sluggish>Slows\n<@ba.rem>The Champagne Bomb deals additional damage after having been deployed for 3 seconds","name":"'Courtesy Gift'","desc":"Deals Physical damage to the first enemy it comes in contact with and Slows\nThe Champagne Bomb deals additional damage after having been deployed for 3 seconds"}},"2":{"skill":{"descRaw":"Deals Physical damage to the first enemy it comes in contact with and <$ba.sluggish>Slows\n<@ba.rem>The Champagne Bomb deals additional damage after having been deployed for 3 seconds","name":"'Courtesy Gift'","desc":"Deals Physical damage to the first enemy it comes in contact with and Slows\nThe Champagne Bomb deals additional damage after having been deployed for 3 seconds"}}}}},"_h":"wmrlmn4prlmn4prlmn4prlmn4prlmn4prlmn4p"},"token_10039_ulpia_block":{"descRaw":"When skill ends, Ulpianus returns to this position and no other Operators may be deployed","name":"Undeviating Course","desc":"When skill ends, Ulpianus returns to this position and no other Operators may be deployed","variants":{"chess_char_5_05_a":{"trait":{"descRaw":"When skill ends, Ulpianus returns to this position and no other Operators may be deployed","desc":"When skill ends, Ulpianus returns to this position and no other Operators may be deployed"}},"chess_char_5_05_b":{"trait":{"descRaw":"When skill ends, Ulpianus returns to this position and no other Operators may be deployed","desc":"When skill ends, Ulpianus returns to this position and no other Operators may be deployed"},"byModule":{"none":{"trait":{"descRaw":"When skill ends, Ulpianus returns to this position and no other Operators may be deployed","desc":"When skill ends, Ulpianus returns to this position and no other Operators may be deployed"}}}}},"_h":"m9utm9m9m9m9m9m9m9"},"token_10040_siege2_vlion":{"descRaw":"Blocks 1 enemy, and attacks deal <@ba.kw>True damage","name":"Golden Vows","desc":"Blocks 1 enemy, and attacks deal True damage","variants":{"chess_char_6_07_a":{"trait":{"descRaw":"Blocks 1 enemy, and attacks deal <@ba.kw>True damage","desc":"Blocks 1 enemy, and attacks deal True damage"}},"chess_char_6_07_b":{"trait":{"descRaw":"Blocks 1 enemy, and attacks deal <@ba.kw>True damage","desc":"Blocks 1 enemy, and attacks deal True damage"},"byModule":{"uniequip_003_siege2":{"trait":{"descRaw":"Blocks 1 enemy, and attacks deal <@ba.kw>True damage","desc":"Blocks 1 enemy, and attacks deal True damage"}},"none":{"trait":{"descRaw":"Blocks 1 enemy, and attacks deal <@ba.kw>True damage","desc":"Blocks 1 enemy, and attacks deal True damage"}}}}},"_h":"4348dt43dt43dt43dt43dt"},"token_10041_cathy_catsld":{"descRaw":"Cannot be attacked","name":"Crawler Protection Unit","desc":"Cannot be attacked","variants":{"chess_char_4_11_a":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"skill":{"name":"Tempered by War"},"talents":[{"descRaw":"Grants an Operator within range a <$ba.barrier>Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, <$ba.barrier>Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack; Unlimited duration","name":"Directional Support Signal","desc":"Grants an Operator within range a Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack; Unlimited duration"}],"bySkill":{"0":{"skill":{"name":"Wrought by Age"}}}},"chess_char_4_11_b":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"skill":{"name":"Tempered by War"},"talents":[{"descRaw":"Grants an Operator within range a <$ba.barrier>Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, <$ba.barrier>Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack; Unlimited duration","name":"Directional Support Signal","desc":"Grants an Operator within range a Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack; Unlimited duration"}],"bySkill":{"0":{"skill":{"name":"Wrought by Age"}}},"byModule":{"none":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"talents":[{"descRaw":"Grants an Operator within range a <$ba.barrier>Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, <$ba.barrier>Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack; Unlimited duration","name":"Directional Support Signal","desc":"Grants an Operator within range a Barrier equal to 20% of Catherine's Max HP (if target has not received an attack within 5s, Barrier replenishes by 6% of Catherine's Max HP every second, cannot go over the starting limit); effects from Devices do not stack; Unlimited duration"}]}}}},"_h":"9zy19z9z9zbwrlcnt51e9z9zbwrlcnt51e9z9zrlcnt5"},"token_10056_angel2_target":{"descRaw":"Cannot be attacked","name":"Delivery Coordinates","desc":"Cannot be attacked","variants":{"chess_char_6_13_a":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"skill":{"name":"Shootoholic"},"bySkill":{"0":{"skill":{"name":"Sweeping the Skies"}},"2":{"skill":{"name":"Guaranteed Success!"}}}},"chess_char_6_13_b":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"},"skill":{"name":"Shootoholic"},"bySkill":{"0":{"skill":{"name":"Sweeping the Skies"}},"2":{"skill":{"name":"Guaranteed Success!"}}},"byModule":{"none":{"trait":{"descRaw":"Cannot be attacked","desc":"Cannot be attacked"}}}}},"_h":"9zvz9z9z9z6j34tp9z9z6j34tp9z9z"},"token_10057_svash2_eagle1":{"descRaw":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","name":"Eye of the Blizzard","desc":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","variants":{"chess_char_5_14_a":{"trait":{"descRaw":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","desc":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill"},"skill":{"name":"Open Game"},"talents":[{"descRaw":"Increases starting SP and decreases Redeployment Time of the left Operators","name":"Open Game","desc":"Increases starting SP and decreases Redeployment Time of the left Operators"}],"bySkill":{"0":{"skill":{"name":"Open Game"}},"2":{"skill":{"descRaw":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a <@ba.vup>straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and <@ba.vup>refunds DP cost","name":"Castled King","desc":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and refunds DP cost"}}}},"chess_char_5_14_b":{"trait":{"descRaw":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","desc":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill"},"skill":{"name":"Open Game"},"talents":[{"descRaw":"Increases starting SP and decreases Redeployment Time of the left Operators","name":"Open Game","desc":"Increases starting SP and decreases Redeployment Time of the left Operators"}],"bySkill":{"0":{"skill":{"name":"Open Game"}},"2":{"skill":{"descRaw":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a <@ba.vup>straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and <@ba.vup>refunds DP cost","name":"Castled King","desc":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and refunds DP cost"}}}}},"_h":"b1eeb1b1b15ool5ool5olfjlr7b1b15ool5ool5olfjlr7"},"token_10057_svash2_eagle2":{"descRaw":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","name":"Eye of the Blizzard","desc":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","variants":{"chess_char_5_14_a":{"trait":{"descRaw":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","desc":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill"},"skill":{"name":"Open Game"},"talents":[{"descRaw":"Increases starting SP and decreases Redeployment Time of the left Operators","name":"Open Game","desc":"Increases starting SP and decreases Redeployment Time of the left Operators"}],"bySkill":{"0":{"skill":{"name":"Open Game"}},"2":{"skill":{"descRaw":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a <@ba.vup>straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and <@ba.vup>refunds DP cost","name":"Castled King","desc":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and refunds DP cost"}}}},"chess_char_5_14_b":{"trait":{"descRaw":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","desc":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill"},"skill":{"name":"Open Game"},"talents":[{"descRaw":"Increases starting SP and decreases Redeployment Time of the left Operators","name":"Open Game","desc":"Increases starting SP and decreases Redeployment Time of the left Operators"}],"bySkill":{"0":{"skill":{"name":"Open Game"}},"2":{"skill":{"descRaw":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a <@ba.vup>straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and <@ba.vup>refunds DP cost","name":"Castled King","desc":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and refunds DP cost"}}}}},"_h":"b1eeb1b1b15ool5ool5olfjlr7b1b15ool5ool5olfjlr7"},"token_10057_svash2_eagle3":{"descRaw":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","name":"Eye of the Blizzard","desc":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","variants":{"chess_char_5_14_a":{"trait":{"descRaw":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","desc":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill"},"skill":{"name":"Open Game"},"talents":[{"descRaw":"Increases starting SP and decreases Redeployment Time of the left Operators","name":"Open Game","desc":"Increases starting SP and decreases Redeployment Time of the left Operators"}],"bySkill":{"0":{"skill":{"name":"Open Game"}},"2":{"skill":{"descRaw":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a <@ba.vup>straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and <@ba.vup>refunds DP cost","name":"Castled King","desc":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and refunds DP cost"}}}},"chess_char_5_14_b":{"trait":{"descRaw":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill","desc":"Added to Deployment Waiting Zone when SilverAsh the Reignfrost is on the field. DP Cost changes according to SilverAsh the Reignfrost's skill"},"skill":{"name":"Open Game"},"talents":[{"descRaw":"Increases starting SP and decreases Redeployment Time of the left Operators","name":"Open Game","desc":"Increases starting SP and decreases Redeployment Time of the left Operators"}],"bySkill":{"0":{"skill":{"name":"Open Game"}},"2":{"skill":{"descRaw":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a <@ba.vup>straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and <@ba.vup>refunds DP cost","name":"Castled King","desc":"When the first Operator is deployed while 'Castled King' is active, 'Eye of the Blizzard' deploys on the Operator's location, and attacks along with SilverAsh the Reignfrost in a straight line. While skill is active, 'Eye of the Blizzard' can be redeployed to change its location and refunds DP cost"}}}}},"_h":"b1eeb1b1b15ool5ool5olfjlr7b1b15ool5ool5olfjlr7"},"token_10058_sbell2_icetgt":{"descRaw":"Blocks 3 enemies","name":"Protection Objective (Frozen)","desc":"Blocks 3 enemies","variants":{"chess_char_6_02_a":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"}},"chess_char_6_02_b":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"},"byModule":{"none":{"trait":{"descRaw":"Blocks 3 enemies","desc":"Blocks 3 enemies"}}}}},"_h":"t8f9t8t8t8t8t8t8t8"},"enemy_9012_acloon":{"name":"Yan's Protection","desc":"A friendly unit summoned when 6 members of [Yan] are active; at battle start, ATK/HP increased by 30% of the total ATK/HP of [Yan] Operators (see bonds.json yanShip)","_h":"om9n"},"char_605_cmedic":{"descRaw":"Restores the HP of allies","name":"Reserve Operator - Medic","desc":"Restores the HP of allies","skill":{"descRaw":"ATK <@ba.vup>+50%","name":"Healing Up β","desc":"ATK +50%"},"talents":[{"descRaw":"ATK +4%","name":"ATK Up","desc":"ATK +4%"}],"trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"_h":"76wr761iwjd7h2reh27676"},"char_613_acmedc":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies","skill":{"descRaw":"Attack Range <@ba.vup>+2, ATK <@ba.vup>+40%; heals <@ba.vup>2 targets and additionally heals the target or the friendly unit next to the target once for <@ba.vup>30% of the healing amount upon the original target; if the friendly unit to be healed is at 50% HP or lower, the healing amount is increased to <@ba.vup>150% of the original amount","name":"Earnest Gospel","desc":"Attack Range +2, ATK +40%; heals 2 targets and additionally heals the target or the friendly unit next to the target once for 30% of the healing amount upon the original target; if the friendly unit to be healed is at 50% HP or lower, the healing amount is increased to 150% of the original amount"},"talents":[{"descRaw":"Targets healed by this unit gain 3 SP","name":"Promotion","desc":"Targets healed by this unit gain 3 SP"},{"descRaw":"When allies within range are defeated, gain 5 SP","name":"Transcendence","desc":"When allies within range are defeated, gain 5 SP"}],"trait":{"descRaw":"Restores the HP of allies","desc":"Restores the HP of allies"},"_h":"76760vy1f8pk9jpkzcirzc7676"}},"bonds":{"yanShip":{"descRaw":"[Yan] Operators gain increased <@ba.vup>ATK <@autochess.gray>(affected by no. of stacks)\n6 different [Yan] Operators on field> At the start of battle, <@ba.vup>'Yan's Protection' is summoned with ATK and HP equal to 30% of the total ATK and HP of all [Yan] Operators on the field; can attack 3 targets simultaneously; can use <@ba.vup>'Cleansing Flame'; attacks inflict a percentage of ATK as Burn and inflicts Elemental Fragility on surrounding enemies\n9 different [Yan] Operators on field> summons 2 <@ba.vup>'Yan's Protection' instead, with <@ba.vup>1.5x ATK and <@ba.vup>90% damage reduction","effectDescRaw":"[Yan] Operators <@ba.vup>+{0:0%} ATK <@ba.acrem>(affected by no. of stacks)\n6 different [Yan] Operators on field> At the start of battle, 'Yan's Protection' is summoned with ATK and HP equal to 30% of the total ATK and HP of all [Yan] Operators on the field; can attack 3 targets simultaneously; attacks deal 20% of <@ba.vup>ATK as <@ba.vup>Burn and cause nearby enemies to suffer 20% <@ba.vup>Elemental Fragility; periodically uses 'Cleansing Flame'\n9 different [Yan] Operators on field> summons 2 'Yan's Protection' with 1.5x ATK and 90% damage reduction","name":"Yan","desc":"[Yan] Operators gain increased ATK (affected by no. of stacks)\n At the start of battle, 'Yan's Protection' is summoned with ATK and HP equal to 30% of the total ATK and HP of all [Yan] Operators on the field; can attack 3 targets simultaneously; can use 'Cleansing Flame'; attacks inflict a percentage of ATK as Burn and inflicts Elemental Fragility on surrounding enemies\n summons 2 'Yan's Protection' instead, with 1.5x ATK and 90% damage reduction","effectName":"Yan","effectDesc":"[Yan] Operators +{0:0%} ATK (affected by no. of stacks)\n At the start of battle, 'Yan's Protection' is summoned with ATK and HP equal to 30% of the total ATK and HP of all [Yan] Operators on the field; can attack 3 targets simultaneously; attacks deal 20% of ATK as Burn and cause nearby enemies to suffer 20% Elemental Fragility; periodically uses 'Cleansing Flame'\n summons 2 'Yan's Protection' with 1.5x ATK and 90% damage reduction","_h":"o215v5wvv5zb"},"sargonShip":{"descRaw":"When any [Sargon] Operator activates a skill, all [Sargon] Operators temporarily gain increased <@ba.vup>ASPD (up to a limit) for a duration <@autochess.gray>(affected by no. of stacks)\n6 different [Sargon] Operators on field> Skill activations will also cause all [Sargon] Operators to temporarily gain increased <@ba.vup>ATK (up to a limit) for the same duration\n<@ba.acrem> When using Narantuya's Strategy, effect changes","effectDescRaw":"When any [Sargon] Operator activates a skill, all [Sargon] Operators +12 ASPD (up to <@ba.vup>+300), lasting for <@ba.vup>{0:0} seconds <@ba.acrem>(affected by no. of stacks)\n6 different [Sargon] Operators on field> Skill activations will also cause all [Sargon] Operators to gain +12% ATK (up to <@ba.vup>+300%) \n<@ba.acrem>When using Narantuya's Strategy, the effect changes","name":"Sargon","desc":"When any [Sargon] Operator activates a skill, all [Sargon] Operators temporarily gain increased ASPD (up to a limit) for a duration (affected by no. of stacks)\n Skill activations will also cause all [Sargon] Operators to temporarily gain increased ATK (up to a limit) for the same duration\n When using Narantuya's Strategy, effect changes","effectName":"Sargon","effectDesc":"When any [Sargon] Operator activates a skill, all [Sargon] Operators +12 ASPD (up to +300), lasting for {0:0} seconds (affected by no. of stacks)\n Skill activations will also cause all [Sargon] Operators to gain +12% ATK (up to +300%) \nWhen using Narantuya's Strategy, the effect changes","_h":"mzvpig57igon"},"victoriaShip":{"descRaw":"[Victoria] Operators carrying equipment deal <@ba.vup>more damage<@autochess.gray> (affected by no. of stacks)\n25 stacks> Obtain 1 random <@ba.vup>Victorian Hammer\n6 different [Victoria] Operators on field> All [Victoria] Operators carrying equipment gain increased <@ba.vup>ATK, with an extra increase if equipment is upgraded","effectDescRaw":"[Victoria] Operators <@ba.vup>carrying equipment deal <@ba.vup>{0:0%} damage <@ba.acrem>(affected by no. of stacks)\n25 stacks> Obtain a random special Victorian Hammer\n6 different [Victoria] Operators on field> All [Victoria] Operators carrying equipment gain <@ba.vup>+50% ATK, or <@ba.vup>+80% ATK if equipment is upgraded","name":"Victoria","desc":"[Victoria] Operators carrying equipment deal more damage (affected by no. of stacks)\n Obtain 1 random Victorian Hammer\n All [Victoria] Operators carrying equipment gain increased ATK, with an extra increase if equipment is upgraded","effectName":"Victoria","effectDesc":"[Victoria] Operators carrying equipment deal {0:0%} damage (affected by no. of stacks)\n Obtain a random special Victorian Hammer\n All [Victoria] Operators carrying equipment gain +50% ATK, or +80% ATK if equipment is upgraded","_h":"l994usm3usri"},"kjeragShip":{"descRaw":"[Kjerag] Operators deal <@ba.vup>increased damage, and even more to <@ba.vup>Cold and Frozen enemies <@autochess.gray>(affected by no. of stacks)\n6 different [Kjerag] Operators on field> A chill gust blows on the battlefield every 25 seconds, inflicting Cold on enemies for a period of time <@autochess.gray>(affected by no. of stacks)","effectDescRaw":"[Kjerag] Operators deal <@ba.vup>125% damage, or <@ba.vup>{0:0%} damage to Cold and Frozen enemies <@ba.acrem>(affected by no. of stacks)\n6 different [Kjerag] Operators on field> A cold wind sweeps across battlefield every 25 seconds, inflicting Cold on enemies for <@ba.vup>{1:0} seconds <@ba.acrem>(affected by no. of stacks)","name":"Kjerag","desc":"[Kjerag] Operators deal increased damage, and even more to Cold and Frozen enemies (affected by no. of stacks)\n A chill gust blows on the battlefield every 25 seconds, inflicting Cold on enemies for a period of time (affected by no. of stacks)","effectName":"Kjerag","effectDesc":"[Kjerag] Operators deal 125% damage, or {0:0%} damage to Cold and Frozen enemies (affected by no. of stacks)\n A cold wind sweeps across battlefield every 25 seconds, inflicting Cold on enemies for {1:0} seconds (affected by no. of stacks)","_h":"yd4bh4cgh4e9"},"lateranoShip":{"descRaw":"[Laterano] Operators gain <@ba.vup>ammo on skill activation <@autochess.gray>(affected by no. of stacks)\n6 different [Laterano] Operators on field> All [Laterano] Operators gain increased <@ba.vup>ATK (up to a limit) when any [Laterano] Operator spends 1 bullet","effectDescRaw":"[Laterano] Operators gain <@ba.vup>+{0:0%} ammo on skill activation <@ba.acrem>(affected by no. of stacks)\n6 different [Laterano] Operators on field> All [Laterano] Operators +4% ATK whenever any [Laterano] Operator spends 1 ammo, max <@ba.vup>+200%","name":"Laterano","desc":"[Laterano] Operators gain ammo on skill activation (affected by no. of stacks)\n All [Laterano] Operators gain increased ATK (up to a limit) when any [Laterano] Operator spends 1 bullet","effectName":"Laterano","effectDesc":"[Laterano] Operators gain +{0:0%} ammo on skill activation (affected by no. of stacks)\n All [Laterano] Operators +4% ATK whenever any [Laterano] Operator spends 1 ammo, max +200%","_h":"7qliadzgadir"},"egirShip":{"descRaw":"[Ægir] Operators' <@ba.vup>HP increases <@autochess.gray>(affected by no. of stacks)\nWhen the battle begins, [Ægir] Operators will <@ba.vup>devour the Operator on the tile in front of them, dealing <@ba.vdown>5000 Physical damage to the Operator and gaining their <@ba.vup>base ATK and <@ba.vup>Block, while adding [Ægir] <@ba.vup>stacks<@autochess.gray> equal to the devoured Operator's Tier (among [Ægir] Operators, those positioned further up or to the left are prioritized to start a devour)\n5 different [Ægir] Operators on field> The first 3 defeated will <@ba.vup>immediately revive","effectDescRaw":"[Ægir] Operators <@ba.vup>+{0:0%}<@ba.acrem> HP (affected by no. of stacks)\nAt the start of battle, [Ægir] Operators will devour the Operator on the tile in front them, dealing <@ba.vdown>5000 Physical damage to the Operator and gaining their <@ba.vup>base ATK and <@ba.vup>Block, while adding [Ægir] stacks equal to the devoured Operator's Tier <@ba.acrem>(among [Ægir] Operators, those positioned further up or to the left are prioritized to start a devour)\n5 different [Ægir] Operators on field> the first 3 defeated will <@ba.vup>immediately revive","name":"Ægir","desc":"[Ægir] Operators' HP increases (affected by no. of stacks)\nWhen the battle begins, [Ægir] Operators will devour the Operator on the tile in front of them, dealing 5000 Physical damage to the Operator and gaining their base ATK and Block, while adding [Ægir] stacks equal to the devoured Operator's Tier (among [Ægir] Operators, those positioned further up or to the left are prioritized to start a devour)\n The first 3 defeated will immediately revive","effectName":"Ægir","effectDesc":"[Ægir] Operators +{0:0%} HP (affected by no. of stacks)\nAt the start of battle, [Ægir] Operators will devour the Operator on the tile in front them, dealing 5000 Physical damage to the Operator and gaining their base ATK and Block, while adding [Ægir] stacks equal to the devoured Operator's Tier (among [Ægir] Operators, those positioned further up or to the left are prioritized to start a devour)\n the first 3 defeated will immediately revive","_h":"sughmql9mqbs"},"siracusaShip":{"descRaw":"[Siracusa] Operators gain increased <@ba.vup>ASPD on deployment for a period of time <@autochess.gray>(affected by no. of stacks)\n6 different [Siracusa] Operators on field> [Siracusa] Operators also gain Invisibility for the same amount of time; and have <@ba.vup>3% chance to deal a set amount of True damage <@autochess.gray> (affected by no. of stacks) and inflict <@ba.vup>Fear for 3 seconds when Invisible, or for <@ba.vup>10 seconds after losing Invisibility","effectDescRaw":"[Siracusa] Operators gain <@ba.vup>+{0:0} ASPD on deployment for <@ba.vup>{1:0} seconds<@ba.acrem>(affected by no. of stacks)\n6 different [Siracusa] Operators on field> [Siracusa] Operators also gain Invisibility for the same amount of time; and have a 3% chance to deal <@ba.vup>{2:0} <@ba.acrem>(affected by no. of stacks) True damage and inflict <@ba.vup>Fear for 3 seconds when Invisible, or for 10 seconds after losing Invisibility","name":"Siracusa","desc":"[Siracusa] Operators gain increased ASPD on deployment for a period of time (affected by no. of stacks)\n [Siracusa] Operators also gain Invisibility for the same amount of time; and have 3% chance to deal a set amount of True damage (affected by no. of stacks) and inflict Fear for 3 seconds when Invisible, or for 10 seconds after losing Invisibility","effectName":"Siracusa","effectDesc":"[Siracusa] Operators gain +{0:0} ASPD on deployment for {1:0} seconds(affected by no. of stacks)\n [Siracusa] Operators also gain Invisibility for the same amount of time; and have a 3% chance to deal {2:0} (affected by no. of stacks) True damage and inflict Fear for 3 seconds when Invisible, or for 10 seconds after losing Invisibility","_h":"mfh995r295em"},"kazimierzShip":{"descRaw":"On every Operator deployment, [Kazimierz] Operators gain <@ba.vup>+20% ATK until the battle ends <@autochess.gray>(limit affected by no. of stacks)\n6 different [Kazimierz] Operators on field> [Kazimierz] Operators blocking enemies deal <@ba.vup>120% of ATK as True Damage and inflict <@ba.vup>0.1 seconds of Stun on nearby enemies every <@ba.vup>2 seconds; otherwise dealing damage also deals extra <@ba.vup>30% ATK as True damage when not blocking an enemy","effectDescRaw":"On every Operator deployment, [Kazimierz] Operators gain +20% ATK (up to <@ba.vup>+{0:0%})<@ba.acrem>(affected by no. of stacks)\n6 different [Kazimierz] Operators on field> [Kazimierz] Operators blocking enemies deal <@ba.vup>120% of ATK as True Damage and inflict <@ba.vup>0.1 seconds of Stun on nearby enemies every 2 seconds; otherwise, dealing damage also deals extra <@ba.vup>30% ATK as True damage when not blocking an enemy","name":"Kazimierz","desc":"On every Operator deployment, [Kazimierz] Operators gain +20% ATK until the battle ends (limit affected by no. of stacks)\n [Kazimierz] Operators blocking enemies deal 120% of ATK as True Damage and inflict 0.1 seconds of Stun on nearby enemies every 2 seconds; otherwise dealing damage also deals extra 30% ATK as True damage when not blocking an enemy","effectName":"Kazimierz","effectDesc":"On every Operator deployment, [Kazimierz] Operators gain +20% ATK (up to +{0:0%})(affected by no. of stacks)\n [Kazimierz] Operators blocking enemies deal 120% of ATK as True Damage and inflict 0.1 seconds of Stun on nearby enemies every 2 seconds; otherwise, dealing damage also deals extra 30% ATK as True damage when not blocking an enemy","_h":"43cvkefekecs"},"preciShip":{"descRaw":"[Precision] Operators gain increased <@ba.vup>ATK <@autochess.gray>(affected by no. of stacks)\n3 different [Precision] Operators on field> Buff affects all [Precision] and Ranged Operators, and attacks ignore some <@ba.vup>DEF and <@ba.vup>RES","effectDescRaw":"[Precision] Operators gain <@ba.vup>+{0:0%} ATK<@ba.acrem>(affected by no. of stacks)\n3 different [Precision] Operators on field> Buff affects all [Precision] and Ranged Operators, and attacks ignore <@ba.vup>30% DEF and RES","name":"Precision","desc":"[Precision] Operators gain increased ATK (affected by no. of stacks)\n Buff affects all [Precision] and Ranged Operators, and attacks ignore some DEF and RES","effectName":"Precision","effectDesc":"[Precision] Operators gain +{0:0%} ATK(affected by no. of stacks)\n Buff affects all [Precision] and Ranged Operators, and attacks ignore 30% DEF and RES","_h":"dan5dx6hdx7q"},"swiftShip":{"descRaw":"[Swift] Operators have a chance when their skill ends to immediately recover <@ba.vup>12 SP <@autochess.gray>(affected by no. of stacks)\n40 stacks> All Operators have the same chance to recover <@ba.vup>15 SP when their skill ends","effectDescRaw":"[Swift] Operators have a <@ba.vup>{0:0%} chance when their skill ends to immediately recover <@ba.vup>12 SP <@ba.acrem>(affected by no. of stacks)\n40 stacks> All Operators have the same chance to recover <@ba.vup>15 SP when their skill ends","name":"Swift","desc":"[Swift] Operators have a chance when their skill ends to immediately recover 12 SP (affected by no. of stacks)\n All Operators have the same chance to recover 15 SP when their skill ends","effectName":"Swift","effectDesc":"[Swift] Operators have a {0:0%} chance when their skill ends to immediately recover 12 SP (affected by no. of stacks)\n All Operators have the same chance to recover 15 SP when their skill ends","_h":"xmubb92yb92h"},"skillfulShip":{"descRaw":"[Agile] Operators and Operators in the 4 adjacent tiles around them gain increased<@ba.vup> ASPD <@autochess.gray>(affected by no. of stacks)\n40 stacks> Effect range increased to 8 tiles surrounding [Agile] Operators","effectDescRaw":"[Agile] Operators and Operators in the 4 adjacent tiles around them gain <@ba.vup>+{0:0} ASPD<@ba.acrem> (affected by no. of stacks)\n40 stacks> Effect range increased to 8 tiles surrounding [Agile] Operators","name":"Agile","desc":"[Agile] Operators and Operators in the 4 adjacent tiles around them gain increased ASPD (affected by no. of stacks)\n Effect range increased to 8 tiles surrounding [Agile] Operators","effectName":"Agile","effectDesc":"[Agile] Operators and Operators in the 4 adjacent tiles around them gain +{0:0} ASPD (affected by no. of stacks)\n Effect range increased to 8 tiles surrounding [Agile] Operators","_h":"3qn7lx49lxa7"},"arcaneShip":{"descRaw":"When [Arcane] Operators deal Arts damage to enemies, the target takes increased Arts damage <@autochess.gray>(affected by no. of stacks) for 3 seconds\n3 different Arcane Operators on field> Arcane Operators deal more damage to enemies with less than <@ba.vup>50% HP <@autochess.gray>(affected by no. of stacks)","effectDescRaw":"When [Arcane] Operators deal Arts damage to enemies, the target takes <@ba.vup>{0:0%} increased Arts damage <@ba.acrem>(affected by no. of stacks) for 3 seconds\n3 different [Arcane] Operators on field> [Arcane] Operators deal <@ba.vup>{1:0%} more damage to enemies with less than 50% HP <@ba.acrem>(affected by no. of stacks)","name":"Arcane","desc":"When [Arcane] Operators deal Arts damage to enemies, the target takes increased Arts damage (affected by no. of stacks) for 3 seconds\n Arcane Operators deal more damage to enemies with less than 50% HP (affected by no. of stacks)","effectName":"Arcane","effectDesc":"When [Arcane] Operators deal Arts damage to enemies, the target takes {0:0%} increased Arts damage (affected by no. of stacks) for 3 seconds\n [Arcane] Operators deal {1:0%} more damage to enemies with less than 50% HP (affected by no. of stacks)","_h":"fsadfx02fx9y"},"steadShip":{"descRaw":"All Operators gain increased <@ba.vup>HP <@autochess.gray>(affected by no. of stacks)\n3 different [Durable] Operators on field> Whenever a non-[Durable] Operator takes damage, <@ba.vup>40% of that damage is <@ba.vup>split among all [Durable] Operators on field. [Durable] Operators taking damage inflict Arts Damage <@autochess.gray>(affected by no. of stacks, triggers up to once every 0.2 seconds) and <@ba.vup>40% Fragile for <@ba.vup>5 seconds onto their attacker","effectDescRaw":"All Operators gain <@ba.vup>+{0:0%} HP<@ba.acrem> (affected by no. of stacks)\n3 different [Durable] Operators on field> Whenever a non-[Durable] Operator takes damage, <@ba.vup>40% of that damage is split among all [Durable] Operators on field. [Durable] Operators taking damage inflict <@ba.vup>{1:0} Arts Damage <@ba.acrem>(affected by no. of stacks, triggers up to once every 0.2 seconds) and <@ba.vup>40% Fragile for 5 seconds onto their attacker","name":"Durable","desc":"All Operators gain increased HP (affected by no. of stacks)\n Whenever a non-[Durable] Operator takes damage, 40% of that damage is split among all [Durable] Operators on field. [Durable] Operators taking damage inflict Arts Damage (affected by no. of stacks, triggers up to once every 0.2 seconds) and 40% Fragile for 5 seconds onto their attacker","effectName":"Durable","effectDesc":"All Operators gain +{0:0%} HP (affected by no. of stacks)\n Whenever a non-[Durable] Operator takes damage, 40% of that damage is split among all [Durable] Operators on field. [Durable] Operators taking damage inflict {1:0} Arts Damage (affected by no. of stacks, triggers up to once every 0.2 seconds) and 40% Fragile for 5 seconds onto their attacker","_h":"wd2n4fa14fv2"},"deputShip":{"descRaw":"All Operators gain increased <@ba.vup>DEF <@autochess.gray>(affected by no. of stacks) and reduced <@ba.vup>Redeployment Time\nWhen Rest Phase ends, <@ba.vup>+2 stacks to all active Alliances\n3 different [Aid] Operators on field> <@ba.vup>+4 stacks instead","effectDescRaw":"All Operators <@ba.vup>+{0:0%} DEF <@ba.acrem>(affected by no. of stacks), and <@ba.vup>-30% Redeployment Time\nWhen Rest Phase ends, <@ba.vup>+2 stacks to all active Alliances\n3 different [Aid] Operators on the field> <@ba.vup>+4 stacks instead","name":"Aid","desc":"All Operators gain increased DEF (affected by no. of stacks) and reduced Redeployment Time\nWhen Rest Phase ends, +2 stacks to all active Alliances\n +4 stacks instead","effectName":"Aid","effectDesc":"All Operators +{0:0%} DEF (affected by no. of stacks), and -30% Redeployment Time\nWhen Rest Phase ends, +2 stacks to all active Alliances\n +4 stacks instead","_h":"xhe6ylw7yl9j"},"visiShip":{"descRaw":"10 stacks> Gain <@ba.vup>+2 Funds\n80 stacks (first-time only)> Foresight Operators cost <@ba.vup>-1 Funds permanently\n150 stacks (first-time only)> Above effect changes to: All Dispatch Center Operators cost <@ba.vup>-1 Funds permanently ([Foresight] Operators on Bench can also count toward activating this Alliance)","effectDescRaw":"10 stacks> Gain <@ba.vup>+2 Funds\n80 stacks (first-time only)> Foresight Operators cost -1 Funds permanently\n150 stacks (first-time only)> Above effect changes to: All Dispatch Center Operators cost -1 Funds permanently\n[Foresight] Operators on Bench can also count toward activating this Alliance","name":"Foresight","desc":" Gain +2 Funds\n Foresight Operators cost -1 Funds permanently\n Above effect changes to: All Dispatch Center Operators cost -1 Funds permanently ([Foresight] Operators on Bench can also count toward activating this Alliance)","effectName":"Foresight","effectDesc":" Gain +2 Funds\n Foresight Operators cost -1 Funds permanently\n Above effect changes to: All Dispatch Center Operators cost -1 Funds permanently\n[Foresight] Operators on Bench can also count toward activating this Alliance","_h":"2vozzi05zi4x"},"miraShip":{"descRaw":"On Dispatch Center refresh, there is a chance the next refresh will be <@ba.vup>free <@autochess.gray>(affected by no. of stacks)\n100 stacks> Gain <@ba.vup>20 Funds ([Marvel] Operators on Bench can also count toward activating this Alliance)","effectDescRaw":"On Dispatch Center refresh, there is a <@ba.vup>{0:0%}<@ba.acrem> chance (affected by no. of stacks) the next refresh will be free\n100 stacks> Gain <@ba.vup>20 Funds\n[Marvel] Operators on Bench can also count toward activating this Alliance","name":"Marvel","desc":"On Dispatch Center refresh, there is a chance the next refresh will be free (affected by no. of stacks)\n Gain 20 Funds ([Marvel] Operators on Bench can also count toward activating this Alliance)","effectName":"Marvel","effectDesc":"On Dispatch Center refresh, there is a {0:0%} chance (affected by no. of stacks) the next refresh will be free\n Gain 20 Funds\n[Marvel] Operators on Bench can also count toward activating this Alliance","_h":"vmtd3xl03x0k"},"investShip":{"descRaw":"Operators' 'When obtained' Attributes <@ba.vup>trigger twice\n100 stacks> 'When obtained' Attributes <@ba.vup>trigger 3 times instead ([Investor] Operators on Bench can also count toward activating this Alliance)","effectDescRaw":"Operators' 'When obtained' Attributes trigger twice\n100 stacks> 'when obtained' Attributes trigger 3 times instead\n[Investor] Operators on Bench can also count toward activating this Alliance","name":"Investor","desc":"Operators' 'When obtained' Attributes trigger twice\n 'When obtained' Attributes trigger 3 times instead ([Investor] Operators on Bench can also count toward activating this Alliance)","effectName":"Investor","effectDesc":"Operators' 'When obtained' Attributes trigger twice\n 'when obtained' Attributes trigger 3 times instead\n[Investor] Operators on Bench can also count toward activating this Alliance","_h":"r2kv6amz6afa"},"raidShip":{"descRaw":"If a [Raid] Operator's skill is ready or does not attack for <@ba.vup>10 seconds, and has no enemies in their attack range, they will <@ba.vup>redeploy near a ground enemy, use their skill without losing SP, and gain increased <@ba.vup>ATK and <@ba.vup>HP during the skill duration <@autochess.gray>(affected by no. of stacks)\n50 stacks> All Operators gain <@ba.vup>+50 ASPD","effectDescRaw":"If a [Raid] Operator's skill is ready or does not attack for 10 seconds, and has no enemies in their attack range, they will redeploy near a ground enemy without losing SP, and gain <@ba.vup>+{0:0%} ATK and HP during the skill duration<@ba.acrem> (affected by no. of stacks)\n50 stacks> All Operators gain <@ba.vup>+50 ASPD","name":"Raid","desc":"If a [Raid] Operator's skill is ready or does not attack for 10 seconds, and has no enemies in their attack range, they will redeploy near a ground enemy, use their skill without losing SP, and gain increased ATK and HP during the skill duration (affected by no. of stacks)\n All Operators gain +50 ASPD","effectName":"Raid","effectDesc":"If a [Raid] Operator's skill is ready or does not attack for 10 seconds, and has no enemies in their attack range, they will redeploy near a ground enemy without losing SP, and gain +{0:0%} ATK and HP during the skill duration (affected by no. of stacks)\n All Operators gain +50 ASPD","_h":"byypdf49dfou"},"indomShip":{"descRaw":"When a <@ba.vup>Ground Operator is defeated, there is a chance they will <@ba.vup>immediately redeploy<@autochess.gray> (affected by no. of stacks)\n3 different [Resilient] Operators on field> When defeated, <@ba.vup>Ground Operators grant <@ba.vup>+5 SP to all Operators on the field","effectDescRaw":"When a <@ba.vup>Ground Operator is defeated, there is a <@ba.vup>{0:0%} chance they will immediately redeploy <@ba.acrem>(affected by no. of stacks)\n3 different [Resilient] Operators on the field> <@ba.vup>Ground Operators grant <@ba.vup>+5 SP to all Operators on field when defeated","name":"Resilient","desc":"When a Ground Operator is defeated, there is a chance they will immediately redeploy (affected by no. of stacks)\n When defeated, Ground Operators grant +5 SP to all Operators on the field","effectName":"Resilient","effectDesc":"When a Ground Operator is defeated, there is a {0:0%} chance they will immediately redeploy (affected by no. of stacks)\n Ground Operators grant +5 SP to all Operators on field when defeated","_h":"am380wno0w91"},"maniShip":{"descRaw":"When activated, <@ba.vup>+1 Operator count to all Core Alliances on field, and [Harmony] Operators also gain effects from these activated Alliances","effectDescRaw":"When activated, <@ba.vup>+1 Operator count to all Core Alliances on field, and [Harmony] Operators also <@ba.vup>gain effects from said activated Alliances","name":"Harmony","desc":"When activated, +1 Operator count to all Core Alliances on field, and [Harmony] Operators also gain effects from these activated Alliances","effectName":"Harmony","effectDesc":"When activated, +1 Operator count to all Core Alliances on field, and [Harmony] Operators also gain effects from said activated Alliances","_h":"j23z96d396y3"},"emptyShip":{"descRaw":"All Operators take <@ba.vup>-20% Physical and Arts damage, Assist Operators deal <@ba.vup>120% damage; Elite Assist Operators deal <@ba.vup>140% damage","effectDescRaw":"All Operators take <@ba.vup>-20% Physical and Arts damage; [Assist Operators] deal <@ba.vup>120% damage; Elite [Assist Operators] deal <@ba.vup>140% damage","name":"Assist Operator","desc":"All Operators take -20% Physical and Arts damage, Assist Operators deal 120% damage; Elite Assist Operators deal 140% damage","effectName":"Assist Operator","effectDesc":"All Operators take -20% Physical and Arts damage; [Assist Operators] deal 120% damage; Elite [Assist Operators] deal 140% damage","_h":"a0hjnihbni4c"},"soloShip":{"descRaw":" The [Solo] Operator gains <@ba.vup>+60% ATK and HP; and <@ba.vup>+15 SP on deployment (Effect disabled with 2 or more different [Solo] Operators on the field)","effectDescRaw":"1 [Solo] Operator on field> The [Solo] Operator gains <@ba.vup>+60% ATK and HP; and <@ba.vup>+15<@ba.acrem> SP on deployment (Effect disabled with 2 or more different [Solo] Operators on the field)","name":"Solo","desc":" The [Solo] Operator gains +60% ATK and HP; and +15 SP on deployment (Effect disabled with 2 or more different [Solo] Operators on the field)","effectName":"Solo","effectDesc":" The [Solo] Operator gains +60% ATK and HP; and +15 SP on deployment (Effect disabled with 2 or more different [Solo] Operators on the field)","_h":"5f0mytjpytjp"},"suntShip":{"descRaw":"2 Elite Operators on field> Elite Operators gain <@ba.vup>+30% ATK\n5 Elite Operators on field> Elite Operators have <@ba.vup>-30% SP Cost\n<@ba.acrem>(All Elite Operators can activate this Alliance)","effectDescRaw":"2 Elite Operators on field> Elite Operators gain <@ba.vup>+30% ATK\n5 Elite Operators on field> Elite Operators have <@ba.vup>-30% SP Cost\n<@ba.acrem>(All Elite Operators can activate this Alliance)","name":"Elite","desc":" Elite Operators gain +30% ATK\n Elite Operators have -30% SP Cost\n(All Elite Operators can activate this Alliance)","effectName":"Elite","effectDesc":" Elite Operators gain +30% ATK\n Elite Operators have -30% SP Cost\n(All Elite Operators can activate this Alliance)","_h":"rmmeiwx0iwx0"}},"garrisons":{"garrison_01_a":{"descRaw":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES)","desc":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES)","eventTypeDesc":"Combat","_h":"ioio3p"},"garrison_01_b":{"descRaw":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES)","desc":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES)","eventTypeDesc":"Combat","_h":"ioio3p"},"garrison_03_a":{"descRaw":"+<@ba.vup>20% ATK and HP","desc":"+20% ATK and HP","eventTypeDesc":"Combat","_h":"kz0a3p"},"garrison_03_b":{"descRaw":"+<@ba.vup>40% ATK and HP","desc":"+40% ATK and HP","eventTypeDesc":"Combat","_h":"l9rs3p"},"garrison_04_a":{"descRaw":"Costs <@ba.vup>1 Funds to purchase","desc":"Costs 1 Funds to purchase","eventTypeDesc":"Prep","_h":"pnu6x4"},"garrison_04_b":{"descRaw":"Costs <@ba.vup>1 Funds to purchase","desc":"Costs 1 Funds to purchase","eventTypeDesc":"Prep","_h":"pnu6x4"},"garrison_05_a":{"descRaw":"For every 3 stacks added to [Kjerag] or [Arcane] Alliances, this Operator gains <@ba.vup>+1% ATK","desc":"For every 3 stacks added to [Kjerag] or [Arcane] Alliances, this Operator gains +1% ATK","eventTypeDesc":"Combat","_h":"lnhy3p"},"garrison_05_b":{"descRaw":"For every 3 stacks added to [Kjerag] or [Arcane] Alliances, this Operator gains <@ba.vup>+2% ATK","desc":"For every 3 stacks added to [Kjerag] or [Arcane] Alliances, this Operator gains +2% ATK","eventTypeDesc":"Combat","_h":"heal3p"},"garrison_07_a":{"descRaw":"For every 3 stacks added to [Ægir] Alliance, this Operator gains <@ba.vup>+1% ATK","desc":"For every 3 stacks added to [Ægir] Alliance, this Operator gains +1% ATK","eventTypeDesc":"Combat","_h":"o4zp3p"},"garrison_07_b":{"descRaw":"For every 3 stacks added to [Ægir] Alliance, this Operator gains <@ba.vup>+2% ATK","desc":"For every 3 stacks added to [Ægir] Alliance, this Operator gains +2% ATK","eventTypeDesc":"Combat","_h":"mpry3p"},"garrison_08_a":{"descRaw":"SP recovery rate <@ba.vup>+0.15/s","desc":"SP recovery rate +0.15/s","eventTypeDesc":"Combat","_h":"knks3p"},"garrison_08_b":{"descRaw":"SP recovery rate <@ba.vup>+0.3/second","desc":"SP recovery rate +0.3/second","eventTypeDesc":"Combat","_h":"sw3t3p"},"garrison_09_a":{"descRaw":"+<@ba.vup>20% ATK and HP; for every 3 stacks added to Core Alliances, this Operator gains <@ba.vup>+1% ATK and HP","desc":"+20% ATK and HP; for every 3 stacks added to Core Alliances, this Operator gains +1% ATK and HP","eventTypeDesc":"Combat","_h":"btqh3p"},"garrison_09_b":{"descRaw":"+<@ba.vup>40% ATK and HP; for every 3 stacks added to Core Alliances, this Operator gains <@ba.vup>+2% ATK and HP","desc":"+40% ATK and HP; for every 3 stacks added to Core Alliances, this Operator gains +2% ATK and HP","eventTypeDesc":"Combat","_h":"4mhc3p"},"garrison_10_a":{"descRaw":"For every 3 stacks added to Core Alliances, this Operator gains <@ba.vup>+1% ATK and HP","desc":"For every 3 stacks added to Core Alliances, this Operator gains +1% ATK and HP","eventTypeDesc":"Combat","_h":"fy5b3p"},"garrison_10_b":{"descRaw":"For every 3 stacks added to Core Alliances, this Operator gains <@ba.vup>+2% ATK and HP","desc":"For every 3 stacks added to Core Alliances, this Operator gains +2% ATK and HP","eventTypeDesc":"Combat","_h":"l3c43p"},"garrison_11_a":{"descRaw":"For every 3 stacks added to [Victoria] Alliance, this Operator gains <@ba.vup>+1 ASPD","desc":"For every 3 stacks added to [Victoria] Alliance, this Operator gains +1 ASPD","eventTypeDesc":"Combat","_h":"txve3p"},"garrison_11_b":{"descRaw":"For every 3 stacks added to [Victoria] Alliance, this Operator gains <@ba.vup>+2 ASPD","desc":"For every 3 stacks added to [Victoria] Alliance, this Operator gains +2 ASPD","eventTypeDesc":"Combat","_h":"ci6f3p"},"garrison_12_a":{"descRaw":"For every 2 stacks added to [Ægir] Alliance, this Operator gains <@ba.vup>+1% ATK","desc":"For every 2 stacks added to [Ægir] Alliance, this Operator gains +1% ATK","eventTypeDesc":"Combat","_h":"a9q43p"},"garrison_12_b":{"descRaw":"For every 2 stacks added to [Ægir] Alliance, this Operator gains <@ba.vup>+2% ATK","desc":"For every 2 stacks added to [Ægir] Alliance, this Operator gains +2% ATK","eventTypeDesc":"Combat","_h":"3ojb3p"},"garrison_13_a":{"descRaw":"Costs <@ba.vup>1 Funds to purchase","desc":"Costs 1 Funds to purchase","eventTypeDesc":"Prep","_h":"pnu6x4"},"garrison_13_b":{"descRaw":"Costs <@ba.vup>1 Funds to purchase","desc":"Costs 1 Funds to purchase","eventTypeDesc":"Prep","_h":"pnu6x4"},"garrison_14_a":{"descRaw":"For every 3 stacks added to [Laterano] or [Durable] Alliances, this Operator gains <@ba.vup>+1% DEF","desc":"For every 3 stacks added to [Laterano] or [Durable] Alliances, this Operator gains +1% DEF","eventTypeDesc":"Combat","_h":"njy23p"},"garrison_14_b":{"descRaw":"For every 3 stacks added to [Laterano] or [Durable] Alliances, this Operator gains <@ba.vup>+2% DEF","desc":"For every 3 stacks added to [Laterano] or [Durable] Alliances, this Operator gains +2% DEF","eventTypeDesc":"Combat","_h":"bqn53p"},"garrison_15_a":{"descRaw":"For every 3 stacks added to [Sargon] or [Durable] Alliances, this Operator <@ba.vup>+1% DEF","desc":"For every 3 stacks added to [Sargon] or [Durable] Alliances, this Operator +1% DEF","eventTypeDesc":"Combat","_h":"qyjf3p"},"garrison_15_b":{"descRaw":"For every 3 stacks added to [Sargon] or [Durable] Alliances, this Operator <@ba.vup>+2% DEF","desc":"For every 3 stacks added to [Sargon] or [Durable] Alliances, this Operator +2% DEF","eventTypeDesc":"Combat","_h":"ebq83p"},"garrison_16_a":{"descRaw":"For every 5 stacks added to [Laterano] Alliance, this Operator gains <@ba.vup>+1 ASPD","desc":"For every 5 stacks added to [Laterano] Alliance, this Operator gains +1 ASPD","eventTypeDesc":"Combat","_h":"hil93p"},"garrison_16_b":{"descRaw":"For every 5 stacks added to [Laterano] Alliance, this Operator gains <@ba.vup>+2 ASPD","desc":"For every 5 stacks added to [Laterano] Alliance, this Operator gains +2 ASPD","eventTypeDesc":"Combat","_h":"yxic3p"},"garrison_18_a":{"descRaw":"When attacking Sea Monster enemies, increases ATK to <@ba.vup>150%","desc":"When attacking Sea Monster enemies, increases ATK to 150%","eventTypeDesc":"Combat","_h":"6hr83p"},"garrison_18_b":{"descRaw":"When attacking Sea Monster enemies, increases ATK to <@ba.vup>200%","desc":"When attacking Sea Monster enemies, increases ATK to 200%","eventTypeDesc":"Combat","_h":"79hc3p"},"garrison_19_a":{"descRaw":"When attacking enemy Drones, increases ATK to <@ba.vup>150%","desc":"When attacking enemy Drones, increases ATK to 150%","eventTypeDesc":"Combat","_h":"14mt3p"},"garrison_19_b":{"descRaw":"When attacking enemy Drones, increases ATK to <@ba.vup>200%","desc":"When attacking enemy Drones, increases ATK to 200%","eventTypeDesc":"Combat","_h":"rg653p"},"garrison_21_a":{"descRaw":" Obtain 2 extra Funds next Rest Phase","desc":" Obtain 2 extra Funds next Rest Phase","eventTypeDesc":"Prep","_h":"jyjyx4"},"garrison_21_b":{"descRaw":" Obtain 4 extra Funds next Rest Phase","desc":" Obtain 4 extra Funds next Rest Phase","eventTypeDesc":"Prep","_h":"6s6sx4"},"garrison_22_a":{"descRaw":" Whenever Operators in the <@ba.vup>4 adjacent tiles spend 6 bullets, <@ba.vup>+1 stack to active [Laterano] Alliance","desc":" Whenever Operators in the 4 adjacent tiles spend 6 bullets, +1 stack to active [Laterano] Alliance","eventTypeDesc":"Can stack","_h":"4uzsmz"},"garrison_22_b":{"descRaw":" Whenever Operators in the <@ba.vup>4 adjacent tiles spend 6 bullets, <@ba.vup>+2 stacks to active [Laterano] Alliance","desc":" Whenever Operators in the 4 adjacent tiles spend 6 bullets, +2 stacks to active [Laterano] Alliance","eventTypeDesc":"Can stack","_h":"tt2pmz"},"garrison_23_a":{"descRaw":" Whenever this Operator spends 7 bullets, <@ba.vup>+7 [Laterano] and <@ba.vup>+3 [Foresight] stacks if Alliances are active, can trigger up to 7 times per battle for each effect","desc":" Whenever this Operator spends 7 bullets, +7 [Laterano] and +3 [Foresight] stacks if Alliances are active, can trigger up to 7 times per battle for each effect","eventTypeDesc":"Can stack","_h":"sb5hmz"},"garrison_23_b":{"descRaw":" Whenever this Operator spends 7 bullets, <@ba.vup>+14 [Laterano] and <@ba.vup>+6 [Foresight] stacks if Alliances are active (Can stack up to 7x every battle)","desc":" Whenever this Operator spends 7 bullets, +14 [Laterano] and +6 [Foresight] stacks if Alliances are active (Can stack up to 7x every battle)","eventTypeDesc":"Can stack","_h":"s9fxmz"},"garrison_24_a":{"descRaw":" Whenever this Operator spends 10 bullets with 3 Operators in the same row, <@ba.vup>+2 [Laterano] and [Precision] stacks if Alliances are active","desc":" Whenever this Operator spends 10 bullets with 3 Operators in the same row, +2 [Laterano] and [Precision] stacks if Alliances are active","eventTypeDesc":"Can stack","_h":"gdoomz"},"garrison_24_b":{"descRaw":" Whenever this Operator spends 10 bullets while there are 3 Operators in the same row, <@ba.vup>+4 [Laterano] and [Precision] stacks if Alliances are active","desc":" Whenever this Operator spends 10 bullets while there are 3 Operators in the same row, +4 [Laterano] and [Precision] stacks if Alliances are active","eventTypeDesc":"Can stack","_h":"nnuimz"},"garrison_25_a":{"descRaw":" <@ba.vup>+2 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +2 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"xgk5jf"},"garrison_25_b":{"descRaw":" <@ba.vup>+4 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +4 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"xmlzjf"},"garrison_26_a":{"descRaw":" Obtain <@ba.vup>1 extra Funds next Rest Phase","desc":" Obtain 1 extra Funds next Rest Phase","eventTypeDesc":"Prep","_h":"or02x4"},"garrison_26_b":{"descRaw":" Obtain <@ba.vup>2 extra Funds next Rest Phase","desc":" Obtain 2 extra Funds next Rest Phase","eventTypeDesc":"Prep","_h":"j8efx4"},"garrison_28_a":{"descRaw":" Whenever an enemy within range is Frozen, 50% chance for <@ba.vup>+1 stack to active [Kjerag] Alliance","desc":" Whenever an enemy within range is Frozen, 50% chance for +1 stack to active [Kjerag] Alliance","eventTypeDesc":"Can stack","_h":"4qxtmz"},"garrison_28_b":{"descRaw":" Whenever an enemy within range is Frozen, 50% chance for <@ba.vup>+2 stacks to active [Kjerag] Alliance","desc":" Whenever an enemy within range is Frozen, 50% chance for +2 stacks to active [Kjerag] Alliance","eventTypeDesc":"Can stack","_h":"0duwmz"},"garrison_29_a":{"descRaw":" Whenever an enemy within range is Frozen, 60% chance for <@ba.vup>+1 stack to active [Kjerag] Alliance","desc":" Whenever an enemy within range is Frozen, 60% chance for +1 stack to active [Kjerag] Alliance","eventTypeDesc":"Can stack","_h":"gvjomz"},"garrison_29_b":{"descRaw":" Whenever an enemy within range is Frozen, 60% chance for <@ba.vup>+2 stacks to active [Kjerag] Alliance","desc":" Whenever an enemy within range is Frozen, 60% chance for +2 stacks to active [Kjerag] Alliance","eventTypeDesc":"Can stack","_h":"80mlmz"},"garrison_30_a":{"descRaw":" Gain [Yan] Alliance stacks equivalent to Dispatch Center level (Alliance does not need to be active)","desc":" Gain [Yan] Alliance stacks equivalent to Dispatch Center level (Alliance does not need to be active)","eventTypeDesc":"One-time","_h":"uxuxjf"},"garrison_30_b":{"descRaw":" Gain [Yan] Alliance stacks equivalent to 2x Dispatch Center level (Alliance does not need to be active)","desc":" Gain [Yan] Alliance stacks equivalent to 2x Dispatch Center level (Alliance does not need to be active)","eventTypeDesc":"One-time","_h":"pwpwjf"},"garrison_31_a":{"descRaw":" <@ba.vup>+1 stack to active [Yan] Alliance for every Operator obtained this round","desc":" +1 stack to active [Yan] Alliance for every Operator obtained this round","eventTypeDesc":"Can stack","_h":"or0wmz"},"garrison_31_b":{"descRaw":" <@ba.vup>+2 stacks to active [Yan] Alliance for every Operator obtained this round","desc":" +2 stacks to active [Yan] Alliance for every Operator obtained this round","eventTypeDesc":"Can stack","_h":"i43tmz"},"garrison_32_a":{"descRaw":" Obtain <@ba.vup>2 extra Funds next Rest Phase","desc":" Obtain 2 extra Funds next Rest Phase","eventTypeDesc":"Prep","_h":"j8efx4"},"garrison_32_b":{"descRaw":" Obtain <@ba.vup>4 extra Funds next Rest Phase","desc":" Obtain 4 extra Funds next Rest Phase","eventTypeDesc":"Prep","_h":"86jtx4"},"garrison_34_a":{"descRaw":" <@ba.vup>+1 stack to active [Investor] Alliance for every Operator obtained this round","desc":" +1 stack to active [Investor] Alliance for every Operator obtained this round","eventTypeDesc":"Can stack","_h":"hi71mz"},"garrison_34_b":{"descRaw":" <@ba.vup>+2 stacks to active [Investor] Alliance for every Operator obtained this round","desc":" +2 stacks to active [Investor] Alliance for every Operator obtained this round","eventTypeDesc":"Can stack","_h":"yx44mz"},"garrison_35_a":{"descRaw":" <@ba.vup>+5 stacks to [Yan] and [Victoria] Alliances (Alliances do not need to be active)","desc":" +5 stacks to [Yan] and [Victoria] Alliances (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"qknnjf"},"garrison_35_b":{"descRaw":" <@ba.vup>+10 stacks to [Yan] and [Victoria] Alliances (Alliances do not need to be active)","desc":" +10 stacks to [Yan] and [Victoria] Alliances (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"2k9zjf"},"garrison_37_a":{"descRaw":" If there are 3 Operators in the same row, obtain 1 random Operator from the Alliance with most members in your current squad","desc":" If there are 3 Operators in the same row, obtain 1 random Operator from the Alliance with most members in your current squad","eventTypeDesc":"Prep","_h":"s9s9x4"},"garrison_37_b":{"descRaw":" Obtain 1 random Operator from the Alliance with most members in your current squad","desc":" Obtain 1 random Operator from the Alliance with most members in your current squad","eventTypeDesc":"Prep","_h":"6n6nx4"},"garrison_38_a":{"descRaw":" For every 2 units defeated, <@ba.vup>+1 stack each to active [Ægir], [Durable], and [Raid] Alliances","desc":" For every 2 units defeated, +1 stack each to active [Ægir], [Durable], and [Raid] Alliances","eventTypeDesc":"Can stack","_h":"rzqcmz"},"garrison_38_b":{"descRaw":" For every 2 enemies defeated, <@ba.vup>+2 stacks to active [Ægir], [Durable], and [Raid] Alliances","desc":" For every 2 enemies defeated, +2 stacks to active [Ægir], [Durable], and [Raid] Alliances","eventTypeDesc":"Can stack","_h":"hkzpmz"},"garrison_39_a":{"descRaw":" If there are 3 Operators in the same row, obtain 1 Skadi, Specter, or Underflow","desc":" If there are 3 Operators in the same row, obtain 1 Skadi, Specter, or Underflow","eventTypeDesc":"Prep","_h":"z7z7x4"},"garrison_39_b":{"descRaw":" If there are 3 Operators in the same row, obtain 1 Skadi, Specter, or Underflow; repeats 2 times","desc":" If there are 3 Operators in the same row, obtain 1 Skadi, Specter, or Underflow; repeats 2 times","eventTypeDesc":"Prep","_h":"fufux4"},"garrison_40_a":{"descRaw":" When defeated or switched to Substitute, <@ba.vup>+5 [Ægir] and [Resilient] stacks if Alliances are active","desc":" When defeated or switched to Substitute, +5 [Ægir] and [Resilient] stacks if Alliances are active","eventTypeDesc":"Can stack","_h":"426kmz"},"garrison_40_b":{"descRaw":" When defeated or switched to Substitute, <@ba.vup>+10 [Ægir] and [Resilient] stacks if Alliances are active","desc":" When defeated or switched to Substitute, +10 [Ægir] and [Resilient] stacks if Alliances are active","eventTypeDesc":"Can stack","_h":"kqcimz"},"garrison_41_a":{"descRaw":" <@ba.vup>+3 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +3 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"q5w6jf"},"garrison_41_b":{"descRaw":" <@ba.vup>+6 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +6 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"psqhjf"},"garrison_42_a":{"descRaw":" On first skill activation, <@ba.vup>+5 stacks to active [Sargon] Alliance","desc":" On first skill activation, +5 stacks to active [Sargon] Alliance","eventTypeDesc":"Can stack","_h":"8vgsmz"},"garrison_42_b":{"descRaw":" On first skill activation, <@ba.vup>+10 stacks to active [Sargon] Alliance","desc":" On first skill activation, +10 stacks to active [Sargon] Alliance","eventTypeDesc":"Can stack","_h":"27uomz"},"garrison_43_a":{"descRaw":" On skill activation, <@ba.vup>+6 stacks to active [Sargon] Alliance","desc":" On skill activation, +6 stacks to active [Sargon] Alliance","eventTypeDesc":"Can stack","_h":"zpg0mz"},"garrison_43_b":{"descRaw":" On skill activation, <@ba.vup>+12 stacks to active [Sargon] Alliance","desc":" On skill activation, +12 stacks to active [Sargon] Alliance","eventTypeDesc":"Can stack","_h":"lqedmz"},"garrison_46_a":{"descRaw":" When defeated, <@ba.vup>+3 stacks to active [Ægir] Alliance","desc":" When defeated, +3 stacks to active [Ægir] Alliance","eventTypeDesc":"Can stack","_h":"3f1cmz"},"garrison_46_b":{"descRaw":" When defeated, <@ba.vup>+6 stacks to active [Ægir] Alliance","desc":" When defeated, +6 stacks to active [Ægir] Alliance","eventTypeDesc":"Can stack","_h":"syi7mz"},"garrison_47_a":{"descRaw":" <@ba.vup>+3 stacks each to active Alliance(s) of self and of the Operator 1 tile behind","desc":" +3 stacks each to active Alliance(s) of self and of the Operator 1 tile behind","eventTypeDesc":"Can stack","_h":"x2y9mz"},"garrison_47_b":{"descRaw":" <@ba.vup>+6 stacks each to active Alliance(s) of self and of the Operator 1 tile behind","desc":" +6 stacks each to active Alliance(s) of self and of the Operator 1 tile behind","eventTypeDesc":"Can stack","_h":"7b16mz"},"garrison_48_a":{"descRaw":" <@ba.vup>+2 stacks to active [Victoria] Alliance for every [Victoria] Operator of a different Tier on the field","desc":" +2 stacks to active [Victoria] Alliance for every [Victoria] Operator of a different Tier on the field","eventTypeDesc":"Can stack","_h":"scp5mz"},"garrison_48_b":{"descRaw":" <@ba.vup>+4 stacks to active [Victoria] Alliance for every [Victoria] Operator of a different Tier on the field","desc":" +4 stacks to active [Victoria] Alliance for every [Victoria] Operator of a different Tier on the field","eventTypeDesc":"Can stack","_h":"4y33mz"},"garrison_49_a":{"descRaw":" Obtain 1 piece of 'Quick Combat Rations'","desc":" Obtain 1 piece of 'Quick Combat Rations'","eventTypeDesc":"Prep","_h":"ptptx4"},"garrison_49_b":{"descRaw":" Obtain 2 pieces of 'Quick Combat Rations'","desc":" Obtain 2 pieces of 'Quick Combat Rations'","eventTypeDesc":"Prep","_h":"qwqwx4"},"garrison_50_a":{"descRaw":" The first 3 enemies defeated grant <@ba.vup>+2 stacks to active [Victoria], [Foresight], and [Resilient] Alliances","desc":" The first 3 enemies defeated grant +2 stacks to active [Victoria], [Foresight], and [Resilient] Alliances","eventTypeDesc":"Can stack","_h":"0zm6mz"},"garrison_50_b":{"descRaw":" The first 3 enemies defeated grant <@ba.vup>+4 stacks to active [Victoria], [Foresight], and [Resilient] Alliances","desc":" The first 3 enemies defeated grant +4 stacks to active [Victoria], [Foresight], and [Resilient] Alliances","eventTypeDesc":"Can stack","_h":"gt04mz"},"garrison_51_a":{"descRaw":" <@ba.vup>+5 stacks to own active Alliance(s)","desc":" +5 stacks to own active Alliance(s)","eventTypeDesc":"Can stack","_h":"2otrmz"},"garrison_51_b":{"descRaw":" <@ba.vup>+10 stacks to own active Alliance(s)","desc":" +10 stacks to own active Alliance(s)","eventTypeDesc":"Can stack","_h":"ae95mz"},"garrison_53_a":{"descRaw":" <@ba.vup>+3/<@ba.vup>+2 stacks respectively to active [Victoria]/[Marvel] Alliances for every [Victoria]/[Marvel] Operator of a different Tier on the field","desc":" +3/+2 stacks respectively to active [Victoria]/[Marvel] Alliances for every [Victoria]/[Marvel] Operator of a different Tier on the field","eventTypeDesc":"Can stack","_h":"rpk9mz"},"garrison_53_b":{"descRaw":" <@ba.vup>+6/<@ba.vup>+4 stacks respectively to active [Victoria]/[Marvel] Alliances for every [Victoria]/[Marvel] Operator of a different Tier on the field","desc":" +6/+4 stacks respectively to active [Victoria]/[Marvel] Alliances for every [Victoria]/[Marvel] Operator of a different Tier on the field","eventTypeDesc":"Can stack","_h":"vcgumz"},"garrison_54_a":{"descRaw":" <@ba.vup>+3/<@ba.vup>+2 stacks respectively to active [Victoria]/[Marvel] Alliances for every [Victoria]/[Marvel] Operator of a different Tier on the field","desc":" +3/+2 stacks respectively to active [Victoria]/[Marvel] Alliances for every [Victoria]/[Marvel] Operator of a different Tier on the field","eventTypeDesc":"Can stack","_h":"rpk9mz"},"garrison_54_b":{"descRaw":" <@ba.vup>+6/<@ba.vup>+4 stacks respectively to active [Victoria]/[Marvel] Alliances for every [Victoria]/[Marvel] Operator of a different Tier on the field","desc":" +6/+4 stacks respectively to active [Victoria]/[Marvel] Alliances for every [Victoria]/[Marvel] Operator of a different Tier on the field","eventTypeDesc":"Can stack","_h":"bmgumz"},"garrison_55_a":{"descRaw":" Whenever this Operator spends 7 bullets, <@ba.vup>+7 [Laterano] and <@ba.vup>+3 [Foresight] Alliances if Alliances are active ([Foresight] can stack up to 21x every battle)","desc":" Whenever this Operator spends 7 bullets, +7 [Laterano] and +3 [Foresight] Alliances if Alliances are active ([Foresight] can stack up to 21x every battle)","eventTypeDesc":"Can stack","_h":"4q8omz"},"garrison_55_b":{"descRaw":" Whenever this Operator spends 7 bullets, <@ba.vup>+14 [Laterano] and <@ba.vup>+6 [Foresight] Alliances if Alliances are active ([Foresight] can stack up to 42x every battle)","desc":" Whenever this Operator spends 7 bullets, +14 [Laterano] and +6 [Foresight] Alliances if Alliances are active ([Foresight] can stack up to 42x every battle)","eventTypeDesc":"Can stack","_h":"losgmz"},"garrison_56_a":{"descRaw":" <@ba.vup>+2 stacks to active [Swift] Alliance for every Operator on Bench","desc":" +2 stacks to active [Swift] Alliance for every Operator on Bench","eventTypeDesc":"Can stack","_h":"z26bmz"},"garrison_56_b":{"descRaw":" <@ba.vup>+4 stacks to active [Swift] Alliance for every Operator on Bench","desc":" +4 stacks to active [Swift] Alliance for every Operator on Bench","eventTypeDesc":"Can stack","_h":"nkc5mz"},"garrison_57_a":{"descRaw":" <@ba.vup>+2 stacks each to active Alliances of all Operators on Bench","desc":" +2 stacks each to active Alliances of all Operators on Bench","eventTypeDesc":"Can stack","_h":"2o5pmz"},"garrison_57_b":{"descRaw":" <@ba.vup>+4 stacks each to active Alliances of all Operators on Bench","desc":" +4 stacks each to active Alliances of all Operators on Bench","eventTypeDesc":"Can stack","_h":"gezvmz"},"garrison_59_a":{"descRaw":" When the Operator in the tile ahead adds stacks from their Attribute, <@ba.vup>+1 additional stack","desc":" When the Operator in the tile ahead adds stacks from their Attribute, +1 additional stack","eventTypeDesc":"Combat","_h":"tw1n3p"},"garrison_59_b":{"descRaw":" When the Operator in front adds stacks from their Attribute, <@ba.vup>+2 additional stacks","desc":" When the Operator in front adds stacks from their Attribute, +2 additional stacks","eventTypeDesc":"Combat","_h":"77qm3p"},"garrison_60_a":{"descRaw":" Trigger the 'When obtained' Attribute of the Operator in the tile ahead","desc":" Trigger the 'When obtained' Attribute of the Operator in the tile ahead","eventTypeDesc":"Specialized","_h":"zozo6k"},"garrison_60_b":{"descRaw":" Trigger the 'When obtained' Attributes of Operators two tiles ahead of self","desc":" Trigger the 'When obtained' Attributes of Operators two tiles ahead of self","eventTypeDesc":"Specialized","_h":"0o0o6k"},"garrison_61_a":{"descRaw":" <@ba.vup>+2 stacks to the most stacked active Alliance for every member Operator of a different Tier on the field","desc":" +2 stacks to the most stacked active Alliance for every member Operator of a different Tier on the field","eventTypeDesc":"Can stack","_h":"em0zmz"},"garrison_61_b":{"descRaw":" <@ba.vup>+4 stacks to the most stacked active Alliance for every member Operator of a different Tier on the field","desc":" +4 stacks to the most stacked active Alliance for every member Operator of a different Tier on the field","eventTypeDesc":"Can stack","_h":"1s6tmz"},"garrison_65_a":{"descRaw":" <@ba.vup>+8 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +8 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"racbjf"},"garrison_65_b":{"descRaw":" <@ba.vup>+16 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +16 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"nvoojf"},"garrison_67_a":{"descRaw":" Obtain 1 extra Funds next Rest Phase","desc":" Obtain 1 extra Funds next Rest Phase","eventTypeDesc":"Prep","_h":"qbqbx4"},"garrison_67_b":{"descRaw":" Obtain 2 extra Funds next Rest Phase","desc":" Obtain 2 extra Funds next Rest Phase","eventTypeDesc":"Prep","_h":"jyjyx4"},"garrison_69_a":{"descRaw":" <@ba.vup>+4 stacks to active [Durable] Alliance","desc":" +4 stacks to active [Durable] Alliance","eventTypeDesc":"Can stack","_h":"1y9vmz"},"garrison_69_b":{"descRaw":" <@ba.vup>+8 stacks to active [Durable] Alliance","desc":" +8 stacks to active [Durable] Alliance","eventTypeDesc":"Can stack","_h":"cyljmz"},"garrison_70_a":{"descRaw":" <@ba.vup>+1 stack to active [Durable] Alliance for every Operator in the same row","desc":" +1 stack to active [Durable] Alliance for every Operator in the same row","eventTypeDesc":"Can stack","_h":"j3f8mz"},"garrison_70_b":{"descRaw":" <@ba.vup>+2 stacks to active [Durable] Alliance for every Operator in the same row","desc":" +2 stacks to active [Durable] Alliance for every Operator in the same row","eventTypeDesc":"Can stack","_h":"bki5mz"},"garrison_71_a":{"descRaw":" <@ba.vup>+6 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +6 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"psqhjf"},"garrison_71_b":{"descRaw":" <@ba.vup>+12 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +12 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"of84jf"},"garrison_72_a":{"descRaw":" Grants '<@ba.vup>+1 stack to own active Alliance(s) on skill activation' to the Operator in the tile ahead (Can stack up to 7x every battle)","desc":" Grants '+1 stack to own active Alliance(s) on skill activation' to the Operator in the tile ahead (Can stack up to 7x every battle)","eventTypeDesc":"Can stack","_h":"5yk3mz"},"garrison_72_b":{"descRaw":" Grants '<@ba.vup>+2 stacks to own active Alliance(s) on skill activation' to the Operator in the tile ahead (Can stack up to 14x every battle)","desc":" Grants '+2 stacks to own active Alliance(s) on skill activation' to the Operator in the tile ahead (Can stack up to 14x every battle)","eventTypeDesc":"Can stack","_h":"m5kkmz"},"garrison_73_a":{"descRaw":" Grants '<@ba.vup>+1 stack to active [Precision] Alliance on skill activation' to the Operator in the tile ahead (Can stack up to 10x every battle)","desc":" Grants '+1 stack to active [Precision] Alliance on skill activation' to the Operator in the tile ahead (Can stack up to 10x every battle)","eventTypeDesc":"Can stack","_h":"rj7cmz"},"garrison_73_b":{"descRaw":" Grants '<@ba.vup>+2 stacks to active [Precision] Alliance on skill activation' to the Operator in the tile ahead (Can stack up to 20x every battle)","desc":" Grants '+2 stacks to active [Precision] Alliance on skill activation' to the Operator in the tile ahead (Can stack up to 20x every battle)","eventTypeDesc":"Can stack","_h":"33z2mz"},"garrison_75_a":{"descRaw":" <@ba.vup>+1 stack to active [Kazimierz] Alliance\n <@ba.vup>+2 stacks to active [Resilient] Alliance","desc":" +1 stack to active [Kazimierz] Alliance\n +2 stacks to active [Resilient] Alliance","eventTypeDesc":"Can stack","_h":"qszimz"},"garrison_75_b":{"descRaw":" <@ba.vup>+2 stacks to active [Kazimierz] Alliance\n <@ba.vup>+4 stacks to active [Resilient] Alliance","desc":" +2 stacks to active [Kazimierz] Alliance\n +4 stacks to active [Resilient] Alliance","eventTypeDesc":"Can stack","_h":"h18tmz"},"garrison_76_a":{"descRaw":" Gain 1 piece of 'Damazti Isomorph'","desc":" Gain 1 piece of 'Damazti Isomorph'","eventTypeDesc":"Prep","_h":"iiiix4"},"garrison_76_b":{"descRaw":" Gain 2 pieces of 'Damazti Isomorph'","desc":" Gain 2 pieces of 'Damazti Isomorph'","eventTypeDesc":"Prep","_h":"nznzx4"},"garrison_77_a":{"descRaw":" For every 2 enemy defeated, <@ba.vup>+1 stack to active [Raid] Alliance","desc":" For every 2 enemy defeated, +1 stack to active [Raid] Alliance","eventTypeDesc":"Can stack","_h":"hib1mz"},"garrison_77_b":{"descRaw":" For every 2 enemies defeated, <@ba.vup>+2 stacks to active [Raid] Alliance","desc":" For every 2 enemies defeated, +2 stacks to active [Raid] Alliance","eventTypeDesc":"Can stack","_h":"pzj6mz"},"garrison_79_a":{"descRaw":" <@ba.vup>+4 stacks each to active Alliance(s) of self and of the Operator 1 tile ahead","desc":" +4 stacks each to active Alliance(s) of self and of the Operator 1 tile ahead","eventTypeDesc":"Can stack","_h":"lawbmz"},"garrison_79_b":{"descRaw":" <@ba.vup>+8 stacks each to active Alliance(s) of self and of the Operator 1 tile ahead","desc":" +8 stacks each to active Alliance(s) of self and of the Operator 1 tile ahead","eventTypeDesc":"Can stack","_h":"oa4fmz"},"garrison_80_a":{"descRaw":" <@ba.vup>+2 stacks to own active Alliance(s)","desc":" +2 stacks to own active Alliance(s)","eventTypeDesc":"Can stack","_h":"ndjomz"},"garrison_80_b":{"descRaw":" <@ba.vup>+4 stacks to own active Alliance(s)","desc":" +4 stacks to own active Alliance(s)","eventTypeDesc":"Can stack","_h":"dz5qmz"},"garrison_81_a":{"descRaw":" <@ba.vup>+2 stacks to the most stacked active Alliance; takes effect even if the Operator is on Bench","desc":" +2 stacks to the most stacked active Alliance; takes effect even if the Operator is on Bench","eventTypeDesc":"Can stack","_h":"3ebvmz"},"garrison_81_b":{"descRaw":" <@ba.vup>+4 stacks to the most stacked active Alliance; takes effect even if the Operator is on Bench","desc":" +4 stacks to the most stacked active Alliance; takes effect even if the Operator is on Bench","eventTypeDesc":"Can stack","_h":"g0ytmz"},"garrison_82_a":{"descRaw":" Triggers an Operator's Attribute (Prioritizes Operators deployed on upper right tiles)","desc":" Triggers an Operator's Attribute (Prioritizes Operators deployed on upper right tiles)","eventTypeDesc":"Specialized","_h":"6z6z6k"},"garrison_82_b":{"descRaw":" Triggers an Operator's Attribute (Prioritizes Operators deployed on upper right tiles)","desc":" Triggers an Operator's Attribute (Prioritizes Operators deployed on upper right tiles)","eventTypeDesc":"Specialized","_h":"6z6z6k"},"garrison_84_a":{"descRaw":"For every 10 stacks added to [Ægir] Alliance, this Operator recovers 50 HP/s and gains +0.15/s SP recovery rate","desc":"For every 10 stacks added to [Ægir] Alliance, this Operator recovers 50 HP/s and gains +0.15/s SP recovery rate","eventTypeDesc":"Combat","_h":"v5v53p"},"garrison_84_b":{"descRaw":"For every 10 stacks added to [Ægir] Alliance, this Operator recovers 100 HP/s and +0.3/s SP recovery rate","desc":"For every 10 stacks added to [Ægir] Alliance, this Operator recovers 100 HP/s and +0.3/s SP recovery rate","eventTypeDesc":"Combat","_h":"kqkq3p"},"garrison_86_a":{"descRaw":"If Operator ahead of self has a Attribute, this Operator copies it","desc":"If Operator ahead of self has a Attribute, this Operator copies it","eventTypeDesc":"Specialized","_h":"45456k"},"garrison_86_b":{"descRaw":"If Operator ahead of self has a Attribute, this Operator copies it","desc":"If Operator ahead of self has a Attribute, this Operator copies it","eventTypeDesc":"Specialized","_h":"45456k"},"garrison_90_a":{"descRaw":" On skill activation, <@ba.vup>+1 stack to the most stacked active Alliance for every Operator in the same row (Can stack up to 10x every battle)","desc":" On skill activation, +1 stack to the most stacked active Alliance for every Operator in the same row (Can stack up to 10x every battle)","eventTypeDesc":"Can stack","_h":"qkqdmz"},"garrison_90_b":{"descRaw":" On skill activation, <@ba.vup>+2 stacks to the most stacked active Alliance for every Operator in the same row (Can stack up to 20x every battle)","desc":" On skill activation, +2 stacks to the most stacked active Alliance for every Operator in the same row (Can stack up to 20x every battle)","eventTypeDesc":"Can stack","_h":"g6j9mz"},"garrison_91_a":{"descRaw":" Randomly obtain 1 piece of Rockrock's custom creations","desc":" Randomly obtain 1 piece of Rockrock's custom creations","eventTypeDesc":"Prep","_h":"xoxox4"},"garrison_91_b":{"descRaw":" Randomly obtain 2 pieces of Rockrock's custom creations","desc":" Randomly obtain 2 pieces of Rockrock's custom creations","eventTypeDesc":"Prep","_h":"p7p7x4"},"garrison_92_a":{"descRaw":" Obtain 1 'Kjeragi Nevermeltice'","desc":" Obtain 1 'Kjeragi Nevermeltice'","eventTypeDesc":"Prep","_h":"pipix4"},"garrison_92_b":{"descRaw":" Obtain 2 'Kjeragi Nevermeltice'","desc":" Obtain 2 'Kjeragi Nevermeltice'","eventTypeDesc":"Prep","_h":"rxrxx4"},"garrison_93_a":{"descRaw":"Only 2 copies of this Operator are needed for Elite promotion","desc":"Only 2 copies of this Operator are needed for Elite promotion","eventTypeDesc":"Combat","_h":"sdsd3p"},"garrison_93_b":{"descRaw":"Only 2 copies of this Operator are needed for Elite promotion","desc":"Only 2 copies of this Operator are needed for Elite promotion","eventTypeDesc":"Combat","_h":"sdsd3p"},"garrison_94_a":{"descRaw":" Obtain 1 Alliance Coin or Sargon Teaspresso, with a small chance to find Desert Compass","desc":" Obtain 1 Alliance Coin or Sargon Teaspresso, with a small chance to find Desert Compass","eventTypeDesc":"Prep","_h":"i2i2x4"},"garrison_94_b":{"descRaw":" Obtain 2 Alliance Coins or Sargon Teaspressos, with a small chance to find Desert Compasses","desc":" Obtain 2 Alliance Coins or Sargon Teaspressos, with a small chance to find Desert Compasses","eventTypeDesc":"Prep","_h":"0g0gx4"},"garrison_95_a":{"descRaw":" <@ba.vup>+1 stack to own active Alliance(s) on skill activation (Can stack up to 7x every battle)","desc":" +1 stack to own active Alliance(s) on skill activation (Can stack up to 7x every battle)","eventTypeDesc":"Can stack","_h":"7co3mz"},"garrison_95_b":{"descRaw":" <@ba.vup>+2 stacks to own active Alliance(s) on skill activation","desc":" +2 stacks to own active Alliance(s) on skill activation","eventTypeDesc":"Can stack","_h":"336ymz"},"garrison_96_a":{"descRaw":" <@ba.vup>+1 stack to active [Precision] Alliance on skill activation (Can stack up to 10x every battle)","desc":" +1 stack to active [Precision] Alliance on skill activation (Can stack up to 10x every battle)","eventTypeDesc":"Can stack","_h":"izl2mz"},"garrison_96_b":{"descRaw":" <@ba.vup>+2 stacks to active [Precision] Alliance on skill activation","desc":" +2 stacks to active [Precision] Alliance on skill activation","eventTypeDesc":"Can stack","_h":"t6zjmz"},"garrison_98_a":{"descRaw":" Obtain <@ba.vup>1 extra Funds in next Rest Phase (takes effect when [Yan]/[Investor] is active in Bench)","desc":" Obtain 1 extra Funds in next Rest Phase (takes effect when [Yan]/[Investor] is active in Bench)","eventTypeDesc":"Prep","_h":"8iudx4"},"garrison_98_b":{"descRaw":" Obtain <@ba.vup>2 extra Funds in next Rest Phase (takes effect when [Yan]/[Investor] is active in Bench)","desc":" Obtain 2 extra Funds in next Rest Phase (takes effect when [Yan]/[Investor] is active in Bench)","eventTypeDesc":"Prep","_h":"rvtqx4"},"garrison_99_a":{"descRaw":"If Operator ahead of self has a Attribute, this Operator copies it","desc":"If Operator ahead of self has a Attribute, this Operator copies it","eventTypeDesc":"Specialized","_h":"p3p36k"},"garrison_99_b":{"descRaw":"If Operator ahead of self has a Attribute, this Operator copies it","desc":"If Operator ahead of self has a Attribute, this Operator copies it","eventTypeDesc":"Specialized","_h":"p3p36k"},"garrison_100_a":{"descRaw":"For every 3 stacks added to [Sargon], [Swift] or [Precision] Alliances, this Operator gains <@ba.vup>+2% ATK","desc":"For every 3 stacks added to [Sargon], [Swift] or [Precision] Alliances, this Operator gains +2% ATK","eventTypeDesc":"Combat","_h":"gfik3p"},"garrison_100_b":{"descRaw":"For every 3 stacks added to [Sargon], [Swift] or [Precision] Alliances, this Operator gains <@ba.vup>+4% ATK","desc":"For every 3 stacks added to [Sargon], [Swift] or [Precision] Alliances, this Operator gains +4% ATK","eventTypeDesc":"Combat","_h":"w13q3p"},"garrison_101_a":{"descRaw":"For every 3 stacks added to [Yan] or [Raid] Alliances, this Operator deals extra <@ba.vup>+1% ATK of damage to enemies inflicted with Bind and Slow","desc":"For every 3 stacks added to [Yan] or [Raid] Alliances, this Operator deals extra +1% ATK of damage to enemies inflicted with Bind and Slow","eventTypeDesc":"Combat","_h":"zfuw3p"},"garrison_101_b":{"descRaw":"For every 3 stacks added to [Yan] or [Raid] Alliances, this Operator deals extra <@ba.vup>2% ATK of damage to enemies inflicted with Bind and Slow","desc":"For every 3 stacks added to [Yan] or [Raid] Alliances, this Operator deals extra 2% ATK of damage to enemies inflicted with Bind and Slow","eventTypeDesc":"Combat","_h":"nmn73p"},"garrison_102_a":{"descRaw":" <@ba.vup>+1 stack to the most stacked active Alliance; takes effect even if the Operator is on Bench","desc":" +1 stack to the most stacked active Alliance; takes effect even if the Operator is on Bench","eventTypeDesc":"Can stack","_h":"39k2mz"},"garrison_102_b":{"descRaw":" <@ba.vup>+2 stacks to the most stacked active Alliance; takes effect even if the Operator is on Bench","desc":" +2 stacks to the most stacked active Alliance; takes effect even if the Operator is on Bench","eventTypeDesc":"Can stack","_h":"3ebvmz"},"garrison_104_a":{"descRaw":" <@ba.vup>+5 stacks to own active Alliance(s)","desc":" +5 stacks to own active Alliance(s)","eventTypeDesc":"Can stack","_h":"2otrmz"},"garrison_104_b":{"descRaw":" <@ba.vup>+10 stacks to own active Alliance(s)","desc":" +10 stacks to own active Alliance(s)","eventTypeDesc":"Can stack","_h":"ae95mz"},"garrison_105_a":{"descRaw":" <@ba.vup>+3 stacks to the most stacked active Alliance","desc":" +3 stacks to the most stacked active Alliance","eventTypeDesc":"One-time","_h":"berpjf"},"garrison_105_b":{"descRaw":" <@ba.vup>+6 stacks to the most stacked active Alliance","desc":" +6 stacks to the most stacked active Alliance","eventTypeDesc":"One-time","_h":"lvaujf"},"garrison_106_a":{"descRaw":" <@ba.vup>+4 stacks to own active Alliance(s) (Can stack up to 12x every battle)","desc":" +4 stacks to own active Alliance(s) (Can stack up to 12x every battle)","eventTypeDesc":"Can stack","_h":"jxb6mz"},"garrison_106_b":{"descRaw":" <@ba.vup>+8 stacks to own active Alliance(s) on skill activation (Can stack up to 24x every battle)","desc":" +8 stacks to own active Alliance(s) on skill activation (Can stack up to 24x every battle)","eventTypeDesc":"Can stack","_h":"m4z3mz"},"garrison_107_a":{"descRaw":" <@ba.vup>+8 stacks to active [Raid] Alliance (Can stack up to 50x every battle)","desc":" +8 stacks to active [Raid] Alliance (Can stack up to 50x every battle)","eventTypeDesc":"Can stack","_h":"tu3lmz"},"garrison_107_b":{"descRaw":" <@ba.vup>+16 stacks to active [Raid] Alliance (Can stack up to 100x every battle)","desc":" +16 stacks to active [Raid] Alliance (Can stack up to 100x every battle)","eventTypeDesc":"Can stack","_h":"xjv8mz"},"garrison_108_a":{"descRaw":" <@ba.vup>+4 stacks to active [Kazimierz] and [Precision] Alliances (Can stack up to 24x every battle)","desc":" +4 stacks to active [Kazimierz] and [Precision] Alliances (Can stack up to 24x every battle)","eventTypeDesc":"Can stack","_h":"vt5umz"},"garrison_108_b":{"descRaw":" <@ba.vup>+8 stacks to active [Kazimierz] and [Precision] Alliances (Can stack up to 48x every battle)","desc":" +8 stacks to active [Kazimierz] and [Precision] Alliances (Can stack up to 48x every battle)","eventTypeDesc":"Can stack","_h":"xne8mz"},"garrison_111_a":{"descRaw":" <@ba.vup>+5 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +5 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"cb5cjf"},"garrison_111_b":{"descRaw":" <@ba.vup>+10 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +10 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"ulj2jf"},"garrison_113_a":{"descRaw":" Gain 1 free Refresh","desc":" Gain 1 free Refresh","eventTypeDesc":"Prep","_h":"dkdkx4"},"garrison_113_b":{"descRaw":" Gain 2 free Refreshes","desc":" Gain 2 free Refreshes","eventTypeDesc":"Prep","_h":"rfrfx4"},"garrison_114_a":{"descRaw":" Gain 1 free Refresh","desc":" Gain 1 free Refresh","eventTypeDesc":"Prep","_h":"0a0ax4"},"garrison_114_b":{"descRaw":" Gain 2 free Refreshes","desc":" Gain 2 free Refreshes","eventTypeDesc":"Prep","_h":"gpgpx4"},"garrison_115_a":{"descRaw":"For every 5 stacks added to [Kazimierz] Alliance, this Operator gains +10 <@ba.vup>base ATK and +50 <@ba.vup>base HP for 100 seconds","desc":"For every 5 stacks added to [Kazimierz] Alliance, this Operator gains +10 base ATK and +50 base HP for 100 seconds","eventTypeDesc":"Combat","_h":"3h853p"},"garrison_115_b":{"descRaw":"For every 5 stacks added to [Kazimierz] Alliance, this Operator gains +20 <@ba.vup>base ATK and +100 <@ba.vup>base HP for 100 seconds","desc":"For every 5 stacks added to [Kazimierz] Alliance, this Operator gains +20 base ATK and +100 base HP for 100 seconds","eventTypeDesc":"Combat","_h":"886o3p"},"garrison_116_a":{"descRaw":" Do a special free refresh of <@ba.vup>Tier I Operators\nWhen this Operator is promoted to Elite, refresh offers <@ba.vup>Tier V Operators instead","desc":" Do a special free refresh of Tier I Operators\nWhen this Operator is promoted to Elite, refresh offers Tier V Operators instead","eventTypeDesc":"Prep","_h":"w1pfx4"},"garrison_116_b":{"descRaw":" Do a special free refresh of <@ba.vup>Tier V Operators","desc":" Do a special free refresh of Tier V Operators","eventTypeDesc":"Prep","_h":"05twx4"},"garrison_117_b":{"descRaw":"Grants <@ba.vup>+2 stacks to active [Siracusa] Alliance(s) when this Operator defeats an enemy","desc":"Grants +2 stacks to active [Siracusa] Alliance(s) when this Operator defeats an enemy","eventTypeDesc":"Can stack","_h":"eaymmz"},"garrison_118_a":{"descRaw":" <@ba.vup>+2 stacks to active [Siracusa] Alliance when an enemy is defeated\n<@ba.rem>When Lappland the Decadenza is promoted to an Elite Operator, all [Siracusa] Alliance Operators gain the effect","desc":" +2 stacks to active [Siracusa] Alliance when an enemy is defeated\nWhen Lappland the Decadenza is promoted to an Elite Operator, all [Siracusa] Alliance Operators gain the effect","eventTypeDesc":"Can stack","_h":"qp1imz"},"garrison_118_b":{"descRaw":" Grants '<@ba.vup>+2 stacks to active [Siracusa] Alliance when this Operator defeats an enemy' to <@ba.vup>all [Siracusa] Alliance Operators","desc":" Grants '+2 stacks to active [Siracusa] Alliance when this Operator defeats an enemy' to all [Siracusa] Alliance Operators","eventTypeDesc":"Can stack","_h":"1ryvmz"},"garrison_119_a":{"descRaw":" <@ba.vup>+2 stacks to active [Yan] and [Arcane] Alliances for every Operator obtained during this Rest Phase","desc":" +2 stacks to active [Yan] and [Arcane] Alliances for every Operator obtained during this Rest Phase","eventTypeDesc":"Can stack","_h":"9sm5mz"},"garrison_119_b":{"descRaw":" <@ba.vup>+4 stacks to active [Yan] and [Arcane] Alliances for every Operator obtained during this Rest Phase","desc":" +4 stacks to active [Yan] and [Arcane] Alliances for every Operator obtained during this Rest Phase","eventTypeDesc":"Can stack","_h":"nigbmz"},"garrison_120_a":{"descRaw":" Gain 1 free Refresh","desc":" Gain 1 free Refresh","eventTypeDesc":"Prep","_h":"p6p6x4"},"garrison_120_b":{"descRaw":" Gain 2 free Refreshes","desc":" Gain 2 free Refreshes","eventTypeDesc":"Prep","_h":"1l1lx4"},"garrison_121_a":{"descRaw":" <@ba.vup>+2 stacks to active [Agile] and [Arcane] Alliances for every <@ba.vup>3 Funds spent this round","desc":" +2 stacks to active [Agile] and [Arcane] Alliances for every 3 Funds spent this round","eventTypeDesc":"Can stack","_h":"11a5mz"},"garrison_121_b":{"descRaw":" <@ba.vup>+4 stacks to active [Agile] and [Arcane] Alliances for every <@ba.vup>3 Funds spent this round","desc":" +4 stacks to active [Agile] and [Arcane] Alliances for every 3 Funds spent this round","eventTypeDesc":"Can stack","_h":"fv4bmz"},"garrison_122_a":{"descRaw":" <@ba.vup>+2 stacks to active [Siracusa] and [Arcane] Alliances for every refresh done this round (Can stack up to 6x)","desc":" +2 stacks to active [Siracusa] and [Arcane] Alliances for every refresh done this round (Can stack up to 6x)","eventTypeDesc":"Can stack","_h":"2gvpmz"},"garrison_122_b":{"descRaw":" <@ba.vup>+4 stacks to active [Siracusa] and [Arcane] Alliances for every refresh done this round (Can stack up to 12x per round)","desc":" +4 stacks to active [Siracusa] and [Arcane] Alliances for every refresh done this round (Can stack up to 12x per round)","eventTypeDesc":"Can stack","_h":"lqxrmz"},"garrison_123_a":{"descRaw":" <@ba.vup>+4 stacks to active [Siracusa] Alliance on first active refresh; takes effect even if the Operator is on Bench","desc":" +4 stacks to active [Siracusa] Alliance on first active refresh; takes effect even if the Operator is on Bench","eventTypeDesc":"Can stack","_h":"i657mz"},"garrison_123_b":{"descRaw":" <@ba.vup>+8 stacks to active [Siracusa] Alliance on first active refresh; takes effect even if the Operator is on Bench","desc":" +8 stacks to active [Siracusa] Alliance on first active refresh; takes effect even if the Operator is on Bench","eventTypeDesc":"Can stack","_h":"2a1bmz"},"garrison_125_a":{"descRaw":" When a unit or enemy within Attack Range is inflicted with <@ba.vup>Sleep or <@ba.vup>Stun, <@ba.vup>+1 stack to active [Sargon] and [Precision] Alliances (Can stack up to 24x every battle)","desc":" When a unit or enemy within Attack Range is inflicted with Sleep or Stun, +1 stack to active [Sargon] and [Precision] Alliances (Can stack up to 24x every battle)","eventTypeDesc":"Can stack","_h":"041rmz"},"garrison_125_b":{"descRaw":" When a unit or enemy within Attack Range is inflicted with <@ba.vup>Sleep or <@ba.vup>Stun, <@ba.vup>+2 stacks to active [Sargon] and [Precision] Alliances (Can stack up to 48x every battle)","desc":" When a unit or enemy within Attack Range is inflicted with Sleep or Stun, +2 stacks to active [Sargon] and [Precision] Alliances (Can stack up to 48x every battle)","eventTypeDesc":"Can stack","_h":"hzcmmz"},"garrison_126_a":{"descRaw":" Grants 'Whenever an enemy within range is Frozen, 60% chance for <@ba.vup>+1 stack to active [Kjerag] Alliance' to the [Kjerag] Alliance Operator on the tile ahead","desc":" Grants 'Whenever an enemy within range is Frozen, 60% chance for +1 stack to active [Kjerag] Alliance' to the [Kjerag] Alliance Operator on the tile ahead","eventTypeDesc":"Can stack","_h":"w4shmz"},"garrison_126_b":{"descRaw":" Grants 'Whenever an enemy within range is Frozen, 60% chance for <@ba.vup>+2 stacks to active [Kjerag] Alliance' to the [Kjerag] Alliance Operator on the tile ahead","desc":" Grants 'Whenever an enemy within range is Frozen, 60% chance for +2 stacks to active [Kjerag] Alliance' to the [Kjerag] Alliance Operator on the tile ahead","eventTypeDesc":"Can stack","_h":"dlvemz"},"garrison_127_a":{"descRaw":" On odd-numbered rounds, gain 1 random piece of equipment","desc":" On odd-numbered rounds, gain 1 random piece of equipment","eventTypeDesc":"Prep","_h":"ybybx4"},"garrison_127_b":{"descRaw":" On odd-numbered rounds, gain 2 random pieces of equipment","desc":" On odd-numbered rounds, gain 2 random pieces of equipment","eventTypeDesc":"Prep","_h":"fwfwx4"},"garrison_128_a":{"descRaw":" On skill activation, <@ba.vup>+9 stacks to active [Sargon] Alliance","desc":" On skill activation, +9 stacks to active [Sargon] Alliance","eventTypeDesc":"Can stack","_h":"t2ulmz"},"garrison_128_b":{"descRaw":" On skill activation, <@ba.vup>+18 stacks to active [Sargon] Alliance","desc":" On skill activation, +18 stacks to active [Sargon] Alliance","eventTypeDesc":"Can stack","_h":"c4k7mz"},"garrison_130_a":{"descRaw":" <@ba.vup>+4 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +4 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"xmlzjf"},"garrison_130_b":{"descRaw":" <@ba.vup>+8 stacks to own Alliance(s) (Alliances do not need to be active)","desc":" +8 stacks to own Alliance(s) (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"racbjf"},"garrison_131_a":{"descRaw":" The first enemy or ally defeated grants <@ba.vup>+3 stacks to active [Ægir] and [Arcane] Alliances","desc":" The first enemy or ally defeated grants +3 stacks to active [Ægir] and [Arcane] Alliances","eventTypeDesc":"Can stack","_h":"8pjimz"},"garrison_131_b":{"descRaw":" The first enemy or ally defeated grants <@ba.vup>+6 stacks to active [Ægir] and [Arcane] Alliances","desc":" The first enemy or ally defeated grants +6 stacks to active [Ægir] and [Arcane] Alliances","eventTypeDesc":"Can stack","_h":"6w0dmz"},"garrison_132_a":{"descRaw":" Gain 2 free Refreshes","desc":" Gain 2 free Refreshes","eventTypeDesc":"Prep","_h":"1l1lx4"},"garrison_132_b":{"descRaw":" Gain 4 free Refreshes","desc":" Gain 4 free Refreshes","eventTypeDesc":"Prep","_h":"svsvx4"},"garrison_133_a":{"descRaw":" Gain 1 'Alliance Coin'","desc":" Gain 1 'Alliance Coin'","eventTypeDesc":"Prep","_h":"h8h8x4"},"garrison_133_b":{"descRaw":" Gain 2 'Alliance Coins'","desc":" Gain 2 'Alliance Coins'","eventTypeDesc":"Prep","_h":"ububx4"},"garrison_137_a":{"descRaw":" <@ba.vup>+25% ATK and HP; deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES)","desc":" +25% ATK and HP; deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES)","eventTypeDesc":"Combat","_h":"gbb43p"},"garrison_137_b":{"descRaw":" <@ba.vup>+50% ATK and HP; deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES)","desc":" +50% ATK and HP; deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES)","eventTypeDesc":"Combat","_h":"zfsw3p"},"garrison_138_a":{"descRaw":" The first enemy defeated grants <@ba.vup>+3 stacks to active [Precision] and [Laterano] Alliances","desc":" The first enemy defeated grants +3 stacks to active [Precision] and [Laterano] Alliances","eventTypeDesc":"Can stack","_h":"n6odmz"},"garrison_138_b":{"descRaw":" The first enemy defeated grants <@ba.vup>+6 stacks to active [Precision] and [Laterano] Alliances","desc":" The first enemy defeated grants +6 stacks to active [Precision] and [Laterano] Alliances","eventTypeDesc":"Can stack","_h":"q37imz"},"garrison_140_a":{"descRaw":" On skill activation, <@ba.vup>+3 stacks to the most stacked active Alliance","desc":" On skill activation, +3 stacks to the most stacked active Alliance","eventTypeDesc":"Can stack","_h":"9u65mz"},"garrison_140_b":{"descRaw":" On skill activation, <@ba.vup>+6 stacks to the most stacked active Alliance","desc":" On skill activation, +6 stacks to the most stacked active Alliance","eventTypeDesc":"Can stack","_h":"kbpamz"},"garrison_141_a":{"descRaw":" <@ba.vup>+4 stacks to active [Foresight] Alliance","desc":" +4 stacks to active [Foresight] Alliance","eventTypeDesc":"Can stack","_h":"yrzemz"},"garrison_141_b":{"descRaw":" <@ba.vup>+8 stacks to active [Foresight] Alliance","desc":" +8 stacks to active [Foresight] Alliance","eventTypeDesc":"Can stack","_h":"unnqmz"},"garrison_142_a":{"descRaw":" <@ba.vup>+4 stacks to active [Foresight] Alliance","desc":" +4 stacks to active [Foresight] Alliance","eventTypeDesc":"Can stack","_h":"y5msmz"},"garrison_142_b":{"descRaw":" <@ba.vup>+8 stacks to active [Foresight] Alliance","desc":" +8 stacks to active [Foresight] Alliance","eventTypeDesc":"Can stack","_h":"gxb4mz"},"garrison_143_a":{"descRaw":" <@ba.vup>+1 stack to active [Kazimierz] Alliance","desc":" +1 stack to active [Kazimierz] Alliance","eventTypeDesc":"Can stack","_h":"awnjmz"},"garrison_143_b":{"descRaw":" <@ba.vup>+2 stacks to active [Kazimierz] Alliance","desc":" +2 stacks to active [Kazimierz] Alliance","eventTypeDesc":"Can stack","_h":"rbcimz"},"garrison_144_a":{"descRaw":"For every 3 stacks added to [Kazimierz] Alliance, this Operator has <@ba.vup>-1.5% Redeployment Time and <@ba.vup>+0.5 ASPD","desc":"For every 3 stacks added to [Kazimierz] Alliance, this Operator has -1.5% Redeployment Time and +0.5 ASPD","eventTypeDesc":"Combat","_h":"0mkc3p"},"garrison_144_b":{"descRaw":"For every 3 stacks added to [Kazimierz] Alliance, this Operator has <@ba.vup>-3% Redeployment Time and <@ba.vup>+1 ASPD","desc":"For every 3 stacks added to [Kazimierz] Alliance, this Operator has -3% Redeployment Time and +1 ASPD","eventTypeDesc":"Combat","_h":"c8p83p"},"garrison_145_a":{"descRaw":" Grants <@ba.vup>self and Operator <@ba.vup>on the tile ahead 'For every 3 stacks added to [Kazimierz] Alliance, this Operator has <@ba.vup>-1.5% Redeployment Time and <@ba.vup>+0.5 ASPD'","desc":" Grants self and Operator on the tile ahead 'For every 3 stacks added to [Kazimierz] Alliance, this Operator has -1.5% Redeployment Time and +0.5 ASPD'","eventTypeDesc":"Can stack","_h":"elefmz"},"garrison_145_b":{"descRaw":" Grants <@ba.vup>self and Operator <@ba.vup>on the tile ahead 'For every 3 stacks added to [Kazimierz] Alliance, this Operator has <@ba.vup>-3% Redeployment Time and <@ba.vup>+1 ASPD'","desc":" Grants self and Operator on the tile ahead 'For every 3 stacks added to [Kazimierz] Alliance, this Operator has -3% Redeployment Time and +1 ASPD'","eventTypeDesc":"Can stack","_h":"xog8mz"},"garrison_147_a":{"descRaw":" <@ba.vup>+4 stacks to active [Siracusa] Alliance for every refresh done this round (Can stack up to 12x per round)","desc":" +4 stacks to active [Siracusa] Alliance for every refresh done this round (Can stack up to 12x per round)","eventTypeDesc":"Can stack","_h":"mlkgmz"},"garrison_147_b":{"descRaw":" <@ba.vup>+8 stacks to active [Siracusa] Alliance for every refresh done this round (Can stack up to 24x per round)","desc":" +8 stacks to active [Siracusa] Alliance for every refresh done this round (Can stack up to 24x per round)","eventTypeDesc":"Can stack","_h":"i4vhmz"},"garrison_148_a":{"descRaw":" Grants ' <@ba.vup>+4 stacks to active [Kazimierz] and [Precision] Alliances (Can stack up to 24x every battle)' to the rightmost Operator deployed in the same row","desc":" Grants ' +4 stacks to active [Kazimierz] and [Precision] Alliances (Can stack up to 24x every battle)' to the rightmost Operator deployed in the same row","eventTypeDesc":"Can stack","_h":"2v5umz"},"garrison_148_b":{"descRaw":" Grants ' <@ba.vup>+8 stacks to active [Kazimierz] and [Precision] Alliances (Can stack up to 48x every battle)' to the rightmost Operator deployed in the same row","desc":" Grants ' +8 stacks to active [Kazimierz] and [Precision] Alliances (Can stack up to 48x every battle)' to the rightmost Operator deployed in the same row","eventTypeDesc":"Can stack","_h":"xxm4mz"},"garrison_149_a":{"descRaw":" Obtain 1 Wildmane or Ashlock, with a small chance to get Fartooth","desc":" Obtain 1 Wildmane or Ashlock, with a small chance to get Fartooth","eventTypeDesc":"Prep","_h":"ololx4"},"garrison_149_b":{"descRaw":" Obtain 2 Wildmane or Ashlock, with a small chance to get Fartooth","desc":" Obtain 2 Wildmane or Ashlock, with a small chance to get Fartooth","eventTypeDesc":"Prep","_h":"6s6sx4"},"garrison_150_a":{"descRaw":" <@ba.vup>+3 stacks each to active Alliance(s) of self and of the Operator 1 tile ahead","desc":" +3 stacks each to active Alliance(s) of self and of the Operator 1 tile ahead","eventTypeDesc":"Can stack","_h":"fzxwmz"},"garrison_150_b":{"descRaw":" <@ba.vup>+6 stacks each to active Alliance(s) of self and of the Operator 1 tile ahead","desc":" +6 stacks each to active Alliance(s) of self and of the Operator 1 tile ahead","eventTypeDesc":"Can stack","_h":"kuuzmz"},"garrison_151_a":{"descRaw":"<@ba.vup>+20% ATK and HP; for every 3 stacks added to [Investor] and [Swift] Alliances, this Operator gains <@ba.vup>+1% ATK and HP","desc":"+20% ATK and HP; for every 3 stacks added to [Investor] and [Swift] Alliances, this Operator gains +1% ATK and HP","eventTypeDesc":"Combat","_h":"58pq3p"},"garrison_151_b":{"descRaw":"<@ba.vup>+40% ATK and HP; for every 3 stacks added to [Investor] and [Swift] Alliances, this Operator gains <@ba.vup>+2% ATK and HP","desc":"+40% ATK and HP; for every 3 stacks added to [Investor] and [Swift] Alliances, this Operator gains +2% ATK and HP","eventTypeDesc":"Combat","_h":"xver3p"},"garrison_152_a":{"descRaw":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES); the first 3 enemies defeated grant <@ba.vup>+2 stacks to active [Siracusa] Alliance and <@ba.vup>+1 stack to [Marvel] Alliance","desc":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES); the first 3 enemies defeated grant +2 stacks to active [Siracusa] Alliance and +1 stack to [Marvel] Alliance","eventTypeDesc":"Can stack","_h":"7qpqmz"},"garrison_152_b":{"descRaw":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES); the first 3 enemies defeated grant <@ba.vup>+4 stacks to active [Siracusa] Alliance and <@ba.vup>+2 stacks to [Marvel] Alliance","desc":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES); the first 3 enemies defeated grant +4 stacks to active [Siracusa] Alliance and +2 stacks to [Marvel] Alliance","eventTypeDesc":"Can stack","_h":"cz1tmz"},"garrison_153_a":{"descRaw":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES); the first 3 enemies defeated grant <@ba.vup>+2 stacks to active [Siracusa] Alliance and <@ba.vup>+1 stack to [Marvel] Alliance","desc":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES); the first 3 enemies defeated grant +2 stacks to active [Siracusa] Alliance and +1 stack to [Marvel] Alliance","eventTypeDesc":"Can stack","_h":"4zzrmz"},"garrison_153_b":{"descRaw":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES); the first 3 enemies defeated grant <@ba.vup>+4 stacks to active [Siracusa] Alliance and <@ba.vup>+2 stacks to [Marvel] Alliance","desc":" Deals Weakness damage (changes damage type to either Physical or Arts depending on the target's DEF and RES); the first 3 enemies defeated grant +4 stacks to active [Siracusa] Alliance and +2 stacks to [Marvel] Alliance","eventTypeDesc":"Can stack","_h":"42i8mz"},"garrison_154_a":{"descRaw":" <@ba.vup>+1 stack to active [Victoria] Alliance","desc":" +1 stack to active [Victoria] Alliance","eventTypeDesc":"Can stack","_h":"k6almz"},"garrison_154_b":{"descRaw":" <@ba.vup>+2 stacks to active [Victoria] Alliance","desc":" +2 stacks to active [Victoria] Alliance","eventTypeDesc":"Can stack","_h":"1l7omz"},"garrison_155_a":{"descRaw":" <@ba.vup>+8 stacks to own Alliance(s)\n <@ba.vup>+8 stacks to own active Alliance(s) on skill activation (Can stack up to 24x)","desc":" +8 stacks to own Alliance(s)\n +8 stacks to own active Alliance(s) on skill activation (Can stack up to 24x)","eventTypeDesc":"Can stack","_h":"x1rbmz"},"garrison_155_b":{"descRaw":" <@ba.vup>+16 stacks to own Alliance(s)\n <@ba.vup>+16 stacks to own active Alliance(s) on skill activation (Can stack up to 48x)","desc":" +16 stacks to own Alliance(s)\n +16 stacks to own active Alliance(s) on skill activation (Can stack up to 48x)","eventTypeDesc":"Can stack","_h":"qfbjmz"},"garrison_156_a":{"descRaw":" <@ba.vup>+6 stacks to [Yan] Alliance and <@ba.vup>+3 stacks to [Marvel] Alliance (Alliances do not need to be active)","desc":" +6 stacks to [Yan] Alliance and +3 stacks to [Marvel] Alliance (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"rsr0jf"},"garrison_156_b":{"descRaw":" <@ba.vup>+12 stacks to [Yan] Alliance and <@ba.vup>+6 stacks to [Marvel] Alliance (Alliances do not need to be active)","desc":" +12 stacks to [Yan] Alliance and +6 stacks to [Marvel] Alliance (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"x2pejf"},"garrison_157_a":{"descRaw":" <@ba.vup>+6 stacks to [Yan] Alliance and <@ba.vup>+3 stacks to [Marvel] Alliance (Alliances do not need to be active)","desc":" +6 stacks to [Yan] Alliance and +3 stacks to [Marvel] Alliance (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"rsr0jf"},"garrison_157_b":{"descRaw":" <@ba.vup>+12 stacks to [Yan] Alliance and <@ba.vup>+6 stacks to [Marvel] Alliance (Alliances do not need to be active)","desc":" +12 stacks to [Yan] Alliance and +6 stacks to [Marvel] Alliance (Alliances do not need to be active)","eventTypeDesc":"One-time","_h":"x2pejf"},"garrison_158_a":{"descRaw":" <@ba.vup>+1 stack to active [Resilient] Alliance","desc":" +1 stack to active [Resilient] Alliance","eventTypeDesc":"Can stack","_h":"qye9mz"},"garrison_158_b":{"descRaw":" <@ba.vup>+2 stacks to active [Resilient] Alliance","desc":" +2 stacks to active [Resilient] Alliance","eventTypeDesc":"Can stack","_h":"8dbcmz"},"garrison_159_a":{"descRaw":"For every 3 stacks added to [Kazimierz] Alliance, this Operator gains <@ba.vup>+0.5 ASPD","desc":"For every 3 stacks added to [Kazimierz] Alliance, this Operator gains +0.5 ASPD","eventTypeDesc":"Combat","_h":"1ich3p"},"garrison_159_b":{"descRaw":"For every 3 stacks added to [Kazimierz] Alliance, this Operator gains <@ba.vup>+1 ASPD","desc":"For every 3 stacks added to [Kazimierz] Alliance, this Operator gains +1 ASPD","eventTypeDesc":"Combat","_h":"b4zb3p"},"garrison_160_a":{"descRaw":" Grants <@ba.vup>self and Operator <@ba.vup>on the tile ahead 'For every 3 stacks added to [Kazimierz] Alliance, this Operator has <@ba.vup>+0.5 ASPD'","desc":" Grants self and Operator on the tile ahead 'For every 3 stacks added to [Kazimierz] Alliance, this Operator has +0.5 ASPD'","eventTypeDesc":"Can stack","_h":"h8f1mz"},"garrison_160_b":{"descRaw":" Grants <@ba.vup>self and Operator <@ba.vup>on the tile ahead 'For every 3 stacks added to [Kazimierz] Alliance, this Operator has <@ba.vup>+1 ASPD'","desc":" Grants self and Operator on the tile ahead 'For every 3 stacks added to [Kazimierz] Alliance, this Operator has +1 ASPD'","eventTypeDesc":"Can stack","_h":"zuxvmz"}},"items":{"chess_item_1_01_e_a":{"descRaw":"ATK <@ba.vup>+15%","name":"Victorian Hammer","effectName":"Victorian Hammer","desc":"ATK +15%","flavor":"A hammer that once forged peace in Victoria's factories.\n'Now, use this very iron and fire to end that war.'","_h":"jx8t8t86ys"},"chess_item_1_01_e_b":{"descRaw":"ATK <@ba.vup>+25%","name":"Victorian Hammer","effectName":"Victorian Hammer","desc":"ATK +25%","flavor":"A hammer that once forged peace in Victoria's factories.\n'Now, use this very iron and fire to end that war.'","_h":"828t8t6jys"},"chess_item_1_02_e_a":{"descRaw":"DEF <@ba.vup>+20%","name":"Durable Shield","effectName":"Durable Shield","desc":"DEF +20%","flavor":"A shield for those holding down the fort.\n'Shoving, parrying, suppression. Proper shield use is the foundation of active defense.'","_h":"78n1n1x3rx"},"chess_item_1_02_e_b":{"descRaw":"DEF <@ba.vup>+35%","name":"Durable Shield","effectName":"Durable Shield","desc":"DEF +35%","flavor":"A shield for those holding down the fort.\n'Shoving, parrying, suppression. Proper shield use is the foundation of active defense.'","_h":"3qn1n1odrx"},"chess_item_1_03_e_a":{"descRaw":"Destroyed when equipped and grants <@ba.vup>1 Funds","name":"Alliance Coin","effectName":"Alliance Coin","desc":"Destroyed when equipped and grants 1 Funds","flavor":"'The basis on which we push for the Protocol Simulation to progress.'","_h":"1by0y0c6vj"},"chess_item_1_03_e_b":{"descRaw":"Destroyed when equipped and grants <@ba.vup>2 Funds","name":"Alliance Coin","effectName":"Alliance Coin","desc":"Destroyed when equipped and grants 2 Funds","flavor":"'The basis on which we push for the Protocol Simulation to progress.'","_h":"d4y0y0h7vj"},"chess_item_1_04_e_a":{"descRaw":"Destroyed when equipped; gives <@ba.vup>+3 stacks to equipped Operator's Alliance(s) (Alliances do not need to be active)","name":"Identification Device","effectName":"Identification Device","desc":"Destroyed when equipped; gives +3 stacks to equipped Operator's Alliance(s) (Alliances do not need to be active)","flavor":"A pocket device that proves one's identity. 'Welcome to the simulated battlefield.'","_h":"r3hphprsc5"},"chess_item_1_04_e_b":{"descRaw":"Destroyed when equipped; gives <@ba.vup>+6 stacks to equipped Operator's Alliance(s) (Alliances do not need to be active)","name":"Identification Device","effectName":"Identification Device","desc":"Destroyed when equipped; gives +6 stacks to equipped Operator's Alliance(s) (Alliances do not need to be active)","flavor":"A pocket device that proves one's identity. 'Welcome to the simulated battlefield.'","_h":"rehphpt7c5"},"chess_item_1_05_e_a":{"descRaw":"Equipped Operator takes <@ba.vdown>60 True damage per second, but gains <@ba.vup>+40% ATK","name":"Originium Solvent","effectName":"Originium Solvent","desc":"Equipped Operator takes 60 True damage per second, but gains +40% ATK","flavor":"'An example of military applications of a classic industrial material.'","_h":"d6ukukv7o4"},"chess_item_1_05_e_b":{"descRaw":"Equipped Operator takes <@ba.vdown>60 True damage per second, but gains <@ba.vup>+60% ATK","name":"Originium Solvent","effectName":"Originium Solvent","desc":"Equipped Operator takes 60 True damage per second, but gains +60% ATK","flavor":"'An example of military applications of a classic industrial material.'","_h":"jcukukllo4"},"chess_item_2_01_e_a":{"descRaw":"<@ba.vup>-30% Redeployment Time, <@ba.vdown>-30% HP","name":"Tough Launcher","effectName":"Tough Launcher","desc":"-30% Redeployment Time, -30% HP","flavor":"A launcher for those who never give up.\n'It'll let you jump between the platforms real quick. Just make sure you learn how to use it first, or you'll end up face-first in the dirt.'","_h":"q9ofofa4ww"},"chess_item_2_01_e_b":{"descRaw":"<@ba.vup>-50% Redeployment Time, <@ba.vdown>-30% HP","name":"Tough Launcher","effectName":"Tough Launcher","desc":"-50% Redeployment Time, -30% HP","flavor":"A launcher for those who never give up.\n'It'll let you jump between the platforms real quick. Just make sure you learn how to use it first, or you'll end up face-first in the dirt.'","_h":"vjofof7yww"},"chess_item_2_02_e_a":{"descRaw":"Destroyed when equipped; gain <@ba.vup>1 random Operator currently in the Dispatch Center (corresponding Operator in Dispatch Center will disappear)","name":"Emergency Dispatch Ticket","effectName":"Emergency Dispatch Ticket","desc":"Destroyed when equipped; gain 1 random Operator currently in the Dispatch Center (corresponding Operator in Dispatch Center will disappear)","flavor":"'Sometimes you need a pinch of luck to succeed...'","_h":"u20w0w7l5e"},"chess_item_2_02_e_b":{"descRaw":"Destroyed when equipped; gain <@ba.vup>2 random Operators currently in the Dispatch Center (corresponding Operators in Dispatch Center will disappear)","name":"Emergency Dispatch Ticket","effectName":"Emergency Dispatch Ticket","desc":"Destroyed when equipped; gain 2 random Operators currently in the Dispatch Center (corresponding Operators in Dispatch Center will disappear)","flavor":"'Sometimes you need a pinch of luck to succeed...'","_h":"ur0w0w8u5e"},"chess_item_2_03_e_a":{"descRaw":"ATK <@ba.vup>+20%; If equipped by a Ground Operator, the Operator has 10% chance of inflicting <$ba.tremble>Frighten for 2s when dealing damage","name":"Frightening Victorian Hammer","shopExcludedBy":"Victoria Alliance (every 25 stacks) / Rockrock's custom items","effectName":"Frightening Victorian Hammer","desc":"ATK +20%; If equipped by a Ground Operator, the Operator has 10% chance of inflicting Frighten for 2s when dealing damage","flavor":"A hammer that once forged peace in Victoria's factories, now scarier than ever.\n'Now, use this very iron and fire to end that war.'","_h":"kya07va0bctk"},"chess_item_2_03_e_b":{"descRaw":"ATK <@ba.vup>+35%; If equipped by a Ground Operator, the Operator has 10% chance of inflicting <$ba.tremble>Frighten for 2s when dealing damage","name":"Frightening Victorian Hammer","shopExcludedBy":"Victoria Alliance (every 25 stacks) / Rockrock's custom items","effectName":"Frightening Victorian Hammer","desc":"ATK +35%; If equipped by a Ground Operator, the Operator has 10% chance of inflicting Frighten for 2s when dealing damage","flavor":"A hammer that once forged peace in Victoria's factories, now scarier than ever.\n'Now, use this very iron and fire to end that war.'","_h":"toa07va00qtk"},"chess_item_2_04_e_a":{"descRaw":"SP recovery rate <@ba.vup>+0.15/s","name":"Sargonian Teaspresso","effectName":"Sargonian Teaspresso","desc":"SP recovery rate +0.15/s","flavor":"A strong tea once saved lives in the Sargonian desert.\n'Fear not the bitterness, for it will keep you awake and alive.'","_h":"bpz9z9h4ox"},"chess_item_2_04_e_b":{"descRaw":"SP recovery rate <@ba.vup>+0.25/s","name":"Sargonian Teaspresso","effectName":"Sargonian Teaspresso","desc":"SP recovery rate +0.25/s","flavor":"A strong tea once saved lives in the Sargonian desert.\n'Fear not the bitterness, for it will keep you awake and alive.'","_h":"pgz9z93rox"},"chess_item_2_05_e_a":{"descRaw":"Destroyed when equipped; gains an extra <@ba.vup>1 Funds at the start of each subsequent round","name":"Budget-Savvy Doll","effectName":"Budget-Savvy Doll","desc":"Destroyed when equipped; gains an extra 1 Funds at the start of each subsequent round","flavor":"'She's always looking out for ways to save you a coin or two.'","_h":"nf1i1ifmok"},"chess_item_2_05_e_b":{"descRaw":"Destroyed when equipped; gains an extra <@ba.vup>2 Funds at the start of each subsequent round","name":"Budget-Savvy Doll","effectName":"Budget-Savvy Doll","desc":"Destroyed when equipped; gains an extra 2 Funds at the start of each subsequent round","flavor":"'She's always looking out for ways to save you a coin or two.'","_h":"d01i1iefok"},"chess_item_2_06_e_a":{"descRaw":"Destroyed when equipped; gain <@ba.vup>1 random Operator from the same Alliance as the equipped Operator","name":"Simple Communicator","effectName":"Simple Communicator","desc":"Destroyed when equipped; gain 1 random Operator from the same Alliance as the equipped Operator","flavor":"'I've arrived at the rendezvous point.'","_h":"qbq7q7xkj1"},"chess_item_2_06_e_b":{"descRaw":"Destroyed when equipped; gain <@ba.vup>2 random Operators from the same Alliance as the equipped Operator","name":"Simple Communicator","effectName":"Simple Communicator","desc":"Destroyed when equipped; gain 2 random Operators from the same Alliance as the equipped Operator","flavor":"'I've arrived at the rendezvous point.'","_h":"wqq7q7pjj1"},"chess_item_2_07_e_a":{"descRaw":"Destroyed when equipped; grants <@ba.vup>2 Funds next round","name":"Money-Grubbing Doll","effectName":"Money-Grubbing Doll","desc":"Destroyed when equipped; grants 2 Funds next round","flavor":"'She's always happy whenever you pull out your wallet.'","_h":"7i6g6g7t7h"},"chess_item_2_07_e_b":{"descRaw":"Destroyed when equipped; grants <@ba.vup>4 Funds next round","name":"Money-Grubbing Doll","effectName":"Money-Grubbing Doll","desc":"Destroyed when equipped; grants 4 Funds next round","flavor":"'She's always happy whenever you pull out your wallet.'","_h":"ss6g6g5z7h"},"chess_item_3_01_e_a":{"descRaw":"ASPD <@ba.vup>+15, allied Operators to the left and right of the equipped Operator's deployment direction gain <@ba.vup>+10 ASPD","name":"Siracusan Formalwear","effectName":"Siracusan Formalwear","desc":"ASPD +15, allied Operators to the left and right of the equipped Operator's deployment direction gain +10 ASPD","flavor":"A set of formalwear to showcase one's membership in a famiglia. 'Here, there are things that clothes can say and words cannot.'","_h":"v7kxkxi5aw"},"chess_item_3_01_e_b":{"descRaw":"ASPD <@ba.vup>+25, allied Operators to the left and right of the equipped Operator's deployment direction gain <@ba.vup>+15 ASPD","name":"Siracusan Formalwear","effectName":"Siracusan Formalwear","desc":"ASPD +25, allied Operators to the left and right of the equipped Operator's deployment direction gain +15 ASPD","flavor":"A set of formalwear to showcase one's membership in a famiglia. 'Here, there are things that clothes can say and words cannot.'","_h":"1bkxkxrhaw"},"chess_item_3_02_e_a":{"descRaw":"Damage dealt to targets 3 or more tiles away increases by <@ba.vup>30%","name":"Precision Scope","effectName":"Precision Scope","desc":"Damage dealt to targets 3 or more tiles away increases by 30%","flavor":"A scope for those who always hit their marks.\n'Pick your target, get them in your sights, then shoot them dead.'","_h":"39tftfiag8"},"chess_item_3_02_e_b":{"descRaw":"Damage dealt to targets 3 or more tiles away increases by <@ba.vup>50%","name":"Precision Scope","effectName":"Precision Scope","desc":"Damage dealt to targets 3 or more tiles away increases by 50%","flavor":"A scope for those who always hit their marks.\n'Pick your target, get them in your sights, then shoot them dead.'","_h":"3ftftfowg8"},"chess_item_3_03_e_a":{"descRaw":"Attacks ignore <@ba.vup>25% RES","name":"Laser Sighter","effectName":"Laser Sighter","desc":"Attacks ignore 25% RES","flavor":"'Aside from sighting and penetration, it can also be used as bait.'","_h":"1fzxzx0oyl"},"chess_item_3_03_e_b":{"descRaw":"Attacks ignore <@ba.vup>45% RES","name":"Laser Sighter","effectName":"Laser Sighter","desc":"Attacks ignore 45% RES","flavor":"'Aside from sighting and penetration, it can also be used as bait.'","_h":"ldzxzxryyl"},"chess_item_3_04_e_a":{"descRaw":"Gains <@ba.vup>+5% ATK on skill activation (stacks up to 10 times)","name":"Yanese Dagger","effectName":"Yanese Dagger","desc":"Gains +5% ATK on skill activation (stacks up to 10 times)","flavor":"A dagger that used to purge injustice in the jianghu of Yan.\n'Think carefully before you draw your blade. Once you've done so, there's no time to hesitate.'","_h":"u6apapxjul"},"chess_item_3_04_e_b":{"descRaw":"Gains <@ba.vup>+8% ATK on skill activation (stacks up to 10 times)","name":"Yanese Dagger","effectName":"Yanese Dagger","desc":"Gains +8% ATK on skill activation (stacks up to 10 times)","flavor":"A dagger that used to purge injustice in the jianghu of Yan.\n'Think carefully before you draw your blade. Once you've done so, there's no time to hesitate.'","_h":"pjapapzgul"},"chess_item_3_05_e_a":{"descRaw":"On Deployment, <@ba.vup>+3 SP; for every different Operator in the same Alliance, <@ba.vup>+3 more SP","name":"Quick Combat Rations","effectName":"Quick Combat Rations","desc":"On Deployment, +3 SP; for every different Operator in the same Alliance, +3 more SP","flavor":"A combat ration for those always on the go.\n'It's here to supply energy, not satisfy a gourmet.'","_h":"0gututys1k"},"chess_item_3_05_e_b":{"descRaw":"On Deployment, <@ba.vup>+6 SP; for every different Operator in the same Alliance, <@ba.vup>+6 more SP","name":"Quick Combat Rations","effectName":"Quick Combat Rations","desc":"On Deployment, +6 SP; for every different Operator in the same Alliance, +6 more SP","flavor":"A combat ration for those always on the go.\n'It's here to supply energy, not satisfy a gourmet.'","_h":"p0utut141k"},"chess_item_3_06_e_a":{"descRaw":"<@ba.vup>+25% HP; if there is no Operator in the tile ahead on deployment, <@ba.vup>+15% more HP","name":"Goliath Helmet","effectName":"Goliath Helmet","desc":"+25% HP; if there is no Operator in the tile ahead on deployment, +15% more HP","flavor":"'The guy working the boilers stares at this helmet a lot. What's he thinking about?'","_h":"2fjgjg0f2o"},"chess_item_3_06_e_b":{"descRaw":"<@ba.vup>+45% HP; if there is no Operator in the tile ahead on deployment, <@ba.vup>+25% more HP","name":"Goliath Helmet","effectName":"Goliath Helmet","desc":"+45% HP; if there is no Operator in the tile ahead on deployment, +25% more HP","flavor":"'The guy working the boilers stares at this helmet a lot. What's he thinking about?'","_h":"1ujgjglc2o"},"chess_item_3_07_e_a":{"descRaw":"ATK <@ba.vup>+40%, ASPD <@ba.vdown>-10","name":"Ægirian Blade","effectName":"Ægirian Blade","desc":"ATK +40%, ASPD -10","flavor":"A heavy blade that once broke the waves of a whirlpool in Ægir.\n'Face the enemies you must prevail over, and prove your superior strength.'","_h":"pcyyyyc3uq"},"chess_item_3_07_e_b":{"descRaw":"ATK <@ba.vup>+60%, ASPD <@ba.vdown>-10","name":"Ægirian Blade","effectName":"Ægirian Blade","desc":"ATK +60%, ASPD -10","flavor":"A heavy blade that once broke the waves of a whirlpool in Ægir.\n'Face the enemies you must prevail over, and prove your superior strength.'","_h":"i2yyyyw9uq"},"chess_item_3_08_e_a":{"descRaw":"RES <@ba.vup>+20; attacks Silence the target for <@ba.vup>5s","name":"Arcane Arts Circle","effectName":"Arcane Arts Circle","desc":"RES +20; attacks Silence the target for 5s","flavor":"'Get the Casters onto the field this instant!'","_h":"c8mvmvtefu"},"chess_item_3_08_e_b":{"descRaw":"RES <@ba.vup>+30; attacks Silence the target for <@ba.vup>5s","name":"Arcane Arts Circle","effectName":"Arcane Arts Circle","desc":"RES +30; attacks Silence the target for 5s","flavor":"'Get the Casters onto the field this instant!'","_h":"tjmvmvqzfu"},"chess_item_3_09_e_a":{"descRaw":"ATK <@ba.vup>+25%; Upon taking lethal damage for the first time only, HP will not go below <@ba.vup>1, lasting for 8 seconds","name":"Durable Victorian Hammer","shopExcludedBy":"Victoria Alliance (every 25 stacks) / Rockrock's custom items","effectName":"Durable Victorian Hammer","desc":"ATK +25%; Upon taking lethal damage for the first time only, HP will not go below 1, lasting for 8 seconds","flavor":"A hammer that once forged peace in Victoria's factories, now harder than ever.\n'Now, use this very iron and fire to end that war.'","_h":"ra257v250cfb"},"chess_item_3_09_e_b":{"descRaw":"ATK <@ba.vup>+45%; Upon taking lethal damage for the first time only, HP will not go below <@ba.vup>1, lasting for 8 seconds","name":"Durable Victorian Hammer","shopExcludedBy":"Victoria Alliance (every 25 stacks) / Rockrock's custom items","effectName":"Durable Victorian Hammer","desc":"ATK +45%; Upon taking lethal damage for the first time only, HP will not go below 1, lasting for 8 seconds","flavor":"A hammer that once forged peace in Victoria's factories, now harder than ever.\n'Now, use this very iron and fire to end that war.'","_h":"ug257v25rqfb"},"chess_item_3_10_e_a":{"descRaw":"ATK <@ba.vup>+25%, ASPD <@ba.vup>+30","name":"Speedy Victorian Hammer","shopExcludedBy":"Victoria Alliance (every 25 stacks) / Rockrock's custom items","effectName":"Speedy Victorian Hammer","desc":"ATK +25%, ASPD +30","flavor":"A hammer that once forged peace in Victoria's factories, now stronger than ever.\n'Now, use this very iron and fire to end that war.'","_h":"l17c7v7ch3ld"},"chess_item_3_10_e_b":{"descRaw":"ATK <@ba.vup>+45%, ASPD <@ba.vup>+30","name":"Speedy Victorian Hammer","shopExcludedBy":"Victoria Alliance (every 25 stacks) / Rockrock's custom items","effectName":"Speedy Victorian Hammer","desc":"ATK +45%, ASPD +30","flavor":"A hammer that once forged peace in Victoria's factories, now stronger than ever.\n'Now, use this very iron and fire to end that war.'","_h":"7j7c7v7ce9ld"},"chess_item_3_11_e_a":{"descRaw":"For 10 seconds after every deployment, dealing damage inflicts 2 seconds of <$ba.stun>Stun","name":"Raid Grenade","effectName":"Raid Grenade","desc":"For 10 seconds after every deployment, dealing damage inflicts 2 seconds of Stun","flavor":"A grenade for those who carry out raids.\n'The time is now!!!'","_h":"azrhrhgj3e"},"chess_item_3_11_e_b":{"descRaw":"For 15 seconds after every deployment, dealing damage inflicts 2 seconds of <$ba.stun>Stun","name":"Raid Grenade","effectName":"Raid Grenade","desc":"For 15 seconds after every deployment, dealing damage inflicts 2 seconds of Stun","flavor":"A grenade for those who carry out raids.\n'The time is now!!!'","_h":"ssrhrh4a3e"},"chess_item_3_12_e_a":{"descRaw":"Destroyed when equipped and grants <@ba.vup>1~6 Funds","name":"Knightly Savings","effectName":"Knightly Savings","desc":"Destroyed when equipped and grants 1~6 Funds","flavor":"A savings jar carried by every major merch retailer in Kazimierz. 'Pass your saved-up fortune onto your favorite competitors.'","_h":"zccbcbltxc"},"chess_item_3_12_e_b":{"descRaw":"Destroyed when equipped and grants <@ba.vup>2~12 Funds","name":"Knightly Savings","effectName":"Knightly Savings","desc":"Destroyed when equipped and grants 2~12 Funds","flavor":"A savings jar carried by every major merch retailer in Kazimierz. 'Pass your saved-up fortune onto your favorite competitors.'","_h":"macbcbg7xc"},"chess_item_4_01_e_a":{"descRaw":"Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Dispatch Module","effectName":"Dispatch Module","desc":"Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","flavor":"'Calling Dispatch Center, calling Dispatch Center, we're ready for instructions.'","_h":"2sbubu2sbr"},"chess_item_4_01_e_b":{"descRaw":"Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Dispatch Module","effectName":"Dispatch Module","desc":"Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","flavor":"'Calling Dispatch Center, calling Dispatch Center, we're ready for instructions.'","_h":"2sbubu2sbr"},"chess_item_4_02_e_a":{"descRaw":"More likely to be attacked, <@ba.vup>+40% HP","name":"Buzzer","effectName":"Buzzer","desc":"More likely to be attacked, +40% HP","flavor":"'You go save the wounded, I'll handle these bastards!'","_h":"nty6y6hqb6"},"chess_item_4_02_e_b":{"descRaw":"More likely to be attacked, <@ba.vup>+60% HP","name":"Buzzer","effectName":"Buzzer","desc":"More likely to be attacked, +60% HP","flavor":"'You go save the wounded, I'll handle these bastards!'","_h":"hfy6y6d4b6"},"chess_item_4_03_e_a":{"descRaw":"Each time this unit deals damage or heals, gains ASPD <@ba.vup>+1 for this battle, up to 60 stacks","name":"Miniature Accelerator","effectName":"Miniature Accelerator","desc":"Each time this unit deals damage or heals, gains ASPD +1 for this battle, up to 60 stacks","flavor":"'By reaching the peak of the finite, we can see the edge of the infinite.'","_h":"ybx7x7dsva"},"chess_item_4_03_e_b":{"descRaw":"Each time this unit deals damage or heals, gains ASPD <@ba.vup>+2 for this battle, up to 60 stacks","name":"Miniature Accelerator","effectName":"Miniature Accelerator","desc":"Each time this unit deals damage or heals, gains ASPD +2 for this battle, up to 60 stacks","flavor":"'By reaching the peak of the finite, we can see the edge of the infinite.'","_h":"64x7x7xtva"},"chess_item_4_04_e_a":{"descRaw":"On taking damage for the first time, gains <$ba.invisible>Invisibility for 15 seconds","name":"Disguise Outfit","effectName":"Disguise Outfit","desc":"On taking damage for the first time, gains Invisibility for 15 seconds","flavor":"'I'll teach all of you a lesson you'll never forget, and instill an eternal fear of the darkness.'","_h":"ikzzzzt1bj"},"chess_item_4_04_e_b":{"descRaw":"On taking damage for the first time, gains <$ba.invisible>Invisibility for 25 seconds","name":"Disguise Outfit","effectName":"Disguise Outfit","desc":"On taking damage for the first time, gains Invisibility for 25 seconds","flavor":"'I'll teach all of you a lesson you'll never forget, and instill an eternal fear of the darkness.'","_h":"fhzzzz5gbj"},"chess_item_4_05_e_a":{"descRaw":"When blocking enemies, takes <@ba.vup>40% less damage from enemies not blocked by this unit","name":"Riot Shield","effectName":"Riot Shield","desc":"When blocking enemies, takes 40% less damage from enemies not blocked by this unit","flavor":"'I will protect my team. I will protect myself.'","_h":"68snsnv151"},"chess_item_4_05_e_b":{"descRaw":"When blocking enemies, takes <@ba.vup>70% less damage from enemies not blocked by this unit","name":"Riot Shield","effectName":"Riot Shield","desc":"When blocking enemies, takes 70% less damage from enemies not blocked by this unit","flavor":"'I will protect my team. I will protect myself.'","_h":"efsnsnx851"},"chess_item_4_06_e_a":{"descRaw":"For every target hit by an attack, recovers <@ba.vup>2% Max HP","name":"Dormant Heir","effectName":"Dormant Heir","desc":"For every target hit by an attack, recovers 2% Max HP","flavor":"'Don't let the bag tear. You don't want to get up close and personal with these guys.'","_h":"ddzczc2i34"},"chess_item_4_06_e_b":{"descRaw":"For every target hit by an attack, recovers <@ba.vup>4% Max HP","name":"Dormant Heir","effectName":"Dormant Heir","desc":"For every target hit by an attack, recovers 4% Max HP","flavor":"'Don't let the bag tear. You don't want to get up close and personal with these guys.'","_h":"l7zczcn834"},"chess_item_4_07_e_a":{"descRaw":"Damage dealt for <@ba.vup>15s after deployment is increased to <@ba.vup>135%, effect gradually decays","name":"Kazimierz Knightclub Pennant","effectName":"Kazimierz Knightclub Pennant","desc":"Damage dealt for 15s after deployment is increased to 135%, effect gradually decays","flavor":"A banner for the Kazimierz Major. 'You can almost hear the whistling roar of the cheers when you look at it.'","_h":"cdededl1ak"},"chess_item_4_07_e_b":{"descRaw":"Damage dealt for <@ba.vup>15s after deployment is increased to <@ba.vup>160%, effect gradually decays","name":"Kazimierz Knightclub Pennant","effectName":"Kazimierz Knightclub Pennant","desc":"Damage dealt for 15s after deployment is increased to 160%, effect gradually decays","flavor":"A banner for the Kazimierz Major. 'You can almost hear the whistling roar of the cheers when you look at it.'","_h":"mjededwjak"},"chess_item_4_08_e_a":{"descRaw":"When ammo-type skills have 1 bullet left, there is 50% chance of recovering 40% ammo (Triggers up to 3 times per deployment)","name":"Lateran Clip","effectName":"Lateran Clip","desc":"When ammo-type skills have 1 bullet left, there is 50% chance of recovering 40% ammo (Triggers up to 3 times per deployment)","flavor":"A clip that once caused a massive explosion over the night skies in Laterano.\n'Open fire, and don't stop! Cliff, the three of us will definitely achieve greater glory than this!'","_h":"hd6z6zhd2n"},"chess_item_4_08_e_b":{"descRaw":"When ammo-type skills have 1 bullet left, there is 60% chance of recovering 60% ammo (Triggers up to 3 times per deployment)","name":"Lateran Clip","effectName":"Lateran Clip","desc":"When ammo-type skills have 1 bullet left, there is 60% chance of recovering 60% ammo (Triggers up to 3 times per deployment)","flavor":"A clip that once caused a massive explosion over the night skies in Laterano.\n'Open fire, and don't stop! Cliff, the three of us will definitely achieve greater glory than this!'","_h":"lu6z6zlu2n"},"chess_item_4_09_e_a":{"descRaw":"ATK <@ba.vup>+30%; When dealing Arts damage, deals an additional <@ba.vup>10% as <$ba.dt.burning2>Burn","name":"Burning Victorian Hammer","shopExcludedBy":"Victoria Alliance (every 25 stacks) / Rockrock's custom items","effectName":"Burning Victorian Hammer","desc":"ATK +30%; When dealing Arts damage, deals an additional 10% as Burn","flavor":"A hammer that once forged peace in Victoria's factories, now burning even brighter.\n'Now, use this very iron and fire to end that war.'","_h":"6ulc7vlcs76i"},"chess_item_4_09_e_b":{"descRaw":"ATK <@ba.vup>+50%; When dealing Arts damage, deals an additional <@ba.vup>10% as <$ba.dt.burning2>Burn","name":"Burning Victorian Hammer","shopExcludedBy":"Victoria Alliance (every 25 stacks) / Rockrock's custom items","effectName":"Burning Victorian Hammer","desc":"ATK +50%; When dealing Arts damage, deals an additional 10% as Burn","flavor":"A hammer that once forged peace in Victoria's factories, now burning even brighter.\n'Now, use this very iron and fire to end that war.'","_h":"gglc7vlcjd6i"},"chess_item_4_10_e_a":{"descRaw":"When HP is greater than 70%, Operator is immune to <$ba.stun>Stun, <$ba.frozen>Frozen, and other special statuses","name":"Concentrated Smelling Salts","effectName":"Concentrated Smelling Salts","desc":"When HP is greater than 70%, Operator is immune to Stun, Frozen, and other special statuses","flavor":"'This enhanced formula will keep you awake, if you can tolerate the unusual smell.'","_h":"j6dwdwf2nx"},"chess_item_4_10_e_b":{"descRaw":"When HP is greater than 40%, Operator is immune to <$ba.stun>Stun, <$ba.frozen>Frozen, and other special statuses","name":"Concentrated Smelling Salts","effectName":"Concentrated Smelling Salts","desc":"When HP is greater than 40%, Operator is immune to Stun, Frozen, and other special statuses","flavor":"'This enhanced formula will keep you awake, if you can tolerate the unusual smell.'","_h":"77dwdw6fnx"},"chess_item_4_11_e_a":{"descRaw":"Heals have 10% chance to grant 1 stack of <$ba.shield>Shield to the target (Max 1 stack)","name":"Protection Drone","effectName":"Protection Drone","desc":"Heals have 10% chance to grant 1 stack of Shield to the target (Max 1 stack)","flavor":"'You can use it to block some attacks, it won't mind.'","_h":"0xololay1r"},"chess_item_4_11_e_b":{"descRaw":"Heals have 15% chance to grant 1 stack of <$ba.shield>Shield to the target (Max 1 stack)","name":"Protection Drone","effectName":"Protection Drone","desc":"Heals have 15% chance to grant 1 stack of Shield to the target (Max 1 stack)","flavor":"'You can use it to block some attacks, it won't mind.'","_h":"6gololr91r"},"chess_item_4_12_e_a":{"descRaw":"When defeated in battle, immediately revive (<@ba.vup>once per battle)","name":"M3 Cocoon Shell","effectName":"M3 Cocoon Shell","desc":"When defeated in battle, immediately revive (once per battle)","flavor":"'She understood your gratitude, and is happy to have saved you.'","_h":"5xo0o08c87"},"chess_item_4_12_e_b":{"descRaw":"When defeated in battle, immediately revive (<@ba.vup>twice per battle)","name":"M3 Cocoon Shell","effectName":"M3 Cocoon Shell","desc":"When defeated in battle, immediately revive (twice per battle)","flavor":"'She understood your gratitude, and is happy to have saved you.'","_h":"8qo0o0t187"},"chess_item_5_01_e_a":{"descRaw":"Dealing damage has 3% chance to inflict 1 stack of <$ba.palsy>Paralysis on target","name":"Teargas Can","effectName":"Teargas Can","desc":"Dealing damage has 3% chance to inflict 1 stack of Paralysis on target","flavor":"'It can make the target fall to the ground crying, so make sure the wind's not blowing in your face before use.'","_h":"g45s5s79ff"},"chess_item_5_01_e_b":{"descRaw":"Dealing damage has 5% chance to inflict 1 stack of <$ba.palsy>Paralysis on target","name":"Teargas Can","effectName":"Teargas Can","desc":"Dealing damage has 5% chance to inflict 1 stack of Paralysis on target","flavor":"'It can make the target fall to the ground crying, so make sure the wind's not blowing in your face before use.'","_h":"n65s5sq3ff"},"chess_item_5_02_e_a":{"descRaw":"Dealing damage has 12% chance of inflicting <$ba.cold>Cold on the target for 1.5s","name":"Kjeragi Nevermeltice","effectName":"Kjeragi Nevermeltice","desc":"Dealing damage has 12% chance of inflicting Cold on the target for 1.5s","flavor":"A piece of never-melting ice from Kjerag's snowy peaks that has witnessed the rising and setting of the sun for ages.\n'Calm yourself down, be like a glacier: movable by none, yet able to destroy all.'","_h":"y1dedeqn7e"},"chess_item_5_02_e_b":{"descRaw":"Dealing damage has 20% chance of inflicting <$ba.cold>Cold on the target for 1.5s","name":"Kjeragi Nevermeltice","effectName":"Kjeragi Nevermeltice","desc":"Dealing damage has 20% chance of inflicting Cold on the target for 1.5s","flavor":"A piece of never-melting ice from Kjerag's snowy peaks that has witnessed the rising and setting of the sun for ages.\n'Calm yourself down, be like a glacier: movable by none, yet able to destroy all.'","_h":"wwdedehk7e"},"chess_item_5_03_e_a":{"descRaw":"<@ba.vup>+30% ATK, and when dealing Physical or Arts damage, damage type turns into <$ba.weaknessatk>Weakness damage","name":"Bimodule Robotic Arm","effectName":"Bimodule Robotic Arm","desc":"+30% ATK, and when dealing Physical or Arts damage, damage type turns into Weakness damage","flavor":"'Sure, this equipment can help you with a lot of stuff, but if you seek victory, you need to rely on yourself.'","_h":"kupupuxgpy"},"chess_item_5_03_e_b":{"descRaw":"<@ba.vup>+50% ATK, and when dealing Physical or Arts damage, damage type turns into <$ba.weaknessatk>Weakness damage","name":"Bimodule Robotic Arm","effectName":"Bimodule Robotic Arm","desc":"+50% ATK, and when dealing Physical or Arts damage, damage type turns into Weakness damage","flavor":"'Sure, this equipment can help you with a lot of stuff, but if you seek victory, you need to rely on yourself.'","_h":"w4pupupqpy"},"chess_item_5_04_e_a":{"descRaw":"Destroys itself along with the Operator when equipped, then refreshes the Dispatch Center, offering two Operators of the same Tier as the equipped Operator; one can be picked for free\n<@ba.rem>If there are Teammates present within the Team Simulation, a copy of the original Operator will be sent to the Teammate with the most corresponding Alliance members during the next Rest Phase\n<@ba.acrem>If multiple Teammates fulfill this condition, the copy will be sent to a random Teammate\n<@ba.acrem>Cannot be equipped by Custom Operators","name":"Transmitter","effectName":"Transmitter","desc":"Destroys itself along with the Operator when equipped, then refreshes the Dispatch Center, offering two Operators of the same Tier as the equipped Operator; one can be picked for free\nIf there are Teammates present within the Team Simulation, a copy of the original Operator will be sent to the Teammate with the most corresponding Alliance members during the next Rest Phase\nIf multiple Teammates fulfill this condition, the copy will be sent to a random Teammate\nCannot be equipped by Custom Operators","_h":"twmpmp3o"},"chess_item_5_04_e_b":{"descRaw":"Destroys itself along with the Operator when equipped, then refreshes the Dispatch Center, offering two Operators of the same Tier as the equipped Operator; one can be picked for free\n<@ba.rem>If there are Teammates present within the Team Simulation, a copy of the original Operator will be sent to the Teammate with the most corresponding Alliance members during the next Rest Phase\n<@ba.acrem>If multiple Teammates fulfill this condition, the copy will be sent to a random Teammate\n<@ba.acrem>Cannot be equipped by Custom Operators","name":"Transmitter","effectName":"Transmitter","desc":"Destroys itself along with the Operator when equipped, then refreshes the Dispatch Center, offering two Operators of the same Tier as the equipped Operator; one can be picked for free\nIf there are Teammates present within the Team Simulation, a copy of the original Operator will be sent to the Teammate with the most corresponding Alliance members during the next Rest Phase\nIf multiple Teammates fulfill this condition, the copy will be sent to a random Teammate\nCannot be equipped by Custom Operators","_h":"twmpmp3o"},"chess_item_5_05_e_a":{"descRaw":"Destroyed when equipped, and if you have at least two of this non-Elite Operator, obtain a third copy; otherwise obtain 1 random non-Elite Operator from the same Alliance","name":"Mimic Matter","effectName":"Mimic Matter","desc":"Destroyed when equipped, and if you have at least two of this non-Elite Operator, obtain a third copy; otherwise obtain 1 random non-Elite Operator from the same Alliance","flavor":"'This is a gift you can turn into anything you want.'","_h":"uckckcuch5"},"chess_item_5_05_e_b":{"descRaw":"Destroyed when equipped, and if you have at least two of this non-Elite Operator, obtain a third copy; otherwise obtain 1 random non-Elite Operator from the same Alliance","name":"Mimic Matter","effectName":"Mimic Matter","desc":"Destroyed when equipped, and if you have at least two of this non-Elite Operator, obtain a third copy; otherwise obtain 1 random non-Elite Operator from the same Alliance","flavor":"'This is a gift you can turn into anything you want.'","_h":"uckckcuch5"},"chess_item_5_06_e_a":{"descRaw":"Equippable by any Operator; destroyed at the start of the next round and promotes the Operator to an Elite Operator","name":"Doctor Hologram","effectName":"Doctor Hologram","desc":"Equippable by any Operator; destroyed at the start of the next round and promotes the Operator to an Elite Operator","flavor":"'Listen up, the Doctor's starting the mission briefing.'","_h":"fjvgvgfj79"},"chess_item_5_06_e_b":{"descRaw":"Equippable by any Operator; immediately promotes this Operator to an Elite Operator","name":"Doctor Hologram","effectName":"Doctor Hologram","desc":"Equippable by any Operator; immediately promotes this Operator to an Elite Operator","flavor":"'Listen up, the Doctor's starting the mission briefing.'","_h":"hivgvghi79"},"chess_item_5_07_e_a":{"descRaw":"For every 8 Operators sold, obtain an additional copy of a non-Elite Operator from the same Alliance as the equipping Operator (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Commercial Packaging Plan","effectName":"Commercial Packaging Plan","desc":"For every 8 Operators sold, obtain an additional copy of a non-Elite Operator from the same Alliance as the equipping Operator (Operator Tier cannot exceed the current Dispatch Center Level)","flavor":"'Raise your glass, watch your smile, and I guarantee you'll go viral! No, that won't get enough eyes on you, go try on another outfit.'","_h":"6juquq6j8b"},"chess_item_5_07_e_b":{"descRaw":"For every 7 Operators sold, obtain an additional copy of a non-Elite Operator from the same Alliance as the equipping Operator (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Commercial Packaging Plan","effectName":"Commercial Packaging Plan","desc":"For every 7 Operators sold, obtain an additional copy of a non-Elite Operator from the same Alliance as the equipping Operator (Operator Tier cannot exceed the current Dispatch Center Level)","flavor":"'Raise your glass, watch your smile, and I guarantee you'll go viral! No, that won't get enough eyes on you, go try on another outfit.'","_h":"ceuquqce8b"},"chess_item_5_08_e_a":{"descRaw":"After the battle ends, equipped Operator changes to a random Operator 1 Tier higher","name":"Mutated Cells","shopExcludedBy":"Strategy [Unstable Element] (Quintus)","effectName":"Mutated Cells","desc":"After the battle ends, equipped Operator changes to a random Operator 1 Tier higher","note":"When it takes effect, the Operator is destroyed and the Mutated Cells and other equipment return to the Bench, ready to be equipped again; then a random starting Operator one Tier higher (up to Tier 6) joins the Bench and has to be deployed again","flavor":"'The price...'","_h":"yx1cqy1cyxr73c"},"chess_item_5_08_e_b":{"descRaw":"After the battle ends, equipped Operator changes to a random Operator 1 Tier higher","name":"Mutated Cells","shopExcludedBy":"Strategy [Unstable Element] (Quintus)","effectName":"Mutated Cells","desc":"After the battle ends, equipped Operator changes to a random Operator 1 Tier higher","note":"When it takes effect, the Operator is destroyed and the Mutated Cells and other equipment return to the Bench, ready to be equipped again; then a random starting Operator one Tier higher (up to Tier 6) joins the Bench and has to be deployed again","flavor":"'The price...'","_h":"yx1cqy1cyxr73c"},"chess_item_5_09_e_a":{"descRaw":"HP <@ba.vup>+50%; if equipped alongside 'Pegasian Lance', recover <@ba.vup>8% Max HP per second","name":"Pegasian Helm","effectName":"Pegasian Helm","desc":"HP +50%; if equipped alongside 'Pegasian Lance', recover 8% Max HP per second","flavor":"'Witness to the births of countless warriors and heroes.'","_h":"pjbbbbzzx9"},"chess_item_5_09_e_b":{"descRaw":"HP <@ba.vup>+75%; if equipped alongside 'Pegasian Lance', recover <@ba.vup>8% Max HP per second","name":"Pegasian Helm","effectName":"Pegasian Helm","desc":"HP +75%; if equipped alongside 'Pegasian Lance', recover 8% Max HP per second","flavor":"'Witness to the births of countless warriors and heroes.'","_h":"aebbbbrkx9"},"chess_item_6_01_e_a":{"descRaw":"ATK <@ba.vup>+40%; if equipped alongside 'Pegasian Helm', when dealing damage, deal an additional <@ba.vup>30% as True damage","name":"Pegasian Lance","effectName":"Pegasian Lance","desc":"ATK +40%; if equipped alongside 'Pegasian Helm', when dealing damage, deal an additional 30% as True damage","flavor":"'Contributor to countless routs, both physical and mental.'","_h":"yn5l5lwzmg"},"chess_item_6_01_e_b":{"descRaw":"ATK <@ba.vup>+60%; if equipped alongside 'Pegasian Helm', when dealing damage, deal an additional <@ba.vup>30% as True damage","name":"Pegasian Lance","effectName":"Pegasian Lance","desc":"ATK +60%; if equipped alongside 'Pegasian Helm', when dealing damage, deal an additional 30% as True damage","flavor":"'Contributor to countless routs, both physical and mental.'","_h":"595l5lm9mg"},"chess_item_6_01_m":{"descRaw":"Drag onto field to use and select a special bounty to challenge; gain 1 Funds when manually destroyed and pass on 'Mystery Customer' to the next player","name":"'Mystery Customer'","effectName":"'Mystery Customer'","desc":"Drag onto field to use and select a special bounty to challenge; gain 1 Funds when manually destroyed and pass on 'Mystery Customer' to the next player","_h":"xenwnwxe"},"chess_item_6_02_e_a":{"descRaw":"<@ba.vup>+40% ATK; If equipped by a [Laterano] Operator, the Operator gains a 35% chance to fire an extra bullet at an enemy within Attack Range, dealing <@ba.vup>150% ATK as Physical damage\n<@ba.acrem>If 'Lateran Clip' is also equipped by the [Laterano] Operator, bullet deals <@ba.vup>300% ATK instead","name":"Gun-Knight's Might","effectName":"Gun-Knight's Might","desc":"+40% ATK; If equipped by a [Laterano] Operator, the Operator gains a 35% chance to fire an extra bullet at an enemy within Attack Range, dealing 150% ATK as Physical damage\nIf 'Lateran Clip' is also equipped by the [Laterano] Operator, bullet deals 300% ATK instead","flavor":"'Laterans have never doubted the gun-knights' might.'","_h":"oenpnpnnej"},"chess_item_6_02_e_b":{"descRaw":"<@ba.vup>+60% ATK; If equipped by a [Laterano] Operator, the Operator gains a 35% chance to fire an extra bullet at an enemy within Attack Range, dealing <@ba.vup>150% ATK as Physical damage\n<@ba.acrem>If 'Lateran Clip' is also equipped by the [Laterano] Operator, bullet deals <@ba.vup>300% ATK instead","name":"Gun-Knight's Might","effectName":"Gun-Knight's Might","desc":"+60% ATK; If equipped by a [Laterano] Operator, the Operator gains a 35% chance to fire an extra bullet at an enemy within Attack Range, dealing 150% ATK as Physical damage\nIf 'Lateran Clip' is also equipped by the [Laterano] Operator, bullet deals 300% ATK instead","flavor":"'Laterans have never doubted the gun-knights' might.'","_h":"ucnpnpelej"},"chess_item_6_02_m":{"descRaw":"Drag onto field to use; obtains Operator in range (Includes Elite Operators and equipment!)","name":"Dusk's Scroll","effectName":"Dusk's Scroll","desc":"Drag onto field to use; obtains Operator in range (Includes Elite Operators and equipment!)","_h":"zavbvbza"},"chess_item_6_03_e_a":{"descRaw":"<@ba.vup>+45% HP; If equipped by a [Yan] Operator, gain <@ba.vup>+25 ASPD for every Operator obtained this round before battle begins (Max 3 stacks)\n<@ba.acrem>If 'Yanese Dagger' is also equipped by the [Yan] Operator, <@ba.vup>+2 Funds whenever you obtain an Operator (Max 3 times per round)","name":"Tianshi's Cauldron","effectName":"Tianshi's Cauldron","desc":"+45% HP; If equipped by a [Yan] Operator, gain +25 ASPD for every Operator obtained this round before battle begins (Max 3 stacks)\nIf 'Yanese Dagger' is also equipped by the [Yan] Operator, +2 Funds whenever you obtain an Operator (Max 3 times per round)","flavor":"'The Yanese people believe the ancient Tianshi legends are by no means complete fiction.'","_h":"yr3e3e5i4h"},"chess_item_6_03_e_b":{"descRaw":"<@ba.vup>+70% HP; If equipped by a [Yan] Operator, gain <@ba.vup>+25 ASPD for every Operator obtained this round before battle begins (Max 3 stacks)\n<@ba.acrem>If 'Yanese Dagger' is also equipped by the [Yan] Operator, <@ba.vup>+2 Funds whenever you obtain an Operator (Max 3 times per round)","name":"Tianshi's Cauldron","effectName":"Tianshi's Cauldron","desc":"+70% HP; If equipped by a [Yan] Operator, gain +25 ASPD for every Operator obtained this round before battle begins (Max 3 stacks)\nIf 'Yanese Dagger' is also equipped by the [Yan] Operator, +2 Funds whenever you obtain an Operator (Max 3 times per round)","flavor":"'The Yanese people believe the ancient Tianshi legends are by no means complete fiction.'","_h":"l33e3eo24h"},"chess_item_6_03_m":{"descRaw":"Drag onto field to use and select a bounty to challenge","name":"Pointing Stick","effectName":"Pointing Stick","desc":"Drag onto field to use and select a bounty to challenge","_h":"eeuzuzee"},"chess_item_6_04_e_a":{"descRaw":"Gain <@ba.vup>180 <$ba.dmgresistance>Damage Reduction; If equipped by an [Ægir] Operator, deals <@ba.vup>50% of equipped Operator's ATK as Arts damage to damage source when damage is taken (Triggers up to once every 0.5s)\n<@ba.acrem>If 'Ægirian Blade' is also equipped by the [Ægir] Operator, deal an additional <@ba.vup>50% of equipped Operator's ATK as Arts damage when damage is taken (Triggers up to once every 0.5s)","name":"Trench Test Subject","effectName":"Trench Test Subject","desc":"Gain 180 Damage Reduction; If equipped by an [Ægir] Operator, deals 50% of equipped Operator's ATK as Arts damage to damage source when damage is taken (Triggers up to once every 0.5s)\nIf 'Ægirian Blade' is also equipped by the [Ægir] Operator, deal an additional 50% of equipped Operator's ATK as Arts damage when damage is taken (Triggers up to once every 0.5s)","flavor":"'The Ægirians' secrets are buried in the deepest ocean trenches, but they have never truly died.'","_h":"y88u8uzmh6"},"chess_item_6_04_e_b":{"descRaw":"Gain <@ba.vup>300 <$ba.dmgresistance>Damage Reduction; If equipped by an [Ægir] Operator, deals <@ba.vup>50% of equipped Operator's ATK as Arts damage to damage source when damage is taken (Triggers up to once every 0.5s)\n<@ba.acrem>If 'Ægirian Blade' is also equipped by the [Ægir] Operator, deal an additional <@ba.vup>50% of equipped Operator's ATK as Arts damage when damage is taken (Triggers up to once every 0.5s)","name":"Trench Test Subject","effectName":"Trench Test Subject","desc":"Gain 300 Damage Reduction; If equipped by an [Ægir] Operator, deals 50% of equipped Operator's ATK as Arts damage to damage source when damage is taken (Triggers up to once every 0.5s)\nIf 'Ægirian Blade' is also equipped by the [Ægir] Operator, deal an additional 50% of equipped Operator's ATK as Arts damage when damage is taken (Triggers up to once every 0.5s)","flavor":"'The Ægirians' secrets are buried in the deepest ocean trenches, but they have never truly died.'","_h":"ta8u8ug6h6"},"chess_item_6_05_e_a":{"descRaw":"<@ba.vup>+35 ASPD; If equipped by a [Victoria] Operator, the Operator gains effects of all Victorian Hammers on the field\n<@ba.acrem>If any 'Victorian Hammer' is also equipped by the [Victoria] Operator, effects of this 'Victorian Hammer' are doubled","name":"Steam Heart","effectName":"Steam Heart","desc":"+35 ASPD; If equipped by a [Victoria] Operator, the Operator gains effects of all Victorian Hammers on the field\nIf any 'Victorian Hammer' is also equipped by the [Victoria] Operator, effects of this 'Victorian Hammer' are doubled","flavor":"'The Victorians have proven throughout the ages that truth hides within steam and gears.'","_h":"am5g5g8v2w"},"chess_item_6_05_e_b":{"descRaw":"<@ba.vup>+55 ASPD; If equipped by a [Victoria] Operator, the Operator gains effects of all Victorian Hammers on the field\n<@ba.acrem>If any 'Victorian Hammer' is also equipped by the [Victoria] Operator, effects of this 'Victorian Hammer' are doubled","name":"Steam Heart","effectName":"Steam Heart","desc":"+55 ASPD; If equipped by a [Victoria] Operator, the Operator gains effects of all Victorian Hammers on the field\nIf any 'Victorian Hammer' is also equipped by the [Victoria] Operator, effects of this 'Victorian Hammer' are doubled","flavor":"'The Victorians have proven throughout the ages that truth hides within steam and gears.'","_h":"mk5g5gm12w"},"chess_item_6_06_e_a":{"descRaw":"<@ba.vup>+30 RES; If equipped by a [Kjerag] Operator, enemies within Attack Range that are <$ba.cold>Cold or <$ba.frozen>Frozen take <@ba.vup>30% of equipped Operator's ATK as Arts damage per second\n<@ba.acrem>If 'Kjeragi Nevermeltice' is also equipped by the [Kjerag] Operator, the Arts damage dealt per second increases to <@ba.vup>100% ATK","name":"Kjeragandr's Tears","effectName":"Kjeragandr's Tears","desc":"+30 RES; If equipped by a [Kjerag] Operator, enemies within Attack Range that are Cold or Frozen take 30% of equipped Operator's ATK as Arts damage per second\nIf 'Kjeragi Nevermeltice' is also equipped by the [Kjerag] Operator, the Arts damage dealt per second increases to 100% ATK","flavor":"'The Kjerags believe the gemstones hidden in the depths of glaciers are Kjeragandr's tears.'","_h":"ha0o0o4hir"},"chess_item_6_06_e_b":{"descRaw":"<@ba.vup>+50 RES; If equipped by a [Kjerag] Operator, enemies within Attack Range that are <$ba.cold>Cold or <$ba.frozen>Frozen take <@ba.vup>30% of equipped Operator's ATK as Arts damage per second\n<@ba.acrem>If 'Kjeragi Nevermeltice' is also equipped by the [Kjerag] Operator, the Arts damage dealt per second increases to <@ba.vup>100% ATK","name":"Kjeragandr's Tears","effectName":"Kjeragandr's Tears","desc":"+50 RES; If equipped by a [Kjerag] Operator, enemies within Attack Range that are Cold or Frozen take 30% of equipped Operator's ATK as Arts damage per second\nIf 'Kjeragi Nevermeltice' is also equipped by the [Kjerag] Operator, the Arts damage dealt per second increases to 100% ATK","flavor":"'The Kjerags believe the gemstones hidden in the depths of glaciers are Kjeragandr's tears.'","_h":"040o0oq7ir"},"chess_item_6_07_e_a":{"descRaw":"At the start of battle, <@ba.vup>+30 Starting SP; If equipped by a [Sargon] Operator, the Operator recovers <@ba.vup>30 SP when skill ends for the first time\n<@ba.acrem>If 'Sargonian Teaspresso' is also equipped by the [Sargon] Operator, every skill activation grants <@ba.vup>3 SP to all [Sargon] Operators","name":"Desert Compass","effectName":"Desert Compass","desc":"At the start of battle, +30 Starting SP; If equipped by a [Sargon] Operator, the Operator recovers 30 SP when skill ends for the first time\nIf 'Sargonian Teaspresso' is also equipped by the [Sargon] Operator, every skill activation grants 3 SP to all [Sargon] Operators","flavor":"'Legends say the Sargonians will find a mark of time going backwards at the ends of the sands.'","_h":"fog9g91ni3"},"chess_item_6_07_e_b":{"descRaw":"At the start of battle, <@ba.vup>+50 Starting SP; If equipped by a [Sargon] Operator, the Operator recovers <@ba.vup>30 SP when skill ends for the first time\n<@ba.acrem>If 'Sargonian Teaspresso' is also equipped by the [Sargon] Operator, every skill activation grants <@ba.vup>3 SP to all [Sargon] Operators","name":"Desert Compass","effectName":"Desert Compass","desc":"At the start of battle, +50 Starting SP; If equipped by a [Sargon] Operator, the Operator recovers 30 SP when skill ends for the first time\nIf 'Sargonian Teaspresso' is also equipped by the [Sargon] Operator, every skill activation grants 3 SP to all [Sargon] Operators","flavor":"'Legends say the Sargonians will find a mark of time going backwards at the ends of the sands.'","_h":"aug9g9khi3"},"chess_item_6_08_e_a":{"descRaw":"Destroyed when equipped and increases Deployment Limit to 9","name":"HR File","effectName":"HR File","desc":"Destroyed when equipped and increases Deployment Limit to 9","flavor":"'This newbie's definitely going to help us out, right?'","_h":"spncncsp28"},"chess_item_6_08_e_b":{"descRaw":"Destroyed when equipped and increases Deployment Limit to 9","name":"HR File","effectName":"HR File","desc":"Destroyed when equipped and increases Deployment Limit to 9","flavor":"'This newbie's definitely going to help us out, right?'","_h":"spncncsp28"},"chess_item_6_09_e_a":{"descRaw":"Equipped Operator gains an extra Alliance (based on the other Equipment)\n<@ba.acrem>Details can be checked in Equipment's Talent tab during simulations","name":"Damazti Isomorph","effectName":"Damazti Isomorph","desc":"Equipped Operator gains an extra Alliance (based on the other Equipment)\nDetails can be checked in Equipment's Talent tab during simulations","flavor":"'Damazti Cluster, we've long since witnessed your capabilities...'","_h":"1apopo0gcr"},"chess_item_6_09_e_b":{"descRaw":"Equipped Operator gains an extra Alliance (based on the other Equipment)\n<@ba.acrem>Details can be checked in Equipment's Talent tab during simulations","name":"Damazti Isomorph","effectName":"Damazti Isomorph","desc":"Equipped Operator gains an extra Alliance (based on the other Equipment)\nDetails can be checked in Equipment's Talent tab during simulations","flavor":"'Damazti Cluster, we've long since witnessed your capabilities...'","_h":"1apopo0gcr"},"chess_item_6_10_e_a":{"descRaw":"Redeployment Time <@ba.vup>-40%; If equipped by a [Kazimierz] Operator, enemies within Attack Range have <@ba.vup>-35% ASPD and <@ba.vup>-35% Movement Speed for 20s after skill activation\n<@ba.acrem>If 'Kazimierz Knightclub Pennant' is also equipped by the [Kazimierz] Operator, while skill is active, Operator has ATK <@ba.vup>+100% and will not retreat when receiving lethal damage, instead retreating once skill ends","name":"Chivalric Commandments","effectName":"Chivalric Commandments","desc":"Redeployment Time -40%; If equipped by a [Kazimierz] Operator, enemies within Attack Range have -35% ASPD and -35% Movement Speed for 20s after skill activation\nIf 'Kazimierz Knightclub Pennant' is also equipped by the [Kazimierz] Operator, while skill is active, Operator has ATK +100% and will not retreat when receiving lethal damage, instead retreating once skill ends","flavor":"A list of commandments set by a Kazimierzian knight. 'Honesty. Dedication. Valor. Tenacity.'","_h":"xxwqwql3xh"},"chess_item_6_10_e_b":{"descRaw":"Redeployment Time <@ba.vup>-60%; If equipped by a [Kazimierz] Operator, enemies within Attack Range have <@ba.vup>-35% ASPD and <@ba.vup>-35% Movement Speed for 20s after skill activation\n<@ba.acrem>If 'Kazimierz Knightclub Pennant' is also equipped by the [Kazimierz] Operator, while skill is active, Operator has ATK <@ba.vup>+100% and will not retreat when receiving lethal damage, instead retreating once skill ends","name":"Chivalric Commandments","effectName":"Chivalric Commandments","desc":"Redeployment Time -60%; If equipped by a [Kazimierz] Operator, enemies within Attack Range have -35% ASPD and -35% Movement Speed for 20s after skill activation\nIf 'Kazimierz Knightclub Pennant' is also equipped by the [Kazimierz] Operator, while skill is active, Operator has ATK +100% and will not retreat when receiving lethal damage, instead retreating once skill ends","flavor":"A list of commandments set by a Kazimierzian knight. 'Honesty. Dedication. Valor. Tenacity.'","_h":"93wqwqktxh"},"chess_item_6_11_e_a":{"descRaw":"SP recovery rate <@ba.vup>+0.2/s; If equipped by a [Siracusa] Operator, ATK gradually increases to <@ba.vup>200% when equipped Operator is Invisible, until the first instance of damage dealt after Invisibility ends or the Operator leaves the field\n<@ba.acrem>If 'Siracusan Formalwear' is also equipped by the [Siracusa] Operator, the first instance of damage dealt after Invisibility ends deals an additional <@ba.vup>800% ATK as True damage","name":"Famiglia Insignia","effectName":"Famiglia Insignia","desc":"SP recovery rate +0.2/s; If equipped by a [Siracusa] Operator, ATK gradually increases to 200% when equipped Operator is Invisible, until the first instance of damage dealt after Invisibility ends or the Operator leaves the field\nIf 'Siracusan Formalwear' is also equipped by the [Siracusa] Operator, the first instance of damage dealt after Invisibility ends deals an additional 800% ATK as True damage","flavor":"A Siracusan insignia that makes one a mafioso. 'Learn to follow your famiglia... your true famiglia.'","_h":"o0fbfblz2p"},"chess_item_6_11_e_b":{"descRaw":"SP recovery rate <@ba.vup>+0.35/s; If equipped by a [Siracusa] Operator, ATK gradually increases to <@ba.vup>200% when equipped Operator is Invisible, until the first instance of damage dealt after Invisibility ends or the Operator leaves the field\n<@ba.acrem>If 'Siracusan Formalwear' is also equipped by the [Siracusa] Operator, the first instance of damage dealt after Invisibility ends deals an additional <@ba.vup>800% ATK as True damage","name":"Famiglia Insignia","effectName":"Famiglia Insignia","desc":"SP recovery rate +0.35/s; If equipped by a [Siracusa] Operator, ATK gradually increases to 200% when equipped Operator is Invisible, until the first instance of damage dealt after Invisibility ends or the Operator leaves the field\nIf 'Siracusan Formalwear' is also equipped by the [Siracusa] Operator, the first instance of damage dealt after Invisibility ends deals an additional 800% ATK as True damage","flavor":"A Siracusan insignia that makes one a mafioso. 'Learn to follow your famiglia... your true famiglia.'","_h":"sgfbfbw32p"}},"bands":{"band_bldsk":{"descRaw":"[Intensive Monitoring] When the battle starts, +2 Alliance Stacks to 1 random Operator of each different Tier on the field","name":"Warfarin","effectName":"Intensive Monitoring","desc":"[Intensive Monitoring] When the battle starts, +2 Alliance Stacks to 1 random Operator of each different Tier on the field","_h":"aojhpiao"},"band_amiya":{"descRaw":"[Wills As One] When there are 3/4/5 different active Alliances, all Operators +20/30/40% ATK and HP respectively","name":"Amiya","effectName":"Wills As One","desc":"[Wills As One] When there are 3/4/5 different active Alliances, all Operators +20/30/40% ATK and HP respectively","_h":"6ypi6r6y"},"band_duyaoy":{"descRaw":"[Heroes All Around] The first two manual refreshes in every round become a special refresh: This refresh will prioritize offering 1 Yan Operator\n<@ba.vdown>Strategy may be flawed when some Yan Operators are missing","name":"Du Yaoye","effectName":"Heroes All Around","desc":"[Heroes All Around] The first two manual refreshes in every round become a special refresh: This refresh will prioritize offering 1 Yan Operator\nStrategy may be flawed when some Yan Operators are missing","_h":"mivmx0ay"},"band_sarkazb":{"descRaw":"[Indestructible] Start with 45 Life Points","name":"Goliath","effectName":"Indestructible","desc":"[Indestructible] Start with 45 Life Points","_h":"uox0f2uo"},"band_orchid":{"descRaw":"[HR Consultant] Every manual refresh becomes a special refresh: 2 copies of the same Operator will appear with one Frozen; obtain 1 Dispatch Module on Round 10\n<@ba.acrem> Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Orchid","effectName":"HR Consultant","desc":"[HR Consultant] Every manual refresh becomes a special refresh: 2 copies of the same Operator will appear with one Frozen; obtain 1 Dispatch Module on Round 10\n Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","unlockDesc":"Unlocks after clearing 9 rounds in a Standard Simulation","_h":"x4gm2fisua"},"band_justin":{"descRaw":"[Private Equity Fund] Upon entering Rest Phase on Rounds 1, 4, 7, 10, obtain 1 Knightly Savings\n<@ba.acrem> Destroyed when equipped and grants 1-6 Funds","name":"Justin Jr.","effectName":"Private Equity Fund","desc":"[Private Equity Fund] Upon entering Rest Phase on Rounds 1, 4, 7, 10, obtain 1 Knightly Savings\n Destroyed when equipped and grants 1-6 Funds","unlockDesc":"Unlocks after completing a Standard Simulation","_h":"c893qwnif0"},"band_ermengard":{"descRaw":"[Phylactery Secret] First 3 Operators defeated in battle will be revived immediately!","name":"Ermengarde","effectName":"Phylactery Secret","desc":"[Phylactery Secret] First 3 Operators defeated in battle will be revived immediately!","unlockDesc":"Unlocks after clearing 9 rounds in a Perilous Simulation","_h":"nktx1unkox"},"band_lmlee":{"descRaw":"[Idle Teatime] Funds from Rounds 1 and 2 are temporarily held and released on Round 3; randomly obtain 1 Tier 2 Operator and 1 Tier 4 Operator during Round 3's Rest Phase","name":"Lee","effectName":"Idle Teatime","desc":"[Idle Teatime] Funds from Rounds 1 and 2 are temporarily held and released on Round 3; randomly obtain 1 Tier 2 Operator and 1 Tier 4 Operator during Round 3's Rest Phase","unlockDesc":"Unlocks after clearing any 2 simulations","_h":"21k88g21qh"},"band_kirara":{"descRaw":"[Completion Reward] For every 20 Funds spent, gain a random Operator from a Tier not exceeding the current Dispatch Center Level","name":"Kirara","effectName":"Completion Reward","desc":"[Completion Reward] For every 20 Funds spent, gain a random Operator from a Tier not exceeding the current Dispatch Center Level","unlockDesc":"Unlocks after clearing 13 rounds in a Perilous Simulation","_h":"l30a3zl3xg"},"band_pepe":{"descRaw":"[Erudite and Versatile] When Dispatch Center reaches Lv. 2, 4, and 6, obtain 1 special refresh: This refresh will prioritize offering Operators\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Pepe","effectName":"Erudite and Versatile","desc":"[Erudite and Versatile] When Dispatch Center reaches Lv. 2, 4, and 6, obtain 1 special refresh: This refresh will prioritize offering Operators\nStrategy may be flawed when some Operators are missing","unlockDesc":"Unlocks after clearing a simulation with 6 [Sargon] Operators in squad","_h":"jrt3ghglug"},"band_harold":{"descRaw":"[Talent Blind Box] Starting from Round 4, obtain 1 Operator every 2 rounds\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Harold","effectName":"Talent Blind Box","desc":"[Talent Blind Box] Starting from Round 4, obtain 1 Operator every 2 rounds\nStrategy may be flawed when some Operators are missing","unlockDesc":"Unlocks after clearing a simulation with 6 [Victoria] Operators in squad","_h":"80w9j0fg4u"},"band_sciurus":{"descRaw":"[Snowfield's Gift] The first Operator purchased every round costs 1 Funds\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Sciurus","effectName":"Snowfield's Gift","desc":"[Snowfield's Gift] The first Operator purchased every round costs 1 Funds\nStrategy may be flawed when some Operators are missing","unlockDesc":"Unlocks after clearing a simulation with 6 [Kjerag] Operators in squad","_h":"l8bph6dqhw"},"band_paganini":{"descRaw":"[Customized Firearm] After spending a total of 55 Funds, obtain 1 Tier 4 or above Elite Laterano Operator\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Paganini","effectName":"Customized Firearm","desc":"[Customized Firearm] After spending a total of 55 Funds, obtain 1 Tier 4 or above Elite Laterano Operator\nStrategy may be flawed when some Operators are missing","unlockDesc":"Unlocks after achieving a cumulative total of 200 [Laterano] Alliance stacks across multiple simulations","_h":"jfddyagbqg"},"band_clementia":{"descRaw":"[Noble Sacrifice] When an <Ægir> Operator is defeated, grants Ægir Alliance stacks equivalent to that Operator's Tier\n<@ba.vdown>Strategy may be flawed when some <Ægir> Operators are missing","name":"Clementia","effectName":"Noble Sacrifice","desc":"[Noble Sacrifice] When an <Ægir> Operator is defeated, grants Ægir Alliance stacks equivalent to that Operator's Tier\nStrategy may be flawed when some <Ægir> Operators are missing","unlockDesc":"Unlocks after achieving a cumulative total of 200 [Ægir] Alliance stacks across multiple simulations","_h":"463zpy9ci1"},"band_emperor":{"descRaw":"[Express Dispatch] All allied Operators -50% Redeployment Time after each deployment","name":"Emperor","effectName":"Express Dispatch","desc":"[Express Dispatch] All allied Operators -50% Redeployment Time after each deployment","unlockDesc":"Unlocks after clearing a simulation in which you have obtained 6 Specialist Operators","_h":"6ddt8r6djc"},"band_mberry":{"descRaw":"[Experimental Med. Sticks] When the battle begins, all allied Operators in the rightmost column of the field gain the following effect: Every attack has a 25% chance to grant 1 Shield (max 1 stack)","name":"Mulberry","effectName":"Experimental Med. Sticks","desc":"[Experimental Med. Sticks] When the battle begins, all allied Operators in the rightmost column of the field gain the following effect: Every attack has a 25% chance to grant 1 Shield (max 1 stack)","unlockDesc":"Unlocks after clearing any 4 simulations","_h":"is9usuisrr"},"band_humus":{"descRaw":"[Recycling] When a Ground Operator's skill ends, they grant 3 SP to 1 random Operator in the adjacent 4 tiles","name":"Humus","effectName":"Recycling","desc":"[Recycling] When a Ground Operator's skill ends, they grant 3 SP to 1 random Operator in the adjacent 4 tiles","unlockDesc":"Unlocks after clearing any 3 simulations","_h":"digyk4die8"},"band_quintus":{"descRaw":"[Unstable Element] In Round 3, obtain special equipment Mutated Cells\n<@ba.acrem> After the battle ends, equipped Operator changes to a random Operator 1 Tier higher (up to Tier 6)","name":"Quintus","effectName":"Unstable Element","desc":"[Unstable Element] In Round 3, obtain special equipment Mutated Cells\n After the battle ends, equipped Operator changes to a random Operator 1 Tier higher (up to Tier 6)","unlockDesc":"Unlocks after clearing any 3 simulations","_h":"qx8exssde8"},"band_yu":{"descRaw":"[Slow Simmer] When Round 8 begins, if there is only 1 active Alliance, +36 stacks to it; otherwise +12 stacks to all active Alliances","name":"Yu","effectName":"Slow Simmer","desc":"[Slow Simmer] When Round 8 begins, if there is only 1 active Alliance, +36 stacks to it; otherwise +12 stacks to all active Alliances","unlockDesc":"Unlocks after clearing 9 rounds in a Standard Simulation","_h":"mrpwbvmrua"},"band_doberm":{"descRaw":"[Extra Training!] Obtain 1 'Pointing Stick' special Arts every 2 rounds\n<@ba.acrem>When used, adds extra enemies to the field and grants extra funds if the battle is perfectly cleared on your own","name":"Dobermann","effectName":"Extra Training!","desc":"[Extra Training!] Obtain 1 'Pointing Stick' special Arts every 2 rounds\nWhen used, adds extra enemies to the field and grants extra funds if the battle is perfectly cleared on your own","unlockDesc":"Unlocks after clearing any 1 simulation","_h":"ypbz0f7hdm"},"band_cathy":{"descRaw":"[Targeted Drop] Whenever the Dispatch Center is upgraded, the shop offers 1 free Equipment with 3 random options to choose from","name":"Catherine","effectName":"Targeted Drop","desc":"[Targeted Drop] Whenever the Dispatch Center is upgraded, the shop offers 1 free Equipment with 3 random options to choose from","_h":"r9j4p3r9"},"band_malkie":{"descRaw":"[Commercial Packaging] Start with 1 Commercial Packaging Plan\n<@ba.acrem> For every 8 Operators sold, obtain 1 non-Elite Operator from the same Alliance as the equipped Operator","name":"Malkiewicz","effectName":"Commercial Packaging","desc":"[Commercial Packaging] Start with 1 Commercial Packaging Plan\n For every 8 Operators sold, obtain 1 non-Elite Operator from the same Alliance as the equipped Operator","unlockDesc":"Unlocks after clearing any 1 simulation","_h":"17cs6r7rdm"},"band_qalaisa":{"descRaw":"[Scavenger Butterfly] When an allied Operator is defeated, other allied units on the field gain +20% ATK (Max 200%, and lasts until Operators are defeated or the battle ends)","name":"Qalaiša","effectName":"Scavenger Butterfly","desc":"[Scavenger Butterfly] When an allied Operator is defeated, other allied units on the field gain +20% ATK (Max 200%, and lasts until Operators are defeated or the battle ends)","unlockDesc":"Unlocks after clearing any 1 simulation","_h":"y3pne7y3dm"},"band_chen":{"descRaw":"[Personal Power] All Operators deal Weakness damage (When dealing Physical or Arts damage, change damage type depending on the target's DEF and RES)","name":"Ch'en","effectName":"Personal Power","desc":"[Personal Power] All Operators deal Weakness damage (When dealing Physical or Arts damage, change damage type depending on the target's DEF and RES)","_h":"49xjs549"},"band_damaztic":{"descRaw":"[Damazti Isomorphism] Obtain 1 special equipment Damazti Isomorph every 5 rounds\n<@ba.acrem> When equipped together with certain other equipment, the equipped Operator is treated as a member of a specific Alliance","name":"'Damazti Cluster'","effectName":"Damazti Isomorphism","desc":"[Damazti Isomorphism] Obtain 1 special equipment Damazti Isomorph every 5 rounds\n When equipped together with certain other equipment, the equipped Operator is treated as a member of a specific Alliance","unlockDesc":"Unlocks after clearing any 1 simulation","_h":"7it5tzxcdm"},"band_pith":{"descRaw":"[Top Student] In Round 1, gain 1 special Operator that can deal Nervous Impairment, Burn, or Necrosis. This Operator also belongs to the Harmony Alliance: +1 Operator count to some Alliances","effectName":"Top Student","desc":"[Top Student] In Round 1, gain 1 special Operator that can deal Nervous Impairment, Burn, or Necrosis. This Operator also belongs to the Harmony Alliance: +1 Operator count to some Alliances","_h":"aibzai"},"band_dusk":{"descRaw":"[Inky Visage] Duplicate Operators on the field have +30% ATK\n[Painted into Reality] In Round 1, obtain Special Arts Dusk's Scroll\n<@ba.acrem> On use, can copy 1 Operator within use range (Includes that Operator's Elite status and carried Equipment)","name":"Dusk","effectName":"Inky Visage","desc":"[Inky Visage] Duplicate Operators on the field have +30% ATK\n[Painted into Reality] In Round 1, obtain Special Arts Dusk's Scroll\n On use, can copy 1 Operator within use range (Includes that Operator's Elite status and carried Equipment)","unlockDesc":"Unlocks after clearing any 1 simulation","_h":"nwcgas06dm"},"band_cannot":{"descRaw":"[Compound Interest] Leftover Funds can be saved for the next round. When there are at least 5 Funds left, gain 1 extra Funds per round","name":"Cannot","effectName":"Compound Interest","desc":"[Compound Interest] Leftover Funds can be saved for the next round. When there are at least 5 Funds left, gain 1 extra Funds per round","_h":"tidkh5ti"},"band_ducklord":{"descRaw":"['Mystery Customer'] From Round 5 onwards, some enemies you and your teammates encounter may be replaced with , , , or . Defeating them (even during Unite Phases) will grant 1 Funds","name":"Duck Lord","effectName":"'Mystery Customer'","desc":"['Mystery Customer'] From Round 5 onwards, some enemies you and your teammates encounter may be replaced with , , , or . Defeating them (even during Unite Phases) will grant 1 Funds","unlockDesc":"Unlocks after clearing any 1 simulation","_h":"8zyfnw8zdm"},"band_lisa":{"descRaw":"[Omamori's Blessing] When a round begins, trigger an Operator's 'When obtained' Attribute once (prioritizes the bottom-right-most Operator on map)","name":"Suzuran","effectName":"Omamori's Blessing","desc":"[Omamori's Blessing] When a round begins, trigger an Operator's 'When obtained' Attribute once (prioritizes the bottom-right-most Operator on map)","_h":"wlpy9mwl"},"band_vodfox":{"descRaw":"[Substitute Doll] The first non-Elite Operator sold every round will instead switch into a random Operator from the Dispatch Center","name":"Shamare","effectName":"Substitute Doll","desc":"[Substitute Doll] The first non-Elite Operator sold every round will instead switch into a random Operator from the Dispatch Center","_h":"6bcjkl6b"},"band_ioleta":{"descRaw":"[Governing Order] When the battle begins, for every Elite Operator on the field, Elite Operators gain +10% ATK and HP","name":"Ioleta Russell","effectName":"Governing Order","desc":"[Governing Order] When the battle begins, for every Elite Operator on the field, Elite Operators gain +10% ATK and HP","_h":"plddb2pl"},"band_jesica":{"descRaw":"[Rally Directive] Upon entering Rest Phase on Round 4, 7, 10, and 13, obtain 1 Dispatch Module\n<@ba.acrem> Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Jessica","effectName":"Rally Directive","desc":"[Rally Directive] Upon entering Rest Phase on Round 4, 7, 10, and 13, obtain 1 Dispatch Module\n Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","unlockDesc":"Unlocks after clearing any 1 simulation","_h":"vqyburxidm"},"band_mlyss":{"descRaw":"[Purified Condensation] Obtain 1 upgraded Doctor Hologram on Round 1\n<@ba.acrem>Upgraded Equippable by any Operator; immediately promotes Operator to an Elite Operator","name":"Muelsyse","effectName":"Purified Condensation","desc":"[Purified Condensation] Obtain 1 upgraded Doctor Hologram on Round 1\nUpgraded Equippable by any Operator; immediately promotes Operator to an Elite Operator","unlockDesc":"Unlocks after clearing any 1 simulation","_h":"3xrrjb4zdm"},"band_makiri":{"descRaw":"[Streetwise Ties] Obtain a random Operator from the Dispatch Center on even-numbered rounds","name":"Matsukiri","effectName":"Streetwise Ties","desc":"[Streetwise Ties] Obtain a random Operator from the Dispatch Center on even-numbered rounds","_h":"s79v94s7"},"band_fang":{"descRaw":"[Joint Advance] Obtain 1 Transmitter on rounds 8, 10, 12, and 14\n<@ba.acrem> Destroys equipped Operator when equipped and refreshes two slots in Dispatch Center, offering 2 Operators of the same Tier and pick one for free; the original Operator will be sent to your friend with the highest corresponding Alliance stack in the next round","name":"Fang","effectName":"Joint Advance","desc":"[Joint Advance] Obtain 1 Transmitter on rounds 8, 10, 12, and 14\n Destroys equipped Operator when equipped and refreshes two slots in Dispatch Center, offering 2 Operators of the same Tier and pick one for free; the original Operator will be sent to your friend with the highest corresponding Alliance stack in the next round","unlockDesc":"Unlocks after clearing any 3 simulations","_h":"sj23k303e8"},"band_mlynar":{"descRaw":"[Work Quota] Every Operator purchased grants 1 extra Funds next round (Max 3 Funds per round)\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Młynar","effectName":"Work Quota","desc":"[Work Quota] Every Operator purchased grants 1 extra Funds next round (Max 3 Funds per round)\nStrategy may be flawed when some Operators are missing","unlockDesc":"Unlocks after clearing a simulation with 6 [Kazimierz] Operators in squad","_h":"txn2lmj16s"},"band_chiave":{"descRaw":"[Gang Activity] Every 6 active refreshes will grant you 1 Operator from a Tier not exceeding the Dispatch Center Level (Max 2 Operators per round)\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Chiave","effectName":"Gang Activity","desc":"[Gang Activity] Every 6 active refreshes will grant you 1 Operator from a Tier not exceeding the Dispatch Center Level (Max 2 Operators per round)\nStrategy may be flawed when some Operators are missing","unlockDesc":"Unlocks after clearing a simulation with 6 [Siracusa] Operators in squad","_h":"jxjzowtljb"},"band_narant":{"descRaw":"[Passing Down the Profit] Dispatch Center will offer two equipment during even-numbered rounds, and you can pick one for free; Sargon Alliance's effect changes to: After Sargon Operators use a skill, Operators in the surrounding 8 tiles will share the Operator's equipment effects (limited to Tier V and below) for 60 seconds\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Narantuya","effectName":"Passing Down the Profit","desc":"[Passing Down the Profit] Dispatch Center will offer two equipment during even-numbered rounds, and you can pick one for free; Sargon Alliance's effect changes to: After Sargon Operators use a skill, Operators in the surrounding 8 tiles will share the Operator's equipment effects (limited to Tier V and below) for 60 seconds\nStrategy may be flawed when some Operators are missing","unlockDesc":"Unlocks after clearing a simulation with 6 [Sargon] Operators in squad","_h":"04qmkxpmug"},"band_amedic":{"descRaw":"[Field Medic] 1 Reserve Operator - Medic appears on each player's battlefield; if there are at least 2 Elite Operators when the battle begins, Reserve Operator turns into ","effectName":"Field Medic","desc":"[Field Medic] 1 Reserve Operator - Medic appears on each player's battlefield; if there are at least 2 Elite Operators when the battle begins, Reserve Operator turns into ","unlockDesc":"Unlocks after clearing any 3 simulations","_h":"7k097ke8"}},"effects":{"aceffect_band_21":{"descRaw":"[Intensive Monitoring] When the battle starts, +2 Alliance Stacks to 1 random Operator of each different Tier on the field","name":"Intensive Monitoring","desc":"[Intensive Monitoring] When the battle starts, +2 Alliance Stacks to 1 random Operator of each different Tier on the field","_h":"aopiao"},"aceffect_band_22":{"descRaw":"[Wills As One] When there are 3/4/5 different active Alliances, all Operators +20/30/40% ATK and HP respectively","name":"Wills As One","desc":"[Wills As One] When there are 3/4/5 different active Alliances, all Operators +20/30/40% ATK and HP respectively","_h":"6y6r6y"},"aceffect_band_23":{"descRaw":"[HR Consultant] Every manual refresh becomes a special refresh: 2 copies of the same Operator will appear with one Frozen; obtain 1 Dispatch Module on Round 10\n<@ba.acrem> Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","name":"HR Consultant","desc":"[HR Consultant] Every manual refresh becomes a special refresh: 2 copies of the same Operator will appear with one Frozen; obtain 1 Dispatch Module on Round 10\n Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","_h":"x42fis"},"aceffect_band_24":{"descRaw":"[Completion Reward] For every 20 Funds spent, gain a random Operator from a Tier not exceeding the current Dispatch Center Level","name":"Completion Reward","desc":"[Completion Reward] For every 20 Funds spent, gain a random Operator from a Tier not exceeding the current Dispatch Center Level","_h":"l33zl3"},"aceffect_band_25":{"descRaw":"[Extra Training!] Obtain 1 'Pointing Stick' special Arts every 2 rounds\n<@ba.acrem>When used, adds extra enemies to the field and grants extra funds if the battle is perfectly cleared on your own","name":"Extra Training!","desc":"[Extra Training!] Obtain 1 'Pointing Stick' special Arts every 2 rounds\nWhen used, adds extra enemies to the field and grants extra funds if the battle is perfectly cleared on your own","_h":"yp0f7h"},"aceffect_band_26":{"descRaw":"[Targeted Drop] Whenever the Dispatch Center is upgraded, the shop offers 1 free Equipment with 3 random options to choose from","name":"Targeted Drop","desc":"[Targeted Drop] Whenever the Dispatch Center is upgraded, the shop offers 1 free Equipment with 3 random options to choose from","_h":"r9p3r9"},"aceffect_band_27":{"descRaw":"[Commercial Packaging] Start with 1 Commercial Packaging Plan\n<@ba.acrem> For every 8 Operators sold, obtain 1 non-Elite Operator from the same Alliance as the equipped Operator","name":"Commercial Packaging","desc":"[Commercial Packaging] Start with 1 Commercial Packaging Plan\n For every 8 Operators sold, obtain 1 non-Elite Operator from the same Alliance as the equipped Operator","_h":"176r7r"},"aceffect_band_28":{"descRaw":"[Heroes All Around] The first two manual refreshes in every round become a special refresh: This refresh will prioritize offering 1 Yan Operator\n<@ba.vdown>Strategy may be flawed when some Yan Operators are missing","name":"Heroes All Around","desc":"[Heroes All Around] The first two manual refreshes in every round become a special refresh: This refresh will prioritize offering 1 Yan Operator\nStrategy may be flawed when some Yan Operators are missing","_h":"mix0ay"},"aceffect_band_29":{"descRaw":"[Erudite and Versatile] When Dispatch Center reaches Lv. 2, 4, and 6, obtain 1 special refresh: This refresh will prioritize offering Operators\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Erudite and Versatile","desc":"[Erudite and Versatile] When Dispatch Center reaches Lv. 2, 4, and 6, obtain 1 special refresh: This refresh will prioritize offering Operators\nStrategy may be flawed when some Operators are missing","_h":"jrghgl"},"aceffect_band_30":{"descRaw":"[Talent Blind Box] Starting from Round 4, obtain 1 Operator every 2 rounds\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Talent Blind Box","desc":"[Talent Blind Box] Starting from Round 4, obtain 1 Operator every 2 rounds\nStrategy may be flawed when some Operators are missing","_h":"80j0fg"},"aceffect_band_31":{"descRaw":"[Snowfield's Gift] The first Operator purchased every round costs 1 Funds\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Snowfield's Gift","desc":"[Snowfield's Gift] The first Operator purchased every round costs 1 Funds\nStrategy may be flawed when some Operators are missing","_h":"l8h6dq"},"aceffect_band_32":{"descRaw":"[Customized Firearm] After spending a total of 55 Funds, obtain 1 Tier 4 or above Elite Laterano Operator\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Customized Firearm","desc":"[Customized Firearm] After spending a total of 55 Funds, obtain 1 Tier 4 or above Elite Laterano Operator\nStrategy may be flawed when some Operators are missing","_h":"jfyagb"},"aceffect_band_33":{"descRaw":"[Noble Sacrifice] When an <Ægir> Operator is defeated, grants Ægir Alliance stacks equivalent to that Operator's Tier\n<@ba.vdown>Strategy may be flawed when some <Ægir> Operators are missing","name":"Noble Sacrifice","desc":"[Noble Sacrifice] When an <Ægir> Operator is defeated, grants Ægir Alliance stacks equivalent to that Operator's Tier\nStrategy may be flawed when some <Ægir> Operators are missing","_h":"46py9c"},"aceffect_band_34":{"descRaw":"[Compound Interest] Leftover Funds can be saved for the next round. When there are at least 5 Funds left, gain 1 extra Funds per round","name":"Compound Interest","desc":"[Compound Interest] Leftover Funds can be saved for the next round. When there are at least 5 Funds left, gain 1 extra Funds per round","_h":"tih5ti"},"aceffect_band_35":{"descRaw":"[Scavenger Butterfly] When an allied Operator is defeated, other allied units on the field gain +20% ATK (Max 200%, and lasts until Operators are defeated or the battle ends)","name":"Scavenger Butterfly","desc":"[Scavenger Butterfly] When an allied Operator is defeated, other allied units on the field gain +20% ATK (Max 200%, and lasts until Operators are defeated or the battle ends)","_h":"y3e7y3"},"aceffect_band_36":{"descRaw":"[Express Dispatch] All allied Operators -50% Redeployment Time after each deployment","name":"Express Dispatch","desc":"[Express Dispatch] All allied Operators -50% Redeployment Time after each deployment","_h":"6d8r6d"},"aceffect_band_37":{"descRaw":"[Experimental Med. Sticks] When the battle begins, all allied Operators in the rightmost column of the field gain the following effect: Every attack has a 25% chance to grant 1 Shield (max 1 stack)","name":"Experimental Med. Sticks","desc":"[Experimental Med. Sticks] When the battle begins, all allied Operators in the rightmost column of the field gain the following effect: Every attack has a 25% chance to grant 1 Shield (max 1 stack)","_h":"issuis"},"aceffect_band_38":{"descRaw":"[Recycling] When a Ground Operator's skill ends, they grant 3 SP to 1 random Operator in the adjacent 4 tiles","name":"Recycling","desc":"[Recycling] When a Ground Operator's skill ends, they grant 3 SP to 1 random Operator in the adjacent 4 tiles","_h":"dik4di"},"aceffect_band_39":{"descRaw":"[Personal Power] All Operators deal Weakness damage (When dealing Physical or Arts damage, change damage type depending on the target's DEF and RES)","name":"Personal Power","desc":"[Personal Power] All Operators deal Weakness damage (When dealing Physical or Arts damage, change damage type depending on the target's DEF and RES)","_h":"49s549"},"aceffect_band_40":{"descRaw":"[Damazti Isomorphism] Obtain 1 special equipment Damazti Isomorph every 5 rounds\n<@ba.acrem> When equipped together with certain other equipment, the equipped Operator is treated as a member of a specific Alliance","name":"Damazti Isomorphism","desc":"[Damazti Isomorphism] Obtain 1 special equipment Damazti Isomorph every 5 rounds\n When equipped together with certain other equipment, the equipped Operator is treated as a member of a specific Alliance","_h":"7itzxc"},"aceffect_band_41":{"descRaw":"[Unstable Element] In Round 3, obtain special equipment Mutated Cells\n<@ba.acrem> After the battle ends, equipped Operator changes to a random Operator 1 Tier higher (up to Tier 6)","name":"Unstable Element","desc":"[Unstable Element] In Round 3, obtain special equipment Mutated Cells\n After the battle ends, equipped Operator changes to a random Operator 1 Tier higher (up to Tier 6)","_h":"qxxssd"},"aceffect_band_42":{"descRaw":"[Top Student] In Round 1, gain 1 special Operator that can deal Nervous Impairment, Burn, or Necrosis. This Operator also belongs to the Harmony Alliance: +1 Operator count to some Alliances","name":"Top Student","desc":"[Top Student] In Round 1, gain 1 special Operator that can deal Nervous Impairment, Burn, or Necrosis. This Operator also belongs to the Harmony Alliance: +1 Operator count to some Alliances","_h":"aibzai"},"aceffect_band_43":{"descRaw":"[Machine Assistance] 1 'Double Lids' appears on all battlefields\n<@ba.acrem><'Double Lids'> Can perform long-ranged Arts attacks and inflicts Fragile on enemy targets (Can be upgraded!)","name":"Machine Assistance","desc":"[Machine Assistance] 1 'Double Lids' appears on all battlefields\n<'Double Lids'> Can perform long-ranged Arts attacks and inflicts Fragile on enemy targets (Can be upgraded!)","_h":"3qm8gk"},"aceffect_band_44":{"descRaw":"[Indestructible] Start with 45 Life Points","name":"Indestructible","desc":"[Indestructible] Start with 45 Life Points","_h":"uof2uo"},"aceffect_band_45":{"descRaw":"[Inky Visage] Duplicate Operators on the field have +30% ATK\n[Painted into Reality] In Round 1, obtain Special Arts Dusk's Scroll\n<@ba.acrem> On use, can copy 1 Operator within use range (Includes that Operator's Elite status and carried Equipment)","name":"Inky Visage","desc":"[Inky Visage] Duplicate Operators on the field have +30% ATK\n[Painted into Reality] In Round 1, obtain Special Arts Dusk's Scroll\n On use, can copy 1 Operator within use range (Includes that Operator's Elite status and carried Equipment)","_h":"nwas06"},"aceffect_band_46":{"descRaw":"[Idle Teatime] Funds from Rounds 1 and 2 are temporarily held and released on Round 3; randomly obtain 1 Tier 2 Operator and 1 Tier 4 Operator during Round 3's Rest Phase","name":"Idle Teatime","desc":"[Idle Teatime] Funds from Rounds 1 and 2 are temporarily held and released on Round 3; randomly obtain 1 Tier 2 Operator and 1 Tier 4 Operator during Round 3's Rest Phase","_h":"218g21"},"aceffect_band_47":{"descRaw":"[Private Equity Fund] Upon entering Rest Phase on Rounds 1, 4, 7, 10, obtain 1 Knightly Savings\n<@ba.acrem> Destroyed when equipped and grants 1-6 Funds","name":"Private Equity Fund","desc":"[Private Equity Fund] Upon entering Rest Phase on Rounds 1, 4, 7, 10, obtain 1 Knightly Savings\n Destroyed when equipped and grants 1-6 Funds","_h":"c8qwni"},"aceffect_band_48":{"descRaw":"[Phylactery Secret] First 3 Operators defeated in battle will be revived immediately!","name":"Phylactery Secret","desc":"[Phylactery Secret] First 3 Operators defeated in battle will be revived immediately!","_h":"nk1unk"},"aceffect_band_49":{"descRaw":"['Mystery Customer'] From Round 5 onwards, some enemies you and your teammates encounter may be replaced with , , , or . Defeating them (even during Unite Phases) will grant 1 Funds","name":"'Mystery Customer'","desc":"['Mystery Customer'] From Round 5 onwards, some enemies you and your teammates encounter may be replaced with , , , or . Defeating them (even during Unite Phases) will grant 1 Funds","_h":"8znw8z"},"aceffect_band_50":{"descRaw":"[Slow Simmer] When Round 8 begins, if there is only 1 active Alliance, +36 stacks to it; otherwise +12 stacks to all active Alliances","name":"Slow Simmer","desc":"[Slow Simmer] When Round 8 begins, if there is only 1 active Alliance, +36 stacks to it; otherwise +12 stacks to all active Alliances","_h":"mrbvmr"},"aceffect_band_51":{"descRaw":"[Omamori's Blessing] When a round begins, trigger an Operator's 'When obtained' Attribute once (prioritizes the bottom-right-most Operator on map)","name":"Omamori's Blessing","desc":"[Omamori's Blessing] When a round begins, trigger an Operator's 'When obtained' Attribute once (prioritizes the bottom-right-most Operator on map)","_h":"wl9mwl"},"aceffect_band_52":{"descRaw":"[Substitute Doll] The first non-Elite Operator sold every round will instead switch into a random Operator from the Dispatch Center","name":"Substitute Doll","desc":"[Substitute Doll] The first non-Elite Operator sold every round will instead switch into a random Operator from the Dispatch Center","_h":"6bkl6b"},"aceffect_band_53":{"descRaw":"[Governing Order] When the battle begins, for every Elite Operator on the field, Elite Operators gain +10% ATK and HP","name":"Governing Order","desc":"[Governing Order] When the battle begins, for every Elite Operator on the field, Elite Operators gain +10% ATK and HP","_h":"plb2pl"},"aceffect_band_54":{"descRaw":"[Rally Directive] Upon entering Rest Phase on Round 4, 7, 10, and 13, obtain 1 Dispatch Module\n<@ba.acrem> Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Rally Directive","desc":"[Rally Directive] Upon entering Rest Phase on Round 4, 7, 10, and 13, obtain 1 Dispatch Module\n Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","_h":"vqurxi"},"aceffect_band_55":{"descRaw":"[Purified Condensation] Obtain 1 upgraded Doctor Hologram on Round 1\n<@ba.acrem>Upgraded Equippable by any Operator; immediately promotes Operator to an Elite Operator","name":"Purified Condensation","desc":"[Purified Condensation] Obtain 1 upgraded Doctor Hologram on Round 1\nUpgraded Equippable by any Operator; immediately promotes Operator to an Elite Operator","_h":"3xjb4z"},"aceffect_band_56":{"descRaw":"[Streetwise Ties] Obtain a random Operator from the Dispatch Center on even-numbered rounds","name":"Streetwise Ties","desc":"[Streetwise Ties] Obtain a random Operator from the Dispatch Center on even-numbered rounds","_h":"s794s7"},"aceffect_band_57":{"descRaw":"[Joint Advance] Obtain 1 Transmitter on rounds 8, 10, 12, and 14\n<@ba.acrem> Destroys equipped Operator when equipped and refreshes two slots in Dispatch Center, offering 2 Operators of the same Tier and pick one for free; the original Operator will be sent to your friend with the highest corresponding Alliance stack in the next round","name":"Joint Advance","desc":"[Joint Advance] Obtain 1 Transmitter on rounds 8, 10, 12, and 14\n Destroys equipped Operator when equipped and refreshes two slots in Dispatch Center, offering 2 Operators of the same Tier and pick one for free; the original Operator will be sent to your friend with the highest corresponding Alliance stack in the next round","_h":"sjk303"},"aceffect_band_58":{"descRaw":"[Work Quota] Every Operator purchased grants 1 extra Funds next round (Max 3 Funds per round)\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Work Quota","desc":"[Work Quota] Every Operator purchased grants 1 extra Funds next round (Max 3 Funds per round)\nStrategy may be flawed when some Operators are missing","_h":"txlmj1"},"aceffect_band_59":{"descRaw":"[Gang Activity] Every 6 active refreshes will grant you 1 Operator from a Tier not exceeding the Dispatch Center Level (Max 2 Operators per round)\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Gang Activity","desc":"[Gang Activity] Every 6 active refreshes will grant you 1 Operator from a Tier not exceeding the Dispatch Center Level (Max 2 Operators per round)\nStrategy may be flawed when some Operators are missing","_h":"jxowtl"},"aceffect_band_60":{"descRaw":"[Passing Down the Profit] Dispatch Center will offer two equipment during even-numbered rounds, and you can pick one for free; Sargon Alliance's effect changes to: After Sargon Operators use a skill, Operators in the surrounding 8 tiles will share the Operator's equipment effects (limited to Tier V and below) for 60 seconds\n<@ba.vdown>Strategy may be flawed when some Operators are missing","name":"Passing Down the Profit","desc":"[Passing Down the Profit] Dispatch Center will offer two equipment during even-numbered rounds, and you can pick one for free; Sargon Alliance's effect changes to: After Sargon Operators use a skill, Operators in the surrounding 8 tiles will share the Operator's equipment effects (limited to Tier V and below) for 60 seconds\nStrategy may be flawed when some Operators are missing","_h":"04kxpm"},"aceffect_band_61":{"descRaw":"[Field Medic] 1 Reserve Operator - Medic appears on each player's battlefield; if there are at least 2 Elite Operators when the battle begins, Reserve Operator turns into ","name":"Field Medic","desc":"[Field Medic] 1 Reserve Operator - Medic appears on each player's battlefield; if there are at least 2 Elite Operators when the battle begins, Reserve Operator turns into ","_h":"7k097k"},"aceffect_char_1":{"descRaw":"No related bonus","name":"Non-Elite","desc":"No related bonus","_h":"w21mw2"},"aceffect_char_2":{"descRaw":"ATK and DEF +5%","name":"Elite 1","desc":"ATK and DEF +5%","_h":"pd0spd"},"aceffect_char_3":{"descRaw":"ATK +10%, DEF and max HP +5%","name":"Elite 2","desc":"ATK +10%, DEF and max HP +5%","_h":"ql3pql"},"aceffect_char_4":{"descRaw":"ATK, DEF, and max HP +10%","name":"Elite 2 Lv.60","desc":"ATK, DEF, and max HP +10%","_h":"qvajqv"},"aceffect_enemy_1":{"descRaw":"All enemies gain Movement Speed <@ba.vup>+15%","name":"Forced March","desc":"All enemies gain Movement Speed +15%","_h":"jbbh2w"},"aceffect_enemy_2":{"descRaw":"All enemies gain Max HP <@ba.vup>+8%","name":"Supply Route","desc":"All enemies gain Max HP +8%","_h":"78a40b"},"aceffect_enemy_2_2":{"descRaw":"All enemies gain Max HP <@ba.vup>+20%","name":"Supply Route II","desc":"All enemies gain Max HP +20%","_h":"cugib5"},"aceffect_enemy_3":{"descRaw":"All enemies gain ATK <@ba.vup>+10%, Max HP <@ba.vup>+20%","name":"Breaching Gear","desc":"All enemies gain ATK +10%, Max HP +20%","_h":"jztk11"},"aceffect_enemy_4":{"descRaw":"All enemies gain ATK <@ba.vup>-20%, Max HP <@ba.vup>-20%","name":"Breaching Gear II","desc":"All enemies gain ATK -20%, Max HP -20%","_h":"x86m5o"},"aceffect_enemy_5":{"descRaw":"All enemies gain ATK <@ba.vup>-30%, Max HP <@ba.vup>-25%","name":"Breaching Gear III","desc":"All enemies gain ATK -30%, Max HP -25%","_h":"1yxhhy"},"allybuff_select_1":{"descRaw":"Obtain 2 pieces of Tier 1 equipment; also <@ba.vup>affects Teammates","name":"Equip","desc":"Obtain 2 pieces of Tier 1 equipment; also affects Teammates","_h":"fh0pe6"},"allybuff_select_2_1":{"descRaw":"<@ba.vup>+8 stacks to Ægir, Raid, and Durable Alliances; also <@ba.vup>affects Teammates","name":"Skadi's Pledge","desc":"+8 stacks to Ægir, Raid, and Durable Alliances; also affects Teammates","_h":"vcmlba"},"allybuff_select_2_2":{"descRaw":"<@ba.vup>+10 stacks to Yan and Investor Alliances; also <@ba.vup>affects Teammates","name":"Swire's Pledge","desc":"+10 stacks to Yan and Investor Alliances; also affects Teammates","_h":"bcd1rg"},"allybuff_select_2_3":{"descRaw":"<@ba.vup>+8 stacks to Victoria, Foresight, and Resilient Alliances; also <@ba.vup>affects Teammates","name":"Bagpipe's Pledge","desc":"+8 stacks to Victoria, Foresight, and Resilient Alliances; also affects Teammates","_h":"smfk84"},"allybuff_select_2_4":{"descRaw":"<@ba.vup>+8 stacks to Kjerag, Investor, and Swift Alliances; also <@ba.vup>affects Teammates","name":"SilverAsh's Pledge","desc":"+8 stacks to Kjerag, Investor, and Swift Alliances; also affects Teammates","_h":"pg3zoi"},"allybuff_select_2_5":{"descRaw":"<@ba.vup>+10 stacks to Laterano and Arcane Alliances; also <@ba.vup>affects Teammates","name":"Mostima's Pledge","desc":"+10 stacks to Laterano and Arcane Alliances; also affects Teammates","_h":"ugc7ak"},"allybuff_select_2_6":{"descRaw":"<@ba.vup>+10 stacks to Sargon and Precision Alliances; also <@ba.vup>affects Teammates","name":"Titi's Pledge","desc":"+10 stacks to Sargon and Precision Alliances; also affects Teammates","_h":"ttw7yx"},"allybuff_select_2_7":{"descRaw":"<@ba.vup>+12 stacks to Kazimierz Alliance; also <@ba.vup>affects Teammates","name":"Młynar's Pledge","desc":"+12 stacks to Kazimierz Alliance; also affects Teammates","_h":"n44wqw"},"allybuff_select_2_8":{"descRaw":"<@ba.vup>+10 stacks to Siracusa and Raid Alliances; also <@ba.vup>affects Teammates","name":"Texas's Pledge","desc":"+10 stacks to Siracusa and Raid Alliances; also affects Teammates","_h":"nex4mu"},"allybuff_select_3":{"descRaw":"Obtain <@ba.vup>1 Funds; also <@ba.vup>affects Teammates","name":"Wealth","desc":"Obtain 1 Funds; also affects Teammates","_h":"cc4rs6"},"allybuff_select_4":{"descRaw":"Next <@ba.vup>2 refreshes are free (can stack); also <@ba.vup>affects Teammates","name":"Supply","desc":"Next 2 refreshes are free (can stack); also affects Teammates","_h":"1xcrmd"},"allybuff_select_5":{"descRaw":"The next equipment <@ba.vup>you buy will already be upgraded","name":"Preparation","desc":"The next equipment you buy will already be upgraded","_h":"f37wvs"},"allybuff_select_6":{"descRaw":"The next Operator <@ba.vup>you buy will already be promoted to Elite","name":"Promotion","desc":"The next Operator you buy will already be promoted to Elite","_h":"ajncwg"},"allybuff_select_7_1":{"descRaw":"<@ba.vup>You obtain a random Yan Alliance Operator","name":"Yanese Support","desc":"You obtain a random Yan Alliance Operator","_h":"4hrc8u"},"allybuff_select_7_2":{"descRaw":"<@ba.vup>You obtain a random Kjerag Alliance Operator","name":"Kjeragi Support","desc":"You obtain a random Kjerag Alliance Operator","_h":"ri2sqh"},"allybuff_select_7_3":{"descRaw":"<@ba.vup>You obtain a random Sargon Alliance Operator","name":"Sargonian Support","desc":"You obtain a random Sargon Alliance Operator","_h":"maw491"},"allybuff_select_7_4":{"descRaw":"<@ba.vup>You obtain a random Siracusa Alliance Operator","name":"Siracusan Support","desc":"You obtain a random Siracusa Alliance Operator","_h":"v9kdde"},"allybuff_select_7_5":{"descRaw":"<@ba.vup>You obtain a random Kazimierz Alliance Operator","name":"Kazimierzian Support","desc":"You obtain a random Kazimierz Alliance Operator","_h":"f2qypn"},"allybuff_select_7_6":{"descRaw":"<@ba.vup>You obtain a random Lateran Alliance Operator","name":"Lateran Support","desc":"You obtain a random Lateran Alliance Operator","_h":"nlhdly"},"allybuff_select_7_7":{"descRaw":"<@ba.vup>You obtain a random Victoria Alliance Operator","name":"Victorian Support","desc":"You obtain a random Victoria Alliance Operator","_h":"5kl4dp"},"allybuff_select_7_8":{"descRaw":"<@ba.vup>You obtain a random Ægir Alliance Operator","name":"Ægirian Support","desc":"You obtain a random Ægir Alliance Operator","_h":"1ks6mn"},"allybuff_select_11":{"descRaw":"Allied units recover 50 HP on taking damage; also <@ba.vup>affects Teammates","name":"Recovery","desc":"Allied units recover 50 HP on taking damage; also affects Teammates","_h":"25njgg"},"allybuff_select_13":{"descRaw":"If there are at least 3 units on the Bench when Rest Phase ends, all allied Operators ignore 20 RES; also <@ba.vup>affects Teammates","name":"Firepower","desc":"If there are at least 3 units on the Bench when Rest Phase ends, all allied Operators ignore 20 RES; also affects Teammates","_h":"p1j7xk"},"allybuff_select_14":{"descRaw":"When the battle starts, if there are at least 3 Operators deployed in a row on the battlefield, all allied Operators -50% Redeployment Time; also <@ba.vup>affects Teammates","name":"Draft","desc":"When the battle starts, if there are at least 3 Operators deployed in a row on the battlefield, all allied Operators -50% Redeployment Time; also affects Teammates","_h":"hos0pl"},"allybuff_select_18":{"descRaw":"When allied Operators have full HP, gain +30% ATK and DEF; also <@ba.vup>affects Teammates","name":"Flawless","desc":"When allied Operators have full HP, gain +30% ATK and DEF; also affects Teammates","_h":"icpqld"},"allybuff_select_19":{"descRaw":"If the Bench is empty when Rest Phase ends, all allied Operators ignore 30% DEF; also <@ba.vup>affects Teammates","name":"Acute","desc":"If the Bench is empty when Rest Phase ends, all allied Operators ignore 30% DEF; also affects Teammates","_h":"rn8yb2"},"bondeffect_arcane":{"descRaw":"When [Arcane] Operators deal Arts damage to enemies, the target takes <@ba.vup>{0:0%} increased Arts damage <@ba.acrem>(affected by no. of stacks) for 3 seconds\n3 different [Arcane] Operators on field> [Arcane] Operators deal <@ba.vup>{1:0%} more damage to enemies with less than 50% HP <@ba.acrem>(affected by no. of stacks)","name":"Arcane","desc":"When [Arcane] Operators deal Arts damage to enemies, the target takes {0:0%} increased Arts damage (affected by no. of stacks) for 3 seconds\n [Arcane] Operators deal {1:0%} more damage to enemies with less than 50% HP (affected by no. of stacks)","_h":"adfx9y"},"bondeffect_deput":{"descRaw":"All Operators <@ba.vup>+{0:0%} DEF <@ba.acrem>(affected by no. of stacks), and <@ba.vup>-30% Redeployment Time\nWhen Rest Phase ends, <@ba.vup>+2 stacks to all active Alliances\n3 different [Aid] Operators on the field> <@ba.vup>+4 stacks instead","name":"Aid","desc":"All Operators +{0:0%} DEF (affected by no. of stacks), and -30% Redeployment Time\nWhen Rest Phase ends, +2 stacks to all active Alliances\n +4 stacks instead","_h":"e6yl9j"},"bondeffect_egir":{"descRaw":"[Ægir] Operators <@ba.vup>+{0:0%}<@ba.acrem> HP (affected by no. of stacks)\nAt the start of battle, [Ægir] Operators will devour the Operator on the tile in front them, dealing <@ba.vdown>5000 Physical damage to the Operator and gaining their <@ba.vup>base ATK and <@ba.vup>Block, while adding [Ægir] stacks equal to the devoured Operator's Tier <@ba.acrem>(among [Ægir] Operators, those positioned further up or to the left are prioritized to start a devour)\n5 different [Ægir] Operators on field> the first 3 defeated will <@ba.vup>immediately revive","name":"Ægir","desc":"[Ægir] Operators +{0:0%} HP (affected by no. of stacks)\nAt the start of battle, [Ægir] Operators will devour the Operator on the tile in front them, dealing 5000 Physical damage to the Operator and gaining their base ATK and Block, while adding [Ægir] stacks equal to the devoured Operator's Tier (among [Ægir] Operators, those positioned further up or to the left are prioritized to start a devour)\n the first 3 defeated will immediately revive","_h":"ghmqbs"},"bondeffect_empty":{"descRaw":"All Operators take <@ba.vup>-20% Physical and Arts damage; [Assist Operators] deal <@ba.vup>120% damage; Elite [Assist Operators] deal <@ba.vup>140% damage","name":"Assist Operator","desc":"All Operators take -20% Physical and Arts damage; [Assist Operators] deal 120% damage; Elite [Assist Operators] deal 140% damage","_h":"hjni4c"},"bondeffect_indom":{"descRaw":"When a <@ba.vup>Ground Operator is defeated, there is a <@ba.vup>{0:0%} chance they will immediately redeploy <@ba.acrem>(affected by no. of stacks)\n3 different [Resilient] Operators on the field> <@ba.vup>Ground Operators grant <@ba.vup>+5 SP to all Operators on field when defeated","name":"Resilient","desc":"When a Ground Operator is defeated, there is a {0:0%} chance they will immediately redeploy (affected by no. of stacks)\n Ground Operators grant +5 SP to all Operators on field when defeated","_h":"380w91"},"bondeffect_invest":{"descRaw":"Operators' 'When obtained' Attributes trigger twice\n100 stacks> 'when obtained' Attributes trigger 3 times instead\n[Investor] Operators on Bench can also count toward activating this Alliance","name":"Investor","desc":"Operators' 'When obtained' Attributes trigger twice\n 'when obtained' Attributes trigger 3 times instead\n[Investor] Operators on Bench can also count toward activating this Alliance","_h":"kv6afa"},"bondeffect_kazimierz":{"descRaw":"On every Operator deployment, [Kazimierz] Operators gain +20% ATK (up to <@ba.vup>+{0:0%})<@ba.acrem>(affected by no. of stacks)\n6 different [Kazimierz] Operators on field> [Kazimierz] Operators blocking enemies deal <@ba.vup>120% of ATK as True Damage and inflict <@ba.vup>0.1 seconds of Stun on nearby enemies every 2 seconds; otherwise, dealing damage also deals extra <@ba.vup>30% ATK as True damage when not blocking an enemy","name":"Kazimierz","desc":"On every Operator deployment, [Kazimierz] Operators gain +20% ATK (up to +{0:0%})(affected by no. of stacks)\n [Kazimierz] Operators blocking enemies deal 120% of ATK as True Damage and inflict 0.1 seconds of Stun on nearby enemies every 2 seconds; otherwise, dealing damage also deals extra 30% ATK as True damage when not blocking an enemy","_h":"cvkecs"},"bondeffect_kjerag":{"descRaw":"[Kjerag] Operators deal <@ba.vup>125% damage, or <@ba.vup>{0:0%} damage to Cold and Frozen enemies <@ba.acrem>(affected by no. of stacks)\n6 different [Kjerag] Operators on field> A cold wind sweeps across battlefield every 25 seconds, inflicting Cold on enemies for <@ba.vup>{1:0} seconds <@ba.acrem>(affected by no. of stacks)","name":"Kjerag","desc":"[Kjerag] Operators deal 125% damage, or {0:0%} damage to Cold and Frozen enemies (affected by no. of stacks)\n A cold wind sweeps across battlefield every 25 seconds, inflicting Cold on enemies for {1:0} seconds (affected by no. of stacks)","_h":"4bh4e9"},"bondeffect_laterano":{"descRaw":"[Laterano] Operators gain <@ba.vup>+{0:0%} ammo on skill activation <@ba.acrem>(affected by no. of stacks)\n6 different [Laterano] Operators on field> All [Laterano] Operators +4% ATK whenever any [Laterano] Operator spends 1 ammo, max <@ba.vup>+200%","name":"Laterano","desc":"[Laterano] Operators gain +{0:0%} ammo on skill activation (affected by no. of stacks)\n All [Laterano] Operators +4% ATK whenever any [Laterano] Operator spends 1 ammo, max +200%","_h":"liadir"},"bondeffect_mani":{"descRaw":"When activated, <@ba.vup>+1 Operator count to all Core Alliances on field, and [Harmony] Operators also <@ba.vup>gain effects from said activated Alliances","name":"Harmony","desc":"When activated, +1 Operator count to all Core Alliances on field, and [Harmony] Operators also gain effects from said activated Alliances","_h":"3z96y3"},"bondeffect_mira":{"descRaw":"On Dispatch Center refresh, there is a <@ba.vup>{0:0%}<@ba.acrem> chance (affected by no. of stacks) the next refresh will be free\n100 stacks> Gain <@ba.vup>20 Funds\n[Marvel] Operators on Bench can also count toward activating this Alliance","name":"Marvel","desc":"On Dispatch Center refresh, there is a {0:0%} chance (affected by no. of stacks) the next refresh will be free\n Gain 20 Funds\n[Marvel] Operators on Bench can also count toward activating this Alliance","_h":"td3x0k"},"bondeffect_preci":{"descRaw":"[Precision] Operators gain <@ba.vup>+{0:0%} ATK<@ba.acrem>(affected by no. of stacks)\n3 different [Precision] Operators on field> Buff affects all [Precision] and Ranged Operators, and attacks ignore <@ba.vup>30% DEF and RES","name":"Precision","desc":"[Precision] Operators gain +{0:0%} ATK(affected by no. of stacks)\n Buff affects all [Precision] and Ranged Operators, and attacks ignore 30% DEF and RES","_h":"n5dx7q"},"bondeffect_raid":{"descRaw":"If a [Raid] Operator's skill is ready or does not attack for 10 seconds, and has no enemies in their attack range, they will redeploy near a ground enemy without losing SP, and gain <@ba.vup>+{0:0%} ATK and HP during the skill duration<@ba.acrem> (affected by no. of stacks)\n50 stacks> All Operators gain <@ba.vup>+50 ASPD","name":"Raid","desc":"If a [Raid] Operator's skill is ready or does not attack for 10 seconds, and has no enemies in their attack range, they will redeploy near a ground enemy without losing SP, and gain +{0:0%} ATK and HP during the skill duration (affected by no. of stacks)\n All Operators gain +50 ASPD","_h":"ypdfou"},"bondeffect_sargon":{"descRaw":"When any [Sargon] Operator activates a skill, all [Sargon] Operators +12 ASPD (up to <@ba.vup>+300), lasting for <@ba.vup>{0:0} seconds <@ba.acrem>(affected by no. of stacks)\n6 different [Sargon] Operators on field> Skill activations will also cause all [Sargon] Operators to gain +12% ATK (up to <@ba.vup>+300%) \n<@ba.acrem>When using Narantuya's Strategy, the effect changes","name":"Sargon","desc":"When any [Sargon] Operator activates a skill, all [Sargon] Operators +12 ASPD (up to +300), lasting for {0:0} seconds (affected by no. of stacks)\n Skill activations will also cause all [Sargon] Operators to gain +12% ATK (up to +300%) \nWhen using Narantuya's Strategy, the effect changes","_h":"vpigon"},"bondeffect_siracusa":{"descRaw":"[Siracusa] Operators gain <@ba.vup>+{0:0} ASPD on deployment for <@ba.vup>{1:0} seconds<@ba.acrem>(affected by no. of stacks)\n6 different [Siracusa] Operators on field> [Siracusa] Operators also gain Invisibility for the same amount of time; and have a 3% chance to deal <@ba.vup>{2:0} <@ba.acrem>(affected by no. of stacks) True damage and inflict <@ba.vup>Fear for 3 seconds when Invisible, or for 10 seconds after losing Invisibility","name":"Siracusa","desc":"[Siracusa] Operators gain +{0:0} ASPD on deployment for {1:0} seconds(affected by no. of stacks)\n [Siracusa] Operators also gain Invisibility for the same amount of time; and have a 3% chance to deal {2:0} (affected by no. of stacks) True damage and inflict Fear for 3 seconds when Invisible, or for 10 seconds after losing Invisibility","_h":"h995em"},"bondeffect_skillful":{"descRaw":"[Agile] Operators and Operators in the 4 adjacent tiles around them gain <@ba.vup>+{0:0} ASPD<@ba.acrem> (affected by no. of stacks)\n40 stacks> Effect range increased to 8 tiles surrounding [Agile] Operators","name":"Agile","desc":"[Agile] Operators and Operators in the 4 adjacent tiles around them gain +{0:0} ASPD (affected by no. of stacks)\n Effect range increased to 8 tiles surrounding [Agile] Operators","_h":"n7lxa7"},"bondeffect_solo":{"descRaw":"1 [Solo] Operator on field> The [Solo] Operator gains <@ba.vup>+60% ATK and HP; and <@ba.vup>+15<@ba.acrem> SP on deployment (Effect disabled with 2 or more different [Solo] Operators on the field)","name":"Solo","desc":" The [Solo] Operator gains +60% ATK and HP; and +15 SP on deployment (Effect disabled with 2 or more different [Solo] Operators on the field)","_h":"0mytjp"},"bondeffect_stead":{"descRaw":"All Operators gain <@ba.vup>+{0:0%} HP<@ba.acrem> (affected by no. of stacks)\n3 different [Durable] Operators on field> Whenever a non-[Durable] Operator takes damage, <@ba.vup>40% of that damage is split among all [Durable] Operators on field. [Durable] Operators taking damage inflict <@ba.vup>{1:0} Arts Damage <@ba.acrem>(affected by no. of stacks, triggers up to once every 0.2 seconds) and <@ba.vup>40% Fragile for 5 seconds onto their attacker","name":"Durable","desc":"All Operators gain +{0:0%} HP (affected by no. of stacks)\n Whenever a non-[Durable] Operator takes damage, 40% of that damage is split among all [Durable] Operators on field. [Durable] Operators taking damage inflict {1:0} Arts Damage (affected by no. of stacks, triggers up to once every 0.2 seconds) and 40% Fragile for 5 seconds onto their attacker","_h":"2n4fv2"},"bondeffect_sunt":{"descRaw":"2 Elite Operators on field> Elite Operators gain <@ba.vup>+30% ATK\n5 Elite Operators on field> Elite Operators have <@ba.vup>-30% SP Cost\n<@ba.acrem>(All Elite Operators can activate this Alliance)","name":"Elite","desc":" Elite Operators gain +30% ATK\n Elite Operators have -30% SP Cost\n(All Elite Operators can activate this Alliance)","_h":"meiwx0"},"bondeffect_swift":{"descRaw":"[Swift] Operators have a <@ba.vup>{0:0%} chance when their skill ends to immediately recover <@ba.vup>12 SP <@ba.acrem>(affected by no. of stacks)\n40 stacks> All Operators have the same chance to recover <@ba.vup>15 SP when their skill ends","name":"Swift","desc":"[Swift] Operators have a {0:0%} chance when their skill ends to immediately recover 12 SP (affected by no. of stacks)\n All Operators have the same chance to recover 15 SP when their skill ends","_h":"ubb92h"},"bondeffect_victoria":{"descRaw":"[Victoria] Operators <@ba.vup>carrying equipment deal <@ba.vup>{0:0%} damage <@ba.acrem>(affected by no. of stacks)\n25 stacks> Obtain a random special Victorian Hammer\n6 different [Victoria] Operators on field> All [Victoria] Operators carrying equipment gain <@ba.vup>+50% ATK, or <@ba.vup>+80% ATK if equipment is upgraded","name":"Victoria","desc":"[Victoria] Operators carrying equipment deal {0:0%} damage (affected by no. of stacks)\n Obtain a random special Victorian Hammer\n All [Victoria] Operators carrying equipment gain +50% ATK, or +80% ATK if equipment is upgraded","_h":"94usri"},"bondeffect_visi":{"descRaw":"10 stacks> Gain <@ba.vup>+2 Funds\n80 stacks (first-time only)> Foresight Operators cost -1 Funds permanently\n150 stacks (first-time only)> Above effect changes to: All Dispatch Center Operators cost -1 Funds permanently\n[Foresight] Operators on Bench can also count toward activating this Alliance","name":"Foresight","desc":" Gain +2 Funds\n Foresight Operators cost -1 Funds permanently\n Above effect changes to: All Dispatch Center Operators cost -1 Funds permanently\n[Foresight] Operators on Bench can also count toward activating this Alliance","_h":"ozzi4x"},"bondeffect_yan":{"descRaw":"[Yan] Operators <@ba.vup>+{0:0%} ATK <@ba.acrem>(affected by no. of stacks)\n6 different [Yan] Operators on field> At the start of battle, 'Yan's Protection' is summoned with ATK and HP equal to 30% of the total ATK and HP of all [Yan] Operators on the field; can attack 3 targets simultaneously; attacks deal 20% of <@ba.vup>ATK as <@ba.vup>Burn and cause nearby enemies to suffer 20% <@ba.vup>Elemental Fragility; periodically uses 'Cleansing Flame'\n9 different [Yan] Operators on field> summons 2 'Yan's Protection' with 1.5x ATK and 90% damage reduction","name":"Yan","desc":"[Yan] Operators +{0:0%} ATK (affected by no. of stacks)\n At the start of battle, 'Yan's Protection' is summoned with ATK and HP equal to 30% of the total ATK and HP of all [Yan] Operators on the field; can attack 3 targets simultaneously; attacks deal 20% of ATK as Burn and cause nearby enemies to suffer 20% Elemental Fragility; periodically uses 'Cleansing Flame'\n summons 2 'Yan's Protection' with 1.5x ATK and 90% damage reduction","_h":"15v5zb"},"eff_acarm040":{"descRaw":"Gains <@ba.vup>+5% ATK on skill activation (stacks up to 10 times)","name":"Yanese Dagger","desc":"Gains +5% ATK on skill activation (stacks up to 10 times)","_h":"u6apxj"},"eff_acarm041":{"descRaw":"ATK <@ba.vup>+15%","name":"Victorian Hammer","desc":"ATK +15%","_h":"jx8t86"},"eff_acarm042":{"descRaw":"ATK <@ba.vup>+30%; When dealing Arts damage, deals an additional <@ba.vup>10% as <$ba.dt.burning2>Burn","name":"Burning Victorian Hammer","desc":"ATK +30%; When dealing Arts damage, deals an additional 10% as Burn","_h":"6ulcs7"},"eff_acarm043":{"descRaw":"ATK <@ba.vup>+25%; Upon taking lethal damage for the first time only, HP will not go below <@ba.vup>1, lasting for 8 seconds","name":"Durable Victorian Hammer","desc":"ATK +25%; Upon taking lethal damage for the first time only, HP will not go below 1, lasting for 8 seconds","_h":"ra250c"},"eff_acarm044":{"descRaw":"ATK <@ba.vup>+25%, ASPD <@ba.vup>+30","name":"Speedy Victorian Hammer","desc":"ATK +25%, ASPD +30","_h":"l17ch3"},"eff_acarm045":{"descRaw":"ATK <@ba.vup>+20%; If equipped by a Ground Operator, the Operator has 10% chance of inflicting <$ba.tremble>Frighten for 2s when dealing damage","name":"Frightening Victorian Hammer","desc":"ATK +20%; If equipped by a Ground Operator, the Operator has 10% chance of inflicting Frighten for 2s when dealing damage","_h":"kya0bc"},"eff_acarm046":{"descRaw":"ATK <@ba.vup>+40%, ASPD <@ba.vdown>-10","name":"Ægirian Blade","desc":"ATK +40%, ASPD -10","_h":"pcyyc3"},"eff_acarm047":{"descRaw":"DEF <@ba.vup>+20%","name":"Durable Shield","desc":"DEF +20%","_h":"78n1x3"},"eff_acarm048":{"descRaw":"RES <@ba.vup>+20; attacks Silence the target for <@ba.vup>5s","name":"Arcane Arts Circle","desc":"RES +20; attacks Silence the target for 5s","_h":"c8mvte"},"eff_acarm049":{"descRaw":"<@ba.vup>+25% HP; if there is no Operator in the tile ahead on deployment, <@ba.vup>+15% more HP","name":"Goliath Helmet","desc":"+25% HP; if there is no Operator in the tile ahead on deployment, +15% more HP","_h":"2fjg0f"},"eff_acarm050":{"descRaw":"SP recovery rate <@ba.vup>+0.15/s","name":"Sargonian Teaspresso","desc":"SP recovery rate +0.15/s","_h":"bpz9h4"},"eff_acarm051":{"descRaw":"On Deployment, <@ba.vup>+3 SP; for every different Operator in the same Alliance, <@ba.vup>+3 more SP","name":"Quick Combat Rations","desc":"On Deployment, +3 SP; for every different Operator in the same Alliance, +3 more SP","_h":"0gutys"},"eff_acarm052":{"descRaw":"Each time this unit deals damage or heals, gains ASPD <@ba.vup>+1 for this battle, up to 60 stacks","name":"Miniature Accelerator","desc":"Each time this unit deals damage or heals, gains ASPD +1 for this battle, up to 60 stacks","_h":"ybx7ds"},"eff_acarm053":{"descRaw":"Attacks ignore <@ba.vup>25% RES","name":"Laser Sighter","desc":"Attacks ignore 25% RES","_h":"1fzx0o"},"eff_acarm054":{"descRaw":"More likely to be attacked, <@ba.vup>+40% HP","name":"Buzzer","desc":"More likely to be attacked, +40% HP","_h":"nty6hq"},"eff_acarm055":{"descRaw":"On taking damage for the first time, gains <$ba.invisible>Invisibility for 15 seconds","name":"Disguise Outfit","desc":"On taking damage for the first time, gains Invisibility for 15 seconds","_h":"ikzzt1"},"eff_acarm056":{"descRaw":"<@ba.vup>-30% Redeployment Time, <@ba.vdown>-30% HP","name":"Tough Launcher","desc":"-30% Redeployment Time, -30% HP","_h":"q9ofa4"},"eff_acarm057":{"descRaw":"When ammo-type skills have 1 bullet left, there is 50% chance of recovering 40% ammo (Triggers up to 3 times per deployment)","name":"Lateran Clip","desc":"When ammo-type skills have 1 bullet left, there is 50% chance of recovering 40% ammo (Triggers up to 3 times per deployment)","_h":"hd6zhd"},"eff_acarm058":{"descRaw":"Dealing damage has 3% chance to inflict 1 stack of <$ba.palsy>Paralysis on target","name":"Teargas Can","desc":"Dealing damage has 3% chance to inflict 1 stack of Paralysis on target","_h":"g45s79"},"eff_acarm059":{"descRaw":"When HP is greater than 70%, Operator is immune to <$ba.stun>Stun, <$ba.frozen>Frozen, and other special statuses","name":"Concentrated Smelling Salts","desc":"When HP is greater than 70%, Operator is immune to Stun, Frozen, and other special statuses","_h":"j6dwf2"},"eff_acarm060":{"descRaw":"When blocking enemies, takes <@ba.vup>40% less damage from enemies not blocked by this unit","name":"Riot Shield","desc":"When blocking enemies, takes 40% less damage from enemies not blocked by this unit","_h":"68snv1"},"eff_acarm061":{"descRaw":"Heals have 10% chance to grant 1 stack of <$ba.shield>Shield to the target (Max 1 stack)","name":"Protection Drone","desc":"Heals have 10% chance to grant 1 stack of Shield to the target (Max 1 stack)","_h":"0xolay"},"eff_acarm062":{"descRaw":"Dealing damage has 12% chance of inflicting <$ba.cold>Cold on the target for 1.5s","name":"Kjeragi Nevermeltice","desc":"Dealing damage has 12% chance of inflicting Cold on the target for 1.5s","_h":"y1deqn"},"eff_acarm063":{"descRaw":"Damage dealt to targets 3 or more tiles away increases by <@ba.vup>30%","name":"Precision Scope","desc":"Damage dealt to targets 3 or more tiles away increases by 30%","_h":"39tfia"},"eff_acarm064":{"descRaw":"For 10 seconds after every deployment, dealing damage inflicts 2 seconds of <$ba.stun>Stun","name":"Raid Grenade","desc":"For 10 seconds after every deployment, dealing damage inflicts 2 seconds of Stun","_h":"azrhgj"},"eff_acarm065":{"descRaw":"For every target hit by an attack, recovers <@ba.vup>2% Max HP","name":"Dormant Heir","desc":"For every target hit by an attack, recovers 2% Max HP","_h":"ddzc2i"},"eff_acarm066":{"descRaw":"Destroyed when equipped and grants <@ba.vup>1 Funds","name":"Alliance Coin","desc":"Destroyed when equipped and grants 1 Funds","_h":"1by0c6"},"eff_acarm067":{"descRaw":"<@ba.vup>+30% ATK, and when dealing Physical or Arts damage, damage type turns into <$ba.weaknessatk>Weakness damage","name":"Bimodule Robotic Arm","desc":"+30% ATK, and when dealing Physical or Arts damage, damage type turns into Weakness damage","_h":"kupuxg"},"eff_acarm068":{"descRaw":"When defeated in battle, immediately revive (<@ba.vup>once per battle)","name":"M3 Cocoon Shell","desc":"When defeated in battle, immediately revive (once per battle)","_h":"5xo08c"},"eff_acarm069":{"descRaw":"Destroyed when equipped, and if you have at least two of this non-Elite Operator, obtain a third copy; otherwise obtain 1 random non-Elite Operator from the same Alliance","name":"Mimic Matter","desc":"Destroyed when equipped, and if you have at least two of this non-Elite Operator, obtain a third copy; otherwise obtain 1 random non-Elite Operator from the same Alliance","_h":"uckcuc"},"eff_acarm070":{"descRaw":"Destroyed when equipped and increases Deployment Limit to 9","name":"HR File","desc":"Destroyed when equipped and increases Deployment Limit to 9","_h":"spncsp"},"eff_acarm071":{"descRaw":"Equippable by any Operator; destroyed at the start of the next round and promotes the Operator to an Elite Operator","name":"Doctor Hologram","desc":"Equippable by any Operator; destroyed at the start of the next round and promotes the Operator to an Elite Operator","_h":"fjvgfj"},"eff_acarm072":{"descRaw":"After the battle ends, equipped Operator changes to a random Operator 1 Tier higher","name":"Mutated Cells","desc":"After the battle ends, equipped Operator changes to a random Operator 1 Tier higher","_h":"yx1cyx"},"eff_acarm073":{"descRaw":"Equipped Operator gains an extra Alliance (based on the other Equipment)\n<@ba.acrem>Details can be checked in Equipment's Talent tab during simulations","name":"Damazti Isomorph","desc":"Equipped Operator gains an extra Alliance (based on the other Equipment)\nDetails can be checked in Equipment's Talent tab during simulations","_h":"1apo0g"},"eff_acarm074":{"descRaw":"For every 8 Operators sold, obtain an additional copy of a non-Elite Operator from the same Alliance as the equipping Operator (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Commercial Packaging Plan","desc":"For every 8 Operators sold, obtain an additional copy of a non-Elite Operator from the same Alliance as the equipping Operator (Operator Tier cannot exceed the current Dispatch Center Level)","_h":"6juq6j"},"eff_acarm075":{"descRaw":"Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Dispatch Module","desc":"Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","_h":"2sbu2s"},"eff_acarm076":{"descRaw":"<@ba.vup>+40% ATK; If equipped by a [Laterano] Operator, the Operator gains a 35% chance to fire an extra bullet at an enemy within Attack Range, dealing <@ba.vup>150% ATK as Physical damage\n<@ba.acrem>If 'Lateran Clip' is also equipped by the [Laterano] Operator, bullet deals <@ba.vup>300% ATK instead","name":"Gun-Knight's Might","desc":"+40% ATK; If equipped by a [Laterano] Operator, the Operator gains a 35% chance to fire an extra bullet at an enemy within Attack Range, dealing 150% ATK as Physical damage\nIf 'Lateran Clip' is also equipped by the [Laterano] Operator, bullet deals 300% ATK instead","_h":"oenpnn"},"eff_acarm077":{"descRaw":"<@ba.vup>+45% HP; If equipped by a [Yan] Operator, gain <@ba.vup>+25 ASPD for every Operator obtained this round before battle begins (Max 3 stacks)\n<@ba.acrem>If 'Yanese Dagger' is also equipped by the [Yan] Operator, <@ba.vup>+2 Funds whenever you obtain an Operator (Max 3 times per round)","name":"Tianshi's Cauldron","desc":"+45% HP; If equipped by a [Yan] Operator, gain +25 ASPD for every Operator obtained this round before battle begins (Max 3 stacks)\nIf 'Yanese Dagger' is also equipped by the [Yan] Operator, +2 Funds whenever you obtain an Operator (Max 3 times per round)","_h":"yr3e5i"},"eff_acarm078":{"descRaw":"Gain <@ba.vup>180 <$ba.dmgresistance>Damage Reduction; If equipped by an [Ægir] Operator, deals <@ba.vup>50% of equipped Operator's ATK as Arts damage to damage source when damage is taken (Triggers up to once every 0.5s)\n<@ba.acrem>If 'Ægirian Blade' is also equipped by the [Ægir] Operator, deal an additional <@ba.vup>50% of equipped Operator's ATK as Arts damage when damage is taken (Triggers up to once every 0.5s)","name":"Trench Test Subject","desc":"Gain 180 Damage Reduction; If equipped by an [Ægir] Operator, deals 50% of equipped Operator's ATK as Arts damage to damage source when damage is taken (Triggers up to once every 0.5s)\nIf 'Ægirian Blade' is also equipped by the [Ægir] Operator, deal an additional 50% of equipped Operator's ATK as Arts damage when damage is taken (Triggers up to once every 0.5s)","_h":"y88uzm"},"eff_acarm079":{"descRaw":"<@ba.vup>+35 ASPD; If equipped by a [Victoria] Operator, the Operator gains effects of all Victorian Hammers on the field\n<@ba.acrem>If any 'Victorian Hammer' is also equipped by the [Victoria] Operator, effects of this 'Victorian Hammer' are doubled","name":"Steam Heart","desc":"+35 ASPD; If equipped by a [Victoria] Operator, the Operator gains effects of all Victorian Hammers on the field\nIf any 'Victorian Hammer' is also equipped by the [Victoria] Operator, effects of this 'Victorian Hammer' are doubled","_h":"am5g8v"},"eff_acarm102":{"descRaw":"<@ba.vup>+30 RES; If equipped by a [Kjerag] Operator, enemies within Attack Range that are <$ba.cold>Cold or <$ba.frozen>Frozen take <@ba.vup>30% of equipped Operator's ATK as Arts damage per second\n<@ba.acrem>If 'Kjeragi Nevermeltice' is also equipped by the [Kjerag] Operator, the Arts damage dealt per second increases to <@ba.vup>100% ATK","name":"Kjeragandr's Tears","desc":"+30 RES; If equipped by a [Kjerag] Operator, enemies within Attack Range that are Cold or Frozen take 30% of equipped Operator's ATK as Arts damage per second\nIf 'Kjeragi Nevermeltice' is also equipped by the [Kjerag] Operator, the Arts damage dealt per second increases to 100% ATK","_h":"ha0o4h"},"eff_acarm103":{"descRaw":"At the start of battle, <@ba.vup>+30 Starting SP; If equipped by a [Sargon] Operator, the Operator recovers <@ba.vup>30 SP when skill ends for the first time\n<@ba.acrem>If 'Sargonian Teaspresso' is also equipped by the [Sargon] Operator, every skill activation grants <@ba.vup>3 SP to all [Sargon] Operators","name":"Desert Compass","desc":"At the start of battle, +30 Starting SP; If equipped by a [Sargon] Operator, the Operator recovers 30 SP when skill ends for the first time\nIf 'Sargonian Teaspresso' is also equipped by the [Sargon] Operator, every skill activation grants 3 SP to all [Sargon] Operators","_h":"fog91n"},"eff_acarm109":{"descRaw":"Destroys itself along with the Operator when equipped, then refreshes the Dispatch Center, offering two Operators of the same Tier as the equipped Operator; one can be picked for free\n<@ba.rem>If there are Teammates present within the Team Simulation, a copy of the original Operator will be sent to the Teammate with the most corresponding Alliance members during the next Rest Phase\n<@ba.acrem>If multiple Teammates fulfill this condition, the copy will be sent to a random Teammate\n<@ba.acrem>Cannot be equipped by Custom Operators","name":"Transmitter","desc":"Destroys itself along with the Operator when equipped, then refreshes the Dispatch Center, offering two Operators of the same Tier as the equipped Operator; one can be picked for free\nIf there are Teammates present within the Team Simulation, a copy of the original Operator will be sent to the Teammate with the most corresponding Alliance members during the next Rest Phase\nIf multiple Teammates fulfill this condition, the copy will be sent to a random Teammate\nCannot be equipped by Custom Operators","_h":"twmp3o"},"eff_acarm113":{"descRaw":"Destroyed when equipped; gains an extra <@ba.vup>1 Funds at the start of each subsequent round","name":"Budget-Savvy Doll","desc":"Destroyed when equipped; gains an extra 1 Funds at the start of each subsequent round","_h":"nf1ifm"},"eff_acarm114":{"descRaw":"Destroyed when equipped; gain <@ba.vup>1 random Operator from the same Alliance as the equipped Operator","name":"Simple Communicator","desc":"Destroyed when equipped; gain 1 random Operator from the same Alliance as the equipped Operator","_h":"qbq7xk"},"eff_acarm115":{"descRaw":"Destroyed when equipped; gain <@ba.vup>1 random Operator currently in the Dispatch Center (corresponding Operator in Dispatch Center will disappear)","name":"Emergency Dispatch Ticket","desc":"Destroyed when equipped; gain 1 random Operator currently in the Dispatch Center (corresponding Operator in Dispatch Center will disappear)","_h":"u20w7l"},"eff_acarm116":{"descRaw":"Destroyed when equipped; grants <@ba.vup>2 Funds next round","name":"Money-Grubbing Doll","desc":"Destroyed when equipped; grants 2 Funds next round","_h":"7i6g7t"},"eff_acarm117":{"descRaw":"ATK <@ba.vup>+40%; if equipped alongside 'Pegasian Helm', when dealing damage, deal an additional <@ba.vup>30% as True damage","name":"Pegasian Lance","desc":"ATK +40%; if equipped alongside 'Pegasian Helm', when dealing damage, deal an additional 30% as True damage","_h":"yn5lwz"},"eff_acarm118":{"descRaw":"HP <@ba.vup>+50%; if equipped alongside 'Pegasian Lance', recover <@ba.vup>8% Max HP per second","name":"Pegasian Helm","desc":"HP +50%; if equipped alongside 'Pegasian Lance', recover 8% Max HP per second","_h":"pjbbzz"},"eff_acarm119":{"descRaw":"Damage dealt for <@ba.vup>15s after deployment is increased to <@ba.vup>135%, effect gradually decays","name":"Kazimierz Knightclub Pennant","desc":"Damage dealt for 15s after deployment is increased to 135%, effect gradually decays","_h":"cdedl1"},"eff_acarm120":{"descRaw":"Redeployment Time <@ba.vup>-40%; If equipped by a [Kazimierz] Operator, enemies within Attack Range have <@ba.vup>-35% ASPD and <@ba.vup>-35% Movement Speed for 20s after skill activation\n<@ba.acrem>If 'Kazimierz Knightclub Pennant' is also equipped by the [Kazimierz] Operator, while skill is active, Operator has ATK <@ba.vup>+100% and will not retreat when receiving lethal damage, instead retreating once skill ends","name":"Chivalric Commandments","desc":"Redeployment Time -40%; If equipped by a [Kazimierz] Operator, enemies within Attack Range have -35% ASPD and -35% Movement Speed for 20s after skill activation\nIf 'Kazimierz Knightclub Pennant' is also equipped by the [Kazimierz] Operator, while skill is active, Operator has ATK +100% and will not retreat when receiving lethal damage, instead retreating once skill ends","_h":"xxwql3"},"eff_acarm121":{"descRaw":"ASPD <@ba.vup>+15, allied Operators to the left and right of the equipped Operator's deployment direction gain <@ba.vup>+10 ASPD","name":"Siracusan Formalwear","desc":"ASPD +15, allied Operators to the left and right of the equipped Operator's deployment direction gain +10 ASPD","_h":"v7kxi5"},"eff_acarm122":{"descRaw":"SP recovery rate <@ba.vup>+0.2/s; If equipped by a [Siracusa] Operator, ATK gradually increases to <@ba.vup>200% when equipped Operator is Invisible, until the first instance of damage dealt after Invisibility ends or the Operator leaves the field\n<@ba.acrem>If 'Siracusan Formalwear' is also equipped by the [Siracusa] Operator, the first instance of damage dealt after Invisibility ends deals an additional <@ba.vup>800% ATK as True damage","name":"Famiglia Insignia","desc":"SP recovery rate +0.2/s; If equipped by a [Siracusa] Operator, ATK gradually increases to 200% when equipped Operator is Invisible, until the first instance of damage dealt after Invisibility ends or the Operator leaves the field\nIf 'Siracusan Formalwear' is also equipped by the [Siracusa] Operator, the first instance of damage dealt after Invisibility ends deals an additional 800% ATK as True damage","_h":"o0fblz"},"eff_acarm123":{"descRaw":"Destroyed when equipped and grants <@ba.vup>1~6 Funds","name":"Knightly Savings","desc":"Destroyed when equipped and grants 1~6 Funds","_h":"zccblt"},"eff_acarm124":{"descRaw":"Destroyed when equipped; gives <@ba.vup>+3 stacks to equipped Operator's Alliance(s) (Alliances do not need to be active)","name":"Identification Device","desc":"Destroyed when equipped; gives +3 stacks to equipped Operator's Alliance(s) (Alliances do not need to be active)","_h":"r3hprs"},"eff_acarm125":{"descRaw":"Equipped Operator takes <@ba.vdown>60 True damage per second, but gains <@ba.vup>+40% ATK","name":"Originium Solvent","desc":"Equipped Operator takes 60 True damage per second, but gains +40% ATK","_h":"d6ukv7"},"eff_acchal":{"descRaw":"Drag onto field to use and select a bounty to challenge","name":"Pointing Stick","desc":"Drag onto field to use and select a bounty to challenge","_h":"eeuzee"},"eff_accopy":{"descRaw":"Drag onto field to use; obtains Operator in range (Includes Elite Operators and equipment!)","name":"Dusk's Scroll","desc":"Drag onto field to use; obtains Operator in range (Includes Elite Operators and equipment!)","_h":"zavbza"},"eff_acdisney":{"descRaw":"Drag onto field to use and select a special bounty to challenge; gain 1 Funds when manually destroyed and pass on 'Mystery Customer' to the next player","name":"'Mystery Customer'","desc":"Drag onto field to use and select a special bounty to challenge; gain 1 Funds when manually destroyed and pass on 'Mystery Customer' to the next player","_h":"xenwxe"},"eff_acgarm040":{"descRaw":"Gains <@ba.vup>+8% ATK on skill activation (stacks up to 10 times)","name":"Yanese Dagger","desc":"Gains +8% ATK on skill activation (stacks up to 10 times)","_h":"pjapzg"},"eff_acgarm041":{"descRaw":"ATK <@ba.vup>+25%","name":"Victorian Hammer","desc":"ATK +25%","_h":"828t6j"},"eff_acgarm042":{"descRaw":"ATK <@ba.vup>+50%; When dealing Arts damage, deals an additional <@ba.vup>10% as <$ba.dt.burning2>Burn","name":"Burning Victorian Hammer","desc":"ATK +50%; When dealing Arts damage, deals an additional 10% as Burn","_h":"gglcjd"},"eff_acgarm043":{"descRaw":"ATK <@ba.vup>+45%; Upon taking lethal damage for the first time only, HP will not go below <@ba.vup>1, lasting for 8 seconds","name":"Durable Victorian Hammer","desc":"ATK +45%; Upon taking lethal damage for the first time only, HP will not go below 1, lasting for 8 seconds","_h":"ug25rq"},"eff_acgarm044":{"descRaw":"ATK <@ba.vup>+45%, ASPD <@ba.vup>+30","name":"Speedy Victorian Hammer","desc":"ATK +45%, ASPD +30","_h":"7j7ce9"},"eff_acgarm045":{"descRaw":"ATK <@ba.vup>+35%; If equipped by a Ground Operator, the Operator has 10% chance of inflicting <$ba.tremble>Frighten for 2s when dealing damage","name":"Frightening Victorian Hammer","desc":"ATK +35%; If equipped by a Ground Operator, the Operator has 10% chance of inflicting Frighten for 2s when dealing damage","_h":"toa00q"},"eff_acgarm046":{"descRaw":"ATK <@ba.vup>+60%, ASPD <@ba.vdown>-10","name":"Ægirian Blade","desc":"ATK +60%, ASPD -10","_h":"i2yyw9"},"eff_acgarm047":{"descRaw":"DEF <@ba.vup>+35%","name":"Durable Shield","desc":"DEF +35%","_h":"3qn1od"},"eff_acgarm048":{"descRaw":"RES <@ba.vup>+30; attacks Silence the target for <@ba.vup>5s","name":"Arcane Arts Circle","desc":"RES +30; attacks Silence the target for 5s","_h":"tjmvqz"},"eff_acgarm049":{"descRaw":"<@ba.vup>+45% HP; if there is no Operator in the tile ahead on deployment, <@ba.vup>+25% more HP","name":"Goliath Helmet","desc":"+45% HP; if there is no Operator in the tile ahead on deployment, +25% more HP","_h":"1ujglc"},"eff_acgarm050":{"descRaw":"SP recovery rate <@ba.vup>+0.25/s","name":"Sargonian Teaspresso","desc":"SP recovery rate +0.25/s","_h":"pgz93r"},"eff_acgarm051":{"descRaw":"On Deployment, <@ba.vup>+6 SP; for every different Operator in the same Alliance, <@ba.vup>+6 more SP","name":"Quick Combat Rations","desc":"On Deployment, +6 SP; for every different Operator in the same Alliance, +6 more SP","_h":"p0ut14"},"eff_acgarm052":{"descRaw":"Each time this unit deals damage or heals, gains ASPD <@ba.vup>+2 for this battle, up to 60 stacks","name":"Miniature Accelerator","desc":"Each time this unit deals damage or heals, gains ASPD +2 for this battle, up to 60 stacks","_h":"64x7xt"},"eff_acgarm053":{"descRaw":"Attacks ignore <@ba.vup>45% RES","name":"Laser Sighter","desc":"Attacks ignore 45% RES","_h":"ldzxry"},"eff_acgarm054":{"descRaw":"More likely to be attacked, <@ba.vup>+60% HP","name":"Buzzer","desc":"More likely to be attacked, +60% HP","_h":"hfy6d4"},"eff_acgarm055":{"descRaw":"On taking damage for the first time, gains <$ba.invisible>Invisibility for 25 seconds","name":"Disguise Outfit","desc":"On taking damage for the first time, gains Invisibility for 25 seconds","_h":"fhzz5g"},"eff_acgarm056":{"descRaw":"<@ba.vup>-50% Redeployment Time, <@ba.vdown>-30% HP","name":"Tough Launcher","desc":"-50% Redeployment Time, -30% HP","_h":"vjof7y"},"eff_acgarm057":{"descRaw":"When ammo-type skills have 1 bullet left, there is 60% chance of recovering 60% ammo (Triggers up to 3 times per deployment)","name":"Lateran Clip","desc":"When ammo-type skills have 1 bullet left, there is 60% chance of recovering 60% ammo (Triggers up to 3 times per deployment)","_h":"lu6zlu"},"eff_acgarm058":{"descRaw":"Dealing damage has 5% chance to inflict 1 stack of <$ba.palsy>Paralysis on target","name":"Teargas Can","desc":"Dealing damage has 5% chance to inflict 1 stack of Paralysis on target","_h":"n65sq3"},"eff_acgarm059":{"descRaw":"When HP is greater than 40%, Operator is immune to <$ba.stun>Stun, <$ba.frozen>Frozen, and other special statuses","name":"Concentrated Smelling Salts","desc":"When HP is greater than 40%, Operator is immune to Stun, Frozen, and other special statuses","_h":"77dw6f"},"eff_acgarm060":{"descRaw":"When blocking enemies, takes <@ba.vup>70% less damage from enemies not blocked by this unit","name":"Riot Shield","desc":"When blocking enemies, takes 70% less damage from enemies not blocked by this unit","_h":"efsnx8"},"eff_acgarm061":{"descRaw":"Heals have 15% chance to grant 1 stack of <$ba.shield>Shield to the target (Max 1 stack)","name":"Protection Drone","desc":"Heals have 15% chance to grant 1 stack of Shield to the target (Max 1 stack)","_h":"6golr9"},"eff_acgarm062":{"descRaw":"Dealing damage has 20% chance of inflicting <$ba.cold>Cold on the target for 1.5s","name":"Kjeragi Nevermeltice","desc":"Dealing damage has 20% chance of inflicting Cold on the target for 1.5s","_h":"wwdehk"},"eff_acgarm063":{"descRaw":"Damage dealt to targets 3 or more tiles away increases by <@ba.vup>50%","name":"Precision Scope","desc":"Damage dealt to targets 3 or more tiles away increases by 50%","_h":"3ftfow"},"eff_acgarm064":{"descRaw":"For 15 seconds after every deployment, dealing damage inflicts 2 seconds of <$ba.stun>Stun","name":"Raid Grenade","desc":"For 15 seconds after every deployment, dealing damage inflicts 2 seconds of Stun","_h":"ssrh4a"},"eff_acgarm065":{"descRaw":"For every target hit by an attack, recovers <@ba.vup>4% Max HP","name":"Dormant Heir","desc":"For every target hit by an attack, recovers 4% Max HP","_h":"l7zcn8"},"eff_acgarm066":{"descRaw":"Destroyed when equipped and grants <@ba.vup>2 Funds","name":"Alliance Coin","desc":"Destroyed when equipped and grants 2 Funds","_h":"d4y0h7"},"eff_acgarm067":{"descRaw":"<@ba.vup>+50% ATK, and when dealing Physical or Arts damage, damage type turns into <$ba.weaknessatk>Weakness damage","name":"Bimodule Robotic Arm","desc":"+50% ATK, and when dealing Physical or Arts damage, damage type turns into Weakness damage","_h":"w4pupq"},"eff_acgarm068":{"descRaw":"When defeated in battle, immediately revive (<@ba.vup>twice per battle)","name":"M3 Cocoon Shell","desc":"When defeated in battle, immediately revive (twice per battle)","_h":"8qo0t1"},"eff_acgarm069":{"descRaw":"Destroyed when equipped, and if you have at least two of this non-Elite Operator, obtain a third copy; otherwise obtain 1 random non-Elite Operator from the same Alliance","name":"Mimic Matter","desc":"Destroyed when equipped, and if you have at least two of this non-Elite Operator, obtain a third copy; otherwise obtain 1 random non-Elite Operator from the same Alliance","_h":"uckcuc"},"eff_acgarm070":{"descRaw":"Destroyed when equipped and increases Deployment Limit to 9","name":"HR File","desc":"Destroyed when equipped and increases Deployment Limit to 9","_h":"spncsp"},"eff_acgarm071":{"descRaw":"Equippable by any Operator; immediately promotes this Operator to an Elite Operator","name":"Doctor Hologram","desc":"Equippable by any Operator; immediately promotes this Operator to an Elite Operator","_h":"hivghi"},"eff_acgarm072":{"descRaw":"After the battle ends, equipped Operator changes to a random Operator 1 Tier higher","name":"Mutated Cells","desc":"After the battle ends, equipped Operator changes to a random Operator 1 Tier higher","_h":"yx1cyx"},"eff_acgarm073":{"descRaw":"Equipped Operator gains an extra Alliance (based on the other Equipment)\n<@ba.acrem>Details can be checked in Equipment's Talent tab during simulations","name":"Damazti Isomorph","desc":"Equipped Operator gains an extra Alliance (based on the other Equipment)\nDetails can be checked in Equipment's Talent tab during simulations","_h":"1apo0g"},"eff_acgarm074":{"descRaw":"For every 7 Operators sold, obtain an additional copy of a non-Elite Operator from the same Alliance as the equipping Operator (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Commercial Packaging Plan","desc":"For every 7 Operators sold, obtain an additional copy of a non-Elite Operator from the same Alliance as the equipping Operator (Operator Tier cannot exceed the current Dispatch Center Level)","_h":"ceuqce"},"eff_acgarm075":{"descRaw":"Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","name":"Dispatch Module","desc":"Destroyed when equipped and immediately refreshes Dispatch Center once, offering three Operators from the same Alliance as the equipping Operator. Pick one for free! (Operator Tier cannot exceed the current Dispatch Center Level)","_h":"2sbu2s"},"eff_acgarm076":{"descRaw":"<@ba.vup>+60% ATK; If equipped by a [Laterano] Operator, the Operator gains a 35% chance to fire an extra bullet at an enemy within Attack Range, dealing <@ba.vup>150% ATK as Physical damage\n<@ba.acrem>If 'Lateran Clip' is also equipped by the [Laterano] Operator, bullet deals <@ba.vup>300% ATK instead","name":"Gun-Knight's Might","desc":"+60% ATK; If equipped by a [Laterano] Operator, the Operator gains a 35% chance to fire an extra bullet at an enemy within Attack Range, dealing 150% ATK as Physical damage\nIf 'Lateran Clip' is also equipped by the [Laterano] Operator, bullet deals 300% ATK instead","_h":"ucnpel"},"eff_acgarm077":{"descRaw":"<@ba.vup>+70% HP; If equipped by a [Yan] Operator, gain <@ba.vup>+25 ASPD for every Operator obtained this round before battle begins (Max 3 stacks)\n<@ba.acrem>If 'Yanese Dagger' is also equipped by the [Yan] Operator, <@ba.vup>+2 Funds whenever you obtain an Operator (Max 3 times per round)","name":"Tianshi's Cauldron","desc":"+70% HP; If equipped by a [Yan] Operator, gain +25 ASPD for every Operator obtained this round before battle begins (Max 3 stacks)\nIf 'Yanese Dagger' is also equipped by the [Yan] Operator, +2 Funds whenever you obtain an Operator (Max 3 times per round)","_h":"l33eo2"},"eff_acgarm078":{"descRaw":"Gain <@ba.vup>300 <$ba.dmgresistance>Damage Reduction; If equipped by an [Ægir] Operator, deals <@ba.vup>50% of equipped Operator's ATK as Arts damage to damage source when damage is taken (Triggers up to once every 0.5s)\n<@ba.acrem>If 'Ægirian Blade' is also equipped by the [Ægir] Operator, deal an additional <@ba.vup>50% of equipped Operator's ATK as Arts damage when damage is taken (Triggers up to once every 0.5s)","name":"Trench Test Subject","desc":"Gain 300 Damage Reduction; If equipped by an [Ægir] Operator, deals 50% of equipped Operator's ATK as Arts damage to damage source when damage is taken (Triggers up to once every 0.5s)\nIf 'Ægirian Blade' is also equipped by the [Ægir] Operator, deal an additional 50% of equipped Operator's ATK as Arts damage when damage is taken (Triggers up to once every 0.5s)","_h":"ta8ug6"},"eff_acgarm079":{"descRaw":"<@ba.vup>+55 ASPD; If equipped by a [Victoria] Operator, the Operator gains effects of all Victorian Hammers on the field\n<@ba.acrem>If any 'Victorian Hammer' is also equipped by the [Victoria] Operator, effects of this 'Victorian Hammer' are doubled","name":"Steam Heart","desc":"+55 ASPD; If equipped by a [Victoria] Operator, the Operator gains effects of all Victorian Hammers on the field\nIf any 'Victorian Hammer' is also equipped by the [Victoria] Operator, effects of this 'Victorian Hammer' are doubled","_h":"mk5gm1"},"eff_acgarm102":{"descRaw":"<@ba.vup>+50 RES; If equipped by a [Kjerag] Operator, enemies within Attack Range that are <$ba.cold>Cold or <$ba.frozen>Frozen take <@ba.vup>30% of equipped Operator's ATK as Arts damage per second\n<@ba.acrem>If 'Kjeragi Nevermeltice' is also equipped by the [Kjerag] Operator, the Arts damage dealt per second increases to <@ba.vup>100% ATK","name":"Kjeragandr's Tears","desc":"+50 RES; If equipped by a [Kjerag] Operator, enemies within Attack Range that are Cold or Frozen take 30% of equipped Operator's ATK as Arts damage per second\nIf 'Kjeragi Nevermeltice' is also equipped by the [Kjerag] Operator, the Arts damage dealt per second increases to 100% ATK","_h":"040oq7"},"eff_acgarm103":{"descRaw":"At the start of battle, <@ba.vup>+50 Starting SP; If equipped by a [Sargon] Operator, the Operator recovers <@ba.vup>30 SP when skill ends for the first time\n<@ba.acrem>If 'Sargonian Teaspresso' is also equipped by the [Sargon] Operator, every skill activation grants <@ba.vup>3 SP to all [Sargon] Operators","name":"Desert Compass","desc":"At the start of battle, +50 Starting SP; If equipped by a [Sargon] Operator, the Operator recovers 30 SP when skill ends for the first time\nIf 'Sargonian Teaspresso' is also equipped by the [Sargon] Operator, every skill activation grants 3 SP to all [Sargon] Operators","_h":"aug9kh"},"eff_acgarm109":{"descRaw":"Destroys itself along with the Operator when equipped, then refreshes the Dispatch Center, offering two Operators of the same Tier as the equipped Operator; one can be picked for free\n<@ba.rem>If there are Teammates present within the Team Simulation, a copy of the original Operator will be sent to the Teammate with the most corresponding Alliance members during the next Rest Phase\n<@ba.acrem>If multiple Teammates fulfill this condition, the copy will be sent to a random Teammate\n<@ba.acrem>Cannot be equipped by Custom Operators","name":"Transmitter","desc":"Destroys itself along with the Operator when equipped, then refreshes the Dispatch Center, offering two Operators of the same Tier as the equipped Operator; one can be picked for free\nIf there are Teammates present within the Team Simulation, a copy of the original Operator will be sent to the Teammate with the most corresponding Alliance members during the next Rest Phase\nIf multiple Teammates fulfill this condition, the copy will be sent to a random Teammate\nCannot be equipped by Custom Operators","_h":"twmp3o"},"eff_acgarm113":{"descRaw":"Destroyed when equipped; gains an extra <@ba.vup>2 Funds at the start of each subsequent round","name":"Budget-Savvy Doll","desc":"Destroyed when equipped; gains an extra 2 Funds at the start of each subsequent round","_h":"d01ief"},"eff_acgarm114":{"descRaw":"Destroyed when equipped; gain <@ba.vup>2 random Operators from the same Alliance as the equipped Operator","name":"Simple Communicator","desc":"Destroyed when equipped; gain 2 random Operators from the same Alliance as the equipped Operator","_h":"wqq7pj"},"eff_acgarm115":{"descRaw":"Destroyed when equipped; gain <@ba.vup>2 random Operators currently in the Dispatch Center (corresponding Operators in Dispatch Center will disappear)","name":"Emergency Dispatch Ticket","desc":"Destroyed when equipped; gain 2 random Operators currently in the Dispatch Center (corresponding Operators in Dispatch Center will disappear)","_h":"ur0w8u"},"eff_acgarm116":{"descRaw":"Destroyed when equipped; grants <@ba.vup>4 Funds next round","name":"Money-Grubbing Doll","desc":"Destroyed when equipped; grants 4 Funds next round","_h":"ss6g5z"},"eff_acgarm117":{"descRaw":"ATK <@ba.vup>+60%; if equipped alongside 'Pegasian Helm', when dealing damage, deal an additional <@ba.vup>30% as True damage","name":"Pegasian Lance","desc":"ATK +60%; if equipped alongside 'Pegasian Helm', when dealing damage, deal an additional 30% as True damage","_h":"595lm9"},"eff_acgarm118":{"descRaw":"HP <@ba.vup>+75%; if equipped alongside 'Pegasian Lance', recover <@ba.vup>8% Max HP per second","name":"Pegasian Helm","desc":"HP +75%; if equipped alongside 'Pegasian Lance', recover 8% Max HP per second","_h":"aebbrk"},"eff_acgarm119":{"descRaw":"Damage dealt for <@ba.vup>15s after deployment is increased to <@ba.vup>160%, effect gradually decays","name":"Kazimierz Knightclub Pennant","desc":"Damage dealt for 15s after deployment is increased to 160%, effect gradually decays","_h":"mjedwj"},"eff_acgarm120":{"descRaw":"Redeployment Time <@ba.vup>-60%; If equipped by a [Kazimierz] Operator, enemies within Attack Range have <@ba.vup>-35% ASPD and <@ba.vup>-35% Movement Speed for 20s after skill activation\n<@ba.acrem>If 'Kazimierz Knightclub Pennant' is also equipped by the [Kazimierz] Operator, while skill is active, Operator has ATK <@ba.vup>+100% and will not retreat when receiving lethal damage, instead retreating once skill ends","name":"Chivalric Commandments","desc":"Redeployment Time -60%; If equipped by a [Kazimierz] Operator, enemies within Attack Range have -35% ASPD and -35% Movement Speed for 20s after skill activation\nIf 'Kazimierz Knightclub Pennant' is also equipped by the [Kazimierz] Operator, while skill is active, Operator has ATK +100% and will not retreat when receiving lethal damage, instead retreating once skill ends","_h":"93wqkt"},"eff_acgarm121":{"descRaw":"ASPD <@ba.vup>+25, allied Operators to the left and right of the equipped Operator's deployment direction gain <@ba.vup>+15 ASPD","name":"Siracusan Formalwear","desc":"ASPD +25, allied Operators to the left and right of the equipped Operator's deployment direction gain +15 ASPD","_h":"1bkxrh"},"eff_acgarm122":{"descRaw":"SP recovery rate <@ba.vup>+0.35/s; If equipped by a [Siracusa] Operator, ATK gradually increases to <@ba.vup>200% when equipped Operator is Invisible, until the first instance of damage dealt after Invisibility ends or the Operator leaves the field\n<@ba.acrem>If 'Siracusan Formalwear' is also equipped by the [Siracusa] Operator, the first instance of damage dealt after Invisibility ends deals an additional <@ba.vup>800% ATK as True damage","name":"Famiglia Insignia","desc":"SP recovery rate +0.35/s; If equipped by a [Siracusa] Operator, ATK gradually increases to 200% when equipped Operator is Invisible, until the first instance of damage dealt after Invisibility ends or the Operator leaves the field\nIf 'Siracusan Formalwear' is also equipped by the [Siracusa] Operator, the first instance of damage dealt after Invisibility ends deals an additional 800% ATK as True damage","_h":"sgfbw3"},"eff_acgarm123":{"descRaw":"Destroyed when equipped and grants <@ba.vup>2~12 Funds","name":"Knightly Savings","desc":"Destroyed when equipped and grants 2~12 Funds","_h":"macbg7"},"eff_acgarm124":{"descRaw":"Destroyed when equipped; gives <@ba.vup>+6 stacks to equipped Operator's Alliance(s) (Alliances do not need to be active)","name":"Identification Device","desc":"Destroyed when equipped; gives +6 stacks to equipped Operator's Alliance(s) (Alliances do not need to be active)","_h":"rehpt7"},"eff_acgarm125":{"descRaw":"Equipped Operator takes <@ba.vdown>60 True damage per second, but gains <@ba.vup>+60% ATK","name":"Originium Solvent","desc":"Equipped Operator takes 60 True damage per second, but gains +60% ATK","_h":"jcukll"},"enemydebuff_select_1":{"descRaw":"All enemies -5% ATK","name":"Rejection: Weakness","desc":"All enemies -5% ATK","_h":"ze94ze"},"enemydebuff_select_2":{"descRaw":"All enemies -100 DEF","name":"Rejection: Fragility","desc":"All enemies -100 DEF","_h":"1umz1u"},"enemydebuff_select_3":{"descRaw":"All enemies -3 RES","name":"Rejection: Hallucination","desc":"All enemies -3 RES","_h":"qo0fqo"},"enemydebuff_select_4":{"descRaw":"Elite enemies -6% ATK","name":"Punishment: Weakness","desc":"Elite enemies -6% ATK","_h":"gu80gu"},"enemydebuff_select_5":{"descRaw":"Elite enemies -150 DEF","name":"Punishment: Fragility","desc":"Elite enemies -150 DEF","_h":"g2zng2"},"enemydebuff_select_6":{"descRaw":"Elite enemies -5 RES","name":"Punishment: Hallucination","desc":"Elite enemies -5 RES","_h":"7laf7l"},"enemydebuff_select_7":{"descRaw":"Leader enemies -7% ATK","name":"Verdict: Weakness","desc":"Leader enemies -7% ATK","_h":"ek27ek"},"enemydebuff_select_8":{"descRaw":"Leader enemies -200 DEF","name":"Verdict: Fragility","desc":"Leader enemies -200 DEF","_h":"mfk8mf"},"enemydebuff_select_9":{"descRaw":"Leader enemies -7 RES","name":"Verdict: Hallucination","desc":"Leader enemies -7 RES","_h":"ukw8uk"},"enemyeffect_1":{"descRaw":"Adds 3 Drone Blocker-Ps to your <@ba.vup>next battle; if perfectly clears the stage on your own, obtain 2 Funds","name":"Drone Blocker-P/Tactical Training","desc":"Adds 3 Drone Blocker-Ps to your next battle; if perfectly clears the stage on your own, obtain 2 Funds","_h":"45i2as"},"enemyeffect_2":{"descRaw":"Adds 2 Arts Master A2s to <@ba.vdown>every subsequent battle; if perfectly clear a stage on your own, obtain 2 Funds","name":"Arts Master A2/Multi-Round Tactical Training","desc":"Adds 2 Arts Master A2s to every subsequent battle; if perfectly clear a stage on your own, obtain 2 Funds","_h":"mqh5b2"},"enemyeffect_3_2":{"descRaw":"Adds 1 Arts Master A2 to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Arts Master A2/Bounty","desc":"Adds 1 Arts Master A2 to your next battle; defeat to obtain 2 Funds","_h":"g6njru"},"enemyeffect_3_2_e":{"descRaw":"Adds 1 'Eyes of the Sankta' to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"'Eyes of the Sankta'/Bounty","desc":"Adds 1 'Eyes of the Sankta' to your next battle; defeat to obtain 2 Funds","_h":"21iyqz"},"enemyeffect_3_3":{"descRaw":"Adds 1 Nucleic Maleficient to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Nucleic Maleficient/Bounty","desc":"Adds 1 Nucleic Maleficient to your next battle; defeat to obtain 3 Funds","_h":"p1mrh5"},"enemyeffect_3_3_e":{"descRaw":"Adds 1 Wraith Leader to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"Wraith Leader/Bounty","desc":"Adds 1 Wraith Leader to your next battle; defeat to obtain 1 Funds","_h":"d4eqq2"},"enemyeffect_3_4":{"descRaw":"Adds 1 Shanhaizhong Ringleader to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Shanhaizhong Ringleader/Bounty","desc":"Adds 1 Shanhaizhong Ringleader to your next battle; defeat to obtain 2 Funds","_h":"5nhcbp"},"enemyeffect_3_4_e":{"descRaw":"Adds 1 Heavy Defender to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"Heavy Defender/Bounty","desc":"Adds 1 Heavy Defender to your next battle; defeat to obtain 1 Funds","_h":"4fp7kf"},"enemyeffect_3_5_e":{"descRaw":"Adds 1 Heavy Crossbowman Ambusher to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Heavy Crossbowman Ambusher/Bounty","desc":"Adds 1 Heavy Crossbowman Ambusher to your next battle; defeat to obtain 2 Funds","_h":"lrigc9"},"enemyeffect_4":{"descRaw":"Adds 1 Shanhaizhong Ringleader to the <@ba.vdown>every subsequent battle; defeat to obtain <@ba.vup>1 Funds","name":"Shanhaizhong Ringleader/Multi-Round Bounties","desc":"Adds 1 Shanhaizhong Ringleader to the every subsequent battle; defeat to obtain 1 Funds","_h":"yfl8pu"},"enemyeffect_5":{"descRaw":"Adds 1 Duck Lord to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Duck Lord/Bounty","desc":"Adds 1 Duck Lord to your next battle; defeat to obtain 3 Funds","_h":"xd9tu7"},"enemyeffect_5_1":{"descRaw":"Adds 1 Originium Slug to your <@ba.vup>next battle, but <@ba.vup>will not obtain extra Funds","name":"Originium Slug/Training","desc":"Adds 1 Originium Slug to your next battle, but will not obtain extra Funds","_h":"v1wo21"},"enemyeffect_6":{"descRaw":"Adds 1 Gopnik to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Gopnik/Bounty","desc":"Adds 1 Gopnik to your next battle; defeat to obtain 3 Funds","_h":"1mq24w"},"enemyeffect_7":{"descRaw":"Adds 1 Crying Thief to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Crying Thief/Bounty","desc":"Adds 1 Crying Thief to your next battle; defeat to obtain 3 Funds","_h":"pb37at"},"enemyeffect_8":{"descRaw":"Adds 1 Fatty to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Fatty/Bounty","desc":"Adds 1 Fatty to your next battle; defeat to obtain 3 Funds","_h":"htltur"},"enemyeffect_10_1":{"descRaw":"Adds 1 Monster to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>1 Funds","name":"Tactical Training/Flying I","desc":"Adds 1 Monster to your next battle; if perfectly clear the stage on your own, obtain 1 Funds","_h":"sbw4mn"},"enemyeffect_10_2":{"descRaw":"Adds 1 Bombtail to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>2 Funds","name":"Tactical Training/Flying II","desc":"Adds 1 Bombtail to your next battle; if perfectly clear the stage on your own, obtain 2 Funds","_h":"o453xy"},"enemyeffect_10_3":{"descRaw":"Adds 1 Imperial Artillery Core Targeteer to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>3 Funds","name":"Tactical Training/Flying III","desc":"Adds 1 Imperial Artillery Core Targeteer to your next battle; if perfectly clear the stage on your own, obtain 3 Funds","_h":"ba6yh8"},"enemyeffect_10_4":{"descRaw":"Adds 1 Monster to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Flying I","desc":"Adds 1 Monster to your next 2 battles; defeat to obtain 1 Funds","_h":"5f0e77"},"enemyeffect_10_5":{"descRaw":"Adds 1 Bombtail to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Flying II","desc":"Adds 1 Bombtail to your next 2 battles; defeat to obtain 2 Funds","_h":"o8adpq"},"enemyeffect_10_6":{"descRaw":"Adds 1 Arts Master A1 to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Flying III","desc":"Adds 1 Arts Master A1 to your next 2 battles; defeat to obtain 3 Funds","_h":"dm04da"},"enemyeffect_10_7":{"descRaw":"Adds 1 Arts Master A2 to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Flying I","desc":"Adds 1 Arts Master A2 to your next battle; defeat to obtain 1 Funds","_h":"640ek8"},"enemyeffect_10_8":{"descRaw":"Adds 1 Withering Collector Disciple to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Flying II","desc":"Adds 1 Withering Collector Disciple to your next battle; defeat to obtain 2 Funds","_h":"0jadk1"},"enemyeffect_11_1":{"descRaw":"Adds 1 Grindstone to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>1 Funds","name":"Tactical Training/Frequency I","desc":"Adds 1 Grindstone to your next battle; if perfectly clear the stage on your own, obtain 1 Funds","_h":"vsww2g"},"enemyeffect_11_2":{"descRaw":"Adds 1 Fountainboil to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>2 Funds","name":"Tactical Training/Frequency II","desc":"Adds 1 Fountainboil to your next battle; if perfectly clear the stage on your own, obtain 2 Funds","_h":"l64rko"},"enemyeffect_11_3":{"descRaw":"Adds 1 Sharpedge to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>3 Funds","name":"Tactical Training/Frequency III","desc":"Adds 1 Sharpedge to your next battle; if perfectly clear the stage on your own, obtain 3 Funds","_h":"dr8msb"},"enemyeffect_11_4":{"descRaw":"Adds 1 Grindstone to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Frequency I","desc":"Adds 1 Grindstone to your next 2 battles; defeat to obtain 1 Funds","_h":"mcu6tc"},"enemyeffect_11_5":{"descRaw":"Adds 1 Fountainboil to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Frequency II","desc":"Adds 1 Fountainboil to your next 2 battles; defeat to obtain 2 Funds","_h":"uiuth8"},"enemyeffect_11_6":{"descRaw":"Adds 1 Clarity to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Frequency III","desc":"Adds 1 Clarity to your next 2 battles; defeat to obtain 3 Funds","_h":"loacjw"},"enemyeffect_11_7":{"descRaw":"Adds 1 Rainbowbrew to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Frequency I","desc":"Adds 1 Rainbowbrew to your next battle; defeat to obtain 1 Funds","_h":"r4u6wk"},"enemyeffect_11_8":{"descRaw":"Adds 1 Sharpedge to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Frequency II","desc":"Adds 1 Sharpedge to your next battle; defeat to obtain 2 Funds","_h":"nputcj"},"enemyeffect_12_1":{"descRaw":"Adds 1 Deep Sea Slider to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>1 Funds","name":"Tactical Training/Injury I","desc":"Adds 1 Deep Sea Slider to your next battle; if perfectly clear the stage on your own, obtain 1 Funds","_h":"cpyfg3"},"enemyeffect_12_2":{"descRaw":"Adds 1 Pyric Originium Slug to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>2 Funds","name":"Tactical Training/Injury II","desc":"Adds 1 Pyric Originium Slug to your next battle; if perfectly clear the stage on your own, obtain 2 Funds","_h":"tlfeed"},"enemyeffect_12_3":{"descRaw":"Adds 1 Burning Vine to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>3 Funds","name":"Tactical Training/Injury III","desc":"Adds 1 Burning Vine to your next battle; if perfectly clear the stage on your own, obtain 3 Funds","_h":"g9jd65"},"enemyeffect_12_4":{"descRaw":"Adds 1 Deep Sea Slider to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Injury I","desc":"Adds 1 Deep Sea Slider to your next 2 battles; defeat to obtain 1 Funds","_h":"n3jd2h"},"enemyeffect_12_5":{"descRaw":"Adds 1 Tidal Caster to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Injury II","desc":"Adds 1 Tidal Caster to your next 2 battles; defeat to obtain 2 Funds","_h":"ey34bc"},"enemyeffect_12_6":{"descRaw":"Adds 1 Caster Speedboat to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Injury III","desc":"Adds 1 Caster Speedboat to your next 2 battles; defeat to obtain 3 Funds","_h":"heqjom"},"enemyeffect_12_7":{"descRaw":"Adds 1 Burning Vine to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Injury II","desc":"Adds 1 Burning Vine to your next battle; defeat to obtain 2 Funds","_h":"lr34ut"},"enemyeffect_12_8":{"descRaw":"Adds 1 Allotropic Maleficent to the <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Injury II","desc":"Adds 1 Allotropic Maleficent to the next battle; defeat to obtain 2 Funds","_h":"z834zi"},"enemyeffect_13_1":{"descRaw":"Adds 1 Rotchaser to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>1 Funds","name":"Tactical Training/Continuous I","desc":"Adds 1 Rotchaser to your next battle; if perfectly clear the stage on your own, obtain 1 Funds","_h":"ek3wgi"},"enemyeffect_13_2":{"descRaw":"Adds 1 Sarkaz Witherer Captain to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>2 Funds","name":"Tactical Training/Continuous II","desc":"Adds 1 Sarkaz Witherer Captain to your next battle; if perfectly clear the stage on your own, obtain 2 Funds","_h":"og3jdw"},"enemyeffect_13_3":{"descRaw":"Adds 1 Advanced Sarkaz Wither Tank to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>3 Funds","name":"Tactical Training/Continuous III","desc":"Adds 1 Advanced Sarkaz Wither Tank to your next battle; if perfectly clear the stage on your own, obtain 3 Funds","_h":"40pekm"},"enemyeffect_13_4":{"descRaw":"Adds 1 Sarkaz Witherer Captain to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Continuous I","desc":"Adds 1 Sarkaz Witherer Captain to your next 2 battles; defeat to obtain 1 Funds","_h":"69ui9z"},"enemyeffect_13_5":{"descRaw":"Adds 1 Rotchaser to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Continuous II","desc":"Adds 1 Rotchaser to your next 2 battles; defeat to obtain 2 Funds","_h":"mhh5h9"},"enemyeffect_13_6":{"descRaw":"Adds 1 Sarkaz Wither Tank to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Continuous III","desc":"Adds 1 Sarkaz Wither Tank to your next 2 battles; defeat to obtain 3 Funds","_h":"5xo0av"},"enemyeffect_13_7":{"descRaw":"Adds 1 OpFor: Fissure to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Continuous I","desc":"Adds 1 OpFor: Fissure to your next battle; defeat to obtain 1 Funds","_h":"22uiz2"},"enemyeffect_13_8":{"descRaw":"Adds 1 Advanced Sarkaz Wither Tank to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Continuous II","desc":"Adds 1 Advanced Sarkaz Wither Tank to your next battle; defeat to obtain 2 Funds","_h":"kyh5i6"},"enemyeffect_14_1":{"descRaw":"Adds 1 Invisible Crossbowman to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>1 Funds","name":"Tactical Training/Invisible I","desc":"Adds 1 Invisible Crossbowman to your next battle; if perfectly clear the stage on your own, obtain 1 Funds","_h":"ypf9sd"},"enemyeffect_14_2":{"descRaw":"Adds 1 Festival Jazz Musician to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>2 Funds","name":"Tactical Training/Invisible II","desc":"Adds 1 Festival Jazz Musician to your next battle; if perfectly clear the stage on your own, obtain 2 Funds","_h":"cw4kw2"},"enemyeffect_14_3":{"descRaw":"Adds 1 Famiglia Silencer to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>3 Funds","name":"Tactical Training/Invisible III","desc":"Adds 1 Famiglia Silencer to your next battle; if perfectly clear the stage on your own, obtain 3 Funds","_h":"wcvrri"},"enemyeffect_14_4":{"descRaw":"Adds 1 Invisible Crossbowman to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Invisible I","desc":"Adds 1 Invisible Crossbowman to your next 2 battles; defeat to obtain 1 Funds","_h":"s9jbyx"},"enemyeffect_14_5":{"descRaw":"Adds 1 Invisible Caster to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Invisible II","desc":"Adds 1 Invisible Caster to your next 2 battles; defeat to obtain 2 Funds","_h":"2zuirt"},"enemyeffect_14_6":{"descRaw":"Adds 1 Shanhaizhong Ringleader to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Invisible III","desc":"Adds 1 Shanhaizhong Ringleader to your next 2 battles; defeat to obtain 3 Funds","_h":"gsqxxu"},"enemyeffect_14_7":{"descRaw":"Adds 1 Heavy Crossbowman Ambusher to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Invisible I","desc":"Adds 1 Heavy Crossbowman Ambusher to your next battle; defeat to obtain 1 Funds","_h":"cnjbdd"},"enemyeffect_14_8":{"descRaw":"Adds 1 Famiglia Shadow Silencer to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Invisible II","desc":"Adds 1 Famiglia Shadow Silencer to your next battle; defeat to obtain 2 Funds","_h":"pquily"},"enemyeffect_15_1":{"descRaw":"Adds 1 Dublinn Phalanx Infantry to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>1 Funds","name":"Tactical Training/Refraction I","desc":"Adds 1 Dublinn Phalanx Infantry to your next battle; if perfectly clear the stage on your own, obtain 1 Funds","_h":"qpg6sp"},"enemyeffect_15_2":{"descRaw":"Adds 1 Dublinn Shadowcaster Leader to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>2 Funds","name":"Tactical Training/Refraction II","desc":"Adds 1 Dublinn Shadowcaster Leader to your next battle; if perfectly clear the stage on your own, obtain 2 Funds","_h":"a0lpli"},"enemyeffect_15_3":{"descRaw":"Adds 1 Dublinn Elite Companion Guard to your <@ba.vup>next battle; if perfectly clear the stage on your own, obtain <@ba.vup>3 Funds","name":"Tactical Training/Refraction III","desc":"Adds 1 Dublinn Elite Companion Guard to your next battle; if perfectly clear the stage on your own, obtain 3 Funds","_h":"5jks53"},"enemyeffect_15_4":{"descRaw":"Adds 1 Dublinn Phalanx Infantry to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Refraction I","desc":"Adds 1 Dublinn Phalanx Infantry to your next 2 battles; defeat to obtain 1 Funds","_h":"1d64b1"},"enemyeffect_15_5":{"descRaw":"Adds 1 Dublinn Shadowcaster to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Refraction II","desc":"Adds 1 Dublinn Shadowcaster to your next 2 battles; defeat to obtain 2 Funds","_h":"bu6724"},"enemyeffect_15_6":{"descRaw":"Adds 1 Dublinn Companion Guard to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Refraction III","desc":"Adds 1 Dublinn Companion Guard to your next 2 battles; defeat to obtain 3 Funds","_h":"bgz6kw"},"enemyeffect_15_7":{"descRaw":"Adds 1 Dublinn Heavy Defender Leader to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Refraction II","desc":"Adds 1 Dublinn Heavy Defender Leader to your next battle; defeat to obtain 2 Funds","_h":"29677j"},"enemyeffect_15_8":{"descRaw":"Adds 1 Enraged Tombkeeper Grotesque to the <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Refraction II","desc":"Adds 1 Enraged Tombkeeper Grotesque to the next battle; defeat to obtain 2 Funds","_h":"qy67fq"},"enemyeffect_16_1":{"descRaw":"Adds 1 Mudrock Colossus to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Special III","desc":"Adds 1 Mudrock Colossus to your next battle; defeat to obtain 3 Funds","_h":"zb87xv"},"enemyeffect_16_2":{"descRaw":"Adds 1 'Sand Voyager' to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Special III","desc":"Adds 1 'Sand Voyager' to your next battle; defeat to obtain 3 Funds","_h":"l087m6"},"enemyeffect_16_3":{"descRaw":"Adds 1 Enraged Possessed Leader to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Special III","desc":"Adds 1 Enraged Possessed Leader to your next battle; defeat to obtain 3 Funds","_h":"ex87v9"},"enemyeffect_16_4":{"descRaw":"Adds 1 Greater Armored Burdenbeast to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Special III","desc":"Adds 1 Greater Armored Burdenbeast to your next battle; defeat to obtain 3 Funds","_h":"he87ey"},"enemyeffect_16_5":{"descRaw":"Adds 1 Sarkaz Boneguard Torturer to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Special III","desc":"Adds 1 Sarkaz Boneguard Torturer to your next battle; defeat to obtain 3 Funds","_h":"8f87qj"},"enemyeffect_16_6":{"descRaw":"Adds 1 Londinium Precision Mobile Defense Artillery to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Special III","desc":"Adds 1 Londinium Precision Mobile Defense Artillery to your next battle; defeat to obtain 3 Funds","_h":"rk87z0"},"enemyeffect_16_7":{"descRaw":"Adds 1 Blackhorn Rhuul to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Special III","desc":"Adds 1 Blackhorn Rhuul to your next battle; defeat to obtain 3 Funds","_h":"yp87vh"},"enemyeffect_16_8":{"descRaw":"Adds 1 Wooden Burdenbeast of Ilion to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Special III","desc":"Adds 1 Wooden Burdenbeast of Ilion to your next battle; defeat to obtain 3 Funds","_h":"h487oa"},"enemyeffect_16_9":{"descRaw":"Adds 1 Frostcradler Fowlbeast to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Special II","desc":"Adds 1 Frostcradler Fowlbeast to your next battle; defeat to obtain 2 Funds","_h":"liok9w"},"enemyeffect_16_10":{"descRaw":"Adds 1 Abnormal Manglerbeast α to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Special II","desc":"Adds 1 Abnormal Manglerbeast α to your next battle; defeat to obtain 2 Funds","_h":"3uokl4"},"enemyeffect_16_11":{"descRaw":"Adds 1 Uneasy Designer to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Injury I","desc":"Adds 1 Uneasy Designer to your next battle; defeat to obtain 1 Funds","_h":"eajdk8"},"enemyeffect_16_12":{"descRaw":"Adds 1 Decode Basis α to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Special I","desc":"Adds 1 Decode Basis α to your next battle; defeat to obtain 1 Funds","_h":"zih14m"},"enemyeffect_17_1":{"descRaw":"Adds 1 Snowchild to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Special I","desc":"Adds 1 Snowchild to your next 2 battles; defeat to obtain 1 Funds","_h":"5qh1z0"},"enemyeffect_17_2":{"descRaw":"Adds 1 Novice Acolyte to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Special I","desc":"Adds 1 Novice Acolyte to your next 2 battles; defeat to obtain 1 Funds","_h":"uvh1y3"},"enemyeffect_17_3":{"descRaw":"Adds 1 Careless Underling to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Special I","desc":"Adds 1 Careless Underling to your next 2 battles; defeat to obtain 1 Funds","_h":"24h1ve"},"enemyeffect_17_4":{"descRaw":"Adds 1 Derisive Audience to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Special II","desc":"Adds 1 Derisive Audience to your next 2 battles; defeat to obtain 2 Funds","_h":"7bokw5"},"enemyeffect_17_5":{"descRaw":"Adds 1 Suiton Ninja to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Special II","desc":"Adds 1 Suiton Ninja to your next 2 battles; defeat to obtain 2 Funds","_h":"0zoklh"},"enemyeffect_17_6":{"descRaw":"Adds 1 Handmade Catapult to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Special III","desc":"Adds 1 Handmade Catapult to your next 2 battles; defeat to obtain 3 Funds","_h":"sn87lt"},"enemyeffect_18_1":{"descRaw":"Adds 1 Audio Technician to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Injury I","desc":"Adds 1 Audio Technician to your next 2 battles; defeat to obtain 1 Funds","_h":"16jdgo"},"enemyeffect_18_2":{"descRaw":"Adds 1 Confused Maintenance Helper to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Special I","desc":"Adds 1 Confused Maintenance Helper to your next 2 battles; defeat to obtain 1 Funds","_h":"suh1wq"},"enemyeffect_18_3":{"descRaw":"Adds 1 Infused Originium Slug to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Special I","desc":"Adds 1 Infused Originium Slug to your next 2 battles; defeat to obtain 1 Funds","_h":"82h19w"},"enemyeffect_18_4":{"descRaw":"Adds 1 Shrine Swordsman to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Special II","desc":"Adds 1 Shrine Swordsman to your next 2 battles; defeat to obtain 2 Funds","_h":"k3ok2t"},"enemyeffect_18_5":{"descRaw":"Adds 1 Avenger to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Special II","desc":"Adds 1 Avenger to your next 2 battles; defeat to obtain 2 Funds","_h":"g7okjn"},"enemyeffect_18_6":{"descRaw":"Adds 1 Hero's Sidekick to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Injury III","desc":"Adds 1 Hero's Sidekick to your next 2 battles; defeat to obtain 3 Funds","_h":"zwqjqo"},"enemyeffect_19_1":{"descRaw":"Adds 1 Carnevale Balloon to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Special I","desc":"Adds 1 Carnevale Balloon to your next 2 battles; defeat to obtain 1 Funds","_h":"8nh1hb"},"enemyeffect_19_2":{"descRaw":"Adds 1 Basic Slug to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Special I","desc":"Adds 1 Basic Slug to your next 2 battles; defeat to obtain 1 Funds","_h":"b7h1o9"},"enemyeffect_19_3":{"descRaw":"Adds 1 Dublinn Sniffer Hound Pro to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Refraction I","desc":"Adds 1 Dublinn Sniffer Hound Pro to your next 2 battles; defeat to obtain 1 Funds","_h":"a864pk"},"enemyeffect_19_4":{"descRaw":"Adds 1 Lucky Flyfin to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Flying II","desc":"Adds 1 Lucky Flyfin to your next 2 battles; defeat to obtain 2 Funds","_h":"nladwv"},"enemyeffect_19_5":{"descRaw":"Adds 1 Garum Gourmet to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Special II","desc":"Adds 1 Garum Gourmet to your next 2 battles; defeat to obtain 2 Funds","_h":"iwokgy"},"enemyeffect_19_6":{"descRaw":"Adds 1 Villain's Minion to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Injury III","desc":"Adds 1 Villain's Minion to your next 2 battles; defeat to obtain 3 Funds","_h":"4eqj9y"},"enemyeffect_20_1":{"descRaw":"Adds 1 Sarkaz Witherer to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Continuous I","desc":"Adds 1 Sarkaz Witherer to your next 2 battles; defeat to obtain 1 Funds","_h":"biuirc"},"enemyeffect_20_2":{"descRaw":"Adds 1 Vernacularism to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Frequency I","desc":"Adds 1 Vernacularism to your next 2 battles; defeat to obtain 1 Funds","_h":"6hu67p"},"enemyeffect_20_3":{"descRaw":"Adds 1 Lurker to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>1 Funds","name":"Bounty/Special I","desc":"Adds 1 Lurker to your next 2 battles; defeat to obtain 1 Funds","_h":"vbh1jd"},"enemyeffect_20_4":{"descRaw":"Adds 1 'Unicycle Toy' to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Special II","desc":"Adds 1 'Unicycle Toy' to your next 2 battles; defeat to obtain 2 Funds","_h":"i9okyd"},"enemyeffect_20_5":{"descRaw":"Adds 1 Armorless Union Cleanup Squad to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>2 Funds","name":"Bounty/Injury II","desc":"Adds 1 Armorless Union Cleanup Squad to your next 2 battles; defeat to obtain 2 Funds","_h":"dp34jp"},"enemyeffect_20_6":{"descRaw":"Adds 1 Boiling Pot to your <@ba.vup>next 2 battles; defeat to obtain <@ba.vup>3 Funds","name":"Bounty/Injury III","desc":"Adds 1 Boiling Pot to your next 2 battles; defeat to obtain 3 Funds","_h":"e3qj0n"},"enemyeffect_b_1":{"descRaw":"Adds 1 Skullshatterer to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"Skullshatterer/Bounty","desc":"Adds 1 Skullshatterer to your next battle; defeat to obtain 1 Funds","_h":"yb792t"},"enemyeffect_b_2":{"descRaw":"Adds 1 Sarkaz Centurion to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Sarkaz Centurion/Bounty","desc":"Adds 1 Sarkaz Centurion to your next battle; defeat to obtain 2 Funds","_h":"20a980"},"enemyeffect_b_3":{"descRaw":"Adds 1 Crownslayer to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"Crownslayer/Bounty","desc":"Adds 1 Crownslayer to your next battle; defeat to obtain 1 Funds","_h":"xc3094"},"enemyeffect_b_4":{"descRaw":"Adds 1 Mudrock to your <@ba.vup>next battle; defeat to obtain <@ba.vup>4 Funds","name":"Mudrock/Bounty","desc":"Adds 1 Mudrock to your next battle; defeat to obtain 4 Funds","_h":"7yjp7m"},"enemyeffect_b_5":{"descRaw":"Adds 1 Corrupted Knight to the <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Corrupted Knight/Bounty","desc":"Adds 1 Corrupted Knight to the next battle; defeat to obtain 3 Funds","_h":"xq9e4c"},"enemyeffect_b_6":{"descRaw":"Adds 1 Withered Knight to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Withered Knight/Bounty","desc":"Adds 1 Withered Knight to your next battle; defeat to obtain 3 Funds","_h":"6w480u"},"enemyeffect_b_7":{"descRaw":"Adds 1 'Forsaken One' to your <@ba.vup>next battle; defeat to obtain <@ba.vup>4 Funds","name":"'Forsaken One'/Bounty","desc":"Adds 1 'Forsaken One' to your next battle; defeat to obtain 4 Funds","_h":"5cb54y"},"enemyeffect_b_8":{"descRaw":"Adds 1 Jetman to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Jetman/Bounty","desc":"Adds 1 Jetman to your next battle; defeat to obtain 3 Funds","_h":"hi3k06"},"enemyeffect_b_9":{"descRaw":"Adds 1 Jesselton Williams to your <@ba.vup>next battle; defeat to obtain <@ba.vup>4 Funds","name":"Jesselton Williams/Bounty","desc":"Adds 1 Jesselton Williams to your next battle; defeat to obtain 4 Funds","_h":"22rxy6"},"enemyeffect_b_10":{"descRaw":"Adds 1 W to your <@ba.vup>next battle; defeat to obtain <@ba.vup>1 Funds","name":"W/Bounty","desc":"Adds 1 W to your next battle; defeat to obtain 1 Funds","_h":"iy8miy"},"enemyeffect_b_11":{"descRaw":"Adds 1 'Rat King' to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"'Rat King'/Bounty","desc":"Adds 1 'Rat King' to your next battle; defeat to obtain 2 Funds","_h":"92lzb6"},"enemyeffect_b_12":{"descRaw":"Adds 1 'Pompeii' to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"'Pompeii'/Bounty","desc":"Adds 1 'Pompeii' to your next battle; defeat to obtain 2 Funds","_h":"d6fzl6"},"enemyeffect_b_13":{"descRaw":"Adds 1 Big Bob to your <@ba.vup>next battle; defeat to obtain <@ba.vup>2 Funds","name":"Big Bob/Bounty","desc":"Adds 1 Big Bob to your next battle; defeat to obtain 2 Funds","_h":"dhs6aj"},"enemyeffect_b_14":{"descRaw":"Adds 1 'Free' to your <@ba.vup>next battle; defeat to obtain <@ba.vup>4 Funds","name":"'Free'/Bounty","desc":"Adds 1 'Free' to your next battle; defeat to obtain 4 Funds","_h":"931so7"},"enemyeffect_b_15":{"descRaw":"Adds 1 Degenbrecher to your <@ba.vup>next battle; defeat to obtain <@ba.vup>5 Funds","name":"Degenbrecher/Bounty","desc":"Adds 1 Degenbrecher to your next battle; defeat to obtain 5 Funds","_h":"hqxq2e"},"enemyeffect_b_16":{"descRaw":"Adds 1 Zaaro, Signore dei Lupi to your <@ba.vup>next battle; defeat to obtain <@ba.vup>5 Funds","name":"Zaaro, Signore dei Lupi/Bounty","desc":"Adds 1 Zaaro, Signore dei Lupi to your next battle; defeat to obtain 5 Funds","_h":"qbtl2x"},"enemyeffect_b_17":{"descRaw":"Adds 1 'Gravestone' to your <@ba.vup>next battle; defeat to obtain <@ba.vup>4 Funds","name":"'Gravestone'/Bounty","desc":"Adds 1 'Gravestone' to your next battle; defeat to obtain 4 Funds","_h":"vxhep5"},"enemyeffect_b_18":{"descRaw":"Adds 1 Lost Colossus to your <@ba.vup>next battle; defeat to obtain <@ba.vup>5 Funds","name":"Lost Colossus/Bounty","desc":"Adds 1 Lost Colossus to your next battle; defeat to obtain 5 Funds","_h":"d8e4rw"},"enemyeffect_b_19":{"descRaw":"Adds 1 Mio to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Mio/Bounty","desc":"Adds 1 Mio to your next battle; defeat to obtain 3 Funds","_h":"hlqj1p"},"enemyeffect_b_20":{"descRaw":"Adds 1 The Big, Ugly Thing to your <@ba.vup>next battle; defeat to obtain <@ba.vup>5 Funds","name":"'The Big Ugly Thing'/Bounty","desc":"Adds 1 The Big, Ugly Thing to your next battle; defeat to obtain 5 Funds","_h":"y3ixtd"},"enemyeffect_b_21":{"descRaw":"Adds 1 'Hateful Avenger' to your <@ba.vup>next battle; defeat to obtain <@ba.vup>6 Funds","name":"'Hateful Avenger'/Bounty","desc":"Adds 1 'Hateful Avenger' to your next battle; defeat to obtain 6 Funds","_h":"u06fu2"},"enemyeffect_b_22":{"descRaw":"Adds 1 'Demon's Blade' to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"'Demon's Blade'/Bounty","desc":"Adds 1 'Demon's Blade' to your next battle; defeat to obtain 3 Funds","_h":"ok72tk"},"enemyeffect_b_23":{"descRaw":"Adds 1 Fallen Snowpriest to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Fallen Snowpriest/Bounty","desc":"Adds 1 Fallen Snowpriest to your next battle; defeat to obtain 3 Funds","_h":"5xlpqb"},"enemyeffect_b_24":{"descRaw":"Adds 1 Weaving Vinecreeps to your <@ba.vup>next battle; defeat to obtain <@ba.vup>3 Funds","name":"Weaving Vinecreeps/Bounty","desc":"Adds 1 Weaving Vinecreeps to your next battle; defeat to obtain 3 Funds","_h":"0gwkju"},"enemyInitial_1":{"descRaw":"Adds 1 OpFor: Fissure (Deals continuous damage when defeated) to <@ba.vdown>every subsequent battle; grants 1 Funds to whoever defeats it","name":"Multi-Round Bounties/OpFor: Fissure","desc":"Adds 1 OpFor: Fissure (Deals continuous damage when defeated) to every subsequent battle; grants 1 Funds to whoever defeats it","_h":"r3p1eb"},"enemyInitial_2":{"descRaw":"Adds 1 OpFor: Quagmire (Deals Elemental Injury) to <@ba.vdown>every subsequent battle; grants 1 Funds to whoever defeats it","name":"Multi-Round Bounties/OpFor: Quagmire","desc":"Adds 1 OpFor: Quagmire (Deals Elemental Injury) to every subsequent battle; grants 1 Funds to whoever defeats it","_h":"crxnjz"},"enemyInitial_3":{"descRaw":"Adds 1 OpFor: Bonespur (Has Invisibility) to <@ba.vdown>every subsequent battle; grants 1 Funds to whoever defeats it","name":"Multi-Round Bounties/OpFor: Bonespur","desc":"Adds 1 OpFor: Bonespur (Has Invisibility) to every subsequent battle; grants 1 Funds to whoever defeats it","_h":"r12t2x"},"enemyInitial_4":{"descRaw":"Adds 1 OpFor: BlackCloud (Aerial enemy) to <@ba.vdown>every subsequent battle; grants 1 Funds to whoever defeats it","name":"Multi-Round Bounties/OpFor: BlackCloud","desc":"Adds 1 OpFor: BlackCloud (Aerial enemy) to every subsequent battle; grants 1 Funds to whoever defeats it","_h":"e5gpbt"},"enemyInitial_5":{"descRaw":"Adds 1 OpFor: Rebirth (Needs multiple hits to be defeated) to <@ba.vdown>every subsequent battle; grants 1 Funds to whoever defeats it","name":"Multi-Round Bounties/OpFor: Rebirth","desc":"Adds 1 OpFor: Rebirth (Needs multiple hits to be defeated) to every subsequent battle; grants 1 Funds to whoever defeats it","_h":"7tpfb1"},"enemyInitial_6":{"descRaw":"Adds 1 OpFor: Mirror (Has Refraction) to <@ba.vdown>every subsequent battle; grants 1 Funds to whoever defeats it","name":"Multi-Round Bounties/OpFor: Mirror","desc":"Adds 1 OpFor: Mirror (Has Refraction) to every subsequent battle; grants 1 Funds to whoever defeats it","_h":"jg6fyg"},"map_m01_1":{"descRaw":"Remove <@ba.vdown>all Barricades on the battlefield","name":"Simulation Shift/Mode 1","desc":"Remove all Barricades on the battlefield","_h":"fj6cp1"},"map_m02_1":{"descRaw":"Turns <@ba.vdown>all Barricades on the battlefield to Ranged Tiles","name":"Simulation Shift/Mode 2","desc":"Turns all Barricades on the battlefield to Ranged Tiles","_h":"2fn43t"},"map_m02_2":{"descRaw":"Remove <@ba.vdown>all Barricades on the battlefield","name":"Simulation Shift/Mode 3","desc":"Remove all Barricades on the battlefield","_h":"fjbjp1"},"map_m03_1":{"descRaw":"Remove Barricades on the <@ba.vdown>left side of the battlefield","name":"Simulation Shift/Mode 4","desc":"Remove Barricades on the left side of the battlefield","_h":"rmit0u"},"map_m03_2":{"descRaw":"You can deploy both High Ground and Ground Operators on Ranged Tiles on the <@ba.vdown>right side of the battlefield","name":"Simulation Shift/Mode 5","desc":"You can deploy both High Ground and Ground Operators on Ranged Tiles on the right side of the battlefield","_h":"hs3cfe"},"map_m04_1":{"descRaw":"Remove <@ba.vdown>all Barricades on the battlefield","name":"Simulation Shift/Mode 6","desc":"Remove all Barricades on the battlefield","_h":"fjubp1"},"map_m06_1":{"descRaw":"The battlefield's Sandstorm <@ba.vdown>stops","name":"Simulation Shift/Mode 8","desc":"The battlefield's Sandstorm stops","_h":"q105t3"},"map_m07_1":{"descRaw":"<@ba.vdown>All Thickets on the field will vanish","name":"Simulation Shift/Mode 9","desc":"All Thickets on the field will vanish","_h":"ke0z18"}},"choices":{"events":{"artifact_paid_1":{"descRaw":"Obtain equipment without spending any funds.","name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"artifact_paid_1_s":{"descRaw":"Obtain equipment without spending any funds.","name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"artifact_paid_2":{"descRaw":"Obtain equipment without spending any funds.","name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"artifact_paid_2_s":{"descRaw":"Obtain equipment without spending any funds.","name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"artifact_paid_3":{"descRaw":"Obtain equipment without spending any funds.","name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"artifact_paid_3_s":{"descRaw":"Obtain equipment without spending any funds.","name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"artifact_paid_4":{"descRaw":"Obtain equipment without spending any funds.","name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"artifact_paid_4_s":{"descRaw":"Obtain equipment without spending any funds.","name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"artifact_paid_5":{"descRaw":"Obtain equipment without spending any funds.","name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"artifact_paid_5_s":{"descRaw":"Obtain equipment without spending any funds.","name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"bossInitial_1":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_1_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_2":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_2_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_3":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_3_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_4":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_4_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_5":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_5_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_6":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bossInitial_6_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_1":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_1_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_2":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_2_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_3":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_3_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_4":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_4_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_5":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_5_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_6":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_6_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_7":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_7_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_8":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_8_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_9":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_9_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_10":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_10_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_11":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_11_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_12":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_12_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_13":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_13_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_14":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_14_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_15":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"bounty_hunter_15_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"buff_select_1":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"buff_select_1_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"buff_select_2":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"buff_select_2_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"buff_select_3":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"buff_select_3_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"buff_select_4":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"buff_select_4_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"enemy_initial_1":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_1_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_2":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_2_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_3":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_3_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_4":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_4_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_5":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_5_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_6":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_6_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_7":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_7_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_8":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_8_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_9":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_9_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_10":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"enemy_initial_10_s":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"equip_free_1":{"descRaw":"Obtain equipment without spending any funds.","name":"Equipment Supply","desc":"Obtain equipment without spending any funds."},"equip_free_1_tr":{"descRaw":"Obtain equipment without spending any funds.","name":"Equipment Supply","desc":"Obtain equipment without spending any funds."},"equip_free_2":{"descRaw":"Obtain equipment without spending any funds.","name":"Equipment Supply","desc":"Obtain equipment without spending any funds."},"equip_free_2_s":{"descRaw":"Obtain equipment without spending any funds.","name":"Equipment Supply","desc":"Obtain equipment without spending any funds."},"equip_free_3":{"descRaw":"Obtain equipment without spending any funds.","name":"Equipment Supply","desc":"Obtain equipment without spending any funds."},"equip_free_3_s":{"descRaw":"Obtain equipment without spending any funds.","name":"Equipment Supply","desc":"Obtain equipment without spending any funds."},"equip_free_4":{"descRaw":"Obtain equipment without spending any funds.","name":"Equipment Supply","desc":"Obtain equipment without spending any funds."},"equip_free_4_s":{"descRaw":"Obtain equipment without spending any funds.","name":"Equipment Supply","desc":"Obtain equipment without spending any funds."},"hardbuff_select_1":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"hardbuff_select_1_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"hardbuff_select_2":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"hardbuff_select_2_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"hardbuff_select_3":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"hardbuff_select_3_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"hunter_band_1":{"descRaw":"Pick and defeat a bounty target to obtain extra rewards.","name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"terrain_m01_1":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m01_1_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m02_1":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m02_1_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m02_2":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m02_2_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m03_1":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m03_1_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m04_1":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m04_1_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m06_1":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m06_1_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m07_1":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"terrain_m07_1_s":{"descRaw":"Coordinate and prepare to meet the enemy.","name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"_h":"i112i1i112i1i112i1i112i1i112i1i112i1i112i1i112i1i112i1i112i1sz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzksz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szsz01szi1edi1i1edi1i1edi1i1edi1i1edi1i1edi1i1edi1i1edi1zkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzksz01szzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzkzkqtzk"},"families":{"bounty":{"name":"Bounty Decision","desc":"Pick and defeat a bounty target to obtain extra rewards."},"supply":{"name":"Equipment Supply","desc":"Obtain equipment without spending any funds."},"shop":{"name":"Secret Shop","desc":"Obtain equipment without spending any funds."},"tactic":{"name":"Tactical Decision","desc":"Coordinate and prepare to meet the enemy."},"_h":"01szedi112i1qtzk"},"cards":{"bounty":[{"name":"Drone Blocker-P/Tactical Training","desc":"Adds 3 Drone Blocker-Ps to your next battle; if perfectly clears the stage on your own, obtain 2 Funds"},{"name":"Arts Master A2/Multi-Round Tactical Training","desc":"Adds 2 Arts Master A2s to every subsequent battle; if perfectly clear a stage on your own, obtain 2 Funds"},{"name":"Arts Master A2/Bounty","desc":"Adds 1 Arts Master A2 to your next battle; defeat to obtain 2 Funds"},{"name":"'Eyes of the Sankta'/Bounty","desc":"Adds 1 'Eyes of the Sankta' to your next battle; defeat to obtain 2 Funds"},{"name":"Nucleic Maleficient/Bounty","desc":"Adds 1 Nucleic Maleficient to your next battle; defeat to obtain 3 Funds"},{"name":"Wraith Leader/Bounty","desc":"Adds 1 Wraith Leader to your next battle; defeat to obtain 1 Funds"},{"name":"Shanhaizhong Ringleader/Bounty","desc":"Adds 1 Shanhaizhong Ringleader to your next battle; defeat to obtain 2 Funds"},{"name":"Heavy Defender/Bounty","desc":"Adds 1 Heavy Defender to your next battle; defeat to obtain 1 Funds"},{"name":"Heavy Crossbowman Ambusher/Bounty","desc":"Adds 1 Heavy Crossbowman Ambusher to your next battle; defeat to obtain 2 Funds"},{"name":"Shanhaizhong Ringleader/Multi-Round Bounties","desc":"Adds 1 Shanhaizhong Ringleader to the every subsequent battle; defeat to obtain 1 Funds"},{"name":"Duck Lord/Bounty","desc":"Adds 1 Duck Lord to your next battle; defeat to obtain 3 Funds"},{"name":"Originium Slug/Training","desc":"Adds 1 Originium Slug to your next battle, but will not obtain extra Funds"},{"name":"Gopnik/Bounty","desc":"Adds 1 Gopnik to your next battle; defeat to obtain 3 Funds"},{"name":"Crying Thief/Bounty","desc":"Adds 1 Crying Thief to your next battle; defeat to obtain 3 Funds"},{"name":"Fatty/Bounty","desc":"Adds 1 Fatty to your next battle; defeat to obtain 3 Funds"},{"name":"Tactical Training/Flying I","desc":"Adds 1 Monster to your next battle; if perfectly clear the stage on your own, obtain 1 Funds"},{"name":"Tactical Training/Flying II","desc":"Adds 1 Bombtail to your next battle; if perfectly clear the stage on your own, obtain 2 Funds"},{"name":"Tactical Training/Flying III","desc":"Adds 1 Imperial Artillery Core Targeteer to your next battle; if perfectly clear the stage on your own, obtain 3 Funds"},{"name":"Bounty/Flying I","desc":"Adds 1 Monster to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Flying II","desc":"Adds 1 Bombtail to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Flying III","desc":"Adds 1 Arts Master A1 to your next 2 battles; defeat to obtain 3 Funds"},{"name":"Bounty/Flying I","desc":"Adds 1 Arts Master A2 to your next battle; defeat to obtain 1 Funds"},{"name":"Bounty/Flying II","desc":"Adds 1 Withering Collector Disciple to your next battle; defeat to obtain 2 Funds"},{"name":"Tactical Training/Frequency I","desc":"Adds 1 Grindstone to your next battle; if perfectly clear the stage on your own, obtain 1 Funds"},{"name":"Tactical Training/Frequency II","desc":"Adds 1 Fountainboil to your next battle; if perfectly clear the stage on your own, obtain 2 Funds"},{"name":"Tactical Training/Frequency III","desc":"Adds 1 Sharpedge to your next battle; if perfectly clear the stage on your own, obtain 3 Funds"},{"name":"Bounty/Frequency I","desc":"Adds 1 Grindstone to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Frequency II","desc":"Adds 1 Fountainboil to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Frequency III","desc":"Adds 1 Clarity to your next 2 battles; defeat to obtain 3 Funds"},{"name":"Bounty/Frequency I","desc":"Adds 1 Rainbowbrew to your next battle; defeat to obtain 1 Funds"},{"name":"Bounty/Frequency II","desc":"Adds 1 Sharpedge to your next battle; defeat to obtain 2 Funds"},{"name":"Tactical Training/Injury I","desc":"Adds 1 Deep Sea Slider to your next battle; if perfectly clear the stage on your own, obtain 1 Funds"},{"name":"Tactical Training/Injury II","desc":"Adds 1 Pyric Originium Slug to your next battle; if perfectly clear the stage on your own, obtain 2 Funds"},{"name":"Tactical Training/Injury III","desc":"Adds 1 Burning Vine to your next battle; if perfectly clear the stage on your own, obtain 3 Funds"},{"name":"Bounty/Injury I","desc":"Adds 1 Deep Sea Slider to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Injury II","desc":"Adds 1 Tidal Caster to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Injury III","desc":"Adds 1 Caster Speedboat to your next 2 battles; defeat to obtain 3 Funds"},{"name":"Bounty/Injury II","desc":"Adds 1 Burning Vine to your next battle; defeat to obtain 2 Funds"},{"name":"Bounty/Injury II","desc":"Adds 1 Allotropic Maleficent to the next battle; defeat to obtain 2 Funds"},{"name":"Tactical Training/Continuous I","desc":"Adds 1 Rotchaser to your next battle; if perfectly clear the stage on your own, obtain 1 Funds"},{"name":"Tactical Training/Continuous II","desc":"Adds 1 Sarkaz Witherer Captain to your next battle; if perfectly clear the stage on your own, obtain 2 Funds"},{"name":"Tactical Training/Continuous III","desc":"Adds 1 Advanced Sarkaz Wither Tank to your next battle; if perfectly clear the stage on your own, obtain 3 Funds"},{"name":"Bounty/Continuous I","desc":"Adds 1 Sarkaz Witherer Captain to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Continuous II","desc":"Adds 1 Rotchaser to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Continuous III","desc":"Adds 1 Sarkaz Wither Tank to your next 2 battles; defeat to obtain 3 Funds"},{"name":"Bounty/Continuous I","desc":"Adds 1 OpFor: Fissure to your next battle; defeat to obtain 1 Funds"},{"name":"Bounty/Continuous II","desc":"Adds 1 Advanced Sarkaz Wither Tank to your next battle; defeat to obtain 2 Funds"},{"name":"Tactical Training/Invisible I","desc":"Adds 1 Invisible Crossbowman to your next battle; if perfectly clear the stage on your own, obtain 1 Funds"},{"name":"Tactical Training/Invisible II","desc":"Adds 1 Festival Jazz Musician to your next battle; if perfectly clear the stage on your own, obtain 2 Funds"},{"name":"Tactical Training/Invisible III","desc":"Adds 1 Famiglia Silencer to your next battle; if perfectly clear the stage on your own, obtain 3 Funds"},{"name":"Bounty/Invisible I","desc":"Adds 1 Invisible Crossbowman to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Invisible II","desc":"Adds 1 Invisible Caster to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Invisible III","desc":"Adds 1 Shanhaizhong Ringleader to your next 2 battles; defeat to obtain 3 Funds"},{"name":"Bounty/Invisible I","desc":"Adds 1 Heavy Crossbowman Ambusher to your next battle; defeat to obtain 1 Funds"},{"name":"Bounty/Invisible II","desc":"Adds 1 Famiglia Shadow Silencer to your next battle; defeat to obtain 2 Funds"},{"name":"Tactical Training/Refraction I","desc":"Adds 1 Dublinn Phalanx Infantry to your next battle; if perfectly clear the stage on your own, obtain 1 Funds"},{"name":"Tactical Training/Refraction II","desc":"Adds 1 Dublinn Shadowcaster Leader to your next battle; if perfectly clear the stage on your own, obtain 2 Funds"},{"name":"Tactical Training/Refraction III","desc":"Adds 1 Dublinn Elite Companion Guard to your next battle; if perfectly clear the stage on your own, obtain 3 Funds"},{"name":"Bounty/Refraction I","desc":"Adds 1 Dublinn Phalanx Infantry to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Refraction II","desc":"Adds 1 Dublinn Shadowcaster to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Refraction III","desc":"Adds 1 Dublinn Companion Guard to your next 2 battles; defeat to obtain 3 Funds"},{"name":"Bounty/Refraction II","desc":"Adds 1 Dublinn Heavy Defender Leader to your next battle; defeat to obtain 2 Funds"},{"name":"Bounty/Refraction II","desc":"Adds 1 Enraged Tombkeeper Grotesque to the next battle; defeat to obtain 2 Funds"},{"name":"Bounty/Special III","desc":"Adds 1 Mudrock Colossus to your next battle; defeat to obtain 3 Funds"},{"name":"Bounty/Special III","desc":"Adds 1 'Sand Voyager' to your next battle; defeat to obtain 3 Funds"},{"name":"Bounty/Special III","desc":"Adds 1 Enraged Possessed Leader to your next battle; defeat to obtain 3 Funds"},{"name":"Bounty/Special III","desc":"Adds 1 Greater Armored Burdenbeast to your next battle; defeat to obtain 3 Funds"},{"name":"Bounty/Special III","desc":"Adds 1 Sarkaz Boneguard Torturer to your next battle; defeat to obtain 3 Funds"},{"name":"Bounty/Special III","desc":"Adds 1 Londinium Precision Mobile Defense Artillery to your next battle; defeat to obtain 3 Funds"},{"name":"Bounty/Special III","desc":"Adds 1 Blackhorn Rhuul to your next battle; defeat to obtain 3 Funds"},{"name":"Bounty/Special III","desc":"Adds 1 Wooden Burdenbeast of Ilion to your next battle; defeat to obtain 3 Funds"},{"name":"Bounty/Special II","desc":"Adds 1 Frostcradler Fowlbeast to your next battle; defeat to obtain 2 Funds"},{"name":"Bounty/Special II","desc":"Adds 1 Abnormal Manglerbeast α to your next battle; defeat to obtain 2 Funds"},{"name":"Bounty/Injury I","desc":"Adds 1 Uneasy Designer to your next battle; defeat to obtain 1 Funds"},{"name":"Bounty/Special I","desc":"Adds 1 Decode Basis α to your next battle; defeat to obtain 1 Funds"},{"name":"Bounty/Special I","desc":"Adds 1 Snowchild to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Special I","desc":"Adds 1 Novice Acolyte to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Special I","desc":"Adds 1 Careless Underling to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Special II","desc":"Adds 1 Derisive Audience to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Special II","desc":"Adds 1 Suiton Ninja to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Special III","desc":"Adds 1 Handmade Catapult to your next 2 battles; defeat to obtain 3 Funds"},{"name":"Bounty/Injury I","desc":"Adds 1 Audio Technician to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Special I","desc":"Adds 1 Confused Maintenance Helper to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Special I","desc":"Adds 1 Infused Originium Slug to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Special II","desc":"Adds 1 Shrine Swordsman to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Special II","desc":"Adds 1 Avenger to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Injury III","desc":"Adds 1 Hero's Sidekick to your next 2 battles; defeat to obtain 3 Funds"},{"name":"Bounty/Special I","desc":"Adds 1 Carnevale Balloon to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Special I","desc":"Adds 1 Basic Slug to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Refraction I","desc":"Adds 1 Dublinn Sniffer Hound Pro to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Flying II","desc":"Adds 1 Lucky Flyfin to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Special II","desc":"Adds 1 Garum Gourmet to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Injury III","desc":"Adds 1 Villain's Minion to your next 2 battles; defeat to obtain 3 Funds"},{"name":"Bounty/Continuous I","desc":"Adds 1 Sarkaz Witherer to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Frequency I","desc":"Adds 1 Vernacularism to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Special I","desc":"Adds 1 Lurker to your next 2 battles; defeat to obtain 1 Funds"},{"name":"Bounty/Special II","desc":"Adds 1 'Unicycle Toy' to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Injury II","desc":"Adds 1 Armorless Union Cleanup Squad to your next 2 battles; defeat to obtain 2 Funds"},{"name":"Bounty/Injury III","desc":"Adds 1 Boiling Pot to your next 2 battles; defeat to obtain 3 Funds"},{"name":"Skullshatterer/Bounty","desc":"Adds 1 Skullshatterer to your next battle; defeat to obtain 1 Funds"},{"name":"Sarkaz Centurion/Bounty","desc":"Adds 1 Sarkaz Centurion to your next battle; defeat to obtain 2 Funds"},{"name":"Crownslayer/Bounty","desc":"Adds 1 Crownslayer to your next battle; defeat to obtain 1 Funds"},{"name":"Mudrock/Bounty","desc":"Adds 1 Mudrock to your next battle; defeat to obtain 4 Funds"},{"name":"Corrupted Knight/Bounty","desc":"Adds 1 Corrupted Knight to the next battle; defeat to obtain 3 Funds"},{"name":"Withered Knight/Bounty","desc":"Adds 1 Withered Knight to your next battle; defeat to obtain 3 Funds"},{"name":"'Forsaken One'/Bounty","desc":"Adds 1 'Forsaken One' to your next battle; defeat to obtain 4 Funds"},{"name":"Jetman/Bounty","desc":"Adds 1 Jetman to your next battle; defeat to obtain 3 Funds"},{"name":"Jesselton Williams/Bounty","desc":"Adds 1 Jesselton Williams to your next battle; defeat to obtain 4 Funds"},{"name":"W/Bounty","desc":"Adds 1 W to your next battle; defeat to obtain 1 Funds"},{"name":"'Rat King'/Bounty","desc":"Adds 1 'Rat King' to your next battle; defeat to obtain 2 Funds"},{"name":"'Pompeii'/Bounty","desc":"Adds 1 'Pompeii' to your next battle; defeat to obtain 2 Funds"},{"name":"Big Bob/Bounty","desc":"Adds 1 Big Bob to your next battle; defeat to obtain 2 Funds"},{"name":"'Free'/Bounty","desc":"Adds 1 'Free' to your next battle; defeat to obtain 4 Funds"},{"name":"Degenbrecher/Bounty","desc":"Adds 1 Degenbrecher to your next battle; defeat to obtain 5 Funds"},{"name":"Zaaro, Signore dei Lupi/Bounty","desc":"Adds 1 Zaaro, Signore dei Lupi to your next battle; defeat to obtain 5 Funds"},{"name":"'Gravestone'/Bounty","desc":"Adds 1 'Gravestone' to your next battle; defeat to obtain 4 Funds"},{"name":"Lost Colossus/Bounty","desc":"Adds 1 Lost Colossus to your next battle; defeat to obtain 5 Funds"},{"name":"Mio/Bounty","desc":"Adds 1 Mio to your next battle; defeat to obtain 3 Funds"},{"name":"'The Big Ugly Thing'/Bounty","desc":"Adds 1 The Big, Ugly Thing to your next battle; defeat to obtain 5 Funds"},{"name":"'Hateful Avenger'/Bounty","desc":"Adds 1 'Hateful Avenger' to your next battle; defeat to obtain 6 Funds"},{"name":"'Demon's Blade'/Bounty","desc":"Adds 1 'Demon's Blade' to your next battle; defeat to obtain 3 Funds"},{"name":"Fallen Snowpriest/Bounty","desc":"Adds 1 Fallen Snowpriest to your next battle; defeat to obtain 3 Funds"},{"name":"Weaving Vinecreeps/Bounty","desc":"Adds 1 Weaving Vinecreeps to your next battle; defeat to obtain 3 Funds"},{"name":"Multi-Round Bounties/OpFor: Fissure","desc":"Adds 1 OpFor: Fissure (Deals continuous damage when defeated) to every subsequent battle; grants 1 Funds to whoever defeats it"},{"name":"Multi-Round Bounties/OpFor: Quagmire","desc":"Adds 1 OpFor: Quagmire (Deals Elemental Injury) to every subsequent battle; grants 1 Funds to whoever defeats it"},{"name":"Multi-Round Bounties/OpFor: Bonespur","desc":"Adds 1 OpFor: Bonespur (Has Invisibility) to every subsequent battle; grants 1 Funds to whoever defeats it"},{"name":"Multi-Round Bounties/OpFor: BlackCloud","desc":"Adds 1 OpFor: BlackCloud (Aerial enemy) to every subsequent battle; grants 1 Funds to whoever defeats it"},{"name":"Multi-Round Bounties/OpFor: Rebirth","desc":"Adds 1 OpFor: Rebirth (Needs multiple hits to be defeated) to every subsequent battle; grants 1 Funds to whoever defeats it"},{"name":"Multi-Round Bounties/OpFor: Mirror","desc":"Adds 1 OpFor: Mirror (Has Refraction) to every subsequent battle; grants 1 Funds to whoever defeats it"}],"tactic":[{"name":"Equip","desc":"Obtain 2 pieces of Tier 1 equipment; also affects Teammates"},{"name":"Skadi's Pledge","desc":"+8 stacks to Ægir, Raid, and Durable Alliances; also affects Teammates"},{"name":"Swire's Pledge","desc":"+10 stacks to Yan and Investor Alliances; also affects Teammates"},{"name":"Bagpipe's Pledge","desc":"+8 stacks to Victoria, Foresight, and Resilient Alliances; also affects Teammates"},{"name":"SilverAsh's Pledge","desc":"+8 stacks to Kjerag, Investor, and Swift Alliances; also affects Teammates"},{"name":"Mostima's Pledge","desc":"+10 stacks to Laterano and Arcane Alliances; also affects Teammates"},{"name":"Titi's Pledge","desc":"+10 stacks to Sargon and Precision Alliances; also affects Teammates"},{"name":"Młynar's Pledge","desc":"+12 stacks to Kazimierz Alliance; also affects Teammates"},{"name":"Texas's Pledge","desc":"+10 stacks to Siracusa and Raid Alliances; also affects Teammates"},{"name":"Wealth","desc":"Obtain 1 Funds; also affects Teammates"},{"name":"Supply","desc":"Next 2 refreshes are free (can stack); also affects Teammates"},{"name":"Preparation","desc":"The next equipment you buy will already be upgraded"},{"name":"Promotion","desc":"The next Operator you buy will already be promoted to Elite"},{"name":"Yanese Support","desc":"You obtain a random Yan Alliance Operator"},{"name":"Kjeragi Support","desc":"You obtain a random Kjerag Alliance Operator"},{"name":"Sargonian Support","desc":"You obtain a random Sargon Alliance Operator"},{"name":"Siracusan Support","desc":"You obtain a random Siracusa Alliance Operator"},{"name":"Kazimierzian Support","desc":"You obtain a random Kazimierz Alliance Operator"},{"name":"Lateran Support","desc":"You obtain a random Lateran Alliance Operator"},{"name":"Victorian Support","desc":"You obtain a random Victoria Alliance Operator"},{"name":"Ægirian Support","desc":"You obtain a random Ægir Alliance Operator"},{"name":"Recovery","desc":"Allied units recover 50 HP on taking damage; also affects Teammates"},{"name":"Firepower","desc":"If there are at least 3 units on the Bench when Rest Phase ends, all allied Operators ignore 20 RES; also affects Teammates"},{"name":"Draft","desc":"When the battle starts, if there are at least 3 Operators deployed in a row on the battlefield, all allied Operators -50% Redeployment Time; also affects Teammates"},{"name":"Flawless","desc":"When allied Operators have full HP, gain +30% ATK and DEF; also affects Teammates"},{"name":"Acute","desc":"If the Bench is empty when Rest Phase ends, all allied Operators ignore 30% DEF; also affects Teammates"},{"name":"Rejection: Weakness","desc":"All enemies -5% ATK"},{"name":"Rejection: Fragility","desc":"All enemies -100 DEF"},{"name":"Rejection: Hallucination","desc":"All enemies -3 RES"},{"name":"Punishment: Weakness","desc":"Elite enemies -6% ATK"},{"name":"Punishment: Fragility","desc":"Elite enemies -150 DEF"},{"name":"Punishment: Hallucination","desc":"Elite enemies -5 RES"},{"name":"Verdict: Weakness","desc":"Leader enemies -7% ATK"},{"name":"Verdict: Fragility","desc":"Leader enemies -200 DEF"},{"name":"Verdict: Hallucination","desc":"Leader enemies -7 RES"},{"name":"Simulation Shift/Mode 1","desc":"Remove all Barricades on the battlefield"},{"name":"Simulation Shift/Mode 2","desc":"Turns all Barricades on the battlefield to Ranged Tiles"},{"name":"Simulation Shift/Mode 3","desc":"Remove all Barricades on the battlefield"},{"name":"Simulation Shift/Mode 4","desc":"Remove Barricades on the left side of the battlefield"},{"name":"Simulation Shift/Mode 5","desc":"You can deploy both High Ground and Ground Operators on Ranged Tiles on the right side of the battlefield"},{"name":"Simulation Shift/Mode 6","desc":"Remove all Barricades on the battlefield"},{"name":"Simulation Shift/Mode 8","desc":"The battlefield's Sandstorm stops"},{"name":"Simulation Shift/Mode 9","desc":"All Thickets on the field will vanish"}],"_h":"i2ash5b2njruiyqzmrh5eqq2hcbpp7kfigc9l8pu9tu7wo21q24w37atlturw4mn53xy6yh80e77adpq04da0ek8adk1ww2g4rko8msbu6tcuth8acjwu6wkutcjyfg3feedjd65jd2h34bcqjom34ut34zi3wgi3jdwpekmui9zh5h9o0avuiz2h5i6f9sd4kw2vrrijbyxuirtqxxujbdduilyg6splpliks5364b16724z6kw677j67fq87xv87m687v987ey87qj87z087vh87oaok9wokl4jdk8h14mh1z0h1y3h1veokw5oklh87ltjdgoh1wqh19wok2tokjnqjqoh1hbh1o964pkadwvokgyqj9yuircu67ph1jdokyd34jpqj0n792ta9803094jp7m9e4c480ub54y3k06rxy68miylzb6fzl6s6aj1so7xq2etl2xhep5e4rwqj1pixtd6fu272tklpqbwkjup1ebxnjz2t2xgpbtpfb16fyg0pe6mlbad1rgfk843zoic7akw7yx4wqwx4mu4rs6crmd7wvsncwgrc8u2sqhw491kddeqypnhdlyl4dps6mnnjggj7xks0plpqld8yb294zemz1u0fqo80guzng2af7l27ekk8mfw8uk6cp1n43tbjp1it0u3cfeubp105t30z18"}},"enemies":{"enemy_1000_gopro_2":{"descRaw":"A <@eb.key>fast-moving creature controlled by a Reunion recon squad that is more dangerous than a normal Hound.","name":"Hound Pro","desc":"A fast-moving creature controlled by a Reunion recon squad that is more dangerous than a normal Hound.","_h":"4hahci"},"enemy_1001_bigbo":{"descRaw":"One of Reunion's special melee soldiers who attacks using an electric chainsaw. He has high <@eb.danger>HP, ATK, and DEF","name":"Big Bob","desc":"One of Reunion's special melee soldiers who attacks using an electric chainsaw. He has high HP, ATK, and DEF","_h":"o8s66z"},"enemy_1005_yokai":{"descRaw":"<@eb.key>[Aerial Unit] An unmanned enemey drone that does not attack.","name":"Monster","desc":"[Aerial Unit] An unmanned enemey drone that does not attack.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."}],"_h":"4eplxd6969"},"enemy_1005_yokai_2":{"descRaw":"<@eb.key>[Aerial Unit] An improved version of the Monster that can launch <@eb.key>ranged attacks.","name":"Monster Mk II","desc":"[Aerial Unit] An improved version of the Monster that can launch ranged attacks.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."}],"_h":"8fjr3z6969"},"enemy_1005_yokai_3":{"descRaw":"<@eb.key>[Aerial Unit] A larger, more resilient unmanned drone that can launch <@eb.key>ranged attacks.","name":"Raptor","desc":"[Aerial Unit] A larger, more resilient unmanned drone that can launch ranged attacks.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."}],"_h":"8n73f56969"},"enemy_1006_shield":{"descRaw":"A Reunion melee soldier that has <@eb.key>very high defense and is difficult to take down.","name":"Heavy Defender","desc":"A Reunion melee soldier that has very high defense and is difficult to take down.","_h":"qsjxbz"},"enemy_1006_shield_2":{"descRaw":"A more dangerous version of the Heavy Defender that has <@eb.key>very high defense and is difficult to take down.","name":"Heavy Defender Leader","desc":"A more dangerous version of the Heavy Defender that has very high defense and is difficult to take down.","_h":"b3db6o"},"enemy_1006_shield_3":{"descRaw":"A heavily-armored elite soldier, more dangerous than a Heavy Defender Leader, that has <@eb.key>very high defense and is difficult to take down.","name":"Heavy Defender Lieutenant","desc":"A heavily-armored elite soldier, more dangerous than a Heavy Defender Leader, that has very high defense and is difficult to take down.","_h":"o71e48"},"enemy_1007_slime":{"descRaw":"An infected wild creature.","name":"Originium Slug","desc":"An infected wild creature.","_h":"4lml4l"},"enemy_1009_lurker":{"descRaw":"One of Reunion's special soldiers, <@eb.key>cannot be attacked unless blocked","name":"Lurker","desc":"One of Reunion's special soldiers, cannot be attacked unless blocked","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"}],"_h":"wle35ujteo"},"enemy_1010_demon":{"descRaw":"A mercenary from Sarkaz who boasts <@eb.key>fairly high ATK and RES.","name":"Sarkaz Greatswordsman","desc":"A mercenary from Sarkaz who boasts fairly high ATK and RES.","_h":"0i6ej3"},"enemy_1010_demon_2":{"descRaw":"A more dangerous mercenary from Sarkaz who boasts <@eb.key>fairly high ATK and RES.","name":"Sarkaz Greatswordsman Leader","desc":"A more dangerous mercenary from Sarkaz who boasts fairly high ATK and RES.","_h":"cz6gi2"},"enemy_1017_defdrn":{"descRaw":"<@eb.key>[Aerial Unit] A drone that can <@eb.key>increase the DEF of allied units around them.","name":"Defender-4","desc":"[Aerial Unit] A drone that can increase the DEF of allied units around them.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Increases the DEF of surrounding enemy units","text":"Increases the DEF of surrounding enemy units"}],"_h":"o46ws66969c7c7"},"enemy_1019_jshoot":{"descRaw":"A ranged soldier that <@eb.key>cannot be attacked unless blocked.","name":"Invisible Crossbowman","desc":"A ranged soldier that cannot be attacked unless blocked.","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"}],"_h":"9xk3uqjteo"},"enemy_1019_jshoot_2":{"descRaw":"A stronger version of the Invisible Crossman that <@eb.key>cannot be attacked unless blocked.","name":"Invisible Crossbowman Leader","desc":"A stronger version of the Invisible Crossman that cannot be attacked unless blocked.","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"}],"_h":"3l1q2mjteo"},"enemy_1021_bslime":{"descRaw":"An infected wild creature that <@eb.danger>explodes upon death.","name":"Infused Originium Slug","desc":"An infected wild creature that explodes upon death.","abilities":[{"textRaw":"Death deals a large amount of Physical damage to surrounding units","text":"Death deals a large amount of Physical damage to surrounding units"}],"_h":"rouo1nvovo"},"enemy_1023_jmage":{"descRaw":"A caster that <@eb.key>cannot be attacked unless blocked.","name":"Invisible Caster","desc":"A caster that cannot be attacked unless blocked.","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"}],"_h":"sgi8cjjteo"},"enemy_1025_reveng":{"descRaw":"A soldier that has a stronger will to fight when <@eb.key>low on HP.","name":"Avenger","desc":"A soldier that has a stronger will to fight when low on HP.","abilities":[{"textRaw":"Gains significantly increased ATK when HP is under 50%","text":"Gains significantly increased ATK when HP is under 50%"}],"_h":"5xp25o6z6z"},"enemy_1026_aghost":{"descRaw":"A tougher Reunion engineer that boasts higher DEF and HP than a regular Wraith and <@eb.key>cannot be blocked. Must be eliminated as quickly as possible.","name":"Wraith Leader","desc":"A tougher Reunion engineer that boasts higher DEF and HP than a regular Wraith and cannot be blocked. Must be eliminated as quickly as possible.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."}],"_h":"r9j6acufuf"},"enemy_1040_bombd":{"descRaw":"<@eb.key>[Aerial Unit] Each of them carries an explosive that can be fired at nearby Operators to cause AOE physical damage.","name":"Bombtail","desc":"[Aerial Unit] Each of them carries an explosive that can be fired at nearby Operators to cause AOE physical damage.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Can launch a warhead to deal AoE physical damage","text":"Can launch a warhead to deal AoE physical damage"},{"textRaw":"Gains significantly increased Movement Speed after launching warhead","text":"Gains significantly increased Movement Speed after launching warhead"}],"_h":"jy6hel6969hthtv9v9"},"enemy_1041_lazerd":{"descRaw":"<@eb.key>[Aerial Unit] A fast flying unit that can attack using <@eb.key>ranged Arts.","name":"Arts Master A1","desc":"[Aerial Unit] A fast flying unit that can attack using ranged Arts.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."}],"_h":"4vigud6969"},"enemy_1041_lazerd_2":{"descRaw":"<@eb.key>[Aerial Unit] By trading off flight speed for power, they have a significantly stronger <@eb.key>ranged Arts attack.","name":"Arts Master A2","desc":"[Aerial Unit] By trading off flight speed for power, they have a significantly stronger ranged Arts attack.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."}],"_h":"fqldcm6969"},"enemy_1042_frostd":{"descRaw":"<@eb.key>[Aerial Unit] A flying unit with high DEF that can significantly reduce the <@eb.key>attack speed of nearby Operators.","name":"Frost","desc":"[Aerial Unit] A flying unit with high DEF that can significantly reduce the attack speed of nearby Operators.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"All friendly units within range have reduced ASPD","text":"All friendly units within range have reduced ASPD"}],"_h":"mad7p86969t3t3"},"enemy_1043_zomsbr":{"descRaw":"A soldier that has been controlled by an unknown entity, capable of regenerating rapidly.","name":"Possessed Soldier","desc":"A soldier that has been controlled by an unknown entity, capable of regenerating rapidly.","abilities":[{"textRaw":"Regenerates HP over time.","text":"Regenerates HP over time."}],"_h":"xlnfxlcgcg"},"enemy_1045_hammer":{"descRaw":"An elite Reunion soldier clad in a heavy blast suit, capable of <@eb.key>stunning Operators after a few attacks.","name":"Defense Crusher","desc":"An elite Reunion soldier clad in a heavy blast suit, capable of stunning Operators after a few attacks.","abilities":[{"textRaw":"After two attacks, the next attack <$ba.stun>Stuns its target","text":"After two attacks, the next attack Stuns its target"}],"_h":"m9u4cme12f"},"enemy_1045_hammer_2":{"descRaw":"A more dangerous Defense Crusher, capable of <@eb.key>stunning Operators after a few attacks.","name":"Defense Crusher Leader","desc":"A more dangerous Defense Crusher, capable of stunning Operators after a few attacks.","abilities":[{"textRaw":"After two attacks, the next attack <$ba.stun>Stuns its target","text":"After two attacks, the next attack Stuns its target"}],"_h":"eaveu9e12f"},"enemy_1046_agent":{"descRaw":"A basic melee soldier. They are equipped with armor that can withstand some Arts damage.","name":"Infantry","desc":"A basic melee soldier. They are equipped with armor that can withstand some Arts damage.","_h":"tsbzts"},"enemy_1050_lslime":{"descRaw":"Operators attacked by this grotesque beast suffer from Immolation Damage over time. When blocked, erupts to deal <@eb.danger>heavy damage to surrounding units.","name":"'Pompeii'","desc":"Operators attacked by this grotesque beast suffer from Immolation Damage over time. When blocked, erupts to deal heavy damage to surrounding units.","abilities":[{"textRaw":"Can attack up to 4 targets at once and ignites targets it attacks, dealing Immolation damage over time","text":"Can attack up to 4 targets at once and ignites targets it attacks, dealing Immolation damage over time"},{"textRaw":"Self-immolates when blocked, dealing heavy damage","text":"Self-immolates when blocked, dealing heavy damage"},{"textRaw":"Gains significantly increased ASPD when HP drops to half","text":"Gains significantly increased ASPD when HP drops to half"}],"_h":"2pcxgw8b8b6f6frzrz"},"enemy_1061_zomshd":{"descRaw":"A heavy defender that has been controlled by an unknown entity, capable of regenerating rapidly.","name":"Possessed Heavy Defender","desc":"A heavy defender that has been controlled by an unknown entity, capable of regenerating rapidly.","abilities":[{"textRaw":"Regenerates HP over time.","text":"Regenerates HP over time."}],"_h":"efplefcgcg"},"enemy_1062_rager_2":{"descRaw":"A possessed enemy combatant that has completely given in to madness, having <@eb.danger>extremely high ATK. Loses HP over time.","name":"Enraged Possessed Leader","desc":"A possessed enemy combatant that has completely given in to madness, having extremely high ATK. Loses HP over time.","abilities":[{"textRaw":"Will gradually lose HP over time","text":"Will gradually lose HP over time"}],"_h":"i87wr7n5n5"},"enemy_1067_snslime":{"descRaw":"An infected wild creature native to colder environments that has become unstable due to assimilating a large amount of Originium into its abdomen. Upon death, they will explode, inflicting <@eb.key>Cold on nearby Operators.","name":"Infused Glacial Originium Slug","desc":"An infected wild creature native to colder environments that has become unstable due to assimilating a large amount of Originium into its abdomen. Upon death, they will explode, inflicting Cold on nearby Operators.","abilities":[{"textRaw":"Upon death, deals Physical damage in an area and applies <$ba.cold>Cold to affected targets","text":"Upon death, deals Physical damage in an area and applies Cold to affected targets"}],"_h":"oa2fd3eeum"},"enemy_1069_icebrk_2":{"descRaw":"A special Yeti Squadron elite melee combatant, capable of inflicting catastrophic damage to <@eb.key>Frozen units","name":"Yeti Icecleaver Leader","desc":"A special Yeti Squadron elite melee combatant, capable of inflicting catastrophic damage to Frozen units","abilities":[{"textRaw":"Attack power increases greatly when attacking <$ba.frozen>Frozen targets","text":"Attack power increases greatly when attacking Frozen targets"}],"_h":"iv2muim3an"},"enemy_1071_dftman":{"descRaw":"A mercenary from Sarkaz who boasts <@eb.key>fairly high RES.","name":"Sarkaz Swordsman","desc":"A mercenary from Sarkaz who boasts fairly high RES.","_h":"1ieq3j"},"enemy_1072_dlancer":{"descRaw":"Gradually <@eb.key>accelerates when moving, dealing bonus damage on the first hit after being blocked based upon <@eb.key>Movement Speed.","name":"Sarkaz Lancer","desc":"Gradually accelerates when moving, dealing bonus damage on the first hit after being blocked based upon Movement Speed.","abilities":[{"textRaw":"Gradually accelerates when moving, and deals additional damage on the first attack after being blocked based upon Movement Speed.","text":"Gradually accelerates when moving, and deals additional damage on the first attack after being blocked based upon Movement Speed."}],"_h":"ryu9nsibib"},"enemy_1081_sotisd":{"descRaw":"Covers the advance of enemy troops by making themselves more likely to be attacked.","name":"Guerrilla Shieldguard","desc":"Covers the advance of enemy troops by making themselves more likely to be attacked.","abilities":[{"textRaw":"More likely to be targeted by attacks.","text":"More likely to be targeted by attacks."}],"_h":"9uky9u3e3e"},"enemy_1092_mdgint":{"descRaw":"A mindless construct born of Mudrock's Arts, requires Mudrock's direct manipulation.","name":"Mudrock Colossus","desc":"A mindless construct born of Mudrock's Arts, requires Mudrock's direct manipulation.","_h":"ywvmyw"},"enemy_1112_emppnt":{"descRaw":"A heavily-armored, sturdily-built drone operated by artillery casters of the Ursus army.","name":"Imperial Artillery Targeteer","desc":"A heavily-armored, sturdily-built drone operated by artillery casters of the Ursus army.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."}],"_h":"xmfpxm6969"},"enemy_1112_emppnt_2":{"descRaw":"A heavily-armored, sturdily-built core drone operated by artillery technicians of the Ursus army.","name":"Imperial Artillery Core Targeteer","desc":"A heavily-armored, sturdily-built core drone operated by artillery technicians of the Ursus army.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."}],"_h":"bxhobx6969"},"enemy_1116_liprr":{"descRaw":"A commonly-seen inmate in the Mansfield State Prison. After being freed, gains <@eb.key>increased ATK.","name":"Ordinary Prisoner","desc":"A commonly-seen inmate in the Mansfield State Prison. After being freed, gains increased ATK.","abilities":[{"textRaw":"Starts imprisoned. When imprisoned, ASPD is reduced","text":"Starts imprisoned. When imprisoned, ASPD is reduced"},{"textRaw":"Freed after a few attacks, gaining increased ATK","text":"Freed after a few attacks, gaining increased ATK"}],"_h":"7rkqvyroror0r0"},"enemy_1116_liprr_2":{"descRaw":"An inmate well-versed in the Mansfield State Prison's rules of survival. After being freed, gains <@eb.key>increased ATK.","name":"Seasoned Prisoner","desc":"An inmate well-versed in the Mansfield State Prison's rules of survival. After being freed, gains increased ATK.","abilities":[{"textRaw":"Starts imprisoned. When imprisoned, ASPD is reduced","text":"Starts imprisoned. When imprisoned, ASPD is reduced"},{"textRaw":"Freed after a few attacks, gaining increased ATK","text":"Freed after a few attacks, gaining increased ATK"}],"_h":"1lkumwroror0r0"},"enemy_1118_lidbox_2":{"descRaw":"An inmate with extreme confidence in his fists. After being freed, attacks <@eb.key>ignore a larger portion of the target's DEF.","name":"Elite Pugilist Prisoner","desc":"An inmate with extreme confidence in his fists. After being freed, attacks ignore a larger portion of the target's DEF.","abilities":[{"textRaw":"Starts imprisoned. When imprisoned, ASPD is reduced","text":"Starts imprisoned. When imprisoned, ASPD is reduced"},{"textRaw":"Freed after a few attacks, gaining increased ATK and attacks ignore a certain portion of the target's DEF","text":"Freed after a few attacks, gaining increased ATK and attacks ignore a certain portion of the target's DEF"}],"_h":"eja1wyroroobob"},"enemy_1119_vofsd":{"descRaw":"A strong inmate who rushes to the forefront of chaotic brawls. After being freed, <@eb.key>gains RES and regenerates HP.","name":"Strongman Prisoner","desc":"A strong inmate who rushes to the forefront of chaotic brawls. After being freed, gains RES and regenerates HP.","abilities":[{"textRaw":"Starts imprisoned. When imprisoned, ASPD is reduced","text":"Starts imprisoned. When imprisoned, ASPD is reduced"},{"textRaw":"Freed after a few attacks, gaining increased ATK and RES and regenerates HP over time","text":"Freed after a few attacks, gaining increased ATK and RES and regenerates HP over time"}],"_h":"hpwybsrorozdzd"},"enemy_1121_lifbos":{"descRaw":"A vicious prisoner feared by inmates and guards alike. When imprisoned, <@eb.key>has extraordinary DEF; After being freed <@eb.key>for the first time, <@eb.key>frees all other enemies on the field.","name":"Recidivist","desc":"A vicious prisoner feared by inmates and guards alike. When imprisoned, has extraordinary DEF; After being freed for the first time, frees all other enemies on the field.","abilities":[{"textRaw":"Starts imprisoned. When imprisoned, ASPD is reduced but gains increased DEF","text":"Starts imprisoned. When imprisoned, ASPD is reduced but gains increased DEF"},{"textRaw":"Freed after a few attacks, gaining increased ATK","text":"Freed after a few attacks, gaining increased ATK"},{"textRaw":"When freed for the first time, immediately frees all other enemies","text":"When freed for the first time, immediately frees all other enemies"}],"_h":"xq1x35i9i9r0r0a6a6"},"enemy_1121_lifbos_2":{"descRaw":"A legendary prisoner whose might is second only to that of Anthony. When imprisoned, <@eb.key>has extraordinary DEF; After being freed <@eb.key>for the first time, <@eb.key>frees all other enemies on the field.","name":"Infamous Recidivist","desc":"A legendary prisoner whose might is second only to that of Anthony. When imprisoned, has extraordinary DEF; After being freed for the first time, frees all other enemies on the field.","abilities":[{"textRaw":"Starts imprisoned. When imprisoned, ASPD is reduced but gains increased DEF","text":"Starts imprisoned. When imprisoned, ASPD is reduced but gains increased DEF"},{"textRaw":"Freed after a few attacks, gaining increased ATK","text":"Freed after a few attacks, gaining increased ATK"},{"textRaw":"When freed for the first time, immediately frees all other enemies","text":"When freed for the first time, immediately frees all other enemies"}],"_h":"s4oglzi9i9r0r0a6a6"},"enemy_1148_dssbr":{"descRaw":"A Sea Terror that crawled ashore. It brandishes its tough appendages menacingly. Attacks inflict additional <@eb.key>Nervous Impairment.","name":"Deep Sea Slider","desc":"A Sea Terror that crawled ashore. It brandishes its tough appendages menacingly. Attacks inflict additional Nervous Impairment.","abilities":[{"textRaw":"Attacks inflict additional <$ba.dt.neural>Nervous Impairment","text":"Attacks inflict additional Nervous Impairment"}],"_h":"anoryinhhs"},"enemy_1148_dssbr_2":{"descRaw":"A Sea Terror that crawled ashore and sated its hunger. Its appendages can cause protein denaturation. Attacks inflict additional <@eb.key>Nervous Impairment.","name":"Nourished Slider","desc":"A Sea Terror that crawled ashore and sated its hunger. Its appendages can cause protein denaturation. Attacks inflict additional Nervous Impairment.","abilities":[{"textRaw":"Attacks inflict additional <$ba.dt.neural>Nervous Impairment","text":"Attacks inflict additional Nervous Impairment"}],"_h":"eyjv87nhhs"},"enemy_1158_divman":{"descRaw":"Immune to<@eb.key>Erosion. While in water, gains increased ATK and <@eb.key>Invisibility","name":"Diver","desc":"Immune toErosion. While in water, gains increased ATK and Invisibility","abilities":[{"textRaw":"Immune to Erosion. While in water, gains increased ATK and <$ba.invisible>Invisibility","text":"Immune to Erosion. While in water, gains increased ATK and Invisibility"}],"_h":"ab7319n819"},"enemy_1160_hvyslr":{"descRaw":"A brawny brute who works at the docks or on Pancho's ships. Can <@eb.key>Stun player's units after a few attacks. Quickly loses HP while under the effects of 'Erosion'","name":"Dockworker","desc":"A brawny brute who works at the docks or on Pancho's ships. Can Stun player's units after a few attacks. Quickly loses HP while under the effects of 'Erosion'","abilities":[{"textRaw":"<$ba.stun>Stuns allied units after several attacks","text":"Stuns allied units after several attacks"},{"textRaw":"Quickly loses HP while under the effects of 'Erosion'","text":"Quickly loses HP while under the effects of 'Erosion'"}],"_h":"yk3xd5rzgnhihi"},"enemy_1160_hvyslr_2":{"descRaw":"Much more robust than regular dockworkers. Can <@eb.key>Stun player's units after a few attacks. Quickly loses HP while under the effects of 'Erosion'","name":"Dockworker Leader","desc":"Much more robust than regular dockworkers. Can Stun player's units after a few attacks. Quickly loses HP while under the effects of 'Erosion'","abilities":[{"textRaw":"<$ba.stun>Stuns allied units after several attacks","text":"Stuns allied units after several attacks"},{"textRaw":"Quickly loses HP while under the effects of 'Erosion'","text":"Quickly loses HP while under the effects of 'Erosion'"}],"_h":"jr46cerzgnhihi"},"enemy_1161_tidmag":{"descRaw":"A professionally trained caster. Adept at <@eb.key>AoE Ranged Arts. Attacks inflict additional <@eb.key>Corrosion","name":"Tidal Caster","desc":"A professionally trained caster. Adept at AoE Ranged Arts. Attacks inflict additional Corrosion","abilities":[{"textRaw":"Attacks deal damage to the target and all allied units in the target's four adjacent tiles, additionally inflicting <$ba.dt.erosion>Corrosion","text":"Attacks deal damage to the target and all allied units in the target's four adjacent tiles, additionally inflicting Corrosion"}],"_h":"djnb37zv8q"},"enemy_1161_tidmag_2":{"descRaw":"A professionally trained tidal caster. Adept at <@eb.key>AoE Ranged Arts. Attacks inflict additional <@eb.key>Corrosion","name":"Tidal Leader","desc":"A professionally trained tidal caster. Adept at AoE Ranged Arts. Attacks inflict additional Corrosion","abilities":[{"textRaw":"Attacks deal damage to the target and all allied units in the target's four adjacent tiles, additionally inflicting <$ba.dt.erosion>Corrosion","text":"Attacks deal damage to the target and all allied units in the target's four adjacent tiles, additionally inflicting Corrosion"}],"_h":"jm0n1qzv8q"},"enemy_1162_magmot":{"descRaw":"A Tidal Caster on a speedboat. Attacks inflict additional <@eb.key>Corrosion. Will continue battle after the vehicle is destroyed","name":"Caster Speedboat","desc":"A Tidal Caster on a speedboat. Attacks inflict additional Corrosion. Will continue battle after the vehicle is destroyed","abilities":[{"textRaw":"Attacks deal damage to the target and all allied units in the target's four adjacent tiles, additionally inflicting <$ba.dt.erosion>Corrosion","text":"Attacks deal damage to the target and all allied units in the target's four adjacent tiles, additionally inflicting Corrosion"},{"textRaw":"The will continue battle after the vehicle is destroyed","text":"The will continue battle after the vehicle is destroyed"}],"_h":"dqpgg3zv8qa4a4"},"enemy_1165_duhond":{"descRaw":"A creature controlled by the Dublinn forces. When <@eb.key>Refraction is active, RES +70","name":"Dublinn Sniffer Hound","desc":"A creature controlled by the Dublinn forces. When Refraction is active, RES +70","abilities":[{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"pux1g3g6tl"},"enemy_1165_duhond_2":{"descRaw":"Stronger in combat than the average Hound. When <@eb.key>Refraction is active, RES +70","name":"Dublinn Sniffer Hound Pro","desc":"Stronger in combat than the average Hound. When Refraction is active, RES +70","abilities":[{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"1hsoc8g6tl"},"enemy_1166_dusbr":{"descRaw":"A scout for the Dublinn forces. When <@eb.key>Refraction is active, RES +70","name":"Dublinn Scout","desc":"A scout for the Dublinn forces. When Refraction is active, RES +70","abilities":[{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"qihmp7g6tl"},"enemy_1166_dusbr_2":{"descRaw":"A scout leader in the Dublinn forces. When <@eb.key>Refraction is active, RES +70","name":"Dublinn Scout Leader","desc":"A scout leader in the Dublinn forces. When Refraction is active, RES +70","abilities":[{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"53qxd6g6tl"},"enemy_1168_dumage":{"descRaw":"A caster in the Dublinn forces. When <@eb.key>Refraction is active, RES +70","name":"Dublinn Shadowcaster","desc":"A caster in the Dublinn forces. When Refraction is active, RES +70","abilities":[{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"w8xz6xg6tl"},"enemy_1168_dumage_2":{"descRaw":"A caster leader in the Dublinn forces. When <@eb.key>Refraction is active, RES +70","name":"Dublinn Shadowcaster Leader","desc":"A caster leader in the Dublinn forces. When Refraction is active, RES +70","abilities":[{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"ru39obg6tl"},"enemy_1169_duphlx":{"descRaw":"Phalanx Infantry near each other will support one another, <@eb.key>increasing their DEF. When <@eb.key>Refraction is active, RES +70","name":"Dublinn Phalanx Infantry","desc":"Phalanx Infantry near each other will support one another, increasing their DEF. When Refraction is active, RES +70","abilities":[{"textRaw":"When other Phalanx Infantry are nearby, DEF increases (stacks)","text":"When other Phalanx Infantry are nearby, DEF increases (stacks)"},{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"s39wzfq5q5g6tl"},"enemy_1169_duphlx_2":{"descRaw":"Phalanx Commanders near each other will support one another, <@eb.key>increasing their DEF. When <@eb.key>Refraction is active, RES +70","name":"Dublinn Phalanx Commander","desc":"Phalanx Commanders near each other will support one another, increasing their DEF. When Refraction is active, RES +70","abilities":[{"textRaw":"When other Phalanx Commanders are nearby, DEF increases (stacks)","text":"When other Phalanx Commanders are nearby, DEF increases (stacks)"},{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"7jr2frfyfyg6tl"},"enemy_1170_dushld":{"descRaw":"A heavy defender in the Dublinn forces. When <@eb.key>Refraction is active, RES +70","name":"Dublinn Heavy Defender","desc":"A heavy defender in the Dublinn forces. When Refraction is active, RES +70","abilities":[{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"pewhqrg6tl"},"enemy_1170_dushld_2":{"descRaw":"A heavy defender leader in the Dublinn forces. When <@eb.key>Refraction is active, RES +70","name":"Dublinn Heavy Defender Leader","desc":"A heavy defender leader in the Dublinn forces. When Refraction is active, RES +70","abilities":[{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"ckqnvpg6tl"},"enemy_1172_dugago":{"descRaw":"<@eb.key>Refraction; After first defeat, temporarily transforms into a stone statue with <@eb.key>extremely high DEF, then revives as an <@eb.key>aerial unit","name":"Tombkeeper Grotesque","desc":"Refraction; After first defeat, temporarily transforms into a stone statue with extremely high DEF, then revives as an aerial unit","abilities":[{"textRaw":"After first defeat, temporarily transforms into a stone statue with extremely high DEF, then revives as an aerial unit","text":"After first defeat, temporarily transforms into a stone statue with extremely high DEF, then revives as an aerial unit"},{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"k0l2g1b3b3g6tl"},"enemy_1172_dugago_2":{"descRaw":"<@eb.key>Refraction; After first defeat, temporarily transforms into a stone statue with <@eb.key>extremely high DEF, then revives as an <@eb.key>aerial unit","name":"Enraged Tombkeeper Grotesque","desc":"Refraction; After first defeat, temporarily transforms into a stone statue with extremely high DEF, then revives as an aerial unit","abilities":[{"textRaw":"After first defeat, temporarily transforms into a stone statue with extremely high DEF, then revives as an aerial unit","text":"After first defeat, temporarily transforms into a stone statue with extremely high DEF, then revives as an aerial unit"},{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"k0zag1b3b3g6tl"},"enemy_1174_duholy":{"descRaw":"<@eb.key>Refraction; More likely to be targeted; When <@eb.key>Companion Shadowblade is nearby, activates a field that <@eb.key>reduces nearby Operators' ASPD","name":"Dublinn Companion Guard","desc":"Refraction; More likely to be targeted; When Companion Shadowblade is nearby, activates a field that reduces nearby Operators' ASPD","abilities":[{"textRaw":"More likely to get attacked by your units","text":"More likely to get attacked by your units"},{"textRaw":"When a is nearby, activates a field that reduces nearby allied units' ASPD","text":"When a is nearby, activates a field that reduces nearby allied units' ASPD"},{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"giuu5j9w9w3y3yg6tl"},"enemy_1174_duholy_2":{"descRaw":"<@eb.key>Refraction; More likely to be targeted; When <@eb.key>Elite Companion Shadowblade is nearby, activates a field that <@eb.key>reduces nearby Operators' ASPD","name":"Dublinn Elite Companion Guard","desc":"Refraction; More likely to be targeted; When Elite Companion Shadowblade is nearby, activates a field that reduces nearby Operators' ASPD","abilities":[{"textRaw":"More likely to get attacked by your units","text":"More likely to get attacked by your units"},{"textRaw":"When a is nearby, activates a field that reduces nearby allied units' ASPD","text":"When a is nearby, activates a field that reduces nearby allied units' ASPD"},{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"}],"_h":"hfmj249w9wlzlzg6tl"},"enemy_1175_dushdo_2":{"descRaw":"<@eb.key>Invisibility; When <@eb.key>Elite Companion Guard is nearby, gains significantly increased ASPD","name":"Dublinn Elite Companion Shadowblade","desc":"Invisibility; When Elite Companion Guard is nearby, gains significantly increased ASPD","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"When a is nearby, significantly increases ASPD","text":"When a is nearby, significantly increases ASPD"}],"_h":"ea9910jteontnt"},"enemy_1183_mlasrt":{"descRaw":"Attacks inflict a certain amount of <@eb.key>Corrosion; After several attacks, the next attack deals increased damage.","name":"Armorless Union Cleanup Squad","desc":"Attacks inflict a certain amount of Corrosion; After several attacks, the next attack deals increased damage.","abilities":[{"textRaw":"Every attack deals <$ba.dt.erosion>Corrosion","text":"Every attack deals Corrosion"},{"textRaw":"After several attacks, the next attack deals more damage","text":"After several attacks, the next attack deals more damage"}],"_h":"32mw6zq4ufdqdq"},"enemy_1195_sfyin":{"descRaw":"Spawns <@eb.key>2 [Wooden Seals] when defeated.","name":"Grindstone","desc":"Spawns 2 [Wooden Seals] when defeated.","abilities":[{"textRaw":"Spawns 2 when defeated","text":"Spawns 2 when defeated"}],"_h":"ca1gtnjiji"},"enemy_1195_sfyin_2":{"descRaw":"Spawns <@eb.key>2 [Rosewood Seals] when defeated.","name":"Brightmirror","desc":"Spawns 2 [Rosewood Seals] when defeated.","abilities":[{"textRaw":"Spawns 2 when defeated","text":"Spawns 2 when defeated"}],"_h":"fakfpvcece"},"enemy_1196_msfyin":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>2 times to defeat.","name":"Wooden Seal","desc":"Does not attack; Cannot be blocked; Must be damaged 2 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 2 times to defeat","text":"Must be damaged 2 times to defeat"}],"_h":"abdxgwufufmrmr"},"enemy_1196_msfyin_2":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>3 times to defeat.","name":"Rosewood Seal","desc":"Does not attack; Cannot be blocked; Must be damaged 3 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 3 times to defeat","text":"Must be damaged 3 times to defeat"}],"_h":"4sm9u9ufufsysy"},"enemy_1197_sfshu":{"descRaw":"Spawns <@eb.key>3 [Novel Scrolls] when defeated.","name":"Vernacularism","desc":"Spawns 3 [Novel Scrolls] when defeated.","abilities":[{"textRaw":"Spawns 3 when defeated","text":"Spawns 3 when defeated"}],"_h":"o3enm4jfjf"},"enemy_1197_sfshu_2":{"descRaw":"Spawns <@eb.key>3 [Painting Scrolls] when defeated.","name":"Sophistication","desc":"Spawns 3 [Painting Scrolls] when defeated.","abilities":[{"textRaw":"Spawns 3 when defeated","text":"Spawns 3 when defeated"}],"_h":"daz0z9j8j8"},"enemy_1198_msfshu":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>3 times to defeat.","name":"Novel Scroll","desc":"Does not attack; Cannot be blocked; Must be damaged 3 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 3 times to defeat","text":"Must be damaged 3 times to defeat"}],"_h":"4sfxu9ufufsysy"},"enemy_1198_msfshu_2":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>4 times to defeat.","name":"Painting Scroll","desc":"Does not attack; Cannot be blocked; Must be damaged 4 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 4 times to defeat","text":"Must be damaged 4 times to defeat"}],"_h":"ihe4niufuf8t8t"},"enemy_1199_sfjin":{"descRaw":"More likely to be attacked by allied units; Spawns <@eb.key>1 [Bronze Mirror] when defeated.","name":"Introspection","desc":"More likely to be attacked by allied units; Spawns 1 [Bronze Mirror] when defeated.","abilities":[{"textRaw":"More likely to be attacked by allied units","text":"More likely to be attacked by allied units"},{"textRaw":"Spawns 1 when defeated","text":"Spawns 1 when defeated"}],"_h":"9s7s69aoaou1u1"},"enemy_1200_msfjin":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>30 times to defeat.","name":"Bronze Mirror","desc":"Does not attack; Cannot be blocked; Must be damaged 30 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 30 times to defeat","text":"Must be damaged 30 times to defeat"}],"_h":"m4xxb1ufufr4r4"},"enemy_1200_msfjin_2":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>35 times to defeat.","name":"Brass Mirror","desc":"Does not attack; Cannot be blocked; Must be damaged 35 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 35 times to defeat","text":"Must be damaged 35 times to defeat"}],"_h":"gvkjuoufufz1z1"},"enemy_1202_msfzhi":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>3 times to defeat.","name":"Wooden Paperweight","desc":"Does not attack; Cannot be blocked; Must be damaged 3 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 3 times to defeat","text":"Must be damaged 3 times to defeat"}],"_h":"4spou9ufufsysy"},"enemy_1202_msfzhi_2":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>4 times to defeat.","name":"Rosewood Paperweight","desc":"Does not attack; Cannot be blocked; Must be damaged 4 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 4 times to defeat","text":"Must be damaged 4 times to defeat"}],"_h":"ihawniufuf8t8t"},"enemy_1203_sfhu":{"descRaw":"Deals area Arts damage when defeated, reducing allied units' ASPD (can be resisted), and spawns <@eb.key>4 [Celadon Teawares] when defeated.","name":"Fountainboil","desc":"Deals area Arts damage when defeated, reducing allied units' ASPD (can be resisted), and spawns 4 [Celadon Teawares] when defeated.","abilities":[{"textRaw":"Upon death, explodes and deals area Arts damage, greatly reducing allied units' ASPD (can be <$ba.buffres>Resisted)","text":"Upon death, explodes and deals area Arts damage, greatly reducing allied units' ASPD (can be Resisted)"},{"textRaw":"Spawns 4 when defeated","text":"Spawns 4 when defeated"}],"_h":"fvjrt0iakp7b7b"},"enemy_1203_sfhu_2":{"descRaw":"Deals area Arts damage when defeated, reducing allied units' ASPD (can be resisted), and spawns <@eb.key>4 [Porcelain Teawares] when defeated.","name":"Rainbowbrew","desc":"Deals area Arts damage when defeated, reducing allied units' ASPD (can be resisted), and spawns 4 [Porcelain Teawares] when defeated.","abilities":[{"textRaw":"Upon death, explodes and deals area Arts damage, greatly reducing allied units' ASPD (can be <$ba.buffres>Resisted)","text":"Upon death, explodes and deals area Arts damage, greatly reducing allied units' ASPD (can be Resisted)"},{"textRaw":"Spawns 4 when defeated","text":"Spawns 4 when defeated"}],"_h":"3u6tvtiakpd2d2"},"enemy_1204_msfhu":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>4 times with <@eb.key>Arts or True damage to defeat.","name":"Celadon Teaware","desc":"Does not attack; Cannot be blocked; Must be damaged 4 times with Arts or True damage to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 4 times by Arts or True damage to defeat","text":"Must be damaged 4 times by Arts or True damage to defeat"}],"_h":"ure0hpufufxkxk"},"enemy_1204_msfhu_2":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>6 times with <@eb.key>Arts or True damage to defeat.","name":"Porcelain Teaware","desc":"Does not attack; Cannot be blocked; Must be damaged 6 times with Arts or True damage to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 6 times by Arts or True damage to defeat","text":"Must be damaged 6 times by Arts or True damage to defeat"}],"_h":"fp8fmnufuf7a7a"},"enemy_1207_sfji":{"descRaw":"Consumes [Broken Blades] to gain increased ATK; When defeated, each unconsumed [Broken Blade] will spawn a [Bronze Spearhead] (at least <@eb.key>1)","name":"Sinkingsand","desc":"Consumes [Broken Blades] to gain increased ATK; When defeated, each unconsumed [Broken Blade] will spawn a [Bronze Spearhead] (at least 1)","abilities":[{"textRaw":"Consumes Broken Blades to gain increased ATK","text":"Consumes Broken Blades to gain increased ATK"},{"textRaw":"When defeated, each unconsumed Broken Blade will spawn a (minimum 1)","text":"When defeated, each unconsumed Broken Blade will spawn a (minimum 1)"}],"_h":"xkafirdndn4q4q"},"enemy_1207_sfji_2":{"descRaw":"Consumes [Broken Blades] to gain increased ATK; When defeated, each unconsumed [Broken Blade] will spawn a [Iron Spearhead] (at least <@eb.key>1)","name":"Sharpedge","desc":"Consumes [Broken Blades] to gain increased ATK; When defeated, each unconsumed [Broken Blade] will spawn a [Iron Spearhead] (at least 1)","abilities":[{"textRaw":"Consumes Broken Blades to gain increased ATK","text":"Consumes Broken Blades to gain increased ATK"},{"textRaw":"When defeated, each unconsumed Broken Blade will spawn a (minimum 1)","text":"When defeated, each unconsumed Broken Blade will spawn a (minimum 1)"}],"_h":"oxzng2dndnwdwd"},"enemy_1208_msfji":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>25 times to defeat.","name":"Bronze Spearhead","desc":"Does not attack; Cannot be blocked; Must be damaged 25 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 25 times to defeat","text":"Must be damaged 25 times to defeat"}],"_h":"fucs9zufufnini"},"enemy_1208_msfji_2":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>30 times to defeat.","name":"Iron Spearhead","desc":"Does not attack; Cannot be blocked; Must be damaged 30 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 30 times to defeat","text":"Must be damaged 30 times to defeat"}],"_h":"m4gjb1ufufr4r4"},"enemy_1209_sfden":{"descRaw":"Grants temporary Invisibility to surrounding enemy units, and spawns <@eb.key>1 [Bronze Lampstand] when defeated.","name":"Clarity","desc":"Grants temporary Invisibility to surrounding enemy units, and spawns 1 [Bronze Lampstand] when defeated.","abilities":[{"textRaw":"Periodically grants temporary <$ba.invisible>Invisibility to surrounding enemy units","text":"Periodically grants temporary Invisibility to surrounding enemy units"},{"textRaw":"Spawns 1 when defeated","text":"Spawns 1 when defeated"}],"_h":"zllmiuz55k8w8w"},"enemy_1209_sfden_2":{"descRaw":"Grants temporary Invisibility to surrounding enemy units, and spawns <@eb.key>1 [Iron Lampstand] when defeated.","name":"Magnificence","desc":"Grants temporary Invisibility to surrounding enemy units, and spawns 1 [Iron Lampstand] when defeated.","abilities":[{"textRaw":"Periodically grants temporary <$ba.invisible>Invisibility to surrounding enemy units","text":"Periodically grants temporary Invisibility to surrounding enemy units"},{"textRaw":"Spawns 1 when defeated","text":"Spawns 1 when defeated"}],"_h":"7c5iqvz55k8h8h"},"enemy_1210_msfden":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>35 times to defeat.","name":"Bronze Lampstand","desc":"Does not attack; Cannot be blocked; Must be damaged 35 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 35 times to defeat","text":"Must be damaged 35 times to defeat"}],"_h":"gvosuoufufz1z1"},"enemy_1210_msfden_2":{"descRaw":"Does not attack; Cannot be blocked; Must be damaged <@eb.key>45 times to defeat.","name":"Iron Lampstand","desc":"Does not attack; Cannot be blocked; Must be damaged 45 times to defeat.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Must be damaged 45 times to defeat","text":"Must be damaged 45 times to defeat"}],"_h":"ykgzplufufqkqk"},"enemy_1229_darmy":{"descRaw":"Attacks deal <@eb.key>Arts damage and <@eb.key>Necrosis.","name":"Sarkaz Royal Court Soldier","desc":"Attacks deal Arts damage and Necrosis.","abilities":[{"textRaw":"Attacks deal <$ba.dt.apoptosis>Necrosis","text":"Attacks deal Necrosis"}],"_h":"1503pvmw7k"},"enemy_1229_darmy_2":{"descRaw":"Attacks deal <@eb.key>Arts damage and <@eb.key>Necrosis.","name":"Sarkaz Royal Court Elite Soldier","desc":"Attacks deal Arts damage and Necrosis.","abilities":[{"textRaw":"Attacks deal <$ba.dt.apoptosis>Necrosis","text":"Attacks deal Necrosis"}],"_h":"150xpvmw7k"},"enemy_1234_dsubrl":{"descRaw":"Continually inflicts <@eb.key>Arts damage and <@eb.key>Nervous Impairment in an area around it; Has <@eb.key>status resistance and is immune to slowing effects.","name":"Nethersea Swarmcaller","desc":"Continually inflicts Arts damage and Nervous Impairment in an area around it; Has status resistance and is immune to slowing effects.","abilities":[{"textRaw":"Continually inflicts Arts damage and <$ba.dt.neural>Nervous Impairment in an area around it","text":"Continually inflicts Arts damage and Nervous Impairment in an area around it"},{"textRaw":"Has <$ba.buffres>Status resistance and is immune to <$ba.sluggish>Slow","text":"Has Status resistance and is immune to Slow"}],"_h":"y9nacoagfh0pty"},"enemy_1234_dsubrl_2":{"descRaw":"Continually inflicts <@eb.key>Arts damage and <@eb.key>Nervous Impairment in an area around it; Has <@eb.key>status resistance and is immune to slowing effects.","name":"Nourished Swarmcaller","desc":"Continually inflicts Arts damage and Nervous Impairment in an area around it; Has status resistance and is immune to slowing effects.","abilities":[{"textRaw":"Continually inflicts Arts damage and <$ba.dt.neural>Nervous Impairment in an area around it","text":"Continually inflicts Arts damage and Nervous Impairment in an area around it"},{"textRaw":"Has <$ba.buffres>Status resistance and is immune to <$ba.sluggish>Slow","text":"Has Status resistance and is immune to Slow"}],"_h":"y9mycoagfh0pty"},"enemy_1249_lysdb_2":{"descRaw":"Blocks 1 instance of Physical or Arts damage","name":"Rhine Defense Senior Member","desc":"Blocks 1 instance of Physical or Arts damage","abilities":[{"textRaw":"Blocks 1 instance of Physical or Arts damage","text":"Blocks 1 instance of Physical or Arts damage"}],"_h":"8qwi8q8q8q"},"enemy_1251_lysyta":{"descRaw":"A product of Dorothy's failed experiments.","name":"Dor-1 Failure","desc":"A product of Dorothy's failed experiments.","abilities":[{"textRaw":"When touching an inactive , the Power Armor recovers some SP","text":"When touching an inactive , the Power Armor recovers some SP"}],"_h":"4f8y4f8989"},"enemy_1251_lysyta_2":{"descRaw":"A product of Dorothy's failed experiments. Even though it fell far below expectations, she remains ever hopeful.","name":"Dor-α Failure","desc":"A product of Dorothy's failed experiments. Even though it fell far below expectations, she remains ever hopeful.","abilities":[{"textRaw":"When touching an inactive , the Power Armor recovers some SP","text":"When touching an inactive , the Power Armor recovers some SP"}],"_h":"zotuzo8989"},"enemy_1252_lysytb_2":{"descRaw":"A product of Dorothy's repeated experiments. Dreams must ultimately feed back into reality, and she hopes to be a warm and safe harbor.","name":"Dor-β Replica","desc":"A product of Dorothy's repeated experiments. Dreams must ultimately feed back into reality, and she hopes to be a warm and safe harbor.","abilities":[{"textRaw":"When touching an inactive , the Power Armor recovers some SP","text":"When touching an inactive , the Power Armor recovers some SP"}],"_h":"udcaud8989"},"enemy_1254_lypa_2":{"descRaw":"An unpiloted Power Armor. It seems to have a mind of its own.","name":"Test Power Armor","desc":"An unpiloted Power Armor. It seems to have a mind of its own.","_h":"z3z1z3"},"enemy_1267_nhpbr":{"descRaw":"Part of the Nachzehrer army. Releases <@eb.key>Corruption when defeated, causing your nearby units to continuously lose HP.","name":"Sarkaz Witherer","desc":"Part of the Nachzehrer army. Releases Corruption when defeated, causing your nearby units to continuously lose HP.","abilities":[{"textRaw":"Releases Corruption when defeated, causing your nearby units to continuously lose HP","text":"Releases Corruption when defeated, causing your nearby units to continuously lose HP"}],"_h":"dt9g0aenen"},"enemy_1267_nhpbr_2":{"descRaw":"Elite member of the Nachzehrer army. Releases <@eb.key>Corruption when defeated, causing your nearby units to continuously lose HP.","name":"Sarkaz Witherer Captain","desc":"Elite member of the Nachzehrer army. Releases Corruption when defeated, causing your nearby units to continuously lose HP.","abilities":[{"textRaw":"Releases Corruption when defeated, causing your nearby units to continuously lose HP","text":"Releases Corruption when defeated, causing your nearby units to continuously lose HP"}],"_h":"a3z19genen"},"enemy_1269_nhfly":{"descRaw":"<@eb.key>[Aerial Unit], self-destructs when near an Operator, dealing Physical Damage.","name":"Seed of Withering","desc":"[Aerial Unit], self-destructs when near an Operator, dealing Physical Damage.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Self-destructs when near an Operator, dealing Physical damage","text":"Self-destructs when near an Operator, dealing Physical damage"}],"_h":"i75tt06969k1k1"},"enemy_1270_nhstlk":{"descRaw":"<@eb.key>Fast movement. Attacks cause the target to take Arts Damage over time. <@eb.key>Effect removed when the target is healed.","name":"Rotchaser","desc":"Fast movement. Attacks cause the target to take Arts Damage over time. Effect removed when the target is healed.","abilities":[{"textRaw":"Attacks cause the target to take Arts damage over time; effect removed when the target is healed","text":"Attacks cause the target to take Arts damage over time; effect removed when the target is healed"}],"_h":"j29crsajaj"},"enemy_1270_nhstlk_2":{"descRaw":"<@eb.key>Fast movement. Attacks cause the target to take Arts Damage over time. <@eb.key>Effect removed when the target is healed.","name":"Rampaging Rotchaser","desc":"Fast movement. Attacks cause the target to take Arts Damage over time. Effect removed when the target is healed.","abilities":[{"textRaw":"Attacks cause the target to take Arts damage over time; effect removed when the target is healed","text":"Attacks cause the target to take Arts damage over time; effect removed when the target is healed"}],"_h":"j2knrsajaj"},"enemy_1272_nhtank":{"descRaw":"<@eb.key>Only attacks ground units. After a number of attacks, the next attack will release <@eb.key>Corruption, and melee attacks deal <@eb.key>more damage.","name":"Sarkaz Wither Tank","desc":"Only attacks ground units. After a number of attacks, the next attack will release Corruption, and melee attacks deal more damage.","abilities":[{"textRaw":"Only attacks ground units","text":"Only attacks ground units"},{"textRaw":"Melee attacks deal more damage","text":"Melee attacks deal more damage"},{"textRaw":"After several attacks, the next attack will release Corruption","text":"After several attacks, the next attack will release Corruption"}],"_h":"v6mb9x3f3flrlrvdvd"},"enemy_1272_nhtank_2":{"descRaw":"<@eb.key>Only attacks ground units. After a number of attacks, the next attack will release <@eb.key>Corruption, and melee attacks deal <@eb.key>more damage.","name":"Advanced Sarkaz Wither Tank","desc":"Only attacks ground units. After a number of attacks, the next attack will release Corruption, and melee attacks deal more damage.","abilities":[{"textRaw":"Only attacks ground units","text":"Only attacks ground units"},{"textRaw":"Melee attacks deal more damage","text":"Melee attacks deal more damage"},{"textRaw":"After several attacks, the next attack will release Corruption","text":"After several attacks, the next attack will release Corruption"}],"_h":"v6bi9x3f3flrlrvdvd"},"enemy_1273_stmgun_2":{"descRaw":"Long range. Locks on to the target with the <@eb.key>highest max HP and bombards it several times, dealing <@eb.key>Arts Damage to the unit in range with the <@eb.key>highest HP percentage.","name":"Londinium Precision Mobile Defense Artillery","desc":"Long range. Locks on to the target with the highest max HP and bombards it several times, dealing Arts Damage to the unit in range with the highest HP percentage.","abilities":[{"textRaw":"Capable of long-range attacks","text":"Capable of long-range attacks"},{"textRaw":"Locks on to the target with the highest max HP and bombards it several times, dealing Arts damage to the unit in range with the highest HP percentage","text":"Locks on to the target with the highest max HP and bombards it several times, dealing Arts damage to the unit in range with the highest HP percentage"}],"_h":"wvt3ry8j8j3q3q"},"enemy_1275_dwlock_2":{"descRaw":"Attacks deal additional <@eb.key>Necrosis. Locks on to your units, dealing continuous Arts Damage, and causes <@eb.key>area Necrosis when casting is complete.","name":"Sarkaz Royal Court Elite Caster","desc":"Attacks deal additional Necrosis. Locks on to your units, dealing continuous Arts Damage, and causes area Necrosis when casting is complete.","abilities":[{"textRaw":"Attacks deal additional <$ba.dt.apoptosis>Necrosis","text":"Attacks deal additional Necrosis"},{"textRaw":"Locks on to your units, dealing continuous Arts damage, and causing area <$ba.dt.apoptosis>Necrosis when casting is complete","text":"Locks on to your units, dealing continuous Arts damage, and causing area Necrosis when casting is complete"}],"_h":"bdevxfu5mnitmv"},"enemy_1283_sgkill":{"descRaw":"\n\nInvisibility;\n\nGains additional buffs while under <@eb.key>'Asset Liquidation'.","name":"Famiglia Silencer","desc":"\n\nInvisibility;\n\nGains additional buffs while under 'Asset Liquidation'.","abilities":[{"textRaw":"Gains additional buffs while under Asset Liquidation","text":"Gains additional buffs while under Asset Liquidation"},{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"}],"_h":"vmqq93fifijteo"},"enemy_1283_sgkill_2":{"descRaw":"\n\nInvisibility;\n\nGains additional buffs while under <@eb.key>'Asset Liquidation'.","name":"Famiglia Shadow Silencer","desc":"\n\nInvisibility;\n\nGains additional buffs while under 'Asset Liquidation'.","abilities":[{"textRaw":"Gains additional buffs while under Asset Liquidation","text":"Gains additional buffs while under Asset Liquidation"},{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"}],"_h":"vmp693fifijteo"},"enemy_1288_duskls":{"descRaw":"Attacks deal additional <@eb.key>Burn while near burning Reeds; when defeated, turns into Embers of Resentment, and respawns after a period of time","name":"Dublinn Flamechaser Soldier","desc":"Attacks deal additional Burn while near burning Reeds; when defeated, turns into Embers of Resentment, and respawns after a period of time","abilities":[{"textRaw":"Attacks deal additional <$ba.dt.burning>Burn while near burning Reeds","text":"Attacks deal additional Burn while near burning Reeds"},{"textRaw":"When defeated, turns into an <$ba.invisible>Invisible that must be damaged 5 times to defeat; respawns after a period of time","text":"When defeated, turns into an Invisible that must be damaged 5 times to defeat; respawns after a period of time"}],"_h":"5xv8nm73gwrtea"},"enemy_1288_duskls_2":{"descRaw":"Attacks deal additional <@eb.key>Burn while near burning Reeds; when defeated, turns into Embers of Fury, and respawns after a period of time","name":"Dublinn Flamechaser Elite Soldier","desc":"Attacks deal additional Burn while near burning Reeds; when defeated, turns into Embers of Fury, and respawns after a period of time","abilities":[{"textRaw":"Attacks deal additional <$ba.dt.burning>Burn while near burning Reeds","text":"Attacks deal additional Burn while near burning Reeds"},{"textRaw":"When defeated, turns into an <$ba.invisible>Invisible that must be damaged 5 times to defeat; respawns after a period of time","text":"When defeated, turns into an Invisible that must be damaged 5 times to defeat; respawns after a period of time"}],"_h":"673irc73gw4vew"},"enemy_1292_duskld":{"descRaw":"Deals additional <@eb.key>Burn and <@eb.key>takes less damage while near burning Reeds; when defeated, turns into Embers of Avarice, and respawns after a period of time","name":"Dublinn Flamechaser Guard","desc":"Deals additional Burn and takes less damage while near burning Reeds; when defeated, turns into Embers of Avarice, and respawns after a period of time","abilities":[{"textRaw":"Attacks deal additional <$ba.dt.burning>Burn and takes reduced Physical and Arts damage while near burning Reeds","text":"Attacks deal additional Burn and takes reduced Physical and Arts damage while near burning Reeds"},{"textRaw":"When defeated, turns into an <$ba.invisible>Invisible that must be damaged 10 times to defeat; respawns after a period of time","text":"When defeated, turns into an Invisible that must be damaged 10 times to defeat; respawns after a period of time"}],"_h":"41c8ebln022fhm"},"enemy_1299_ymkilr":{"descRaw":"Has <@eb.key>Invisibility; the next attack made after breaking Invisibility will inflict <@eb.key>increased damage","name":"Shanhaizhong Ringleader","desc":"Has Invisibility; the next attack made after breaking Invisibility will inflict increased damage","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"The next attack made after breaking <$ba.invisible>Invisibility will deal increased damage","text":"The next attack made after breaking Invisibility will deal increased damage"}],"_h":"fjuc5jjteomfck"},"enemy_1299_ymkilr_2":{"descRaw":"Has <@eb.key>Invisibility; the next attack made after breaking Invisibility will inflict <@eb.key>increased damage","name":"Shanhaizhong Secret-Keeper","desc":"Has Invisibility; the next attack made after breaking Invisibility will inflict increased damage","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"The next attack made after breaking <$ba.invisible>Invisibility will deal increased damage","text":"The next attack made after breaking Invisibility will deal increased damage"}],"_h":"xz77prjteomfck"},"enemy_1302_ymtro_2":{"descRaw":"Can only be blocked by units with 4 Block or higher. Can <@eb.key>carry up to 4 passengers, and unloads its passengers upon first reaching a <@eb.key>Ladder","name":"'Sand Voyager'","desc":"Can only be blocked by units with 4 Block or higher. Can carry up to 4 passengers, and unloads its passengers upon first reaching a Ladder","abilities":[{"textRaw":"Can only be blocked by units with at least 4 Block","text":"Can only be blocked by units with at least 4 Block"},{"textRaw":"When next to enemies that are both non-Machine and non-Leader, they will be loaded inside as passengers (up to 4 max), and will be unloaded when this unit reaches a Ladder","text":"When next to enemies that are both non-Machine and non-Leader, they will be loaded inside as passengers (up to 4 max), and will be unloaded when this unit reaches a Ladder"}],"_h":"gx9nm5nznzpzpz"},"enemy_1305_mhslim":{"descRaw":"A wild infected creature that sprays superheated fluids at its foes. Attacks deal Arts damage and <@eb.key>Burn.","name":"Blazing Originium Slug","desc":"A wild infected creature that sprays superheated fluids at its foes. Attacks deal Arts damage and Burn.","abilities":[{"textRaw":"Attacks deal <$ba.dt.burning>Burn","text":"Attacks deal Burn"}],"_h":"k670znf015"},"enemy_1305_mhslim_2":{"descRaw":"A wild infected creature that sprays superheated fluids at its foes. Attacks deal Arts damage and <@eb.key>Burn.","name":"Pyric Originium Slug","desc":"A wild infected creature that sprays superheated fluids at its foes. Attacks deal Arts damage and Burn.","abilities":[{"textRaw":"Attacks deal <$ba.dt.burning>Burn","text":"Attacks deal Burn"}],"_h":"k6j2znf015"},"enemy_1320_wdrrl_2":{"descRaw":"Can only be blocked by units with at least 3 Block; first attack deals splash damage","name":"Sarkaz Absurdist Tyrant Captain","desc":"Can only be blocked by units with at least 3 Block; first attack deals splash damage","abilities":[{"textRaw":"Can only be blocked by Operators with 3 or more Block","text":"Can only be blocked by Operators with 3 or more Block"},{"textRaw":"First attack deals Splash damage","text":"First attack deals Splash damage"}],"_h":"lj0blj4o4ox0x0"},"enemy_1321_wdarft":{"descRaw":"Does not attack, periodically summons several Seeds of Withering","name":"Withering Collector Disciple","desc":"Does not attack, periodically summons several Seeds of Withering","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Periodically summons several ","text":"Periodically summons several "}],"_h":"cikxci6969sdsd"},"enemy_1325_cbgpro":{"descRaw":"Military hounds that first saw action in Bolívar.","name":"Military Hound","desc":"Military hounds that first saw action in Bolívar.","_h":"csfhcs"},"enemy_1325_cbgpro_2":{"descRaw":"Carefully picked military hounds that chase their quarry to the bitter end.","name":"Elite Military Hound","desc":"Carefully picked military hounds that chase their quarry to the bitter end.","_h":"lfhklf"},"enemy_1328_cbjedi":{"descRaw":"Attacks deal <@eb.key>Arts damage; loses HP proportional to <@eb.key>distance moved when shifted","name":"Arc Frontliner","desc":"Attacks deal Arts damage; loses HP proportional to distance moved when shifted","abilities":[{"textRaw":"Loses HP proportional to distance moved when shifted","text":"Loses HP proportional to distance moved when shifted"}],"_h":"f04rfss5s5"},"enemy_1329_cbshld":{"descRaw":"Starting DEF and RES are high, but reduced whenever damage is taken","name":"Arc Screenguard","desc":"Starting DEF and RES are high, but reduced whenever damage is taken","abilities":[{"textRaw":"Starting DEF and RES are high, but reduced whenever damage is taken","text":"Starting DEF and RES are high, but reduced whenever damage is taken"}],"_h":"kdzskdwxwx"},"enemy_1329_cbshld_2":{"descRaw":"Starting DEF and RES are high, but reduced whenever damage is taken","name":"Arc Screenguard Captain","desc":"Starting DEF and RES are high, but reduced whenever damage is taken","abilities":[{"textRaw":"Starting DEF and RES are high, but reduced whenever damage is taken","text":"Starting DEF and RES are high, but reduced whenever damage is taken"}],"_h":"kd2dkdwxwx"},"enemy_1355_mrfly":{"descRaw":"<@eb.key>[Aerial] Increases the <@eb.key>RES of surrounding enemy units","name":"Blocker","desc":"[Aerial] Increases the RES of surrounding enemy units","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Increases the RES of surrounding enemy units.","text":"Increases the RES of surrounding enemy units."}],"_h":"6u0tby6969hxhx"},"enemy_1355_mrfly_2":{"descRaw":"<@eb.key>[Aerial] Increases the <@eb.key>RES of surrounding enemy units","name":"Blocker–P","desc":"[Aerial] Increases the RES of surrounding enemy units","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Increases the RES of surrounding enemy units.","text":"Increases the RES of surrounding enemy units."}],"_h":"6uruby6969hxhx"},"enemy_1364_spnaxe_2":{"descRaw":"A professional armsmaster who protects the Feranmut's skeleton. When surrounding friendly or enemy units are defeated, recovers a certain amount of HP and gains increased ATK. When defeated, leaves behind 2 <@eb.key>","name":"Sarkaz Boneguard Torturer","desc":"A professional armsmaster who protects the Feranmut's skeleton. When surrounding friendly or enemy units are defeated, recovers a certain amount of HP and gains increased ATK. When defeated, leaves behind 2 ","abilities":[{"textRaw":"Recovers a portion of HP and gains increased ATK when either enemy or friendly units are defeated within range (can stack).","text":"Recovers a portion of HP and gains increased ATK when either enemy or friendly units are defeated within range (can stack)."},{"textRaw":"Leaves behind 2 when defeated.","text":"Leaves behind 2 when defeated."}],"_h":"rbwqhatltl0101"},"enemy_1367_dseed":{"descRaw":"Blood essence, highly-condensed into an adamant form. When affected by the pulse of a Bloodcalling Altar, will be reborn at the altar as a Bloodborn Spawn.","name":"Blood Amber","desc":"Blood essence, highly-condensed into an adamant form. When affected by the pulse of a Bloodcalling Altar, will be reborn at the altar as a Bloodborn Spawn.","abilities":[{"textRaw":"When affected by the pulse of a Bloodcalling Altar, will be reborn as a Bloodborn Spawn at the altar.","text":"When affected by the pulse of a Bloodcalling Altar, will be reborn as a Bloodborn Spawn at the altar."}],"_h":"m9mlm97o7o"},"enemy_1381_winman":{"descRaw":"Soldier recruited into the delegation, employing the standard orthodox tactics. They are enjoying the peaceful lull.","name":"Delegation Recruit","desc":"Soldier recruited into the delegation, employing the standard orthodox tactics. They are enjoying the peaceful lull.","_h":"ikn9ik"},"enemy_1381_winman_2":{"descRaw":"Soldier whose fate is entwined with the delegation, employing hardened and ruthless tactics. They are on guard against potential escalation.","name":"Delegation Veteran","desc":"Soldier whose fate is entwined with the delegation, employing hardened and ruthless tactics. They are on guard against potential escalation.","_h":"ixa8ix"},"enemy_1387_winshd":{"descRaw":"DEF and RES gradually increase in <@eb.key>Frigidareas, and gradually decrease in <@eb.key>Emergency Heater range.","name":"Delegation Shieldbearer","desc":"DEF and RES gradually increase in Frigidareas, and gradually decrease in Emergency Heater range.","abilities":[{"textRaw":"DEF and RES gradually increase in areas, and gradually decrease in Emergency Heater range.","text":"DEF and RES gradually increase in areas, and gradually decrease in Emergency Heater range."}],"_h":"7aekr03j3j"},"enemy_1389_winbab_2":{"descRaw":"<@eb.key>Invisible; prioritizes targets to the <@eb.key>right of Emergency Heaters.","name":"Delegation Centurion Champion","desc":"Invisible; prioritizes targets to the right of Emergency Heaters.","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"Prioritizes targets to the right of a Emergency Heater","text":"Prioritizes targets to the right of a Emergency Heater"}],"_h":"h3twivjteot0t0"},"enemy_1402_tgshd_2":{"descRaw":"A scout outfitted with thicker armor. <@eb.key>Exposes attacker's position upon being attacked. \nExposed units cannot use barricades to keep themselves out of enemy's sight and will take more damage.","name":"Heavy Scout","desc":"A scout outfitted with thicker armor. Exposes attacker's position upon being attacked. \nExposed units cannot use barricades to keep themselves out of enemy's sight and will take more damage.","abilities":[{"textRaw":"Exposes the attacker for 5s when attacked","text":"Exposes the attacker for 5s when attacked"},{"textRaw":"When Exposed, allied units cannot use barricades to keep themselves out of enemy's sight, and take more damage","text":"When Exposed, allied units cannot use barricades to keep themselves out of enemy's sight, and take more damage"}],"_h":"epyr262525yqyq"},"enemy_1404_msnip":{"descRaw":"<@eb.key>Invisible; When on the same row or column with an allied unit, launches a <@eb.key>Straight Shot: fires 1 bolt that deals <@eb.key>Arts damage.","name":"Heavy Crossbowman Ambusher","desc":"Invisible; When on the same row or column with an allied unit, launches a Straight Shot: fires 1 bolt that deals Arts damage.","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"Launches a Straight Shot when positioned in a straight line with an allied unit: fires 1 bolt in the target's direction that deals Arts damage and inflicts <$ba.stun>Stun","text":"Launches a Straight Shot when positioned in a straight line with an allied unit: fires 1 bolt in the target's direction that deals Arts damage and inflicts Stun"}],"_h":"mq3gbpjteo5cfq"},"enemy_1407_hummbd":{"descRaw":"<@eb.key>[Aerial] Deals <@eb.key>ranged physical damage and <@eb.key>exposes nearby allied units when defeated. Exposed units cannot use barricades to keep themselves out of enemy's sight and will take more damage.","name":"Farseer","desc":"[Aerial] Deals ranged physical damage and exposes nearby allied units when defeated. Exposed units cannot use barricades to keep themselves out of enemy's sight and will take more damage.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"When defeated, Exposes nearby allied units for 8s","text":"When defeated, Exposes nearby allied units for 8s"},{"textRaw":"When Exposed, allied units cannot use barricades to keep themselves out of enemy's sight, and take more damage","text":"When Exposed, allied units cannot use barricades to keep themselves out of enemy's sight, and take more damage"}],"_h":"mew3a76969hkhkyqyq"},"enemy_1415_mmkabi_2":{"descRaw":"Large and docile burdenbeasts with low DEF that will be tripped by a <@eb.key>Stabilizer Chain, stunning itself and dealing Physical damage to nearby enemies.","name":"Greater Armored Burdenbeast","desc":"Large and docile burdenbeasts with low DEF that will be tripped by a Stabilizer Chain, stunning itself and dealing Physical damage to nearby enemies.","abilities":[{"textRaw":"Will be tripped by a Stabilizer Chain, stunning itself and dealing Physical damage to nearby enemies.","text":"Will be tripped by a Stabilizer Chain, stunning itself and dealing Physical damage to nearby enemies."}],"_h":"8o7lazprpr"},"enemy_1422_lrsldr":{"descRaw":"<@eb.key>Attacks deal Arts damage when inside Originium pollution.","name":"Sarkaz Wither Vanguard","desc":"Attacks deal Arts damage when inside Originium pollution.","abilities":[{"textRaw":"Attacks deal Arts damage when inside Originium pollution.","text":"Attacks deal Arts damage when inside Originium pollution."}],"_h":"cu6hvvt7t7"},"enemy_1422_lrsldr_2":{"descRaw":"<@eb.key>Attacks deal Arts damage when inside Originium pollution.","name":"Elite Sarkaz Wither Vanguard","desc":"Attacks deal Arts damage when inside Originium pollution.","abilities":[{"textRaw":"Attacks deal Arts damage when inside Originium pollution.","text":"Attacks deal Arts damage when inside Originium pollution."}],"_h":"cunnvvt7t7"},"enemy_1425_lrcmra":{"descRaw":"Continuously produces Originium pollution around itself when affected by Originium pollution or an Active Originium Storm, and attacks deal increased <@eb.key>Arts damage instead.","name":"Profane Chimera","desc":"Continuously produces Originium pollution around itself when affected by Originium pollution or an Active Originium Storm, and attacks deal increased Arts damage instead.","abilities":[{"textRaw":"Continuously causes an area of Originium pollution around itself when affected by Originium pollution or an Active Originium Storm, and attacks deal Arts damage instead.","text":"Continuously causes an area of Originium pollution around itself when affected by Originium pollution or an Active Originium Storm, and attacks deal Arts damage instead."}],"_h":"1a16vjxuxu"},"enemy_1425_lrcmra_2":{"descRaw":"Continuously produces Originium pollution around itself when affected by Originium pollution or an Active Originium Storm, and attacks deal increased <@eb.key>Arts damage instead.","name":"Sacrilegious Chimera","desc":"Continuously produces Originium pollution around itself when affected by Originium pollution or an Active Originium Storm, and attacks deal increased Arts damage instead.","abilities":[{"textRaw":"Continuously causes an area of Originium pollution around itself when affected by Originium pollution or an Active Originium Storm, and attacks deal Arts damage instead.","text":"Continuously causes an area of Originium pollution around itself when affected by Originium pollution or an Active Originium Storm, and attacks deal Arts damage instead."}],"_h":"1afrvjxuxu"},"enemy_1427_lrnazg":{"descRaw":"Attacks deal Physical damage to all surrounding units. When inside Originium pollution or an Active Originium Storm, attacks deal Physical damage to all surrounding allied units and all your units inside Originium pollution or Active Originium Storms.","name":"Sudaram","desc":"Attacks deal Physical damage to all surrounding units. When inside Originium pollution or an Active Originium Storm, attacks deal Physical damage to all surrounding allied units and all your units inside Originium pollution or Active Originium Storms.","abilities":[{"textRaw":"Attacks deal Physical damage to all surrounding units.","text":"Attacks deal Physical damage to all surrounding units."},{"textRaw":"When inside Originium pollution or an Active Originium Storm, attacks deal Physical damage to all surrounding allied units and all your units inside Originium pollution or Active Originium Storms.","text":"When inside Originium pollution or an Active Originium Storm, attacks deal Physical damage to all surrounding allied units and all your units inside Originium pollution or Active Originium Storms."}],"_h":"3l8a3l5656cbcb"},"enemy_1430_lrrook":{"descRaw":"<@eb.key>[Aerial unit]. Shares a fraction of the damage taken by non-aerial enemies around itself.","name":"Chalice of Regret","desc":"[Aerial unit]. Shares a fraction of the damage taken by non-aerial enemies around itself.","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Shares a fraction of the damage taken by non-aerial enemies around itself.","text":"Shares a fraction of the damage taken by non-aerial enemies around itself."}],"_h":"joh1zf6969ukuk"},"enemy_1433_dsbasi":{"descRaw":"A simple Seaborn believed to be responsible for foraging. It requires very little energy for its activities.","name":"Unicellular Predator","desc":"A simple Seaborn believed to be responsible for foraging. It requires very little energy for its activities.","_h":"1xqo1x"},"enemy_1433_dsbasi_2":{"descRaw":"Simple but nourished, this new generation of Seaborn collects nutrients even more efficiently.","name":"Allotropic Predator","desc":"Simple but nourished, this new generation of Seaborn collects nutrients even more efficiently.","_h":"b3jzb3"},"enemy_1438_dspred":{"descRaw":"Can devour an <@eb.key>Excrescent Carapace to significantly increase its ATK and HP.","name":"Multicellular Herald","desc":"Can devour an Excrescent Carapace to significantly increase its ATK and HP.","abilities":[{"textRaw":"Can devour an <@eb.key>Excrescent Carapace to significantly increase its ATK and HP.","text":"Can devour an Excrescent Carapace to significantly increase its ATK and HP."}],"_h":"p6e0pdp6pd"},"enemy_1439_dslntf":{"descRaw":"Becomes when damaged, continuously inflicting <@eb.key>Nervous Impairment on your nearby units. Depletes substantial HP to destroy <@eb.key>Excrescent Carapaces upon encountering.","name":"Nucleic Maleficent","desc":"Becomes when damaged, continuously inflicting Nervous Impairment on your nearby units. Depletes substantial HP to destroy Excrescent Carapaces upon encountering.","abilities":[{"textRaw":"Becomes Combat-Ready when damaged, significantly increasing Movement Speed and continuously inflicting <$ba.dt.neural>Nervous Impairment on nearby units.","text":"Becomes Combat-Ready when damaged, significantly increasing Movement Speed and continuously inflicting Nervous Impairment on nearby units."},{"textRaw":"Destroys blocking at the cost of a percentage of its HP.","text":"Destroys blocking at the cost of a percentage of its HP."}],"_h":"k5rpnxt9c0fhfh"},"enemy_1439_dslntf_2":{"descRaw":"Becomes when damaged, continuously inflicting <@eb.key>Nervous Impairment on your nearby units. Depletes substantial HP to destroy <@eb.key>Excrescent Carapaces upon encountering.","name":"Allotropic Maleficent","desc":"Becomes when damaged, continuously inflicting Nervous Impairment on your nearby units. Depletes substantial HP to destroy Excrescent Carapaces upon encountering.","abilities":[{"textRaw":"Becomes Combat-Ready when damaged, significantly increasing Movement Speed and continuously inflicting <$ba.dt.neural>Nervous Impairment on nearby units.","text":"Becomes Combat-Ready when damaged, significantly increasing Movement Speed and continuously inflicting Nervous Impairment on nearby units."},{"textRaw":"Destroys blocking at the cost of a percentage of its HP.","text":"Destroys blocking at the cost of a percentage of its HP."}],"_h":"k56onxt9c0fhfh"},"enemy_1500_skulsr":{"descRaw":"Try to defeat him as soon as possible, no matter what it takes. This <@eb.danger>extremely dangerous enemy attacks with <@eb.key>devastating ranged and melee attacks.","name":"Skullshatterer","desc":"Try to defeat him as soon as possible, no matter what it takes. This extremely dangerous enemy attacks with devastating ranged and melee attacks.","abilities":[{"textRaw":"Launches grenades when not being blocked, significantly reducing the DEF of the target and surrounding allies for a short period of time","text":"Launches grenades when not being blocked, significantly reducing the DEF of the target and surrounding allies for a short period of time"},{"textRaw":"Gains significantly increased ATK when HP is under 50%","text":"Gains significantly increased ATK when HP is under 50%"}],"_h":"q2obh2okok6z6z"},"enemy_1501_demonk":{"descRaw":"One of Reunion's squad leaders. he is <@eb.danger>extremely dangerous and <@eb.danger>difficult to defeat.","name":"Sarkaz Centurion","desc":"One of Reunion's squad leaders. he is extremely dangerous and difficult to defeat.","abilities":[{"textRaw":"Attacks two targets simultaneously.","text":"Attacks two targets simultaneously."}],"_h":"fkbrzskwkw"},"enemy_1502_crowns":{"descRaw":"A Reunion squad leader who specializes in assassination and infiltration. She is able to <@eb.key>bypass Operators that try to block her.","name":"Crownslayer","desc":"A Reunion squad leader who specializes in assassination and infiltration. She is able to bypass Operators that try to block her.","abilities":[{"textRaw":"When blocked, can quickly move behind the unit","text":"When blocked, can quickly move behind the unit"}],"_h":"pxw0ealxlx"},"enemy_1504_cqbw":{"descRaw":"A Reunion squad leader who was a mercenary from Sarkaz. She is proficient at using explosives.","desc":"A Reunion squad leader who was a mercenary from Sarkaz. She is proficient at using explosives.","abilities":[{"textRaw":"Can use explosives to deal heavy Physical damage to allied units","text":"Can use explosives to deal heavy Physical damage to allied units"},{"textRaw":"Uses more explosives when HP is under 50%","text":"Uses more explosives when HP is under 50%"}],"_h":"0808qvqv9l9l"},"enemy_1509_mousek":{"descRaw":"Deals massive physical damage to the Operator with the <@eb.key>highest Max HP; greatly decreases the ATK of, and deals continuous Arts damage to the Operator with the <@eb.key>lowest Max HP","name":"Rat King","desc":"Deals massive physical damage to the Operator with the highest Max HP; greatly decreases the ATK of, and deals continuous Arts damage to the Operator with the lowest Max HP","abilities":[{"textRaw":"[Singing Sands] Targets a unit with the highest Max HP, dealing heavy physical damage to the target and nearby allied units within a cross area","text":"[Singing Sands] Targets a unit with the highest Max HP, dealing heavy physical damage to the target and nearby allied units within a cross area"},{"textRaw":"[Sand Tomb] Targets a unit with the lowest Max HP, continuously inflicting Arts damage to the target and nearby allies, also reducing their ATK","text":"[Sand Tomb] Targets a unit with the lowest Max HP, continuously inflicting Arts damage to the target and nearby allies, also reducing their ATK"},{"textRaw":"Appears with a Barrier that can absorb a large amount of Arts damage, gains significantly increased DEF while Barrier is active","text":"Appears with a Barrier that can absorb a large amount of Arts damage, gains significantly increased DEF while Barrier is active"},{"textRaw":"Deals more damage when HP drops below half","text":"Deals more damage when HP drops below half"}],"_h":"ymwclaj7j7yiyiueueawaw"},"enemy_1511_mdrock":{"descRaw":"Unknown age, gender, or background.","name":"Mudrock","desc":"Unknown age, gender, or background.","abilities":[{"textRaw":"Every attack permanently increases ATK, stacking up to 6 times","text":"Every attack permanently increases ATK, stacking up to 6 times"},{"textRaw":"Has a Barrier that absorbs Arts damage; while the Barrier persists, this unit has significantly increased Max HP and ASPD.","text":"Has a Barrier that absorbs Arts damage; while the Barrier persists, this unit has significantly increased Max HP and ASPD."},{"textRaw":"Barrier periodically refreshes.","text":"Barrier periodically refreshes."},{"textRaw":"Can use a skill to automatically seize control of the nearest non-enemy controlled 'Gramophone'","text":"Can use a skill to automatically seize control of the nearest non-enemy controlled 'Gramophone'"}],"_h":"2dvf2dvtvt4k4ke1e15555"},"enemy_1512_mcmstr":{"descRaw":"A massive mechanical monstrosity, driven by the High Priest. Able to destroy Wooden Stumps, and will eject the driver and self-destruct when destroyed.","name":"'The Big Ugly Thing'","desc":"A massive mechanical monstrosity, driven by the High Priest. Able to destroy Wooden Stumps, and will eject the driver and self-destruct when destroyed.","abilities":[{"textRaw":"First Form","text":"First Form"},{"textRaw":"Ranged attacks deal Splash damage, Melee attacks deal more damage","text":"Ranged attacks deal Splash damage, Melee attacks deal more damage"},{"textRaw":"Periodically destroys Giant Mushrooms and Stumps, rendering them unable to be deployed upon","text":"Periodically destroys Giant Mushrooms and Stumps, rendering them unable to be deployed upon"},{"textRaw":"When HP drops to 0, it will explode, <$ba.stun>Stunning units in a large area and ejecting its pilot, the High Priest","text":"When HP drops to 0, it will explode, Stunning units in a large area and ejecting its pilot, the High Priest"},{"textRaw":"High Priest Form","text":"High Priest Form"},{"textRaw":"Will not attack, cannot be blocked, and takes True damage every second","text":"Will not attack, cannot be blocked, and takes True damage every second"}],"_h":"8thr8tmgmgt8t8wqwqcqqyfifi1t1t"},"enemy_1513_dekght":{"descRaw":"Gains greatly increased ATK, ASPD, and Movement Speed when a Withered Knight dies.","name":"Corrupted Knight","desc":"Gains greatly increased ATK, ASPD, and Movement Speed when a Withered Knight dies.","abilities":[{"textRaw":"Attacks deal Physical damage to the target and adjacent allied units","text":"Attacks deal Physical damage to the target and adjacent allied units"},{"textRaw":"Does charged attacks, dealing heavy Physical damage to the targets and any adjacent units","text":"Does charged attacks, dealing heavy Physical damage to the targets and any adjacent units"},{"textRaw":"Gains greatly increased ATK, ASPD, and Movement Speed when dies","text":"Gains greatly increased ATK, ASPD, and Movement Speed when dies"}],"_h":"4g9e4g4v4vhuhuwcwc"},"enemy_1513_dekght_2":{"descRaw":"Gains greatly increased ATK, ASPD, and Movement Speed when a Corrupted Knight dies.","name":"Withered Knight","desc":"Gains greatly increased ATK, ASPD, and Movement Speed when a Corrupted Knight dies.","abilities":[{"textRaw":"Attacks 2 targets simultaneously","text":"Attacks 2 targets simultaneously"},{"textRaw":"Fires explosive arrows at three targets which explode after a short delay, dealing high Arts damage to the target and surrounding four tiles","text":"Fires explosive arrows at three targets which explode after a short delay, dealing high Arts damage to the target and surrounding four tiles"},{"textRaw":"Gains greatly increased ATK, ASPD, and Movement Speed when dies","text":"Gains greatly increased ATK, ASPD, and Movement Speed when dies"}],"_h":"9m649mztztmumu3y3y"},"enemy_1516_jakill":{"descRaw":"While in Jailer form, has <@eb.key>increased RES, deals <@eb.key>Arts damage, and will not attack Imprisonment Devices; When in Killer form, has <@eb.key>increased DEF and deals <@eb.key>Physical damage; When entering Executioner Mode, <@eb.key>frees all enemies on the field.","name":"Jesselton Williams","desc":"While in Jailer form, has increased RES, deals Arts damage, and will not attack Imprisonment Devices; When in Killer form, has increased DEF and deals Physical damage; When entering Executioner Mode, frees all enemies on the field.","abilities":[{"textRaw":"Jailer Form","text":"Jailer Form"},{"textRaw":"RES is greatly increased","text":"RES is greatly increased"},{"textRaw":"Attacks become ranged and deal Arts damage, and no longer attacks Imprisonment Devices","text":"Attacks become ranged and deal Arts damage, and no longer attacks Imprisonment Devices"},{"textRaw":"Can <$ba.stun>Stun multiple targets","text":"Can Stun multiple targets"},{"textRaw":"The first time HP drops to 0, enters Killer Form","text":"The first time HP drops to 0, enters Killer Form"},{"textRaw":"Killer Form","text":"Killer Form"},{"textRaw":"Frees all imprisoned enemies when entering Killer Form","text":"Frees all imprisoned enemies when entering Killer Form"},{"textRaw":"Gains significantly increased DEF","text":"Gains significantly increased DEF"},{"textRaw":"Uses melee Physical attacks that ignore a certain amount of the target's DEF","text":"Uses melee Physical attacks that ignore a certain amount of the target's DEF"}],"_h":"224zodprpr7u7ujyjyvmwga8a8sxsxyoyoucuchmhm"},"enemy_1517_xi":{"descRaw":"A monster painted by Dusk. 'Weft and Warp': <@eb.key>shift Hui and Ming of allies. 'Break the Chains': If the shield <@eb.key>is not yet broken, <@eb.danger>deal massive ranged damage.","name":"'Free'","desc":"A monster painted by Dusk. 'Weft and Warp': shift Hui and Ming of allies. 'Break the Chains': If the shield is not yet broken, deal massive ranged damage.","abilities":[{"textRaw":"First Form","text":"First Form"},{"textRaw":"[Weft and Warp] Deals Arts damage to targets in the surrounding cross area, changing Hui-Ming attributes within its range","text":"[Weft and Warp] Deals Arts damage to targets in the surrounding cross area, changing Hui-Ming attributes within its range"},{"textRaw":"[Break the Chains] Deals massive damage in a large radius if the Barrier is not destroyed before it expires.","text":"[Break the Chains] Deals massive damage in a large radius if the Barrier is not destroyed before it expires."},{"textRaw":"The first time HP drops to 0, enters Second Form","text":"The first time HP drops to 0, enters Second Form"},{"textRaw":"Second Form","text":"Second Form"},{"textRaw":"Changes own Hui-Ming Attribute","text":"Changes own Hui-Ming Attribute"},{"textRaw":"Gains increased ATK and normal attacks hit twice","text":"Gains increased ATK and normal attacks hit twice"},{"textRaw":"Additionally unleashes [Weft and Warp] on farthest target","text":"Additionally unleashes [Weft and Warp] on farthest target"}],"_h":"0vd0t8mgmgalalbdbd7h7hrwrwr4r49d9dftft"},"enemy_1521_dslily":{"descRaw":"A member of the Church of the Deep who snuck into disaster-ravaged Iberia. He changed the law of the land through his sincere beliefs, in pursuit of the perfect form, yet he was unable to fathom the will of the ocean. Then again, who could?","name":"Sal Viento Bishop Quintus","desc":"A member of the Church of the Deep who snuck into disaster-ravaged Iberia. He changed the law of the land through his sincere beliefs, in pursuit of the perfect form, yet he was unable to fathom the will of the ocean. Then again, who could?","abilities":[{"textRaw":"Attacks two units with the highest DEF simultaneously","text":"Attacks two units with the highest DEF simultaneously"},{"textRaw":"[Great Tide] Deals Arts damage and <$ba.dt.neural>Nervous Impairment to all allied units","text":"[Great Tide] Deals Arts damage and Nervous Impairment to all allied units"},{"textRaw":"[Collapse] Deals Physical damage to multiple allied units","text":"[Collapse] Deals Physical damage to multiple allied units"},{"textRaw":"[Fragmentation] Summons its offspring to entwine themselves around allied units and <$ba.stun>Stun them","text":"[Fragmentation] Summons its offspring to entwine themselves around allied units and Stun them"},{"textRaw":"[Species Outbreak] Drains all Life Points after a long time has passed in the battle","text":"[Species Outbreak] Drains all Life Points after a long time has passed in the battle"}],"_h":"u5z8u5swswwkvd3i3ic9d5elel"},"enemy_1525_blkswb":{"descRaw":"Three-time champion of the Kazimierz Major, a defective Leithanian unable to use Arts, a natural-born warrior—The Black Knight. <@eb.key>Passes through blocking units and deals Physical damage to them","name":"Degenbrecher","desc":"Three-time champion of the Kazimierz Major, a defective Leithanian unable to use Arts, a natural-born warrior—The Black Knight. Passes through blocking units and deals Physical damage to them","abilities":[{"textRaw":"Immune to <$ba.frozen>Frozen and has <$ba.buffres>Status resistance","text":"Immune to Frozen and has Status resistance"},{"textRaw":"Gains increased ATK during ","text":"Gains increased ATK during "},{"textRaw":"First Form","text":"First Form"},{"textRaw":"Attacks against the blocker ignore a certain amount of DEF","text":"Attacks against the blocker ignore a certain amount of DEF"},{"textRaw":"[Swift Slayer] When blocked, bypasses the target and deals Physical damage to units along her path","text":"[Swift Slayer] When blocked, bypasses the target and deals Physical damage to units along her path"},{"textRaw":"[Brutalizing Blizzard] Deals Physical damage to units in the surrounding area","text":"[Brutalizing Blizzard] Deals Physical damage to units in the surrounding area"},{"textRaw":"Second Form","text":"Second Form"},{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"Attacks ignore more of the target's DEF and strike twice","text":"Attacks ignore more of the target's DEF and strike twice"},{"textRaw":"[Momentum Murder] Whenever 25% HP is lost, clears the SP of all allied units within range and restricts the targets from attacking or healing for some time","text":"[Momentum Murder] Whenever 25% HP is lost, clears the SP of all allied units within range and restricts the targets from attacking or healing for some time"}],"_h":"8cgevhwk5vrurumgmgg7g7agag3h3hrwrwjteomomo8888"},"enemy_1535_wlfmster":{"descRaw":"Il Signore dei Lupi was born in the wilderness, but he has cast his gaze upon the world of men.","name":"Zaaro, Signore dei Lupi","desc":"Il Signore dei Lupi was born in the wilderness, but he has cast his gaze upon the world of men.","abilities":[{"textRaw":"Gradually increases Blood Debt","text":"Gradually increases Blood Debt"},{"textRaw":"First Form","text":"First Form"},{"textRaw":"Damage taken is reduced and cannot be <$ba.stun>Stunned","text":"Damage taken is reduced and cannot be Stunned"},{"textRaw":"[Hemolytic Horror] Causes 3 friendly units to be consumed by fear, greatly reducing their ASPD, significantly accelerating their periodic HP loss, and causing them to be unable to be retreated manually; affected units will return to normal after 'Signore dei Lupi' loses a certain percentage of HP","text":"[Hemolytic Horror] Causes 3 friendly units to be consumed by fear, greatly reducing their ASPD, significantly accelerating their periodic HP loss, and causing them to be unable to be retreated manually; affected units will return to normal after 'Signore dei Lupi' loses a certain percentage of HP"},{"textRaw":"After the first form reaches 0 HP, gains [Primal Deterrence], reducing the ASPD of nearby friendly units, and slowly gaining HP over time","text":"After the first form reaches 0 HP, gains [Primal Deterrence], reducing the ASPD of nearby friendly units, and slowly gaining HP over time"},{"textRaw":"Second Form","text":"Second Form"},{"textRaw":"No longer has Damage Reduction, and longer casts [Hemolytic Horror]","text":"No longer has Damage Reduction, and longer casts [Hemolytic Horror]"},{"textRaw":"Attacks become ranged and strike twice, and gains increased ATK","text":"Attacks become ranged and strike twice, and gains increased ATK"},{"textRaw":"Periodically releases a [Furious Howl], causing Blood Debt to increase rapidly","text":"Periodically releases a [Furious Howl], causing Blood Debt to increase rapidly"}],"_h":"541p54yyyymgmgqf6vggggeyeyrwrwa3a3inin5959"},"enemy_1539_reid":{"descRaw":"A Reunion squad leader you've previously faced, who attacks with an impressive searing blade.","name":"'Hateful Avenger'","desc":"A Reunion squad leader you've previously faced, who attacks with an impressive searing blade.","abilities":[{"textRaw":"Gains significantly increased ATK when HP is under 50%","text":"Gains significantly increased ATK when HP is under 50%"},{"textRaw":"[Charge] Locks onto a target within range on the path ahead, and gains greatly increased Movement Speed for a period of time","text":"[Charge] Locks onto a target within range on the path ahead, and gains greatly increased Movement Speed for a period of time"},{"textRaw":"Revives after being defeated for the first time, recovering half its HP","text":"Revives after being defeated for the first time, recovering half its HP"}],"_h":"11l5116z6zqnqnonon"},"enemy_2001_duckmi":{"descRaw":"Elusive and ephemeral, unable to be blocked. <@eb.key>Dashes rapidly upon being damaged, and drops <@eb.key>Treasure when defeated.","name":"Duck Lord","desc":"Elusive and ephemeral, unable to be blocked. Dashes rapidly upon being damaged, and drops Treasure when defeated.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Gains significantly increased Movement Speed after being attacked","text":"Gains significantly increased Movement Speed after being attacked"}],"_h":"hnyftpufufxbxb"},"enemy_2001_duckmi_2":{"descRaw":"Elusive and ephemeral, unable to be blocked. <@eb.key>Dashes rapidly upon being damaged, and drops <@eb.key>Treasure when defeated.","name":"Duck Lord","desc":"Elusive and ephemeral, unable to be blocked. Dashes rapidly upon being damaged, and drops Treasure when defeated.","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"Gains significantly increased Movement Speed after being attacked","text":"Gains significantly increased Movement Speed after being attacked"}],"_h":"hnyftpufufxbxb"},"enemy_2002_bearmi":{"descRaw":"An Ursus bodyguard hired by the Duck Lord, cannot be stunned. Drops <@eb.key>Treasure when defeated.","name":"Gopnik","desc":"An Ursus bodyguard hired by the Duck Lord, cannot be stunned. Drops Treasure when defeated.","_h":"v0h6pt"},"enemy_2002_bearmi_2":{"descRaw":"An Ursus bodyguard hired by the Duck Lord, cannot be stunned. Drops <@eb.key>Treasure when defeated.","name":"Gopnik","desc":"An Ursus bodyguard hired by the Duck Lord, cannot be stunned. Drops Treasure when defeated.","_h":"v0h6pt"},"enemy_2003_rockman":{"descRaw":"An experimental creation with extremely high DEF, able to lob rocks that inflict a lengthy <@eb.key>Stun.","name":"Lost Colossus","desc":"An experimental creation with extremely high DEF, able to lob rocks that inflict a lengthy Stun.","abilities":[{"textRaw":"Can throw a rock that inflicts a very long <$ba.stun>Stun (will not target a unit that is already <$ba.stun>Stunned)","text":"Can throw a rock that inflicts a very long Stun (will not target a unit that is already Stunned)"}],"_h":"k5z4toj86e"},"enemy_2004_balloon":{"descRaw":"A strange individual with a self-made jetpack. When blocked, will <@eb.key>take flight for a short period of time.","name":"Jetman","desc":"A strange individual with a self-made jetpack. When blocked, will take flight for a short period of time.","abilities":[{"textRaw":"When blocked, this unit will take off for a period of time (this effect has a cooldown)","text":"When blocked, this unit will take off for a period of time (this effect has a cooldown)"}],"_h":"lyno839m9m"},"enemy_2005_axetro":{"descRaw":"A security guard who has been severely corrupted by Originium. <@eb.key>Consecutive attacks on the same target will increase their ATK and ASPD, but stacks will <@eb.key>reset after not attacking for 4 seconds.","name":"'Forsaken One'","desc":"A security guard who has been severely corrupted by Originium. Consecutive attacks on the same target will increase their ATK and ASPD, but stacks will reset after not attacking for 4 seconds.","abilities":[{"textRaw":"Continuous attacks will increase ATK and ASPD, up to a limit. This effect will reset after a few seconds after this unit stops attacking","text":"Continuous attacks will increase ATK and ASPD, up to a limit. This effect will reset after a few seconds after this unit stops attacking"}],"_h":"dk0nwy4q4q"},"enemy_2008_flking":{"descRaw":"Significantly weakens the combat capabilities of our units and periodically gains a <@eb.key>Shield to absorb damage.","name":"'Gravestone'","desc":"Significantly weakens the combat capabilities of our units and periodically gains a Shield to absorb damage.","abilities":[{"textRaw":"Halves the ATK and DEF of all your units on the battlefield; Halves natural DP regeneration rate; Doubles Redeployment Time","text":"Halves the ATK and DEF of all your units on the battlefield; Halves natural DP regeneration rate; Doubles Redeployment Time"},{"textRaw":"Periodically gains a Barrier proportional to Max HP.","text":"Periodically gains a Barrier proportional to Max HP."}],"_h":"rmw2zfqyqyykg5"},"enemy_2009_csaudc":{"descRaw":"A diehard fan of the Crimson Troupe. Attacks inflict <@eb.key>Nervous Impairment.","name":"Derisive Audience","desc":"A diehard fan of the Crimson Troupe. Attacks inflict Nervous Impairment.","abilities":[{"textRaw":"Attacks inflict additional <$ba.dt.neural>Nervous Impairment","text":"Attacks inflict additional Nervous Impairment"}],"_h":"gerc39nhhs"},"enemy_2010_csdcr":{"descRaw":"A performer of the Crimson Troupe. Attacks inflict <@eb.key>Nervous Impairment; After receiving a certain number of hits, greatly increases ASPD of all enemies.","name":"Scarlet Singer","desc":"A performer of the Crimson Troupe. Attacks inflict Nervous Impairment; After receiving a certain number of hits, greatly increases ASPD of all enemies.","abilities":[{"textRaw":"Attacks inflict additional <$ba.dt.neural>Nervous Impairment","text":"Attacks inflict additional Nervous Impairment"},{"textRaw":"After receiving a certain number of hits, greatly increases all enemies' ASPD for a short period","text":"After receiving a certain number of hits, greatly increases all enemies' ASPD for a short period"}],"_h":"htp6t4nhhsbxbx"},"enemy_2016_csphtm":{"descRaw":"Calamity of the Crimson Troupe, code name Phantom. <@eb.key>Passes through blocking units and leaves an <@eb.key>Ominous Apparition behind. Attacks and skills inflict <@eb.key>Nervous Impairment.","name":"Lucian, 'Blood Diamond'","desc":"Calamity of the Crimson Troupe, code name Phantom. Passes through blocking units and leaves an Ominous Apparition behind. Attacks and skills inflict Nervous Impairment.","abilities":[{"textRaw":"Has a chance to dodge Physical and Arts attacks when not blocked. When blocked, swiftly moves behind the target and leaves an at the original location","text":"Has a chance to dodge Physical and Arts attacks when not blocked. When blocked, swiftly moves behind the target and leaves an at the original location"},{"textRaw":"Can use skills to deal Physical damage to the surrounding area; attacks and skills ignore a certain amount of DEF and inflict <$ba.dt.neural>Nervous Impairment","text":"Can use skills to deal Physical damage to the surrounding area; attacks and skills ignore a certain amount of DEF and inflict Nervous Impairment"}],"_h":"1tpqdkytyt2sg9"},"enemy_2017_csphts":{"descRaw":"A patch of shadow. It has never once left, nor has it ever truly existed.","name":"Ominous Apparition","desc":"A patch of shadow. It has never once left, nor has it ever truly existed.","abilities":[{"textRaw":"Has a chance to dodge Physical and Arts attacks when not blocked","text":"Has a chance to dodge Physical and Arts attacks when not blocked"},{"textRaw":"Can use a skill to deal Physical damage in the surrounding area","text":"Can use a skill to deal Physical damage in the surrounding area"},{"textRaw":"Attacks and skills ignore a certain amount of armor and inflict additional <$ba.dt.neural>Nervous Impairment","text":"Attacks and skills ignore a certain amount of armor and inflict additional Nervous Impairment"}],"_h":"ytvjytqmqmk2k2rnwm"},"enemy_2021_syfish":{"descRaw":"Attacks inflict additional <@eb.key>Corrosion.","name":"Bone Sea Drifter","desc":"Attacks inflict additional Corrosion.","abilities":[{"textRaw":"Attacks inflict additional <$ba.dt.erosion>Corrosion.","text":"Attacks inflict additional Corrosion."}],"_h":"sbkyaq83aq"},"enemy_2025_syufo":{"descRaw":"[Low-Altitude Hovering], attacks inflict additional <@eb.key>Corrosion.","name":"Skimming Sea Drifter","desc":"[Low-Altitude Hovering], attacks inflict additional Corrosion.","abilities":[{"textRaw":"<$ba.float>Low-Altitude Hovering","text":"Low-Altitude Hovering"},{"textRaw":"Attacks inflict additional <$ba.dt.erosion>Corrosion.","text":"Attacks inflict additional Corrosion."}],"_h":"fvkkwiam9e83aq"},"enemy_2034_sythef":{"descRaw":"Obedient Perro. <@eb.key>Invisible, attacks cause <@eb.key>Stun, drops <@eb.key>Treasure when defeated.","name":"Crying Thief","desc":"Obedient Perro. Invisible, attacks cause Stun, drops Treasure when defeated.","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"Attacks <$ba.stun>Stun the target","text":"Attacks Stun the target"}],"_h":"sq85y1jteop2sm"},"enemy_2034_sythef_2":{"descRaw":"Obedient Perro. <@eb.key>Invisible, attacks cause <@eb.key>Stun, drops <@eb.key>Treasure when defeated.","name":"Crying Thief","desc":"Obedient Perro. Invisible, attacks cause Stun, drops Treasure when defeated.","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"Attacks <$ba.stun>Stun the target","text":"Attacks Stun the target"}],"_h":"sq85y1jteop2sm"},"enemy_2048_smgrd":{"descRaw":"Deals heavy Physical damage to units on tiles affected by [Dominion]; continually generates [Dominion] in a certain radius around self","name":"'Demon's Blade'","desc":"Deals heavy Physical damage to units on tiles affected by [Dominion]; continually generates [Dominion] in a certain radius around self","abilities":[{"textRaw":"Deals heavy Physical damage to allied units on tiles affected by [Dominion]","text":"Deals heavy Physical damage to allied units on tiles affected by [Dominion]"},{"textRaw":"Continuously generates [Dominion] on the surrounding 8 tiles, significantly reducing the ASPD of allied units","text":"Continuously generates [Dominion] on the surrounding 8 tiles, significantly reducing the ASPD of allied units"}],"_h":"3qda3qimimiiii"},"enemy_2050_smsha":{"descRaw":"Attacks jump between 3 targets and inflict Cold, reducing damage with each jump; attacks can also target and jump between other enemies, increasing their Movement Speed and ASPD","name":"Fallen Snowpriest","desc":"Attacks jump between 3 targets and inflict Cold, reducing damage with each jump; attacks can also target and jump between other enemies, increasing their Movement Speed and ASPD","abilities":[{"textRaw":"Attacks inflict <$ba.cold>Cold and jump between 3 targets, with each jump dealing reduced damage","text":"Attacks inflict Cold and jump between 3 targets, with each jump dealing reduced damage"},{"textRaw":"[Unnatural Gift] Attacks can hit and jump between 3 other enemies, increasing their Movement Speed and ASPD","text":"[Unnatural Gift] Attacks can hit and jump between 3 other enemies, increasing their Movement Speed and ASPD"}],"_h":"x8tvx8y9n3yyyy"},"enemy_2052_smgia":{"descRaw":"<@eb.key>Stuns allied units after several attacks. The rickety vine formation makes it susceptible to fire","name":"Weaving Vinecreeps","desc":"Stuns allied units after several attacks. The rickety vine formation makes it susceptible to fire","abilities":[{"textRaw":"Gains a large <$ba.fragile>Fragile effect after taking damage from environmental effects","text":"Gains a large Fragile effect after taking damage from environmental effects"},{"textRaw":"<$ba.stun>Stuns allied units after several attacks","text":"Stuns allied units after several attacks"}],"_h":"xyawlzo98brzgn"},"enemy_2085_skzjxd":{"descRaw":"Duck Lord's associate and apprentice, an opportunist with a slick tongue.","name":"Fatty","desc":"Duck Lord's associate and apprentice, an opportunist with a slick tongue.","abilities":[{"textRaw":"Always faces the direction with the most Operators.","text":"Always faces the direction with the most Operators."},{"textRaw":"Takes 80% less Physical/Arts damage from the front.","text":"Takes 80% less Physical/Arts damage from the front."}],"_h":"w7zrw7rbrbtdtd"},"enemy_2085_skzjxd_2":{"descRaw":"Duck Lord's associate and apprentice, an opportunist with a slick tongue.","name":"Fatty","desc":"Duck Lord's associate and apprentice, an opportunist with a slick tongue.","abilities":[{"textRaw":"Always faces the direction with the most Operators.","text":"Always faces the direction with the most Operators."},{"textRaw":"Takes 80% less Physical/Arts damage from the front.","text":"Takes 80% less Physical/Arts damage from the front."}],"_h":"w7zrw7rbrbtdtd"},"enemy_9006_actoxi":{"descRaw":"When defeated, fires a poison cloud at the damage source, dealing Arts damage over time.\n","name":"OpFor: Fissure","desc":"When defeated, fires a poison cloud at the damage source, dealing Arts damage over time.\n","abilities":[{"textRaw":"When defeated, fires a poison cloud at the target that defeated it, continuously dealing Arts damage to the surroundings","text":"When defeated, fires a poison cloud at the target that defeated it, continuously dealing Arts damage to the surroundings"}],"_h":"egcbegoyoy"},"enemy_9007_acelem":{"descRaw":"When blocked, plants itself on the blocker, dealing Arts damage over time, and causing the target to take more Elemental Injury; spreads to the 4 adjacent tiles when Elemental Burst occurs.","name":"OpFor: Quagmire","desc":"When blocked, plants itself on the blocker, dealing Arts damage over time, and causing the target to take more Elemental Injury; spreads to the 4 adjacent tiles when Elemental Burst occurs.","abilities":[{"textRaw":"Less likely to be attacked","text":"Less likely to be attacked"},{"textRaw":"When blocked, plants itself on the blocker, causing them to take continuous Arts damage and increased <$ba.dt.element>Elemental Injury","text":"When blocked, plants itself on the blocker, causing them to take continuous Arts damage and increased Elemental Injury"},{"textRaw":"When an <$ba.dt.element>Elemental Injury burst occurs on the parasitized target, inflicts a large amount of <$ba.dt.element>Elemental Injury of the same type on other allied units in the four adjacent tiles","text":"When an Elemental Injury burst occurs on the parasitized target, inflicts a large amount of Elemental Injury of the same type on other allied units in the four adjacent tiles"}],"_h":"yg8lygjcjc3rx9ymgo"},"enemy_9008_acbunn":{"descRaw":"Invisible; attacks 3 targets simultaneously when Invisible.","name":"OpFor: Bonespur","desc":"Invisible; attacks 3 targets simultaneously when Invisible.","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"Attacks multiple targets simultaneously when <$ba.invisible>Invisible","text":"Attacks multiple targets simultaneously when Invisible"}],"_h":"xyobxyjteoxoyn"},"enemy_9009_acfort":{"descRaw":"Seizes up to 3 non-Elite or non-Leader flying enemies to replenish its own ammunition; fires all ammunition","name":"OpFor: BlackCloud","desc":"Seizes up to 3 non-Elite or non-Leader flying enemies to replenish its own ammunition; fires all ammunition","abilities":[{"textRaw":"Periodically binds and devours several non-Elite or non-Leader flying enemies, recovering an equal amount of ammunition","text":"Periodically binds and devours several non-Elite or non-Leader flying enemies, recovering an equal amount of ammunition"},{"textRaw":"Fires all ammunition, dealing heavy Physical damage to the target","text":"Fires all ammunition, dealing heavy Physical damage to the target"}],"_h":"b9qzb9o6o6ffff"},"enemy_9010_acpupp":{"descRaw":"When defeated, becomes a puppet and gives nearby other enemies 5 Shield; puppet must be damaged 30 times to be defeated and cannot be blocked, reviving after some time.","name":"OpFor: Rebirth","desc":"When defeated, becomes a puppet and gives nearby other enemies 5 Shield; puppet must be damaged 30 times to be defeated and cannot be blocked, reviving after some time.","abilities":[{"textRaw":"When defeated, enters a revival state and gives other enemies within range a shield that protects against Physical and Arts damage, which is broken after taking a certain number of attacks","text":"When defeated, enters a revival state and gives other enemies within range a shield that protects against Physical and Arts damage, which is broken after taking a certain number of attacks"},{"textRaw":"In the revival state, it needs to be damaged multiple times to be knocked down, and revives after some time","text":"In the revival state, it needs to be damaged multiple times to be knocked down, and revives after some time"}],"_h":"9ca19cn8n81111"},"enemy_9011_acrefr":{"descRaw":"Refraction; +100% HP when it has Refraction","name":"OpFor: Mirror","desc":"Refraction; +100% HP when it has Refraction","abilities":[{"textRaw":"<$ba.refraction>Refraction","text":"Refraction"},{"textRaw":"HP greatly increased when Refraction is active","text":"HP greatly increased when Refraction is active"}],"_h":"3abt3ag6tlujq8"},"enemy_9012_acloon":{"descRaw":"A device that focuses the strength of Yan natives; periodically shoots fire at enemies.","name":"Yan's Protection","desc":"A device that focuses the strength of Yan natives; periodically shoots fire at enemies.","abilities":[{"textRaw":"At the start of battle, Yan's Protection gains ATK and HP equal to a percentage of the total ATK and HP of all Yan Alliance Operators on the field","text":"At the start of battle, Yan's Protection gains ATK and HP equal to a percentage of the total ATK and HP of all Yan Alliance Operators on the field"},{"textRaw":"Attacks multiple targets, inflicting a percentage of ATK as <$ba.dt.burning2>Burn; nearby enemy units gain a certain percentage of <$ba.elementfragile>Elemental Fragility","text":"Attacks multiple targets, inflicting a percentage of ATK as Burn; nearby enemy units gain a certain percentage of Elemental Fragility"},{"textRaw":"[Cleansing Flame] Continuously shoots fires at an enemy in attack range, dealing Arts damage equal to a percentage of ATK every second, and dealing damage to several enemies around the target","text":"[Cleansing Flame] Continuously shoots fires at an enemy in attack range, dealing Arts damage equal to a percentage of ATK every second, and dealing damage to several enemies around the target"}],"_h":"5hom5h3q3qomgnn9n9"},"enemy_9013_acstmk":{"descRaw":"A suit of steam armor that has been heavily corroded by Originium.\nCorrosion is the most common form of Originium reaction.","name":"OpFor: Armor","desc":"A suit of steam armor that has been heavily corroded by Originium.\nCorrosion is the most common form of Originium reaction.","abilities":[{"textRaw":"Randomly selects a target and fires in a line, dealing Arts damage","text":"Randomly selects a target and fires in a line, dealing Arts damage"},{"textRaw":"[Woe of Extinction] Fires an at the Operator with the highest ATK, which explodes when it reaches the target, <$ba.stun>stunning them and units in the 8 surrounding tiles for an extended time and causing them to take Physical damage every second; can be destroyed by attacking it several times when it is flying","text":"[Woe of Extinction] Fires an at the Operator with the highest ATK, which explodes when it reaches the target, stunning them and units in the 8 surrounding tiles for an extended time and causing them to take Physical damage every second; can be destroyed by attacking it several times when it is flying"},{"textRaw":"When HP drops below a certain percentage, Physical and Arts damage taken is reduced, and [Woe of Extinction] fires additional ","text":"When HP drops below a certain percentage, Physical and Arts damage taken is reduced, and [Woe of Extinction] fires additional "},{"textRaw":"[Deathswarm] Periodically summons drones","text":"[Deathswarm] Periodically summons drones"},{"textRaw":"Hidden Core","text":"Hidden Core"},{"textRaw":"[Sword and Hammer of Olden Days] When specific conditions are met and the simulation enters the Hidden Core round, will appear in its final form and gain 'Armor Cleaver' and 'Armor Crusher'","text":"[Sword and Hammer of Olden Days] When specific conditions are met and the simulation enters the Hidden Core round, will appear in its final form and gain 'Armor Cleaver' and 'Armor Crusher'"},{"textRaw":"'Armor Cleaver' and 'Armor Crusher' start Invulnerable; When shot down, transfer a percentage of the damage taken to OpFor: Armor","text":"'Armor Cleaver' and 'Armor Crusher' start Invulnerable; When shot down, transfer a percentage of the damage taken to OpFor: Armor"},{"textRaw":"'Armor Cleaver' and 'Armor Crusher' periodically fly towards the Operator with the lowest ATK and explode, <$ba.stun>stunning the target and Operators in the 8 surrounding tiles, and dealing Physical damage every second before returning to OpFor: Armor; they lose Invulnerable status when flying and will fall to the ground after taking a certain number of hits; when on ground, they are treated as low ground units and take more damage","text":"'Armor Cleaver' and 'Armor Crusher' periodically fly towards the Operator with the lowest ATK and explode, stunning the target and Operators in the 8 surrounding tiles, and dealing Physical damage every second before returning to OpFor: Armor; they lose Invulnerable status when flying and will fall to the ground after taking a certain number of hits; when on ground, they are treated as low ground units and take more damage"}],"_h":"jhdzjhcocoki2ijvjvrkrkfwfwu4u4hyhyxx93"},"enemy_9013_acstmk_2":{"descRaw":"A suit of steam armor that has been heavily corroded by Originium.\nCorrosion is the most common form of Originium reaction.","name":"OpFor: Armor","desc":"A suit of steam armor that has been heavily corroded by Originium.\nCorrosion is the most common form of Originium reaction.","abilities":[{"textRaw":"Randomly selects a target and performs an Arts attack","text":"Randomly selects a target and performs an Arts attack"},{"textRaw":"When HP drops below a certain percentage, Physical and Arts damage taken is reduced, and [Woe of Extinction] fires additional ","text":"When HP drops below a certain percentage, Physical and Arts damage taken is reduced, and [Woe of Extinction] fires additional "},{"textRaw":"[Woe of Extinction] Fires an at the Operator with the highest ATK within range, which explodes when it reaches the target, <$ba.stun>stunning them and units in the 8 surrounding tiles and causing them to take Physical damage every second; can be destroyed by attacking it several times when it is flying","text":"[Woe of Extinction] Fires an at the Operator with the highest ATK within range, which explodes when it reaches the target, stunning them and units in the 8 surrounding tiles and causing them to take Physical damage every second; can be destroyed by attacking it several times when it is flying"},{"textRaw":"[Deathswarm] Periodically summons drones","text":"[Deathswarm] Periodically summons drones"},{"textRaw":"Hidden Core","text":"Hidden Core"},{"textRaw":"[Sword and Hammer of Olden Days] OpFor: Armor enters its final form after fulfilling specific conditions and entering the Hidden Core round","text":"[Sword and Hammer of Olden Days] OpFor: Armor enters its final form after fulfilling specific conditions and entering the Hidden Core round"}],"_h":"jhdzjh54543j3j8xftrkrkfwfwmsms"},"enemy_9014_acstma":{"descRaw":"Has extremely high RES. Continuously attacks all allied units in a large surrounding area. Periodically selects a target, lifts off, and bombards them, losing its invulnerability during this time","name":"'Armor Cleaver'","desc":"Has extremely high RES. Continuously attacks all allied units in a large surrounding area. Periodically selects a target, lifts off, and bombards them, losing its invulnerability during this time","abilities":[{"textRaw":"<$ba.permanentatk>Continuously attacks, dealing AoE Physical damage","text":"Continuously attacks, dealing AoE Physical damage"},{"textRaw":"Starts Invulnerable; When shot down, transfers a percentage of the damage taken to OpFor: Armor","text":"Starts Invulnerable; When shot down, transfers a percentage of the damage taken to OpFor: Armor"},{"textRaw":"Periodically flies towards the Operator with the lowest ATK, <$ba.stun>stunning the target and Operators in the 8 surrounding tiles, and dealing Physical damage every second","text":"Periodically flies towards the Operator with the lowest ATK, stunning the target and Operators in the 8 surrounding tiles, and dealing Physical damage every second"},{"textRaw":"Flying 'Armor Cleaver' is shot down after taking a certain number of attacks","text":"Flying 'Armor Cleaver' is shot down after taking a certain number of attacks"},{"textRaw":"'Armor Cleaver' becomes a low ground unit and takes more damage when shot down","text":"'Armor Cleaver' becomes a low ground unit and takes more damage when shot down"}],"_h":"bie5bi8qye4o4o7tcz6868wywy"},"enemy_9015_acstmb":{"descRaw":"Has extremely high DEF. Continuously attacks all allied units in a small surrounding area. Periodically selects a target, lifts off, and bombards them, losing its invulnerability during this time","name":"'Armor Crusher'","desc":"Has extremely high DEF. Continuously attacks all allied units in a small surrounding area. Periodically selects a target, lifts off, and bombards them, losing its invulnerability during this time","abilities":[{"textRaw":"<$ba.permanentatk>Continuously attacks, dealing AoE Physical damage","text":"Continuously attacks, dealing AoE Physical damage"},{"textRaw":"Starts Invulnerable; When shot down, transfers a percentage of the damage taken to OpFor: Armor","text":"Starts Invulnerable; When shot down, transfers a percentage of the damage taken to OpFor: Armor"},{"textRaw":"Periodically flies towards the Operator with the lowest ATK, <$ba.stun>stunning the target and Operators in the 8 surrounding tiles, and dealing Physical damage every second","text":"Periodically flies towards the Operator with the lowest ATK, stunning the target and Operators in the 8 surrounding tiles, and dealing Physical damage every second"},{"textRaw":"Flying 'Armor Crusher' is shot down after taking a certain number of attacks","text":"Flying 'Armor Crusher' is shot down after taking a certain number of attacks"},{"textRaw":"'Armor Crusher' becomes a low ground unit and takes more damage when shot down","text":"'Armor Crusher' becomes a low ground unit and takes more damage when shot down"}],"_h":"m7nnm78qye4o4o7tcztitivkvk"},"enemy_9016_acstmr":{"name":"Armor Piercer","abilities":[{"textRaw":"Explodes when it reaches the target, <$ba.stun>stunning the target and Operators in the 8 surrounding tiles, and dealing Physical damage every second","text":"Explodes when it reaches the target, stunning the target and Operators in the 8 surrounding tiles, and dealing Physical damage every second"},{"textRaw":"Must be attacked several times to defeat","text":"Must be attacked several times to defeat"}],"_h":"q3p3tdieie"},"enemy_9017_achunt":{"descRaw":"Inflicts Corrosion when dealing damage; attacks prioritize enemies with high ATK and DEF; ASPD gradually increases when attacking the same target repeatedly","name":"OpFor: Gun","desc":"Inflicts Corrosion when dealing damage; attacks prioritize enemies with high ATK and DEF; ASPD gradually increases when attacking the same target repeatedly","abilities":[{"textRaw":"Attacks prioritize units with the highest DEF","text":"Attacks prioritize units with the highest DEF"},{"textRaw":"Attacks inflict <$ba.dt.erosion>Corrosion","text":"Attacks inflict Corrosion"},{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"ASPD gradually increases when attacking the same enemy repeatedly","text":"ASPD gradually increases when attacking the same enemy repeatedly"},{"textRaw":"[Final Judgment] Stops attacking and gains greatly increased Movement Speed, charging at the unit with the highest DEF and dealing Physical damage to units it passes by","text":"[Final Judgment] Stops attacking and gains greatly increased Movement Speed, charging at the unit with the highest DEF and dealing Physical damage to units it passes by"},{"textRaw":"Hidden Core","text":"Hidden Core"},{"textRaw":"[Unending Confession] After fulfilling specific conditions and entering the Hidden Core round in the simulation, <'Gunshatter'> appears on the field, and Physical and Arts damage taken by is significantly reduced","text":"[Unending Confession] After fulfilling specific conditions and entering the Hidden Core round in the simulation, <'Gunshatter'> appears on the field, and Physical and Arts damage taken by is significantly reduced"},{"textRaw":"[Blind Faith] Connects to all <'Gunshatters'> on the field; a percentage of damage taken by <'Gunshatters'> is transferred to , and allied units on the [Blind Faith] link take Physical damage every second","text":"[Blind Faith] Connects to all <'Gunshatters'> on the field; a percentage of damage taken by <'Gunshatters'> is transferred to , and allied units on the [Blind Faith] link take Physical damage every second"},{"textRaw":"[Doomsaying] Continuously calls all <'Gunshatters'> towards it; <'Gunshatters'> gain greatly increased Movement Speed, become immune to damage, and deal damage to allied units that they pass by","text":"[Doomsaying] Continuously calls all <'Gunshatters'> towards it; <'Gunshatters'> gain greatly increased Movement Speed, become immune to damage, and deal damage to allied units that they pass by"}],"_h":"x1nyx1sjsjfsd7ufufrorobvbvfwfwylyl8c8c3n3n"},"enemy_9017_achunt_2":{"descRaw":"Inflicts Corrosion when dealing damage; attacks prioritize enemies with high ATK and DEF; ASPD gradually increases when attacking the same target repeatedly; has high Physical and Arts damage reduction","name":"OpFor: Gun","desc":"Inflicts Corrosion when dealing damage; attacks prioritize enemies with high ATK and DEF; ASPD gradually increases when attacking the same target repeatedly; has high Physical and Arts damage reduction","abilities":[{"textRaw":"Attacks prioritize units with the highest DEF","text":"Attacks prioritize units with the highest DEF"},{"textRaw":"Attacks inflict <$ba.dt.erosion>Corrosion","text":"Attacks inflict Corrosion"},{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"ASPD gradually increases when attacking the same enemy repeatedly","text":"ASPD gradually increases when attacking the same enemy repeatedly"},{"textRaw":"[Final Judgment] Stops attacking and gains greatly increased Movement Speed, charging at the unit with the highest DEF and dealing Physical damage to units it passes by","text":"[Final Judgment] Stops attacking and gains greatly increased Movement Speed, charging at the unit with the highest DEF and dealing Physical damage to units it passes by"},{"textRaw":"Hidden Core","text":"Hidden Core"},{"textRaw":"[Unending Confession] After fulfilling specific conditions and entering the Hidden Core round in the simulation, <'Gunshatter'> appears on the field, and Physical and Arts damage taken by is massively reduced","text":"[Unending Confession] After fulfilling specific conditions and entering the Hidden Core round in the simulation, <'Gunshatter'> appears on the field, and Physical and Arts damage taken by is massively reduced"},{"textRaw":"[Blind Faith] Connects to all <'Gunshatters'> on the field; a percentage of damage taken by <'Gunshatters'> is transferred to and other <'Gunshatters'> on the field, and allied units on the [Blind Faith] link take Physical damage every second","text":"[Blind Faith] Connects to all <'Gunshatters'> on the field; a percentage of damage taken by <'Gunshatters'> is transferred to and other <'Gunshatters'> on the field, and allied units on the [Blind Faith] link take Physical damage every second"},{"textRaw":"[Doomsaying] Continuously calls all <'Gunshatters'> towards it; <'Gunshatters'> gain greatly increased Movement Speed, become immune to damage, and deal damage to allied units that they pass by","text":"[Doomsaying] Continuously calls all <'Gunshatters'> towards it; <'Gunshatters'> gain greatly increased Movement Speed, become immune to damage, and deal damage to allied units that they pass by"}],"_h":"ppnyppsjsjfsd7ufufrorobvbvfwfwfmfm50503n3n"},"enemy_9018_actrpa":{"descRaw":"Damage greatly reduced when shield is active","name":"'Gunshatter'","desc":"Damage greatly reduced when shield is active","abilities":[{"textRaw":"[Unfinished Prayer] Starts with one of the following special shields; cannot be blocked while the shield is active; regains the shield a certain period after it disappears","text":"[Unfinished Prayer] Starts with one of the following special shields; cannot be blocked while the shield is active; regains the shield a certain period after it disappears"},{"textRaw":"Elemental Shield: Physical and Arts damage taken greatly reduced; shield disappears when <$ba.dt.element>Elemental Injury burst occurs. When this shield is active, periodically fires a projectile that inflicts <$ba.dt.element>Elemental Injury and ricochets several times, reducing damage with each bounce","text":"Elemental Shield: Physical and Arts damage taken greatly reduced; shield disappears when Elemental Injury burst occurs. When this shield is active, periodically fires a projectile that inflicts Elemental Injury and ricochets several times, reducing damage with each bounce"},{"textRaw":"Arts Shield: Gains a certain amount of Arts Barrier, greatly reduces Physical damage taken while active. If Physical damage is taken when shield is active, deals Physical damage to and inflicts <$ba.dt.erosion>Corrosion on the source.","text":"Arts Shield: Gains a certain amount of Arts Barrier, greatly reduces Physical damage taken while active. If Physical damage is taken when shield is active, deals Physical damage to and inflicts Corrosion on the source."},{"textRaw":"Modulated Shield: Disappears after taking damage several times. Periodically performs a 10-combo attack when shield is active.","text":"Modulated Shield: Disappears after taking damage several times. Periodically performs a 10-combo attack when shield is active."}],"_h":"4rw94rkyky0mj00lmsbibi"},"enemy_9019_actrpb":{"name":"'Gunshatter'","_h":"w9"},"enemy_9020_actrpc":{"name":"'Gunshatter'","_h":"w9"},"enemy_9021_acduml":{"descRaw":"Attacks prioritize 'Echoes of Broken Strings'","name":"OpFor: Pipe","desc":"Attacks prioritize 'Echoes of Broken Strings'","abilities":[{"textRaw":"When on the field, continuously summons <'Echoes'> in [Penumbral Lament] form; summon interval reduces when HP drops below a certain point","text":"When on the field, continuously summons <'Echoes'> in [Penumbral Lament] form; summon interval reduces when HP drops below a certain point"},{"textRaw":"Attacks prioritize <'Echoes'> in [Penumbral Lament] form","text":"Attacks prioritize <'Echoes'> in [Penumbral Lament] form"},{"textRaw":"[Cracked Pipe] Attacks all <'Echoes'> in [Penumbral Lament] form three times in a row, dealing AoE Arts damage and inflicting <$ba.dt.apoptosis>Necrosis","text":"[Cracked Pipe] Attacks all <'Echoes'> in [Penumbral Lament] form three times in a row, dealing AoE Arts damage and inflicting Necrosis"},{"textRaw":"Hidden Core","text":"Hidden Core"},{"textRaw":" and will appear at the same time after fulfilling specific conditions and entering the Hidden Core round","text":" and will appear at the same time after fulfilling specific conditions and entering the Hidden Core round"}],"_h":"p36wp3uzuzxtxtmd2vfwfw2r2r"},"enemy_9021_acduml_2":{"descRaw":"Attacks prioritize 'Echoes of Broken Strings'","name":"OpFor: Pipe","desc":"Attacks prioritize 'Echoes of Broken Strings'","abilities":[{"textRaw":"When on the field, continuously summons <'Echoes'> in [Penumbral Lament] form; summon interval reduces when HP drops below a certain point","text":"When on the field, continuously summons <'Echoes'> in [Penumbral Lament] form; summon interval reduces when HP drops below a certain point"},{"textRaw":"Attacks prioritize <'Echoes'> in [Penumbral Lament] form","text":"Attacks prioritize <'Echoes'> in [Penumbral Lament] form"},{"textRaw":"[Cracked Pipe] Attacks all <'Echoes'> in [Penumbral Lament] form three times in a row, dealing AoE Arts damage and inflicting <$ba.dt.apoptosis>Necrosis","text":"[Cracked Pipe] Attacks all <'Echoes'> in [Penumbral Lament] form three times in a row, dealing AoE Arts damage and inflicting Necrosis"},{"textRaw":"Hidden Core","text":"Hidden Core"},{"textRaw":" and will appear at the same time after fulfilling specific conditions and entering the Hidden Core round","text":" and will appear at the same time after fulfilling specific conditions and entering the Hidden Core round"}],"_h":"p36wp3uzuzxtxtmd2vfwfw2r2r"},"enemy_9022_acdumm":{"descRaw":"Attacks prioritize 'Echoes of Cracked Pipe'","name":"OpFor: String","desc":"Attacks prioritize 'Echoes of Cracked Pipe'","abilities":[{"textRaw":"Permanently Invulnerable; leaves the field when is defeated","text":"Permanently Invulnerable; leaves the field when is defeated"},{"textRaw":"When on the field, continuously summons <'Echoes'> in [Golden Wail] form","text":"When on the field, continuously summons <'Echoes'> in [Golden Wail] form"},{"textRaw":"Attacks prioritize <'Echoes'> in [Golden Wail] form","text":"Attacks prioritize <'Echoes'> in [Golden Wail] form"},{"textRaw":"[Broken Strings] Targets all <'Echoes'> in [Golden Wail] form on the field, dealing Arts damage in a large area centered around them and inflicting <$ba.dt.apoptosis>Necrosis, and transforms the targets' <'Echoes'> form","text":"[Broken Strings] Targets all <'Echoes'> in [Golden Wail] form on the field, dealing Arts damage in a large area centered around them and inflicting Necrosis, and transforms the targets' <'Echoes'> form"}],"_h":"m571m5d1d1eses7g7gj8r6"},"enemy_9023_acdums":{"descRaw":"Deals Arts damage and inflicts Necrosis on its surroundings when attacked; changes form after being attacked a certain number of times","name":"'Echoes of Cracked Pipe'/'Echoes of Broken Strings'","desc":"Deals Arts damage and inflicts Necrosis on its surroundings when attacked; changes form after being attacked a certain number of times","abilities":[{"textRaw":"Must be attacked several times to defeat","text":"Must be attacked several times to defeat"},{"textRaw":"Can only be blocked by units with at least 2 Block","text":"Can only be blocked by units with at least 2 Block"},{"textRaw":"[Polytonality]: Switches between [Golden Wail] and [Penumbral Lament] forms","text":"[Polytonality]: Switches between [Golden Wail] and [Penumbral Lament] forms"},{"textRaw":"ASPD increased in [Golden Wail] form, transforms into [Penumbral Lament] form after taking damage several times","text":"ASPD increased in [Golden Wail] form, transforms into [Penumbral Lament] form after taking damage several times"},{"textRaw":"Movement Speed is reduced while ATK is increased in [Penumbral Lament] form, transforms into [Golden Wail] form after taking damage several times","text":"Movement Speed is reduced while ATK is increased in [Penumbral Lament] form, transforms into [Golden Wail] form after taking damage several times"},{"textRaw":"Upon taking damage, deals Arts damage in an area around itself, inflicting <$ba.dt.apoptosis>Necrosis","text":"Upon taking damage, deals Arts damage in an area around itself, inflicting Necrosis"},{"textRaw":"All <'Echoes'> periodically play in ensemble, dealing AoE Arts damage and inflicting <$ba.dt.apoptosis>Necrosis","text":"All <'Echoes'> periodically play in ensemble, dealing AoE Arts damage and inflicting Necrosis"}],"_h":"qe9wqeieie9l9lu7u7ndnd1l1li18r45br"},"enemy_9032_aclionk":{"descRaw":"The final flame of the empire, a specter adorned with a rusted crown. Refute him. Refute Victoria's supreme glory and authority. He will examine the evidence. He may yet forgive.","name":"Alistair, Final Flame of the Empire","desc":"The final flame of the empire, a specter adorned with a rusted crown. Refute him. Refute Victoria's supreme glory and authority. He will examine the evidence. He may yet forgive.","abilities":[{"textRaw":"When HP drops below half, DEF and RES increase, and [Imperial Domain] activates two pieces of gear","text":"When HP drops below half, DEF and RES increase, and [Imperial Domain] activates two pieces of gear"},{"textRaw":"[Expulsion] After some time has passed, deals Arts splash damage to all your units, and drains all Life Points","text":"[Expulsion] After some time has passed, deals Arts splash damage to all your units, and drains all Life Points"},{"textRaw":"[Royal Decree] Locks onto an allied unit and their surrounding 4 tiles, dealing heavy Physical damage to targets within that range once and generating random gear on tiles within that range","text":"[Royal Decree] Locks onto an allied unit and their surrounding 4 tiles, dealing heavy Physical damage to targets within that range once and generating random gear on tiles within that range"},{"textRaw":"[Imperial Domain] Activates a piece of gear on the field; different types of gear will result in different effects","text":"[Imperial Domain] Activates a piece of gear on the field; different types of gear will result in different effects"}],"_h":"hncnhnytytyuyuscscwnwn"},"enemy_9033_acdeer":{"descRaw":"Born from the memories of the soil, stone, ice, and snow, it takes reduced Physical and Arts Damage, and skills affect an additional target when HP is below 50%","name":"'Samivilinn,' the Resolution of the Very North","desc":"Born from the memories of the soil, stone, ice, and snow, it takes reduced Physical and Arts Damage, and skills affect an additional target when HP is below 50%","abilities":[{"textRaw":"[Icicle Fall] Attacks deal Physical damage to allied units in a column","text":"[Icicle Fall] Attacks deal Physical damage to allied units in a column"},{"textRaw":"[Surge of Nature] Inflicts <$ba.stun>Stun on an allied unit and causes the target to take Arts damage over time","text":"[Surge of Nature] Inflicts Stun on an allied unit and causes the target to take Arts damage over time"},{"textRaw":"After falling below half HP, takes reduced Physical and Arts damage and [Icicle Fall] and [Surge of Nature] both target an additional unit","text":"After falling below half HP, takes reduced Physical and Arts damage and [Icicle Fall] and [Surge of Nature] both target an additional unit"}],"_h":"w5nnw5n6n60um0wdwd"},"enemy_10001_trslim":{"descRaw":"A <@eb.key>harmless Originium slug that flees when HP is under 50%! Gains bonus Movement Speed and cannot be blocked for a period of time.","name":"Basic Slug","desc":"A harmless Originium slug that flees when HP is under 50%! Gains bonus Movement Speed and cannot be blocked for a period of time.","abilities":[{"textRaw":"Flees when HP is under 50%! Gains bonus Movement Speed and cannot be blocked for a period of time.","text":"Flees when HP is under 50%! Gains bonus Movement Speed and cannot be blocked for a period of time."}],"_h":"hbrfvknsns"},"enemy_10018_sgrobh":{"descRaw":"Attacks <@eb.key>2 targets at once. Has a short default attack range, but performs <@eb.key>extremely long-range attacks when on Crystal.","name":"'Unicycle Toy'","desc":"Attacks 2 targets at once. Has a short default attack range, but performs extremely long-range attacks when on Crystal.","abilities":[{"textRaw":"Attacks two targets simultaneously.","text":"Attacks two targets simultaneously."},{"textRaw":"Has a short default attack range, but performs extremely long-range attacks when on Crystal.","text":"Has a short default attack range, but performs extremely long-range attacks when on Crystal."}],"_h":"mmscawkwkwtwtw"},"enemy_10027_vtsk":{"descRaw":"Bombards the area of the allied unit with the highest current HP; has long-ranged Physical attacks; after several attacks, charges up for an attack that deals heavy Physical damage 3 times","name":"'Armor of the Empire'","desc":"Bombards the area of the allied unit with the highest current HP; has long-ranged Physical attacks; after several attacks, charges up for an attack that deals heavy Physical damage 3 times","abilities":[{"textRaw":"Locks onto an allied unit with the current highest HP, dealing Physical damage multiple times to it and the nearby unit with the current highest HP","text":"Locks onto an allied unit with the current highest HP, dealing Physical damage multiple times to it and the nearby unit with the current highest HP"},{"textRaw":"Can perform long-ranged attacks","text":"Can perform long-ranged attacks"},{"textRaw":"After several attacks, charges up for an attack that deals heavy damage 3 times","text":"After several attacks, charges up for an attack that deals heavy damage 3 times"}],"_h":"7dkw7du4u43939y6y6"},"enemy_10028_vtswd":{"descRaw":"Can be equipped by enemies or allies, raising their ATK","name":"Unequipped Blade","desc":"Can be equipped by enemies or allies, raising their ATK","abilities":[{"textRaw":"When equipped by allied Operators","text":"When equipped by allied Operators"},{"textRaw":"Operators equipped with this gain increased ATK","text":"Operators equipped with this gain increased ATK"},{"textRaw":"When equipped by enemies","text":"When equipped by enemies"},{"textRaw":"Units equipped with this gain increased ATK","text":"Units equipped with this gain increased ATK"},{"textRaw":"Obtains a Barrier","text":"Obtains a Barrier"},{"textRaw":"Gear is lost when Barrier is broken","text":"Gear is lost when Barrier is broken"}],"_h":"p8ryp8wjwjqjqjsmsm5757i0epmxmx"},"enemy_10029_vtshld":{"descRaw":"Can be equipped by enemies or allies, raising their DEF","name":"Protective Vest","desc":"Can be equipped by enemies or allies, raising their DEF","abilities":[{"textRaw":"When equipped by allied Operators","text":"When equipped by allied Operators"},{"textRaw":"Operators equipped with this gain increased DEF","text":"Operators equipped with this gain increased DEF"},{"textRaw":"When equipped by enemies","text":"When equipped by enemies"},{"textRaw":"Units equipped with this take reduced damage from the designated direction","text":"Units equipped with this take reduced damage from the designated direction"},{"textRaw":"Obtains a Barrier","text":"Obtains a Barrier"},{"textRaw":"Gear is lost when Barrier is broken","text":"Gear is lost when Barrier is broken"}],"_h":"e7fee7wjwjiqiqsmsm4949i0epmxmx"},"enemy_10030_vtwand":{"descRaw":"Can be equipped by enemies or allies, allowing them to deal Arts damage; comes with a few special functions","name":"Assault Arts Unit","desc":"Can be equipped by enemies or allies, allowing them to deal Arts damage; comes with a few special functions","abilities":[{"textRaw":"When equipped by allied Operators","text":"When equipped by allied Operators"},{"textRaw":"For a short time after activating their skills, Operators equipped with this deal additional Arts damage and inflict <$ba.tremble>Frighten for a fixed duration when dealing damage","text":"For a short time after activating their skills, Operators equipped with this deal additional Arts damage and inflict Frighten for a fixed duration when dealing damage"},{"textRaw":"When equipped by enemies","text":"When equipped by enemies"},{"textRaw":"Attacks by units equipped with this deal Arts damage; the first attack after pickup prevents the target from attacking or healing for a period of time","text":"Attacks by units equipped with this deal Arts damage; the first attack after pickup prevents the target from attacking or healing for a period of time"},{"textRaw":"Obtains a Barrier","text":"Obtains a Barrier"},{"textRaw":"Gear is lost when Barrier is broken","text":"Gear is lost when Barrier is broken"}],"_h":"093v09wjwjmkflsmsm2b2bi0epmxmx"},"enemy_10031_cnvsld":{"descRaw":"<@eb.key>Invisible, an amateur actor participating in Carnevale's street theater competition","name":"Amateur Performer","desc":"Invisible, an amateur actor participating in Carnevale's street theater competition","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"Loses Invisibility during Carnevale","text":"Loses Invisibility during Carnevale"}],"_h":"6khl6djteombmb"},"enemy_10034_cnvsax":{"descRaw":"<@eb.key>Invisible, normally does not attack, but counters when losing Invisibility; continuously deals Arts damage and <@eb.key>Burn for the skill duration","name":"Festival Jazz Musician","desc":"Invisible, normally does not attack, but counters when losing Invisibility; continuously deals Arts damage and Burn for the skill duration","abilities":[{"textRaw":"<$ba.invisible>Invisible, normally does not attack, but counters when losing Invisibility","text":"Invisible, normally does not attack, but counters when losing Invisibility"},{"textRaw":"Continuously deals Arts damage and <$ba.dt.burning>Burn for the skill duration","text":"Continuously deals Arts damage and Burn for the skill duration"},{"textRaw":"Loses Invisibility during Carnevale","text":"Loses Invisibility during Carnevale"}],"_h":"tifxn4pytfm35wmbmb"},"enemy_10040_cnvbln":{"descRaw":"One of the many balloons in the city during Carnevale; <@eb.key>restores some HP to 'Firework Launcher' when defeated during Carnevale, and extends Carnevale","name":"Carnevale Balloon","desc":"One of the many balloons in the city during Carnevale; restores some HP to 'Firework Launcher' when defeated during Carnevale, and extends Carnevale","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Does not count towards the defeated enemies counter","text":"Does not count towards the defeated enemies counter"},{"textRaw":"Restores some HP to 'Firework Launcher' when defeated during Carnevale","text":"Restores some HP to 'Firework Launcher' when defeated during Carnevale"}],"_h":"z2rxx969691j1jcaca"},"enemy_10042_prtrop":{"descRaw":"<@eb.key>Invisible, able to build and maintain Rope Bridges","name":"Bridge Builder","desc":"Invisible, able to build and maintain Rope Bridges","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"Builds rope bridges that allow units to cross","text":"Builds rope bridges that allow units to cross"}],"_h":"h8xiotjteophph"},"enemy_10042_prtrop_2":{"descRaw":"<@eb.key>Invisible, able to build and maintain Rope Bridges","name":"Bridge Holder","desc":"Invisible, able to build and maintain Rope Bridges","abilities":[{"textRaw":"<$ba.invisible>Invisible","text":"Invisible"},{"textRaw":"Builds rope bridges that allow units to cross","text":"Builds rope bridges that allow units to cross"}],"_h":"h8rwotjteophph"},"enemy_10043_sailor":{"descRaw":"Movement Speed increases briefly when crossing a Rope Bridge or launched by a ","name":"Risk-seeking Sailor","desc":"Movement Speed increases briefly when crossing a Rope Bridge or launched by a ","abilities":[{"textRaw":"Movement Speed increases briefly when crossing a Rope Bridge or launched by a ","text":"Movement Speed increases briefly when crossing a Rope Bridge or launched by a "}],"_h":"lqd0lqlqlq"},"enemy_10044_wintun":{"descRaw":"Movement Speed increases when carrying a Booze Barrel; first attack consumes Booze Barrel to deal heavy Physical damage and create an area where enemies gain increased ASPD and Physical Dodge","name":"Garum Gourmet","desc":"Movement Speed increases when carrying a Booze Barrel; first attack consumes Booze Barrel to deal heavy Physical damage and create an area where enemies gain increased ASPD and Physical Dodge","abilities":[{"textRaw":"Movement Speed increases when carrying a Booze Barrel","text":"Movement Speed increases when carrying a Booze Barrel"},{"textRaw":"First attack consumes Booze Barrel to deal heavy Physical damage and create an area where enemies gain increased ASPD and Physical Dodge","text":"First attack consumes Booze Barrel to deal heavy Physical damage and create an area where enemies gain increased ASPD and Physical Dodge"}],"_h":"wcvtwcmymyhaha"},"enemy_10045_parrot":{"descRaw":"<@eb.key>Low-Altitude Hovering; after losing <@eb.key>Low-Altitude Hovering, becomes stunned for a few seconds before taking off again; Movement Speed briefly increases after taking damage for the first time. Sometimes carries ","name":"Lucky Flyfin","desc":"Low-Altitude Hovering; after losing Low-Altitude Hovering, becomes stunned for a few seconds before taking off again; Movement Speed briefly increases after taking damage for the first time. Sometimes carries ","abilities":[{"textRaw":"<$ba.float>Low-Altitude Hovering; after losing <$ba.float>Low-Altitude Hovering, becomes <$ba.stun>stunned for some time before taking off again","text":"Low-Altitude Hovering; after losing Low-Altitude Hovering, becomes stunned for some time before taking off again"},{"textRaw":"Movement Speed briefly increases after taking damage for the first time. Sometimes carries ","text":"Movement Speed briefly increases after taking damage for the first time. Sometimes carries "}],"_h":"p41enu77kjbqbq"},"enemy_10054_cjhot":{"descRaw":"Continuously inflicts <@eb.key>Arts damage and <@eb.key>Burn to its surroundings; Immune to <@eb.key>Slow","name":"Boiling Pot","desc":"Continuously inflicts Arts damage and Burn to its surroundings; Immune to Slow","abilities":[{"textRaw":"Continuously inflicts Arts damage and <$ba.dt.burning>Burn to its surroundings","text":"Continuously inflicts Arts damage and Burn to its surroundings"},{"textRaw":"Immune to <$ba.sluggish>Slow","text":"Immune to Slow"}],"_h":"d3d7kkbuwn6qk0"},"enemy_10065_ftzlc":{"descRaw":"Can be ignited by or ; When ignited, <@eb.danger>explodes upon death, dealing Arts damage","name":"Cabbage Seedling","desc":"Can be ignited by or ; When ignited, explodes upon death, dealing Arts damage","abilities":[{"textRaw":"Can be ignited by or ","text":"Can be ignited by or "},{"textRaw":"When defeated while ignited, deals a large amount of Arts damage to surrounding units","text":"When defeated while ignited, deals a large amount of Arts damage to surrounding units"}],"_h":"iszqsfdbdb1r1r"},"enemy_10067_ftsjc":{"descRaw":"Attacks deal <@eb.key>Arts damage and <@eb.key>Burn; ATK continuously increases before its first attack, and the first attack deals heavy <@eb.key>Arts damage and <@eb.key>Burn to the target and surrounding units","name":"Burning Vine","desc":"Attacks deal Arts damage and Burn; ATK continuously increases before its first attack, and the first attack deals heavy Arts damage and Burn to the target and surrounding units","abilities":[{"textRaw":"Attacks inflict additional <$ba.dt.burning>Burn","text":"Attacks inflict additional Burn"},{"textRaw":"ATK continuously increases before its first attack, and the first attack deals a large amount of Arts damage and <$ba.dt.burning>Burn to the target and surrounding units","text":"ATK continuously increases before its first attack, and the first attack deals a large amount of Arts damage and Burn to the target and surrounding units"}],"_h":"azlpz7qx22d08h"},"enemy_10073_mpcar":{"descRaw":"Maintenance Helper whose pathfinding module has been disrupted by Originium. The meal delivery function added by the Engineering Department no longer works.","name":"Confused Maintenance Helper","desc":"Maintenance Helper whose pathfinding module has been disrupted by Originium. The meal delivery function added by the Engineering Department no longer works.","_h":"uxv2ux"},"enemy_10081_mpplai":{"descRaw":"Does not initially attack; transforms into different forms once it has taken 4 Physical attacks, 4 Arts attacks, or if it is blocked","name":"Decode Basis α","desc":"Does not initially attack; transforms into different forms once it has taken 4 Physical attacks, 4 Arts attacks, or if it is blocked","abilities":[{"textRaw":"Does not initially attack; transforms into different forms when certain conditions are met","text":"Does not initially attack; transforms into different forms when certain conditions are met"},{"textRaw":"Transforms into different forms once it has taken 4 Physical attacks, 4 Arts attacks, or if it is blocked","text":"Transforms into different forms once it has taken 4 Physical attacks, 4 Arts attacks, or if it is blocked"}],"_h":"mi0fmirkrku9u9"},"enemy_10083_hlbird":{"descRaw":"Gains <$ba.fear>Fear for several seconds when its HP drops below 50% for the first time","name":"'Wings of the Sankta'","desc":"Gains Fear for several seconds when its HP drops below 50% for the first time","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Gains <$ba.fear>Fear for several seconds when its HP drops below 50% for the first time","text":"Gains Fear for several seconds when its HP drops below 50% for the first time"}],"_h":"c2eisy6969c2sy"},"enemy_10084_hlegle":{"descRaw":"Gains <$ba.fear>Fear for several seconds when its HP drops below 50% for the first time; attempts to steal 1 Ammo from the target when attacking, and deals heavy Physical damage if attempt is unsuccessful","name":"'Eyes of the Sankta'","desc":"Gains Fear for several seconds when its HP drops below 50% for the first time; attempts to steal 1 Ammo from the target when attacking, and deals heavy Physical damage if attempt is unsuccessful","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Gains <$ba.fear>Fear for several seconds when its HP drops below 50% for the first time","text":"Gains Fear for several seconds when its HP drops below 50% for the first time"},{"textRaw":"Attempts to steal 1 Ammo from the target when attacking, and deals heavy Physical damage if attempt is unsuccessful","text":"Attempts to steal 1 Ammo from the target when attacking, and deals heavy Physical damage if attempt is unsuccessful"}],"_h":"iwuygo6969c2sy4u4u"},"enemy_10085_hllevi_2":{"descRaw":"Gains <$ba.fear>Fear for several seconds when its HP drops below 50% for the first time; sends [Invitation to Prayer] to temporarily reduce all your units' ASPD","name":"'Pride of the Sankta'","desc":"Gains Fear for several seconds when its HP drops below 50% for the first time; sends [Invitation to Prayer] to temporarily reduce all your units' ASPD","abilities":[{"textRaw":"Flying unit.","text":"Flying unit."},{"textRaw":"Gains <$ba.fear>Fear for several seconds when its HP drops below 50% for the first time","text":"Gains Fear for several seconds when its HP drops below 50% for the first time"},{"textRaw":"[Invitation to Prayer] Temporarily reduces all your units' ASPD","text":"[Invitation to Prayer] Temporarily reduces all your units' ASPD"}],"_h":"94vn946969c2syqlql"},"enemy_10087_hlchgr":{"descRaw":"Expends Ammo to permanently increase Movement Speed and ATK. Ammo capacity: 5","name":"Shrine Swordsman","desc":"Expends Ammo to permanently increase Movement Speed and ATK. Ammo capacity: 5","abilities":[{"textRaw":"Expends Ammo to permanently increase Movement Speed and ATK. Ammo capacity: 5","text":"Expends Ammo to permanently increase Movement Speed and ATK. Ammo capacity: 5"}],"_h":"9pu09p9p9p"},"enemy_10094_crstf":{"descRaw":"When <@eb.key>outside the Filming Area, attacks inflict <@eb.key>Nervous Impairment","name":"Audio Technician","desc":"When outside the Filming Area, attacks inflict Nervous Impairment","abilities":[{"textRaw":"When outside the Filming Area, attacks inflict <$ba.dt.neural>Nervous Impairment","text":"When outside the Filming Area, attacks inflict Nervous Impairment"}],"_h":"zp00wt200d"},"enemy_10097_crshd":{"descRaw":"<@eb.key>Afraid to face the camera; takes reduced Physical and Arts damage from the front; inflicts <@eb.key>Nervous Impairment on blocker when blocked","name":"Uneasy Designer","desc":"Afraid to face the camera; takes reduced Physical and Arts damage from the front; inflicts Nervous Impairment on blocker when blocked","abilities":[{"textRaw":"Takes less Physical/Arts damage from the front","text":"Takes less Physical/Arts damage from the front"},{"textRaw":"Afraid to face the camera. Turns around if facing the camera in the Filming Area","text":"Afraid to face the camera. Turns around if facing the camera in the Filming Area"},{"textRaw":"Inflicts <$ba.dt.neural>Nervous Impairment on blocker when blocked","text":"Inflicts Nervous Impairment on blocker when blocked"}],"_h":"q79fw7veveemem8auf"},"enemy_10098_crhro":{"descRaw":"Attacks have increased range when <@eb.key>inside the Filming Area and <@eb.key>prioritize 'Villains'; Rebirth; attacks inflict <@eb.key>Nervous Impairment","name":"Hero's Sidekick","desc":"Attacks have increased range when inside the Filming Area and prioritize 'Villains'; Rebirth; attacks inflict Nervous Impairment","abilities":[{"textRaw":"Attacks inflict <$ba.dt.neural>Nervous Impairment.","text":"Attacks inflict Nervous Impairment."},{"textRaw":"Attack range increases when inside the Filming Area, and prioritizes and ","text":"Attack range increases when inside the Filming Area, and prioritizes and "},{"textRaw":"Rebirth","text":"Rebirth"}],"_h":"9z4afo1sn97c7cd1d1"},"enemy_10099_crvln":{"descRaw":"Attacks hit twice when <@eb.key>inside the Filming Area and <@eb.key>prioritize 'Heroes'; attacks inflict <@eb.key>Nervous Impairment","name":"Villain's Minion","desc":"Attacks hit twice when inside the Filming Area and prioritize 'Heroes'; attacks inflict Nervous Impairment","abilities":[{"textRaw":"Attacks inflict <$ba.dt.neural>Nervous Impairment.","text":"Attacks inflict Nervous Impairment."},{"textRaw":"Attacks hit twice when inside the Filming Area, and prioritizes and ","text":"Attacks hit twice when inside the Filming Area, and prioritizes and "}],"_h":"4noc4u1sn90606"},"enemy_10112_ymgds":{"descRaw":"Becomes temporarily <@eb.key>stunned when <@eb.key>shifted.","name":"Careless Underling","desc":"Becomes temporarily stunned when shifted.","abilities":[{"textRaw":"Becomes temporarily <$ba.stun>stunned when shifted","text":"Becomes temporarily stunned when shifted"}],"_h":"xuemq86bzp"},"enemy_10116_ymgtop":{"descRaw":"Deals Physical damage to surroundings while spinning, and stops spinning when <@eb.key>shifted.","name":"Suiton Ninja","desc":"Deals Physical damage to surroundings while spinning, and stops spinning when shifted.","abilities":[{"textRaw":"Deals Physical damage to surroundings while spinning, and stops spinning when shifted","text":"Deals Physical damage to surroundings while spinning, and stops spinning when shifted"},{"textRaw":"Bounces <'Certain Fates'>","text":"Bounces <'Certain Fates'>"}],"_h":"wxfwm2izizququ"},"enemy_10118_ymgprc":{"descRaw":"Strikes twice. After several attacks, the next attack strikes twice with higher damage.","name":"Mio","desc":"Strikes twice. After several attacks, the next attack strikes twice with higher damage.","abilities":[{"textRaw":"Attacks hit 2 times","text":"Attacks hit 2 times"},{"textRaw":"[Icy Gaze] After several attacks, the next attack strikes twice with higher damage","text":"[Icy Gaze] After several attacks, the next attack strikes twice with higher damage"},{"textRaw":"Bounces <'Certain Fates'>","text":"Bounces <'Certain Fates'>"}],"_h":"f9v1f9bkbk1f1fququ"},"enemy_10122_uacann_2":{"descRaw":"Attacks leave behind a burning area; prioritizes Miner Guerrillas when under a commander's <@eb.key>orders","name":"Army Heavy Artillery","desc":"Attacks leave behind a burning area; prioritizes Miner Guerrillas when under a commander's orders","abilities":[{"textRaw":"Attacks leave behind a burning area","text":"Attacks leave behind a burning area"},{"textRaw":"Prioritizes when under a commander's <@eb.key>orders","text":"Prioritizes when under a commander's orders"}],"_h":"2mqz61y2y2023d"},"enemy_10124_uashld_2":{"descRaw":"More likely to be attacked by friendly units, can <@eb.key>fight 3 miners at a time; takes less damage when under a commander's <@eb.key>orders","name":"Army Veteran Shieldguard","desc":"More likely to be attacked by friendly units, can fight 3 miners at a time; takes less damage when under a commander's orders","abilities":[{"textRaw":"More likely to be attacked by friendly units; can fight 3 at a time","text":"More likely to be attacked by friendly units; can fight 3 at a time"},{"textRaw":"Takes less damage when under a commander's <@eb.key>orders","text":"Takes less damage when under a commander's orders"}],"_h":"bde27zlzlzzh5o"},"enemy_10127_rkmbst_2":{"descRaw":"More likely to be attacked by friendly units, takes less damage, and gains ASPD; loses abilities after being attacked several times by Miner Guerrillas","name":"Abnormal Manglerbeast α","desc":"More likely to be attacked by friendly units, takes less damage, and gains ASPD; loses abilities after being attacked several times by Miner Guerrillas","abilities":[{"textRaw":"More likely to be attacked by friendly units; takes less damage, and gains ASPD","text":"More likely to be attacked by friendly units; takes less damage, and gains ASPD"},{"textRaw":"Loses abilities after being attacked several times by ","text":"Loses abilities after being attacked several times by "}],"_h":"solisowpwpqnqn"},"enemy_10138_xdsnow":{"descRaw":"Takes extra damage on colliding with high ground","name":"Snowchild","desc":"Takes extra damage on colliding with high ground","abilities":[{"textRaw":"Takes extra damage on colliding with high ground","text":"Takes extra damage on colliding with high ground"}],"_h":"44us444444"},"enemy_10141_xdpeng_2":{"descRaw":"Gains increased Movement Speed and becomes <@eb.key>unblockable after being shifted","name":"Frostcradler Fowlbeast","desc":"Gains increased Movement Speed and becomes unblockable after being shifted","abilities":[{"textRaw":"Loses egg after being shifted, gaining Movement Speed and becoming unblockable","text":"Loses egg after being shifted, gaining Movement Speed and becoming unblockable"}],"_h":"by5uenx2x2"},"enemy_10144_xdelk_2":{"descRaw":"Performs <@eb.key>Charged Attacks and tries to <@eb.key>push units that block it; can be <@eb.key>interrupted by negative statuses like Stun and Shift","name":"Blackhorn Rhuul","desc":"Performs Charged Attacks and tries to push units that block it; can be interrupted by negative statuses like Stun and Shift","abilities":[{"textRaw":"[Clash of Brawn] Performs Charged Attacks and tries to push units that block it","text":"[Clash of Brawn] Performs Charged Attacks and tries to push units that block it"},{"textRaw":"After charging, deals damage to the target and pushes it back one tile; if unable to push, deals more damage and stuns the target for several seconds","text":"After charging, deals damage to the target and pushes it back one tile; if unable to push, deals more damage and stuns the target for several seconds"},{"textRaw":"Charge can be interrupted by negative statuses like Stun and Shift","text":"Charge can be interrupted by negative statuses like Stun and Shift"}],"_h":"79p0yunqnqbwbqabz7"},"enemy_10156_mncrer":{"descRaw":"Refills a nearby Fountain and heals nearby enemies when defeated","name":"Novice Acolyte","desc":"Refills a nearby Fountain and heals nearby enemies when defeated","abilities":[{"textRaw":"Refills a nearby Fountain and heals nearby enemies when defeated","text":"Refills a nearby Fountain and heals nearby enemies when defeated"}],"_h":"38wl383838"},"enemy_10159_mntrjn":{"descRaw":"<@eb.key>Cannot be blocked, <@eb.key>carries up to 5 passengers, with each additional passenger reducing its Movement Speed","name":"Wooden Burdenbeast of Ilion","desc":"Cannot be blocked, carries up to 5 passengers, with each additional passenger reducing its Movement Speed","abilities":[{"textRaw":"Cannot be blocked.","text":"Cannot be blocked."},{"textRaw":"<@eb.key>Carries up to 5 passengers","text":"Carries up to 5 passengers"},{"textRaw":"Movement Speed reduced for each additional passenger","text":"Movement Speed reduced for each additional passenger"}],"_h":"f9kf73ufufs8s1nene"},"enemy_10162_mnctpt":{"descRaw":"Attacks hit 3 times and deal physical splash damage; aim deviates randomly when Immersed","name":"Handmade Catapult","desc":"Attacks hit 3 times and deal physical splash damage; aim deviates randomly when Immersed","abilities":[{"textRaw":"Attacks hit 3 times and deal physical splash damage","text":"Attacks hit 3 times and deal physical splash damage"},{"textRaw":"Aim deviates randomly when Immersed","text":"Aim deviates randomly when Immersed"}],"_h":"858l85pspszkzk"}},"factions":{"types":{"SPECIAL":{"name":"Tactical Training/Special","desc":"This enemy type has excellent damage-dealing and tanking abilities"},"FLY":{"name":"Tactical Training/Flying","desc":"This enemy type has many aerial units"},"TIMES":{"name":"Tactical Training/Frequency","desc":"This enemy type needs multiple hits to be defeated"},"ELEMENT":{"name":"Tactical Training/Elements","desc":"This enemy type can inflict Elemental Injury"},"DOT":{"name":"Tactical Training/Continuous","desc":"This enemy type can deal continuous damage"},"INVISIBLE":{"name":"Tactical Training/Invisible","desc":"This enemy type has Invisibility"},"REFLECTION":{"name":"Tactical Training/Refraction","desc":"This enemy type has Refraction"},"_h":"md6od02racfvr9ikuotc67ftia8g"}},"stages":{"act1autochess_m01":{"name":"Battlefield #01","devices":[{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}}],"_h":"z3rkbw0gfwxyhtxybpxyhtxybpxyhtxybpxyhtxybpo2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203"},"act1autochess_m02":{"name":"Battlefield #02","devices":[{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}}],"_h":"o2xyhtxybpxyhtxybpxyhtxybpxyhtxybprkbw0gfwo2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203w8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ry"},"act1autochess_m03":{"name":"Battlefield #03","devices":[{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}}],"_h":"d1w8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryo2t3o203o2t3o203o2t3o203o2t3o203w8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryrkbw0gfwxyhtxybpxyhtxybpw8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryo2t3o203o2t3o203o2t3o203o2t3o203w8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryxyhtxybpxyhtxybp"},"act1autochess_m04":{"name":"Battlefield #04 Active Originium","devices":[{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}}],"_h":"sfrkbw0gfwxyhtxybpxyhtxybpxyhtxybpxyhtxybpo2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203"},"act1autochess_m05":{"name":"Battlefield #05 (First Half) High Tide / Custom Floating Platform","devices":[{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Tide Controller","skill":{"name":"Deep Water"}},{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}},{"name":"Custom Floating Platform","skill":{"descRaw":"Constructs a platform on the water upon which <@ba.vup>any unit can be deployed","name":"Deployment Platform","desc":"Constructs a platform on the water upon which any unit can be deployed"}}],"_h":"99xyhtxybpxyhtxybpxyhtxybpxyhtxybp92zcrkbw0gfwjjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57jjk62m57"},"act1autochess_m06":{"name":"Battlefield #06 (First Half) Sandstorm / Dirt Mound","devices":[{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Sandstorm","skill":{"name":"Sandstorm"}},{"name":"Sandstorm","skill":{"name":"Sandstorm"}},{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Dirt Mound","skill":{"descRaw":"Fortified state: Blocks the <@ba.vup>Sandstorm, no longer receives damage from the <@ba.vup>Sandstorm, but can still be instantly destroyed by .","name":"Sandstorm Protection","desc":"Fortified state: Blocks the Sandstorm, no longer receives damage from the Sandstorm, but can still be instantly destroyed by ."},"desc":"Can block Sandstorm"},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Ranged Tile","skill":{"descRaw":"High Ground Operators can be deployed here","name":"Ranged Tile","desc":"High Ground Operators can be deployed here"}},{"name":"Sealed Floor"},{"name":"Sealed Floor"},{"name":"Sealed Floor"},{"name":"Sealed Floor"}],"_h":"mqxyhtxybpxyhtxybpxyhtxybpxyhtxybpy8y8y8y8rkbw0gfw7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdko7shpkwkdkow8ryw8ryw8ryw8ryw8ryw8ryw8ryw8ryxixixixi"},"act1autochess_m07":{"name":"Battlefield #07 (First Half) Thicket","devices":[{"name":"Thicket","skill":{"name":"Growth"},"desc":"Cannot be attacked, and blocks the vision of your units"},{"name":"Thicket","skill":{"name":"Growth"},"desc":"Cannot be attacked, and blocks the vision of your units"},{"name":"Thicket","skill":{"name":"Growth"},"desc":"Cannot be attacked, and blocks the vision of your units"},{"name":"Thicket","skill":{"name":"Growth"},"desc":"Cannot be attacked, and blocks the vision of your units"},{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Thicket","skill":{"name":"Growth"},"desc":"Cannot be attacked, and blocks the vision of your units"},{"name":"Thicket","skill":{"name":"Growth"},"desc":"Cannot be attacked, and blocks the vision of your units"},{"name":"Thicket","skill":{"name":"Growth"},"desc":"Cannot be attacked, and blocks the vision of your units"},{"name":"Thicket","skill":{"name":"Growth"},"desc":"Cannot be attacked, and blocks the vision of your units"}],"_h":"7ynpeb60npeb60npeb60npeb60rkbw0gfwxyhtxybpxyhtxybpo2t3o203o2t3o203o2t3o203o2t3o203xyhtxybpxyhtxybpnpeb60npeb60npeb60npeb60"},"act2autochess_m01":{"name":"Battlefield #05 (Second Half) Originium Flow Generator","devices":[{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"Originium Flow Generator","skill":{"descRaw":"Blows out an airflow towards the 3 frontal tiles; Operators deployed <@ba.vup>downstream/<@ba.vdown>upstream from the airflow have <@ba.vup>increased/<@ba.vdown>decreased ATK; Enemies moving <@ba.vdown>downstream/<@ba.vup>upstream from the airflow have <@ba.vdown>increased/<@ba.vup>decreased Movement Speed","name":"Airflow","desc":"Blows out an airflow towards the 3 frontal tiles; Operators deployed downstream/upstream from the airflow have increased/decreased ATK; Enemies moving downstream/upstream from the airflow have increased/decreased Movement Speed"}},{"name":"Originium Flow Generator","skill":{"descRaw":"Blows out an airflow towards the 3 frontal tiles; Operators deployed <@ba.vup>downstream/<@ba.vdown>upstream from the airflow have <@ba.vup>increased/<@ba.vdown>decreased ATK; Enemies moving <@ba.vdown>downstream/<@ba.vup>upstream from the airflow have <@ba.vdown>increased/<@ba.vup>decreased Movement Speed","name":"Airflow","desc":"Blows out an airflow towards the 3 frontal tiles; Operators deployed downstream/upstream from the airflow have increased/decreased ATK; Enemies moving downstream/upstream from the airflow have increased/decreased Movement Speed"}},{"name":"Originium Flow Generator","skill":{"descRaw":"Blows out an airflow towards the 3 frontal tiles; Operators deployed <@ba.vup>downstream/<@ba.vdown>upstream from the airflow have <@ba.vup>increased/<@ba.vdown>decreased ATK; Enemies moving <@ba.vdown>downstream/<@ba.vup>upstream from the airflow have <@ba.vdown>increased/<@ba.vup>decreased Movement Speed","name":"Airflow","desc":"Blows out an airflow towards the 3 frontal tiles; Operators deployed downstream/upstream from the airflow have increased/decreased ATK; Enemies moving downstream/upstream from the airflow have increased/decreased Movement Speed"}},{"name":"Originium Flow Generator","skill":{"descRaw":"Blows out an airflow towards the 3 frontal tiles; Operators deployed <@ba.vup>downstream/<@ba.vdown>upstream from the airflow have <@ba.vup>increased/<@ba.vdown>decreased ATK; Enemies moving <@ba.vdown>downstream/<@ba.vup>upstream from the airflow have <@ba.vdown>increased/<@ba.vup>decreased Movement Speed","name":"Airflow","desc":"Blows out an airflow towards the 3 frontal tiles; Operators deployed downstream/upstream from the airflow have increased/decreased ATK; Enemies moving downstream/upstream from the airflow have increased/decreased Movement Speed"}},{"name":"Originium Flow Generator","skill":{"descRaw":"Blows out an airflow towards the 3 frontal tiles; Operators deployed <@ba.vup>downstream/<@ba.vdown>upstream from the airflow have <@ba.vup>increased/<@ba.vdown>decreased ATK; Enemies moving <@ba.vdown>downstream/<@ba.vup>upstream from the airflow have <@ba.vdown>increased/<@ba.vup>decreased Movement Speed","name":"Airflow","desc":"Blows out an airflow towards the 3 frontal tiles; Operators deployed downstream/upstream from the airflow have increased/decreased ATK; Enemies moving downstream/upstream from the airflow have increased/decreased Movement Speed"}},{"name":"Originium Flow Generator","skill":{"descRaw":"Blows out an airflow towards the 3 frontal tiles; Operators deployed <@ba.vup>downstream/<@ba.vdown>upstream from the airflow have <@ba.vup>increased/<@ba.vdown>decreased ATK; Enemies moving <@ba.vdown>downstream/<@ba.vup>upstream from the airflow have <@ba.vdown>increased/<@ba.vup>decreased Movement Speed","name":"Airflow","desc":"Blows out an airflow towards the 3 frontal tiles; Operators deployed downstream/upstream from the airflow have increased/decreased ATK; Enemies moving downstream/upstream from the airflow have increased/decreased Movement Speed"}},{"name":"Originium Flow Generator","skill":{"descRaw":"Blows out an airflow towards the 3 frontal tiles; Operators deployed <@ba.vup>downstream/<@ba.vdown>upstream from the airflow have <@ba.vup>increased/<@ba.vdown>decreased ATK; Enemies moving <@ba.vdown>downstream/<@ba.vup>upstream from the airflow have <@ba.vdown>increased/<@ba.vup>decreased Movement Speed","name":"Airflow","desc":"Blows out an airflow towards the 3 frontal tiles; Operators deployed downstream/upstream from the airflow have increased/decreased ATK; Enemies moving downstream/upstream from the airflow have increased/decreased Movement Speed"}},{"name":"Originium Flow Generator","skill":{"descRaw":"Blows out an airflow towards the 3 frontal tiles; Operators deployed <@ba.vup>downstream/<@ba.vdown>upstream from the airflow have <@ba.vup>increased/<@ba.vdown>decreased ATK; Enemies moving <@ba.vdown>downstream/<@ba.vup>upstream from the airflow have <@ba.vdown>increased/<@ba.vup>decreased Movement Speed","name":"Airflow","desc":"Blows out an airflow towards the 3 frontal tiles; Operators deployed downstream/upstream from the airflow have increased/decreased ATK; Enemies moving downstream/upstream from the airflow have increased/decreased Movement Speed"}}],"special":{"blower":{"desc":"Blows out an airflow towards the 3 frontal tiles; Operators deployed downstream/upstream from the airflow have increased/decreased ATK; Enemies moving downstream/upstream from the airflow have increased/decreased Movement Speed"}},"_h":"e0xyhtxybpxyhtxybpxyhtxybpxyhtxybprkbw0gfw1cvfmuzz1cvfmuzz1cvfmuzz1cvfmuzz1cvfmuzz1cvfmuzz1cvfmuzz1cvfmuzzzz"},"act2autochess_m02":{"name":"Battlefield #06 (Second Half) Mire Control","devices":[{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"Mire Control","skill":{"name":"Mire Control"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}}],"_h":"hsxyhtxybpxyhtxybpxyhtxybpxyhtxybprkbw0gfwzfzfo2t3o203o2t3o203o2t3o203o2t3o203"},"act2autochess_m03":{"name":"Battlefield #07 (Second Half) Exhaust Grille","devices":[{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}}],"_h":"g6xyhtxybpxyhtxybpxyhtxybpxyhtxybprkbw0gfwo2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203o2t3o203"},"act2autochess_m04":{"name":"Battlefield #08 (Second Half) Tide Controller","devices":[{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"'Double Lids'","skill":{"descRaw":"Grants buff based on the Alliance with the highest stacks: For every stack, <@ba.vup>+1 ASPD, and attacks inflict an additional <@ba.vup>0.1% <$ba.fragile>Fragile for 2s (up to 300 stacks)","name":"'Double Lids'","desc":"Grants buff based on the Alliance with the highest stacks: For every stack, +1 ASPD, and attacks inflict an additional 0.1% Fragile for 2s (up to 300 stacks)"}},{"name":"Tide Controller","skill":{"name":"Deep Water"}},{"name":"Alliance Chill Gust","skill":{"descRaw":"Periodically inflicts <$ba.cold>Cold on all enemies for some time","name":"Kjerag Chill","desc":"Periodically inflicts Cold on all enemies for some time"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}},{"name":"Barricade","skill":{"descRaw":"Changes the enemy's route\n<@ba.rem>If the barricade blocks an enemy, the enemy will destroy it","name":"Barricade","desc":"Changes the enemy's route\nIf the barricade blocks an enemy, the enemy will destroy it"}}],"_h":"i7xyhtxybpxyhtxybpxyhtxybpxyhtxybp92zcrkbw0gfwo2t3o203o2t3o203o2t3o203o2t3o203"},"act1autochess_escaped_single":{"name":"Unite Field (1 player)","_h":"b2"},"act1autochess_escaped_multi":{"name":"Unite Field (2 players)","_h":"qn"}},"bosses":{"boss_1":{"name":"OpFor: Armor","abilities":["Randomly selects a target and fires in a line, dealing Arts damage","[Woe of Extinction] Fires an at the Operator with the highest ATK, which explodes when it reaches the target, stunning them and units in the 8 surrounding tiles for an extended time and causing them to take Physical damage every second; can be destroyed by attacking it several times when it is flying","When HP drops below a certain percentage, Physical and Arts damage taken is reduced, and [Woe of Extinction] fires additional ","[Deathswarm] Periodically summons drones","Hidden Core","[Sword and Hammer of Olden Days] When specific conditions are met and the simulation enters the Hidden Core round, will appear in its final form and gain 'Armor Cleaver' and 'Armor Crusher'","'Armor Cleaver' and 'Armor Crusher' start Invulnerable; When shot down, transfer a percentage of the damage taken to OpFor: Armor","'Armor Cleaver' and 'Armor Crusher' periodically fly towards the Operator with the lowest ATK and explode, stunning the target and Operators in the 8 surrounding tiles, and dealing Physical damage every second before returning to OpFor: Armor; they lose Invulnerable status when flying and will fall to the ground after taking a certain number of hits; when on ground, they are treated as low ground units and take more damage"],"_h":"dzco2ijvrkfwu4hy93"},"boss_2":{"name":"OpFor: Gun","abilities":["Attacks prioritize units with the highest DEF","Attacks inflict Corrosion","Cannot be blocked.","ASPD gradually increases when attacking the same enemy repeatedly","[Final Judgment] Stops attacking and gains greatly increased Movement Speed, charging at the unit with the highest DEF and dealing Physical damage to units it passes by","Hidden Core","[Unending Confession] After fulfilling specific conditions and entering the Hidden Core round in the simulation, <'Gunshatter'> appears on the field, and Physical and Arts damage taken by is significantly reduced","[Blind Faith] Connects to all <'Gunshatters'> on the field; a percentage of damage taken by <'Gunshatters'> is transferred to , and allied units on the [Blind Faith] link take Physical damage every second","[Doomsaying] Continuously calls all <'Gunshatters'> towards it; <'Gunshatters'> gain greatly increased Movement Speed, become immune to damage, and deal damage to allied units that they pass by"],"_h":"nysjd7ufrobvfwyl8c3n"},"boss_3":{"name":"OpFor: Pipe","abilities":["When on the field, continuously summons <'Echoes'> in [Penumbral Lament] form; summon interval reduces when HP drops below a certain point","Attacks prioritize <'Echoes'> in [Penumbral Lament] form","[Cracked Pipe] Attacks all <'Echoes'> in [Penumbral Lament] form three times in a row, dealing AoE Arts damage and inflicting Necrosis","Hidden Core"," and will appear at the same time after fulfilling specific conditions and entering the Hidden Core round"],"_h":"6wuzxt2vfw2r"},"boss_4":{"name":"Sal Viento Bishop Quintus","abilities":["Attacks two units with the highest DEF simultaneously","[Great Tide] Deals Arts damage and Nervous Impairment to all allied units","[Collapse] Deals Physical damage to multiple allied units","[Fragmentation] Summons its offspring to entwine themselves around allied units and Stun them","[Species Outbreak] Drains all Life Points after a long time has passed in the battle"],"_h":"z8swvd3id5el"},"boss_5":{"name":"Lucian, 'Blood Diamond'","abilities":["Has a chance to dodge Physical and Arts attacks when not blocked. When blocked, swiftly moves behind the target and leaves an at the original location","Can use skills to deal Physical damage to the surrounding area; attacks and skills ignore a certain amount of DEF and inflict Nervous Impairment"],"_h":"pqytg9"},"boss_6":{"name":"Alistair, Final Flame of the Empire","abilities":["When HP drops below half, DEF and RES increase, and [Imperial Domain] activates two pieces of gear","[Expulsion] After some time has passed, deals Arts splash damage to all your units, and drains all Life Points","[Royal Decree] Locks onto an allied unit and their surrounding 4 tiles, dealing heavy Physical damage to targets within that range once and generating random gear on tiles within that range","[Imperial Domain] Activates a piece of gear on the field; different types of gear will result in different effects"],"_h":"cnytyuscwn"},"boss_7":{"name":"'Samivilinn,' the Resolution of the Very North","abilities":["[Icicle Fall] Attacks deal Physical damage to allied units in a column","[Surge of Nature] Inflicts Stun on an allied unit and causes the target to take Arts damage over time","After falling below half HP, takes reduced Physical and Arts damage and [Icicle Fall] and [Surge of Nature] both target an additional unit"],"_h":"nnn6m0wd"},"boss_8":{"name":"OpFor: Armor","abilities":["Randomly selects a target and performs an Arts attack","When HP drops below a certain percentage, Physical and Arts damage taken is reduced, and [Woe of Extinction] fires additional ","[Woe of Extinction] Fires an at the Operator with the highest ATK within range, which explodes when it reaches the target, stunning them and units in the 8 surrounding tiles and causing them to take Physical damage every second; can be destroyed by attacking it several times when it is flying","[Deathswarm] Periodically summons drones","Hidden Core","[Sword and Hammer of Olden Days] OpFor: Armor enters its final form after fulfilling specific conditions and entering the Hidden Core round"],"_h":"dz543jftrkfwms"},"boss_9":{"name":"OpFor: Gun","abilities":["Attacks prioritize units with the highest DEF","Attacks inflict Corrosion","Cannot be blocked.","ASPD gradually increases when attacking the same enemy repeatedly","[Final Judgment] Stops attacking and gains greatly increased Movement Speed, charging at the unit with the highest DEF and dealing Physical damage to units it passes by","Hidden Core","[Unending Confession] After fulfilling specific conditions and entering the Hidden Core round in the simulation, <'Gunshatter'> appears on the field, and Physical and Arts damage taken by is massively reduced","[Blind Faith] Connects to all <'Gunshatters'> on the field; a percentage of damage taken by <'Gunshatters'> is transferred to and other <'Gunshatters'> on the field, and allied units on the [Blind Faith] link take Physical damage every second","[Doomsaying] Continuously calls all <'Gunshatters'> towards it; <'Gunshatters'> gain greatly increased Movement Speed, become immune to damage, and deal damage to allied units that they pass by"],"_h":"nysjd7ufrobvfwfm503n"},"boss_10":{"name":"OpFor: Pipe","abilities":["When on the field, continuously summons <'Echoes'> in [Penumbral Lament] form; summon interval reduces when HP drops below a certain point","Attacks prioritize <'Echoes'> in [Penumbral Lament] form","[Cracked Pipe] Attacks all <'Echoes'> in [Penumbral Lament] form three times in a row, dealing AoE Arts damage and inflicting Necrosis","Hidden Core"," and will appear at the same time after fulfilling specific conditions and entering the Hidden Core round"],"_h":"6wuzxt2vfw2r"}},"config":{"seasonName":{"_s":"Stronghold Protocol: Alliance","_h":"sf"},"modes":{"mode_training_1":{"name":"Entry Protocol","desc":"Familiarize yourself with the Protocol","effectDescList":["Default Operators only"," No reward"," Cannot unlock other Strategies"]},"mode_single_funny":{"name":"Standard Simulation","desc":"A short training simulation","effectDescList":["Shorter battles"," Regular Rewards"],"unlockText":"Complete Entry Protocol to unlock"},"mode_single_normal":{"name":"Perilous Simulation","desc":"A simulation with stronger enemies","effectDescList":["More Alliances available"," Increased Rewards"],"unlockText":"Complete Standard Simulation to unlock"},"mode_single_hard":{"name":"Dire Simulation","desc":"A simulation with very dangerous enemies","effectDescList":["Difficult Combat Environment"," Challenging foes will appear"],"unlockText":"Complete Perilous Simulation to unlock"},"mode_single_abyss":{"name":"Ultimate Simulation","desc":"A simulation with extremely strong enemies","effectDescList":["Arduous Combat Environment"," Formidable foes will appear"],"unlockText":"Complete Dire Simulation 2 times to unlock"},"mode_multi_funny":{"name":"Standard Simulation","desc":"A simulation with weaker enemies","effectDescList":["Moderate Combat Environment"," Regular Rewards"],"unlockText":"Complete Entry Protocol to unlock"},"mode_multi_normal":{"name":"Perilous Simulation","desc":"A simulation with stronger enemies","effectDescList":["More Alliances available"," Increased Rewards"],"unlockText":"Complete Standard Simulation to unlock"},"mode_multi_hard":{"name":"Dire Simulation","desc":"A simulation with very dangerous enemies","effectDescList":["Difficult Combat Environment"," Challenging foes will appear"],"unlockText":"Complete Perilous Simulation to unlock"},"mode_multi_abyss":{"name":"Ultimate Simulation","desc":"A simulation with extremely strong enemies","effectDescList":["Arduous Combat Environment"," Formidable foes will appear"],"unlockText":"Complete Dire Simulation 2 times to unlock"},"_h":"a997ozg71il04imk8v0lkpy9upqlf08tgjrir02xb6exm2nxzal03zi08v0lkpy9upqlf08tgjrir02xb6exm2nxza"},"timers":{"enterSteps":[{"title":"Confirm run info"},{"title":"Select Strategy"},{"title":"Execute Protocol"}],"_h":"9fmahr"},"titles":{"0":{"name":"Stronghold Star","text":"Highest damage dealt to the Enemy Leader (victory only)"},"1":{"name":"Steadfast Alliance","text":"Highest total activated Alliance Stacks"},"2":{"name":"Rock-Solid Defense","text":"Least LP lost"},"3":{"name":"Elites Assemble","text":"Most Elite promotions"},"4":{"name":"Fully Armed","text":"Most Equipment equipped"},"5":{"name":"Big Spender","text":"Most Funds spent"},"_h":"qnq7jmaclt292n1a2n98pw4d"},"tips":{"0":{"tip":"Can only obtain trophies from Team Simulation"},"1":{"tip":"In Team Simulation, you may skip once during Strategy selection"},"2":{"tip":"Only some Operators from an Alliance will appear in the Dispatch Center"},"3":{"tip":"The Dispatch Center can be manually refreshed even when frozen"},"4":{"tip":"Reward Operators from promotions cannot be refreshed or frozen, and will be cleared when entering the next round"},"5":{"tip":"Any resources in the temporary Bench will be destroyed when entering the next round"},"6":{"tip":"Some special Alliances can be activated without deploying any Operators"},"7":{"tip":"Operators' equipment will return to the Bench when promoted and have to be re-equipped"},"8":{"tip":"Two of the same equipment will fuse into an upgraded version"},"9":{"tip":"Certain equipment combinations can grant Operators additional Alliance effects"},"10":{"tip":"Stacked Alliances persist throughout a single simulation, but their effects only apply while the Alliance is active"},"11":{"tip":"Usually an Alliance has to be activated first before you can build stacks"},"12":{"tip":"You can check Teammate battlefields during the Rest Phase"},"13":{"tip":"You can check your next enemy group during the Rest Phase"},"14":{"tip":"Easily retreat Operators by dragging them to the Bench"},"15":{"tip":"You cannot make any moves after you are ready, but you can cancel your ready state any time, until all your Teammates are ready"},"16":{"tip":"Only Teammates who achieve a perfect clear of their wave of enemies can help out during the Unite Phase"},"17":{"tip":"Alliance stacks cannot increase when in Unite Phase"},"18":{"tip":"During the final attack phase, two players will share one battlefield and cannot see the other duo"},"19":{"tip":"During the final attack phase, all participants deal damage to the enemy leader"},"20":{"tip":"A Hidden Core can be unlocked after the final attack phase once certain conditions are fulfilled"},"_h":"go54eg5vctxb9u5u737zw36xmdlmx1ewpvo019rx63"},"broadcasts":{"0":{"textRaw":"<@ba.vup>Dr. {0} has depleted more than 20% of the Enemy Leader's HP!","text":"Dr. {0} has depleted more than 20% of the Enemy Leader's HP!"},"1":{"textRaw":"<@ba.vup>Dr. {0} has depleted more than 50% of the Enemy Leader's HP!","text":"Dr. {0} has depleted more than 50% of the Enemy Leader's HP!"},"2":{"textRaw":"<@ba.vup>Dr. {0} has depleted more than 80% of the Enemy Leader's HP!","text":"Dr. {0} has depleted more than 80% of the Enemy Leader's HP!"},"3":{"textRaw":"<@ba.vup>Dr. {0}'s Operator {1} has dealt {2} damage","text":"Dr. {0}'s Operator {1} has dealt {2} damage"},"4":{"textRaw":"<@ba.vup>Dr. {0}'s Operator {1} has dealt {2} damage","text":"Dr. {0}'s Operator {1} has dealt {2} damage"},"5":{"textRaw":"<@ba.vup>Dr. {0}'s Operator {1} has dealt {2} damage","text":"Dr. {0}'s Operator {1} has dealt {2} damage"},"6":{"textRaw":"<@ba.vup>Dr. {0} has upgraded their Dispatch Center to Lv. {1}","text":"Dr. {0} has upgraded their Dispatch Center to Lv. {1}"},"7":{"textRaw":"<@ba.vup>Dr. {0} has upgraded their Dispatch Center to Lv. {1}","text":"Dr. {0} has upgraded their Dispatch Center to Lv. {1}"},"8":{"textRaw":"<@ba.vup>Dr. {0} has upgraded their Dispatch Center to Lv. {1}","text":"Dr. {0} has upgraded their Dispatch Center to Lv. {1}"},"9":{"textRaw":"<@ba.vup>Dr. {0} has upgraded their Dispatch Center to Lv. {1}","text":"Dr. {0} has upgraded their Dispatch Center to Lv. {1}"},"10":{"textRaw":"<@ba.vup>Dr. {0} has upgraded their Dispatch Center to Lv. {1}","text":"Dr. {0} has upgraded their Dispatch Center to Lv. {1}"},"11":{"textRaw":"Stacks","text":"Stacks"},"12":{"textRaw":"<@ba.vup>Dr. {0} has promoted their {1} to Elite","text":"Dr. {0} has promoted their {1} to Elite"},"13":{"textRaw":"<@ba.vup>Dr. {0} sent you a {1}","text":"Dr. {0} sent you a {1}"},"_h":"6y3v19rg90zpear9ear9ear9lz8ulz8ulz8ulz8ulz8uvbvbt8x3n0yd"}},"emotes":{"themes":{"0":{"name":"Emote Set: Stronghold Protocol"},"1":{"name":"Emote Set: Slug Style"},"2":{"name":"Emote Set: Stronghold Protocol"},"3":{"name":"Emote Set: Doctor-tor"},"4":{"name":"Emote Set: Mimiko"},"5":{"name":"Emote Set: Wiwime"},"_h":"1466147n41bt"},"emotes":{"0":{"label":"Happy"},"1":{"label":"Scared"},"2":{"label":"Sorry"},"3":{"label":"Thanks"},"4":{"label":"Thinking"},"5":{"label":"Nice teamwork"},"6":{"label":"Nice teamwork!"},"7":{"label":"Thanks!"},"8":{"label":"Sorry!"},"9":{"label":"Bye!"},"11":{"label":"Almost done!"},"12":{"label":"No problem!"},"13":{"label":"Salute!"},"14":{"label":"Cheers!"},"15":{"label":"Cool!"},"16":{"label":"Sad"},"17":{"label":"Dying"},"18":{"label":"Doctor-tor 1"},"19":{"label":"Doctor-tor 2"},"20":{"label":"Doctor-tor 3"},"21":{"label":"Doctor-tor 4"},"22":{"label":"Doctor-tor 5"},"23":{"label":"Doctor-tor 6"},"24":{"label":"Mimiko 1"},"25":{"label":"Mimiko 2"},"26":{"label":"Mimiko 3"},"27":{"label":"Mimiko 4"},"28":{"label":"Mimiko 5"},"29":{"label":"Mimiko 6"},"30":{"label":"Wiwime 1"},"31":{"label":"Wiwime 2"},"32":{"label":"Wiwime 3"},"33":{"label":"Wiwime 4"},"34":{"label":"Wiwime 5"},"35":{"label":"Wiwime 6"},"_h":"gk91w4ite9ahtkocz3ni05jlpoxak5nkwfpcs93a67h8k5f2q314vx6yhzqe1fcg79iatb"}}}} diff --git a/public/js/data.js b/public/js/data.js index 6b37be0a..560f23c2 100644 --- a/public/js/data.js +++ b/public/js/data.js @@ -17,8 +17,16 @@ // - or either of those wrapped as { : … } / { list: … } / { data: … }. // Synchronous getters (getChess, getBond, …) return null until the file has loaded; use // `loadData(...)` to await, or the `useData(...)` hook to re-render when files arrive. +// +// Language (docs/I18N.md): the files hold the official Chinese texts. `setLocale('en')` downloads the overlay +// data/i18n/en.json once (tools/build-i18n.mjs: the official EN texts by record id and field, shared/i18nData.js) and +// from then on `get`, `lookup` and `list` — and every getter built on them — return the records with their English +// texts (a copy per file, built on first use; untranslated fields keep the Chinese text). `setLocale('zh')` goes back. +// Each switch notifies the subscribers of every loaded file, so `useData` components re-render. `localeName(zh)` maps +// a Chinese game-data name to the current language (server messages name operators / items in Chinese). import { useEffect, useReducer } from '../vendor/hooks.module.js'; +import { applyFileOverlay } from '../../shared/i18nData.js'; /** Known data files (name → URL basename). Unknown names are allowed too (`/data/.json`). */ export const DATA_FILES = Object.freeze({ @@ -122,6 +130,14 @@ export function createDataStore(opts = {}) { const entries = new Map(); const listeners = new Set(); const warned = new Set(); + /** Current locale ('zh' = the files as they are) and the downloaded overlays by language (shared/i18nData.js). */ + let locale = 'zh'; + /** @type {Map>} */ + const overlayLoads = new Map(); + /** @type {Map} */ + const overlays = new Map(); + /** name → { lang, value, index } localized copy of a ready file (dropped on every switch / reload of the file) */ + const localized = new Map(); const notify = (name) => { for (const fn of [...listeners]) { @@ -219,20 +235,67 @@ export function createDataStore(opts = {}) { return entry.promise; } + /** The localized copy of a ready file (null in Chinese or without an overlay for the file). */ + function localizedEntry(name) { + if (locale === 'zh') return null; + const e = entries.get(name); + const fileOverlay = overlays.get(locale)?.files?.[name]; + if (!e || e.status !== 'ready' || !fileOverlay) return null; + let l = localized.get(name); + if (!l || l.lang !== locale || l.base !== e.value) { + let value = e.value; + try { value = applyFileOverlay(e.value, fileOverlay).value; } catch (err) { console.warn(`[data] ${name}: overlay not applied`, err); } + l = { lang: locale, base: e.value, value, index: null }; + localized.set(name, l); + } + return l; + } + function index(name) { const e = entries.get(name); if (!e || e.status !== 'ready') return null; + const l = localizedEntry(name); + if (l) { + if (!l.index) l.index = buildIndex(name, l.value); + return l.index; + } if (!e.index) e.index = buildIndex(name, e.value); return e.index; } + /** Download (once per language) the overlay data/i18n/.json; resolves to it, or null when unavailable. */ + function loadOverlay(lang) { + if (overlayLoads.has(lang)) return overlayLoads.get(lang); + const p = (async () => { + for (let attempt = 0; ; attempt++) { + try { + const res = await doFetch(`${base}i18n/${lang}.json`, { cache: 'no-cache' }); + if (!res || !res.ok) throw Object.assign(new Error(`HTTP ${res ? res.status : '???'}`), { status: res ? res.status : null }); + const json = await res.json(); + if (!json || typeof json !== 'object' || !json.files) throw Object.assign(new Error('not an overlay'), { badJson: true }); + overlays.set(lang, json); + return json; + } catch (err) { + if (transientFailure(err) && attempt < retryDelays.length) { await wait(retryDelays[attempt]); continue; } + console.warn(`[data] ${base}i18n/${lang}.json unavailable (${err?.message || err}); game texts stay Chinese`); + overlayLoads.delete(lang); // a later switch may try again + return null; + } + } + })(); + overlayLoads.set(lang, p); + return p; + } + return { /** Fetch (once) and return a file's JSON, or null when missing. */ load, /** Load several files; resolves when all settled. */ loadAll: (...names) => Promise.all(names.flat().map(load)), - /** Raw JSON of a loaded file (null when missing / not loaded yet). */ - get: (name) => entries.get(name)?.value ?? null, + /** JSON of a loaded file in the current locale (null when missing / not loaded yet). */ + get: (name) => localizedEntry(name)?.value ?? entries.get(name)?.value ?? null, + /** The file exactly as downloaded (Chinese texts), whatever the locale. */ + getRaw: (name) => entries.get(name)?.value ?? null, /** 'idle' | 'loading' | 'ready' | 'missing' */ status: (name) => entries.get(name)?.status ?? 'idle', /** Record by id from a loaded file (null when unknown / not loaded). */ @@ -246,16 +309,45 @@ export function createDataStore(opts = {}) { invalidate(name) { if (!entries.has(name)) return Promise.resolve(null); entries.delete(name); + localized.delete(name); warned.delete(name); const p = load(name); notify(name); // status is 'loading' again, never a stuck 'idle' return p; }, - /** Called with the file name whenever a file finishes loading (or is invalidated). */ + /** Called with the file name whenever a file finishes loading (or is invalidated, or the locale changes). */ subscribe(fn) { listeners.add(fn); return () => listeners.delete(fn); }, + /** Current game-text locale ('zh' or a language whose overlay is applied). */ + locale: () => locale, + /** + * Switch the game texts' language: 'zh' at once; another language once its overlay has downloaded (it stays Chinese + * when the overlay is unavailable). Every loaded file's subscribers are notified. Resolves to the locale in effect. + * @param {string} lang + * @returns {Promise} + */ + async setLocale(lang) { + const want = typeof lang === 'string' && /^[a-z]{2}$/.test(lang) ? lang : 'zh'; + if (want !== 'zh' && !(await loadOverlay(want))) return locale; + if (want === locale) return locale; + locale = want; + localized.clear(); + for (const name of [...entries.keys()]) notify(name); + return locale; + }, + /** + * A Chinese game-data name (operator, item, bond, token …) in the current locale (itself in Chinese or when the + * overlay does not know it). + * @param {string} zh + * @returns {string} + */ + localeName(zh) { + if (locale === 'zh' || typeof zh !== 'string') return zh; + const names = overlays.get(locale)?.names; + return (names && Object.prototype.hasOwnProperty.call(names, zh) && names[zh]) || zh; + }, }; } diff --git a/shared/i18n.js b/shared/i18n.js new file mode 100644 index 00000000..cca75be9 --- /dev/null +++ b/shared/i18n.js @@ -0,0 +1,304 @@ +// shared/i18n.js — gettext-style translation for the browser and Node (no framework, no dependency, no Node builtin). +// +// The Chinese source string is the message id: `t('整备区已满')`, `t('还剩 {n} 秒', { n })`. A message without a +// translation in the current language falls back to the Chinese text, so an untranslated string is never blank. +// Chinese ('zh') is the default language; English ('en') is a switch (the owner's decision of 2026-10-05: an English +// browser still opens in Chinese until the player picks English). docs/I18N.md explains how to add and translate +// strings. +// +// Context: the same Chinese text may need two translations ('关闭' = "Close" on a button, "Off" on a switch): +// `tc('toggle', '关闭')` looks up the key 'toggle::关闭' first, then '关闭'; Chinese shows '关闭'. +// Module-level tables are evaluated once, before a language can change: mark their strings N_('…') (a no-op that +// tools/i18n.mjs extracts) and call t() where they are shown. +// +// Placeholders (the same in msgids and translations): +// {name} the value of params.name (params may also be an array: {0}, {1} …) +// {n|one|other} `one` when Number(params.n) === 1, else `other` — the only plural form (English needs no more) +// A value that is an array renders as a list joined with the language's separator ('、' / ', '); a value `{ dn: '…' }` +// (made by `dn()`) is a game-data name, translated through the name resolver the client installs (setNameResolver). +// A placeholder whose value is missing stays verbatim, so official templates such as '{0}博士…' survive untouched. +// +// Server → client messages (m.toast / m.ticker): the server builds `msg(msgid, params)` and sends +// `wireMessage(m)` = { text: , msgid, params } — `text` keeps older clients working, the client +// renders `translateWire(frame)` in its own language. A plain string message is its own msgid. + +/** Supported languages; the first one is the default and the source language of every msgid. */ +export const LANGS = Object.freeze(['zh', 'en']); +export const DEFAULT_LANG = 'zh'; + +/** List separator per language (array params). */ +const LIST_SEP = Object.freeze({ zh: '、', en: ', ' }); + +/** @type {Map>} lang → msgid → translation */ +const catalogs = new Map(); +let current = DEFAULT_LANG; +/** @type {Set<(lang: string, prev: string) => void>} */ +const listeners = new Set(); +/** @type {((name: string, lang: string) => string) | null} */ +let nameResolver = null; + +/** + * A supported language code from loose input ('en-US' → 'en', 'zh_CN' → 'zh'), or null. + * @param {unknown} v + * @returns {string|null} + */ +export function normalizeLang(v) { + const s = typeof v === 'string' ? v.trim().toLowerCase() : ''; + if (!s) return null; + for (const l of LANGS) if (s === l || s.startsWith(`${l}-`) || s.startsWith(`${l}_`)) return l; + return null; +} + +/** The current language code. */ +export function getLang() { return current; } + +/** + * Switch the language (unknown codes fall back to the default). Listeners run when it actually changed. + * @param {unknown} lang + * @returns {boolean} true when the language changed + */ +export function setLang(lang) { + const next = normalizeLang(lang) || DEFAULT_LANG; + if (next === current) return false; + const prev = current; + current = next; + for (const fn of [...listeners]) { + try { fn(next, prev); } catch (err) { /** @type {any} */ (globalThis).console?.error('[i18n] listener failed', err); } + } + return true; +} + +/** + * Subscribe to language changes. + * @param {(lang: string, prev: string) => void} fn + * @returns {() => void} unsubscribe + */ +export function onLangChange(fn) { + listeners.add(fn); + return () => { listeners.delete(fn); }; +} + +/** + * Add translations for a language (merged into what is there). Keys starting with '_' are metadata and skipped; only + * non-empty string values count. + * @param {string} lang + * @param {Record | null | undefined} dict msgid → translation + * @returns {number} entries added + */ +export function addMessages(lang, dict) { + const l = normalizeLang(lang); + if (!l || !dict || typeof dict !== 'object') return 0; + let cat = catalogs.get(l); + if (!cat) { cat = new Map(); catalogs.set(l, cat); } + let n = 0; + for (const [k, v] of Object.entries(dict)) { + if (k.startsWith('_') || typeof v !== 'string' || !v) continue; + cat.set(k, v); + n++; + } + return n; +} + +/** + * Replace a language's translations. + * @param {string} lang + * @param {Record | null | undefined} dict + * @returns {number} + */ +export function setMessages(lang, dict) { + const l = normalizeLang(lang); + if (!l) return 0; + catalogs.delete(l); + return addMessages(l, dict); +} + +/** + * Whether a msgid has a translation in a language (the default language always "has" its own msgids). + * @param {string} msgid + * @param {string} [lang] + */ +export function hasMessage(msgid, lang = current) { + const l = normalizeLang(lang) || DEFAULT_LANG; + return l === DEFAULT_LANG || !!catalogs.get(l)?.has(String(msgid)); +} + +/** + * Install the translator of game-data names (`{ dn: '…' }` params and `tName`). The client maps a Chinese name to the + * current language through the localized game data; without a resolver names stay Chinese. + * @param {((name: string, lang: string) => string) | null} fn + */ +export function setNameResolver(fn) { nameResolver = typeof fn === 'function' ? fn : null; } + +/** + * A game-data name (operator, item, bond …) in the current language. + * @param {unknown} name the Chinese name from the data + * @param {string} [lang] + * @returns {string} + */ +export function tName(name, lang = current) { + const s = name == null ? '' : String(name); + if (!s || lang === DEFAULT_LANG || !nameResolver) return s; + try { return nameResolver(s, lang) || s; } catch { return s; } +} + +/** + * Mark a param as a game-data name (translated by the client's name resolver). + * @param {unknown} name + * @returns {{ dn: string }} + */ +export const dn = (name) => ({ dn: name == null ? '' : String(name) }); + +const own = (o, k) => o != null && typeof o === 'object' && Object.prototype.hasOwnProperty.call(o, k); + +/** + * Render one param value. + * @param {unknown} v + * @param {string} lang + * @param {((name: string, lang: string) => string) | null} resolve + * @returns {string} + */ +function renderValue(v, lang, resolve) { + if (v == null) return ''; + if (Array.isArray(v)) return v.map((x) => renderValue(x, lang, resolve)).filter((s) => s !== '').join(LIST_SEP[lang] || LIST_SEP.en); + if (typeof v === 'object') { + if (own(v, 'dn')) { + const name = String(/** @type {any} */ (v).dn ?? ''); + if (!resolve || lang === DEFAULT_LANG || !name) return name; + try { return resolve(name, lang) || name; } catch { return name; } + } + return ''; + } + return String(v); +} + +const PLACEHOLDER = /\{([A-Za-z0-9_$]+)(?:\|([^{}|]*)\|([^{}|]*))?\}/g; + +/** + * Fill a template's placeholders (pure: no global language state). + * @param {unknown} template + * @param {Record | unknown[] | null | undefined} [params] + * @param {{ lang?: string, resolveName?: ((name: string, lang: string) => string) | null }} [opts] + * @returns {string} + */ +export function format(template, params, opts = {}) { + const s = template == null ? '' : String(template); + if (!params || typeof params !== 'object' || !s.includes('{')) return s; + const lang = normalizeLang(opts.lang) || DEFAULT_LANG; + const resolve = opts.resolveName || null; + return s.replace(PLACEHOLDER, (m, key, one, other) => { + if (!own(params, key)) return m; + const v = /** @type {any} */ (params)[key]; + if (one !== undefined) return Number(v) === 1 ? one : other; + return renderValue(v, lang, resolve); + }); +} + +/** + * Translate a message into the current language (gettext style: the msgid is the Chinese text). + * @param {unknown} msgid + * @param {Record | unknown[] | null} [params] + * @returns {string} + */ +export function t(msgid, params) { + const id = msgid == null ? '' : String(msgid); + let text = id; + if (current !== DEFAULT_LANG) { + const tr = catalogs.get(current)?.get(id); + if (tr) text = tr; + } + return params ? format(text, params, { lang: current, resolveName: nameResolver }) : text; +} + +/** + * Translate a message with a context (see the header): the key `${context}::${msgid}` first, then the msgid alone. + * @param {string} context + * @param {unknown} msgid + * @param {Record | unknown[] | null} [params] + * @returns {string} + */ +export function tc(context, msgid, params) { + const id = msgid == null ? '' : String(msgid); + if (current !== DEFAULT_LANG) { + const tr = catalogs.get(current)?.get(`${context}::${id}`); + if (tr) return params ? format(tr, params, { lang: current, resolveName: nameResolver }) : tr; + } + return t(id, params); +} + +/** + * Mark a string as a msgid without translating it (module-level tables: translate with t() where it is shown). + * @template {string} S + * @param {S} s + * @returns {S} + */ +export const N_ = (s) => s; + +/** + * A structured message (server → client): the msgid with its params. + * @param {string} msgid + * @param {Record | unknown[]} [params] + * @returns {{ msgid: string, params: Record | unknown[] | undefined }} + */ +export const msg = (msgid, params) => ({ msgid: String(msgid), params }); + +/** @param {unknown} m @returns {m is { msgid: string, params?: any }} */ +const isMsg = (m) => !!m && typeof m === 'object' && typeof (/** @type {any} */ (m).msgid) === 'string'; + +/** + * The Chinese text of a message (a plain string is returned as is). + * @param {unknown} m a string or msg() + * @returns {string} + */ +export function renderMessage(m) { + if (isMsg(m)) return format(m.msgid, m.params, { lang: DEFAULT_LANG }); + return m == null ? '' : String(m); +} + +/** + * JSON-safe copy of message params: strings, finite numbers, booleans, `{ dn }` and arrays of those (anything else is + * dropped), so a frame never carries an object the client would have to trust. + * @param {unknown} v + * @param {number} [depth] + * @returns {unknown} + */ +function cleanParam(v, depth = 0) { + if (typeof v === 'string') return v.slice(0, 200); + if (typeof v === 'number') return Number.isFinite(v) ? v : null; + if (typeof v === 'boolean') return v; + if (Array.isArray(v) && depth < 1) return v.slice(0, 32).map((x) => cleanParam(x, depth + 1)); + if (v && typeof v === 'object' && own(v, 'dn')) return { dn: String(/** @type {any} */ (v).dn ?? '').slice(0, 200) }; + return null; +} + +/** + * The wire fields of a message for m.toast / m.ticker: `{ text }` for a plain string, `{ text, msgid, params }` for a + * msg() — `text` is the Chinese rendering (older clients show it as before). + * @param {unknown} m + * @returns {{ text: string, msgid?: string, params?: Record | unknown[] }} + */ +export function wireMessage(m) { + if (!isMsg(m)) return { text: renderMessage(m) }; + const out = { text: renderMessage(m), msgid: m.msgid }; + const p = m.params; + if (Array.isArray(p)) return { ...out, params: p.slice(0, 16).map((x) => cleanParam(x)) }; + if (p && typeof p === 'object') { + /** @type {Record} */ + const params = {}; + for (const [k, v] of Object.entries(p).slice(0, 16)) if (/^[A-Za-z0-9_$]{1,32}$/.test(k)) params[k] = cleanParam(v); + return { ...out, params }; + } + return out; +} + +/** + * The text of a received m.toast / m.ticker frame in the current language: its msgid with params when present, else + * its text taken as a msgid (static server texts are their own msgid). Missing translations show the Chinese text. + * @param {{ text?: unknown, msgid?: unknown, params?: unknown } | null | undefined} frame + * @returns {string} + */ +export function translateWire(frame) { + if (!frame || typeof frame !== 'object') return ''; + const params = frame.params && typeof frame.params === 'object' ? /** @type {any} */ (frame.params) : null; + if (typeof frame.msgid === 'string' && frame.msgid) return t(frame.msgid, params); + return typeof frame.text === 'string' ? t(frame.text) : ''; +} diff --git a/shared/i18nData.js b/shared/i18nData.js new file mode 100644 index 00000000..06e3211b --- /dev/null +++ b/shared/i18nData.js @@ -0,0 +1,182 @@ +// shared/i18nData.js — the localized game-data overlay (data/i18n/.json): its format, written by +// tools/build-i18n.mjs and applied by public/js/data.js (also usable under Node). +// +// { version: 1, lang: 'en', meta: { … sources, coverage … }, +// names: { : }, // every translated game-data name (ticker / toast args) +// files: { : { : RecordOverlay } } } +// +// A RecordOverlay mirrors the record of data/.json: a string leaf replaces the Chinese string at the same path, +// an object recurses, an array is index-aligned (null = keep the Chinese entry). `_h` (on every record overlay) holds +// the 2-character hash (textHash2) of each Chinese string a leaf replaces, in walk order (object keys in their order, +// array entries by index, `_h` itself skipped). A record that is a plain string (config `seasonName`) has { _s, _h }. A leaf whose Chinese source no longer hashes the same — data/*.json was +// rebuilt after the overlay — is not applied: the player sees the current Chinese text rather than a stale translation. + +export const OVERLAY_VERSION = 1; + +/** + * 32-bit FNV-1a of a string, as 2 base-36 characters (1296 buckets): the per-leaf staleness check. + * @param {string} s + * @returns {string} + */ +export function textHash2(s) { + let h = 0x811c9dc5; + const str = String(s); + for (let i = 0; i < str.length; i++) { + h ^= str.charCodeAt(i); + h = Math.imul(h, 0x01000193) >>> 0; + } + return (h % 1296).toString(36).padStart(2, '0'); +} + +const isObj = (v) => !!v && typeof v === 'object' && !Array.isArray(v); + +/** + * Visit every string leaf of a record overlay in walk order. + * @param {any} ov record overlay (or a sub-tree of it) + * @param {(path: (string|number)[], text: string) => void} visit + * @param {(string|number)[]} [path] + */ +export function walkOverlay(ov, visit, path = []) { + if (typeof ov === 'string') { visit(path, ov); return; } + if (Array.isArray(ov)) { + for (let i = 0; i < ov.length; i++) if (ov[i] != null) walkOverlay(ov[i], visit, [...path, i]); + return; + } + if (isObj(ov)) { + for (const k of Object.keys(ov)) { + if (path.length === 0 && k === '_h') continue; + walkOverlay(ov[k], visit, [...path, k]); + } + } +} + +/** + * The value at a path of a record, or undefined. + * @param {any} base + * @param {(string|number)[]} path + */ +export function getPath(base, path) { + let cur = base; + for (const k of path) { + if (cur == null || typeof cur !== 'object') return undefined; + cur = cur[k]; + } + return cur; +} + +/** A path as a lookup key (an array record's top-level indexes become object keys, so numbers and strings match). */ +const pathKey = (path) => path.map(String).join('\u0000'); + +/** + * Build a record overlay from its leaves (the build tool): sets each `en` at its path and computes `_h` from the + * Chinese sources in the final walk order. A record that is itself an array (config `tips`, `titles` …) gets an object + * overlay keyed by index ("0", "1" …: integer keys keep index order). + * @param {{ path: (string|number)[], zh: string, en: string }[]} leaves + * @returns {any|null} null when there is no leaf + */ +export function buildRecordOverlay(leaves) { + if (!leaves.length) return null; + // a record that is a plain string (config `seasonName`): { _s, _h } + if (leaves.length === 1 && leaves[0].path.length === 0) return { _s: leaves[0].en, _h: textHash2(leaves[0].zh) }; + /** @type {any} */ + const root = {}; + const zhAt = new Map(); + for (const { path, zh, en } of leaves) { + let cur = root; + for (let i = 0; i < path.length - 1; i++) { + const k = path[i]; + const nextIsIndex = typeof path[i + 1] === 'number'; + if (cur[k] == null) cur[k] = nextIsIndex ? [] : {}; + cur = cur[k]; + } + cur[path[path.length - 1]] = en; + zhAt.set(pathKey(path), zh); + } + // sparse arrays → explicit nulls (JSON has no holes) + const fill = (v) => { + if (Array.isArray(v)) { for (let i = 0; i < v.length; i++) v[i] = v[i] === undefined ? null : fill(v[i]); return v; } + if (isObj(v)) { for (const k of Object.keys(v)) v[k] = fill(v[k]); return v; } + return v; + }; + fill(root); + let h = ''; + walkOverlay(root, (path) => { h += textHash2(zhAt.get(pathKey(path)) ?? ''); }); + return { ...root, _h: h }; +} + +/** + * Apply a record overlay to a Chinese record: a copy that shares every untouched branch (copy-on-write), with each leaf + * whose Chinese source still matches its hash replaced. The input record is never modified. + * @param {any} base + * @param {any} ov + * @returns {{ value: any, applied: number, stale: number }} + */ +export function applyRecordOverlay(base, ov) { + if (isObj(ov) && typeof ov._s === 'string') { + const ok = typeof base === 'string' && textHash2(base) === ov._h; + return { value: ok ? ov._s : base, applied: ok ? 1 : 0, stale: ok ? 0 : 1 }; + } + if (!isObj(ov) || base == null || typeof base !== 'object') return { value: base, applied: 0, stale: 0 }; + const hashes = typeof ov._h === 'string' ? ov._h : ''; + let i = 0; + let applied = 0; + let stale = 0; + const rec = (b, o, depth) => { + if (typeof o === 'string') { + const want = hashes.slice(i * 2, i * 2 + 2); + i++; + if (typeof b === 'string' && want && textHash2(b) === want) { applied++; return o; } + stale++; + return b; + } + if (Array.isArray(o)) { + if (!Array.isArray(b)) { walkOverlay(o, () => { i++; stale++; }); return b; } + let out = b; + for (let k = 0; k < o.length; k++) { + if (o[k] == null) continue; + const nv = rec(b[k], o[k], depth + 1); + if (nv !== b[k]) { if (out === b) out = b.slice(); out[k] = nv; } + } + return out; + } + if (isObj(o)) { + if (b == null || typeof b !== 'object') { walkOverlay(o, () => { i++; stale++; }); return b; } + // an array record's overlay is keyed by index (see buildRecordOverlay) + const arr = Array.isArray(b); + let out = b; + for (const k of Object.keys(o)) { + if (depth === 0 && k === '_h') continue; + const at = arr ? (/^\d+$/.test(k) ? Number(k) : -1) : k; + const cur = at === -1 ? undefined : b[at]; + const nv = rec(cur, o[k], depth + 1); + if (at !== -1 && nv !== cur) { if (out === b) out = arr ? b.slice() : { ...b }; out[at] = nv; } + } + return out; + } + return b; + }; + const value = rec(base, ov, 0); + return { value, applied, stale }; +} + +/** + * Apply a file's overlay to a whole data file (the `{ id: record }` maps of data/*.json; other shapes are returned + * unchanged). Untouched records are shared with the input. + * @param {any} json the Chinese file + * @param {Record | null | undefined} fileOverlay `files[]` of the overlay + * @returns {{ value: any, applied: number, stale: number }} + */ +export function applyFileOverlay(json, fileOverlay) { + if (!isObj(json) || !isObj(fileOverlay)) return { value: json, applied: 0, stale: 0 }; + let out = json; + let applied = 0; + let stale = 0; + for (const [id, ov] of Object.entries(fileOverlay)) { + if (!Object.prototype.hasOwnProperty.call(json, id)) continue; + const r = applyRecordOverlay(json[id], ov); + applied += r.applied; + stale += r.stale; + if (r.value !== json[id]) { if (out === json) out = { ...json }; out[id] = r.value; } + } + return { value: out, applied, stale }; +} diff --git a/test/i18n-data.test.js b/test/i18n-data.test.js new file mode 100644 index 00000000..49cfcc9c --- /dev/null +++ b/test/i18n-data.test.js @@ -0,0 +1,207 @@ +// Localized game data: the overlay format (shared/i18nData.js), its build (tools/build-i18n.mjs → data/i18n/en.json: +// shape, freshness against data/*.json, coverage, rich text) and the client accessors (public/js/data.js setLocale). +// docs/I18N.md. + +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { readFileSync, existsSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { buildRecordOverlay, applyRecordOverlay, applyFileOverlay, walkOverlay, getPath, textHash2 } from '../shared/i18nData.js'; +import { buildOverlay, inverseFormat, shapeKey, DATA_FILES, stripRich } from '../tools/build-i18n.mjs'; +import { createDataStore } from '../public/js/data.js'; +import { parseRichText, richTextPlain } from '../public/js/ui/richText.js'; + +const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..'); +const readJson = (rel) => JSON.parse(readFileSync(path.join(ROOT, rel), 'utf8')); +const OVERLAY = readJson('data/i18n/en.json'); +const HAN = /[一-鿿]/; + +test('overlay records: build → apply round trip, copy-on-write, array and string records', () => { + const base = { name: '炎', n: 3, skills: [{ name: '甲', desc: '一' }, { name: '乙', desc: '二' }], keep: { x: '中' } }; + const ov = buildRecordOverlay([ + { path: ['name'], zh: '炎', en: 'Yan' }, + { path: ['skills', 1, 'desc'], zh: '二', en: 'two' }, + ]); + assert.deepEqual(ov.skills, [null, { desc: 'two' }], 'arrays are index-aligned, null keeps the entry'); + assert.equal(ov._h, textHash2('炎') + textHash2('二')); + const r = applyRecordOverlay(base, ov); + assert.equal(r.applied, 2); + assert.equal(r.value.name, 'Yan'); + assert.equal(r.value.skills[1].desc, 'two'); + assert.equal(r.value.skills[0], base.skills[0], 'untouched branches are shared'); + assert.equal(r.value.keep, base.keep); + assert.equal(base.name, '炎', 'the input is never modified'); + // an array record (config tips) and a plain-string record (config seasonName) + const tips = [{ tip: '甲' }, { tip: '乙' }]; + const tov = buildRecordOverlay([{ path: [1, 'tip'], zh: '乙', en: 'B' }]); + assert.deepEqual(applyRecordOverlay(tips, tov).value, [{ tip: '甲' }, { tip: 'B' }]); + const sov = buildRecordOverlay([{ path: [], zh: '卫戍协议:盟约', en: 'Stronghold Protocol: Alliance' }]); + assert.equal(applyRecordOverlay('卫戍协议:盟约', sov).value, 'Stronghold Protocol: Alliance'); +}); + +test('overlay records: a leaf whose Chinese source changed stays Chinese (no stale translation)', () => { + const ov = buildRecordOverlay([{ path: ['desc'], zh: '攻击力+15%', en: 'ATK +15%' }, { path: ['name'], zh: '维式重锤', en: 'Victorian Hammer' }]); + const r = applyRecordOverlay({ name: '维式重锤', desc: '攻击力+20%' }, ov); + assert.deepEqual(r.value, { name: 'Victorian Hammer', desc: '攻击力+20%' }); + assert.equal(r.applied, 1); + assert.equal(r.stale, 1); + const f = applyFileOverlay({ a: { name: '甲' }, b: { name: '乙' } }, { a: buildRecordOverlay([{ path: ['name'], zh: '甲', en: 'A' }]), gone: { name: 'x', _h: '00' } }); + assert.deepEqual(f.value, { a: { name: 'A' }, b: { name: '乙' } }, 'records missing from the data are skipped'); +}); + +test('build-i18n matching: exact, blackboard templates, plain from raw, composites, fallback order, notes, names', () => { + const zh = [{ chars: { char_x: { name: '测试员', description: '攻击造成<@ba.kw>法术伤害', skill: { levels: [{ name: '强攻', description: '攻击力<@ba.vup>+{atk:0%},持续{duration}秒' }] } } } }]; + const en = [{ chars: { char_x: { name: 'Tester', description: 'Attacks deal <@ba.kw>Arts damage', skill: { levels: [{ name: 'Assault', description: 'ATK <@ba.vup>+{atk:0%} for {duration} seconds' }] } } } }]; + const data = { + chess: { + chess_x_a: { + charId: 'char_x', name: '测试员', + trait: { desc: '攻击造成法术伤害', descRaw: '攻击造成<@ba.kw>法术伤害' }, + skill: { skillId: 'sk_x', name: '强攻', descRaw: '攻击力<@ba.vup>+80%,持续30秒', desc: '攻击力+80%,持续30秒', bb: { atk: 0.8 }, duration: 30 }, + spec: { note: '研究笔记' }, + }, + }, + stages: { m1: { name: '战场#05(下半) 测试员' }, m2: { name: '战场#04 活性源石' } }, + config: { seasonName: '卫戍协议:盟约', tips: [{ tip: '无官方的提示' }, { tip: '界面里的话' }] }, + }; + const { overlay, report } = buildOverlay({ + zh, en, data, + fallback: { remake: { 活性源石: 'Active Originium', '卫戍协议:盟约': 'Stronghold Protocol: Alliance' }, pr70: { 无官方的提示: 'A tip', 界面里的话: 'PR wording' }, ui: { 界面里的话: 'UI wording' } }, + }); + const c = applyRecordOverlay(data.chess.chess_x_a, overlay.files.chess.chess_x_a).value; + assert.equal(c.name, 'Tester'); + assert.equal(c.trait.descRaw, 'Attacks deal <@ba.kw>Arts damage'); + assert.equal(c.trait.desc, 'Attacks deal Arts damage', 'the plain text is the stripped raw translation'); + assert.equal(c.skill.descRaw, 'ATK <@ba.vup>+80% for 30 seconds', 'numbers read back from the Chinese and filled in'); + assert.equal(c.skill.desc, 'ATK +80% for 30 seconds'); + assert.equal(c.spec.note, '研究笔记', 'research notes are not translated'); + const st = applyFileOverlay(data.stages, overlay.files.stages).value; + assert.equal(st.m1.name, 'Battlefield #05 (Second Half) Tester'); + assert.equal(st.m2.name, 'Battlefield #04 Active Originium'); + const cfg = applyFileOverlay(data.config, overlay.files.config).value; + assert.equal(cfg.seasonName, 'Stronghold Protocol: Alliance'); + assert.deepEqual(cfg.tips.map((x) => x.tip), ['A tip', 'PR wording'], 'remake > PR #70 > UI table'); + assert.equal(overlay.names['测试员'], 'Tester'); + assert.equal(report.coverage.operators.translated, 1); + assert.equal(report.coverage.skills.template, 2); + assert.equal(report.coverage.operators.notes, 1); + assert.deepEqual(inverseFormat('攻击力+{atk:0%},{-x}格', '攻击力+80%,-2格'), { bb: { atk: 0.8, x: 2 }, bbStr: {} }); + assert.equal(inverseFormat('攻击力+{atk:0%}', '攻击力+80'), null); + assert.equal(shapeKey('攻击力<@ba.vup>+{atk:0%}'), shapeKey('攻击力+80%')); +}); + +test('data/i18n/en.json: shape, the 盟约 season of the EN build, coverage and the names map', () => { + assert.equal(OVERLAY.version, 1); + assert.equal(OVERLAY.lang, 'en'); + assert.equal(OVERLAY.meta.source.season, 'act2autochess', 'built from an EN client that has 卫戍协议:盟约 下半'); + assert.ok(OVERLAY.meta.totals.pct >= 99, `coverage ${OVERLAY.meta.totals.pct} %`); + for (const kind of ['operators', 'skills', 'talents', 'modules', 'traits', 'enemies', 'bonds', 'items', 'effects', 'bands', 'garrisons', 'stages', 'tokens', 'choices', 'config']) { + const c = OVERLAY.meta.coverage[kind]; + assert.ok(c && c.texts > 0, `coverage of ${kind}`); + assert.ok(c.pct >= 98, `${kind}: ${c.pct} %`); + } + assert.deepEqual(Object.keys(OVERLAY.files).filter((f) => !DATA_FILES.includes(f)), []); + assert.equal(OVERLAY.names['琳琅诗怀雅'], 'Swire the Elegant Wit'); + assert.equal(OVERLAY.names['维式重锤'], 'Victorian Hammer'); + assert.equal(OVERLAY.names['奇迹'], 'Marvel'); + for (const [zh, en] of Object.entries(OVERLAY.names)) assert.ok(HAN.test(zh) && !HAN.test(en), `${zh} → ${en}`); +}); + +test('data/i18n/en.json matches the current data/*.json: every leaf replaces a Chinese string that still hashes the same', () => { + // A failure here means data/*.json was rebuilt after the overlay: run `node tools/build-i18n.mjs` (docs/I18N.md). + for (const [file, fov] of Object.entries(OVERLAY.files)) { + const data = readJson(`data/${file}.json`); + let leaves = 0; + for (const [id, rov] of Object.entries(fov)) { + if (typeof rov._s === 'string') { assert.equal(typeof data[id], 'string', `${file}.${id}`); leaves++; continue; } + walkOverlay(rov, (p, enText) => { + const zhText = getPath(data[id], p); + assert.equal(typeof zhText, 'string', `${file}.${id}.${p.join('.')} is not a string in data/${file}.json`); + assert.ok(HAN.test(zhText), `${file}.${id}.${p.join('.')}: not a Chinese text`); + assert.ok(enText.trim(), `${file}.${id}.${p.join('.')}: empty translation`); + leaves++; + }); + } + const r = applyFileOverlay(data, fov); + assert.equal(r.stale, 0, `${file}: ${r.stale} translations are stale (run node tools/build-i18n.mjs)`); + assert.equal(r.applied, leaves, file); + } +}); + +test('official EN skill texts keep the rich-text markup and the remake\'s numbers (ui/richText.js renders them)', () => { + const chess = readJson('data/chess.json'); + const cases = [['chess_char_3_04_a', 1, '155%'], ['chess_char_3_04_b', 1, '170%'], ['chess_char_1_01_a', 1, '+80%']]; + for (const [id, idx, number] of cases) { + const zhRec = chess[id]; + const en = applyRecordOverlay(zhRec, OVERLAY.files.chess[id]).value; + const zhSkill = zhRec.skills[idx]; + const enSkill = en.skills[idx]; + assert.ok(!HAN.test(enSkill.descRaw), `${id}: ${enSkill.descRaw}`); + const vup = (s) => parseRichText(s).filter((x) => x.cls && x.cls.includes('ba.vup')).map((x) => x.text); + assert.ok(vup(zhSkill.descRaw).includes(number) && vup(enSkill.descRaw).includes(number), `${id}: ${number} highlighted in both languages`); + assert.equal(richTextPlain(enSkill.descRaw), enSkill.desc, 'desc is the plain form of descRaw'); + assert.equal((enSkill.descRaw.match(/<[@$][^<>]*>/g) || []).length, (enSkill.descRaw.match(/<\/>/g) || []).length, 'tags closed'); + } + // every translated skill: it parses, no placeholder is left, plain = stripped raw (a few official EN texts leave a + // tag unclosed, e.g. skchr_excu2_1's <@ba.rem>; the parser takes that as running to the end, as the game does) + for (const [id, rov] of Object.entries(OVERLAY.files.chess)) { + const rec = applyRecordOverlay(chess[id], rov).value; + for (const s of rec.skills || []) { + if (HAN.test(s.descRaw)) continue; + assert.ok(parseRichText(s.descRaw).length > 0, `${id} ${s.skillId}`); + assert.ok(!/\{-?[A-Za-z_@][^{}:]*(?::[^{}]+)?\}/.test(s.descRaw), `${id} ${s.skillId}: placeholder left: ${s.descRaw}`); + assert.equal(stripRich(s.descRaw), s.desc, `${id} ${s.skillId}`); + } + } +}); + +/** A fetch over the repo's data/ (data/i18n/en.json included). */ +function diskFetch(calls) { + return async (url) => { + calls.push(url); + const rel = url.replace(/^\/data\//, 'data/'); + const abs = path.join(ROOT, rel); + if (!existsSync(abs)) return { ok: false, status: 404, json: async () => null }; + const text = readFileSync(abs, 'utf8'); + return { ok: true, status: 200, json: async () => JSON.parse(text) }; + }; +} + +test('data.js setLocale: getters return English records after the overlay loads, Chinese again after zh', async () => { + const calls = []; + const d = createDataStore({ fetch: diskFetch(calls), retryDelays: [] }); + await d.loadAll('chess', 'config', 'bonds'); + const seen = []; + d.subscribe((n) => seen.push(n)); + assert.equal(d.lookup('chess', 'chess_char_3_04_a').name, '琳琅诗怀雅'); + assert.equal(await d.setLocale('en'), 'en'); + assert.equal(calls.filter((u) => u === '/data/i18n/en.json').length, 1); + assert.deepEqual(seen.sort(), ['bonds', 'chess', 'config'], 'every loaded file notified'); + const swire = d.lookup('chess', 'chess_char_3_04_a'); + assert.equal(swire.name, 'Swire the Elegant Wit'); + assert.equal(swire.subProfessionName, 'Merchant'); + assert.equal(swire.stats.atk, 672, 'numbers untouched'); + assert.equal(d.list('bonds').find((b) => b.bondId === 'yanShip').name, 'Yan'); + assert.equal(d.get('config').modes.mode_multi_hard.name, 'Dire Simulation'); + assert.equal(d.getRaw('config').modes.mode_multi_hard.name, '绝境模拟', 'getRaw keeps the Chinese file'); + assert.equal(d.localeName('琳琅诗怀雅'), 'Swire the Elegant Wit'); + assert.equal(d.localeName('不存在的名字'), '不存在的名字'); + await d.load('items'); // loaded after the switch: localized too + assert.equal(d.lookup('items', 'chess_item_1_01_e_a').name, 'Victorian Hammer'); + assert.equal(await d.setLocale('zh'), 'zh'); + assert.equal(d.lookup('chess', 'chess_char_3_04_a').name, '琳琅诗怀雅'); + assert.equal(d.localeName('琳琅诗怀雅'), '琳琅诗怀雅'); + await d.setLocale('en'); + assert.equal(calls.filter((u) => u === '/data/i18n/en.json').length, 1, 'the overlay downloads once'); +}); + +test('data.js setLocale: without an overlay the texts stay Chinese (no throw, no switch)', async () => { + const d = createDataStore({ fetch: async () => ({ ok: false, status: 404, json: async () => null }), retryDelays: [] }); + const w = console.warn; + console.warn = () => {}; + try { + assert.equal(await d.setLocale('en'), 'zh'); + assert.equal(d.locale(), 'zh'); + } finally { console.warn = w; } +}); diff --git a/tools/build-i18n.mjs b/tools/build-i18n.mjs new file mode 100644 index 00000000..a2edeb01 --- /dev/null +++ b/tools/build-i18n.mjs @@ -0,0 +1,717 @@ +#!/usr/bin/env node +// tools/build-i18n.mjs — LOCALIZED GAME DATA: data/i18n/en.json from the official EN client data. +// +// The game texts of data/*.json (operators, skills, talents, modules, traits, enemies, bonds, items, effects, bands, +// 特质, 机变 cards, modes, stages, tokens …) are the official zh_CN texts (tools/build-data.mjs). This tool writes their +// official English counterparts as an overlay keyed by the remake's own ids and field paths (format: shared/i18nData.js), +// which public/js/data.js applies when the player switches to English. tools/build-data.mjs is not touched. +// +// How a text is matched (no id table to keep up to date — the official tables are walked side by side): +// 1. the zh_CN and the EN tables are walked in parallel (same keys; arrays of keyed records by their key), giving +// pairs Chinese source → English source with the ids on their path as "scope"; +// 2. a data text equal to a Chinese source takes its English source (exact); +// 3. a data text whose blackboard placeholders were resolved by build-data ({atk:0%} → 80%) is matched against the +// Chinese templates of the same shape: the numbers are read back into a blackboard, the Chinese template must +// reproduce the text exactly, and the English template is filled with the same values (template); +// 4. a few remake-made composites (stage names) are assembled from translated parts (composite); +// 5. what the official EN data lacks falls back to tools/i18n/fallback-remake.json (the remake's own strings), +// tools/i18n/fallback-pr70.json (PR #70's translations by @YuriRestia, reused with credit) and the UI table +// public/i18n/en.json (a data text that is also a UI msgid); anything else stays Chinese. +// Ties between several English sources prefer the one whose path shares the record's ids, then the most frequent. +// Rich-text tags and placeholders of the official EN texts are the same as in zh_CN, so the client's rich-text +// formatting (ui/richText.js) works unchanged; `desc` / `text` (plain) are the stripped `descRaw` / `textRaw`. +// +// Usage: node tools/build-i18n.mjs [--refresh | --offline] [--source assets|yostar] [--cache ] [--cache-en ] +// [--data ] [--out ] [--report ] [--check] [--quiet] +// --source EN tables: 'assets' (default) = ArknightsAssets/ArknightsGamedata en (current, has the 盟约 seasons +// act1autochess / act2autochess), 'yostar' = Kengxxiao/ArknightsGameData_YoStar en_US (archived in +// 2025-11: no 盟约 season, only the 2025 test event act1vautochess) +// --refresh re-download the EN tables; --offline never download (fail when a table is missing) +// --cache zh_CN cache (default /.cache/gamedata, shared with build-data; missing tables are downloaded) +// --cache-en EN cache (default /.cache/gamedata-en for 'assets', .cache/gamedata-en-yostar for 'yostar') +// --data the data/*.json to localize (default /data); --out default /data/i18n/en.json +// --report default /.cache/build-i18n-report.json (coverage per kind, untranslated samples) +// --check build in memory and exit 1 when the output differs from --out (nothing written) +// Determinism: the output depends only on the inputs (stable key order, no timestamps). + +import { mkdir, readFile, writeFile, rename } from 'node:fs/promises'; +import { existsSync } from 'node:fs'; +import { dirname, join, resolve, relative } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { buildRecordOverlay, applyFileOverlay, OVERLAY_VERSION } from '../shared/i18nData.js'; + +const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '..'); +const USAGE = 'usage: node tools/build-i18n.mjs [--refresh | --offline] [--source assets|yostar] [--cache ] [--cache-en ] [--data ] [--out ] [--report ] [--check] [--quiet]'; + +export const EN_SOURCES = Object.freeze({ + assets: { + label: 'ArknightsAssets/ArknightsGamedata (en)', + home: 'https://github.com/ArknightsAssets/ArknightsGamedata', + url: 'https://raw.githubusercontent.com/ArknightsAssets/ArknightsGamedata/master/en/gamedata/', + cache: '.cache/gamedata-en', + }, + yostar: { + label: 'Kengxxiao/ArknightsGameData_YoStar (en_US)', + home: 'https://github.com/Kengxxiao/ArknightsGameData_YoStar', + url: 'https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData_YoStar/main/en_US/gamedata/', + cache: '.cache/gamedata-en-yostar', + }, +}); +const ZH_URL = 'https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/'; + +/** Official tables walked side by side (zh_CN ↔ EN), with the sub-trees that hold texts the remake uses. */ +const TABLES = [ + { rel: 'excel/activity_table.json', pick: (j) => ({ act2: j?.activity?.AUTOCHESS_SEASON?.act2autochess, act1: j?.activity?.AUTOCHESS_SEASON?.act1autochess, ac: j?.autoChessData, info: { act2autochess: j?.basicInfo?.act2autochess, act1autochess: j?.basicInfo?.act1autochess } }) }, + { rel: 'excel/character_table.json' }, + { rel: 'excel/skill_table.json' }, + { rel: 'excel/uniequip_table.json' }, + { rel: 'excel/battle_equip_table.json' }, + { rel: 'excel/enemy_handbook_table.json', pick: (j) => j?.enemyData }, + { rel: 'excel/item_table.json', pick: (j) => j?.items }, + { rel: 'excel/token_table.json' }, + { rel: 'levels/enemydata/enemy_database.json', pick: (j) => (Array.isArray(j?.enemies) ? kvMap(j.enemies) : j) }, +]; + +/** A Unity-style list of { Key, Value } entries as a plain map (the two dumps serialize some tables either way). */ +function kvMap(list) { + const out = {}; + for (const e of list) if (e && (typeof e.Key === 'string' || typeof e.key === 'string')) out[e.Key ?? e.key] = e.Value ?? e.value; + return out; +} +const isKvList = (v) => Array.isArray(v) && v.length > 0 && v.every((e) => e && typeof e === 'object' && typeof e.Key === 'string' && 'Value' in e && Object.keys(e).length === 2); + +/** Scope segment of the act2autochess sub-tree (TABLES pick key): the season data/*.json is built from. */ +const SEASON_SCOPE = 'act2'; + +/** data/*.json files localized, in output order. */ +export const DATA_FILES = Object.freeze(['chess', 'backups', 'tokens', 'bonds', 'garrisons', 'items', 'bands', 'effects', + 'choices', 'enemies', 'factions', 'stages', 'bosses', 'config', 'emotes']); + +/** + * Research / developer notes of the data files (English with Chinese terms; no screen shows them): never translated, + * counted apart. A leaf is a note when one of these keys is on its path, or its own key is in NOTE_LEAF_KEYS. + */ +const NOTE_KEYS = new Set(['spec', 'implFormula', 'assumed', 'notes', 'formula', 'helperOrder', '_why', '_doc', 'algorithm', 'titleRule']); +const NOTE_LEAF_KEYS = new Set(['cards', 'rule', 'note_dev']); + +/** Fields whose translation also feeds the `names` map (server ticker / toast args are data names). */ +const NAME_KEYS = new Set(['name', 'effectName']); +/** File priority when two records give the same Chinese name different English names. */ +const NAME_PRIORITY = ['chess', 'backups', 'tokens', 'items', 'bonds', 'bands', 'effects', 'garrisons', 'enemies', 'bosses', 'stages', 'choices', 'config', 'factions', 'emotes']; + +const CJK = /[\u3400-\u9fff\uf900-\ufaff]/; +/** Official rich-text markup (a styled / term tag or its close). */ +const RICH = /<[@$#][^<>]*>|<\/>/; +const hasCjk = (s) => typeof s === 'string' && CJK.test(s); + +// ===== text helpers (kept identical to tools/build-data.mjs: the zh round trip in the report proves it) ============ + +export function unescapeNewlines(s) { return typeof s === 'string' ? s.replace(/\\n/g, '\n') : s; } +export function stripRich(s) { + if (typeof s !== 'string') return s ?? null; + return unescapeNewlines(s) + .replace(/<[@$#][^<>]*>/g, '') + .replace(/<\/>/g, '') + .replace(/<\/?color[^<>]*>/gi, '') + .replace(/<\/?[bi]>/gi, ''); +} +function cleanNum(v) { + if (typeof v !== 'number' || !Number.isFinite(v)) return v; + if (Number.isInteger(v) || Math.abs(v) >= 1e6) return v; + return Math.round(v * 1e6) / 1e6; +} +export function formatValue(v, fmt) { + if (typeof v !== 'number' || !Number.isFinite(v)) return String(v); + if (!fmt) return String(cleanNum(v)); + const pct = fmt.endsWith('%'); + const core = pct ? fmt.slice(0, -1) : fmt; + const decimals = core.includes('.') ? core.split('.')[1].length : 0; + const x = pct ? v * 100 : v; + const rounded = Math.sign(x) * Math.round(Math.abs(x) * 10 ** decimals + 1e-9) / 10 ** decimals; + return rounded.toFixed(decimals) + (pct ? '%' : ''); +} +const PH = /\{(-?)([^{}:]+)(?::([^{}]+))?\}/g; +/** Resolve {key}, {-key}, {key:0%} against a blackboard (case-insensitive); unknown keys stay verbatim. */ +export function resolvePlaceholders(text, bb, bbStr = {}) { + if (typeof text !== 'string') return text ?? null; + const lower = new Map(); + for (const [k, v] of Object.entries(bb || {})) lower.set(k.toLowerCase(), v); + const lowerStr = new Map(); + for (const [k, v] of Object.entries(bbStr || {})) lowerStr.set(k.toLowerCase(), v); + return text.replace(PH, (m, neg, key, fmt) => { + const k = key.trim().toLowerCase(); + if (lowerStr.has(k) && (!lower.has(k) || !fmt)) return lowerStr.get(k); + if (lower.has(k)) return formatValue(neg ? -lower.get(k) : lower.get(k), fmt); + return m; + }); +} +const hasPlaceholder = (s) => typeof s === 'string' && /\{-?[A-Za-z_@][^{}:]*(?::[^{}]+)?\}/.test(s); + +// ===== CLI & IO ====================================================================================================== + +function parseArgs(argv) { + const opts = { + refresh: false, offline: false, quiet: false, check: false, source: 'assets', + cache: join(ROOT, '.cache', 'gamedata'), cacheEn: null, data: join(ROOT, 'data'), + out: join(ROOT, 'data', 'i18n', 'en.json'), report: join(ROOT, '.cache', 'build-i18n-report.json'), + }; + const flags = { '--refresh': 'refresh', '--offline': 'offline', '--quiet': 'quiet', '--check': 'check' }; + const vals = { '--source': 'source', '--cache': 'cache', '--cache-en': 'cacheEn', '--data': 'data', '--out': 'out', '--report': 'report' }; + for (let i = 0; i < argv.length; i++) { + const eq = argv[i].indexOf('='); + const [name, inline] = eq > 0 ? [argv[i].slice(0, eq), argv[i].slice(eq + 1)] : [argv[i], null]; + if (name === '--help' || name === '-h') { console.log(USAGE); process.exit(0); } + if (flags[name] && inline === null) { opts[flags[name]] = true; continue; } + if (vals[name]) { + const v = inline ?? argv[++i]; + if (!v || v.startsWith('--')) throw new Error(`${name} needs a value\n${USAGE}`); + opts[vals[name]] = name === '--source' ? v : resolve(v); + continue; + } + throw new Error(`unknown option ${argv[i]}\n${USAGE}`); + } + if (opts.refresh && opts.offline) throw new Error(`--refresh and --offline are mutually exclusive\n${USAGE}`); + if (!EN_SOURCES[opts.source]) throw new Error(`--source must be one of ${Object.keys(EN_SOURCES).join(', ')}`); + if (!opts.cacheEn) opts.cacheEn = join(ROOT, EN_SOURCES[opts.source].cache); + return opts; +} + +async function download(url, abs, log) { + let lastErr; + for (let attempt = 1; attempt <= 4; attempt++) { + try { + log(` download ${url}${attempt > 1 ? ` (attempt ${attempt})` : ''}`); + const res = await fetch(url, { signal: AbortSignal.timeout(240_000) }); + if (!res.ok) throw new Error(`HTTP ${res.status} for ${url}`); + const text = await res.text(); + JSON.parse(text); // never cache a truncated file + await mkdir(dirname(abs), { recursive: true }); + const tmp = `${abs}.tmp-${process.pid}`; + await writeFile(tmp, text); + await rename(tmp, abs); + return; + } catch (e) { + lastErr = e; + if (attempt < 4) await new Promise((r) => setTimeout(r, 600 * attempt)); + } + } + throw new Error(`cannot download ${url}: ${lastErr && lastErr.message}`); +} + +async function loadTable(dir, base, rel, { refresh, offline, log }) { + const abs = join(dir, rel); + if (refresh || !existsSync(abs)) { + if (offline) throw new Error(`missing cached table ${abs} (offline mode)`); + await download(base + rel, abs, log); + } + return JSON.parse(await readFile(abs, 'utf8')); +} + +// ===== the parallel walk: Chinese source → English source pairs ====================================================== + +const KEY_FIELDS = ['Key', 'key', 'id', 'charId', 'skillId', 'uniEquipId', 'enemyId', 'itemId', 'effectId', 'bondId', 'bandId', 'stageId', 'modeId', 'bossId', 'talentIndex']; + +/** The field an array of records is keyed by (every element an object with a distinct string/number value), or null. */ +function arrayKeyField(arr) { + if (!Array.isArray(arr) || arr.length < 2 || !arr.every((x) => x && typeof x === 'object' && !Array.isArray(x))) return null; + for (const f of KEY_FIELDS) { + const vals = arr.map((x) => x[f]); + if (vals.every((v) => typeof v === 'string' || typeof v === 'number') && new Set(vals).size === vals.length) return f; + } + return null; +} + +/** Path segments that identify game objects (they contain '_' or a digit): the scope of a pair. */ +const isScopeSeg = (s) => typeof s === 'string' && /[_\d]/.test(s) && s.length <= 64; +/** A dictionary of records (≥ 6 keys, every value an object): its keys are ids even without '_' ('longrange'). */ +const isDict = (o) => { + const vals = Object.values(o); + return vals.length >= 6 && vals.every((v) => v && typeof v === 'object'); +}; + +/** + * Pair index: Chinese source text (newlines unescaped) → English variants with counts and scopes; plus a template + * index (shape key → [{ zh, en, scope }]) for texts with placeholders. + */ +class PairIndex { + constructor() { + /** @type {Map }>>} */ + this.exact = new Map(); + /** @type {Map }>>} */ + this.plain = new Map(); + /** @type {Map }>>} */ + this.templates = new Map(); + this.pairs = 0; + } + + static add(map, zh, en, scope) { + let m = map.get(zh); + if (!m) { m = new Map(); map.set(zh, m); } + let e = m.get(en); + if (!e) { e = { n: 0, scopes: new Set() }; m.set(en, e); } + e.n++; + for (const s of scope) if (e.scopes.size < 48) e.scopes.add(s); + } + + add(zhRaw, enRaw, scope) { + const zh = unescapeNewlines(zhRaw); + const en = unescapeNewlines(enRaw); + if (!en.trim() || hasCjk(en)) return; + this.pairs++; + PairIndex.add(this.exact, zh, en, scope); + // build-data trims some texts (a tip ends with '\\n' in the table, not in data/config.json) + if (zh.trim() !== zh) PairIndex.add(this.exact, zh.trim(), en.trim(), scope); + const zp = stripRich(zh); + if (zp !== zh) PairIndex.add(this.plain, zp, stripRich(en), scope); + if (hasPlaceholder(zh)) { + const key = shapeKey(zh); + let m = this.templates.get(key); + if (!m) { m = new Map(); this.templates.set(key, m); } + const id = `${zh}\u0000${en}`; + let e = m.get(id); + if (!e) { e = { zh, en, n: 0, scopes: new Set() }; m.set(id, e); } + e.n++; + for (const s of scope) if (e.scopes.size < 48) e.scopes.add(s); + } + } + + /** Walk a zh_CN tree and its EN counterpart together. */ + walk(zh, en, scope = []) { + if (isKvList(zh)) zh = kvMap(zh); + if (isKvList(en)) en = kvMap(en); + if (typeof zh === 'string') { + if (typeof en === 'string' && hasCjk(zh)) this.add(zh, en, scope); + return; + } + if (Array.isArray(zh)) { + if (!Array.isArray(en)) return; + const kf = arrayKeyField(zh); + if (kf && arrayKeyField(en) === kf) { + const byKey = new Map(en.map((x) => [x[kf], x])); + for (const x of zh) { + const y = byKey.get(x[kf]); + if (y !== undefined) this.walk(x, y, isScopeSeg(String(x[kf])) ? [...scope, String(x[kf])] : scope); + } + return; + } + if (zh.length !== en.length) return; // unkeyed arrays of different length cannot be aligned safely + for (let i = 0; i < zh.length; i++) this.walk(zh[i], en[i], scope); + return; + } + if (zh && typeof zh === 'object') { + if (!en || typeof en !== 'object' || Array.isArray(en)) return; + const dict = isDict(zh); + for (const k of Object.keys(zh)) { + if (!Object.prototype.hasOwnProperty.call(en, k)) continue; + this.walk(zh[k], en[k], dict || isScopeSeg(k) ? [...scope, k] : scope); + } + } + } +} + +/** Shape of a text for template lookup: markup stripped, placeholders and numbers folded into one marker. */ +export function shapeKey(s) { + return stripRich(s) + .replace(/\{-?[^{}:]+(?::[^{}]+)?\}/g, '\u0001') + .replace(/[+\-]?\d+(?:\.\d+)?%?/g, '\u0001') + .replace(/[+\-]?\u0001%?/g, '\u0001') + .replace(/\u0001+/g, '\u0001'); +} + +const escapeRe = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + +/** + * Read a resolved text back into the blackboard values of a template: { bb, bbStr } that make + * resolvePlaceholders(template) reproduce `text` exactly, or null. + * @param {string} template + * @param {string} text + */ +export function inverseFormat(template, text) { + const parts = []; + let last = 0; + let re = '^'; + for (const m of template.matchAll(PH)) { + re += escapeRe(template.slice(last, m.index)) + '([\\s\\S]*?)'; + parts.push({ neg: m[1] === '-', key: m[2].trim(), fmt: m[3] || null }); + last = m.index + m[0].length; + } + if (!parts.length) return null; + re += `${escapeRe(template.slice(last))}$`; + let mm; + try { mm = new RegExp(re).exec(text); } catch { return null; } + if (!mm) return null; + const bb = {}; + const bbStr = {}; + for (let i = 0; i < parts.length; i++) { + const { neg, key, fmt } = parts[i]; + const cap = mm[i + 1]; + let v; + if (fmt) { + const pct = fmt.endsWith('%'); + const num = pct ? cap.match(/^(-?\d+(?:\.\d+)?)%$/) : cap.match(/^(-?\d+(?:\.\d+)?)$/); + if (!num) return null; + v = cleanNum(Number(num[1]) / (pct ? 100 : 1)); + } else if (/^-?\d+(?:\.\d+)?(?:e[+-]?\d+)?$/i.test(cap)) { + v = Number(cap); + } else { + if (neg) return null; + bbStr[key] = cap; + continue; + } + if (neg) v = -v; + v = cleanNum(v); + if (Object.prototype.hasOwnProperty.call(bb, key) && bb[key] !== v) return null; + bb[key] = v; + } + if (resolvePlaceholders(template, bb, bbStr) !== text) return null; + return { bb, bbStr }; +} + +// ===== translation of one data text ================================================================================== + +const scoreScopes = (scopes, ctx) => { + let s = 0; + for (const id of ctx.near) if (scopes.has(id)) s += 4; + for (const id of ctx.record) if (scopes.has(id)) s += 1; + return s; +}; + +/** Best English variant of a set: scope match first, then frequency, then text order (deterministic). */ +function bestVariant(variants, ctx) { + let best = null; + for (const [en, e] of variants) { + const cand = { en, score: scoreScopes(e.scopes, ctx), n: e.n }; + if (!best || cand.score > best.score || (cand.score === best.score && (cand.n > best.n || (cand.n === best.n && cand.en < best.en)))) best = cand; + } + return best; +} + +/** + * Translator over the pair index and the fallback dictionary. + */ +class Translator { + /** + * @param {PairIndex} index + * @param {{ name: string, map: Map }[]} fallbacks in order of preference + */ + constructor(index, fallbacks) { + this.index = index; + this.fallbacks = fallbacks; + } + + /** + * @param {string} zh the data text + * @param {{ near: Set, record: Set, bb?: object|null, bbStr?: object|null }} ctx + * @returns {{ en: string, how: string } | null} + */ + translate(zh, ctx) { + const ex = this.index.exact.get(zh); + if (ex) return { en: bestVariant(ex, ctx).en, how: 'exact' }; + // a plain text (build-data strips the markup of `desc`, `text`, card / device descriptions) against stripped sources + if (!RICH.test(zh)) { + const pl = this.index.plain.get(zh); + if (pl) return { en: bestVariant(pl, ctx).en, how: 'exact' }; + } + const tpl = this.template(zh, ctx); + if (tpl) return tpl; + const comp = this.composite(zh, ctx); + if (comp) return comp; + for (const { name, map } of this.fallbacks) { + const fb = map.get(zh); + if (fb) return { en: fb, how: name }; + } + return null; + } + + template(zh, ctx) { + const cands = this.index.templates.get(shapeKey(zh)); + if (!cands) return null; + let best = null; + const plain = !RICH.test(zh); + for (const c of cands.values()) { + const zhT = plain ? stripRich(c.zh) : c.zh; + const inv = inverseFormat(zhT, zh); + if (!inv) continue; + const enT = plain ? stripRich(c.en) : c.en; + const bb = { ...(ctx.bb || {}), ...inv.bb }; + const bbStr = { ...(ctx.bbStr || {}), ...inv.bbStr }; + const en = resolvePlaceholders(enT, bb, bbStr); + if (hasPlaceholder(en) && !hasPlaceholder(zh)) continue; // the English template needs a value the text lacks + const cand = { en, score: scoreScopes(c.scopes, ctx), n: c.n }; + if (!best || cand.score > best.score || (cand.score === best.score && (cand.n > best.n || (cand.n === best.n && cand.en < best.en)))) best = cand; + } + return best ? { en: best.en, how: 'template' } : null; + } + + /** Remake-made composites: stage names "战场#05(下半) 源石流发生装置". */ + composite(zh, ctx) { + const m = zh.match(/^战场#(\d+)(?:\((上半|下半)\))?(?:\s+(.+))?$/); + if (!m) return null; + let en = `Battlefield #${m[1]}`; + if (m[2]) en += m[2] === '上半' ? ' (First Half)' : ' (Second Half)'; + if (m[3]) { + const parts = m[3].split('/').map((p) => this.translate(p.trim(), ctx)); + if (parts.some((p) => !p)) return null; + en += ` ${parts.map((p) => p.en).join(' / ')}`; + } + return { en, how: 'composite' }; + } +} + +// ===== walking the data files ======================================================================================== + +const ID_VALUE = /^[A-Za-z][A-Za-z0-9]*_[A-Za-z0-9_]+$/; + +/** Id-like string values of an object (an `…Id` / `id` / `key` field, or a value shaped like an id), `depth` levels down. */ +function idsOf(obj, depth, out = new Set()) { + if (!obj || typeof obj !== 'object' || depth < 0) return out; + for (const [k, v] of Array.isArray(obj) ? obj.entries() : Object.entries(obj)) { + if (typeof v === 'string') { + if (v.length <= 64 && (ID_VALUE.test(v) || (typeof k === 'string' && /(?:^id|Id|^key)$/.test(k) && /^[A-Za-z][\w-]*$/.test(v)))) out.add(v); + } else if (v && typeof v === 'object') idsOf(v, depth - 1, out); + } + return out; +} + +/** Kind of a leaf for the coverage report. */ +function kindOf(file, path) { + if (file === 'chess' || file === 'backups') { + const keys = path.filter((k) => typeof k === 'string'); + if (keys.some((k) => k === 'talentChanges' || k === 'talents' || k === 'talentsBase')) return 'talents'; + if (keys.some((k) => k === 'modules' || k === 'module' || k === 'moduleNames')) return 'modules'; + if (keys.some((k) => k === 'skills' || k === 'skill')) return 'skills'; + if (keys.some((k) => k === 'trait' || k === 'traitBase')) return 'traits'; + return 'operators'; + } + return file; +} + +const isNotePath = (path) => path.some((k) => typeof k === 'string' && NOTE_KEYS.has(k)) + || (typeof path[path.length - 1] === 'string' && NOTE_LEAF_KEYS.has(path[path.length - 1])); + +/** + * Translate every Chinese text of one record. Raw/plain pairs (descRaw/desc, textRaw/text, moduleDescRaw/moduleDesc, + * effectDescRaw/effectDesc): the raw text is translated, the plain one is its stripped translation when it is the + * stripped Chinese raw text (as build-data writes it). + */ +function translateRecord(file, id, record, tr, stats, samples) { + const leaves = []; + const recordIds = idsOf(record, 3); + recordIds.add(id); + // data/*.json is the 下半 season (act2autochess): its wording wins a tie with the 上半 one (the `act2` sub-tree) + recordIds.add(SEASON_SCOPE); + const visit = (node, path, nearIds) => { + if (!node || typeof node !== 'object') return; + const arr = Array.isArray(node); + const near = arr ? nearIds : new Set([...nearIds, ...idsOf(node, 0)]); + const done = new Map(); + const keys = arr ? node.map((_, i) => i) : Object.keys(node); + const ordered = arr ? keys : [...keys.filter((k) => k.endsWith('Raw')), ...keys.filter((k) => !k.endsWith('Raw'))]; + for (const k of ordered) { + const v = node[k]; + const p = [...path, k]; + if (typeof v !== 'string') { if (v && typeof v === 'object') visit(v, p, near); continue; } + if (!hasCjk(v)) continue; + const kind = kindOf(file, p); + if (isNotePath(p)) { stats.note(kind); continue; } + let res = null; + const rawKey = `${k}Raw`; + if (!arr && !k.endsWith('Raw') && typeof node[rawKey] === 'string' && done.has(rawKey) && stripRich(node[rawKey]) === v) { + const r = done.get(rawKey); + res = { en: stripRich(r.en), how: r.how }; + } + if (!res) { + const bb = arr ? null : node.bb && typeof node.bb === 'object' ? { duration: node.duration, ...node.bb } : (Number.isFinite(node.duration) ? { duration: node.duration } : null); + res = tr.translate(v, { near, record: recordIds, bb, bbStr: arr ? null : node.bbStr || null }); + } + if (res) { + done.set(k, res); + leaves.push({ path: p, zh: v, en: res.en, kind, key: arr ? path[path.length - 1] : k }); + stats.hit(kind, res.how); + } else { + stats.miss(kind, v); + const list = samples[kind] || (samples[kind] = []); + if (list.length < 25) list.push(`${file}.${id}.${p.join('.')}: ${v.slice(0, 80).replace(/\n/g, '⏎')}`); + } + } + }; + visit(record, [], new Set([id])); + return leaves; +} + +/** A record that is a plain string (config `seasonName`). */ +function translateScalar(file, id, text, tr, stats, samples) { + if (!hasCjk(text) || NOTE_KEYS.has(id)) return []; + const kind = kindOf(file, [id]); + const res = tr.translate(text, { near: new Set([id]), record: new Set([id, SEASON_SCOPE]), bb: null, bbStr: null }); + if (!res) { + stats.miss(kind, text); + (samples[kind] || (samples[kind] = [])).push(`${file}.${id}: ${text.slice(0, 80)}`); + return []; + } + stats.hit(kind, res.how); + return [{ path: [], zh: text, en: res.en, kind, key: id }]; +} + +class Stats { + constructor() { this.kinds = {}; this.missing = new Map(); } + row(kind) { return this.kinds[kind] || (this.kinds[kind] = { texts: 0, exact: 0, template: 0, composite: 0, remake: 0, pr70: 0, ui: 0, missing: 0, notes: 0 }); } + hit(kind, how) { const r = this.row(kind); r.texts++; r[how]++; } + miss(kind, text) { + const r = this.row(kind); + r.texts++; + r.missing++; + const m = this.missing.get(text) || { kind, n: 0 }; + m.n++; + this.missing.set(text, m); + } + note(kind) { this.row(kind).notes++; } +} + +// ===== main ========================================================================================================== + +const dictMap = (d) => new Map(Object.entries(d || {}).filter(([k, v]) => !k.startsWith('_') && typeof v === 'string' && v && !hasCjk(v))); + +/** + * Build the overlay. Exported for tests (they pass in-memory tables). + * @param {{ zh: object[], en: object[], data: Record, fallback?: { remake?: object, pr70?: object, ui?: object }, source?: object }} input + * zh / en: the picked sub-trees of TABLES, in order + */ +export function buildOverlay({ zh, en, data, fallback = {}, source = null }) { + const index = new PairIndex(); + for (let i = 0; i < zh.length; i++) index.walk(zh[i], en[i], []); + const tr = new Translator(index, [ + { name: 'remake', map: dictMap(fallback.remake) }, + { name: 'pr70', map: dictMap(fallback.pr70) }, + { name: 'ui', map: dictMap(fallback.ui) }, + ]); + const stats = new Stats(); + const samples = {}; + const files = {}; + const nameVotes = new Map(); // zh → [{ en, prio }] + for (const file of DATA_FILES) { + const json = data[file]; + if (!json || typeof json !== 'object' || Array.isArray(json)) continue; + const out = {}; + for (const [id, record] of Object.entries(json)) { + if (!record || (typeof record !== 'object' && typeof record !== 'string')) continue; + const leaves = typeof record === 'string' ? translateScalar(file, id, record, tr, stats, samples) : translateRecord(file, id, record, tr, stats, samples); + const ov = buildRecordOverlay(leaves.map(({ path, zh: z, en: e }) => ({ path, zh: z, en: e }))); + if (ov) out[id] = ov; + for (const l of leaves) { + // record-level names (and the stand-ins' operator names): what server messages name + const top = l.path.length === 1 + || (file === 'backups' && ((id === 'units' && l.path.length === 2) || (id === 'diy' && l.path[0] === 'operators' && l.path.length === 3))); + if (!top || !NAME_KEYS.has(l.key) || hasCjk(l.en)) continue; + const prio = NAME_PRIORITY.indexOf(file); + const list = nameVotes.get(l.zh) || []; + list.push({ en: l.en, prio: prio < 0 ? 99 : prio }); + nameVotes.set(l.zh, list); + } + } + if (Object.keys(out).length) files[file] = out; + } + const names = {}; + const nameConflicts = []; + for (const zhName of [...nameVotes.keys()].sort()) { + const votes = nameVotes.get(zhName).sort((a, b) => a.prio - b.prio || (a.en < b.en ? -1 : a.en > b.en ? 1 : 0)); + names[zhName] = votes[0].en; + const distinct = [...new Set(votes.map((v) => v.en))]; + if (distinct.length > 1) nameConflicts.push(`${zhName} → ${distinct.join(' | ')}`); + } + const coverage = {}; + let total = 0, translated = 0, official = 0; + for (const [kind, r] of Object.entries(stats.kinds).sort()) { + const ok = r.exact + r.template + r.composite + r.remake + r.pr70 + r.ui; + coverage[kind] = { ...r, translated: ok, pct: r.texts ? Math.round((ok / r.texts) * 1000) / 10 : 100 }; + total += r.texts; translated += ok; official += r.exact + r.template + r.composite; + } + const overlay = { + version: OVERLAY_VERSION, + lang: 'en', + meta: { + generator: 'tools/build-i18n.mjs', + source: source || null, + fallback: 'tools/i18n/fallback-remake.json (the remake), tools/i18n/fallback-pr70.json (PR #70 by @YuriRestia), public/i18n/en.json', + coverage: Object.fromEntries(Object.entries(coverage).map(([k, v]) => [k, { texts: v.texts, translated: v.translated, official: v.exact + v.template + v.composite, pct: v.pct }])), + totals: { texts: total, translated, official, pct: total ? Math.round((translated / total) * 1000) / 10 : 100 }, + }, + names, + files, + }; + const missing = [...stats.missing].sort((a, b) => (a[1].kind < b[1].kind ? -1 : a[1].kind > b[1].kind ? 1 : a[0] < b[0] ? -1 : 1)) + .map(([text, m]) => ({ kind: m.kind, n: m.n, text })); + return { overlay, report: { coverage, totals: overlay.meta.totals, pairs: index.pairs, nameConflicts, untranslated: samples, missing } }; +} + +async function main() { + let opts; + try { opts = parseArgs(process.argv.slice(2)); } catch (e) { console.error(`build-i18n: ${e.message}`); process.exit(2); } + const log = (...a) => { if (!opts.quiet) console.log(...a); }; + const src = EN_SOURCES[opts.source]; + log(`build-i18n: EN tables from ${src.label}`); + const zh = []; + const en = []; + for (const t of TABLES) { + const zj = await loadTable(opts.cache, ZH_URL, t.rel, { refresh: false, offline: opts.offline, log }); + const ej = await loadTable(opts.cacheEn, src.url, t.rel, { refresh: opts.refresh, offline: opts.offline, log }); + zh.push(t.pick ? t.pick(zj) : zj); + en.push(t.pick ? t.pick(ej) : ej); + } + const seasonEn = en[0]?.act2 ? 'act2autochess' : en[0]?.act1 ? 'act1autochess' : 'none (no 盟约 season in this EN build)'; + let version = null; + const versionFile = join(opts.cacheEn, 'excel', 'data_version.txt'); + if (!opts.offline && (opts.refresh || !existsSync(versionFile))) { + try { + const res = await fetch(`${src.url}excel/data_version.txt`, { signal: AbortSignal.timeout(30_000) }); + if (res.ok) { await mkdir(dirname(versionFile), { recursive: true }); await writeFile(versionFile, await res.text()); } + } catch { /* optional */ } + } + try { version = (await readFile(versionFile, 'utf8')).trim(); } catch { /* optional */ } + const data = {}; + for (const f of DATA_FILES) { + const abs = join(opts.data, `${f}.json`); + if (existsSync(abs)) data[f] = JSON.parse(await readFile(abs, 'utf8')); + } + const readDict = async (abs) => (existsSync(abs) ? JSON.parse(await readFile(abs, 'utf8')) : {}); + const fallback = { + remake: await readDict(join(ROOT, 'tools', 'i18n', 'fallback-remake.json')), + pr70: await readDict(join(ROOT, 'tools', 'i18n', 'fallback-pr70.json')), + ui: await readDict(join(ROOT, 'public', 'i18n', 'en.json')), + }; + const { overlay, report } = buildOverlay({ zh, en, data, fallback, source: { id: opts.source, label: src.label, home: src.home, season: seasonEn } }); + + // self-check: applying the overlay keeps every record's shape (strings replace strings only) + let applied = 0; + for (const [file, fov] of Object.entries(overlay.files)) { + const r = applyFileOverlay(data[file], fov); + applied += r.applied; + if (r.stale) throw new Error(`overlay of ${file} does not apply cleanly (${r.stale} stale leaves)`); + } + const text = `${JSON.stringify(overlay)}\n`; + const rep = { ...report, source: overlay.meta.source, enDataVersion: version, applied, bytes: Buffer.byteLength(text) }; + await mkdir(dirname(opts.report), { recursive: true }); + await writeFile(opts.report, `${JSON.stringify(rep, null, 1)}\n`); + log(` season in the EN build: ${seasonEn}${version ? ` · ${version.replace(/\s+/g, ' ')}` : ''}`); + log(` ${report.pairs} zh→en source pairs; coverage per kind (translated / texts):`); + for (const [kind, c] of Object.entries(report.coverage)) { + const fb = [c.remake && `remake ${c.remake}`, c.pr70 && `PR #70 ${c.pr70}`, c.ui && `UI ${c.ui}`].filter(Boolean).join(' · '); + log(` ${kind.padEnd(10)} ${String(c.translated).padStart(5)} / ${String(c.texts).padEnd(5)} ${String(c.pct).padStart(5)} % official ${c.exact + c.template + c.composite} (exact ${c.exact} · template ${c.template} · composite ${c.composite})${fb ? ` · ${fb}` : ''}${c.notes ? ` · notes skipped ${c.notes}` : ''}`); + } + log(` total ${report.totals.translated} / ${report.totals.texts} (${report.totals.pct} %), official ${report.totals.official}; ${Object.keys(overlay.names).length} names (${report.nameConflicts.length} with several English forms)`); + if (opts.check) { + const cur = existsSync(opts.out) ? await readFile(opts.out, 'utf8') : ''; + if (cur !== text) { console.error(`build-i18n --check: ${relative(ROOT, opts.out)} is out of date (run node tools/build-i18n.mjs)`); process.exit(1); } + log(` ${relative(ROOT, opts.out)} is up to date`); + return; + } + await mkdir(dirname(opts.out), { recursive: true }); + const tmp = `${opts.out}.tmp-${process.pid}`; + await writeFile(tmp, text); + await rename(tmp, opts.out); + log(` wrote ${relative(ROOT, opts.out)} (${(rep.bytes / 1024).toFixed(0)} KB); report ${relative(ROOT, opts.report)}`); +} + +if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) { + main().catch((e) => { console.error(`build-i18n: ${e.stack || e.message}`); process.exit(1); }); +} diff --git a/tools/i18n/fallback-pr70.json b/tools/i18n/fallback-pr70.json new file mode 100644 index 00000000..22f9776a --- /dev/null +++ b/tools/i18n/fallback-pr70.json @@ -0,0 +1,76 @@ +{ + "_about": "Fallback English for data/*.json texts the official EN tables lack (tools/build-i18n.mjs step 5). Taken from GitHub PR #70 (branch en-translation) by @YuriRestia, reused with credit (the owner's decision of 2026-10-05; NOTICE.md). Entries PR #70 took from ak-spa-database.pages.dev (no licence) are not included. Regenerate the list of untranslated texts with node tools/build-i18n.mjs (report: .cache/build-i18n-report.json `missing`).", + "“新车和新生活”": "\"New Car, New Life\"", + "“独属自己的一隅”": "\"A Corner of One's Own\"", + "“老朋友”": "\"Old Friend\"", + "【炎】6名成员激活时召唤的友方单位;开战时攻击力/生命值增加【炎】干员攻击力/生命值总和的30%(见 bonds.json yanShip)": "A friendly unit summoned when 6 members of [Yan] are active; at battle start, ATK/HP increased by 30% of the total ATK/HP of [Yan] Operators (see bonds.json yanShip)", + "伤心": "Sad", + "再见!": "Bye!", + "剑舞": "Sword Dance", + "博士士 1": "Doctor-tor 1", + "博士士 2": "Doctor-tor 2", + "博士士 3": "Doctor-tor 3", + "博士士 4": "Doctor-tor 4", + "博士士 5": "Doctor-tor 5", + "博士士 6": "Doctor-tor 6", + "合作愉快": "Nice teamwork", + "合作愉快!": "Nice teamwork!", + "在<@ba.kw>生息演算中,首次开启技能后,生命上限、攻击力、防御力提升至150%": "In <@ba.kw>Reclamation Algorithm, after the skill is activated for the first time, Max HP, ATK, and DEF increase to 150%", + "在<@ba.kw>集成战略中,自身和<替身>造成的物理和法术伤害提升40%,受到的物理和法术伤害减少40%": "In <@ba.kw>Integrated Strategies, Physical and Arts damage dealt by self and the +40%, Physical and Arts damage taken -40%", + "在生息演算中,首次开启技能后,生命上限、攻击力、防御力提升至150%": "In Reclamation Algorithm, after the skill is activated for the first time, Max HP, ATK, and DEF increase to 150%", + "在集成战略中,自身和<替身>造成的物理和法术伤害提升40%,受到的物理和法术伤害减少40%": "In Integrated Strategies, Physical and Arts damage dealt by self and the +40%, Physical and Arts damage taken -40%", + "害怕": "Scared", + "对不起": "Sorry", + "对不起!": "Sorry!", + "对敌方领袖造成伤害最高(仅胜利时)": "Highest damage dealt to the Enemy Leader (victory only)", + "开心": "Happy", + "归溟幽灵鲨特限证章": "Skadi the Corrupting Heart Limited Badge", + "很快就好!": "Almost done!", + "快死了": "Dying", + "思考": "Thinking", + "战场#04 活性源石": "Battlefield #04 Active Originium", + "战场#05(上半) 涨潮/特制水上平台": "Battlefield #05 (First Half) High Tide/Special Water Platform", + "战场#07(下半) 排气格栅": "Battlefield #07 (Second Half) Exhaust Grille", + "攻击力+8%,攻击被<$ba.tremble>战栗的目标时,无视目标33%的防御力,地面敌人首次进入自身攻击范围时,使其<$ba.tremble>战栗6秒": "ATK +8%; when attacking <$ba.tremble>Trembling targets, ignores 33% of the target's DEF; when a ground enemy first enters Attack Range, inflicts <$ba.tremble>Tremble on it for 6 seconds", + "攻击力+8%,攻击被战栗的目标时,无视目标33%的防御力,地面敌人首次进入自身攻击范围时,使其战栗6秒": "ATK +8%; when attacking Trembling targets, ignores 33% of the target's DEF; when a ground enemy first enters Attack Range, inflicts Tremble on it for 6 seconds", + "攻击命中生命值在80%以上的敌人时,3秒内异客对其造成的伤害提升20%;在<@ba.kw>生息演算中,每10秒选择场上5个目标进行雷击(密集的目标更易被选中),对范围内所有单位造成异客攻击力500%的法术伤害,并获得该范围内的视野12秒,使命中的友方单位获得2点技力": "When hitting an enemy with more than 80% HP, Passenger deals 20% more damage to it for 3 seconds; in <@ba.kw>Reclamation Algorithm, every 10 seconds strikes 5 targets on the field with lightning (dense targets are more likely to be chosen), dealing Arts damage equal to 500% of Passenger's ATK to all units in the area, granting vision of that area for 12 seconds, and giving hit friendly units 2 SP", + "攻击命中生命值在80%以上的敌人时,3秒内异客对其造成的伤害提升20%;在生息演算中,每10秒选择场上5个目标进行雷击(密集的目标更易被选中),对范围内所有单位造成异客攻击力500%的法术伤害,并获得该范围内的视野12秒,使命中的友方单位获得2点技力": "When hitting an enemy with more than 80% HP, Passenger deals 20% more damage to it for 3 seconds; in Reclamation Algorithm, every 10 seconds strikes 5 targets on the field with lightning (dense targets are more likely to be chosen), dealing Arts damage equal to 500% of Passenger's ATK to all units in the area, granting vision of that area for 12 seconds, and giving hit friendly units 2 SP", + "攻击时有25%的几率使目标<$ba.root>束缚1.5秒,首次命中敌人时提升至100%且<$ba.root>束缚时间提升至3秒": "Attacks have a 25% chance to <$ba.root>Bind the target for 1.5 seconds; the first hit on each enemy has a 100% chance and the <$ba.root>Bind duration is increased to 3 seconds", + "攻击时有25%的几率使目标束缚1.5秒,首次命中敌人时提升至100%且束缚时间提升至3秒": "Attacks have a 25% chance to Bind the target for 1.5 seconds; the first hit on each enemy has a 100% chance and the Bind duration is increased to 3 seconds", + "攻击范围内存在已受伤的友方干员时,自身造成的伤害提升至110%": "When there is an injured allied Operator within Attack Range, damage dealt increases to 110%", + "攻击范围内存在已受伤的友方干员时,自身造成的伤害提升至<@ba.kw>110%": "When there is an injured allied Operator within Attack Range, damage dealt increases to <@ba.kw>110%", + "敬礼!": "Salute!", + "新合同": "New Contract", + "晋升精锐次数最多": "Most Elite promotions", + "欢呼!": "Cheers!", + "欲雪时": "When Snow Is Coming", + "沟通小助手": "Little Communication Helper", + "没问题!": "No problem!", + "消耗资金最多": "Most Funds spent", + "激活的盟约层数总和最高": "Highest total activated Alliance Stacks", + "甄选干员": "Selected Operator", + "百炼嘉维尔特限证章": "Gavial the Invincible Limited Badge", + "目标生命值损失最少": "Least LP lost", + "策略【不稳定要素】(昆图斯)": "Strategy [Unstable Element] (Quintus)", + "米米子 1": "Mimiko 1", + "米米子 2": "Mimiko 2", + "米米子 3": "Mimiko 3", + "米米子 4": "Mimiko 4", + "米米子 5": "Mimiko 5", + "米米子 6": "Mimiko 6", + "维维美 1": "Wiwime 1", + "维维美 2": "Wiwime 2", + "维维美 3": "Wiwime 3", + "维维美 4": "Wiwime 4", + "维维美 5": "Wiwime 5", + "维维美 6": "Wiwime 6", + "表情套组:博士士": "Emote Set: Doctor-tor", + "表情套组:米米子": "Emote Set: Mimiko", + "表情套组:维维美": "Emote Set: Wiwime", + "装备配发数量最多": "Most Equipment equipped", + "谢谢": "Thanks", + "谢谢!": "Thanks!", + "造成伤害时有30%概率对敌人施加灼痕效果:攻击力-20%、38%的<$ba.magicfragile>【法术脆弱】,不可叠加持续8秒": "When dealing damage, 30% chance to inflict Scorch on the enemy: ATK -20% and 38% <$ba.magicfragile>[Arts Fragility], non-stackable, lasts 8 seconds", + "造成伤害时有30%概率对敌人施加灼痕效果:攻击力-20%、38%的【法术脆弱】,不可叠加持续8秒": "When dealing damage, 30% chance to inflict Scorch on the enemy: ATK -20% and 38% [Arts Fragility], non-stackable, lasts 8 seconds", + "酷!": "Cool!" +} diff --git a/tools/i18n/fallback-remake.json b/tools/i18n/fallback-remake.json new file mode 100644 index 00000000..bb004a02 --- /dev/null +++ b/tools/i18n/fallback-remake.json @@ -0,0 +1,11 @@ +{ + "_about": "Fallback English for the remake's own data texts (names and notes tools/build-data.mjs writes; no official counterpart). Official EN terms where they exist: 'Active Originium', 'High Tide', 'Mutated Cells', 'Rockrock', 'Stronghold Protocol: Alliance' (the EN activity name). '排气格栅' follows PR #70's wording (no official EN occurrence found).", + "卫戍协议:盟约": "Stronghold Protocol: Alliance", + "活性源石": "Active Originium", + "涨潮": "High Tide", + "排气格栅": "Exhaust Grille", + "联防阵地(1名玩家)": "Unite Field (1 player)", + "联防阵地(2名玩家)": "Unite Field (2 players)", + "维多利亚盟约每25层 / 洛洛的定制品": "Victoria Alliance (every 25 stacks) / Rockrock's custom items", + "生效时原干员销毁,突变细胞与其他装备退回整备区,可再次配发;随后获得一名高一阶的随机初始干员(最高6阶),进入整备区,需要重新部署": "When it takes effect, the Operator is destroyed and the Mutated Cells and other equipment return to the Bench, ready to be equipped again; then a random starting Operator one Tier higher (up to Tier 6) joins the Bench and has to be deployed again" +} From a12a539e4d27fcff88edbfdbc8f176b5bd5f79bd Mon Sep 17 00:00:00 2001 From: sganggs Date: Mon, 5 Oct 2026 20:19:58 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feedback5=20WI:=20UI=20strings=20through=20?= =?UTF-8?q?t()=20with=20an=20English=20switch=20on=20the=20title=20screen?= =?UTF-8?q?=20and=20in=20=E8=AE=BE=E7=BD=AE;=20pilot=20screens=20converted?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit public/i18n/en.json: Chinese msgid -> English, seeded from PR #70 (@YuriRestia, credited) for every Chinese literal of the current code (≈830 entries; 966 of the 1 036 literals left for phase 2 already translated), completed by hand in the official EN terms. public/js/ui/lang.js: boot language (?lang=en|zh, then localStorage sp.pref.lang, else Chinese; the browser language is not consulted), switchLang, useLang, LangToggle; main.js renders after initLang and re-renders in place on a switch, and translates server texts (m.toast / m.ticker frames, room.closed reasons, error codes via ui/toasts.js describeError). Converted: title screen (English title, wordmark hidden), lobby, room, settings (语言 row, On/Off, quality, hotkeys), the shell (crash screen, toasts) and DifficultyTag. tools/i18n.mjs: extract (msgids + untranslated literals per file), check (msgids missing from en.json), codemod (html`` text / attributes / strings / template literals -> t(), nested strings, N_ for module level, i18n-ignore lines), seed (fill en.json from a msgid map). --- public/css/screens/title.css | 6 + public/i18n/en.json | 849 +++++++++++++++++++++++++++++++++++ public/js/main.js | 43 +- public/js/screens/lobby.js | 130 +++--- public/js/screens/room.js | 112 ++--- public/js/screens/title.js | 39 +- public/js/ui/components.js | 3 +- public/js/ui/lang.js | 170 +++++++ public/js/ui/settings.js | 39 +- public/js/ui/toasts.js | 16 +- test/i18n.test.js | 162 +++++++ test/ui/i18n.e2e.test.js | 72 +++ tools/i18n.mjs | 632 ++++++++++++++++++++++++++ 13 files changed, 2102 insertions(+), 171 deletions(-) create mode 100644 public/i18n/en.json create mode 100644 public/js/ui/lang.js create mode 100644 test/i18n.test.js create mode 100644 test/ui/i18n.e2e.test.js create mode 100644 tools/i18n.mjs diff --git a/public/css/screens/title.css b/public/css/screens/title.css index 63357d95..1805b46c 100644 --- a/public/css/screens/title.css +++ b/public/css/screens/title.css @@ -192,6 +192,8 @@ animation: rise-in 600ms 140ms var(--ease-out) backwards; } .title-cn__colon { color: #f4f6f5; } +/* English title (ui/lang.js): the display face, smaller so "Stronghold Protocol: Alliance" fits one line */ +.title-cn--latin { font-family: var(--font-display); font-size: .6rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; } .title-cn em { font-style: normal; color: var(--mint-500); text-shadow: 0 0 .26rem rgba(23, 249, 183, .45); } .title-tag { margin-top: .12rem; @@ -241,6 +243,10 @@ .title-invite .icon { width: .2rem; height: .2rem; } .title-invite b { font-size: .2rem; letter-spacing: .2em; color: #ffd08a; } .title-conn { display: flex; align-items: center; justify-content: center; gap: .1rem; min-height: .32rem; font-size: .14rem; color: var(--text-lo); } +/* language switch (中文 | English) in the top-right corner */ +.title-lang { display: inline-flex; margin-bottom: .1rem; } +.title-lang button { min-width: .74rem; height: .3rem; font-size: .14rem; cursor: pointer; } +html[data-lang="en"] .title-login .btn--xl { letter-spacing: .3em; } .title-conn .ping { height: .26rem; font-size: .15rem; } .title-foot { diff --git a/public/i18n/en.json b/public/i18n/en.json new file mode 100644 index 00000000..411a899b --- /dev/null +++ b/public/i18n/en.json @@ -0,0 +1,849 @@ +{ + "_about": "English UI strings: Chinese msgid → English (shared/i18n.js t(); docs/I18N.md). Placeholders {name} and {n|one|other} as in the msgid; a 'context::msgid' key is a tc() variant. Seeded from GitHub PR #70 (branch en-translation) by @YuriRestia, reused with credit (NOTICE.md). Game texts are not here: data/i18n/en.json (tools/build-i18n.mjs).", + "你已在其他同盟中,请先离开当前同盟": "You are already in another Alliance. Leave it first.", + "你已不在该同盟中": "You are no longer in this Alliance", + "创建者已离开,同盟已解散": "The host left. The Alliance has been disbanded.", + "由于长时间断开连接,你已离开同盟": "You left the Alliance after being disconnected for too long", + "同盟已解散": "The Alliance has been disbanded", + "你已被移出同盟": "You were removed from the Alliance", + "模拟已结束": "Simulation Over", + "同盟已过期": "The Alliance has expired", + "服务器维护中,同盟已关闭": "Server maintenance in progress. The Alliance has been closed.", + "该身份已在其他页面登录,本页已断开": "This identity signed in on another page. This page has been disconnected.", + "同盟已关闭:{reason}": "Alliance closed: {reason}", + "同盟已关闭": "Alliance closed", + "界面发生错误": "An interface error occurred", + "重新加载界面": "Reload Interface", + "启动失败,请刷新页面重试": "Failed to start. Please refresh the page and try again.", + "时长较短的模拟训练": "A shorter simulation exercise", + "可以快速完成作战": "Battles can be completed quickly", + "常规奖励": "Standard rewards", + "敌方攻击强度较高的模拟训练": "A simulation exercise with high enemy strength", + "可使用盟约数增加": "More Alliances available", + "大幅增加奖励": "Greatly increased rewards", + "敌方攻击强度极高的模拟训练": "A simulation exercise with very high enemy strength", + "作战环境困难": "Harsh combat environment", + "出现更加危险的敌人": "More dangerous enemies appear", + "敌方攻击强度到达极限的模拟训练": "A simulation exercise with enemy strength pushed to the limit", + "作战环境无比困难": "Extremely harsh combat environment", + "出现极度危险的敌人": "Extremely dangerous enemies appear", + "敌方攻击强度较低的模拟训练": "A simulation exercise with low enemy strength", + "作战环境较为温和": "Mild combat environment", + "战场固定为 {name}": "Fixed Battlefield: {name}", + "战场固定": "Fixed Battlefield", + "战场随机(共{n}张)": "Random Battlefield ({n} total)", + "战场随机(共{stages}张)": "Random Battlefield ({stages} total)", + "独立模拟": "Solo Simulation", + "独自调配资金与干员,以自己的节奏完成整场模拟。": "Manage your own Funds and Operators and play the whole simulation at your own pace.", + "1 名博士": "1 Doctor", + "休整期与机变阶段不限时": "No time limit in the Rest Phase and Improv Phase", + "同盟模拟": "Team Simulation", + "联防阶段 · 最终攻势合并生命值": "Unite Phase · Shared LP from the Final Assault", + "联合模拟在选择策略时可以进行一次跳过": "In Team Simulation, you can skip once when choosing a Strategy", + "调度中心即使冻结,依然可以主动刷新": "Even when frozen, the Dispatch Center can still be refreshed manually", + "两件同名装备可以合成一件更强力的装备": "Two identical pieces of Equipment can be combined into a stronger one", + "只有达成完美作战的队友可以进行联防": "Only Teammates who achieve a Perfect Battle can Unite", + "作战提示": "Combat Tips", + "上一条": "Previous tip", + "下一条": "Next tip", + "已选定": "Selected", + "回合": "Round", + "+ 隐秘核心": "+ Hidden Core", + "尚未连接到服务器,请稍候": "Not connected to the server yet, please wait", + "同盟密钥为 {ROOM_CODE_LEN} 位字母或数字": "The Alliance Key is {ROOM_CODE_LEN} letters or digits", + "返回标题": "Back to Title", + "返回": "Back", + "选择模拟协议": "Select Simulation Protocol", + "玩法说明": "How to Play", + "干员调配": "Operator Loadout", + "博士": "Doctor", + "模拟方式": "Mode", + "加入同盟": "Join Alliance", + "输入同盟密钥 / 粘贴邀请链接": "Enter Alliance Key / paste invite link", + "观战": "Spectate", + "最近的同盟": "Recent Alliances", + "向同伴索取 {ROOM_CODE_LEN} 位同盟密钥,或直接打开邀请链接": "Ask a teammate for the {ROOM_CODE_LEN}-character Alliance Key, or open the invite link directly", + "模拟难度": "Difficulty", + "正在连接服务器…": "Connecting to server...", + "开始独立模拟": "Start Solo Simulation", + "创建同盟": "Create Alliance", + "创建后即可开始模拟": "You can start the simulation right after creating it", + "创建后可邀请好友或添加 AI 队友": "After creating, invite friends or add AI Teammates", + "等待博士加入": "Waiting for a Doctor", + "添加 AI 队友": "Add AI Teammate", + "空位": "Empty", + "创建者": "Host", + "AI 队友": "AI Teammate", + "你": "You", + "已就绪": "Ready", + "连接中断": "Disconnected", + "待命中": "Standing by", + "准备中": "Preparing", + "移除该 AI 队友": "Remove this AI Teammate", + "移除 AI 队友": "Remove AI Teammate", + "已复制同盟密钥 {code}": "Alliance Key {code} copied", + "已复制邀请链接": "Invite link copied", + "复制失败,请手动复制": "Copy failed, please copy manually", + "同盟密钥": "Alliance Key", + "同盟密钥 {code}": "Alliance Key {code}", + "复制密钥": "Copy Key", + "复制链接": "Copy Link", + "由创建者选择": "Chosen by the Host", + "连接中断,请稍候重试": "Connection lost, please try again shortly", + "离开同盟": "Leave Alliance", + "你是同盟的创建者,离开后创建者身份将移交或同盟解散。确定离开吗?": "You are the Host of this Alliance. If you leave, host duties will be handed over or the Alliance will disband. Leave anyway?", + "离开": "Leave", + "连接中断,正在重连…": "Connection lost, reconnecting...", + "*模拟协议已就绪,准许进入模拟": "*Protocol ready to deploy", + "*同盟人数达标,准许进入模拟": "*Alliance ready to deploy", + "等待所有博士准备就绪": "Waiting for all Doctors to be ready", + "已就绪 · 等待创建者开始模拟": "Ready · waiting for the Host", + "准备就绪后,创建者即可开始模拟": "Get ready so the Host can start", + "当前延迟": "Current Ping", + "仅限 1 名博士": "1 Doctor only", + ",满足条件时进入隐秘核心": "; the Hidden Core is entered when conditions are met", + "独立模拟中休整期与机变阶段不限时": "In Solo Simulation, the Rest Phase and Improv Phase have no time limit", + "仍有博士未准备就绪": "Some Doctors are not ready yet", + "开始模拟": "Start Simulation", + "准备就绪": "Ready", + "准备连接": "Ready to connect", + "正在连接服务器": "Connecting to server", + "已连接服务器": "Connected to server", + "正在验证身份": "Verifying identity", + "连接中断,正在重连": "Connection lost, reconnecting", + "连接已关闭": "Connection closed", + "请输入博士代号": "Please enter your Doctor callsign", + "卫戍协议": "Stronghold Protocol", + "盟约": "Alliance", + "调配资金与干员,与同伴协同布防,抵御多波次进攻,直至击败敌方领袖。": "Allocate Funds and Operators, coordinate defenses with your allies, hold off wave after wave, and defeat the Enemy Leader.", + "收到同盟邀请": "Alliance invite received", + "· 输入代号后将自动加入": "· You'll join automatically after entering your callsign", + "博士代号": "Doctor Callsign", + "输入你的代号(最多 {NAME_MAX_LEN} 字)": "Callsign (max {NAME_MAX_LEN} chars)", + "开始": "Start", + "非官方同人复刻 · 游戏素材版权归 上海鹰角网络 / Yostar 所有": "Unofficial fan remake · Game assets © Hypergryph / Yostar", + "高": "High", + "中": "Medium", + "低": "Low", + "刷新": "Refresh", + "冻结": "Freeze", + "升级": "Upgrade", + "设置": "Settings", + "完成": "Done", + "背景音乐": "Music", + "音效": "Sound Effects", + "静音": "Mute", + "显示伤害数字": "Damage Numbers", + "画面质量": "Graphics Quality", + "触屏操作:点击单位选中(撤退 / 出售)· 长按单位或卡牌查看详情 · 拖动部署后滑动选择朝向": "Touch controls: tap a unit to select it (Retreat / Sell) · long-press a unit or card for details · after dragging to deploy, swipe to choose a direction", + "快捷键:": "Hotkeys: ", + "发生未知错误": "An unknown error occurred", + "标准模拟": "Standard Simulation", + "险境模拟": "Perilous Simulation", + "绝境模拟": "Dire Simulation", + "终极模拟": "Ultimate Simulation", + "无效的请求": "Invalid request", + "操作过于频繁": "Too many actions, slow down", + "你不在房间中": "You are not in a room", + "未找到该同盟密钥对应的房间": "No room found for this Alliance Key", + "房间已满": "Room is full", + "模拟已开始": "Simulation already started", + "只有房主可以操作": "Only the host can do that", + "仍有玩家未就绪": "Some players are not ready", + "当前阶段无法进行该操作": "Cannot do that in this phase", + "资金不足": "Insufficient Funds", + "整备区已满": "Bench is full", + "已达到部署上限": "Deployment limit reached", + "无法部署在该位置": "Cannot deploy here", + "无效的目标": "Invalid target", + "已售出": "Sold Out", + "调度中心已达最高等级": "Dispatch Center is at max level", + "尚未轮到你": "It is not your turn yet", + "已完成该操作": "Already done", + "临时整备区不为空": "Temporary Bench is not empty", + "你已被淘汰": "You have been eliminated", + "服务器内部错误": "Internal server error", + "请求超时,请重试": "Request timed out. Please try again.", + "未连接到服务器": "Not connected to the server", + "连接已断开,请重试": "Connection lost. Please try again.", + "该身份已在其他页面登录": "This identity is signed in on another page", + "客户端版本与服务器不一致,请刷新页面": "Client version does not match the server. Please refresh the page.", + "队友": "Teammate", + "该队友已被淘汰,无法查看": "This Teammate has been eliminated and cannot be viewed", + "该队友当前没有战场": "This Teammate has no Battlefield right now", + "队友与你在同一战场,使用 ‹ › 切换视角": "Your Teammate is on your Battlefield. Use ‹ › to switch views.", + "无法查看另一组队友的战场": "Cannot view the other pair's Battlefield", + "作战中无法查看队友,作战结束后可前往查看": "Cannot view Teammates during Battle. You can view them once your Battle ends.", + "无人在家": "Nobody Home", + "你自己": "You", + "全景": "Overview", + "未知错误": "Unknown error", + "战场": "Battlefield", + "本局禁用": "Disabled this match", + "{skip};本局不限时": "{skip}; no time limit this match", + "每位博士有 {0} 秒": "each Doctor has {0} s", + "每位博士限时决策": "each Doctor has a time limit", + "当前选中的": "the currently highlighted ", + "已选择「{0}」{1}": "Selected \"{0}\"{1}", + ",等待其他博士": ", waiting for other Doctors", + "轮到你决策": "Your turn to decide", + "{turnName} 决策中": "{turnName} is deciding", + "等待轮到你": "Waiting for your turn", + "华法琳": "Warfarin", + "选择策略": "Choose Strategy", + "查看禁用盟约与干员": "View disabled Alliances & Operators", + "策略": "Strategy", + "决策顺序": "Pick Order", + "已选择": "Selected", + "决策中": "Deciding", + "等待中": "Waiting", + "队友已选": "Taken by a Teammate", + "初始生命值": "Initial LP", + "选择一个策略查看详情": "Select a Strategy to view details", + "队友已选,请选择其他策略": "Taken by a Teammate, please choose another Strategy", + "{turnName} 正在决策…": "{turnName} is deciding...", + "跳过本轮,稍后再选": "Skip this turn and pick later", + "跳过次数已用完": "No skips left", + "(已用)": " (used)", + "确认选择": "Confirm", + "战场随机(共{poolN}张)": "Random Battlefield ({poolN} total)", + "确认本局信息": "Confirm Match Info", + "ENEMY LEADER // 敌方领袖": "ENEMY LEADER // Enemy Leader", + "第": "Round", + "回合 · 最终攻势": "· Final Assault", + "特训敌人": "Tactical Training Enemies", + "未知领袖": "Unknown Leader", + "本局没有特训敌人": "No Tactical Training Enemies this match", + "本局模拟已结束": "This simulation has ended", + "同盟已返回等待室": "The Alliance has returned to the waiting room", + "返回同盟": "Back to Alliance", + "暂停中": "Paused", + "作战已暂停,计时与敌人行动均已停止": "Battle paused; the timer and enemy actions have stopped", + "放弃模拟": "Abandon Simulation", + "继续作战": "Resume Battle", + "正在载入模拟数据…": "Loading simulation data...", + "正在进入模拟…": "Entering simulation...", + "当前设备无法启用 3D / WebGL 渲染,已切换为简化视图(功能不受影响)": "3D / WebGL rendering is unavailable on this device; switched to a simplified view (all features still work)", + "已配发的装备无法销毁": "Equipped Equipment cannot be destroyed", + "销毁道具": "Destroy Item", + "道具无法出售。确定要销毁「{0}」吗?": "Items cannot be sold. Destroy \"{0}\"?", + "道具": "Item", + "销毁": "Destroy", + "正在查看": "Viewing", + "的阵地(只读)": "'s Field (read-only)", + "返回自己": "Back to Mine", + "你已被淘汰 · 可继续观战队友": "You have been eliminated · You can keep spectating your Teammates", + "已调整": "Customized", + "不装备模组": "No Module", + "未知技能": "Unknown Skill", + "默认": "Default", + "已装备": "Equipped", + "初始": "Initial", + "消耗": "Cost", + "持续": "Duration", + "充能": "Charges", + "不装备模组:精锐干员以基础属性、特性与天赋作战。": "No Module: the Elite Operator fights with its base stats, Trait and Talents.", + "特性": "Trait", + "属性": "Stats", + "无属性加成": "No stat bonus", + "天赋": "Talent", + "局内数值": "In-Match Stats", + "数值版本": "Stat Variant", + "普通": "Normal", + "精锐": "Elite", + "不含技能发动、装备、盟约等局内加成": "excludes in-match bonuses such as skill activation, Equipment and Alliances", + "数值含所选模组;": "Includes the chosen Module; ", + "普通干员没有模组,所选模组在「精锐」中生效;": "Normal Operators have no Module; the chosen Module applies to the [Elite]; ", + "没有符合条件的干员": "No Operators match the filters", + "恢复默认": "Reset to Default", + "技能": "Skill", + "技能等级": "Skill Level", + "选择技能": "Choose Skill", + "默认配置": "Default Loadout", + "模组": "Module", + "仅精锐干员装备 · 模组等级": "Elite Operators only · Module Level", + "选择模组": "Choose Module", + "不装备": "None", + "本局的调配已锁定,修改将在下一局生效": "Loadout is locked for this match; changes will apply next match", + "阶级": "Tier", + "全部": "All", + "搜索干员 / 职业 / 盟约": "Search Operator / Class / Alliance", + "职业": "Class", + "按盟约筛选": "Filter by Alliance", + "全部盟约": "All Alliances", + "仅看已调整": "Customized Only", + "{t}阶": "Tier {t}", + "保存中…": "Saving…", + "同步中…": "Syncing…", + "已同步": "Synced", + "本局已锁定 · 下一局生效": "Locked for this match · applies next match", + "同步失败": "Sync failed", + "全部恢复默认": "Reset All to Default", + "已复制到剪贴板": "Copied to clipboard", + "复制失败,请在文本框中手动全选复制": "Copy failed, please select all in the text box and copy manually", + "文件过大,请选择「导出」下载的调配文件": "File too large. Please choose a loadout file downloaded via [Export]", + "读取文件失败": "Failed to read the file", + "干员数据仍在载入,请稍候再导入": "Operator data is still loading, please wait before importing", + "导入失败:这份数据在当前版本没有可用的调配,未做任何改动": "Import failed: this data has no loadout usable in the current version. Nothing was changed", + "确认本局信息阶段结束前可调整本局配置": "You can adjust this match's loadout until the match briefing ends", + "开始模拟前可调整干员携带的技能与模组,干员等级不可调整": "Before the simulation starts you can change the Skills and Modules your Operators carry; Operator levels cannot be changed", + "返回 (Esc)": "Back (Esc)", + "导出当前调配(可复制或下载)": "Export the current loadout (copy or download)", + "导出": "Export", + "导入调配(粘贴或选择文件)": "Import a loadout (paste or choose a file)", + "导入": "Import", + "调配截止": "Loadout Deadline", + "本局的调配已锁定(确认本局信息后无法修改),修改将在下一局生效": "Loadout is locked for this match (it cannot be changed after the briefing); changes will apply next match", + "正在载入干员数据(打开页面后仅载入一次)…": "Loading Operator data (only once per page load)…", + "干员列表": "Operator List", + "导出干员调配": "Export Operator Loadout", + "导入干员调配": "Import Operator Loadout", + "关闭": "Close", + "复制": "Copy", + "下载文件": "Download File", + "取消": "Cancel", + "选择文件": "Choose File", + "把导出的内容粘贴到下方,或点「选择文件」。": "Paste exported data below, or tap [Choose File]. ", + "覆盖": "overwrite", + "在此粘贴导出的调配内容…": "Paste the exported loadout here…", + "调整干员携带的技能与模组": "Change the Skills and Modules your Operators carry", + "造成伤害": "Damage Dealt", + "击倒敌人": "Enemies Defeated", + "领袖伤害": "Leader Damage", + "盟约层数": "Alliance Stacks", + "晋升次数": "Promotions", + "配发装备": "Equipment Equipped", + "消耗资金": "Funds Spent", + "完美作战": "Perfect Battles", + "刷新次数": "Refreshes", + "未击倒": "Leaks", + "损失生命": "LP Lost", + "阵容已撤离": "Lineup withdrawn", + "获得奖杯": "Trophies earned", + "卫戍认证": "Stronghold Certification", + "评语": "Title", + "最终攻势起全队共享目标生命值": "From the Final Assault on, the whole team shares LP", + "同盟剩余生命": "Alliance LP Left", + "剩余生命": "LP Left", + "通过回合": "Rounds Cleared", + "同盟成员": "Alliance Members", + "模拟完成": "Simulation Complete", + "模拟失败": "Simulation Failed", + "成功卫戍 · 敌方领袖已被击败": "Stronghold held · Enemy Leader defeated", + "防线已被突破": "The defense line has been breached", + "敌方领袖": "Enemy Leader", + "隐秘核心": "Hidden Core", + "本局耗时": "Match duration:", + "分钟": "min", + "返回大厅": "Back to Lobby", + "暂无结算数据": "No results data", + "服务器会话已重置,上一局模拟已结束": "Server session was reset. The previous simulation has ended.", + "服务器会话已重置,已返回大厅": "Server session was reset. Returned to the lobby.", + "正在查看 {owner} 的盟约": "Viewing {owner}'s Alliances", + "{owner} 尚未激活盟约": "{owner} has no active Alliances yet", + "部署干员以激活盟约": "Deploy Operators to activate Alliances", + "{owner} 的盟约": "{owner}'s Alliances", + "我的盟约": "My Alliances", + "(含调和 +{harmony})": " (incl. Harmony +{harmony})", + "层数叠加已禁用": "Stack accumulation disabled", + "调和": "Harmony", + "{0} 在场": "{0} on field", + "{harmonyName}已激活": "{harmonyName} active", + "层数": "Stacks", + "盟约效果": "Alliance Effect", + "成员": "Members", + "{owner} 的盟约:{name}": "{owner}'s Alliance: {name}", + "盟约:{name}": "Alliance: {name}", + "CORE BOND // 核心盟约": "CORE BOND // Core Alliance", + "ADD-ON BOND // 附加盟约": "ADD-ON BOND // Add-on Alliance", + "的盟约": "'s Alliance", + "在场": "On field", + "(含整备区)": "(incl. Bench)", + "(含{harmonyName} +{harmony})": "(incl. {harmonyName} +{harmony})", + "已激活{0}": "Active{0}", + " · {tier} 阶": " · Tier {tier}", + "未激活": "Inactive", + "本模式下该盟约不会激活(其干员仍可能因所属的其他盟约出现)": "This Alliance never activates in this mode (its Operators may still appear through their other Alliances)", + "名及以下": " or fewer", + "当前效果": "Current Effect", + "({layers} 层)": "({layers} Stacks)", + "(变形同构体:视为本盟约成员)": " (Isomorph: counts as a member of this Alliance)", + "(本局禁用)": " (Disabled this match)", + "(在场)": " (On field)", + "(整备区)": " (Bench)", + "同构": "Iso", + "机变": "Improv", + "机变阶段": "Improv Phase", + "CONTINGENCY // 机变阶段": "CONTINGENCY // Improv Phase", + "选择一项": "Choose one", + "倒计时结束后仍未选定将自动分配": "If no choice is made before the countdown ends, one will be assigned automatically", + "选择一项(无时间限制)": "Choose one (no time limit)", + " · 点击卡牌选中,再次点击确认": " · Tap a card to select, tap again to confirm", + "已完成选择": "Choice made", + "当前轮到你决策": "Your turn to decide", + "确认选择「{armedName}」(再次点击卡牌亦可)": "Confirm [{armedName}] (or tap the card again)", + "{name},已选中,再次点击确认": "{name}, selected, tap again to confirm", + "{name},{takerName}已选择": "{name}, selected by {takerName}", + "全队获得": "Whole team", + "赏金 {coin}": "Bounty {coin}", + "{name} 已选择": "Selected by {name}", + "再次点击": "Tap again", + "选择中": "Selecting", + "队友作战进度": "Teammate battle progress", + "作战结束": "Battle over", + "作战结束,等待队友完成作战": "Battle over. Waiting for teammates to finish", + "你已被淘汰,正在观战": "You have been eliminated. Spectating", + "上一个战场": "Previous battlefield", + "下一个战场": "Next battlefield", + "你已被淘汰,可点击队友头像前往查看": "You have been eliminated. Tap a teammate's avatar to watch", + "返回战场": "Return to Battlefield", + "左侧战场": "Left battlefield", + "右侧战场": "Right battlefield", + "禁用": "Disabled", + "无倒计时": "No countdown", + "剩余{remain}秒": "{remain}s remaining", + "确认": "Confirm", + "加载中": "Loading", + "当前延迟 {ms}ms": "Current latency: {ms}ms", + "未连接": "Not connected", + "正在同步同盟状态…": "Syncing Alliance state…", + "服务器已更新,本局结束后刷新": "The server was updated. The page will refresh after this match", + "刷新页面": "Refresh Page", + "与服务器的连接已中断,正在重连": "Connection to the server was lost. Reconnecting", + "立即重连": "Reconnect Now", + "在此页面继续": "Continue on This Page", + "重新连接": "Reconnect", + "重试": "Retry", + "第 {attempt} 次 · {secs}s": "Attempt {attempt} · {secs}s", + "先锋": "Vanguard", + "近卫": "Guard", + "重装": "Defender", + "狙击": "Sniper", + "术师": "Caster", + "医疗": "Medic", + "辅助": "Supporter", + "特种": "Specialist", + "召唤物": "Summon", + "自动回复": "Auto Recovery", + "攻击回复": "Offensive Recovery", + "受击回复": "Defensive Recovery", + "被动": "Passive", + "自动触发": "Auto Trigger", + "精英": "Elite", + "领袖": "Leader", + "物理": "Physical", + "法术": "Arts", + "治疗": "Healing", + "真实": "True", + "无": "None", + "攻击范围": "Attack Range", + "全场": "Whole field", + "基础 {0}": "Base {0}", + "当前作战中的实时数值(绿色为增益,红色为减益)": "Live values in the current battle (green: buffed, red: debuffed)", + "下一场作战开始时的数值:已计入装备、盟约层数、特质、策略与机变效果(不含技能与作战中的临时效果)": "Values at the start of the next battle: Equipment, Alliance stacks, Attributes, Strategy and Improv effects included (skills and temporary in-battle effects excluded)", + "实时": "Live", + "开战时": "At battle start", + "搭配以下装备时,携带者视为对应盟约的成员:": "When equipped with one of the following, the wearer counts as a member of that Alliance:", + "变形同构体对应关系": "Damazti Isomorph pairings", + "已搭配": "Paired", + "生效中": "Active", + "暂未生效:需与上表中的一件装备一同携带": "Not active yet: carry it together with one of the items above", + "所属盟约": "Alliances", + "(变形同构体)": " (Damazti Isomorph)", + ",已激活 {tier} 阶": ", active at tier {tier}", + ",未激活": ", inactive", + "特质": "Attribute", + "生命上限": "Max HP", + "攻击": "ATK", + "防御": "DEF", + "法术抗性": "RES", + "攻击间隔": "Attack Interval", + "阻挡数": "Block", + "部署费用": "DP Cost", + "再部署": "Redeploy Time", + "近战位": "Melee", + "远程位": "Ranged", + "技能 {skSlot}": "Skill {skSlot}", + "干员调配中选择的技能": "Skill chosen in Operator Loadout", + "已调配": "Customized", + "技力": "SP", + "· 消耗": "· Cost", + "干员调配中选择的模组": "Module chosen in Operator Loadout", + "装备": "Equipment", + "拖拽装备至该干员以配发(最多 2 件)": "Drag Equipment onto this Operator to equip it (up to 2)", + "出售": "Sell", + "可晋升:{hint}": "Can promote: {hint}", + "效果": "Effect", + "进阶": "Elite", + "奇术": "Arts", + "将其拖拽至战场上的格子使用": "Drag it onto a tile of the battlefield to use it", + ";2 件相同装备自动合成进阶装备": "; 2 identical pieces merge into Elite Equipment", + "效果获得": "gained from effects", + "晕眩": "Stun", + "沉默": "Silence", + "沉睡": "Sleep", + "浮空": "Levitate", + "移动速度": "Move Speed", + "目标价值": "LP Damage", + "空中": "Aerial", + "地面": "Ground", + "近战": "Melee", + "能力": "Abilities", + "说明": "Description", + "作战开始时在摆放的位置部署": "Deploys on its placed tile when the battle starts", + "作战开始时在摆放的位置部署一次,之后所属干员每次发动技能时再次出现(未摆放则不会出现)": "Deploys once on its placed tile when the battle starts, then reappears each time its Operator activates a skill (does not appear if not placed)", + "所属干员发动技能时才在摆放的位置出现(未摆放则不会出现)": "Appears on its placed tile only when its Operator activates a skill (does not appear if not placed)", + "出售精锐干员": "Sell Elite Operator", + "确定要出售精锐干员「{0}」吗?出售后获得 {1} 资金。": "Sell the Elite Operator \"{0}\"? You will get {1} Funds.", + "详情": "Details", + "退出全屏": "Exit Fullscreen", + "全屏": "Fullscreen", + "团队增益": "Team Buff", + "生效中的效果": "Active effects", + "表情": "Emote", + "交流": "Chat", + "上一组表情": "Previous emotes", + "下一组表情": "Next emotes", + "表情主题": "Emote themes", + "悬赏": "Bounty", + "护卫": "Escort", + "回合 · 即将迎击": "·", + "名敌人": "incoming enemies", + "暂无敌方情报": "No enemy intel yet", + "本局禁用干员情况": "Banned Operators this match", + "我的策略": "My Strategy", + "战场:": "Battlefield:", + "该盟约中被禁用的干员数": "Banned Operators in this Alliance", + "本局没有禁用盟约": "No Alliances banned this match", + "本局信息": "Match Info", + "敌方情报": "Enemy Intel", + "该干员": "This Operator", + "将被销毁": "Will be destroyed", + "替换装备": "Replace Equipment", + "」的装备栏已满(2/2)。选择一件装备进行替换,": "]'s Equipment slots are full (2/2). Choose a piece of Equipment to replace.", + "被替换的装备将被销毁": "The replaced Equipment will be destroyed", + "新装备": "New Equipment", + "选择被替换的装备": "Choose Equipment to replace", + "将销毁「": "Destroy [", + "」并配发「": "] and equip [", + "点击选择要替换的装备": "Tap to choose the Equipment to replace", + "上": "Up", + "右": "Right", + "下": "Down", + "左": "Left", + "选择{0}朝向": "Choose facing{0}", + "「{name}」的": " for [{name}]", + "点击取消": "Tap to cancel", + "拖回中心区域取消": "Drag back to center to cancel", + "朝向:{0}": "Facing: {0}", + "干员": "Operator", + "整备区": "Bench", + "召唤": "Summon", + "目标生命值": "LP", + "结算时扣除 {p}": "-{p} at settlement", + "已淘汰": "Eliminated", + "已离开": "Left", + "{name}:本局禁用(该盟约不会激活)": "{name}: Disabled this match (this Alliance will not activate)", + "本局禁用{0}盟约,此策略效果可能无法发挥": "{0} Alliance disabled this match; this Strategy's effect may not work", + "行动中": "Acting", + "作战中": "In Combat", + "联防中": "Uniting", + "未装备模组": "No Module", + "协议启动": "Protocol Start", + "模拟即将开始": "The simulation is about to begin", + "第 {r} 回合": "Round {r}", + "资金已到账": "Funds received", + "依次选择机变": "Choose Improv in turn", + "休整期": "Rest Phase", + "部署干员,准备迎敌": "Deploy Operators and prepare for the enemy", + "作战开始": "Battle Start", + "各自行动阶段": "Individual action phase", + "联防阶段": "Unite Phase", + "联防:{0}": "Unite: {0}", + "完美作战的博士迎战突破防线的敌人": "Doctors with a flawless battle take on the enemies that broke through", + "最终攻势": "Final Assault", + "击败敌方领袖": "Defeat the Enemy Leader", + "被源石侵蚀的假想敌": "An OpFor eroded by Originium", + "回合开始": "Round Start", + "回合结算": "Round Settlement", + "休息一下": "Take a Break", + "找不到该单位": "Unit not found", + "无法放置在该位置": "Cannot place here", + "位置未变化": "Position unchanged", + "该道具需要放置在战场上使用": "This Item must be placed on the Battlefield to use", + "交换后的单位无法部署在原位置": "The swapped unit cannot be deployed at the original position", + "请将装备拖拽至干员身上": "Drag Equipment onto an Operator", + "近战单位只能部署在地面": "Melee units can only be deployed on ground tiles", + "只能部署在召唤者攻击范围内": "Can only be deployed within the summoner's Attack Range", + "该位置已有单位": "This tile is already occupied", + "召唤者尚未部署": "The summoner is not deployed yet", + "装备只能配发给干员": "Equipment can only be equipped on Operators", + "临时整备区无法放入单位": "Units cannot be placed on the Temporary Bench", + "之后还有 {queued} 项": "{queued} more to come", + "晋升奖励": "Promotion Reward", + "免费选择 1 名": "Choose 1 Operator for free", + "晋升奖励待选择": "Promotion Reward pending", + "装备补给": "Equipment Supply", + "特殊招募": "Special Recruit", + "免费选择 1 件": "Choose 1 Item for free", + "{title}待选择": "{title} pending", + "尚未就绪": "Not ready yet", + "临时整备区不为空,请先处理溢出的资源": "The Temporary Bench is not empty; deal with the overflow first", + "当前无法选择": "Cannot choose right now", + "已准备就绪,取消准备后才能操作": "You are Ready; cancel Ready to make changes", + "该队友已被淘汰,无法查看其阵地": "This Teammate has been eliminated; their Field cannot be viewed", + "自己": "Self", + "联防(自己)": "Unite (Self)", + "联防阵地": "Unite Field", + "领袖战场": "Leader Battlefield", + "基础规则": "Basic Rules", + "卫戍协议已运行": "Stronghold Protocol Online", + "攻防战": "Attack and Defense", + "休整期 · 区域": "Rest Phase · Areas", + "休整期 · 资金与调度": "Rest Phase · Funds and Dispatch", + "限时战斗": "Timed Battle", + "作战期": "Battle Phase", + "协同战斗": "Co-op Battle", + "调度手册": "Dispatch Handbook", + "干员晋级": "Operator Promotion", + "加成情况": "Bonuses", + "卫戍能力": "Stronghold Abilities", + "助战及自选编队": "Support and Custom Squads", + "进阶图鉴": "Advanced Handbook", + "敌人类型": "Enemy Types", + "盟约激活与叠加": "Alliance Activation and Stacking", + "追加盟约": "Add-on Alliances", + "策略与轮选": "Strategies and Draft", + "TIPS // 模拟要点": "TIPS // SIMULATION TIPS", + "暂无说明内容": "No guide content available", + "关闭 (Esc)": "Close (Esc)", + "章节": "Chapters", + "上一页": "Previous page", + "下一页": "Next page", + "页码": "Pages", + "联防": "Unite", + "{name} 漏过的敌人": "Enemies that got past {name}", + "你漏过的敌人": "Enemies that got past you", + "队友正在迎战": "teammates are engaging", + "{who}已全部被击倒": "{who}: all defeated", + "剩余敌人 {v}": "Enemies remaining: {v}", + "剩余不足 {cap} 个后,队友每击倒一个少扣 1 点": "once fewer than {cap} remain, each one your teammates defeat costs 1 less", + "队友每击倒一个就少扣 1 点": "each one your teammates defeat costs 1 less", + "目标生命值 {lp}:联防中,你漏过的敌人还剩 {left} 个,{each};按现在结算扣除 {pending} 点(每回合至多 {cap} 点)": "LP {lp}: Unite in progress, {left} enemies that got past you remain; {each}. Settling now would cost {pending} LP (max {cap} per round)", + "目标生命值 {lp}:联防中,队友正在迎战你漏过的敌人,结算时按联防后剩余的敌人扣除(至多 {pending} 点)": "LP {lp}: Unite in progress, teammates are engaging the enemies that got past you; the loss at settlement depends on the enemies left after Unite (max {pending} LP)", + "{cap} 个以上": "{cap}+", + "{pending} 个": "{pending}", + "放入整备区或战场、配发或使用后才能准备就绪;休整期结束时仍留在临时整备区的单位将被销毁": "Move them to the Bench or Battlefield, equip or use them before you can Ready; units still on the Temporary Bench when the Rest Phase ends will be destroyed", + "临时整备区还有 {count} 个单位:{TEMP_RULE}": "{count} unit(s) still on the Temporary Bench: {TEMP_RULE}", + "取消准备": "Cancel Ready", + "临时整备区": "Temporary Bench:", + "个单位待处理": "unit(s) pending", + "本局信息(策略 / 禁用盟约 / 干员)": "Match Info (Strategies / Banned Alliances / Operators)", + "查看即将迎击的敌方单位": "View the enemies you are about to face", + "休整期可以查看即将迎击的敌方单位": "Upcoming enemies can be viewed during the Rest Phase", + "秒后全队生命值开始流失": "s", + "超时 · 生命值": "Overtime · LP", + "/秒": "/s", + "已流失": "Lost", + "暂停": "Pause", + "继续作战(Space)": "Resume Battle (Space)", + "暂停作战(Space)": "Pause Battle (Space)", + "离开 / 暂离": "Leave / Step Away", + "部署费用(再部署消耗)": "DP Cost (spent on redeploy)", + "攻击力": "ATK", + "防御力": "DEF", + "攻击速度": "ASPD", + "再部署时间": "Redeploy Time", + "秒": "s", + "每秒回复": "HP Regen/s", + "内容过长,无法导入": "Content too long to import", + "没有可导入的内容": "Nothing to import", + "无法识别的内容": "Unrecognized content", + "无法识别的格式": "Unrecognized format", + "这不是干员调配的数据": "This is not Operator Loadout data", + "里面没有有效的调配条目": "It contains no valid loadout entries", + "弹药": "Ammo", + "{0}秒": "{0}s", + "本局的干员调配已锁定,修改将在下一局生效": "Operator loadout is locked for this match; changes will apply next match", + "独立模拟的休整期没有时间限制,你可以随时继续。": "The Rest Phase in Solo Simulation has no time limit. You can continue at any time.", + "放弃模拟将立即结束本局并返回大厅,本局进度不会保留,也不会进行结算。": "Abandoning the simulation ends this match immediately and returns you to the lobby. Progress will not be kept and no results will be tallied.", + "离开模拟": "Leave Simulation", + "暂离(AI 托管)": "Step Away (AI Autopilot)", + "暂离": "Step Away", + ":由 AI 托管你的席位(自动部署、准备与选择),随时可以返回。": ": AI takes over your seat (auto deploy, ready-up and choices). You can return at any time.", + ":离开后无法返回本局,你的干员将回到共享卡池。": ": You cannot return to this match after leaving, and your Operators go back to the shared pool.", + "AI 托管中": "AI Autopilot active", + "AUTOPILOT // AI 托管": "AUTOPILOT // AI AUTOPILOT", + "AI 正在代为操作你的席位": "AI is playing your seat for you", + "返回模拟": "Return to Simulation", + "该盟约中无法出现的干员数": "Operators of this Alliance that cannot appear", + ",或本模式禁用": ", or disabled in this mode", + "本局禁用干员": "Banned Operators", + "本局没有禁用干员": "No Operators are banned this match", + "核心盟约": "Core Alliances", + "附加盟约": "Add-on Alliances", + "折扣价(原价 {basePrice})": "Discounted (was {basePrice})", + "加价(原价 {basePrice})": "Marked up (was {basePrice})", + "价格": "Price", + "精锐干员将出现在作战区原位置": "The Elite Operator will take the original spot on the Battlefield", + "精锐干员将进入整备区": "The Elite Operator will go to the Bench", + "无法购买": "Cannot Buy", + "确认购买": "Confirm Purchase", + ",无法购买": ", cannot buy", + ",再次点击确认": ", tap again to confirm", + "已拥有 {copies}/{need}": "Owned {copies}/{need}", + "可晋升": "Promotable", + "技能{0}:{1}{2}{3}": "Skill{0}: {1}{2}{3}", + "(已调配)": " (Assigned)", + " · 模组:{name}": " · Module: {name}", + " · 未装备模组": " · No Module equipped", + "已购买": "Purchased", + "已招募": "Recruited", + "再次点击确认升级({price} 资金)": "Tap again to confirm upgrade ({price} Funds)", + "升级调度中心({price} 资金) · D": "Upgrade Dispatch Center ({price} Funds) · D", + "已满级": "Max Level", + "确认升级": "Confirm Upgrade", + "稍后选择(回合结束后消失)": "Pick later (expires at the end of the round)", + "稍后": "Later", + "展开商店": "Expand Shop", + "调度中心": "Dispatch Center", + "剩余可放置角色:": "Deployable units left:", + "目前资金": "Current Funds", + "收起": "Collapse", + "解冻商店 · F": "Unfreeze Shop · F", + "冻结商店(下回合保留) · F": "Freeze Shop (kept next round) · F", + "解冻": "Unfreeze", + "刷新商店 · R": "Refresh Shop · R", + "免费 ×{free}": "Free ×{free}", + "联防中,": "In Unite; ", + "至多": "up to ", + "查看 {name} 的战场": "View {name}'s Battlefield", + "查看自己的阵地": "View your Field", + "查看 {name} 的阵地": "View {name}'s Field", + "连接已断开": "Disconnected", + "前往查看": "Go View", + "{0} 操作": "{0} actions", + "单位": "Unit", + "撤退": "Retreat", + "撤退至整备区": "Retreat to Bench", + "出售,获得 {sell} 资金": "Sell for {sell} Funds", + "已准备就绪后进入的单位保留到下个休整期,届时仍在此处的将被销毁(取消准备则在本休整期结束时销毁)": "Units that arrived after Ready are kept until the next Rest Phase; anything still here then will be destroyed (cancel Ready and they are destroyed at the end of this Rest Phase)", + "放入整备区或战场、配发或使用后才能准备;休整期结束时仍在此处的将被销毁": "Move to the Bench or Battlefield, equip or use them before you can Ready; anything still here at the end of the Rest Phase will be destroyed", + "件道具": "item(s)", + "个单位": "unit(s)", + "{what}待处理": "{what} pending", + "结算": "Settlement", + "模拟结束": "Simulation Over", + "表情套组:卫戍协议": "Emote Set: Stronghold Protocol", + "开心": "Happy", + "害怕": "Scared", + "对不起": "Sorry", + "谢谢": "Thanks", + "思考": "Thinking", + "合作愉快": "Nice teamwork", + "表情套组:虫动": "Emote Set: Slug Moves", + "合作愉快!": "Nice teamwork!", + "谢谢!": "Thanks!", + "对不起!": "Sorry!", + "再见!": "Bye!", + "很快就好!": "Almost done!", + "没问题!": "No problem!", + "敬礼!": "Salute!", + "欢呼!": "Cheers!", + "酷!": "Cool!", + "伤心": "Sad", + "快死了": "Dying", + "表情套组:博士士": "Emote Set: Doctor-tor", + "博士士 1": "Doctor-tor 1", + "博士士 2": "Doctor-tor 2", + "博士士 3": "Doctor-tor 3", + "博士士 4": "Doctor-tor 4", + "博士士 5": "Doctor-tor 5", + "博士士 6": "Doctor-tor 6", + "表情套组:米米子": "Emote Set: Mimiko", + "米米子 1": "Mimiko 1", + "米米子 2": "Mimiko 2", + "米米子 3": "Mimiko 3", + "米米子 4": "Mimiko 4", + "米米子 5": "Mimiko 5", + "米米子 6": "Mimiko 6", + "表情套组:维维美": "Emote Set: Wiwime", + "维维美 1": "Wiwime 1", + "维维美 2": "Wiwime 2", + "维维美 3": "Wiwime 3", + "维维美 4": "Wiwime 4", + "维维美 5": "Wiwime 5", + "维维美 6": "Wiwime 6", + "\n{status} · 卫戍协议:盟约

{status}

{2}

\n{3}

返回首页 · Back to home

": "\n{status} · Stronghold Protocol: Alliance

{status}

{2}

\n{3}

Back to home

", + "页面不存在 · Not found": "Not found", + "禁止访问 · Forbidden": "Forbidden", + "请求地址过长 · URI too long": "URI too long", + "请求地址无效 · Bad request": "Bad request", + "不支持的请求方法 · Method not allowed": "Method not allowed", + "服务器内部错误 · Internal error": "Internal error", + "AI·华法琳": "AI·Warfarin", + "AI·阿米娅": "AI·Amiya", + "AI·惊蛰": "AI·Leizi", + "AI·杜宾": "AI·Dobermann", + "AI·凯尔希": "AI·Kal'tsit", + "AI·可露希尔": "AI·Closure", + "对局核心尚未实现(平台占位 STUB):全员确认本局信息或倒计时结束后将直接结算。": "Match core not implemented (STUB): the match settles once everyone confirms or the countdown ends.", + "精打细算玩偶": "Budget-Savvy Doll", + "悬赏决策": "Bounty Decision", + "道具补给": "Item Supply", + "机密商店": "Secret Shop", + "战术决策": "Tactical Decision", + "隐秘核心已解锁": "Hidden Core unlocked", + "{name}博士中途退出了模拟": "Dr. {name} left the simulation", + "你的目标生命值耗尽,已被淘汰": "Your LP ran out. You have been eliminated", + "{name}博士的目标生命值已耗尽": "Dr. {name} has run out of LP", + "整备区已满,获得的干员已返还": "Bench is full. The obtained Operator was returned", + "整备区已满,晋升的精锐干员无法放入": "Bench is full. The promoted Elite Operator cannot be placed", + "整备区已满,获得的装备已销毁": "Bench is full. The obtained Equipment was destroyed", + "整备区已满,合成的装备已销毁": "Bench is full. The combined Equipment was destroyed", + "发生意外错误:{error}": "Unexpected error: {error}", + "战场#{no}": "Battlefield #{no}", + "与至多 {n} 名博士组成同盟,共享干员池,联防协作抵御敌潮。": "Form an Alliance with up to {n} other Doctors, share the Operator pool, and Unite to hold back the enemy tide.", + "1–{n} 名博士 · 可由 AI 队友补位": "1–{n} Doctors · AI Teammates can fill empty seats", + "没有找到密钥 {k} 对应的同盟:请和房主核对密钥(同盟结束后密钥即失效)": "No Alliance found for the key {k}: check it with the host (a key expires when its Alliance ends)", + "你已经是该同盟的博士:先离开同盟,才能以观战身份进入": "You are already a Doctor in this Alliance: leave it first to enter as a spectator", + "以观战者身份进入:不占博士席位,只能观看(每个同盟最多 {MAX_SPECTATORS} 名,模拟进行中也可进入)": "Enter as a spectator: no Doctor seat is taken and you can only watch (up to {MAX_SPECTATORS} per Alliance, also while the simulation runs)", + "填入密钥(不会直接加入)": "Fill in the key (does not join yet)", + "将该博士移出同盟": "Remove this Doctor from the Alliance", + "移出该博士": "Remove this Doctor", + "观战席": "Spectators", + "移出观战者 {name}": "Remove spectator {name}", + "移出该观战者": "Remove this spectator", + "入座": "Take a Seat", + "移出同盟": "Remove from Alliance", + "确定将「{name}」移出同盟吗?对方可以凭同盟密钥重新加入。": "Remove \"{name}\" from the Alliance? They can rejoin with the Alliance Key.", + "移出": "Remove", + "观战中 · 不占博士席位,模拟开始后可切换观看各位博士": "Spectating · no Doctor seat taken; once the simulation starts you can switch between the Doctors' views", + "共": "Total:", + "观战中": "Spectating", + "toggle::开启": "On", + "toggle::关闭": "Off", + "撤退选中干员": "Retreat selected Operator", + "出售选中干员": "Sell selected Operator", + "关闭弹窗": "Close window", + "语言": "Language", + "右键查看详情": "Right-click for details", + "观战中无法进行该操作": "Spectators cannot do that", + "标准": "Standard", + "险境": "Perilous", + "绝境": "Dire", + "终极": "Ultimate", + "rounds::回合": "Rounds", + "{who}:获得{name}": "{who}: obtained {name}", + "获得{name}": "Obtained {name}", + "联防阶段:{names} 迎战突破防线的敌人": "Unite Phase: {names} take on the enemies that broke through", + "地形变化:{names}无法停留在原位置,已撤回整备区": "Terrain change: {names} can no longer stay in place and returned to the Bench", + "{names}只能部署在召唤者攻击范围内,已退回整备区": "{names} can only be deployed within the summoner's attack range and returned to the Bench", + "{names}只能部署在召唤者攻击范围内,整备区已满,下回合返还": "{names} can only be deployed within the summoner's attack range; the Bench is full, so they come back next round", + "【{label}】层数达成,下回合开始时获得{gain}资金": "[{label}] stack milestone reached: +{gain} Funds at the start of the next round", + "【{label}】层数达成,获得{gain}资金": "[{label}] stack milestone reached: +{gain} Funds", + "【奇迹】下次刷新不消耗资金": "[Marvel] Your next refresh is free", + "【维多利亚】获得{n}件维式重锤": "[Victoria] Obtained {n} {n|Victorian Hammer|Victorian Hammers}", + "【远见】所有干员购买价格永久降低": "[Foresight] Every Operator's purchase price is permanently reduced", + "【远见】远见干员购买价格永久降低": "[Foresight] [Foresight] Operators' purchase price is permanently reduced" +} diff --git a/public/js/main.js b/public/js/main.js index 0159e018..8b2c2cce 100644 --- a/public/js/main.js +++ b/public/js/main.js @@ -23,6 +23,9 @@ // kept in sync with the server by installLoadoutSync (room.loadout after every welcome and edit). // Game data: every text of the game is static data (/data/*.json) downloaded once per page; the in-match files are // warmed in the background as soon as the player is in a room (warmGameData), before the match needs them. +// Language (ui/lang.js, docs/I18N.md): chosen before the first render (initLang); App re-renders on a switch (useLang). +// Server texts are translated on arrival: m.toast / m.ticker frames (msgid + params, or the text as a msgid; a +// config.broadcasts line from its id + args), error codes (ui/toasts.js describeError) and room.closed reasons. // Polyfills first (older Safari / Firefox ESR): every module evaluated after this one sees them. import './ui/compat.js'; @@ -46,6 +49,8 @@ import { installDeviceSupport } from './ui/device.js'; import { LoadoutHost } from './screens/loadout.js'; import { installLoadoutSync } from './ui/loadoutSync.js'; import { startBuildGuard } from './ui/buildGuard.js'; +import { initLang, useLang, tickerText } from './ui/lang.js'; +import { t, N_, translateWire } from '../../shared/i18n.js'; const RESTORE_GRACE_MS = 1500; const JOIN_DELAY_MS = 350; @@ -92,7 +97,7 @@ function schedulePendingJoin() { const code = s.ui.pendingJoin; if (!code || joinInFlight || !s.session.entered || net.status !== 'online') return; if (s.room) { - if (s.room.code !== code) toast('你已在其他同盟中,请先离开当前同盟', 'warn'); + if (s.room.code !== code) toast(t('你已在其他同盟中,请先离开当前同盟'), 'warn'); clearPendingJoin(); return; } @@ -146,7 +151,7 @@ function onWelcome(msg) { // expired on it): whatever we showed before is gone — back to the lobby cleanly and say why. const notice = sessionResetNotice(prev, msg.playerId); backToLobby(); - if (notice) toast(notice, 'warn', { ttl: 7000 }); + if (notice) toast(t(notice), 'warn', { ttl: 7000 }); } else if (prev.room || prev.match.public) { // Resumed session: the server re-pushes room/match state; drop whatever it doesn't. store.patch('ui', { restoring: true }); @@ -170,7 +175,7 @@ function onRoomState(msg) { const seats = Array.isArray(room.seats) ? room.seats : []; if (myId != null && seats.length && !seats.some((s) => s && s.playerId === myId) && !isSpectating(room, myId)) { // We are no longer seated (kicked / left elsewhere) — neither in a player seat nor a spectator seat. - if (store.get().room) toast('你已不在该同盟中', 'warn'); + if (store.get().room) toast(t('你已不在该同盟中'), 'warn'); store.set({ room: null, match: emptyMatch() }); return; } @@ -184,8 +189,8 @@ function onRoomState(msg) { const CLOSE_REASON = { // 'timeout' = this player was removed after staying disconnected past the lobby grace (server/lobby.js) - host_left: '创建者已离开,同盟已解散', timeout: '由于长时间断开连接,你已离开同盟', empty: '同盟已解散', - kicked: '你已被移出同盟', ended: '模拟已结束', expired: '同盟已过期', shutdown: '服务器维护中,同盟已关闭', + host_left: N_('创建者已离开,同盟已解散'), timeout: N_('由于长时间断开连接,你已离开同盟'), empty: N_('同盟已解散'), + kicked: N_('你已被移出同盟'), ended: N_('模拟已结束'), expired: N_('同盟已过期'), shutdown: N_('服务器维护中,同盟已关闭'), }; function wireNet() { @@ -201,12 +206,13 @@ function wireNet() { net.on('clock', (c) => store.set({ clock: { offset: c.offset, rtt: c.rtt, synced: c.synced } })); net.on('welcome', onWelcome); net.on('helloError', (err) => toastError(err)); - net.on('replaced', () => toast('该身份已在其他页面登录,本页已断开', 'warn', { ttl: 6000 })); + net.on('replaced', () => toast(t('该身份已在其他页面登录,本页已断开'), 'warn', { ttl: 6000 })); net.on('unhandledError', (err) => toastError(err)); net.on('room.state', onRoomState); net.on('room.closed', (msg) => { backToLobby(); - toast(CLOSE_REASON[msg.reason] || (typeof msg.reason === 'string' && msg.reason.length < 60 ? `同盟已关闭:${msg.reason}` : '同盟已关闭'), 'warn'); + const known = Object.hasOwn(CLOSE_REASON, String(msg.reason)) ? CLOSE_REASON[msg.reason] : null; + toast(known ? t(known) : typeof msg.reason === 'string' && msg.reason.length < 60 ? t('同盟已关闭:{reason}', { reason: msg.reason }) : t('同盟已关闭'), 'warn'); }); net.on('m.public', (msg) => { matchAt = Date.now(); store.patch('match', { public: payload(msg) }); maybeFinishRestore(); }); net.on('m.private', (msg) => { matchAt = Date.now(); store.patch('match', { private: payload(msg) }); }); @@ -214,17 +220,19 @@ function wireNet() { net.on('m.result', (msg) => store.patch('match', { result: payload(msg) })); net.on('m.toast', (msg) => { const kind = ['info', 'success', 'warn', 'error'].includes(msg.kind) ? msg.kind : 'info'; - toast(msg.text, kind); + // msgid + params (server ≥ 0.2.0) or the text itself as a msgid, in the current language + toast(translateWire(msg), kind); }); net.on('m.ticker', (msg) => { if (typeof msg.text !== 'string') return; + const text = tickerText(msg); // type, player + the round it came in: a BOSS_HIT line is dropped once its boss round is over and superseded by the // same player's next one (ui/ticker.js tickerLineLive / tickerSupersedes) const type = typeof msg.type === 'string' ? msg.type : null; const playerId = typeof msg.playerId === 'string' ? msg.playerId : null; // its broadcast priority: the strip plays the highest first (ui/ticker.js enqueueTickerLines) const priority = Number.isFinite(msg.priority) ? msg.priority : 0; - store.set((s) => ({ ticker: [...s.ticker.slice(-(TICKER_KEEP - 1)), { id: ++seq, text: msg.text, at: Date.now(), type, playerId, round: s.match?.public?.round ?? null, priority }] })); + store.set((s) => ({ ticker: [...s.ticker.slice(-(TICKER_KEEP - 1)), { id: ++seq, text, at: Date.now(), type, playerId, round: s.match?.public?.round ?? null, priority }] })); }); net.on('m.emote', (msg) => { store.set((s) => ({ emotes: [...s.emotes.slice(-(EMOTE_KEEP - 1)), { seq: ++seq, playerId: msg.playerId, id: msg.id, at: Date.now() }] })); @@ -257,15 +265,16 @@ function ScreenCrashed({ error, reset }) { return html`
<${MicroLabel} tone="mint">SYSTEM FAULT -

界面发生错误

+

${t('界面发生错误')}

${String(error?.message || error).slice(0, 200)}

- <${Button} variant="primary" icon="refresh" onClick=${reset}>重新加载界面 + <${Button} variant="primary" icon="refresh" onClick=${reset}>${t('重新加载界面')}
`; } function App() { const route = useStore(selectRoute); + useLang(); // a language switch re-renders the whole tree in place const [error, resetError] = useErrorBoundary((err) => console.error('[ui] screen crashed', err)); const Screen = SCREENS[route] || LobbyScreen; return html`
@@ -285,8 +294,8 @@ async function waitForFonts(ms) { const fonts = document.fonts; if (!fonts || typeof fonts.load !== 'function') return; const loads = [ - fonts.load('900 1em "Noto Sans SC"', '卫戍协议盟约'), - fonts.load('700 1em "Noto Sans SC"', '开始'), + fonts.load('900 1em "Noto Sans SC"', '卫戍协议盟约'), // i18n-ignore (font sample) + fonts.load('700 1em "Noto Sans SC"', '开始'), // i18n-ignore (font sample) fonts.load('700 1em Bender', '0123456789'), fonts.load('700 1em Rajdhani', '0123456789'), ].map((p) => p.catch(() => null)); @@ -301,7 +310,7 @@ function installGlobalErrorHandlers() { if (err && (err.name === 'NotAllowedError' || err.name === 'AbortError')) { console.warn('[app] ignored rejection', err.name); return; } console.error('[app] unhandled rejection', err); if (err instanceof NetError) toastError(err); - else toast(`发生意外错误:${describeError(err)}`.slice(0, 120), 'error'); + else toast(t('发生意外错误:{error}', { error: describeError(err) }).slice(0, 120), 'error'); }); window.addEventListener('error', (ev) => { if (!(ev instanceof ErrorEvent)) return; // resource load errors are not script errors @@ -342,7 +351,9 @@ async function boot() { if (entered) net.setName(savedName); else net.connect(); }); - await Promise.all([waitForFonts(1200), connectWhenReady]); + // the language (and its UI translations) before the first render: no Chinese flash for an English player + const langReady = initLang().catch((err) => console.warn('[app] language setup failed', err)); + await Promise.all([waitForFonts(1200), connectWhenReady, langReady]); const root = document.getElementById('app'); render(html`<${App} />`, root); @@ -369,5 +380,5 @@ async function boot() { boot().catch((err) => { console.error('[app] boot failed', err); const el = document.getElementById('boot-err'); - if (el) el.textContent = '启动失败,请刷新页面重试'; + if (el) el.textContent = t('启动失败,请刷新页面重试'); }); diff --git a/public/js/screens/lobby.js b/public/js/screens/lobby.js index 817da7ef..4a31264c 100644 --- a/public/js/screens/lobby.js +++ b/public/js/screens/lobby.js @@ -8,6 +8,8 @@ // screen is complete before data is generated. Rounds: solo 标准 = 9, everything else 14 (+R15 // hidden core on 险境+), per research 00-INDEX §2. Battlefield pool (`modes[].stages`): 标准 always // plays 战场#01, 险境 draws one of 8, 绝境 / 终极 one of 7 (m01 excluded). +// Texts go through t() (docs/I18N.md); the module-level tables hold msgids (N_) translated where they are shown, the +// config.json mode texts come localized from data.js. import { useEffect, useRef, useState } from '../../vendor/hooks.module.js'; import { DIFFICULTIES, DIFFICULTY_NAMES, DIFFICULTY_COLORS, ROOM_CODE_LEN, MAX_SEATS, MAX_SPECTATORS, modeIdFor, ERR } from '../../../shared/constants.js'; @@ -18,20 +20,21 @@ import { LoadoutButton } from './loadout.js'; import { net, identity } from '../net.js'; import { store, useStore, shallowEqual, loadPref, savePref } from '../store.js'; import { getConfig, getMode, getStage, useData } from '../data.js'; +import { t, tc, N_ } from '../../../shared/i18n.js'; /** Official mode texts (activity_table act2autochess.modeDataDict), fallback when config.json is absent. */ export const MODE_TEXT = { single: { - FUNNY: { code: 'AC-1', desc: '时长较短的模拟训练', effects: ['可以快速完成作战', '常规奖励'] }, - NORMAL: { code: 'AC-2', desc: '敌方攻击强度较高的模拟训练', effects: ['可使用盟约数增加', '大幅增加奖励'] }, - HARD: { code: 'AC-3', desc: '敌方攻击强度极高的模拟训练', effects: ['作战环境困难', '出现更加危险的敌人'] }, - ABYSS: { code: 'AC-4', desc: '敌方攻击强度到达极限的模拟训练', effects: ['作战环境无比困难', '出现极度危险的敌人'] }, + FUNNY: { code: 'AC-1', desc: N_('时长较短的模拟训练'), effects: [N_('可以快速完成作战'), N_('常规奖励')] }, + NORMAL: { code: 'AC-2', desc: N_('敌方攻击强度较高的模拟训练'), effects: [N_('可使用盟约数增加'), N_('大幅增加奖励')] }, + HARD: { code: 'AC-3', desc: N_('敌方攻击强度极高的模拟训练'), effects: [N_('作战环境困难'), N_('出现更加危险的敌人')] }, + ABYSS: { code: 'AC-4', desc: N_('敌方攻击强度到达极限的模拟训练'), effects: [N_('作战环境无比困难'), N_('出现极度危险的敌人')] }, }, multi: { - FUNNY: { code: 'AC-1', desc: '敌方攻击强度较低的模拟训练', effects: ['作战环境较为温和', '常规奖励'] }, - NORMAL: { code: 'AC-2', desc: '敌方攻击强度较高的模拟训练', effects: ['可使用盟约数增加', '大幅增加奖励'] }, - HARD: { code: 'AC-3', desc: '敌方攻击强度极高的模拟训练', effects: ['作战环境困难', '出现更加危险的敌人'] }, - ABYSS: { code: 'AC-4', desc: '敌方攻击强度到达极限的模拟训练', effects: ['作战环境无比困难', '出现极度危险的敌人'] }, + FUNNY: { code: 'AC-1', desc: N_('敌方攻击强度较低的模拟训练'), effects: [N_('作战环境较为温和'), N_('常规奖励')] }, + NORMAL: { code: 'AC-2', desc: N_('敌方攻击强度较高的模拟训练'), effects: [N_('可使用盟约数增加'), N_('大幅增加奖励')] }, + HARD: { code: 'AC-3', desc: N_('敌方攻击强度极高的模拟训练'), effects: [N_('作战环境困难'), N_('出现更加危险的敌人')] }, + ABYSS: { code: 'AC-4', desc: N_('敌方攻击强度到达极限的模拟训练'), effects: [N_('作战环境无比困难'), N_('出现极度危险的敌人')] }, }, }; @@ -40,13 +43,17 @@ export const STAGE_POOL = { FUNNY: ['act1autochess_m01'], NORMAL: 8, HARD: 7, AB /** * Display name of a stage: stages.json when it is loaded, else derived from the id (act1 m0N → 战场#0N, act2 m0N → 战场#0(N+4)). + * From the data name only its 战场#NN part (with a (上半) / (下半) mark) — 'Battlefield #NN (First Half)' in English. * @param {string} id e.g. 'act1autochess_m01' */ export function stageLabel(id) { const rec = getStage(id); - if (rec && typeof rec.name === 'string' && rec.name) return rec.name.split(/\s+/)[0]; + if (rec && typeof rec.name === 'string' && rec.name) { + const m = rec.name.match(/^(.*?#\d+(?:\s*[((][^))]*[))])?)/); + return m ? m[1] : rec.name.split(/\s+/)[0]; + } const m = String(id || '').match(/^act(\d)autochess_m(\d+)$/); - return m ? `战场#${String(Number(m[2]) + (m[1] === '2' ? 4 : 0)).padStart(2, '0')}` : ''; + return m ? t('战场#{no}', { no: String(Number(m[2]) + (m[1] === '2' ? 4 : 0)).padStart(2, '0') }) : ''; } /** @@ -58,22 +65,22 @@ export function stageLabel(id) { export function stageNote(stages) { if (Array.isArray(stages)) { const ids = stages.filter((s) => typeof s === 'string' && s); - if (ids.length === 1) { const name = stageLabel(ids[0]); return name ? `战场固定为 ${name}` : '战场固定'; } - return ids.length > 1 ? `战场随机(共${ids.length}张)` : ''; + if (ids.length === 1) { const name = stageLabel(ids[0]); return name ? t('战场固定为 {name}', { name }) : t('战场固定'); } + return ids.length > 1 ? t('战场随机(共{n}张)', { n: ids.length }) : ''; } - return Number.isInteger(stages) && stages > 1 ? `战场随机(共${stages}张)` : ''; + return Number.isInteger(stages) && stages > 1 ? t('战场随机(共{stages}张)', { stages }) : ''; } const MODE_CARDS = [ { - id: 'solo', name: '独立模拟', en: 'SOLO SIMULATION', icon: 'user', - desc: '独自调配资金与干员,以自己的节奏完成整场模拟。', - points: ['1 名博士', '休整期与机变阶段不限时'], + id: 'solo', name: N_('独立模拟'), en: 'SOLO SIMULATION', icon: 'user', + desc: N_('独自调配资金与干员,以自己的节奏完成整场模拟。'), + points: [N_('1 名博士'), N_('休整期与机变阶段不限时')], }, { - id: 'coop', name: '同盟模拟', en: 'ALLIANCE SIMULATION', icon: 'users', - desc: `与至多 ${MAX_SEATS - 1} 名博士组成同盟,共享干员池,联防协作抵御敌潮。`, - points: [`1–${MAX_SEATS} 名博士 · 可由 AI 队友补位`, '联防阶段 · 最终攻势合并生命值'], + id: 'coop', name: N_('同盟模拟'), en: 'ALLIANCE SIMULATION', icon: 'users', + desc: N_('与至多 {n} 名博士组成同盟,共享干员池,联防协作抵御敌潮。'), params: { n: MAX_SEATS - 1 }, + points: [N_('1–{n} 名博士 · 可由 AI 队友补位'), N_('联防阶段 · 最终攻势合并生命值')], pointParams: { n: MAX_SEATS }, }, ]; @@ -89,11 +96,11 @@ export function difficultyInfo(roomMode, difficulty) { const m = DIFFICULTIES.includes(difficulty) ? getMode(modeIdFor(roomMode, difficulty)) : null; const effects = Array.isArray(m?.effectDescList) ? m.effectDescList.map((e) => String(e).replace(/^[·•\s]+/, '')).filter(Boolean) - : fallback.effects; + : fallback.effects.map((e) => t(e)); const rounds = Number.isFinite(m?.lastRound) ? m.lastRound : roomMode === 'solo' && difficulty === 'FUNNY' ? 9 : 14; return { code: typeof m?.code === 'string' ? m.code : fallback.code, - desc: typeof m?.desc === 'string' ? m.desc : fallback.desc, + desc: typeof m?.desc === 'string' ? m.desc : t(fallback.desc), effects, rounds, hidden: difficulty !== 'FUNNY', @@ -160,20 +167,21 @@ export function rememberRoom(code) { } const FALLBACK_TIPS = [ - '联合模拟在选择策略时可以进行一次跳过', - '调度中心即使冻结,依然可以主动刷新', - '两件同名装备可以合成一件更强力的装备', - '只有达成完美作战的队友可以进行联防', + N_('联合模拟在选择策略时可以进行一次跳过'), + N_('调度中心即使冻结,依然可以主动刷新'), + N_('两件同名装备可以合成一件更强力的装备'), + N_('只有达成完美作战的队友可以进行联防'), ]; const TIP_ROTATE_MS = 5000; // matchingTipRotateInterval /** Rotating tactical tips (config.json `tips`, weighted list of { tip, weight }). */ function TipsPanel() { const cfg = getConfig(); + const fallback = FALLBACK_TIPS.map((x) => t(x)); const tips = Array.isArray(cfg?.tips) - ? cfg.tips.map((t) => (typeof t === 'string' ? t : t?.tip)).filter((t) => typeof t === 'string' && t) - : FALLBACK_TIPS; - const list = tips.length ? tips : FALLBACK_TIPS; + ? cfg.tips.map((x) => (typeof x === 'string' ? x : x?.tip)).filter((x) => typeof x === 'string' && x) + : fallback; + const list = tips.length ? tips : fallback; const [idx, setIdx] = useState(() => Math.floor(Math.random() * list.length)); useEffect(() => { const id = setInterval(() => setIdx((i) => i + 1), TIP_ROTATE_MS); @@ -183,11 +191,11 @@ function TipsPanel() { return html`
<${Icon} name="info" /> - 作战提示 + ${t('作战提示')} <${MicroLabel}>TACTICAL TIPS ${String(i + 1).padStart(2, '0')}/${String(list.length).padStart(2, '0')} - - + +

${list[i]}

`; @@ -200,11 +208,11 @@ function ModeCard({ card, selected, onSelect }) { <${Icon} name=${card.icon} /> <${MicroLabel} tone=${selected ? 'mint' : undefined}>${card.en} - ${card.name} - ${card.desc} - ${card.points.map((p) => html`${p}`)} + ${t(card.name)} + ${t(card.desc, card.params)} + ${card.points.map((p) => html`${t(p, card.pointParams)}`)} - + `; } @@ -215,15 +223,15 @@ function DifficultyCard({ roomMode, difficulty, selected, onSelect }) { <${DifficultyIcon} difficulty=${difficulty} class="diff-card__glyph" /> - ${DIFFICULTY_NAMES[difficulty]} + ${t(DIFFICULTY_NAMES[difficulty])} ${info.code} - ${info.rounds} 回合${info.hidden ? html`+ 隐秘核心` : null} + ${info.rounds} ${tc('rounds', '回合')}${info.hidden ? html`${t('+ 隐秘核心')}` : null} ${info.desc} ${info.effects.map((e) => html`${e}`)}${info.stageNote ? html`<${Icon} name="rook" />${info.stageNote}` : null} - + `; } @@ -252,7 +260,7 @@ export function LobbyScreen() { const run = async (kind, fn) => { if (inFlight.current) return; - if (!online) { toast('尚未连接到服务器,请稍候', 'warn'); return; } + if (!online) { toast(t('尚未连接到服务器,请稍候'), 'warn'); return; } inFlight.current = true; setBusy(kind); try { await fn(); } catch (err) { toastError(err); } finally { @@ -265,23 +273,23 @@ export function LobbyScreen() { // `onClick=${join}` hands the click EVENT as the first argument, and a default parameter only applies to // `undefined` — codeArg keeps an event target out of the key and falls back to the input field const k = codeArg(c, code); - if (!k) { toast(`同盟密钥为 ${ROOM_CODE_LEN} 位字母或数字`, 'warn'); return; } + if (!k) { toast(t('同盟密钥为 {ROOM_CODE_LEN} 位字母或数字', { ROOM_CODE_LEN }), 'warn'); return; } run('join', () => net.request('room.join', { code: k })); }; // a spectator seat: no player seat taken, nothing to do but watch (also a match already running) const spectate = (c = code) => { // same guard as join: `onClick=${spectate}` passes the click event, not a code const k = codeArg(c, code); - if (!k) { toast(`同盟密钥为 ${ROOM_CODE_LEN} 位字母或数字`, 'warn'); return; } + if (!k) { toast(t('同盟密钥为 {ROOM_CODE_LEN} 位字母或数字', { ROOM_CODE_LEN }), 'warn'); return; } run('spectate', () => net.request('room.spectate', { code: k }).catch((err) => { // Clearer than the bare ERR_TEXT: the usual cause is a code that is not the host's (a remembered one from an // earlier room, or another machine's) — the server can only answer "no such room". if (err?.code === ERR.ROOM_NOT_FOUND) { - toast(`没有找到密钥 ${k} 对应的同盟:请和房主核对密钥(同盟结束后密钥即失效)`, 'warn'); + toast(t('没有找到密钥 {k} 对应的同盟:请和房主核对密钥(同盟结束后密钥即失效)', { k }), 'warn'); return; } if (err?.code === ERR.ALREADY) { - toast('你已经是该同盟的博士:先离开同盟,才能以观战身份进入', 'warn'); + toast(t('你已经是该同盟的博士:先离开同盟,才能以观战身份进入'), 'warn'); return; } throw err; @@ -295,20 +303,20 @@ export function LobbyScreen() { return html`
- <${Button} variant="ghost" size="sm" icon="chevronLeft" onClick=${backToTitle} title="返回标题">返回 + <${Button} variant="ghost" size="sm" icon="chevronLeft" onClick=${backToTitle} title=${t('返回标题')}>${t('返回')} <${PingPill} ms=${conn.ping} online=${online} />
<${MicroLabel} tone="mint">SIMULATION PROTOCOL SELECT -

选择模拟协议

+

${t('选择模拟协议')}

- <${GuideButton} class="lobby-guide" variant="secondary" /> - <${LoadoutButton} from="lobby" size="sm" class="lobby-loadout" /> + <${GuideButton} class="lobby-guide" variant="secondary" label=${t('玩法说明')} /> + <${LoadoutButton} from="lobby" size="sm" class="lobby-loadout" label=${t('干员调配')} />
<${AvatarFrame} size="sm" name=${me.name} seat=${0} self=${true} />
- ${me.name || '博士'} + ${me.name || t('博士')} <${MicroLabel}>${me.playerId != null ? `DOCTOR #${doctorNo(me.playerId)}` : 'DOCTOR'}
@@ -317,45 +325,45 @@ export function LobbyScreen() {
- +
${MODE_CARDS.map((c) => html`<${ModeCard} key=${c.id} card=${c} selected=${roomMode === c.id} onSelect=${pickMode} />`)}
- + <${Panel} class="join-panel" tone="amber">
- <${TextField} size="code" icon="key" value=${code} placeholder="输入同盟密钥 / 粘贴邀请链接" + <${TextField} size="code" icon="key" value=${code} placeholder=${t('输入同盟密钥 / 粘贴邀请链接')} transform=${normalizeCode} onInput=${(v) => setCode(normalizeCode(v))} onEnter=${() => join()} /> - <${Button} variant="amber" size="lg" icon="users" loading=${busy === 'join'} disabled=${!codeOk || !online} onClick=${() => join()}>加入同盟 - <${Tooltip} text=${`以观战者身份进入:不占博士席位,只能观看(每个同盟最多 ${MAX_SPECTATORS} 名,模拟进行中也可进入)`}> - <${Button} variant="secondary" size="lg" icon="eye" class="join-spectate" loading=${busy === 'spectate'} disabled=${!codeOk || !online} onClick=${spectate}>观战 + <${Button} variant="amber" size="lg" icon="users" loading=${busy === 'join'} disabled=${!codeOk || !online} onClick=${() => join()}>${t('加入同盟')} + <${Tooltip} text=${t('以观战者身份进入:不占博士席位,只能观看(每个同盟最多 {MAX_SPECTATORS} 名,模拟进行中也可进入)', { MAX_SPECTATORS })}> + <${Button} variant="secondary" size="lg" icon="eye" class="join-spectate" loading=${busy === 'spectate'} disabled=${!codeOk || !online} onClick=${spectate}>${t('观战')}
- ${recent.length ? html`最近的同盟 - ${recent.map((c) => html``)}` - : html`向同伴索取 ${ROOM_CODE_LEN} 位同盟密钥,或直接打开邀请链接`} + : html`${t('向同伴索取 {ROOM_CODE_LEN} 位同盟密钥,或直接打开邀请链接', { ROOM_CODE_LEN })}`}
<${TipsPanel} />
- +
${DIFFICULTIES.map((d) => html`<${DifficultyCard} key=${d} roomMode=${roomMode} difficulty=${d} selected=${difficulty === d} onSelect=${pickDifficulty} />`)}
- <${Tooltip} block=${true} text=${online ? null : '正在连接服务器…'}> + <${Tooltip} block=${true} text=${online ? null : t('正在连接服务器…')}> <${Button} variant="primary" size="xl" block=${true} iconRight="chevrons" loading=${busy === 'create'} disabled=${!online} onClick=${create}> - ${roomMode === 'solo' ? '开始独立模拟' : '创建同盟'} + ${roomMode === 'solo' ? t('开始独立模拟') : t('创建同盟')}
${online - ? html`${roomMode === 'solo' ? '创建后即可开始模拟' : '创建后可邀请好友或添加 AI 队友'}` + ? html`${roomMode === 'solo' ? t('创建后即可开始模拟') : t('创建后可邀请好友或添加 AI 队友')}` : html`<${Spinner} size="sm" label="CONNECTING" />`}
diff --git a/public/js/screens/room.js b/public/js/screens/room.js index b14cb989..c94481b2 100644 --- a/public/js/screens/room.js +++ b/public/js/screens/room.js @@ -9,6 +9,7 @@ // Spectator seats (community report #26, a remake feature): a co-op room with spectators shows the 观战席 strip under // the seats — names, offline marks, the host's ✕ (room.removeSpectator) — and a spectator's own view swaps the ready // button for 观战中 and offers 入座 (room.join of the room) while a player seat is free. +// Texts go through t() (docs/I18N.md). import { useEffect, useRef, useState } from '../../vendor/hooks.module.js'; import { DIFFICULTIES, DIFFICULTY_NAMES, DIFFICULTY_COLORS, MAX_SEATS, MAX_SPECTATORS } from '../../../shared/constants.js'; @@ -22,6 +23,7 @@ import { LoadoutButton } from './loadout.js'; import { net } from '../net.js'; import { store, useStore, shallowEqual, emptyMatch, isSpectating } from '../store.js'; import { difficultyInfo } from './lobby.js'; +import { t, tc } from '../../../shared/i18n.js'; /** * Seats padded to the room's capacity (co-op 4, solo 1), each null or a seat record. @@ -90,13 +92,13 @@ function SeatCard({ seat, index, room, facts, myId, busy, onAddBot, onRemoveBot,
P${index + 1}<${MicroLabel}>SEAT ${String(index + 1).padStart(2, '0')}
- 等待博士加入 + ${t('等待博士加入')} <${MicroLabel}>AWAITING DOCTOR
${canAdd - ? html`<${Button} variant="secondary" size="sm" icon="robot" block=${true} loading=${busy === `add`} onClick=${onAddBot}>添加 AI 队友` - : html`空位`} + ? html`<${Button} variant="secondary" size="sm" icon="robot" block=${true} loading=${busy === `add`} onClick=${onAddBot}>${t('添加 AI 队友')}` + : html`${t('空位')}`}
`; } @@ -110,30 +112,30 @@ function SeatCard({ seat, index, room, facts, myId, busy, onAddBot, onRemoveBot,
P${index + 1} <${MicroLabel}>SEAT ${String(index + 1).padStart(2, '0')} - ${isHostSeat ? html`<${Icon} name="crown" />创建者` : null} + ${isHostSeat ? html`<${Icon} name="crown" />${t('创建者')}` : null}
<${AvatarFrame} size="xl" name=${seat.name} seat=${index} bot=${seat.isBot} self=${isMe} ready=${state === 'ready'} offline=${offline} /> - ${seat.isBot ? html`<${Icon} name="robot" />AI 队友` : null} + ${seat.isBot ? html`<${Icon} name="robot" />${t('AI 队友')}` : null}
- ${seat.name || '博士'} - ${isMe ? html`你` : null} + ${seat.name || t('博士')} + ${isMe ? html`${t('你')}` : null}
<${MicroLabel}>${seat.isBot ? 'AUTONOMOUS UNIT' : `DOCTOR #${doctorNo(seat.playerId)}`}
- ${state === 'ready' ? html`<${Icon} name="check" />已就绪` - : state === 'offline' ? html`<${Icon} name="wifiOff" />连接中断` - : state === 'host' ? html`<${Icon} name="crown" />待命中` - : html`<${Icon} name="hourglass" />准备中`} + ${state === 'ready' ? html`<${Icon} name="check" />${t('已就绪')}` + : state === 'offline' ? html`<${Icon} name="wifiOff" />${t('连接中断')}` + : state === 'host' ? html`<${Icon} name="crown" />${t('待命中')}` + : html`<${Icon} name="hourglass" />${t('准备中')}`} - ${seat.isBot && facts.isHost ? html`<${Tooltip} text="移除该 AI 队友"> - <${Button} variant="ghost" size="sm" square=${true} icon="close" loading=${busy === `rm${index}`} onClick=${() => onRemoveBot(index)} aria-label="移除 AI 队友" /> + ${seat.isBot && facts.isHost ? html`<${Tooltip} text=${t('移除该 AI 队友')}> + <${Button} variant="ghost" size="sm" square=${true} icon="close" loading=${busy === `rm${index}`} onClick=${() => onRemoveBot(index)} aria-label=${t('移除 AI 队友')} /> ` : null} - ${!seat.isBot && !isMe && facts.isHost ? html`<${Tooltip} text="将该博士移出同盟"> - <${Button} variant="ghost" size="sm" square=${true} icon="close" loading=${busy === `kick${index}`} onClick=${() => onKick(index, seat.name, seat.playerId)} aria-label="移出该博士" /> + ${!seat.isBot && !isMe && facts.isHost ? html`<${Tooltip} text=${t('将该博士移出同盟')}> + <${Button} variant="ghost" size="sm" square=${true} icon="close" loading=${busy === `kick${index}`} onClick=${() => onKick(index, seat.name, seat.playerId)} aria-label=${t('移出该博士')} /> ` : null}
`; @@ -142,29 +144,29 @@ function SeatCard({ seat, index, room, facts, myId, busy, onAddBot, onRemoveBot, /** 观战席: the room's spectators (host: ✕ frees a seat), and 入座 for a spectator while a player seat is free. */ function SpectatorBar({ facts, myId, busy, onRemove, onSit }) { if (!facts.spectators.length) return null; - return html`
- <${Icon} name="eye" />观战席${facts.spectators.length}/${MAX_SPECTATORS} + return html`
+ <${Icon} name="eye" />${t('观战席')}${facts.spectators.length}/${MAX_SPECTATORS} ${facts.spectators.map((s) => html` - ${s.connected === false ? html`<${Icon} name="wifiOff" />` : null}${s.name || '博士'}${s.playerId === myId ? html`你` : null} + ${s.connected === false ? html`<${Icon} name="wifiOff" />` : null}${s.name || t('博士')}${s.playerId === myId ? html`${t('你')}` : null} ${facts.isHost ? html`<${Button} variant="ghost" size="sm" square=${true} icon="close" loading=${busy === `rs${s.playerId}`} - onClick=${() => onRemove(s.playerId)} aria-label=${`移出观战者 ${s.name || ''}`} title="移出该观战者" />` : null} + onClick=${() => onRemove(s.playerId)} aria-label=${t('移出观战者 {name}', { name: s.name || '' })} title=${t('移出该观战者')} />` : null} `)} - ${facts.spectating && facts.emptySeats > 0 ? html`<${Button} size="sm" icon="user" loading=${busy === 'sit'} onClick=${onSit}>入座` : null} + ${facts.spectating && facts.emptySeats > 0 ? html`<${Button} size="sm" icon="user" loading=${busy === 'sit'} onClick=${onSit}>${t('入座')}` : null}
`; } function InviteBox({ code }) { const copy = async (what) => { const ok = await copyText(what === 'code' ? code : inviteLink(code)); - if (ok) toast(what === 'code' ? `已复制同盟密钥 ${code}` : '已复制邀请链接', 'success'); - else toast('复制失败,请手动复制', 'warn'); + if (ok) toast(what === 'code' ? t('已复制同盟密钥 {code}', { code }) : t('已复制邀请链接'), 'success'); + else toast(t('复制失败,请手动复制'), 'warn'); }; return html`
-
<${Icon} name="key" />同盟密钥<${MicroLabel}>ALLIANCE KEY
-
${[...String(code)].map((ch, i) => html`${ch}`)}
+
<${Icon} name="key" />${t('同盟密钥')}<${MicroLabel}>ALLIANCE KEY
+
${[...String(code)].map((ch, i) => html`${ch}`)}
- <${Button} size="sm" icon="copy" onClick=${() => copy('code')}>复制密钥 - <${Button} size="sm" icon="link" onClick=${() => copy('link')}>复制链接 + <${Button} size="sm" icon="copy" onClick=${() => copy('code')}>${t('复制密钥')} + <${Button} size="sm" icon="link" onClick=${() => copy('link')}>${t('复制链接')}
`; } @@ -173,14 +175,14 @@ function DifficultyPicker({ room, isHost, busy, onPick }) { if (!isHost) { return html`
<${DifficultyTag} difficulty=${room.difficulty} size="lg" code=${difficultyInfo(room.mode, room.difficulty).code} /> - 由创建者选择 + ${t('由创建者选择')}
`; } - return html`
+ return html`
${DIFFICULTIES.map((d) => html``)}
`; } @@ -204,7 +206,7 @@ export function RoomScreen() { const run = async (kind, fn) => { if (inFlight.current) return; - if (!online) { toast('连接中断,请稍候重试', 'warn'); return; } + if (!online) { toast(t('连接中断,请稍候重试'), 'warn'); return; } inFlight.current = true; setBusy(kind); try { await fn(); } catch (err) { toastError(err); } finally { @@ -221,7 +223,7 @@ export function RoomScreen() { // confirmed player's id goes along: if they left and someone else took the seat meanwhile, the server refuses it. const kick = async (seat, name, playerId) => { if (inFlight.current) return; - const ok = await confirmDialog({ title: '移出同盟', text: `确定将「${name || '博士'}」移出同盟吗?对方可以凭同盟密钥重新加入。`, okText: '移出', danger: true }); + const ok = await confirmDialog({ title: t('移出同盟'), text: t('确定将「{name}」移出同盟吗?对方可以凭同盟密钥重新加入。', { name: name || t('博士') }), okText: t('移出'), danger: true }); if (ok) run(`kick${seat}`, () => net.request('room.kick', { seat, playerId })); }; const setDifficulty = (difficulty) => run('diff', () => net.request('room.setDifficulty', { difficulty })); @@ -232,7 +234,7 @@ export function RoomScreen() { if (inFlight.current) return; const othersHere = facts.humans.some((s) => s.playerId !== me.playerId); if (facts.isHost && othersHere) { - const ok = await confirmDialog({ title: '离开同盟', text: '你是同盟的创建者,离开后创建者身份将移交或同盟解散。确定离开吗?', okText: '离开', danger: true }); + const ok = await confirmDialog({ title: t('离开同盟'), text: t('你是同盟的创建者,离开后创建者身份将移交或同盟解散。确定离开吗?'), okText: t('离开'), danger: true }); if (!ok) return; } inFlight.current = true; @@ -250,37 +252,37 @@ export function RoomScreen() { }; const statusLine = !online - ? html`<${Icon} name="wifiOff" />连接中断,正在重连…` + ? html`<${Icon} name="wifiOff" />${t('连接中断,正在重连…')}` : facts.spectating - ? html`<${Icon} name="eye" />观战中 · 不占博士席位,模拟开始后可切换观看各位博士` + ? html`<${Icon} name="eye" />${t('观战中 · 不占博士席位,模拟开始后可切换观看各位博士')}` : !coop - ? html`*模拟协议已就绪,准许进入模拟` + ? html`${t('*模拟协议已就绪,准许进入模拟')}` : facts.isHost ? facts.canStart - ? html`*同盟人数达标,准许进入模拟` - : html`等待所有博士准备就绪` + ? html`${t('*同盟人数达标,准许进入模拟')}` + : html`${t('等待所有博士准备就绪')}` : myReady - ? html`已就绪 · 等待创建者开始模拟` - : html`准备就绪后,创建者即可开始模拟`; + ? html`${t('已就绪 · 等待创建者开始模拟')}` + : html`${t('准备就绪后,创建者即可开始模拟')}`; return html`
- <${Tooltip} text="离开同盟" placement="bottom"> - <${Button} variant="danger" size="lg" square=${true} icon="exit" loading=${busy === 'leave'} onClick=${leave} aria-label="离开同盟" /> + <${Tooltip} text=${t('离开同盟')} placement="bottom"> + <${Button} variant="danger" size="lg" square=${true} icon="exit" loading=${busy === 'leave'} onClick=${leave} aria-label=${t('离开同盟')} />
<${PingPill} ms=${conn.ping} online=${online} /> - <${MicroLabel}>当前延迟 + <${MicroLabel}>${t('当前延迟')}
- <${GuideButton} class="room-guide" variant="secondary" /> + <${GuideButton} class="room-guide" variant="secondary" label=${t('玩法说明')} />
<${MicroLabel} tone="mint">${coop ? 'ALLIANCE LOBBY' : 'SOLO SIMULATION'} -

${coop ? '同盟模拟' : '独立模拟'}<${DifficultyTag} difficulty=${room.difficulty} size="lg" />

+

${coop ? t('同盟模拟') : t('独立模拟')}<${DifficultyTag} difficulty=${room.difficulty} size="lg" />

- ${coop ? html`<${InviteBox} code=${room.code} />` : html`
<${MicroLabel}>SINGLE OPERATOR仅限 1 名博士
`} + ${coop ? html`<${InviteBox} code=${room.code} />` : html`
<${MicroLabel}>SINGLE OPERATOR${t('仅限 1 名博士')}
`}
@@ -289,12 +291,12 @@ export function RoomScreen() { myId=${me.playerId} busy=${busy} onAddBot=${addBot} onRemoveBot=${removeBot} onKick=${kick} />`)} ${coop ? null : html``} @@ -302,12 +304,12 @@ export function RoomScreen() {
- 模拟难度<${MicroLabel}>DIFFICULTY + ${t('模拟难度')}<${MicroLabel}>DIFFICULTY <${DifficultyPicker} room=${room} isHost=${facts.isHost} busy=${busy} onPick=${setDifficulty} />
- <${LoadoutButton} from="room" size="lg" class="room-loadout" /> + <${LoadoutButton} from="room" size="lg" class="room-loadout" label=${t('干员调配')} /> ${facts.isHost - ? html`<${Tooltip} text=${facts.canStart ? null : '仍有博士未准备就绪'}> - <${Button} variant="primary" size="xl" icon="play" loading=${busy === 'start'} disabled=${!facts.canStart || !online} onClick=${start}>开始模拟 + ? html`<${Tooltip} text=${facts.canStart ? null : t('仍有博士未准备就绪')}> + <${Button} variant="primary" size="xl" icon="play" loading=${busy === 'start'} disabled=${!facts.canStart || !online} onClick=${start}>${t('开始模拟')} ` : facts.spectating - ? html`<${Button} variant="secondary" size="xl" icon="eye" disabled=${true}>观战中` + ? html`<${Button} variant="secondary" size="xl" icon="eye" disabled=${true}>${t('观战中')}` : html`<${Button} variant=${myReady ? 'primary' : 'secondary'} size="xl" icon=${myReady ? 'check' : 'hourglass'} active=${myReady} - loading=${busy === 'ready'} disabled=${!online || !facts.mine} onClick=${toggleReady}>${myReady ? '已就绪' : '准备就绪'}`} + loading=${busy === 'ready'} disabled=${!online || !facts.mine} onClick=${toggleReady}>${myReady ? t('已就绪') : t('准备就绪')}`}
`; diff --git a/public/js/screens/title.js b/public/js/screens/title.js index 2b745756..63f99cf0 100644 --- a/public/js/screens/title.js +++ b/public/js/screens/title.js @@ -1,4 +1,5 @@ -// Title screen: season-style backdrop, big title 卫戍协议:盟约, remembered nickname, 开始. +// Title screen: season-style backdrop, big title 卫戍协议:盟约, remembered nickname, 开始, the language switch +// (中文 | English, ui/lang.js; in English the big title is the English one and the small wordmark above it hides). // // Pressing 开始 validates the nickname (1..NAME_MAX_LEN chars, no control characters), stores it, // marks this tab as "entered" (so reloads skip the title) and hands the name to net.js, which @@ -17,6 +18,8 @@ import { net, identity } from '../net.js'; import { store, useStore, shallowEqual } from '../store.js'; import { data, useData } from '../data.js'; import { FullscreenButton, detectFeatures } from '../ui/device.js'; +import { LangToggle, useLang } from '../ui/lang.js'; +import { t, N_ } from '../../../shared/i18n.js'; // Same character classes as server/net.js sanitizeName (control, zero-width, bidi, BOM), so a name // the client accepts is never rejected by the server's hello validation. @@ -174,14 +177,15 @@ function Ridges() { } const STATUS_TEXT = { - idle: '准备连接', connecting: '正在连接服务器', connected: '已连接服务器', handshaking: '正在验证身份', - online: '已连接服务器', reconnecting: '连接中断,正在重连', closed: '连接已关闭', + idle: N_('准备连接'), connecting: N_('正在连接服务器'), connected: N_('已连接服务器'), handshaking: N_('正在验证身份'), + online: N_('已连接服务器'), reconnecting: N_('连接中断,正在重连'), closed: N_('连接已关闭'), }; /** Title screen component. */ export function TitleScreen() { const conn = useStore((s) => s.connection, shallowEqual); const pendingJoin = useStore((s) => s.ui.pendingJoin); + const lang = useLang(); const [name, setName] = useState(() => store.get().me.name || identity.loadName() || ''); const assetsSettled = useData('assets'); const assets = data.get('assets'); @@ -199,7 +203,7 @@ export function TitleScreen() { const valid = isValidName(name); const start = () => { - if (!valid) { toast('请输入博士代号', 'warn'); return; } + if (!valid) { toast(t('请输入博士代号'), 'warn'); return; } enterSession(name); }; @@ -232,39 +236,42 @@ export function TitleScreen() {
<${MicroLabel} tone="mint">RHODES ISLAND // SIMULATION SERVICE
<${MicroLabel}>TACTICAL CO-OP NODE · 02
- <${MicroLabel} tone="hi">TARGET POINT
<${MicroLabel}>STRONGHOLD PROTOCOL +
+ <${LangToggle} class="title-lang" /> + <${MicroLabel} tone="hi">TARGET POINT
<${MicroLabel}>STRONGHOLD PROTOCOL +
<${Emblem} /> -
+ ${lang === 'en' ? null : html`
STRONGHOLD PROTOCOL ALLIANCE -
-

卫戍协议:盟约

-

调配资金与干员,与同伴协同布防,抵御多波次进攻,直至击败敌方领袖。

+
`} +

${t('卫戍协议')}${lang === 'en' ? ': ' : ':'}${t('盟约')}

+

${t('调配资金与干员,与同伴协同布防,抵御多波次进攻,直至击败敌方领袖。')}

- 非官方同人复刻 · 游戏素材版权归 上海鹰角网络 / Yostar 所有 + ${t('非官方同人复刻 · 游戏素材版权归 上海鹰角网络 / Yostar 所有')} <${MicroLabel}>v${APP_VERSION} · WEB SIMULATION
`; diff --git a/public/js/ui/components.js b/public/js/ui/components.js index 5f5bc200..24f9bcfe 100644 --- a/public/js/ui/components.js +++ b/public/js/ui/components.js @@ -15,6 +15,7 @@ import { h, Fragment } from '../../vendor/preact.module.js'; import { useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState } from '../../vendor/hooks.module.js'; import htm from '../../vendor/htm.module.js'; import { DIFFICULTY_NAMES, DIFFICULTY_COLORS } from '../../../shared/constants.js'; +import { t } from '../../../shared/i18n.js'; import { serverNow } from '../store.js'; import { data, useData, localAsset } from '../data.js'; import { uiUrl } from './assetUrls.js'; @@ -781,7 +782,7 @@ export function DifficultyIcon({ difficulty, class: cls }) { * @param {{ difficulty: string, size?: 'sm'|'md'|'lg', class?: string, code?: string }} props */ export function DifficultyTag({ difficulty, size = 'md', class: cls, code }) { - const name = DIFFICULTY_NAMES[difficulty] || difficulty || '—'; + const name = DIFFICULTY_NAMES[difficulty] ? t(DIFFICULTY_NAMES[difficulty]) : difficulty || '—'; const color = DIFFICULTY_COLORS[difficulty] || 'var(--text-lo)'; return html` <${DifficultyIcon} difficulty=${difficulty} class="dtag__icon" /> diff --git a/public/js/ui/lang.js b/public/js/ui/lang.js new file mode 100644 index 00000000..2eaeebcc --- /dev/null +++ b/public/js/ui/lang.js @@ -0,0 +1,170 @@ +// Language switch of the client (docs/I18N.md): picks the language at boot, loads the UI translations +// (public/i18n/.json, shared/i18n.js) and the localized game data (data/i18n/.json through data.js), keeps +// the choice, and translates what the server sends (m.toast / m.ticker / error codes). +// +// Chinese is the default; English is a switch (the owner's decision of 2026-10-05) — the browser's language is not +// consulted. Order at boot: `?lang=en|zh` in the URL (then removed from the address bar and kept as the choice), the +// stored choice (localStorage `sp.pref.lang`), else Chinese. A switch re-renders the app in place (main.js App +// subscribes with useLang) — no reload; the game texts follow as soon as the data overlay has downloaded (data.js +// notifies its subscribers). + +import { useEffect, useState } from '../../vendor/hooks.module.js'; +import { LANGS, DEFAULT_LANG, normalizeLang, getLang, setLang, onLangChange, addMessages, setNameResolver, tName, format, translateWire } from '../../../shared/i18n.js'; +import { loadPref, savePref } from '../store.js'; +import { data } from '../data.js'; +import { html } from './components.js'; + +/** Labels of the language switch (each in its own language). */ +export const LANG_LABELS = Object.freeze({ zh: '中文', en: 'English' }); +const PREF_KEY = 'lang'; +/** How long boot waits for the UI translations before rendering in Chinese anyway (they apply when they arrive). */ +const BOOT_WAIT_MS = 2500; + +/** @type {Map>} */ +const uiLoads = new Map(); + +/** + * Download (once) the UI translations of a language. + * @param {string} lang + * @param {typeof fetch} [doFetch] + * @returns {Promise} false when unavailable (the UI stays Chinese) + */ +export function loadUiMessages(lang, doFetch = (...a) => globalThis.fetch(...a)) { + if (lang === DEFAULT_LANG) return Promise.resolve(true); + if (uiLoads.has(lang)) return uiLoads.get(lang); + const p = (async () => { + try { + const res = await doFetch(`/i18n/${lang}.json`, { cache: 'no-cache' }); + if (!res || !res.ok) throw new Error(`HTTP ${res ? res.status : '???'}`); + addMessages(lang, await res.json()); + return true; + } catch (err) { + console.warn(`[i18n] /i18n/${lang}.json unavailable (${err?.message || err}); the interface stays Chinese`); + uiLoads.delete(lang); + return false; + } + })(); + uiLoads.set(lang, p); + return p; +} + +/** + * The language to start in: the URL's `?lang=`, then the stored choice, then Chinese. + * @param {string} [search] location.search + * @param {(key: string, fallback: any) => any} [load] + * @returns {{ lang: string, fromUrl: boolean }} + */ +export function initialLang(search = globalThis.location?.search || '', load = loadPref) { + let fromUrl = null; + try { fromUrl = normalizeLang(new URLSearchParams(search).get('lang')); } catch { /* ignore */ } + if (fromUrl) return { lang: fromUrl, fromUrl: true }; + let stored = null; + try { stored = normalizeLang(load(PREF_KEY, null)); } catch { /* ignore */ } + return { lang: stored || DEFAULT_LANG, fromUrl: false }; +} + +function stripLangParam() { + try { + const url = new URL(globalThis.location.href); + if (!url.searchParams.has('lang')) return; + url.searchParams.delete('lang'); + globalThis.history?.replaceState(globalThis.history.state, '', url.pathname + (url.search || '') + url.hash); + } catch { /* ignore */ } +} + +/** and the tab title follow the language. */ +function applyDocument(lang) { + const doc = globalThis.document; + if (!doc) return; + doc.documentElement.lang = lang === 'en' ? 'en' : 'zh-CN'; + doc.documentElement.dataset.lang = lang; + doc.title = lang === 'en' ? 'Stronghold Protocol: Alliance · Web Simulation' : '卫戍协议:盟约 · STRONGHOLD PROTOCOL'; +} + +// `{ dn }` params and tName(): Chinese game-data names → the current language (data/i18n/.json names) +setNameResolver((name) => data.localeName(name)); + +let wired = false; +function wire() { + if (wired) return; + wired = true; + onLangChange((lang) => { applyDocument(lang); }); +} + +/** + * Boot: choose the language and load its UI translations (waits at most BOOT_WAIT_MS) before the first render; the + * game-data overlay downloads in the background. + * @returns {Promise} the language in effect + */ +export async function initLang() { + wire(); + const { lang, fromUrl } = initialLang(); + if (fromUrl) { savePref(PREF_KEY, lang); stripLangParam(); } + applyDocument(getLang()); + if (lang === DEFAULT_LANG) return getLang(); + const ok = await Promise.race([loadUiMessages(lang), new Promise((r) => setTimeout(() => r(null), BOOT_WAIT_MS))]); + if (ok === null) loadUiMessages(lang).then((loaded) => { if (loaded && normalizeLang(loadPref(PREF_KEY, null)) === lang) setLang(lang); }); + else if (ok) setLang(lang); + data.setLocale(lang).catch(() => {}); + return getLang(); +} + +/** + * Switch the language (the switch on the title screen and in 设置): keeps the choice, loads the translations, then + * re-renders; the game texts follow when their overlay has downloaded. + * @param {string} lang + * @returns {Promise} the language in effect + */ +export async function switchLang(lang) { + wire(); + const want = normalizeLang(lang) || DEFAULT_LANG; + savePref(PREF_KEY, want); + if (want !== DEFAULT_LANG && !(await loadUiMessages(want))) return getLang(); + setLang(want); + data.setLocale(want).catch(() => {}); + return getLang(); +} + +/** + * Preact hook: the current language; the component re-renders when it changes. + * @returns {string} + */ +export function useLang() { + const [lang, setState] = useState(getLang); + useEffect(() => { + setState(getLang()); + return onLangChange((l) => setState(l)); + }, []); + return lang; +} + +/** + * The language switch (segmented 中文 | English). + * @param {{ class?: string }} props + */ +export function LangToggle({ class: cls }) { + const lang = useLang(); + return html`
+ ${LANGS.map((l) => html``)} +
`; +} + +/** + * The text of an m.ticker frame in the current language. A config.broadcasts line (`id` + `args`, server ≥ 0.2.0) is + * rebuilt from the localized broadcast template — `{0}` is the player's name (never translated), other args are + * game-data names or numbers; any other line goes through translateWire (msgid + params, or its text as a msgid). + * @param {{ text?: string, id?: string|null, args?: unknown[], msgid?: string, params?: any }} msg + * @returns {string} + */ +export function tickerText(msg) { + if (getLang() !== DEFAULT_LANG && typeof msg?.id === 'string' && Array.isArray(msg.args)) { + const list = data.get('config')?.broadcasts; + const b = Array.isArray(list) ? list.find((x) => x && x.id === msg.id) : null; + if (b && typeof b.text === 'string') { + const args = msg.args.map((a, i) => (i === 0 ? String(a ?? '') : tName(String(a ?? '')))); + return format(b.text, args); + } + } + return translateWire(msg); +} diff --git a/public/js/ui/settings.js b/public/js/ui/settings.js index 1b8de0fb..0a03df75 100644 --- a/public/js/ui/settings.js +++ b/public/js/ui/settings.js @@ -1,6 +1,6 @@ // Player settings (BGM/SFX volume, mute, damage numbers, render quality): a tiny observable store // persisted in localStorage (`sp.pref.settings`), applied to the audio manager on every change, plus -// the settings modal. +// the settings modal — which also holds the language switch (ui/lang.js; kept apart in `sp.pref.lang`). import { useState } from '../../vendor/hooks.module.js'; import { html, Modal, Button, Icon, MicroLabel } from './components.js'; @@ -9,6 +9,8 @@ import { sanitizeSettings } from './gameLogic.js'; import { audio } from '../audio.js'; import { openGuide } from './guide.js'; import { detectFeatures } from './device.js'; +import { LangToggle } from './lang.js'; +import { t, tc, N_ } from '../../../shared/i18n.js'; /** Settings store: { bgm, sfx, muted, damageNumbers, quality }. */ export const settingsStore = createStore(sanitizeSettings(loadPref('settings', null))); @@ -41,11 +43,14 @@ function Toggle({ label, micro, value, onChange }) { return html`
${label}<${MicroLabel}>${micro} + onClick=${() => onChange(!value)}>${value ? tc('toggle', '开启') : tc('toggle', '关闭')}
`; } -const QUALITY = [['high', '高'], ['medium', '中'], ['low', '低']]; +const QUALITY = [['high', N_('高')], ['medium', N_('中')], ['low', N_('低')]]; +/** Desktop shortcuts of the hint line: key → action (msgids). */ +const SHORTCUTS = [['R', N_('刷新')], ['F', N_('冻结')], ['D', N_('升级')], ['Q', N_('撤退选中干员')], ['X', N_('出售选中干员')], + ['Space', N_('准备就绪')], ['Esc', N_('关闭弹窗')]]; /** * Settings modal. @@ -55,25 +60,29 @@ export function SettingsModal({ open, onClose }) { const s = useSettings(); const [tested, setTested] = useState(false); const [touchUi] = useState(() => detectFeatures().coarse && !detectFeatures().fine); - return html`<${Modal} open=${open} onClose=${onClose} title="设置" micro="SETTINGS" width="7.4rem" - actions=${html`<${Button} variant="secondary" icon="book" class="set-guide" onClick=${() => openGuide(0)}>玩法说明 - <${Button} variant="primary" icon="check" onClick=${onClose}>完成`}> + return html`<${Modal} open=${open} onClose=${onClose} title=${t('设置')} micro="SETTINGS" width="7.4rem" + actions=${html`<${Button} variant="secondary" icon="book" class="set-guide" onClick=${() => openGuide(0)}>${t('玩法说明')} + <${Button} variant="primary" icon="check" onClick=${onClose}>${t('完成')}`}>
- <${Slider} label="背景音乐" micro="BGM" icon="play" value=${s.bgm} onInput=${(v) => updateSettings({ bgm: v })} /> - <${Slider} label="音效" micro="SFX" icon="signal" value=${s.sfx} - onInput=${(v) => { updateSettings({ sfx: v }); if (!tested) { setTested(true); setTimeout(() => setTested(false), 400); audio.sfx('click'); } }} /> - <${Toggle} label="静音" micro="MUTE" value=${s.muted} onChange=${(v) => updateSettings({ muted: v })} /> - <${Toggle} label="显示伤害数字" micro="DAMAGE NUMBERS" value=${s.damageNumbers} onChange=${(v) => updateSettings({ damageNumbers: v })} />
- 画面质量<${MicroLabel}>QUALITY + ${t('语言')}<${MicroLabel}>LANGUAGE + <${LangToggle} class="set-lang" /> +
+ <${Slider} label=${t('背景音乐')} micro="BGM" icon="play" value=${s.bgm} onInput=${(v) => updateSettings({ bgm: v })} /> + <${Slider} label=${t('音效')} micro="SFX" icon="signal" value=${s.sfx} + onInput=${(v) => { updateSettings({ sfx: v }); if (!tested) { setTested(true); setTimeout(() => setTested(false), 400); audio.sfx('click'); } }} /> + <${Toggle} label=${t('静音')} micro="MUTE" value=${s.muted} onChange=${(v) => updateSettings({ muted: v })} /> + <${Toggle} label=${t('显示伤害数字')} micro="DAMAGE NUMBERS" value=${s.damageNumbers} onChange=${(v) => updateSettings({ damageNumbers: v })} /> +
+ ${t('画面质量')}<${MicroLabel}>QUALITY
${QUALITY.map(([id, label]) => html``)} + class=${s.quality === id ? 'is-on' : ''} onClick=${() => updateSettings({ quality: id })}>${t(label)}`)}
${touchUi - ? html`

触屏操作:点击单位选中(撤退 / 出售)· 长按单位或卡牌查看详情 · 拖动部署后滑动选择朝向

` - : html`

快捷键:R 刷新 · F 冻结 · D 升级 · Q 撤退选中干员 · X 出售选中干员 · Space 准备就绪 · Esc 关闭弹窗 · 右键查看详情

`} + ? html`

${t('触屏操作:点击单位选中(撤退 / 出售)· 长按单位或卡牌查看详情 · 拖动部署后滑动选择朝向')}

` + : html`

${t('快捷键:')}${SHORTCUTS.map(([key, label]) => html`${key} ${t(label)} · `)}${t('右键查看详情')}

`}
`; } diff --git a/public/js/ui/toasts.js b/public/js/ui/toasts.js index d158dc92..3bd67048 100644 --- a/public/js/ui/toasts.js +++ b/public/js/ui/toasts.js @@ -8,6 +8,7 @@ import { h } from '../../vendor/preact.module.js'; import { useEffect, useReducer } from '../../vendor/hooks.module.js'; import htm from '../../vendor/htm.module.js'; import { ERR_TEXT } from '../../../shared/constants.js'; +import { t } from '../../../shared/i18n.js'; // no shared static vnodes (see components.js hFresh: htm's static cache would retain unmounted DOM) function hFresh(type, props, ...children) { @@ -87,17 +88,18 @@ export function dismissToast(id) { } /** - * Text for an error-ish value: NetError / {code,msg} / Error / string. + * Text for an error-ish value: NetError / {code,msg} / Error / string — in the current language (the Chinese texts are + * msgids: ERR_TEXT, net.js CLIENT_ERR_TEXT, a server `msg`; anything else is shown as it is). * @param {any} err * @returns {string} */ export function describeError(err) { - if (!err) return '发生未知错误'; - if (typeof err === 'string') return ERR_TEXT[err] || err; - if (err.code && ERR_TEXT[err.code]) return ERR_TEXT[err.code]; - if (typeof err.message === 'string' && err.message) return err.message; - if (typeof err.msg === 'string' && err.msg) return err.msg; - return '发生未知错误'; + if (!err) return t('发生未知错误'); + if (typeof err === 'string') return t(Object.hasOwn(ERR_TEXT, err) ? ERR_TEXT[err] : err); + if (err.code && Object.hasOwn(ERR_TEXT, err.code)) return t(ERR_TEXT[err.code]); + if (typeof err.message === 'string' && err.message) return t(err.message); + if (typeof err.msg === 'string' && err.msg) return t(err.msg); + return t('发生未知错误'); } /** diff --git a/test/i18n.test.js b/test/i18n.test.js new file mode 100644 index 00000000..c947d360 --- /dev/null +++ b/test/i18n.test.js @@ -0,0 +1,162 @@ +// i18n core (shared/i18n.js) and the UI string table (public/i18n/en.json): t() / tc() fallback and params, plurals, +// lists, data names, language state, the server message wire format (msg → wireMessage → translateWire), and the +// tooling's msgid derivation (tools/i18n.mjs). docs/I18N.md. + +import { test, afterEach } from 'node:test'; +import assert from 'node:assert/strict'; +import { readFileSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { + t, tc, N_, setLang, getLang, onLangChange, addMessages, setMessages, hasMessage, normalizeLang, format, setNameResolver, + tName, dn, msg, renderMessage, wireMessage, translateWire, DEFAULT_LANG, +} from '../shared/i18n.js'; +import { templateMsgid, paramName, quote, codemodSource, scanSource } from '../tools/i18n.mjs'; + +const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..'); +const EN = JSON.parse(readFileSync(path.join(ROOT, 'public/i18n/en.json'), 'utf8')); + +afterEach(() => { setLang('zh'); setMessages('en', {}); setNameResolver(null); }); + +test('t(): Chinese is the default and the msgid; a missing translation falls back to the Chinese text', () => { + assert.equal(getLang(), DEFAULT_LANG); + addMessages('en', { 整备区已满: 'Bench is full' }); + assert.equal(t('整备区已满'), '整备区已满', 'zh shows the msgid'); + setLang('en'); + assert.equal(t('整备区已满'), 'Bench is full'); + assert.equal(t('没有翻译的句子'), '没有翻译的句子', 'untranslated → Chinese'); + assert.equal(t(null), ''); + assert.equal(t(42), '42'); + assert.equal(hasMessage('整备区已满'), true); + assert.equal(hasMessage('没有翻译的句子'), false); + assert.equal(hasMessage('没有翻译的句子', 'zh'), true, 'the source language has every msgid'); +}); + +test('params: {name}, positional {0}, plural {n|one|other}, lists and missing values', () => { + addMessages('en', { '还剩 {n} 秒': '{n} {n|second|seconds} left', '{0}博士对敌方领袖造成的伤害超过20%!': 'Dr. {0} dealt over 20%!' }); + assert.equal(t('还剩 {n} 秒', { n: 3 }), '还剩 3 秒'); + setLang('en'); + assert.equal(t('还剩 {n} 秒', { n: 1 }), '1 second left'); + assert.equal(t('还剩 {n} 秒', { n: 5 }), '5 seconds left'); + assert.equal(t('{0}博士对敌方领袖造成的伤害超过20%!', ['阿米娅']), 'Dr. 阿米娅 dealt over 20%!', 'array params fill {0}'); + assert.equal(format('{a} / {b}', { a: 'x' }), 'x / {b}', 'a missing value keeps the placeholder'); + assert.equal(format('{names}', { names: ['甲', '乙'] }, { lang: 'zh' }), '甲、乙'); + assert.equal(format('{names}', { names: ['A', 'B'] }, { lang: 'en' }), 'A, B'); + assert.equal(format('官方{0:0%}', { 0: 1 }), '官方{0:0%}', 'official format placeholders are not ours: untouched'); + assert.equal(format('{constructor}', {}), '{constructor}', 'no prototype lookups'); +}); + +test('tc(): a context key wins, else the plain msgid; Chinese shows the msgid', () => { + addMessages('en', { 'toggle::关闭': 'Off', 关闭: 'Close' }); + assert.equal(tc('toggle', '关闭'), '关闭'); + setLang('en'); + assert.equal(tc('toggle', '关闭'), 'Off'); + assert.equal(tc('dialog', '关闭'), 'Close'); + assert.equal(t('关闭'), 'Close'); + assert.equal(N_('标记'), '标记', 'N_ only marks a msgid'); +}); + +test('data names: { dn } params and tName go through the resolver, only outside Chinese; player names never do', () => { + setNameResolver((name) => ({ 琳琅诗怀雅: 'Swire the Elegant Wit', 阿米娅: 'Amiya' })[name] || name); + addMessages('en', { '{names}只能部署在召唤者攻击范围内,已退回整备区': '{names} were returned to the Bench', '{name}博士中途退出了模拟': 'Dr. {name} left the simulation' }); + const m = msg('{names}只能部署在召唤者攻击范围内,已退回整备区', { names: ['琳琅诗怀雅', '无名'].map(dn) }); + assert.equal(translateWire(wireMessage(m)), '琳琅诗怀雅、无名只能部署在召唤者攻击范围内,已退回整备区', 'zh: names as sent'); + setLang('en'); + assert.equal(translateWire(wireMessage(m)), 'Swire the Elegant Wit, 无名 were returned to the Bench'); + // a player called 阿米娅 stays 阿米娅 (plain string param, not dn) + assert.equal(translateWire(wireMessage(msg('{name}博士中途退出了模拟', { name: '阿米娅' }))), 'Dr. 阿米娅 left the simulation'); + assert.equal(tName('阿米娅'), 'Amiya'); + setLang('zh'); + assert.equal(tName('阿米娅'), '阿米娅'); +}); + +test('language state: setLang normalizes, notifies listeners once per change; normalizeLang', () => { + const seen = []; + const off = onLangChange((l, prev) => seen.push(`${prev}>${l}`)); + assert.equal(setLang('en-US'), true); + assert.equal(setLang('en'), false, 'no change, no event'); + assert.equal(setLang('xx'), true, 'unknown → default zh'); + off(); + setLang('en'); + assert.deepEqual(seen, ['zh>en', 'en>zh']); + assert.equal(normalizeLang('zh_CN'), 'zh'); + assert.equal(normalizeLang('EN'), 'en'); + assert.equal(normalizeLang('fr'), null); + assert.equal(normalizeLang(undefined), null); +}); + +test('server wire format: text keeps the Chinese rendering for older clients; params are sanitized', () => { + assert.deepEqual(wireMessage('整备区已满,获得的装备已销毁'), { text: '整备区已满,获得的装备已销毁' }); + const w = wireMessage(msg('【{label}】层数达成,获得{gain}资金', { label: dn('奇迹'), gain: 20, evil: { x: 1 }, 'bad key': 1 })); + assert.deepEqual(w, { text: '【奇迹】层数达成,获得20资金', msgid: '【{label}】层数达成,获得{gain}资金', params: { label: { dn: '奇迹' }, gain: 20, evil: null } }); + assert.equal(renderMessage(msg('{who}:获得{name}', { who: dn('歌蕾蒂娅'), name: dn('斯卡蒂') })), '歌蕾蒂娅:获得斯卡蒂'); + // a frame from an older server (no msgid): its text is the msgid + addMessages('en', { 隐秘核心已解锁: 'Hidden Core unlocked' }); + setLang('en'); + assert.equal(translateWire({ text: '隐秘核心已解锁' }), 'Hidden Core unlocked'); + assert.equal(translateWire({ text: 'Doctor 7 博士的目标生命值已耗尽' }), 'Doctor 7 博士的目标生命值已耗尽', 'unknown text shows as is'); + assert.equal(translateWire(null), ''); +}); + +test('public/i18n/en.json: valid, English values, placeholders kept, the pilot screens and server messages translated', () => { + const entries = Object.entries(EN).filter(([k]) => !k.startsWith('_')); + assert.ok(entries.length > 800, `seeded from PR #70: ${entries.length}`); + for (const [k, v] of entries) { + assert.equal(typeof v, 'string', k); + assert.ok(v.trim(), `empty translation for ${k}`); + assert.ok(!/[一-鿿]/.test(v.replace(/\{[^{}]*\}/g, '')), `Chinese left in the translation of ${k}: ${v}`); + const want = new Set([...k.matchAll(/\{([A-Za-z0-9_$]+)\}/g)].map((m) => m[1])); + const have = new Set([...v.matchAll(/\{([A-Za-z0-9_$]+)(?:\|[^{}]*)?\}/g)].map((m) => m[1])); + for (const p of want) assert.ok(have.has(p), `${k}: {${p}} missing in "${v}"`); + } + for (const k of ['开始', '博士代号', '设置', '语言', '同盟模拟', '创建同盟', '加入同盟', '开始模拟', 'toggle::关闭', '整备区已满', + '{names}只能部署在召唤者攻击范围内,已退回整备区', '{name}博士的目标生命值已耗尽', '联防阶段:{names} 迎战突破防线的敌人', '【维多利亚】获得{n}件维式重锤']) { + assert.ok(EN[k], `en.json lacks ${k}`); + } +}); + +test('every msgid of the pilot screens, the shell and the server messages is in public/i18n/en.json', async () => { + const files = ['public/js/screens/title.js', 'public/js/screens/lobby.js', 'public/js/screens/room.js', 'public/js/ui/settings.js', + 'public/js/main.js', 'public/js/ui/toasts.js', 'server/match/match/messaging.js', 'server/match/player/placement.js', + 'server/match/player/basics.js', 'server/match/player/acquire.js', 'server/match/effectsMeta.js', 'server/match/match/settle.js', + 'server/match/match/platform.js', 'server/match/match/unitePhase.js', 'server/match/match/bossRounds.js', + 'server/sim/content/bonds/addon/meta.js', 'server/sim/content/bonds/core.js']; + const missing = []; + for (const f of files) { + const { msgids, literals } = await scanSource(readFileSync(path.join(ROOT, f), 'utf8'), f); + const server = f.startsWith('server/'); + for (const m of msgids) if ((!server || m.via === 'msg' || m.via === 'server') && !EN[m.msgid]) missing.push(`${f}:${m.line} ${m.msgid}`); + if (!server) for (const l of literals) if (!l.reason) missing.push(`${f}:${l.line} not wrapped: ${l.msgid}`); + } + assert.deepEqual(missing, []); +}); + +test('tools/i18n.mjs: msgids of template literals name their params; the codemod wraps text, attributes and nested strings', async () => { + assert.equal(paramName('poolN', 0), 'poolN'); + assert.equal(paramName('info.rounds', 1), 'rounds'); + assert.equal(paramName('ids.length', 0), 'n'); + assert.equal(paramName('MAX_SEATS - 1', 2), '2'); + assert.deepEqual(templateMsgid(['战场随机(共', '张)'], ['ids.length']), { msgid: '战场随机(共{n}张)', params: [{ name: 'n', src: 'ids.length' }] }); + assert.equal(templateMsgid(['', ' / ', ''], ['a.x', 'b.x']).msgid, '{x} / {x2}', 'same name from two expressions: numbered'); + assert.equal(quote("it's\n"), "'it\\'s\\n'"); + const src = [ + "import { html } from './components.js';", + "const TABLE = { a: '甲' };", + "export function V({ name, n }) {", + " if (name === '比较') return null;", + " toast(`剩余 ${n} 名`, 'warn');", + " return html`

你好 ${name || '博士'} 世界${n} 回合

`;", + " const sample = '字体样例'; // i18n-ignore", + "}", + ].join('\n'); + const out = await codemodSource(src, path.join(ROOT, 'public/js/ui/x.js')); + assert.match(out.src, /import \{ t, N_ \} from '\.\.\/\.\.\/\.\.\/shared\/i18n\.js';/); + assert.match(out.src, /const TABLE = \{ a: N_\('甲'\) \};/, 'module level: marked, not translated'); + assert.match(out.src, /name === '比较'/, 'compared literals are left alone'); + assert.match(out.src, /toast\(t\('剩余 \{n\} 名', \{ n \}\), 'warn'\)/); + assert.match(out.src, /title=\$\{t\('提示 \{n\}', \{ n \}\)\}/); + // a child that is not a plain value splits the run; the string inside it is wrapped too + assert.match(out.src, />\$\{t\('你好'\)\} \$\{name \|\| t\('博士'\)\} \$\{t\('世界'\)\}/); + assert.match(out.src, /<\/b> \$\{t\('回合'\)\}<\/p>/); + assert.equal(out.manual.length, 1); +}); diff --git a/test/ui/i18n.e2e.test.js b/test/ui/i18n.e2e.test.js new file mode 100644 index 00000000..f75e3d0f --- /dev/null +++ b/test/ui/i18n.e2e.test.js @@ -0,0 +1,72 @@ +// Browser check of the language switch (puppeteer-core + system Chrome; opt-in: SP_E2E=1, ~20 s): +// +// SP_E2E=1 node --test test/ui/i18n.e2e.test.js +// +// The title screen opens in Chinese; 中文 | English → English in place (no reload): the title, the start button, the +// connection line, , the tab title; the choice is kept across a reload (localStorage sp.pref.lang) and the +// game-data overlay (data/i18n/en.json) is applied; `?lang=zh` switches back and leaves the address bar. No console / +// page / request errors. docs/I18N.md. + +import { test, describe, before, after } from 'node:test'; +import assert from 'node:assert/strict'; +import { CHROME, hasChrome, sleep } from '../e2e/client.mjs'; +import { NAME_MAX_LEN } from '../../shared/constants.js'; + +const ENABLED = process.env.SP_E2E === '1' && hasChrome(); + +describe('language switch on the title screen', { skip: !ENABLED && 'set SP_E2E=1 (Chrome)' }, () => { + let srv; + let browser; + let base; + before(async () => { + const { startServer } = await import('../../server/index.js'); + const puppeteer = (await import('puppeteer-core')).default; + srv = await startServer({ port: 0, host: '127.0.0.1', quiet: true }); + base = `http://127.0.0.1:${srv.port}`; + browser = await puppeteer.launch({ executablePath: CHROME, headless: true, args: ['--no-sandbox', '--force-device-scale-factor=1'] }); + }); + after(async () => { await browser?.close(); await srv?.close(); }); + + const text = (page, sel) => page.$eval(sel, (el) => el.textContent.replace(/\s+/g, ' ').trim()); + + test('中文 by default; English in place, kept across a reload; ?lang=zh back to Chinese', async () => { + const page = await browser.newPage(); + await page.setViewport({ width: 1600, height: 900 }); + const problems = []; + page.on('console', (m) => { if (m.type() === 'error') problems.push(`console: ${m.text()}`); }); + page.on('pageerror', (e) => problems.push(`pageerror: ${e.message}`)); + page.on('response', (r) => { if (r.status() >= 400 && !/fonts\.(googleapis|gstatic)/.test(r.url())) problems.push(`http ${r.status()}: ${r.url()}`); }); + await page.goto(`${base}/`, { waitUntil: 'networkidle0' }); + await page.waitForSelector('.title-screen [data-testid="lang-toggle"]'); + assert.equal(await text(page, '.title-cn'), '卫戍协议:盟约'); + assert.equal(await text(page, '.title-login .btn--primary'), '开始'); + assert.equal(await page.evaluate(() => document.documentElement.lang), 'zh-CN'); + + await page.click('[data-testid="lang-toggle"] button[data-lang="en"]'); + await page.waitForFunction(() => document.querySelector('.title-cn')?.textContent.includes('Stronghold Protocol'), { timeout: 8000 }); + assert.equal(await text(page, '.title-cn'), 'Stronghold Protocol: Alliance'); + assert.equal(await text(page, '.title-login .btn--primary'), 'Start'); + assert.match(await text(page, '.title-tag'), /^Allocate Funds and Operators/); + assert.match(await text(page, '.title-conn'), /Connect|Ready to connect/); + assert.equal(await page.$eval('.title-login input', (el) => el.placeholder), `Callsign (max ${NAME_MAX_LEN} chars)`); + assert.deepEqual(await page.evaluate(() => ({ lang: document.documentElement.lang, title: document.title, pref: localStorage.getItem('sp.pref.lang') })), + { lang: 'en', title: 'Stronghold Protocol: Alliance · Web Simulation', pref: '"en"' }); + // the game texts follow (data/i18n/en.json applied by data.js) + await page.waitForFunction(() => globalThis.__SP__?.data?.locale() === 'en', { timeout: 8000 }); + assert.equal(await page.evaluate(() => globalThis.__SP__.data.get('config').modes.mode_multi_abyss.name), 'Ultimate Simulation'); + + await page.reload({ waitUntil: 'networkidle0' }); + await page.waitForSelector('.title-screen .title-cn'); + assert.equal(await text(page, '.title-cn'), 'Stronghold Protocol: Alliance', 'the choice survives a reload'); + assert.equal(await text(page, '.title-login .btn--primary'), 'Start'); + + await page.goto(`${base}/?lang=zh`, { waitUntil: 'networkidle0' }); + await page.waitForSelector('.title-screen .title-cn'); + await sleep(200); + assert.equal(await text(page, '.title-cn'), '卫戍协议:盟约'); + assert.equal(await page.evaluate(() => location.search), '', '?lang is removed from the address bar'); + assert.equal(await page.evaluate(() => localStorage.getItem('sp.pref.lang')), '"zh"'); + assert.deepEqual(problems, []); + await page.close(); + }); +}); diff --git a/tools/i18n.mjs b/tools/i18n.mjs new file mode 100644 index 00000000..efcd7227 --- /dev/null +++ b/tools/i18n.mjs @@ -0,0 +1,632 @@ +#!/usr/bin/env node +// tools/i18n.mjs — UI string tooling for the gettext-style i18n (shared/i18n.js, public/i18n/.json; docs/I18N.md). +// +// node tools/i18n.mjs extract [paths…] [--list] [--json] +// per file: the msgids passed to t() / tc() / N_() / msg(), and the Chinese literals still shown untranslated +// (string literals, template literals, html`` text and attribute values outside those calls; comments, +// console.* and Error messages are ignored). --list prints each literal with its line. +// node tools/i18n.mjs check [paths…] [--lang en] [--strict] [--stale] +// msgids the code uses that public/i18n/.json lacks (exit 1 with --strict when any); --stale also lists +// entries no scanned code uses (not an error: phase 2 wraps the rest of the UI later). +// node tools/i18n.mjs codemod [--write] +// wrap Chinese literals: html`` text runs / attribute values → ${t('…')}, plain strings → t('…'), template +// literals → t('…{name}…', { name }); adds the import. Module-level literals (evaluated once, before a language +// can change) are only marked N_('…') and listed: call t() where they are shown. Literals compared, used as keys, +// or passed to string methods are left alone, and so is a line marked `// i18n-ignore`. A text run with a child +// that is not a plain value (`${a || b}`, a vnode) is split into its static pieces. Prints a summary; --write saves +// the files. Review the result. +// node tools/i18n.mjs seed --from [--lang en] [--all] [--write] +// fill public/i18n/.json from a flat { msgid: translation } map for the msgids the code uses (--all: also +// for the Chinese literals not wrapped yet, under the msgid the codemod would give them). Existing entries win. +// +// Default paths: public/js, shared, server (extract / seed skip server/sim, whose strings are game logic; check reads +// its msg() and ctx.toast texts too). Server texts: a Chinese literal passed to m.toast / ctx.toast / tickerText is a +// msgid (the client translates the text it receives), as is the first argument of msg(). Message ids: the Chinese text itself; a template literal's expressions become named params (paramName()). +// Needs the dev dependencies (acorn, which eslint brings). + +import { readFileSync, writeFileSync, readdirSync, statSync, existsSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..'); +const CJK = /[\u3400-\u9fff\uf900-\ufaff\u3000-\u303f\uff01-\uff60]/; +const HAN = /[\u3400-\u9fff\uf900-\ufaff]/; +const DEFAULT_ROOTS = ['public/js', 'shared', 'server']; +const SKIP_DIRS = new Set(['node_modules', 'vendor', 'assets', 'fonts', 'dev']); +/** Calls whose first argument is a msgid (tc: the second, keyed `context::msgid`). */ +const MSGID_CALLS = new Set(['t', 'N_', 'msg']); +/** + * Server messaging methods (m.toast, ctx.toast, this.tickerText …, called on an object): a Chinese string literal they + * get is sent as text and translated by the client as a msgid (main.js translateWire). + */ +const SERVER_TEXT_CALLS = new Set(['toast', 'tickerText', 'ticker']); +/** Calls whose arguments are never UI text to wrap. */ +const SKIP_CALLS = new Set(['t', 'tc', 'N_', 'msg', 'tName', 'dn', 'format', 'renderMessage', 'require', 'import']); +/** String methods: a literal argument is data, not display text. */ +const STRING_METHODS = new Set(['includes', 'startsWith', 'endsWith', 'indexOf', 'lastIndexOf', 'replace', 'replaceAll', 'split', + 'match', 'matchAll', 'test', 'search', 'has', 'get', 'set', 'delete', 'localeCompare', 'padStart', 'padEnd', 'join', 'add']); +/** + * Object tables of msgids defined without N_() (their values are translated where they are shown): file → names. + * `check` treats their string values as msgids. + */ +const MSGID_TABLES = [ + ['shared/constants.js', ['ERR_TEXT', 'DIFFICULTY_NAMES']], + ['public/js/net.js', ['CLIENT_ERR_TEXT']], + ['public/js/main.js', ['CLOSE_REASON']], +]; + +let acornMod = null; +async function acorn() { + if (acornMod) return acornMod; + try { acornMod = await import('acorn'); } catch { + throw new Error('tools/i18n.mjs needs the dev dependencies (npm install): acorn comes with eslint'); + } + return acornMod; +} + +// ===== message ids =================================================================================================== + +/** + * The param name of a template-literal expression: an identifier keeps its name, `a.b.c` → `c` (`x.length` → `n`); + * anything else is positional (`0`, `1` …, its index among the expressions). + * @param {string} src expression source + * @param {number} index + */ +export function paramName(src, index) { + const s = String(src).trim(); + if (/^[A-Za-z_$][\w$]*$/.test(s)) return s; + const m = s.match(/^[A-Za-z_$][\w$]*(?:\??\.[A-Za-z_$][\w$]*)+$/); + if (m) { + const last = s.split(/\??\./).pop(); + return last === 'length' ? 'n' : last; + } + return String(index); +} + +/** + * Msgid and params of a template literal from its static parts and expression sources. + * @param {string[]} quasis cooked static parts (n + 1) + * @param {string[]} exprs expression sources (n) + * @returns {{ msgid: string, params: { name: string, src: string }[] }} + */ +export function templateMsgid(quasis, exprs) { + const names = new Map(); // src → name + const used = new Set(); + const params = []; + let msgid = quasis[0] ?? ''; + exprs.forEach((src, i) => { + let name = names.get(src); + if (!name) { + let base = paramName(src, i); + name = base; + for (let k = 2; used.has(name); k++) name = `${base}${k}`; + names.set(src, name); + used.add(name); + params.push({ name, src }); + } + msgid += `{${name}}${quasis[i + 1] ?? ''}`; + }); + return { msgid, params }; +} + +/** JS source of a single-quoted string. */ +export function quote(s) { + return `'${String(s).replace(/\\/g, '\\\\').replace(/'/g, "\\'").replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029')}'`; +} + +/** Source of a params object for t(): `{ a, b: expr, 0: expr }`. */ +function paramsSource(params) { + if (!params.length) return ''; + return `, { ${params.map(({ name, src }) => (name === src ? name : `${name}: ${src}`)).join(', ')} }`; +} + +// ===== AST helpers =================================================================================================== + +/** Generic AST walk with ancestors (enter(node, ancestors) → false skips the children). */ +function walk(node, enter, ancestors = []) { + if (!node || typeof node.type !== 'string') return; + if (enter(node, ancestors) === false) return; + ancestors.push(node); + for (const key of Object.keys(node)) { + if (key === 'loc' || key === 'range' || key === 'start' || key === 'end') continue; + const v = node[key]; + if (Array.isArray(v)) { for (const c of v) if (c && typeof c.type === 'string') walk(c, enter, ancestors); } else if (v && typeof v.type === 'string') walk(v, enter, ancestors); + } + ancestors.pop(); +} + +const calleeName = (call) => { + const c = call?.callee; + if (!c) return null; + if (c.type === 'Identifier') return c.name; + if (c.type === 'MemberExpression' && !c.computed && c.property.type === 'Identifier') return c.property.name; + return null; +}; +const isConsoleCall = (call) => call?.callee?.type === 'MemberExpression' && call.callee.object?.type === 'Identifier' && call.callee.object.name === 'console'; + +/** Why a literal must not be wrapped (null = wrap it). */ +function skipReason(node, ancestors) { + const parent = ancestors[ancestors.length - 1]; + for (let i = ancestors.length - 1; i >= 0; i--) { + const a = ancestors[i]; + if (a.type === 'CallExpression') { + if (isConsoleCall(a)) return 'console'; + const name = calleeName(a); + if (SKIP_CALLS.has(name) && a.callee.type === 'Identifier') return 'in-call'; + } + if (a.type === 'NewExpression' && a.callee.type === 'Identifier' && /Error$/.test(a.callee.name)) return 'error'; + if (a.type === 'ThrowStatement') return 'error'; + if (a.type === 'ImportDeclaration' || a.type === 'ExportAllDeclaration' || (a.type === 'ExportNamedDeclaration' && a.source)) return 'import'; + } + if (!parent) return null; + if (parent.type === 'Property' && parent.key === node && !parent.computed) return 'key'; + if (parent.type === 'MemberExpression' && parent.property === node) return 'key'; + if (parent.type === 'BinaryExpression' && ['===', '!==', '==', '!=', 'in', 'instanceof'].includes(parent.operator)) return 'compare'; + if (parent.type === 'SwitchCase' && parent.test === node) return 'compare'; + if (parent.type === 'CallExpression' && parent.arguments.includes(node)) { + const name = calleeName(parent); + if (parent.callee.type === 'MemberExpression' && STRING_METHODS.has(name)) return 'string-method'; + } + if (parent.type === 'TaggedTemplateExpression') return 'tagged'; + return null; +} + +/** Whether a node sits in a function (render time) rather than at module level (evaluated once at load). */ +const inFunction = (ancestors) => ancestors.some((a) => a.type === 'FunctionDeclaration' || a.type === 'FunctionExpression' || a.type === 'ArrowFunctionExpression' || a.type === 'MethodDefinition'); + +/** + * Split an html`` template into its text runs and attribute values with Chinese (htm syntax: the static parts are + * HTML-like, `${}` are children or attribute values). A text run is the text between two tags, `${}` children included + * when they are simple values (identifiers, member chains, literals, String(…)); a run with other children (vnodes, + * components, conditionals) is split into its static pieces. + * @param {any} tpl TemplateLiteral node of an html`` tag + * @returns {{ kind: 'text'|'attr', start: number, end: number, quasis: string[], exprs: any[], attr?: string }[]} + */ +function htmlSegments(tpl) { + const out = []; + const qs = tpl.quasis; + let state = 'TEXT'; + let quoteCh = null; + /** @type {{ parts: ({ text: string, from: number, to: number } | { expr: any, from: number, to: number })[] } | null} */ + let run = null; + let attr = null; + const simple = (e) => e.type === 'Identifier' || e.type === 'MemberExpression' || e.type === 'Literal' || (e.type === 'CallExpression' && calleeName(e) === 'String'); + const textSeg = (parts) => { + const quasis = []; + const exprs = []; + let cur = ''; + for (const p of parts) { if ('expr' in p) { quasis.push(cur); cur = ''; exprs.push(p.expr); } else cur += p.text; } + quasis.push(cur); + const lead = quasis[0].match(/^\s*/)[0]; + const trail = quasis[quasis.length - 1].match(/\s*$/)[0]; + if (quasis.length === 1 && lead.length === quasis[0].length) return null; + quasis[0] = quasis[0].slice(lead.length); + quasis[quasis.length - 1] = quasis[quasis.length - 1].slice(0, quasis[quasis.length - 1].length - trail.length); + const first = parts[0]; + const last = parts[parts.length - 1]; + const start = first.from + ('expr' in first ? 0 : lead.length); + const end = last.to - ('expr' in last ? 0 : trail.length); + return { kind: 'text', start, end, quasis, exprs }; + }; + const flushRun = () => { + if (!run) return; + const parts = run.parts; + run = null; + if (!parts.some((p) => !('expr' in p) && HAN.test(p.text))) return; + if (parts.every((p) => !('expr' in p) || simple(p.expr))) { + const seg = textSeg(parts); + if (seg) out.push(seg); + return; + } + // split around the non-simple children: each piece of static text (with its simple neighbours) on its own + let piece = []; + const flushPiece = () => { + if (piece.some((p) => !('expr' in p) && HAN.test(p.text))) { + // drop simple exprs at the edges of a piece only if they are not adjacent to text? keep them: they are values + const seg = textSeg(piece); + if (seg) out.push(seg); + } + piece = []; + }; + for (const p of parts) { + if ('expr' in p && !simple(p.expr)) { flushPiece(); continue; } + piece.push(p); + } + flushPiece(); + }; + for (let qi = 0; qi < qs.length; qi++) { + const q = qs[qi]; + const text = q.value.raw; + const base = q.start; + let i = 0; + while (i < text.length) { + if (state === 'TEXT') { + const lt = text.indexOf('<', i); + const stop = lt < 0 ? text.length : lt; + if (stop > i) { + if (!run) run = { parts: [] }; + run.parts.push({ text: text.slice(i, stop), from: base + i, to: base + stop }); + } + if (lt < 0) break; + flushRun(); + if (text.startsWith('', i); + if (e < 0) break; + state = 'TEXT'; + i = e + 3; + continue; + } + if (state === 'TAG') { + const c = text[i]; + if (c === '>') { state = 'TEXT'; i++; continue; } + if (c === '"' || c === "'") { + const nm = text.slice(0, i).match(/([A-Za-z_:][-\w:.]*)\s*=\s*$/); + attr = { name: nm ? nm[1] : null, start: base + i, parts: [] }; + quoteCh = c; + state = 'ATTRV'; + i++; + continue; + } + i++; + continue; + } + // ATTRV + const e = text.indexOf(quoteCh, i); + if (e < 0) { attr.parts.push({ text: text.slice(i) }); break; } + attr.parts.push({ text: text.slice(i, e) }); + const quasis = []; + const exprs = []; + let cur = ''; + for (const p of attr.parts) { if ('expr' in p) { quasis.push(cur); cur = ''; exprs.push(p.expr); } else cur += p.text; } + quasis.push(cur); + if (attr.name && quasis.some((x) => HAN.test(x))) out.push({ kind: 'attr', attr: attr.name, start: attr.start, end: base + e + 1, quasis, exprs }); + attr = null; + state = 'TAG'; + i = e + 1; + } + if (qi < tpl.expressions.length) { + const ex = tpl.expressions[qi]; + // the `${…}` spans from the end of this static part to the start of the next one + if (state === 'TEXT') { + if (!run) run = { parts: [] }; + run.parts.push({ expr: ex, from: q.end, to: qs[qi + 1].start }); + } else if (state === 'ATTRV') { + attr.parts.push({ expr: ex }); + } + } + } + flushRun(); + return out; +} + +// ===== scanning a file =============================================================================================== + +/** + * Scan a source file. + * @param {string} src + * @param {string} file label + * @returns {Promise<{ msgids: { msgid: string, line: number }[], literals: any[] }>} + * literals: { kind: 'str'|'tpl'|'text'|'attr', start, end, line, msgid, params, module: boolean, reason: string|null } + */ +export async function scanSource(src, file = '') { + const { parse } = await acorn(); + let ast; + try { + ast = parse(src, { ecmaVersion: 'latest', sourceType: 'module', locations: true, allowHashBang: true }); + } catch (e) { + throw new Error(`${file}: cannot parse (${e.message})`, { cause: e }); + } + const msgids = []; + const literals = []; + const lineOf = (pos) => src.slice(0, pos).split('\n').length; + // a line marked `i18n-ignore` (in a comment) holds no UI text (font samples, data keys …) + const ignored = new Set(src.split('\n').map((l, i) => (/i18n-ignore/.test(l) ? i + 1 : 0)).filter(Boolean)); + walk(ast, (node, ancestors) => { + if (node.type === 'CallExpression' && node.callee.type === 'Identifier' && node.callee.name === 'tc') { + const [c, a] = node.arguments; + if (c?.type === 'Literal' && a?.type === 'Literal' && typeof a.value === 'string') msgids.push({ msgid: `${c.value}::${a.value}`, line: lineOf(a.start), via: 'tc' }); + } + if (node.type === 'CallExpression' && node.callee.type === 'Identifier' && MSGID_CALLS.has(node.callee.name)) { + const a = node.arguments[0]; + if (a && a.type === 'Literal' && typeof a.value === 'string') msgids.push({ msgid: a.value, line: lineOf(a.start), via: node.callee.name }); + else if (a && a.type === 'TemplateLiteral' && !a.expressions.length) msgids.push({ msgid: a.quasis[0].value.cooked, line: lineOf(a.start), via: node.callee.name }); + } + if (node.type === 'TaggedTemplateExpression' && node.tag.type === 'Identifier' && node.tag.name === 'html') { + for (const seg of htmlSegments(node.quasi)) { + const { msgid, params } = templateMsgid(seg.quasis, seg.exprs.map((e) => src.slice(e.start, e.end))); + literals.push({ kind: seg.kind, attr: seg.attr, start: seg.start, end: seg.end, line: lineOf(seg.start), msgid, params, exprs: seg.exprs.map((e) => [e.start, e.end]), module: !inFunction(ancestors), reason: null }); + } + // expressions inside are walked normally (nested html``, strings in ${…}) + return true; + } + if (node.type === 'Literal' && typeof node.value === 'string' && HAN.test(node.value)) { + const parent = ancestors[ancestors.length - 1]; + if (parent && parent.type === 'TemplateLiteral') return true; + // an argument of m.toast / ctx.toast / tickerText, directly or as a branch of `a ? '…' : '…'` / `x || '…'` + let arg = node; + let k = ancestors.length - 1; + while (k >= 0 && ((ancestors[k].type === 'ConditionalExpression' && ancestors[k].test !== arg) || ancestors[k].type === 'LogicalExpression')) { arg = ancestors[k]; k--; } + const call = ancestors[k]; + if (call && call.type === 'CallExpression' && call.callee.type === 'MemberExpression' && SERVER_TEXT_CALLS.has(calleeName(call)) && call.arguments.includes(arg)) { + msgids.push({ msgid: node.value, line: lineOf(node.start), via: 'server' }); + return true; + } + const line = lineOf(node.start); + const reason = ignored.has(line) ? 'ignored' : skipReason(node, ancestors); + literals.push({ kind: 'str', start: node.start, end: node.end, line, msgid: node.value, params: [], module: !inFunction(ancestors), reason }); + return true; + } + if (node.type === 'TemplateLiteral') { + const parent = ancestors[ancestors.length - 1]; + if (parent && parent.type === 'TaggedTemplateExpression') return true; + const cooked = node.quasis.map((q) => q.value.cooked ?? q.value.raw); + if (!cooked.some((s) => HAN.test(s))) return true; + const reason = ignored.has(lineOf(node.start)) ? 'ignored' : skipReason(node, ancestors); + const { msgid, params } = templateMsgid(cooked, node.expressions.map((e) => src.slice(e.start, e.end))); + literals.push({ kind: 'tpl', start: node.start, end: node.end, line: lineOf(node.start), msgid, params, exprs: node.expressions.map((e) => [e.start, e.end]), module: !inFunction(ancestors), reason }); + return true; + } + return true; + }); + return { msgids, literals }; +} + +/** String values of `const NAME = { … }` / `Object.freeze({ … })` object tables (MSGID_TABLES). */ +async function tableMsgids(src, names) { + const { parse } = await acorn(); + const ast = parse(src, { ecmaVersion: 'latest', sourceType: 'module' }); + const out = []; + walk(ast, (node) => { + if (node.type !== 'VariableDeclarator' || node.id.type !== 'Identifier' || !names.includes(node.id.name)) return true; + walk(node.init, (n) => { + if (n.type === 'Property' && n.value.type === 'Literal' && typeof n.value.value === 'string' && HAN.test(n.value.value)) out.push(n.value.value); + return true; + }); + return false; + }); + return out; +} + +/** + * JS files under the paths. server/sim is skipped unless `sim` (its strings are game logic and data; only the messages + * it sends through ctx.toast matter, and `check` reads those). + */ +function listFiles(paths, { sim = false } = {}) { + const out = []; + const visit = (abs) => { + const st = statSync(abs); + if (st.isDirectory()) { + for (const name of readdirSync(abs).sort()) { + if (SKIP_DIRS.has(name) || name.startsWith('.')) continue; + const rel = path.relative(ROOT, path.join(abs, name)).split(path.sep).join('/'); + if (rel === 'server/sim' && !sim) continue; + visit(path.join(abs, name)); + } + } else if (/\.(m?js)$/.test(abs)) out.push(abs); + }; + for (const p of paths) visit(path.resolve(ROOT, p)); + return out; +} + +const rel = (abs) => path.relative(ROOT, abs).split(path.sep).join('/'); + +// ===== codemod ======================================================================================================= + +/** Relative import path from a file to shared/i18n.js. */ +function importPath(absFile) { + let r = path.relative(path.dirname(absFile), path.join(ROOT, 'shared', 'i18n.js')).split(path.sep).join('/'); + if (!r.startsWith('.')) r = `./${r}`; + return r; +} + +/** + * Rewrite a source: wrap its Chinese literals. Returns the new source and what was done. + * @param {string} src + * @param {string} absFile + */ +export async function codemodSource(src, absFile) { + const { literals } = await scanSource(src, rel(absFile)); + const manual = []; + const skipped = []; + let needT = false; + let needN = false; + /** literal → { start, end, make(paramSrc) } (the text is built once nested edits are known) */ + const plans = []; + for (const l of literals) { + if (l.reason) { skipped.push(l); continue; } + if (l.kind === 'text' || l.kind === 'attr') { + plans.push({ l, start: l.start, end: l.end, make: (p) => `\${t(${quote(l.msgid)}${p})}` }); + needT = true; + if (l.module) manual.push(l); + continue; + } + if (l.module) { + if (l.kind === 'str') { plans.push({ l, start: l.start, end: l.end, make: () => `N_(${src.slice(l.start, l.end)})` }); needN = true; } + manual.push(l); + continue; + } + plans.push({ l, start: l.start, end: l.end, make: (p) => `t(${quote(l.msgid)}${p})` }); + needT = true; + } + // a plan inside another one (a string in a template's ${…}) is applied to that template's param source instead + const inner = (outer, x) => x !== outer && x.start >= outer.start && x.end <= outer.end; + const top = plans.filter((p) => !plans.some((o) => inner(o, p))); + const rewrite = (from, to, nested) => { + let text = src.slice(from, to); + for (const n of nested.filter((x) => x.start >= from && x.end <= to).sort((a, b) => b.start - a.start)) { + text = text.slice(0, n.start - from) + build(n) + text.slice(n.end - from); + } + return text; + }; + const build = (plan) => { + const nested = plans.filter((x) => inner(plan, x) && !plans.some((o) => o !== plan && inner(plan, o) && inner(o, x))); + const { params = [], exprs = [] } = plan.l; + // params come from the expressions in order; the same expression source maps to one param + const srcOf = new Map(); + exprs.forEach(([a, b]) => { const orig = src.slice(a, b); if (!srcOf.has(orig)) srcOf.set(orig, rewrite(a, b, nested)); }); + const ps = params.map(({ name, src: orig }) => ({ name, src: srcOf.get(orig) ?? orig })); + return plan.make(paramsSource(ps)); + }; + const edits = top.map((p) => ({ start: p.start, end: p.end, text: build(p) })).sort((a, b) => b.start - a.start); + let out = src; + for (const e of edits) out = out.slice(0, e.start) + e.text + out.slice(e.end); + const names = [needT && 't', needN && 'N_'].filter(Boolean); + if (names.length) { + const imp = importPath(absFile); + const re = new RegExp(`import\\s*\\{([^}]*)\\}\\s*from\\s*['"]${imp.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&')}['"];?`); + const m = out.match(re); + if (m) { + const have = m[1].split(',').map((s) => s.trim()).filter(Boolean); + const want = [...new Set([...have, ...names])]; + out = out.replace(re, `import { ${want.join(', ')} } from '${imp}';`); + } else { + // after the last import statement + const imports = [...out.matchAll(/^import[^;]*;[^\n]*\n/gm)]; + const at = imports.length ? imports[imports.length - 1].index + imports[imports.length - 1][0].length : 0; + out = `${out.slice(0, at)}import { ${names.join(', ')} } from '${imp}';\n${out.slice(at)}`; + } + } + return { src: out, edits: plans.length, manual, skipped }; +} + +// ===== commands ====================================================================================================== + +function parseFlags(argv) { + const flags = { _: [] }; + for (let i = 0; i < argv.length; i++) { + const a = argv[i]; + if (a.startsWith('--')) { + const [k, v] = a.slice(2).split('='); + if (v !== undefined) flags[k] = v; + else if (['from', 'lang'].includes(k)) flags[k] = argv[++i]; + else flags[k] = true; + } else flags._.push(a); + } + return flags; +} + +const catalogPath = (lang) => path.join(ROOT, 'public', 'i18n', `${lang}.json`); +function readCatalog(lang) { + const p = catalogPath(lang); + return existsSync(p) ? JSON.parse(readFileSync(p, 'utf8')) : {}; +} +function writeCatalog(lang, cat) { + const meta = Object.entries(cat).filter(([k]) => k.startsWith('_')); + const rest = Object.entries(cat).filter(([k]) => !k.startsWith('_')); + writeFileSync(catalogPath(lang), `${JSON.stringify(Object.fromEntries([...meta, ...rest]), null, 2)}\n`); +} + +async function usedMsgids(files) { + const used = new Map(); // msgid → first "file:line" + for (const f of files) { + const { msgids } = await scanSource(readFileSync(f, 'utf8'), rel(f)); + // server code never translates: its t() / N_() are other helpers (blackboard lookups in the sim); only msg() and + // the texts it sends count there + const server = rel(f).startsWith('server/'); + for (const m of msgids) { + if (server && m.via !== 'msg' && m.via !== 'server') continue; + if (!used.has(m.msgid)) used.set(m.msgid, `${rel(f)}:${m.line}`); + } + } + for (const [file, names] of MSGID_TABLES) { + const abs = path.join(ROOT, file); + if (!existsSync(abs)) continue; + for (const m of await tableMsgids(readFileSync(abs, 'utf8'), names)) if (!used.has(m)) used.set(m, file); + } + return used; +} + +async function cmdExtract(flags) { + const files = listFiles(flags._.length ? flags._ : DEFAULT_ROOTS); + const rows = []; + let tCount = 0, litCount = 0; + for (const f of files) { + const { msgids, literals } = await scanSource(readFileSync(f, 'utf8'), rel(f)); + const open = literals.filter((l) => !l.reason || l.reason === 'compare' || l.reason === 'string-method' || l.reason === 'key'); + const shown = literals.filter((l) => !l.reason); + tCount += msgids.length; + litCount += shown.length; + if (msgids.length || shown.length) rows.push({ file: rel(f), t: msgids.length, untranslated: shown.length, literals: shown, other: open.length - shown.length }); + } + if (flags.json) { console.log(JSON.stringify(rows.map(({ literals, ...r }) => ({ ...r, literals: literals.map((l) => ({ line: l.line, kind: l.kind, msgid: l.msgid, module: l.module })) })), null, 1)); return; } + for (const r of rows) { + console.log(`${r.file.padEnd(48)} t() ${String(r.t).padStart(4)} untranslated ${String(r.untranslated).padStart(4)}`); + if (flags.list) for (const l of r.literals) console.log(` ${String(l.line).padStart(5)} ${l.kind.padEnd(4)}${l.module ? ' (module)' : ''} ${l.msgid.replace(/\n/g, '⏎').slice(0, 90)}`); + } + const cat = readCatalog(flags.lang || 'en'); + const ready = rows.reduce((n, r) => n + r.literals.filter((l) => typeof cat[l.msgid] === 'string' && cat[l.msgid]).length, 0); + console.log(`total: ${tCount} msgids in t() / tc() / N_() / msg(); ${litCount} Chinese literals not wrapped, in ${rows.filter((r) => r.untranslated).length} files` + + ` (${ready} of them already translated in public/i18n/${flags.lang || 'en'}.json, ready for the codemod)`); +} + +async function cmdCheck(flags) { + const lang = flags.lang || 'en'; + const files = listFiles(flags._.length ? flags._ : DEFAULT_ROOTS, { sim: true }); + const used = await usedMsgids(files); + const cat = readCatalog(lang); + const missing = [...used].filter(([m]) => !(typeof cat[m] === 'string' && cat[m])); + for (const [m, where] of missing) console.log(`missing ${where.padEnd(40)} ${m.replace(/\n/g, '⏎')}`); + if (flags.stale) { + for (const k of Object.keys(cat)) if (!k.startsWith('_') && !used.has(k)) console.log(`unused ${k.replace(/\n/g, '⏎')}`); + } + console.log(`${used.size} msgids used, ${used.size - missing.length} translated in public/i18n/${lang}.json, ${missing.length} missing`); + if (flags.strict && missing.length) process.exitCode = 1; +} + +async function cmdCodemod(flags) { + if (!flags._.length) throw new Error('codemod needs file paths'); + for (const p of flags._) { + const abs = path.resolve(ROOT, p); + const src = readFileSync(abs, 'utf8'); + const res = await codemodSource(src, abs); + console.log(`${rel(abs)}: ${res.edits} literals wrapped, ${res.skipped.length} left (compare / key / string method / console / error)`); + for (const l of res.manual) console.log(` manual line ${l.line}: module-level ${l.kind} — call t() where it is shown: ${l.msgid.slice(0, 70)}`); + if (flags.write && res.src !== src) writeFileSync(abs, res.src); + } +} + +async function cmdSeed(flags) { + if (!flags.from) throw new Error('seed needs --from '); + const lang = flags.lang || 'en'; + const from = JSON.parse(readFileSync(path.resolve(ROOT, flags.from), 'utf8')); + const files = listFiles(flags._.length ? flags._ : DEFAULT_ROOTS); + const want = new Map(await usedMsgids(files)); + if (flags.all) { + for (const f of files) { + const { literals } = await scanSource(readFileSync(f, 'utf8'), rel(f)); + for (const l of literals) if ((!l.reason || l.reason === 'tagged') && !want.has(l.msgid)) want.set(l.msgid, `${rel(f)}:${l.line}`); + } + } + const cat = readCatalog(lang); + let added = 0; + for (const [m] of want) { + if (typeof cat[m] === 'string' && cat[m]) continue; + const tr = from[m]; + if (typeof tr === 'string' && tr && !HAN.test(tr)) { cat[m] = tr; added++; } + } + console.log(`${want.size} msgids considered, ${added} added to public/i18n/${lang}.json${flags.write ? '' : ' (dry run: --write saves)'}`); + if (flags.write) writeCatalog(lang, cat); +} + +async function main() { + const [cmd, ...rest] = process.argv.slice(2); + const flags = parseFlags(rest); + const cmds = { extract: cmdExtract, check: cmdCheck, codemod: cmdCodemod, seed: cmdSeed }; + if (!cmds[cmd]) { + console.log('usage: node tools/i18n.mjs extract|check|codemod|seed … (see the header of tools/i18n.mjs)'); + process.exitCode = cmd ? 2 : 0; + return; + } + await cmds[cmd](flags); +} + +if (process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url)) { + main().catch((e) => { console.error(`i18n: ${e.message}`); process.exitCode = 2; }); +} + +export { CJK, MSGID_TABLES }; From 5398a0cfc502cdc53eba8ebc32bc82a2202ad55c Mon Sep 17 00:00:00 2001 From: sganggs Date: Mon, 5 Oct 2026 20:19:58 +0800 Subject: [PATCH 3/5] feedback5 WI: server toasts and ticker lines carry msgid + params so the client shows them in the player's language MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit messaging.js: a toast / CUSTOM ticker line is a string (its own msgid) or a shared/i18n.js msg(); frames keep the Chinese `text` (older clients) and add `msgid` / `params`; config.broadcasts lines carry their `args` (the client fills the localized broadcast template; the player name {0} is never translated). Templated call sites send msg(): the grant toast 「X:获得Y」, the summon-range and terrain withdrawals, the 联防 line, eliminated / left lines, the 远见 / 奇迹 stack payouts and the 维多利亚 hammers; game-data names go as dn(). The protocol stays backward compatible (new fields optional). Tests that captured m.toast's argument render it with renderMessage. No gameplay change: golden unchanged. --- server/match/effectsMeta.js | 8 +- server/match/match/messaging.js | 12 ++- server/match/match/platform.js | 3 +- server/match/match/settle.js | 3 +- server/match/match/unitePhase.js | 5 +- server/match/player/basics.js | 3 +- server/match/player/placement.js | 5 +- server/sim/content/bonds/addon/meta.js | 6 +- server/sim/content/bonds/core.js | 3 +- test/i18n-server.test.js | 129 +++++++++++++++++++++++++ test/match/feedback1-placement.test.js | 3 +- test/match/playtest5-deploy.test.js | 4 +- 12 files changed, 166 insertions(+), 18 deletions(-) create mode 100644 test/i18n-server.test.js diff --git a/server/match/effectsMeta.js b/server/match/effectsMeta.js index 86f65b5f..4687419b 100644 --- a/server/match/effectsMeta.js +++ b/server/match/effectsMeta.js @@ -41,6 +41,7 @@ import { boardOrder, parseKey, tileKey } from './board.js'; import { pieceBonds as bondsOfPiece } from './bondsMeta.js'; import { registerAllMeta } from '../sim/content/index.js'; import { registerBuiltins } from './builtinMeta.js'; +import { msg, dn } from '../../shared/i18n.js'; export const HOOKS = Object.freeze([ 'onRoundStart', 'onIncome', 'onPrepStart', 'onPrepEnd', 'onGain', 'onSold', 'onRefresh', 'onPrice', 'onBuy', @@ -525,7 +526,7 @@ export function makeCtx(m, ps, source, hook, ev = null) { const name = got && got.name; if (name) { const who = grantSpeaker(gd, source); - m.toast(ps, 'info', who ? `${who}:获得${name}` : `获得${name}`); + m.toast(ps, 'info', who ? msg('{who}:获得{name}', { who: dn(who), name: dn(name) }) : msg('获得{name}', { name: dn(name) })); } } return p ? view(p) : null; @@ -635,8 +636,9 @@ export function makeCtx(m, ps, source, hook, ev = null) { addBounty: (card) => m.addBounty(ps, card), // ---- messaging - toast: (text, kind = 'info') => m.toast(ps, kind, String(text)), - ticker: (text) => m.tickerText(String(text)), + // a string or a shared/i18n.js msg(msgid, params) + toast: (text, kind = 'info') => m.toast(ps, kind, text && typeof text === 'object' ? text : String(text)), + ticker: (text) => m.tickerText(text && typeof text === 'object' ? text : String(text)), /** CHAR_GIFT broadcast to this player: "{0}博士给你赠送了{1}". */ giftTicker: (fromName, chessId) => { const c = gd.chess(chessId); m.tickerFor('CHAR_GIFT', [String(fromName), c ? c.name : String(chessId)], { to: ps.playerId }); }, diff --git a/server/match/match/messaging.js b/server/match/match/messaging.js index 6532cd7c..17ec73d9 100644 --- a/server/match/match/messaging.js +++ b/server/match/match/messaging.js @@ -1,9 +1,13 @@ // server/match/match/messaging.js — Match methods: messaging — unicast, broadcast, toasts, the ticker lines // (config.broadcasts by type; the remake's CUSTOM lines), the dirty marks and flush: m.private per player only when it // changed (plus the prep scouts of that player's board), m.public throttled (DELAYS.PUBLIC_THROTTLE) and deduplicated. +// i18n (docs/I18N.md): a toast / CUSTOM line is a string (its own msgid) or a shared/i18n.js msg(msgid, params); the frame +// carries `text` (the Chinese rendering, what older clients show) plus `msgid` / `params`; a broadcast line carries its +// `args` so the client can fill the localized config.broadcasts template. // Installed on Match.prototype by server/match/Match.js (a method container: never instantiated; `this` is the match). import { DELAYS } from './common.js'; +import { wireMessage } from '../../../shared/i18n.js'; export class MatchMessaging { sendTo(playerId, msg) { @@ -18,9 +22,10 @@ export class MatchMessaging { try { this.broadcastFn(msg); } catch (e) { this.reportError('broadcast', e); } } + /** @param {string|{ msgid: string, params?: object }} text a string or msg() (shared/i18n.js) */ toast(ps, kind, text) { if (!ps || ps.isBot || ps.left || !ps.connected) return; - this.sendTo(ps.playerId, { t: 'm.toast', kind, text }); + this.sendTo(ps.playerId, { t: 'm.toast', kind, ...wireMessage(text) }); } /** Broadcast ticker from config.broadcasts by type; `param` picks the variant (SHOP_LEVEL level, BOSS_HIT share…). */ @@ -31,7 +36,7 @@ export class MatchMessaging { const tpl = b && typeof b.text === 'string' ? b.text : null; if (!tpl) return; const text = tpl.replace(/\{(\d)\}/g, (_, i) => (args[Number(i)] != null ? String(args[Number(i)]) : '')); - const msg = { t: 'm.ticker', text, id: b.id, type, priority: Number(b.priority) || 0, playerId }; + const msg = { t: 'm.ticker', text, id: b.id, type, priority: Number(b.priority) || 0, playerId, args: args.map((a) => String(a ?? '')) }; if (to) this.sendTo(to, msg); else this.broadcast(msg); } @@ -42,7 +47,8 @@ export class MatchMessaging { */ tickerText(text, priority = 0) { if (!text) return; - this.broadcast({ t: 'm.ticker', text: String(text).slice(0, 200), id: null, type: 'CUSTOM', priority: Number(priority) || 0, playerId: null }); + const w = wireMessage(text); + this.broadcast({ t: 'm.ticker', ...w, text: w.text.slice(0, 200), id: null, type: 'CUSTOM', priority: Number(priority) || 0, playerId: null }); } markPublic() { this._pubDirty = true; } diff --git a/server/match/match/platform.js b/server/match/match/platform.js index 96b4b233..f9878d9f 100644 --- a/server/match/match/platform.js +++ b/server/match/match/platform.js @@ -8,6 +8,7 @@ import { C2S } from '../../../shared/protocol.js'; import { PHASE, ERR } from '../../../shared/constants.js'; import { syntheticResult } from '../fields.js'; import { FLOW_TICKER_PRIORITY, OK, fail } from './common.js'; +import { msg } from '../../../shared/i18n.js'; const GAME_TYPES = new Set(Object.keys(C2S).filter((t) => Object.hasOwn(C2S, t) && (t.startsWith('g.') || t.startsWith('b.')))); @@ -171,7 +172,7 @@ export class MatchPlatform { } ps.lp = 0; ps.eliminate(passedRound); - this.tickerText(`${ps.name}博士中途退出了模拟`, FLOW_TICKER_PRIORITY); + this.tickerText(msg('{name}博士中途退出了模拟', { name: ps.name }), FLOW_TICKER_PRIORITY); if (this.bossWaves && (phase === PHASE.ROUND_START || phase === PHASE.SP_DRAFT || phase === PHASE.PREP)) { // before the boss fight: pair the players left again (the prep preview shows the new partner / template); a // player moved to the other half re-checks its board there at once (recompute → deployMap, marks it private) diff --git a/server/match/match/settle.js b/server/match/match/settle.js index 97cfcc2d..1902c549 100644 --- a/server/match/match/settle.js +++ b/server/match/match/settle.js @@ -7,6 +7,7 @@ import { PHASE, layerGainRoom } from '../../../shared/constants.js'; import { uniteSurvivors } from '../unite.js'; import { buildResult } from '../results.js'; import { FLOW_TICKER_PRIORITY, DELAYS } from './common.js'; +import { msg } from '../../../shared/i18n.js'; export class MatchSettle { settle(plan, uniteResult) { @@ -63,7 +64,7 @@ export class MatchSettle { ps.lp = 0; ps.eliminate(this.round); this.toast(ps, 'error', '你的目标生命值耗尽,已被淘汰'); - this.tickerText(`${ps.name}博士的目标生命值已耗尽`, FLOW_TICKER_PRIORITY); + this.tickerText(msg('{name}博士的目标生命值已耗尽', { name: ps.name }), FLOW_TICKER_PRIORITY); } } this.fields = []; diff --git a/server/match/match/unitePhase.js b/server/match/match/unitePhase.js index ff0f17d7..4f1093af 100644 --- a/server/match/match/unitePhase.js +++ b/server/match/match/unitePhase.js @@ -9,6 +9,7 @@ import { uniteBattleOpts, uniteSurvivors, uniteStageId } from '../unite.js'; import { FieldRunner, timelineAt, uniteBillBounds } from '../fields.js'; import { uniteLeft } from '../../sim/spec.js'; import { FLOW_TICKER_PRIORITY, DELAYS } from './common.js'; +import { msg } from '../../../shared/i18n.js'; export class MatchUnite { startUnite(plan) { @@ -21,7 +22,7 @@ export class MatchUnite { this.deadline = this.sched.instant ? 0 : this.sched.now() + Math.round((limit / this.gameSpeed) * 1000); this._defaultWatch(); this.markPublic(); - this.tickerText(`联防阶段:${plan.helpers.map((p) => p.name).join('、')} 迎战突破防线的敌人`, FLOW_TICKER_PRIORITY); + this.tickerText(msg('联防阶段:{names} 迎战突破防线的敌人', { names: plan.helpers.map((p) => p.name) }), FLOW_TICKER_PRIORITY); this._uniteLeftKey = null; this.runner = new FieldRunner(this, this.fields, { onTick: (runner) => this._uniteTick(runner), @@ -79,7 +80,7 @@ export class MatchUnite { this._sendStart(ps.playerId, f, { watch: !f.players.includes(ps.playerId) }); } this.markPublic(); - this.tickerText(`联防阶段:${plan.helpers.map((p) => p.name).join('、')} 迎战突破防线的敌人`, FLOW_TICKER_PRIORITY); + this.tickerText(msg('联防阶段:{names} 迎战突破防线的敌人', { names: plan.helpers.map((p) => p.name) }), FLOW_TICKER_PRIORITY); } _finishUniteClient() { diff --git a/server/match/player/basics.js b/server/match/player/basics.js index 8603d50c..b9b8582f 100644 --- a/server/match/player/basics.js +++ b/server/match/player/basics.js @@ -7,6 +7,7 @@ // the player state). import { PHASE } from '../../../shared/constants.js'; +import { msg, dn } from '../../../shared/i18n.js'; import { checkLoadout, resolveLoadout } from '../../../shared/protocol.js'; import { tileKey, boardOrder } from '../board.js'; @@ -126,7 +127,7 @@ export class PlayerBasics { } } } - if (names.length) this.m.toast(this, 'warn', `地形变化:${names.join('、')}无法停留在原位置,已撤回整备区`); + if (names.length) this.m.toast(this, 'warn', msg('地形变化:{names}无法停留在原位置,已撤回整备区', { names: names.map(dn) })); return moved; } diff --git a/server/match/player/placement.js b/server/match/player/placement.js index 25263187..bca6f9f3 100644 --- a/server/match/player/placement.js +++ b/server/match/player/placement.js @@ -5,6 +5,7 @@ // the player state). import { ERR } from '../../../shared/constants.js'; +import { msg, dn } from '../../../shared/i18n.js'; import { tileKey, parseKey, inField, canPlace, placeClass, freeSlot, pieceDir, parseDir, ownerRangeKeys } from '../board.js'; import { attackRangeGrid, loadoutRecord, resolveRecordLoadout } from '../../../shared/loadoutRecord.js'; import { OK, fail } from './common.js'; @@ -91,8 +92,8 @@ export class PlayerPlacement { this.board.delete(k); (this._returnToken(p, null, { allowTemp: true }) ? back : gone).push(this.gd.token(p.id)?.name || p.id); } - if (back.length) this.m.toast(this, 'warn', `${back.join('、')}只能部署在召唤者攻击范围内,已退回整备区`); - if (gone.length) this.m.toast(this, 'warn', `${gone.join('、')}只能部署在召唤者攻击范围内,整备区已满,下回合返还`); + if (back.length) this.m.toast(this, 'warn', msg('{names}只能部署在召唤者攻击范围内,已退回整备区', { names: back.map(dn) })); + if (gone.length) this.m.toast(this, 'warn', msg('{names}只能部署在召唤者攻击范围内,整备区已满,下回合返还', { names: gone.map(dn) })); return back.length + gone.length; } diff --git a/server/sim/content/bonds/addon/meta.js b/server/sim/content/bonds/addon/meta.js index 6801d064..43e62ca3 100644 --- a/server/sim/content/bonds/addon/meta.js +++ b/server/sim/content/bonds/addon/meta.js @@ -19,6 +19,8 @@ // assumed 1). // Latched state lives in player counters (prefix `bondaddon:`); onPrice only reads them (pure). +import { msg, dn } from '../../../../../shared/i18n.js'; + const C_VISI_PAID = 'bondaddon:visi:paid'; const C_VISI_DISC = 'bondaddon:visi:disc'; const C_MIRA_PAID = 'bondaddon:mira:paid'; @@ -50,10 +52,10 @@ function settleCoins(ctx, bondId, counterKey, label) { const gain = (due - paid) * count; if (prepEnded(ctx)) { ctx.addPendingFunds(gain); - ctx.toast(`【${label}】层数达成,下回合开始时获得${gain}资金`, 'info'); + ctx.toast(msg('【{label}】层数达成,下回合开始时获得{gain}资金', { label: dn(label), gain }), 'info'); } else { ctx.addFunds(gain, `bond:${bondId}`); - ctx.toast(`【${label}】层数达成,获得${gain}资金`, 'info'); + ctx.toast(msg('【{label}】层数达成,获得{gain}资金', { label: dn(label), gain }), 'info'); } return gain; } diff --git a/server/sim/content/bonds/core.js b/server/sim/content/bonds/core.js index 6eea7878..f07ffa6d 100644 --- a/server/sim/content/bonds/core.js +++ b/server/sim/content/bonds/core.js @@ -42,6 +42,7 @@ import { spawnYanyou } from '../tokens.js'; import { kjeragColdWind } from '../devices.js'; import * as items from '../items.js'; import { FORCED_EXIT } from '../../constants.js'; +import { msg } from '../../../../shared/i18n.js'; const num = S.num; @@ -637,7 +638,7 @@ export function payHammers(ctx) { if (id && ctx.grantItem(id, { source: 'bond:victoriaShip' })) granted++; } } - if (granted && typeof ctx.toast === 'function') ctx.toast(`【维多利亚】获得${granted}件维式重锤`, 'info'); + if (granted && typeof ctx.toast === 'function') ctx.toast(msg('【维多利亚】获得{n}件维式重锤', { n: granted }), 'info'); return granted; } diff --git a/test/i18n-server.test.js b/test/i18n-server.test.js new file mode 100644 index 00000000..2ea7f864 --- /dev/null +++ b/test/i18n-server.test.js @@ -0,0 +1,129 @@ +// Server → client texts in the player's language (docs/I18N.md): m.toast / m.ticker frames carry the Chinese `text` +// (older clients) plus `msgid` + `params`, a config.broadcasts line its `args`; the client renders them with +// translateWire / ui/lang.js tickerText; error codes through ui/toasts.js describeError. + +import { test, before, after } from 'node:test'; +import assert from 'node:assert/strict'; +import { readFileSync, existsSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { MatchMessaging } from '../server/match/match/messaging.js'; +import { addMessages, setLang, setMessages, translateWire, msg, dn } from '../shared/i18n.js'; +import { makeMatch, give, DATA } from './match/harness.js'; +import { createRegistry } from '../server/match/effectsMeta.js'; + +const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..'); +const EN_UI = JSON.parse(readFileSync(path.join(ROOT, 'public/i18n/en.json'), 'utf8')); +const realFetch = globalThis.fetch; + +let lang; +let data; +let toasts; +before(async () => { + // the client data store (singleton) reads data/ through fetch: serve it from the repo + globalThis.fetch = async (url) => { + const abs = path.join(ROOT, String(url).replace(/^\//, '')); + if (!existsSync(abs)) return { ok: false, status: 404, json: async () => null }; + const text = readFileSync(abs, 'utf8'); + return { ok: true, status: 200, json: async () => JSON.parse(text) }; + }; + lang = await import('../public/js/ui/lang.js'); + ({ data } = await import('../public/js/data.js')); + toasts = await import('../public/js/ui/toasts.js'); + await data.loadAll('config', 'chess', 'tokens', 'bonds'); + addMessages('en', EN_UI); +}); +after(() => { globalThis.fetch = realFetch; setLang('zh'); setMessages('en', {}); }); + +/** A Match-shaped stub for the messaging methods. */ +function stubMatch() { + const sent = []; + const broadcast = []; + return { + sent, bc: broadcast, + disposed: false, + players: new Map([['p1', { playerId: 'p1', connected: true }]]), + spectators: new Map(), + gd: { config: DATA.config }, + sendTo(id, m) { sent.push([id, m]); return true; }, + broadcast(m) { broadcast.push(m); }, + }; +} + +test('m.toast frames: a string stays { text }; a msg() adds msgid + params beside its Chinese text', () => { + const m = stubMatch(); + const ps = m.players.get('p1'); + MatchMessaging.prototype.toast.call(m, ps, 'warn', '整备区已满,获得的装备已销毁'); + MatchMessaging.prototype.toast.call(m, ps, 'warn', msg('{names}只能部署在召唤者攻击范围内,已退回整备区', { names: ['医疗探机', '狼影'].map(dn) })); + assert.deepEqual(m.sent[0][1], { t: 'm.toast', kind: 'warn', text: '整备区已满,获得的装备已销毁' }); + assert.deepEqual(m.sent[1][1], { + t: 'm.toast', kind: 'warn', text: '医疗探机、狼影只能部署在召唤者攻击范围内,已退回整备区', + msgid: '{names}只能部署在召唤者攻击范围内,已退回整备区', params: { names: [{ dn: '医疗探机' }, { dn: '狼影' }] }, + }); +}); + +test('m.ticker frames: broadcast lines carry their args; CUSTOM lines a msgid', () => { + const m = stubMatch(); + MatchMessaging.prototype.tickerFor.call(m, 'GOLDEN_CHAR', ['阿米娅', '琳琅诗怀雅'], { playerId: 'p1' }); + MatchMessaging.prototype.tickerText.call(m, msg('{name}博士中途退出了模拟', { name: '阿米娅' }), 5); + const [gold, custom] = m.bc; + assert.equal(gold.type, 'GOLDEN_CHAR'); + assert.deepEqual(gold.args, ['阿米娅', '琳琅诗怀雅']); + assert.ok(gold.text.includes('阿米娅') && gold.text.includes('琳琅诗怀雅'), gold.text); + assert.deepEqual({ ...custom }, { t: 'm.ticker', text: '阿米娅博士中途退出了模拟', msgid: '{name}博士中途退出了模拟', params: { name: '阿米娅' }, id: null, type: 'CUSTOM', priority: 5, playerId: null }); +}); + +test('client: the same frames in English — msgid + params, broadcast template + args (player names never translated)', async () => { + setLang('en'); + await data.setLocale('en'); + try { + const toastFrame = { text: '医疗探机只能部署在召唤者攻击范围内,已退回整备区', msgid: '{names}只能部署在召唤者攻击范围内,已退回整备区', params: { names: [{ dn: '医疗探机' }] } }; + assert.equal(translateWire(toastFrame), "Medic Drone can only be deployed within the summoner's attack range and returned to the Bench"); + assert.equal(translateWire({ text: '整备区已满,获得的装备已销毁' }), EN_UI['整备区已满,获得的装备已销毁'], 'a static server text is its own msgid'); + const m = stubMatch(); + MatchMessaging.prototype.tickerFor.call(m, 'GOLDEN_CHAR', ['阿米娅', '琳琅诗怀雅'], { playerId: 'p1' }); + const line = lang.tickerText(m.bc[0]); + assert.ok(line.includes('阿米娅'), `player name kept: ${line}`); + assert.ok(line.includes('Swire the Elegant Wit'), `operator name translated: ${line}`); + assert.ok(!/[一-鿿]/.test(line.replace('阿米娅', '')), line); + // an older server (no args): the Chinese line as it came + assert.equal(lang.tickerText({ text: m.bc[0].text, id: m.bc[0].id }), m.bc[0].text); + // error codes: ERR_TEXT / net.js CLIENT_ERR_TEXT are msgids + assert.equal(toasts.describeError({ code: 'HAND_FULL', msg: '整备区已满' }), 'Bench is full'); + assert.equal(toasts.describeError('NO_FUNDS'), EN_UI['资金不足']); + } finally { + setLang('zh'); + await data.setLocale('zh'); + } +}); + +test('a real match: 歌蕾蒂娅 grants a chess → 「歌蕾蒂娅:获得X」 in Chinese, "Gladiia: obtained …" in English', async () => { + const h = makeMatch({ mode: 'solo', seed: 11, registry: createRegistry({ log: { warn() {}, error() {}, info() {} } }), fake: true }).start(); + h.toPrep(1); + const m = h.m; + const ps = h.ps('p_0'); + for (const p of [...ps.board.values(), ...ps.hand.filter(Boolean)]) if (p.kind === 'chess') ps.returnCopies(p); + ps.board.clear(); ps.hand.fill(null); ps.temp.fill(null); ps.offers.length = 0; ps.bandId = null; ps.recompute(); + const prepFree = (c) => (c.garrisonIds || []).every((g) => DATA.garrisons[g].eventType === 'IN_BATTLE'); + const row = Object.values(DATA.chess).filter((c) => c.visible && !c.isGolden && prepFree(c)).map((c) => c.chessId).sort().slice(0, 2); + give(m, ps, 'chess_char_4_12_a', 'board', [10, 4]); + give(m, ps, row[0], 'board', [10, 6]); + give(m, ps, row[1], 'board', [10, 8]); + const n0 = h.allTo('p_0', 'm.toast').length; + m.dispatch(ps, 'onRoundStart', { round: m.round }); + const frame = h.allTo('p_0', 'm.toast').slice(n0).find((t) => t.msgid === '{who}:获得{name}'); + assert.ok(frame, JSON.stringify(h.allTo('p_0', 'm.toast').slice(n0))); + assert.ok(frame.text.startsWith('歌蕾蒂娅:获得'), frame.text); + assert.deepEqual(frame.params.who, { dn: '歌蕾蒂娅' }); + setLang('en'); + await data.setLocale('en'); + try { + const en = translateWire(JSON.parse(JSON.stringify(frame))); + assert.match(en, /^Gladiia: obtained [A-Z]/, en); + assert.ok(!/[一-鿿]/.test(en), en); + } finally { + setLang('zh'); + await data.setLocale('zh'); + m.dispose(); + } +}); diff --git a/test/match/feedback1-placement.test.js b/test/match/feedback1-placement.test.js index 69320418..f7b9fe56 100644 --- a/test/match/feedback1-placement.test.js +++ b/test/match/feedback1-placement.test.js @@ -23,6 +23,7 @@ import { DATA, makeMatch, give, giveItem, checkInvariants, chessOfTier } from '. import { botPrep, planLayout, fieldModel } from '../../server/match/bot.js'; import { placementContext, canPlace as clientCanPlace, boardTargets, deployMap as clientDeployMap } from '../../public/js/ui/gameLogic.js'; import { makeBattle } from '../helpers/battleHarness.js'; +import { renderMessage } from '../../shared/i18n.js'; const STAGE = 'act2autochess_m04'; const WATER = ['10,6', '11,6', '12,6']; @@ -187,7 +188,7 @@ test('#9 hand and temp full: a re-orientation that would push 狼群 out is refu assert.equal(stackOf(ps, WOLF), null, 'its only copy is placed: no stack left to return onto'); const toasts = []; const toast = m.toast.bind(m); - m.toast = (p, kind, text) => { toasts.push(text); return toast(p, kind, text); }; + m.toast = (p, kind, text) => { toasts.push(renderMessage(text)); return toast(p, kind, text); }; // string or msg() const golden = Object.keys(DATA.items).find((id) => DATA.items[id].isGolden && DATA.items[id].itemType === 'EQUIP'); while (ps.hand.includes(null)) giveItem(m, ps, golden); while (ps.temp.includes(null)) giveItem(m, ps, golden, 'temp'); diff --git a/test/match/playtest5-deploy.test.js b/test/match/playtest5-deploy.test.js index a63f4aef..a96e174a 100644 --- a/test/match/playtest5-deploy.test.js +++ b/test/match/playtest5-deploy.test.js @@ -23,6 +23,7 @@ import { import { planLayout } from '../../server/match/bot.js'; import { collectViolations } from '../../server/match/invariants.js'; import { DATA, makeMatch, give, chessOfTier, checkInvariants } from './harness.js'; +import { renderMessage } from '../../shared/i18n.js'; const STAGE = 'act2autochess_m01'; const ROOT = join(dirname(fileURLToPath(import.meta.url)), '../..'); @@ -115,7 +116,8 @@ describe('#7 the Final Assault prep deploys on the boss field', () => { h.drive(() => m.phase === PHASE.PREP && m.round === m.gd.bossRound); const toasts = []; const toast = m.toast.bind(m); - m.toast = (ps, kind, text) => { toasts.push(`${ps.playerId}:${text}`); return toast(ps, kind, text); }; + // a toast is a string or a shared/i18n.js msg(): compare its Chinese rendering + m.toast = (ps, kind, text) => { toasts.push(`${ps.playerId}:${renderMessage(text)}`); return toast(ps, kind, text); }; const fields = []; m.deployFieldOf = ((orig) => function (ps) { const f = orig.call(this, ps); if (this.round === this.gd.hiddenRound) fields.push(f); return f; })(m.deployFieldOf); const placed = {}; From e50497b1ce280426771f2f8af5c2389f0857ab2d Mon Sep 17 00:00:00 2001 From: sganggs Date: Mon, 5 Oct 2026 20:20:09 +0800 Subject: [PATCH 4/5] feedback5 WI: docs/I18N.md (translating, adding strings, rebuilding the EN game texts, phase 2) and credits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NOTICE.md and THIRD-PARTY-NOTICES.md credit @YuriRestia (PR #70) for the English UI strings and fallback translations, note that PR #70's ak-spa-database.pages.dev texts are not used and that arknights.wiki.gg is CC BY-SA 4.0, and name the EN data mirrors (ArknightsAssets/ArknightsGamedata, Kengxxiao/ArknightsGameData_YoStar). DATA.md: data/i18n/en.json is written by tools/build-i18n.mjs (rerun after a text-changing build). PLAYING.md: the 中文 / English switch. --- NOTICE.md | 6 +- THIRD-PARTY-NOTICES.md | 13 ++++ docs/DATA.md | 5 +- docs/I18N.md | 155 +++++++++++++++++++++++++++++++++++++++++ docs/PLAYING.md | 2 + 5 files changed, 179 insertions(+), 2 deletions(-) create mode 100644 docs/I18N.md diff --git a/NOTICE.md b/NOTICE.md index e46fe1b2..036409b7 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -13,6 +13,8 @@ Copyright (C) 2026 Stronghold-Protocol contributors - `tools/local-extract/aklz4.py` 来自 [isHarryh/Ark-Unpacker](https://github.com/isHarryh/Ark-Unpacker),保持 BSD-3-Clause 许可(见 `tools/local-extract/LICENSE-Ark-Unpacker.txt`)。 - 通过 npm 安装的第三方库(PixiJS、pixi-spine、Preact、htm、three.js、ws 等)和字体各自保留原许可证,见 [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md)。 +**英文翻译致谢**:界面英文文本 `public/i18n/en.json` 与游戏文本的补充译文 `tools/i18n/fallback-pr70.json` 以 GitHub PR #70(分支 `en-translation`)中 **@YuriRestia** 的翻译为基础,经项目所有者决定(2026-10-05)署名沿用,随本项目一同以 GPL-3.0-or-later 发布;PR #70 中取自 ak-spa-database.pages.dev(未声明许可)的文本未被采用。英文游戏文本 `data/i18n/en.json` 本身是官方英文服数据(见第 2 节)。 + **附加许可(GPL-3.0 第 7 条)** — Additional permission under GNU GPL version 3 section 7: > If you modify this Program, or any covered work, by linking or combining it with the Spine Runtimes (as shipped in @@ -28,7 +30,7 @@ Copyright (C) 2026 Stronghold-Protocol contributors 《明日方舟》及「卫戍协议」相关的全部**名称、角色、美术、Spine 模型、界面图、音乐音效、文本与游戏数据**,版权归上海鹰角网络科技有限公司及其授权方(Yostar 等)所有。具体包括: - Release 完整包中的 `public/assets/**`(含从官方客户端本地提取的 3D 棋盘模型与贴图 `public/assets/local/**`)和 `public/fonts/**`(字体归各自作者); -- 由官方数据表生成的 `data/*.json`,以及含有或派生自游戏数据的 `docs/research/*.json`、`test/fixtures/official-waves.json`、`public/dev/recordings/*.json`; +- 由官方数据表生成的 `data/*.json` 与 `data/i18n/*.json`(官方英文服文本),以及含有或派生自游戏数据的 `docs/research/*.json`、`test/fixtures/official-waves.json`、`public/dev/recordings/*.json`; - `docs/img/` 中的游戏截图; - `docs/` 中引用的 PRTS、BWIKI、NGA、巴哈姆特等社区页面的文字(仍按其来源的许可,维基文本为 CC BY-NC-SA)。 @@ -64,3 +66,5 @@ art, models, audio and data — including everything under `public/assets/` in t Yostar and their licensors, are **not** covered by the GPL, and may be used for study and personal non-commercial purposes only: no selling, paid distribution, paid hosting, ads, donations or any other monetisation. Rights holders can request removal through a GitHub issue and the content will be taken down. No warranty of any kind. +The English UI strings were seeded from GitHub PR #70 by @YuriRestia (credited, released with the project under +GPL-3.0-or-later); the English game texts (`data/i18n/en.json`) are official EN client data like `data/*.json`. diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md index 1b503cf0..900b5faa 100644 --- a/THIRD-PARTY-NOTICES.md +++ b/THIRD-PARTY-NOTICES.md @@ -48,9 +48,22 @@ All names, characters, artwork, Spine models, UI graphics, music, sound effects [fexli/ArknightsResource](https://github.com/fexli/ArknightsResource), [isHarryh/Ark-Models](https://github.com/isHarryh/Ark-Models), [ArknightsAssets/ArknightsAssets2](https://github.com/ArknightsAssets/ArknightsAssets2) — thanks to their maintainers. +The English game texts (`data/i18n/en.json`, `tools/build-i18n.mjs`) come from the official EN client tables mirrored by +[ArknightsAssets/ArknightsGamedata](https://github.com/ArknightsAssets/ArknightsGamedata) (`en/gamedata`, the default +source) and [Kengxxiao/ArknightsGameData_YoStar](https://github.com/Kengxxiao/ArknightsGameData_YoStar) (`en_US`, +`--source yostar`); same terms as the rest of the game data. Quotations of PRTS Wiki, BWIKI, NGA, 巴哈姆特 and other community pages in `docs/` stay under the terms of their sources (the wikis' texts are CC BY-NC-SA). +## Translations + +The English UI strings (`public/i18n/en.json`) and the fallback game-text translations (`tools/i18n/fallback-pr70.json`) +are based on GitHub PR #70 (branch `en-translation`) by **@YuriRestia**, reused with credit and released with the project +under GPL-3.0-or-later (docs/I18N.md). PR #70 named ak-spa-database.pages.dev and arknights.wiki.gg as references: texts +it took from ak-spa-database.pages.dev (no licence) are excluded; arknights.wiki.gg is CC BY-SA 4.0, which may be combined +into a GPL-3.0 work (the one-way compatibility Creative Commons declared) — thanks to its contributors. Official game +terms and names in those files remain © Hypergryph / Yostar. + --- ## Licence texts diff --git a/docs/DATA.md b/docs/DATA.md index 0a9e4a81..ffe9ebcc 100644 --- a/docs/DATA.md +++ b/docs/DATA.md @@ -1,8 +1,11 @@ # DATA.md — generated game data (`data/*.json`) -All files in `data/` except `data/assets.json` are produced by **`node tools/build-data.mjs`** (task F1) from the +All files in `data/` except `data/assets.json` and `data/i18n/` are produced by **`node tools/build-data.mjs`** (task F1) from the official zh_CN client data ([Kengxxiao/ArknightsGameData](https://github.com/Kengxxiao/ArknightsGameData)) joined with `docs/research/*.json`. Do not edit them by hand — change the build script and rebuild. +`data/i18n/en.json` (the official English texts of these files by record id and field) is written by +`node tools/build-i18n.mjs` — rerun it after a build that changes a text (docs/I18N.md §2; `test/i18n-data.test.js` +fails while it is stale). `data/assets.json` is written by `tools/fetch-assets.mjs`, which keeps the current file rather than drop entries whose downloads failed on this machine unless `--allow-shrink` (or `--prune`) is passed (docs/ASSETS.md, DESIGN §21.25). diff --git a/docs/I18N.md b/docs/I18N.md new file mode 100644 index 00000000..ad9bd5ce --- /dev/null +++ b/docs/I18N.md @@ -0,0 +1,155 @@ +# I18N.md — languages (中文 / English) + +Chinese is the default; English is a switch (the owner's decision of 2026-10-05): an English browser still opens in +Chinese until the player picks English on the title screen (top right) or in 设置 / Settings. The choice is kept in +`localStorage` (`sp.pref.lang`); `?lang=en` / `?lang=zh` in the address bar sets it once and is then removed. A switch +re-renders the page in place (no reload). + +Three kinds of text, three mechanisms — no i18n framework: + +| Text | Source of the English | Mechanism | +|---|---|---| +| UI strings (buttons, labels, hints, toasts) | `public/i18n/en.json` — Chinese msgid → English | `t()` in the code (`shared/i18n.js`) | +| Game texts (operators, skills, talents, modules, traits, enemies, bonds, items, effects, strategies, 特质, 机变 cards, modes, stages, tokens) | `data/i18n/en.json` — the official EN client texts by record id and field | `public/js/data.js` returns localized records | +| Server messages (m.toast, m.ticker, error codes) | the same `public/i18n/en.json` | the server sends msgid + params, the client translates | + +## 1. UI strings: `t()` + +gettext style — the Chinese source string is the message id, so an untranslated string shows Chinese, never a key: + +```js +import { t, tc, N_ } from '../../../shared/i18n.js'; +t('整备区已满'); // 'Bench is full' in English +t('还剩 {n} 秒', { n }); // params: {name}; arrays fill {0}, {1} … +t('同盟密钥为 {ROOM_CODE_LEN} 位字母或数字', { ROOM_CODE_LEN }); +tc('toggle', '关闭'); // context: the key 'toggle::关闭' ("Off"), else '关闭' ("Close") +const TABLE = { a: N_('独立模拟') }; // module level: N_ only marks it; call t(TABLE.a) where it is shown +``` + +- **Placeholders** are the same in the msgid and the translation: `{name}`, positional `{0}`, and one plural form for + English, `{n|one|other}` (`'{n} {n|round|rounds}'`). A value that is an array renders as a list (`、` / `, `). A + missing value leaves the placeholder as it is (official templates such as `{0}博士…` pass through untouched). +- **Game-data names** inside a message are marked `dn(name)` (`{ dn: '…' }`) and translated through the localized data + (`tName(name)` does the same for a bare name). **Player names are never translated** — pass them as plain strings. +- **Data texts are not msgids**: `getChess(id).name`, `getMode(id).desc`, `data.get('config').tips` … already come in the + current language (§2). Do not wrap them in `t()`. +- **Re-rendering**: `main.js` App subscribes with `useLang()` (`public/js/ui/lang.js`), so the whole tree re-renders on a + switch. A component that caches text outside rendering (a `useMemo` returning text, a module-level string) must + depend on the language (`useLang()`) or move the `t()` call into rendering. +- Font samples, data keys and other Chinese that is not UI text can carry `// i18n-ignore` on the line. + +### Translating + +Edit `public/i18n/en.json` (`"msgid": "English"`, two-space JSON; `_about` is metadata). Keep every `{placeholder}`; +`test/i18n.test.js` checks that, that no Chinese is left in a value, and that every msgid of the converted screens is +present. Use the official EN terms of the game (the EN client's own wording, e.g. its tips and mode texts): + +| 中文 | English | 中文 | English | +|---|---|---|---| +| 盟约 | Alliance | 调度中心 | Dispatch Center | +| 整备区 / 临时整备区 | Bench / temporary Bench | 资金 | Funds | +| 休整期 | Rest Phase | 机变阶段 | Improv Phase | +| 联防 / 联防阶段 | Unite / Unite Phase | 最终攻势 | Final Assault | +| 隐秘核心 | Hidden Core | 目标生命值 | LP | +| 联合模拟 / 同盟模拟 | Team Simulation | 独立模拟 | Solo Simulation | +| 标准 / 险境 / 绝境 / 终极模拟 | Standard / Perilous / Dire / Ultimate Simulation | 入门协议 | Entry Protocol | +| 策略 | Strategy | 特质 | Attribute | +| 精锐(干员) | Elite (Operator) | 层数 | stacks | +| 同盟密钥 | Alliance Key | 创建者 | Host | + +### Tools: `node tools/i18n.mjs` + +- `extract [paths] [--list]` — per file: the msgids in `t()` / `tc()` / `N_()` / `msg()`, and the Chinese literals still + shown untranslated; the total says how many of those already have a translation (ready for the codemod). +- `check [paths] [--strict] [--stale]` — msgids the code uses that `public/i18n/en.json` lacks (`--strict` exits 1; + `--stale` lists entries no code uses yet). +- `codemod [--write]` — wraps a file's Chinese literals: html`` text and attribute values → `${t('…')}`, strings → + `t('…')`, template literals → `t('…{name}…', { name })` (an expression's param name: identifier → itself, `a.b` → `b`, + `x.length` → `n`, else its position), nested strings in params included; adds the import. Module-level literals get + `N_()` and are listed for a manual `t()` where they are shown; compared literals, object keys, string-method + arguments, `console.*` and `Error` messages are left alone; a text run with a child that is not a plain value is split + into its static pieces. **Review the diff**: join fragments into whole sentences where it reads better (the settings + hotkey line is an example), check module-level tables. +- `seed --from [--all] [--write]` — fills `en.json` from a flat `{ msgid: English }` map for the msgids the + code uses (`--all`: also the literals not wrapped yet, under the msgid the codemod will give them). + +Server code is scanned too: the first argument of `msg()` and a Chinese literal handed to `m.toast` / `ctx.toast` / +`tickerText` are msgids (`server/sim` only for those — its own `t()` helpers are not translation calls). + +## 2. Game texts: `data/i18n/en.json` + +``` +node tools/build-i18n.mjs # downloads the EN tables once into .cache/gamedata-en/, writes data/i18n/en.json +node tools/build-i18n.mjs --offline # never download (the zh_CN tables come from .cache/gamedata, as for build-data) +node tools/build-i18n.mjs --check # exit 1 when data/i18n/en.json is out of date (nothing written) +node tools/build-i18n.mjs --source yostar # the other EN source (see below) +``` + +**Rebuild it after every `node tools/build-data.mjs`** that changes a text: `test/i18n-data.test.js` fails while a +translation's Chinese source no longer matches `data/*.json`, and at run time such a stale leaf is not applied (the +player sees the current Chinese text, never an outdated number). + +- **Sources.** The English comes from the official EN client tables. Default `--source assets`: + [ArknightsAssets/ArknightsGamedata](https://github.com/ArknightsAssets/ArknightsGamedata) `en/gamedata` — current, and + its `activity_table` has both 盟约 seasons (`act1autochess`, `act2autochess`, "Stronghold Protocol: Alliance") with + the same ids as zh_CN. `--source yostar`: + [Kengxxiao/ArknightsGameData_YoStar](https://github.com/Kengxxiao/ArknightsGameData_YoStar) `en_US` — archived in + 2025-11, it predates 盟约 (only the 2025 test event `act1vautochess`) and many operators, so most mode texts and new + operators stay Chinese with it. +- **Matching** (no id table to maintain): the zh_CN and EN tables are walked side by side; a data text equal to a + Chinese source takes its English; a text whose blackboard placeholders build-data resolved (`{atk:0%}` → `80%`) is + matched against the Chinese templates of the same shape, its numbers are read back and the English template is + filled with them (the remake's numbers, not the EN server's); stage names are assembled from their parts. Ties prefer + the source on the record's own ids, then the 下半 season (`act2autochess`). Rich-text tags and placeholders are the + same as in Chinese, so `ui/richText.js` renders the English unchanged (a few official EN texts leave a tag unclosed; + the parser runs it to the end of the text, as the game does). +- **Fallbacks**, in order: `tools/i18n/fallback-remake.json` (the remake's own strings: stage-name parts, item notes, + the 联防 map names, the season name), `tools/i18n/fallback-pr70.json` (PR #70's translations of texts the EN client + lacks: modules of CN-only operators, the 甄选 slots, 结算称号 criteria, emote labels), then `public/i18n/en.json`; + anything else stays Chinese. Research notes (`bonds.*.spec`, `implFormula`, `assumed` …) are never translated. +- **Format** (`shared/i18nData.js`): `{ version, lang, meta: { source, coverage, totals }, names, files }`. `files[file][id]` + mirrors the record — string leaves replace the Chinese at the same path, arrays are index-aligned (null = keep) — + with `_h`, a 2-character hash of each replaced Chinese string; `names` maps every record-level Chinese name to English + (server messages and ticker lines name operators / items / bonds in Chinese). +- **Coverage** (build of 2026-10-05, 14 931 texts): 99.9 % translated, 99.3 % from the official EN data; only nine + CN-only operators of the 甄选 pool keep Chinese names. Per kind in `.cache/build-i18n-report.json` (also `missing`: + every untranslated text) and in `meta.coverage`. +- **Client**: `data.setLocale(lang)` downloads the overlay once (~1.5 MB, ~190 KB gzipped) and from then on `get`, + `lookup` and `list` (and every getter built on them) return localized copies; `data.getRaw(name)` keeps the Chinese + file; `data.localeName(zh)` translates a name. + +## 3. Server messages + +The server sends a toast or a custom ticker line as a plain string (its own msgid) or as +`msg(msgid, params)` (`shared/i18n.js`). Frames keep `text` — the Chinese rendering, what older clients show — and add +`msgid` / `params`; data names are `dn()` params. A `config.broadcasts` line (`tickerFor`) also carries its `args`, and +the client fills the localized broadcast template (`ui/lang.js tickerText`; `{0}` is the player's name and is never +translated). Error frames already carry their ERR code: `ui/toasts.js describeError` translates `ERR_TEXT[code]`. The +protocol is backward compatible both ways (new fields are optional). + +```js +this.m.toast(this, 'warn', msg('{names}只能部署在召唤者攻击范围内,已退回整备区', { names: back.map(dn) })); +``` + +## 4. Phase 2 (after the 0.2.0 feature screens land) + +Phase 1 converted the title screen, the lobby, the room, the settings panel (with the language switch), the app shell +(main.js: toasts, close reasons, the crash screen), `ui/toasts.js`, `DifficultyTag` and the server messages. Phase 2: + +1. `node tools/i18n.mjs extract` lists the rest (2026-10-05: 1 036 literals in 57 files — briefing, band draft, game + screen and its HUD / panels / overlays, loadout, result, guide, connection banner, components …; 966 of them already + have a translation seeded from PR #70). +2. Per file (one stream per file group to avoid conflicts): `node tools/i18n.mjs codemod --write`, review the + diff (module-level tables: `t()` at the use site; join split sentences; `tc()` where one Chinese text needs two + English ones), then `node tools/i18n.mjs check` and translate what is missing, in the official terms above. +3. Texts the server puts in `m.public` / `m.private` (机变 card names and descriptions, effect names in views) should be + looked up by id on the client (`getEffect` / `data.lookup`) instead of shown as sent. +4. `public/js/ui/guide.js` chapter / page titles, the `GuideButton` / `LoadoutButton` default labels and tooltips. +5. When the sweep is complete: `node tools/i18n.mjs check --strict` in CI, and `extract` reporting 0. + +## Credits + +The English UI strings were seeded from GitHub PR #70 (branch `en-translation`) by **@YuriRestia**, reused with credit +(the owner's decision of 2026-10-05); see NOTICE.md and THIRD-PARTY-NOTICES.md. PR #70's texts taken from +ak-spa-database.pages.dev (no licence) are not used. The English game texts are the official EN client data +(© Hypergryph / Yostar), via the community mirrors named above. diff --git a/docs/PLAYING.md b/docs/PLAYING.md index 70de41fa..64591cbb 100644 --- a/docs/PLAYING.md +++ b/docs/PLAYING.md @@ -4,6 +4,8 @@ 本文数值来自官方数据表(`data/config.json` 等)与 [research](research/00-INDEX.md);游戏内左下角 📖「玩法说明」有官方教程图(随素材一起下载;没下载到时显示文字要点)。操作方式见 [README · 操作](../README.md#操作)。 +界面语言:默认中文;标题画面右上角或「设置」里可切换 **中文 / English**(会记住选择,不用刷新)。英文的干员、技能、盟约、装备、敌人等游戏文本取自官方英文服数据;尚未翻译的界面文字暂时显示中文(docs/I18N.md)。 + ## 1. 一局的流程 ``` From 941a0cc31ec7b6cfebb5b33d0f6cf7defe934f1d Mon Sep 17 00:00:00 2001 From: sganggs Date: Mon, 5 Oct 2026 20:22:32 +0800 Subject: [PATCH 5/5] feedback5 WI: docs/I18N.md counts the phase-2 literals after the lang.js cleanup (1 033 in 56 files, 964 translated) --- docs/I18N.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/I18N.md b/docs/I18N.md index ad9bd5ce..58f72fe2 100644 --- a/docs/I18N.md +++ b/docs/I18N.md @@ -136,8 +136,8 @@ this.m.toast(this, 'warn', msg('{names}只能部署在召唤者攻击范围内 Phase 1 converted the title screen, the lobby, the room, the settings panel (with the language switch), the app shell (main.js: toasts, close reasons, the crash screen), `ui/toasts.js`, `DifficultyTag` and the server messages. Phase 2: -1. `node tools/i18n.mjs extract` lists the rest (2026-10-05: 1 036 literals in 57 files — briefing, band draft, game - screen and its HUD / panels / overlays, loadout, result, guide, connection banner, components …; 966 of them already +1. `node tools/i18n.mjs extract` lists the rest (2026-10-05: 1 033 literals in 56 files — briefing, band draft, game + screen and its HUD / panels / overlays, loadout, result, guide, connection banner, components …; 964 of them already have a translation seeded from PR #70). 2. Per file (one stream per file group to avoid conflicts): `node tools/i18n.mjs codemod --write`, review the diff (module-level tables: `t()` at the use site; join split sentences; `tc()` where one Chinese text needs two