diff --git a/forge-ai/pom.xml b/forge-ai/pom.xml
index b84adeea7d5..eb808066d02 100644
--- a/forge-ai/pom.xml
+++ b/forge-ai/pom.xml
@@ -6,7 +6,7 @@
forge
forge
- 1.6.28-SNAPSHOT
+ 1.6.29-SNAPSHOT
forge-ai
diff --git a/forge-core/pom.xml b/forge-core/pom.xml
index 6d1913363d1..de96bebf9b6 100644
--- a/forge-core/pom.xml
+++ b/forge-core/pom.xml
@@ -6,7 +6,7 @@
forge
forge
- 1.6.28-SNAPSHOT
+ 1.6.29-SNAPSHOT
forge-core
diff --git a/forge-game/pom.xml b/forge-game/pom.xml
index 898e378a0a9..ee375af6f5b 100644
--- a/forge-game/pom.xml
+++ b/forge-game/pom.xml
@@ -6,7 +6,7 @@
forge
forge
- 1.6.28-SNAPSHOT
+ 1.6.29-SNAPSHOT
forge-game
diff --git a/forge-game/src/main/java/forge/game/ability/effects/PumpAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PumpAllEffect.java
index a7662d8b76b..010914c6775 100644
--- a/forge-game/src/main/java/forge/game/ability/effects/PumpAllEffect.java
+++ b/forge-game/src/main/java/forge/game/ability/effects/PumpAllEffect.java
@@ -82,6 +82,7 @@ public class PumpAllEffect extends SpellAbilityEffect {
for (String kw : hiddenkws) {
tgtC.removeHiddenExtrinsicKeyword(kw);
}
+ tgtC.updatePowerToughnessForView();
game.fireEvent(new GameEventCardStatsChanged(tgtC));
}
diff --git a/forge-gui-android/pom.xml b/forge-gui-android/pom.xml
index 463b1cd39af..2028698e0aa 100644
--- a/forge-gui-android/pom.xml
+++ b/forge-gui-android/pom.xml
@@ -19,7 +19,7 @@
forge
forge
- 1.6.28-SNAPSHOT
+ 1.6.29-SNAPSHOT
forge-gui-android
diff --git a/forge-gui-desktop/pom.xml b/forge-gui-desktop/pom.xml
index 9d7e5e8dc9d..2f70bf99f2c 100644
--- a/forge-gui-desktop/pom.xml
+++ b/forge-gui-desktop/pom.xml
@@ -4,7 +4,7 @@
forge
forge
- 1.6.28-SNAPSHOT
+ 1.6.29-SNAPSHOT
forge-gui-desktop
diff --git a/forge-gui-ios/pom.xml b/forge-gui-ios/pom.xml
index 628d3d9210c..49a8543ad94 100644
--- a/forge-gui-ios/pom.xml
+++ b/forge-gui-ios/pom.xml
@@ -12,7 +12,7 @@
forge
forge
- 1.6.28-SNAPSHOT
+ 1.6.29-SNAPSHOT
forge-gui-ios
diff --git a/forge-gui-mobile-dev/pom.xml b/forge-gui-mobile-dev/pom.xml
index 4e745345768..5a552e6fc65 100644
--- a/forge-gui-mobile-dev/pom.xml
+++ b/forge-gui-mobile-dev/pom.xml
@@ -4,7 +4,7 @@
forge
forge
- 1.6.28-SNAPSHOT
+ 1.6.29-SNAPSHOT
forge-gui-mobile-dev
diff --git a/forge-gui-mobile/pom.xml b/forge-gui-mobile/pom.xml
index 79bc4accf79..7b5224aa9c6 100644
--- a/forge-gui-mobile/pom.xml
+++ b/forge-gui-mobile/pom.xml
@@ -4,7 +4,7 @@
forge
forge
- 1.6.28-SNAPSHOT
+ 1.6.29-SNAPSHOT
forge-gui-mobile
diff --git a/forge-gui-mobile/src/forge/assets/FSkinFont.java b/forge-gui-mobile/src/forge/assets/FSkinFont.java
index 726edaabc3a..5da5896c204 100644
--- a/forge-gui-mobile/src/forge/assets/FSkinFont.java
+++ b/forge-gui-mobile/src/forge/assets/FSkinFont.java
@@ -187,6 +187,120 @@ public class FSkinFont {
//only generate images for characters that could be used by Forge
String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890\"!?'.,;:()[]{}<>|/@\\^$-%+=#_&*\u2014\u2022";
chars += "ÁÉÍÓÚáéíóúÀÈÌÒÙàèìòùÑñÄËÏÖÜäëïöüẞß";
+ //common chinese charsets
+ chars += "阿啊哎哀唉埃挨癌矮艾爱碍安氨俺岸按案暗昂凹熬傲奥澳八巴叭吧拔把"
+ + "坝爸罢霸白百柏摆败拜班般颁斑搬板版办半伴扮瓣邦帮膀傍棒包胞宝饱"
+ + "保堡报抱豹暴爆卑杯悲碑北贝备背倍被辈奔本崩逼鼻比彼笔币必毕闭辟"
+ + "碧蔽壁避臂边编蝙鞭扁便变遍辨辩标表别宾滨冰兵丙柄饼并病拨波玻剥"
+ + "播脖伯驳泊勃博搏膊薄卜补捕不布步部擦猜才材财裁采彩踩菜蔡参餐残"
+ + "蚕惨灿仓苍舱藏操曹槽草册侧测策层叉插查茶察差拆柴缠产阐颤昌长肠"
+ + "尝偿常厂场畅倡唱抄超巢朝潮吵炒车扯彻撤尘臣沉陈闯衬称趁撑成呈承"
+ + "诚城乘惩程橙吃池驰迟持匙尺齿斥赤翅充冲虫崇抽仇绸愁筹酬丑瞅臭出"
+ + "初除厨础储楚处触川穿传船喘串窗床晨创吹垂锤春纯唇醇词瓷慈辞磁雌"
+ + "此次刺从匆葱聪丛凑粗促催脆翠村存寸措错搭达答打大呆代带待袋逮戴"
+ + "丹单担胆旦但诞弹淡蛋氮当挡党荡刀导岛倒蹈到盗道稻得德的灯登等邓"
+ + "凳瞪低堤滴迪敌笛底抵地弟帝递第颠典点电店垫淀殿雕吊钓调掉爹跌叠"
+ + "蝶丁叮盯钉顶订定丢东冬懂动冻洞都斗抖陡豆督毒读独堵赌杜肚度渡端"
+ + "短段断锻堆队对吨敦蹲盾顿多夺朵躲俄鹅额恶饿鳄恩儿而尔耳二发乏伐"
+ + "罚阀法帆番翻凡烦繁反返犯泛饭范贩方坊芳防妨房肪仿访纺放飞非啡菲"
+ + "肥废沸肺费分纷芬坟粉份奋愤粪丰风枫封疯峰锋蜂冯逢缝凤奉佛否夫肤"
+ + "孵弗伏扶服浮符幅福辐蝠抚府辅腐父付妇负附复赴副傅富赋腹覆该改钙"
+ + "盖溉概干甘杆肝赶敢感刚岗纲缸钢港高搞稿告戈哥胳鸽割歌阁革格葛隔"
+ + "个各给根跟更耕工弓公功攻供宫恭巩拱共贡勾沟钩狗构购够估咕姑孤菇"
+ + "古谷股骨鼓固故顾瓜刮挂拐怪关观官冠馆管贯惯灌罐光广归龟规硅轨鬼"
+ + "柜贵桂滚棍郭锅国果裹过哈孩海害含函寒韩罕喊汉汗旱杭航毫豪好号浩"
+ + "耗呵喝合何和河核荷盒贺褐赫鹤黑嘿痕很狠恨哼恒横衡轰哄红宏洪虹鸿"
+ + "侯喉猴吼后厚候乎呼忽狐胡壶湖葫糊蝴虎互户护花华哗滑化划画话桦怀"
+ + "淮坏欢还环缓幻唤换患荒慌皇黄煌晃灰恢挥辉徽回毁悔汇会绘惠慧昏婚"
+ + "浑魂混活火伙或货获祸惑霍击饥圾机肌鸡积基迹绩激及吉级即极急疾集"
+ + "辑籍几己挤脊计记纪忌技际剂季既济继寂寄加夹佳家嘉甲贾钾价驾架假"
+ + "嫁稼尖坚间肩艰兼监减剪检简碱见件建剑健舰渐践鉴键箭江姜将浆僵疆"
+ + "讲奖蒋匠降交郊娇浇骄胶焦礁角脚搅叫轿较教阶皆接揭街节劫杰洁结捷"
+ + "截竭姐解介戒届界借巾今斤金津筋仅紧锦尽劲近进晋浸禁京经茎惊晶睛"
+ + "精鲸井颈景警净径竞竟敬境静镜纠究九久酒旧救就舅居局菊橘举矩句巨"
+ + "拒具俱剧惧据距聚卷倦决绝觉掘嚼军君均菌俊峻卡开凯慨刊堪砍看康抗"
+ + "炕考烤靠科棵颗壳咳可渴克刻客课肯坑空孔恐控口扣枯哭苦库裤酷夸跨"
+ + "块快宽款狂况矿亏葵愧溃昆困扩括阔垃拉啦喇腊蜡辣来莱赖兰拦栏蓝篮"
+ + "览懒烂滥郎狼廊朗浪捞劳牢老乐勒雷蕾泪类累冷愣厘梨离莉犁璃黎礼李"
+ + "里哩理鲤力历厉立丽利励例隶粒俩连帘怜莲联廉脸练炼恋链良凉梁粮两"
+ + "亮辆量辽疗聊僚了料列劣烈猎裂邻林临淋磷灵玲凌铃陵羚零龄领岭令另"
+ + "溜刘流留硫瘤柳六龙笼隆垄拢楼漏露卢芦炉鲁陆录鹿碌路驴旅铝履律虑"
+ + "率绿氯滤卵乱掠略伦轮论罗萝逻螺裸洛络骆落妈麻马玛码蚂骂吗嘛埋买"
+ + "迈麦卖脉蛮满曼慢漫忙芒盲茫猫毛矛茅茂冒贸帽貌么没枚玫眉梅媒煤霉"
+ + "每美妹门闷们萌盟猛蒙孟梦弥迷谜米泌秘密蜜眠绵棉免勉面苗描秒妙庙"
+ + "灭民敏名明鸣命摸模膜摩磨蘑魔抹末沫陌莫漠墨默谋某母亩牡姆拇木目"
+ + "牧墓幕慕穆拿哪内那纳娜钠乃奶奈耐男南难囊恼脑闹呢嫩能尼泥你拟逆"
+ + "年念娘酿鸟尿捏您宁凝牛扭纽农浓弄奴努怒女暖挪诺哦欧偶爬帕怕拍排"
+ + "牌派攀盘判叛盼庞旁胖抛炮跑泡胚陪培赔佩配喷盆朋棚蓬鹏膨捧碰批披"
+ + "皮疲脾匹屁譬片偏篇骗漂飘瓢票拼贫频品平评凭苹屏瓶萍坡泼颇婆迫破"
+ + "剖扑铺葡蒲朴浦普谱七妻栖戚期欺漆齐其奇歧骑棋旗企岂启起气弃汽契"
+ + "砌器恰千迁牵铅谦签前钱潜浅遣欠枪腔强墙抢悄敲乔桥瞧巧切茄且窃亲"
+ + "侵秦琴禽勤青氢轻倾清情晴顷请庆穷丘秋蚯求球区曲驱屈躯趋取娶去趣"
+ + "圈全权泉拳犬劝券缺却雀确鹊裙群然燃染嚷壤让饶扰绕惹热人仁忍认任"
+ + "扔仍日绒荣容溶熔融柔肉如儒乳辱入软锐瑞润若弱撒洒萨塞赛三伞散桑"
+ + "嗓丧扫嫂色森僧杀沙纱刹砂傻啥晒山杉衫珊闪陕扇善伤商赏上尚梢烧稍"
+ + "少绍哨舌蛇舍设社射涉摄申伸身深神审婶肾甚渗慎升生声牲胜绳省圣盛"
+ + "剩尸失师诗施狮湿十什石时识实拾蚀食史使始驶士氏世市示式事侍势视"
+ + "试饰室是适逝释收手守首寿受兽售授瘦书抒叔枢殊疏舒输蔬熟暑署属鼠"
+ + "薯术束述树竖数刷耍衰摔甩帅双霜爽谁水税睡顺瞬说丝司私思斯撕死四"
+ + "寺似饲松耸宋送颂搜艘苏俗诉肃素速宿塑酸蒜算虽随髓岁遂碎穗孙损笋"
+ + "缩所索锁他它她塌塔踏胎台抬太态泰贪摊滩坛谈潭坦叹炭探碳汤唐堂塘"
+ + "糖躺趟涛掏逃桃陶淘萄讨套特疼腾藤梯踢啼提题蹄体替天添田甜填挑条"
+ + "跳贴铁厅听廷亭庭停蜓挺艇通同桐铜童统桶筒痛偷头投透突图徒涂途屠"
+ + "土吐兔团推腿退吞托拖脱驼妥拓唾挖哇蛙娃瓦歪外弯湾丸完玩顽挽晚碗"
+ + "万汪亡王网往忘旺望危威微为围违唯惟维伟伪尾纬委萎卫未位味胃谓喂"
+ + "慰魏温文纹闻蚊吻稳问翁窝我沃卧握乌污屋无吴吾五午伍武舞务物误悟"
+ + "雾夕西吸希析息牺悉惜晰稀溪锡熙嘻膝习席袭媳洗喜戏系细隙虾瞎峡狭"
+ + "辖霞下吓夏厦仙先纤掀鲜闲弦贤咸衔嫌显险县现线限宪陷献腺乡相香厢"
+ + "湘箱详祥翔享响想向巷项象像橡削消萧硝销小晓孝效校笑些歇协胁斜谐"
+ + "携鞋写泄泻卸屑械谢蟹心辛欣新信兴星猩刑行形型醒杏姓幸性凶兄匈胸"
+ + "雄熊休修羞朽秀绣袖嗅须虚需徐许序叙畜绪续蓄宣玄悬旋选穴学雪血寻"
+ + "巡询循训讯迅压呀鸦鸭牙芽崖哑雅亚咽烟淹延严言岩沿炎研盐颜衍掩眼"
+ + "演厌宴艳验焰雁燕央扬羊阳杨洋仰养氧痒样腰邀摇遥咬药要耀爷也冶野"
+ + "业叶页夜液一伊衣医依仪夷宜姨移遗疑乙已以矣蚁椅义亿忆艺议亦异役"
+ + "抑译易疫益谊逸意溢毅翼因阴音吟银引饮蚓隐印应英婴鹰迎盈营蝇赢影"
+ + "映硬哟拥永泳勇涌用优忧幽悠尤犹由邮油游友有又右幼诱于予余鱼娱渔"
+ + "愉愚与宇羽雨语玉吁育郁狱浴预域欲喻寓御裕遇愈誉豫元员园原圆袁援"
+ + "缘源远怨院愿曰约月岳钥悦阅跃越云匀允孕运晕韵蕴杂砸灾栽宰载再在"
+ + "咱暂赞脏葬遭糟早枣藻灶皂造噪燥躁则择泽责贼怎曾增赠渣扎眨炸摘宅"
+ + "窄债沾粘展占战站张章涨掌丈仗帐胀账障招找召兆赵照罩遮折哲者这浙"
+ + "针侦珍真诊枕阵振镇震争征挣睁蒸整正证郑政症之支汁芝枝知织肢脂蜘"
+ + "执直值职植殖止只旨址纸指趾至志制治质致智置中忠终钟肿种仲众重州"
+ + "舟周洲轴宙皱骤朱株珠诸猪蛛竹烛逐主煮嘱住助注贮驻柱祝著筑抓爪专"
+ + "砖转赚庄桩装壮状撞追准捉桌着仔兹姿资滋籽子紫字自宗综棕踪总纵走"
+ + "奏租足族阻组祖钻嘴最罪醉尊遵昨左作坐座做蔼隘庵鞍黯肮拗袄懊扒芭"
+ + "疤捌跋靶掰扳拌绊梆绑榜蚌谤磅镑苞褒雹鲍狈悖惫笨绷泵蹦匕鄙庇毙痹"
+ + "弊璧贬匾辫彪憋鳖瘪彬斌缤濒鬓秉禀菠舶渤跛簸哺怖埠簿睬惭沧糙厕蹭"
+ + "茬岔豺掺搀禅馋蝉铲猖敞钞嘲澈忱辰铛澄逞秤痴弛侈耻宠畴稠锄雏橱矗"
+ + "揣囱疮炊捶椿淳蠢戳绰祠赐醋簇窜篡崔摧悴粹搓撮挫瘩歹怠贷耽档叨捣"
+ + "祷悼蹬嘀涤缔蒂掂滇巅碘佃甸玷惦奠刁叼迭谍碟鼎董栋兜蚪逗痘睹妒镀"
+ + "缎兑墩盹囤钝咄哆踱垛堕舵惰跺讹娥峨蛾扼鄂愕遏噩饵贰筏矾妃匪诽吠"
+ + "吩氛焚忿讽敷芙拂俘袱甫斧俯脯咐缚尬丐柑竿尴秆橄赣冈肛杠羔膏糕镐"
+ + "疙搁蛤庚羹埂耿梗蚣躬汞苟垢沽辜雇寡卦褂乖棺逛闺瑰诡癸跪亥骇酣憨"
+ + "涵悍捍焊憾撼翰夯嚎皓禾烘弘弧唬沪猾徊槐宦涣焕痪凰惶蝗簧恍谎幌卉"
+ + "讳诲贿晦秽荤豁讥叽唧缉畸箕稽棘嫉妓祭鲫冀颊奸歼煎拣俭柬茧捡荐贱"
+ + "涧溅槛缰桨酱椒跤蕉侥狡绞饺矫剿缴窖酵秸睫芥诫藉襟谨荆兢靖窘揪灸"
+ + "玖韭臼疚拘驹鞠桔沮炬锯娟捐鹃绢眷诀倔崛爵钧骏竣咖揩楷勘坎慷糠扛"
+ + "亢拷铐坷苛磕蝌垦恳啃吭抠叩寇窟垮挎筷筐旷框眶盔窥魁馈坤捆廓睐婪"
+ + "澜揽缆榄琅榔唠姥涝烙酪垒磊肋擂棱狸漓篱吏沥俐荔栗砾痢雳镰敛粱谅"
+ + "晾寥嘹撩缭瞭咧琳鳞凛吝赁躏拎伶聆菱浏琉馏榴咙胧聋窿娄搂篓陋庐颅"
+ + "卤虏赂禄吕侣屡缕峦抡仑沦啰锣箩骡蟆馒瞒蔓莽锚卯昧媚魅氓朦檬锰咪"
+ + "靡眯觅缅瞄渺藐蔑皿闽悯冥铭谬馍摹茉寞沐募睦暮捺挠瑙呐馁妮匿溺腻"
+ + "捻撵碾聂孽拧狞柠泞钮脓疟虐懦糯殴鸥呕藕趴啪耙徘湃潘畔乓螃刨袍沛"
+ + "砰烹彭澎篷坯劈霹啤僻翩撇聘乒坪魄仆菩圃瀑曝柒凄祈脐崎鳍乞迄泣掐"
+ + "洽钳乾黔谴嵌歉呛跷锹侨憔俏峭窍翘撬怯钦芹擒寝沁卿蜻擎琼囚岖渠痊"
+ + "瘸冉瓤壬刃纫韧戎茸蓉榕冗揉蹂蠕汝褥蕊闰腮叁搔骚臊涩瑟鲨煞霎筛删"
+ + "煽擅赡裳晌捎勺奢赦呻绅沈笙甥矢屎恃拭柿嗜誓梳淑赎蜀曙恕庶墅漱蟀"
+ + "拴栓涮吮烁硕嗽嘶巳伺祀肆讼诵酥粟溯隋祟隧唆梭嗦琐蹋苔汰瘫痰谭檀"
+ + "毯棠膛倘淌烫滔誊剔屉剃涕惕恬舔迢帖彤瞳捅凸秃颓蜕褪屯豚臀驮鸵椭"
+ + "洼袜豌宛婉惋皖腕枉妄偎薇巍帷苇畏尉猬蔚瘟紊嗡涡蜗呜巫诬芜梧蜈侮"
+ + "捂鹉勿戊昔犀熄蟋徙匣侠暇馅羡镶宵潇箫霄嚣淆肖哮啸蝎邪挟懈芯锌薪"
+ + "馨衅腥汹锈戌墟旭恤酗婿絮轩喧癣炫绚渲靴薛勋熏旬驯汛逊殉丫押涯衙"
+ + "讶焉阎蜒檐砚唁谚堰殃秧鸯漾夭吆妖尧肴姚窑谣舀椰腋壹怡贻胰倚屹邑"
+ + "绎姻茵荫殷寅淫瘾莺樱鹦荧莹萤颖佣庸咏踊酉佑迂淤渝隅逾榆舆屿禹芋"
+ + "冤鸳渊猿苑粤耘陨酝哉赃凿蚤澡憎咋喳轧闸乍诈栅榨斋寨毡瞻斩盏崭辗"
+ + "栈绽彰樟杖昭沼肇辙蔗贞斟疹怔狰筝拯吱侄帜挚秩掷窒滞稚衷粥肘帚咒"
+ + "昼拄瞩蛀铸拽撰妆幢椎锥坠缀赘谆卓拙灼茁浊酌啄琢咨姊揍卒佐佘赊";
final PixmapPacker packer = new PixmapPacker(pageSize, pageSize, Pixmap.Format.RGBA8888, 2, false);
final FreeTypeFontParameter parameter = new FreeTypeFontParameter();
parameter.characters = chars;
diff --git a/forge-gui/pom.xml b/forge-gui/pom.xml
index 4e4c32c1e39..a557a58da68 100644
--- a/forge-gui/pom.xml
+++ b/forge-gui/pom.xml
@@ -4,7 +4,7 @@
forge
forge
- 1.6.28-SNAPSHOT
+ 1.6.29-SNAPSHOT
forge-gui
diff --git a/forge-gui/res/cardsfolder/upcoming/aeon_engine.txt b/forge-gui/res/cardsfolder/a/aeon_engine.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/aeon_engine.txt
rename to forge-gui/res/cardsfolder/a/aeon_engine.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/anje_falkenrath.txt b/forge-gui/res/cardsfolder/a/anje_falkenrath.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/anje_falkenrath.txt
rename to forge-gui/res/cardsfolder/a/anje_falkenrath.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/anjes_ravager.txt b/forge-gui/res/cardsfolder/a/anjes_ravager.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/anjes_ravager.txt
rename to forge-gui/res/cardsfolder/a/anjes_ravager.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/apex_altisaur.txt b/forge-gui/res/cardsfolder/a/apex_altisaur.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/apex_altisaur.txt
rename to forge-gui/res/cardsfolder/a/apex_altisaur.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/archfiend_of_spite.txt b/forge-gui/res/cardsfolder/a/archfiend_of_spite.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/archfiend_of_spite.txt
rename to forge-gui/res/cardsfolder/a/archfiend_of_spite.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/atla_palani_nest_tender.txt b/forge-gui/res/cardsfolder/a/atla_palani_nest_tender.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/atla_palani_nest_tender.txt
rename to forge-gui/res/cardsfolder/a/atla_palani_nest_tender.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/backdraft_hellkite.txt b/forge-gui/res/cardsfolder/b/backdraft_hellkite.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/backdraft_hellkite.txt
rename to forge-gui/res/cardsfolder/b/backdraft_hellkite.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/bloodthirsty_blade.txt b/forge-gui/res/cardsfolder/b/bloodthirsty_blade.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/bloodthirsty_blade.txt
rename to forge-gui/res/cardsfolder/b/bloodthirsty_blade.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/bone_miser.txt b/forge-gui/res/cardsfolder/b/bone_miser.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/bone_miser.txt
rename to forge-gui/res/cardsfolder/b/bone_miser.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/chainer_nightmare_adept.txt b/forge-gui/res/cardsfolder/c/chainer_nightmare_adept.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/chainer_nightmare_adept.txt
rename to forge-gui/res/cardsfolder/c/chainer_nightmare_adept.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/cliffside_rescuer.txt b/forge-gui/res/cardsfolder/c/cliffside_rescuer.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/cliffside_rescuer.txt
rename to forge-gui/res/cardsfolder/c/cliffside_rescuer.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/commanders_insignia.txt b/forge-gui/res/cardsfolder/c/commanders_insignia.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/commanders_insignia.txt
rename to forge-gui/res/cardsfolder/c/commanders_insignia.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/curse_of_fools_wisdom.txt b/forge-gui/res/cardsfolder/c/curse_of_fools_wisdom.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/curse_of_fools_wisdom.txt
rename to forge-gui/res/cardsfolder/c/curse_of_fools_wisdom.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/dockside_extortionist.txt b/forge-gui/res/cardsfolder/d/dockside_extortionist.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/dockside_extortionist.txt
rename to forge-gui/res/cardsfolder/d/dockside_extortionist.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/doomed_artisan.txt b/forge-gui/res/cardsfolder/d/doomed_artisan.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/doomed_artisan.txt
rename to forge-gui/res/cardsfolder/d/doomed_artisan.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/elsha_of_the_infinite.txt b/forge-gui/res/cardsfolder/e/elsha_of_the_infinite.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/elsha_of_the_infinite.txt
rename to forge-gui/res/cardsfolder/e/elsha_of_the_infinite.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/empowered_autogenerator.txt b/forge-gui/res/cardsfolder/e/empowered_autogenerator.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/empowered_autogenerator.txt
rename to forge-gui/res/cardsfolder/e/empowered_autogenerator.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/full_flowering.txt b/forge-gui/res/cardsfolder/f/full_flowering.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/full_flowering.txt
rename to forge-gui/res/cardsfolder/f/full_flowering.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/gerrard_weatherlight_hero.txt b/forge-gui/res/cardsfolder/g/gerrard_weatherlight_hero.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/gerrard_weatherlight_hero.txt
rename to forge-gui/res/cardsfolder/g/gerrard_weatherlight_hero.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/ghired_conclave_exile.txt b/forge-gui/res/cardsfolder/g/ghired_conclave_exile.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/ghired_conclave_exile.txt
rename to forge-gui/res/cardsfolder/g/ghired_conclave_exile.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/ghireds_belligerence.txt b/forge-gui/res/cardsfolder/g/ghireds_belligerence.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/ghireds_belligerence.txt
rename to forge-gui/res/cardsfolder/g/ghireds_belligerence.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/gift_of_doom.txt b/forge-gui/res/cardsfolder/g/gift_of_doom.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/gift_of_doom.txt
rename to forge-gui/res/cardsfolder/g/gift_of_doom.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/greven_predator_captain.txt b/forge-gui/res/cardsfolder/g/greven_predator_captain.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/greven_predator_captain.txt
rename to forge-gui/res/cardsfolder/g/greven_predator_captain.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/grismold_the_dreadsower.txt b/forge-gui/res/cardsfolder/g/grismold_the_dreadsower.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/grismold_the_dreadsower.txt
rename to forge-gui/res/cardsfolder/g/grismold_the_dreadsower.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/hate_mirage.txt b/forge-gui/res/cardsfolder/h/hate_mirage.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/hate_mirage.txt
rename to forge-gui/res/cardsfolder/h/hate_mirage.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/idol_of_oblivion.txt b/forge-gui/res/cardsfolder/i/idol_of_oblivion.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/idol_of_oblivion.txt
rename to forge-gui/res/cardsfolder/i/idol_of_oblivion.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/ignite_the_future.txt b/forge-gui/res/cardsfolder/i/ignite_the_future.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/ignite_the_future.txt
rename to forge-gui/res/cardsfolder/i/ignite_the_future.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/kadena_slinking_sorcerer.txt b/forge-gui/res/cardsfolder/k/kadena_slinking_sorcerer.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/kadena_slinking_sorcerer.txt
rename to forge-gui/res/cardsfolder/k/kadena_slinking_sorcerer.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/kadenas_silencer.txt b/forge-gui/res/cardsfolder/k/kadenas_silencer.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/kadenas_silencer.txt
rename to forge-gui/res/cardsfolder/k/kadenas_silencer.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/krrik_son_of_yawgmoth.txt b/forge-gui/res/cardsfolder/k/krrik_son_of_yawgmoth.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/krrik_son_of_yawgmoth.txt
rename to forge-gui/res/cardsfolder/k/krrik_son_of_yawgmoth.txt
diff --git a/forge-gui/res/cardsfolder/l/lake_of_the_dead.txt b/forge-gui/res/cardsfolder/l/lake_of_the_dead.txt
index badb1aee8bc..215a4e90b95 100644
--- a/forge-gui/res/cardsfolder/l/lake_of_the_dead.txt
+++ b/forge-gui/res/cardsfolder/l/lake_of_the_dead.txt
@@ -5,8 +5,8 @@ A:AB$ Mana | Cost$ T | Produced$ B | SpellDescription$ Add {B}.
A:AB$ Mana | Cost$ T Sac<1/Swamp> | Produced$ B | Amount$ 4 | SpellDescription$ Add {B}{B}{B}{B}.
R:Event$ Moved | Destination$ Battlefield | ValidCard$ Card.Self | ReplaceWith$ PayBeforeETB | Description$ If CARDNAME would enter the battlefield, sacrifice a Swamp instead. If you do, put CARDNAME onto the battlefield. If you don't, put it into its owner's graveyard.
SVar:PayBeforeETB:DB$ Sacrifice | SacValid$ Swamp | Defined$ You | RememberSacrificed$ True | SubAbility$ MoveToGraveyard
-SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ MoveToBattlefield
-SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup
+SVar:MoveToGraveyard:DB$ ChangeZone | Origin$ All | Destination$ Graveyard | Defined$ ReplacedCard | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X | SubAbility$ MoveToBattlefield
+SVar:MoveToBattlefield:DB$ ChangeZone | Origin$ All | Destination$ Battlefield | Defined$ ReplacedCard | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
AI:RemoveDeck:All
diff --git a/forge-gui/res/cardsfolder/upcoming/leadership_vacuum.txt b/forge-gui/res/cardsfolder/l/leadership_vacuum.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/leadership_vacuum.txt
rename to forge-gui/res/cardsfolder/l/leadership_vacuum.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/mandate_of_peace.txt b/forge-gui/res/cardsfolder/m/mandate_of_peace.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/mandate_of_peace.txt
rename to forge-gui/res/cardsfolder/m/mandate_of_peace.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/marisi_breaker_of_the_coil.txt b/forge-gui/res/cardsfolder/m/marisi_breaker_of_the_coil.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/marisi_breaker_of_the_coil.txt
rename to forge-gui/res/cardsfolder/m/marisi_breaker_of_the_coil.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/mass_diminish.txt b/forge-gui/res/cardsfolder/m/mass_diminish.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/mass_diminish.txt
rename to forge-gui/res/cardsfolder/m/mass_diminish.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/mire_in_misery.txt b/forge-gui/res/cardsfolder/m/mire_in_misery.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/mire_in_misery.txt
rename to forge-gui/res/cardsfolder/m/mire_in_misery.txt
diff --git a/forge-gui/res/cardsfolder/n/narset_parter_of_veils.txt b/forge-gui/res/cardsfolder/n/narset_parter_of_veils.txt
index b402d8903a7..f3e54e728bc 100644
--- a/forge-gui/res/cardsfolder/n/narset_parter_of_veils.txt
+++ b/forge-gui/res/cardsfolder/n/narset_parter_of_veils.txt
@@ -3,5 +3,5 @@ ManaCost:1 U U
Types:Legendary Planeswalker Narset
Loyalty:5
S:Mode$ Continuous | Affected$ Opponent | AddKeyword$ You can't draw more than one card each turn. | Description$ Each opponent can't draw more than one card each turn.
-A:AB$ Dig | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | DigNum$ 4 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Card.nonCreature+nonLand | RestRandomOrder$ True | SpellDescription$ Look at the top four cards of your library. You may reveal a noncreature, nonland card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
+A:AB$ Dig | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | DigNum$ 4 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Card.nonCreature+nonLand | RestRandomOrder$ True | ForceRevealToController$ True | SpellDescription$ Look at the top four cards of your library. You may reveal a noncreature, nonland card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
Oracle:Each opponent can't draw more than one card each turn.\n[-2]: Look at the top four cards of your library. You may reveal a noncreature, nonland card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
diff --git a/forge-gui/res/cardsfolder/upcoming/nightmare_unmaking.txt b/forge-gui/res/cardsfolder/n/nightmare_unmaking.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/nightmare_unmaking.txt
rename to forge-gui/res/cardsfolder/n/nightmare_unmaking.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/ohran_frostfang.txt b/forge-gui/res/cardsfolder/o/ohran_frostfang.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/ohran_frostfang.txt
rename to forge-gui/res/cardsfolder/o/ohran_frostfang.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/pendant_of_prosperity.txt b/forge-gui/res/cardsfolder/p/pendant_of_prosperity.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/pendant_of_prosperity.txt
rename to forge-gui/res/cardsfolder/p/pendant_of_prosperity.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/pramikon_sky_rampart.txt b/forge-gui/res/cardsfolder/p/pramikon_sky_rampart.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/pramikon_sky_rampart.txt
rename to forge-gui/res/cardsfolder/p/pramikon_sky_rampart.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/rayami_first_of_the_fallen.txt b/forge-gui/res/cardsfolder/r/rayami_first_of_the_fallen.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/rayami_first_of_the_fallen.txt
rename to forge-gui/res/cardsfolder/r/rayami_first_of_the_fallen.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/road_of_return.txt b/forge-gui/res/cardsfolder/r/road_of_return.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/road_of_return.txt
rename to forge-gui/res/cardsfolder/r/road_of_return.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/sanctum_of_eternity.txt b/forge-gui/res/cardsfolder/s/sanctum_of_eternity.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/sanctum_of_eternity.txt
rename to forge-gui/res/cardsfolder/s/sanctum_of_eternity.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/scaretiller.txt b/forge-gui/res/cardsfolder/s/scaretiller.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/scaretiller.txt
rename to forge-gui/res/cardsfolder/s/scaretiller.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/scroll_of_fate.txt b/forge-gui/res/cardsfolder/s/scroll_of_fate.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/scroll_of_fate.txt
rename to forge-gui/res/cardsfolder/s/scroll_of_fate.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/selesnya_eulogist.txt b/forge-gui/res/cardsfolder/s/selesnya_eulogist.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/selesnya_eulogist.txt
rename to forge-gui/res/cardsfolder/s/selesnya_eulogist.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/sevinne_the_chronoclasm.txt b/forge-gui/res/cardsfolder/s/sevinne_the_chronoclasm.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/sevinne_the_chronoclasm.txt
rename to forge-gui/res/cardsfolder/s/sevinne_the_chronoclasm.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/sevinnes_reclamation.txt b/forge-gui/res/cardsfolder/s/sevinnes_reclamation.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/sevinnes_reclamation.txt
rename to forge-gui/res/cardsfolder/s/sevinnes_reclamation.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/skyfire_phoenix.txt b/forge-gui/res/cardsfolder/s/skyfire_phoenix.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/skyfire_phoenix.txt
rename to forge-gui/res/cardsfolder/s/skyfire_phoenix.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/song_of_the_worldsoul.txt b/forge-gui/res/cardsfolder/s/song_of_the_worldsoul.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/song_of_the_worldsoul.txt
rename to forge-gui/res/cardsfolder/s/song_of_the_worldsoul.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/tahngarth_first_mate.txt b/forge-gui/res/cardsfolder/t/tahngarth_first_mate.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/tahngarth_first_mate.txt
rename to forge-gui/res/cardsfolder/t/tahngarth_first_mate.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/tectonic_hellion.txt b/forge-gui/res/cardsfolder/t/tectonic_hellion.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/tectonic_hellion.txt
rename to forge-gui/res/cardsfolder/t/tectonic_hellion.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/thalias_geistcaller.txt b/forge-gui/res/cardsfolder/t/thalias_geistcaller.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/thalias_geistcaller.txt
rename to forge-gui/res/cardsfolder/t/thalias_geistcaller.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/thieving_amalgam.txt b/forge-gui/res/cardsfolder/t/thieving_amalgam.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/thieving_amalgam.txt
rename to forge-gui/res/cardsfolder/t/thieving_amalgam.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/thought_sponge.txt b/forge-gui/res/cardsfolder/t/thought_sponge.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/thought_sponge.txt
rename to forge-gui/res/cardsfolder/t/thought_sponge.txt
diff --git a/forge-gui/res/cardsfolder/t/transmute_artifact.txt b/forge-gui/res/cardsfolder/t/transmute_artifact.txt
index e50e51028e4..8ccedb74d00 100644
--- a/forge-gui/res/cardsfolder/t/transmute_artifact.txt
+++ b/forge-gui/res/cardsfolder/t/transmute_artifact.txt
@@ -6,8 +6,8 @@ SVar:StoreCanSearch:DB$ StoreSVar | SVar$ SackedCMC | Type$ Number | Expression$
SVar:StoreCMC:DB$ StoreSVar | SVar$ SackedCMC | Type$ Calculate | Expression$ Y | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBClear
SVar:DBClear:DB$ Cleanup | ClearRemembered$ True | SubAbility$ SearchLibrary
SVar:SearchLibrary:DB$ ChangeZone | Origin$ Library | Destination$ Library | ChangeType$ Artifact | ChangeNum$ 1 | SubAbility$ EqualTransmute | StackDescription$ None | RememberChanged$ True | ConditionCheckSVar$ SackedCMC | ConditionSVarCompare$ GE0
-SVar:EqualTransmute:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | NoLooking$ True | Mandatory$ True | Defined$ Remembered | ChangeNum$ 1 | ConditionCheckSVar$ SackedCMC | ConditionSVarCompare$ GEY | SubAbility$ PayForTransmute | StackDescription$ None
-SVar:PayForTransmute:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | NoLooking$ True | Mandatory$ True | Defined$ Remembered | ChangeNum$ 1 | ConditionCheckSVar$ SackedCMC | ConditionSVarCompare$ LTY | UnlessCost$ X | UnlessPayer$ You | UnlessSwitched$ True | StackDescription$ None | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1
+SVar:EqualTransmute:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | NoLooking$ True | Mandatory$ True | Defined$ Remembered | ChangeNum$ 1 | ConditionCheckSVar$ SackedCMC | ConditionSVarCompare$ GEY | References$ Y | SubAbility$ PayForTransmute | StackDescription$ None
+SVar:PayForTransmute:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | NoLooking$ True | Mandatory$ True | Defined$ Remembered | ChangeNum$ 1 | ConditionCheckSVar$ SackedCMC | ConditionSVarCompare$ LTY | UnlessCost$ X | References$ X,Y | UnlessPayer$ You | UnlessSwitched$ True | StackDescription$ None | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1
# Everything working but when no artifact is sacrificed
# SackedCMC to be overridden to see if a sacrifice actually happened
SVar:Y:Remembered$CardManaCost
diff --git a/forge-gui/res/cardsfolder/upcoming/gilded_goose.txt b/forge-gui/res/cardsfolder/upcoming/gilded_goose.txt
new file mode 100644
index 00000000000..ae4ba35da20
--- /dev/null
+++ b/forge-gui/res/cardsfolder/upcoming/gilded_goose.txt
@@ -0,0 +1,10 @@
+Name:Gilded Goose
+ManaCost:G
+Types:Creature Bird
+PT:0/2
+K:Flying
+T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigFood | TriggerDescription$ When CARDNAME enters the battlefield create a food token. (It's an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.")
+SVar:TrigFood:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_food_sac | TokenOwner$ You | LegacyImage$ c a food sac eld
+A:AB$ Token | Cost$ 1 G T | TokenAmount$ 1 | TokenScript$ c_a_food_sac | TokenOwner$ You | LegacyImage$ c a food sac eld | SpellDescription$ Create a Food Token.
+A:AB$ Mana | Cost$ T Sac<1/Food> | Produced$ Any | SpellDescription$ Add one mana of any color.
+Oracle:Flying\nWhen Gilded Goose enters the battlefield create a food token. (It's an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.")\n{1}{G}, {T}: Create a Food token.\n{T}, Sacrifice a Food: Add one mana of any color.
diff --git a/forge-gui/res/cardsfolder/upcoming/golden_egg.txt b/forge-gui/res/cardsfolder/upcoming/golden_egg.txt
new file mode 100644
index 00000000000..da8a981a901
--- /dev/null
+++ b/forge-gui/res/cardsfolder/upcoming/golden_egg.txt
@@ -0,0 +1,8 @@
+Name:Golden Egg
+ManaCost:2
+Types:Artifact Food
+T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ FreeCard | TriggerDescription$ When CARDNAME enters the battlefield, draw a card.
+SVar:FreeCard:DB$ Draw | Defined$ You | NumCards$ 1
+A:AB$ Mana | Cost$ 1 T Sac<1/CARDNAME> | Produced$ Any | SpellDescription$ Add one mana of any color.
+A:AB$ GainLife | Cost$ 2 T Sac<1/CARDNAME> | Defined$ You | LifeAmount$ 3 | SpellDescription$ You gain 3 life.
+Oracle:When Golden Egg enters the battlefield, draw a card.\n{1}, {T}, Sacrifice Golden Egg: Add one mana of any color.\n{2}, {T}, Sacrifice Golden Egg: You gain 3 life.
diff --git a/forge-gui/res/cardsfolder/upcoming/oko_thief_of_crowns.txt b/forge-gui/res/cardsfolder/upcoming/oko_thief_of_crowns.txt
new file mode 100644
index 00000000000..84dd9bc8ab8
--- /dev/null
+++ b/forge-gui/res/cardsfolder/upcoming/oko_thief_of_crowns.txt
@@ -0,0 +1,9 @@
+Name:Oko, Thief of Crowns
+ManaCost:1 G U
+Types:Legendary Planeswalker Oko
+Loyalty:4
+A:AB$ Token | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenScript$ c_a_food_sac | TokenOwner$ You | LegacyImage$ c a food sac eld | SpellDescription$ Create a Food Token.
+A:AB$ Animate | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Artifact,Creature | TgtPrompt$ Select target artifact or creature | Power$ 3 | Toughness$ 3 | RemoveAllAbilities$ True | Colors$ Green | OverwriteColors$ True | Types$ Creature,Elk | RemoveCreatureTypes$ True | RemoveCardTypes$ True | Permanent$ True | SpellDescription$ Target artifact or creature loses all abilities and becomes a green Elk creature with base power and toughness 3/3.
+A:AB$ Pump | Cost$ SubCounter<5/LOYALTY> | Planeswalker$ True | Ultimate$ True | AITgts$ Artifact.YouCtrl+cmcLE1 | ValidTgts$ Artifact.YouCtrl,Creature.YouCtrl | TgtPrompt$ Choose target artifact or creature you control | SubAbility$ OkoExchange | SpellDescription$ Exchange control of target artifact or creature you control and target creature an opponent controls with power 3 or less.
+SVar:OkoExchange:DB$ ExchangeControl | Defined$ ParentTarget | ValidTgts$ Creature.OppCtrl+powerLE3 | TgtPrompt$ Choose target creature an opponent controls with power 3 or less
+Oracle:[+2]: Create a Food Token.\n[+1]: Target artifact or creature loses all abilities and becomes a green Elk creature with base power and toughness 3/3.\n[-5]: Exchange control of target artifact or creature you control and target creature an opponent controls with power 3 or less.
diff --git a/forge-gui/res/cardsfolder/upcoming/voice_of_many.txt b/forge-gui/res/cardsfolder/v/voice_of_many.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/voice_of_many.txt
rename to forge-gui/res/cardsfolder/v/voice_of_many.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/volrath_the_shapestealer.txt b/forge-gui/res/cardsfolder/v/volrath_the_shapestealer.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/volrath_the_shapestealer.txt
rename to forge-gui/res/cardsfolder/v/volrath_the_shapestealer.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/wall_of_stolen_identity.txt b/forge-gui/res/cardsfolder/w/wall_of_stolen_identity.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/wall_of_stolen_identity.txt
rename to forge-gui/res/cardsfolder/w/wall_of_stolen_identity.txt
diff --git a/forge-gui/res/cardsfolder/upcoming/wildfire_devils.txt b/forge-gui/res/cardsfolder/w/wildfire_devils.txt
similarity index 100%
rename from forge-gui/res/cardsfolder/upcoming/wildfire_devils.txt
rename to forge-gui/res/cardsfolder/w/wildfire_devils.txt
diff --git a/forge-gui/res/languages/cn-ZH.properties b/forge-gui/res/languages/cn-ZH.properties
new file mode 100644
index 00000000000..e6a89f7f898
--- /dev/null
+++ b/forge-gui/res/languages/cn-ZH.properties
@@ -0,0 +1,890 @@
+language.name=Chinese (ZH)
+#SplashScreen.java
+splash.loading.examining-cards=加载牌张,检查文件夹
+splash.loading.cards-folders=从文件夹加载牌张
+splash.loading.cards-archive=从存档中加载牌张
+splash.loading.decks=加载套牌
+splash.loading.processingimagesprites=处理精灵图
+#FControl.java
+lblOpeningMainWindow=打开主窗口中
+lblCloseScreen=关闭屏幕
+txCloseAction1=Forge现在支持选项卡导航,可以轻松关闭和切换不同屏幕。因此,您不再需要使用右上角X按钮关闭当前屏幕并返回
+txCloseAction2=请选择右上角的X按钮选择接下来将要进行的操作。此选项保留给未来使用,您将不会再看到此消息,您可以随时在“首选项”中更改此行为
+titCloseAction=选择您的关闭行动
+lblAreYouSureYouWishRestartForge=你确定要重启Forge吗?
+lblAreYouSureYouWishExitForge=你确定要退出Forge吗?
+lblOneOrMoreGamesActive=一个或多个游戏正处于活动状态
+lblerrLoadingLayoutFile=无法读取您的布局文件:%s。按OK然后删除。\n游戏将以默认布局进行。
+lblLoadingQuest=加载时空竞逐中...
+#FScreen.java
+lblHome=主页
+lblWorkshop=作坊页面
+lblBacktoHome=回退到主页
+lblDeckEditor=套牌编辑器
+lblCloseEditor=关闭编辑器
+lblCommanderDeckEditor=指挥官套牌编辑器
+lblOathbreakerDeckEditor=破誓者套牌编辑器
+lblTinyLeadersDeckEditor=小指挥官套牌编辑器
+lblBrawlDeckEditor=争锋套牌编辑器
+lblDraftDeckEditor=轮抓套牌编辑器
+lblSealedDeckEditor=现开套牌编辑器
+lblTokenViewer=衍生物查看器
+lblCloseViewer=关闭查看器
+lblQuestDeckEditor=竞逐套牌编辑器
+lblQuestTournamentDeckEditor=竞逐比赛套牌编辑器
+lblSpellShop=轮替商店
+lblLeaveShop=离开商店
+lblLeaveDraft=离开轮抓
+lblBazaar=珍宝集市
+lblConcedeGame=认输这场游戏
+txerrFailedtodeletelayoutfile=删除布局文件失败。
+#VSubmenuPreferences.java
+Preferences=偏好
+btnReset=重置到默认偏好
+btnDeleteMatchUI=重置匹配布局
+btnDeleteEditorUI=重置编辑器布局
+btnDeleteWorkshopUI=重置游戏界面
+btnUserProfileUI=打开用户目录
+btnContentDirectoryUI=打开内容目录
+btnResetJavaFutureCompatibilityWarnings=重置Java兼容性警告
+btnClearImageCache=清除图片缓存
+btnTokenPreviewer=衍生物预览器
+btnCopyToClipboard=复制到剪切板
+cbpSelectLanguage=语言
+nlSelectLanguage=选择语言(除了正在进行中的游戏)(需要重新启动)
+cbRemoveSmall=删除小生物
+cbCardBased=包括基于单卡生成的套牌
+cbSingletons=单张模式
+cbRemoveArtifacts=删除神器
+cbAnte=赌博模式
+cbAnteMatchRarity=赌注稀有度匹配
+cbEnableAICheats=允许AI作弊
+cbManaBurn=法术力灼烧
+cbManaLostPrompt=提示法术力池将要清空
+cbDevMode=开发人员模式
+cbLoadCardsLazily=惰性加载卡牌脚本
+cbLoadHistoricFormats=加载史记格式
+cbWorkshopSyntax=作坊语法检查
+cbEnforceDeckLegality=套牌一致性
+cbSideboardForAI=玩家为AI换备
+cbPerformanceMode=性能模式
+cbFilteredHands=手牌过滤
+cbImageFetcher=自动下载缺失的图片
+cbCloneImgSource=复制使用原始的图片
+cbScaleLarger=将图像缩放的更大
+cbRenderBlackCardBorders=渲染黑卡边框
+cbLargeCardViewers=使用大图查看器
+cbSmallDeckViewer=使用小套牌查看器
+cbDisplayFoil=显示闪卡
+cbRandomFoil=随机闪卡
+cbRandomArtInPools=在生成的卡池中随机加入闪卡
+cbEnableSounds=启用音效
+cbEnableMusic=启用背景音乐
+cbAltSoundSystem=使用备用音效系统
+cbUiForTouchScreen=触摸屏UI增强
+cbTimedTargOverlay=启用定位叠加优化
+cbCompactMainMenu=使用紧凑的主侧边栏菜单
+cbDetailedPaymentDesc=在付费提示中详细描述咒语
+cbPromptFreeBlocks=不阻塞句柄
+cbPauseWhileMinimized=暂停时最小化
+cbCompactPrompt=紧凑型提示
+cbEscapeEndsTurn=使用空格结束回合
+cbPreselectPrevAbOrder=预选能力的顺序
+cbHideReminderText=隐藏提示文字
+cbOpenPacksIndiv=逐个打开补充包
+cbTokensInSeparateRow=在单独一行中显示衍生物
+cbStackCreatures=堆叠生物
+cbFilterLandsByColorId=在启动式异能中按颜色筛选地
+cbShowStormCount=在提示窗中显示风暴计数
+cbRemindOnPriority=获得优先权时高亮提示
+cbUseSentry=自动提交错误报告
+cbpGameLogEntryType=游戏日志详细程度
+cbpCloseAction=关闭动作
+cbpDefaultFontSize=默认字体大小
+cbpAiProfiles=AI强度
+cbpDisplayCurrentCardColors=显示牌张颜色详情
+cbpAutoYieldMode=自动让过
+cbpCounterDisplayType=计数器显示类型
+cbpCounterDisplayLocation=计数器显示区域
+cbpGraveyardOrdering=允许指衍生物进入墓地
+Troubleshooting=故障排除
+GeneralConfiguration=常规配置
+lblPlayerName=玩家名称
+nlPlayerName=设置游戏中Forge将引用的名称
+nlCompactMainMenu=启用节省空间的侧边栏,一次只显示一个菜单组(需要重新启动)。
+nlUseSentry=启用后,会自动向开发人员提交错误报告。
+GamePlay=游戏
+nlpMulliganRule=选择调度规则
+nlpAiProfiles=选择你的AI对手
+nlAnte=确定游戏是否使用赌注
+nlAnteMatchRarity=尝试为所有玩家生成同稀有度赌注
+nlEnableAICheats=允许AI进行作弊以获得优势(对于已经设置了作弊洗牌的AI)。
+nlManaBurn=使用法术力灼烧(M10之前的规则)
+nlManaLostPrompt=启用后,如果让过优先权会导致法术力池清空,你将收到一个警告提示。
+nlEnforceDeckLegality=强制每个与环境相关的套牌合法性(最小单卡数,最大单卡数等)。
+nlSideboardForAI=允许用户在构筑赛制中为AI换备牌。
+nlPerformanceMode=禁止其他静态能力检查以加速游戏引擎(警告:对手手牌有闪现单卡能使用时可能会跳过)。
+nlFilteredHands=生成两个起手并发给你最接近套牌地比例的起手(需要重启)
+nlCloneImgSource=启用克隆的时候将使用原画而不是克隆牌的画
+nlPromptFreeBlocks=启用后如果你需要支付0来阻挡,则不会提示自动支付0。
+nlPauseWhileMinimized=启用后,Forge将在暂停时最小化(主要用于AI VS AI)。
+nlEscapeEndsTurn=启用后,空格键可以用于结束当前回合的替代按键。
+nlDetailedPaymentDesc=启用后,选择目标和支付费用的时候会显示详细的咒语/异能说明。
+nlShowStormCount=启用后,提示窗格将会显示当前的风暴计数
+nlRemindOnPriority=启用后,获得优先权时玩家区域将闪烁。
+nlPreselectPrevAbOrder=启用后,将预先将异能排序。
+nlpGraveyardOrdering=确定何时让玩家确定同时进入坟场的牌的顺序(最好只在关键操作时启用此选项,比如:瓦拉司的变形兽)
+nlpAutoYieldMode=定义自动让过的详细程度(每个异能或者每张卡)。
+RandomDeckGeneration=生成随机套牌
+nlRemoveSmall=在生成的套牌中禁用1/1和0/X生物
+nlSingletons=禁止在生成的套牌中非地牌重复出现
+nlRemoveArtifacts=在生成的套牌中禁用神器牌
+nlCardBased=构建具有更多协同效应的套牌(需要重启)
+DeckEditorOptions=套牌编辑器选项
+nlFilterLandsByColorId=当使用牌张颜色筛选器时,过滤地可以更容易找到产数相关法术力的地
+AdvancedSettings=高级设置
+nlDevMode=启用在开发期间进行测试的功能菜单
+nlWorkshopSyntax=在作坊中启用卡牌脚本检查。注意:该功能任在测试阶段。
+nlGameLogEntryType=更改游戏中日志显示的信息量。排序为最少到最详细。
+nlCloseAction=更改单击右上角X按钮时的行为
+nlLoadCardsLazily=如果打开该选项Forge将在使用到卡牌脚本时才加载(警告:实验状态)。
+nlLoadHistoricFormats=如果打开,Forge将加载史记格式,这个能会导致游戏载入时间变长。
+GraphicOptions=图形选项
+nlDefaultFontSize=UI中字体的默认大小。所有字体元素都相对于此缩放。(需要重启)
+cbpMulliganRule = 调度规则
+nlImageFetcher=允许在在线资源中实时获取缺失的图片
+nlDisplayFoil=显示闪卡
+nlRandomFoil=随机将牌设置为闪卡
+nlScaleLarger=允许卡牌图片缩放为初始大小
+nlRenderBlackCardBorders=为牌周围渲染黑色边框
+nlLargeCardViewers=是所有牌看起来更大以便高分辨率图片看起来更舒适,不适合低分辨率设备使用
+nlSmallDeckViewer=将套牌查看器设置为800X600而不是按屏幕大小等比缩放
+nlRandomArtInPools=限制赛生成的卡池中带有闪卡。
+nlUiForTouchScreen=增加一些UI元素以提高触屏体验(需要重启)。
+nlCompactPrompt=隐藏标题并在“提示”窗格中使用较小的字体使其更紧凑。
+nlHideReminderText=在“卡牌详情“窗格中隐藏提醒文本
+nlOpenPacksIndiv=打开肥包或者补充盒的时候一包一包开。
+nlTokensInSeparateRow=生物与衍生物分不同的行显示。
+nlStackCreatures=在战场上如同地、神器、结界一般堆叠一样的生物。
+nlTimedTargOverlay=启用基于限制目标的覆盖优化以减少CPU使用率(仅在旧设备上需要使用,需要重启游戏)。
+nlCounterDisplayType=选择指示物的样式。基于文本还是基于图片还是二者混合。
+nlCounterDisplayLocation=确定牌张上指示物的位置:靠近底部还是顶部
+nlDisplayCurrentCardColors=在卡牌详情窗格中显示当前牌的颜色
+SoundOptions=声音选项
+nlEnableSounds=在游戏中启用声音效果
+nlEnableMusic=在游戏中启用背景音乐
+nlAltSoundSystem=使用备用音效系统(仅在声音消失的情况使用)
+KeyboardShortcuts=键盘快捷键
+# VSubmenuAchievements.java
+lblAchievements=成就
+# VSubmenuDownloaders.java
+btnDownloadSetPics=下载低清系列图
+btnDownloadPicsHQ=下载高清卡图(这很慢!)
+btnDownloadPics=下载低清卡图
+btnDownloadQuestImages=下载冒险图片
+btnDownloadAchievementImages=下载成就图片
+btnReportBug=报告错误
+btnListImageData=统计牌和图片数据
+lblListImageData=统计Forge实现且缺少的图片的牌
+btnImportPictures=导入数据
+btnHowToPlay=如何玩
+btnDownloadPrices=下载牌张价格
+btnLicensing=许可证详情
+lblDownloadPics=下载缺省牌的图片
+lblDownloadPicsHQ=下载缺省牌的高清图片
+lblDownloadSetPics=下载每张牌的图片(每张牌出现一次)
+lblDownloadQuestImages=下载冒险之旅里使用的衍生物与图标
+lblDownloadAchievementImages=下载成就图片,让你的奖杯更引人注目。
+lblDownloadPrices=下载卡牌商店最新的价格表
+lblYourVersionOfJavaIsTooOld=你的Java版本太旧无法开始下载内容
+lblPleaseUpdateToTheLatestVersionOfJava=请更新到最新版本的JRE
+lblYoureRunning=你在运行
+lblYouNeedAtLeastJavaVersion=您的JRE版本至少需要为1.8.0_101。
+lblImportPictures=从本地目录导入数据
+lblReportBug=什么东西坏了?
+lblHowToPlay=游戏规则。
+lblLicensing=Forge合法性。
+ContentDownloaders=内容下载
+ReleaseNotes=发布说明
+# CSubmenuPreferences.java
+CantChangeDevModeWhileNetworkMath=网络匹配时无法更改开发模式
+CompatibilityWarningsReEnabled=兼容性警告重新启用
+AresetForgeSettingsToDefault=这将把所有首选项设置为默认并重新启动Forge。\n\n重置并重启Forge?
+TresetForgeSettingsToDefault=重置设置
+AresetDeckEditorLayout=这将重置套牌编辑器布局。\n所有选项卡将恢复到其默认位置。\n\n重置布局?
+TresetDeckEditorLayout=重置套牌编辑器布局
+OKresetDeckEditorLayout=套牌编辑器布局已重置。
+AresetWorkshopLayout=这将重置游戏屏幕布局。\n所有选项卡将恢复至其默认位置。\n\n重置布局?
+TresetWorkshopLayout=重置游戏界面
+OKresetWorkshopLayout=游戏界面已重置
+AresetMatchScreenLayout=这将重置匹配屏幕的布局。\n如果要保存当前的布局,请使用“匹配”屏幕中的“保存布局”选项。\n\n重置布局?
+TresetMatchScreenLayout=重置匹配布局
+OKresetMatchScreenLayout=匹配布局已重置。
+#EMenuGroup.java
+lblSanctionedFormats=单人游戏
+lblOnlineMultiplayer=多人联机
+lblQuestMode=冒险之旅
+lblPuzzleMode=谜题模式
+lblGauntlets=决斗之巅
+lblGameSettings=游戏设置
+#VLobby.java
+lblHeaderConstructedMode=游戏模式:构筑
+lblGetNewRandomName=获取一个随机名称
+lbltypeofName=您想要生成什么类型的名称?
+lblconfirmName=你想使用名称%s,还是想重试
+lblUseThisName=使用这个名称
+lblTryAgain=再试一次
+lblAddAPlayer=增加一个玩家
+lblVariants=变种
+lblRandom=随机
+#VSubmenuConstructed.java
+lblConstructedMode=构筑模式
+lblConstructed=构筑
+#PlayerPanel.java
+lblSelectaDeck=选择一个套牌
+lblSelectaSchemeDeck=选择一个套牌类型
+lblSchemeDeckEditor=套牌类型编辑器
+lblSelectaCommanderDeck=选择一个指挥官套牌
+lblSelectaPlanarDeck=选择一个时空竞逐套牌
+lblPlanarDeckEditor=时空竞逐套牌编辑器
+lblSelectaVanguardAvatar=选择一个先锋头像
+lblVanguardAvatar=先锋头像
+lblDeck=套牌
+lblSchemeDeck=魔王套牌
+lblCommanderDeck=指挥官套牌
+lblPlanarDeck=时空竞逐套牌
+lblVanguard=先锋
+lblHuman=人类
+lblAI=AI
+lblOpen=打开
+lblUseSimulation=使用模拟
+lblGetaNewRandomName=获取一个新的随机名称
+lblArchenemy=魔王
+lblHeroes=英雄
+lblRemove=移除
+ttlblAvatar=左击:选择头像,右击:随机头像
+lblReady=准备好
+lblKick=踢
+lblReallyKick=准备好踢 %s?
+#ForgeMenu.java
+lblRestart=重启
+lblExit=退出
+#LayoutMenu.java
+lblLayout=布局
+lblView=视图
+lblFile=文件
+lblTheme=主题
+lblBackgroundImage=背景图片
+lblPanelTabs=窗格表格
+lblSaveCurrentLayout=保存当前布局
+lblRefresh=刷新
+lblSetWindowSize=设置窗口大小
+lblChooseNewWindowSize=选择一个新的窗口大小
+lblFullScreen=全屏
+lblExitFullScreen=退出全屏
+#HelpMenu.java
+lblHelp=帮助
+lblAboutForge=关于Forge
+lblTroubleshooting=故障排除
+lblArticles=文章
+lblGettingStarted=如何开始
+lblHowtoPlay=如何玩
+lblForgeLicense=Forge许可证
+lblReleaseNotes=更新日志
+#GameMenu.java
+lblGame=游戏
+lblSoundEffects=音效
+lblUndo=撤销
+lblAlphaStrike=先攻
+lblEndTurn=结束回合
+lblTargetingArcs=瞄准弧
+lblOff=关闭
+lblCardMouseOver=卡牌悬停
+lblAlwaysOn=总是打开
+lblAutoYields=自动让过
+lblDeckList=套牌列表
+lblClose=关闭
+lblExitForge=退出Forge
+#ConstructedGameMenu.java
+lblSelectAvatarFor=选择头像为%s
+lblRemoveSmallCreatures=将1/1和0/X生物从生成套牌中移除。
+lblRemoveArtifacts=将神器从生成套牌中移除
+PreventNonLandDuplicates=防止生成套牌中出现重复的非地牌
+#PlayerPanel.java
+lblName=名称
+lblTeam=团队
+#InputConfirmMulligan.java
+lblKeep=保留
+lblYouAreGoingFirst=你先手
+lblIsGoingFirst=是先手
+lblYouAreGoing=你将
+lblMulligan=调度
+lblDoYouWantToKeepYourHand=你想保留这个手牌吗?
+lblReturnForLondon=放回%n张牌到牌库底
+lblOk=确认
+lblReset=重置
+lblAuto=自动
+#VAssignDamage.java
+lbLAssignDamageDealtBy=分配对%s造成的伤害
+lblLClickDamageMessage=左键单击:分配一点伤害。(左键加Ctrl):分配致命伤害。
+lblRClickDamageMessage=右键单击:取消分配一点伤害。(左键加Ctrl):取消分配的所有伤害
+lblTotalDamageText=可用的伤害值:未知
+lblAssignRemainingText=对受到致命伤害的对象分配过量的伤害
+lblLethal=致死
+#KeyboardShortcuts.java
+lblSHORTCUT_SHOWSTACK=匹配:显示堆叠面板
+lblSHORTCUT_SHOWCOMBAT=匹配:显示战斗面板
+lblSHORTCUT_SHOWCONSOLE=匹配:显示控制台面板
+lblSHORTCUT_SHOWDEV=匹配:显示开发人员模式面板
+lblSHORTCUT_CONCEDE=匹配:认输
+lblSHORTCUT_ENDTURN=匹配:让过优先权直到回合结束或者下一个堆叠事件
+lblSHORTCUT_ALPHASTRIKE=匹配:先攻
+lblSHORTCUT_SHOWTARGETING=匹配:切换视觉叠加层
+lblSHORTCUT_AUTOYIELD_ALWAYS_YES=匹配:自动让过堆叠中的异能(所有都选是)
+lblSHORTCUT_AUTOYIELD_ALWAYS_NO=匹配:自动让过堆叠中的异能(所有都选否)
+lblSHORTCUT_MACRO_RECORD=匹配:记录操作宏的动作序列
+lblSHORTCUT_MACRO_NEXT_ACTION=匹配:在录制的宏中执行下一个操作
+lblSHORTCUT_CARD_ZOOM=匹配:缩放当前选定的图片
+#VSubmenuDraft.java
+lblBoosterDraft=轮抓
+lblHeaderBoosterDraft=游戏模式:轮抓
+lblPlayAnOpponent=所有对手
+lblPlayAll7opponents=全部7个对手
+lblBuildorselectadeck=构建或选择一个套牌
+lblDraftText1=在轮抓模式中,三个补充包在8个玩家中传递
+lblDraftText2=从你选的牌中组一套牌。AI也会这样做
+lblDraftText3=然后对抗一个或多个AI对手
+lblNewBoosterDraftGame=新的补充包轮抓
+lblDraftDecks=轮抓套牌
+#CSubmenuDraft.java
+lblNoDeckSelected=没有为人类选择套牌。\n(您可能要建立一个新的套牌)
+lblNoDeck=没有套牌
+lblChooseDraftFormat=选择轮抓模式
+#VSubmenuSealed.java
+lblSealedDeck=现开
+lblSealedDecks=现开套牌
+lblHeaderSealed=游戏模式:现开
+lblSealedText1=构建或选择一个套牌
+lblSealedText2=在现开模式中,您可以从补充包里(最多10个)构建一套牌
+lblSealedText3=从你得到的牌中组一套牌。AI也会这样做
+lblSealedText4=然后对抗一个或多个AI对手
+btnBuildNewSealedDeck=构建新的现开套牌
+#FDeckChooser.java
+lblViewDeck=查看套牌
+lblRandomDeck=随机套牌
+lblRandomColors=随机颜色
+#GameType.java
+lblSealed=现开
+lblDraft=轮抓
+lblWinston=温斯顿
+lblGauntlet=决斗
+lblTournament=锦标赛
+lblQuest=冒险
+lblQuestDraft=冒险轮抓
+lblPlanarConquest=时空竞逐征服
+lblPuzzle=谜题
+lblPuzzleDesc=从给定的游戏状态解谜
+lblDeckManager=套牌管理
+lblVanguardDesc=每个牌手在游戏中都有一个具有特殊能力的“Avatar”。
+lblCommander=指挥官
+lblCommanderDesc=每个玩家都有一张传奇牌,可以随时释放并以此确定套牌颜色
+lblOathbreaker=破誓者
+lblOathbreakerDesc=每个玩家都有一张鹏洛克牌作为他的“破誓者”,可以随时释放该鹏洛克并以此鹏洛克确定套牌的颜色。每个玩家还有一个“专属咒语”,当他们的“破誓者”在战场上时才能释放。
+lblTinyLeaders=小指挥官
+lblTinyLeadersDesc=每个玩家都有一张传奇牌,可以随时释放并以此确定套牌颜色,但每张牌的总法术力费用必须小于4
+lblBrawl=争锋
+lblBrawlDesc=每个玩家都有一张传奇牌,可以随时释放并以此确定套牌颜色,但牌池仅限于标准赛制
+lblPlaneswalker=时空幻境
+lblPlaneswalkerDesc=每个牌手都有一个随时可以释放的鹏洛客
+lblPlanechase=时空竞逐
+lblPlanechaseDesc=当玩家掷骰子到“时空牌”时,时空将改变。时空牌对全局生效。
+lblArchenemyDesc=一个玩家是魔王,使用阴谋牌与其他玩家对战
+lblArchenemyRumble=魔王混斗
+lblArchenemyRumbleDesc=每个玩家都是魔王,可以使用阴谋牌
+lblMomirBasic=莫秘维
+lblMomirBasicDesc=每位牌手使用由60基本地组成的套牌和Momir徽记。
+lblMoJhoSto=MoJhoSto
+lblMoJhoStoDesc=每位牌手使用60基本地组成的套牌和Momir,Jhoira,Stonehewer徽记。
+#VSubmenuDuels.java
+lblQuestDuels=探索决斗
+lblQuestModeDuels=冒险之旅:决斗
+lblSelectNextDuel=选择你将进行的下一场决斗
+lblNoDuelDeck=当前没有设置套牌
+lblNextChallengeNotYet=没有确定下次胜利后的挑战
+btnUnlockSets=解锁系列
+btnTravel=时空旅行
+btnBazaar=珍宝集市
+btnSpellShop=卡牌商店
+cbSummonPlant=召唤植物
+cbLaunchZeppelin=启动飞艇
+#VSubmenuQuest.java
+lblQuestData=冒险之旅
+lblLoadQuestData=加载冒险之旅
+lblStartanewQuest=开始新的冒险之旅
+lblOldQuestData=冒险之旅?放入%s并重新启动Forge。
+rbEasy=简单
+rbMedium=中等
+rbHard=困难
+rbExpert=专家
+rbFantasyMode=幻想模式
+rbCommanderSubformat=指挥官模式
+lblStartingWorld=初始时空
+lblStartingPool=初始牌池
+lblAllCardsAvailable=所有牌都可用
+lblStarterEventdeck=初始/活动套牌
+lblSanctionedformat=合法格式:
+lblCustomdeck=自定义套牌
+lblDefineCustomFormat=定义自定义格式
+lblSelectFormat=选择格式
+lblStartWithAllCards=从所选系列的所有牌开始
+lblAllowDuplicateCards=允许重复的卡牌
+lblStartingPoolDistribution=初始牌池分配
+lblChooseDistribution=选择分配
+lblPrizedCards=奖励卡
+lblAllCardsAvailableWin=获胜将提供的的所有牌
+lblOnlySetsInStarting=只有初始池才可用
+lblAllowUnlockAdEd=允许解锁其他版本
+lblEmbark=开始!
+lblboxCompleteSet=你将使用所选系列的每张卡中的4张开始探索
+lblboxAllowDuplicates=生成初始牌池时,可能包含重复的卡。
+lblSameAsStartingPool=与初始牌池相同
+lblNewLoadQuest=新建/载入
+#CSubmenuQChallenges.java
+lblLaunchaZeppelin=启动一个飞艇.
+lblPlant=植物
+lblChallenges=挑战
+lblMatchBestof=匹配-BO
+lblDuels=决斗
+#CSubmenuQuestData.java
+lblNotFormatDefined=你已经将自定义格式设置为不包含任何系列。\n这将选择所有系列而不受限制为奖品。\n\n继续?
+lbldckStartPool=你还没有选择一个套牌来开始。
+lblCannotStartaQuest=无法开始一个探索
+lblFromDeck=从套牌
+MsgQuestNewName=诗人会记住你的探索
+TitQuestNewName=探索名
+lblQuestNameEmpty=请指定探索名
+lblQuestExists=已存在具有该名称的探索。请选择一个其他探索名
+#CSubmenuQuestDecks.java
+lblCreateaDeck=创建一个套牌
+#CSubmenuQuestPrefs.java
+lblEnteraNumber=输入一个数
+lblSavefailed=保存错误
+#DialogChooseFormats.java
+cbWantReprints=允许来自其他系列的重印牌
+lblChooseFormats=选择格式
+lblSanctioned=合法
+lblOther=其他
+lblHistoric=十几
+lblCancel=取消
+#DialogChoosePoolDistribution.java
+lblBlack=黑
+lblBlue=蓝
+lblGreen=绿
+lblRed=红
+lblWhite=白
+lblColorless=无色
+lblIncludeArtifacts=包含神器
+lblBalanced=均衡
+lblTrueRandom=随机
+lblSurpriseMe=惊喜
+lblBoosters=补充包
+lblClearAll=清除所有
+lblNumberofBoosters=补充包数量
+lblColors=颜色
+lblnoSettings=没有可用于此选择的设置
+lblDistribution=分配
+lblHoverforDescription=将鼠标悬停在每个选项上以获得更详细的说明
+lblradBalanced="均衡"将在每种选定的颜色中提供数量均衡的卡牌。
+lblradRandom=“随机”将随机分配卡牌和颜色。
+lblradSurpriseMe=随机挑选颜色并提供数量均衡的随机卡牌。
+lblradBoosters=忽略所有颜色设置,从指定数量的补充包中生成牌池
+lblcbxArtifacts=选择后无论选择的颜色如何,神器都包涵在牌池中,这模拟了旧牌池的行为。
+#VSubmenuChallenges.java
+lblQuestChallenges=冒险挑战
+htmlLaunchZeppelin=启动
飞艇
+lblQuestModeChallenges=冒险之旅:挑战
+lblWhichChallenge=你会尝试哪个挑战?
+#VSubmenuQuestDraft.java
+lblTournaments=锦标赛
+lblQuestModeDraftTournament=冒险之旅:轮抓锦标赛
+lblSelectaTournament=选择要加入的锦标赛
+lblNoTournaments=目前没有锦标赛
+btnEditDeck=编辑套牌
+btnLeaveTournament=离开锦标赛
+btnSpendToken=比赛门票
+btnStartMatchSmall=开始下一场比赛
+lblUndetermined=未确定
+btnSpendTokenTT=创建一个立即游戏的锦标赛
+lblPastResults=结果
+#VSubmenuQuestDecks.java
+lblQuestDecks=套牌管理
+lblQuestDesc1=一开始你可以从有限的牌池中构建套牌。
+lblQuestDesc2=随着冒险之旅的进行,你的牌池逐渐增长,可以构建出更强的套牌。
+lblQuestDesc3=并且在与AI的决斗和挑战对抗中可以解锁更多牌。
+lblBuildaNewDeck=构建一个新套牌
+#Decktype.java
+lblCustomUserDecks=自定义用户套牌
+lblConstructedDecks=构筑套牌
+lblCommanderDecks=指挥官套牌
+lblRandomCommanderDecks=随机指挥官套牌
+lblRandomCommanderCard-basedDecks=随机基本牌指挥官套牌
+lblOathbreakerDecks=破誓者套牌
+lblTinyLeadersDecks=小指挥官套牌
+lblBrawlDecks=争锋套牌
+lblSchemeDecks=魔王套牌
+lblPlanarDecks=时空竞逐套牌
+lblPreconstructedDecks=预组套牌
+lblQuestOpponentDecks=冒险之旅套牌
+lblRandomColorDecks=随机颜色套牌
+lblRandomStandardArchetypeDecks=随机标准原型套牌
+lblRandomModernArchetypeDecks=随机摩登原型套牌
+lblRandomLegacyArchetypeDecks=随机薪传原型套牌
+lblRandomVintageArchetypeDecks=随机特选原型套牌
+lblRandomStandardColorDecks=随机标准颜色套牌
+lblRandomModernColorDecks=随机摩登颜色套牌
+lblRandomThemeDecks=随机主题套牌
+lblRandomDecks=随机套牌
+lblNetDecks=网络套牌
+lblNetCommanderDecks=网络指挥官套牌
+#VSubmenuPuzzleSolve.java
+lblSolve=解谜
+lblPuzzleModeSolve=谜题模式:解谜
+#VSubmenuPuzzleCreate.java
+lblPuzzleModeCreate=谜题模式:创建
+lblCreate=创建
+#VSubmenuGauntletLoad.java
+lblQuickGauntlets=快速决斗
+lblQuickGauntlet=快速决斗
+lblLoadGauntlet=载入决斗场
+lblLoadaGauntlet=载入决斗场
+lblLoadaPreviousGauntlet=载入决斗场(使用起始套牌)
+#VSubmenuGauntletQuick.java
+lblQuickGauntletBuilder=快速进入决斗
+lblDecklistDesc=双击一个非随机套牌作为套牌列表
+lblOptions=选项
+lblMatchesperGauntlet=匹配每场决斗
+lblAllowedDeckTypes=允许的套牌类型
+lblAutosaveInf=生成一个新的决斗场。可以在“载入决斗场”中选择。
+#VSubmenuGauntletContests.java
+lblGauntletContests=天命战场
+lblPickaContest=选择一个决斗场
+lblGauntletStartedDesc=使用一个套牌直到战胜所有决斗者。
+#VSubmenuGauntletBuild.java
+lblGauntletBuilder=新建决斗场
+lblGauntletDesc1=左/右方向键添加或者删除套牌
+lblGauntletDesc2=上/下箭头改变对手的顺序
+lblDecklist=双击一个非随机套牌作为套牌列表
+btnUp=将这个套牌在决斗中向上移动
+btnDown=将这个套牌在决斗中向下移动
+btnRight=添加套牌至决斗
+btnLeft=将套牌从决斗中移除
+btnSaveGauntlet=保存这个决斗
+btnNewGauntlet=构建一个新的决斗
+btnLoadaGauntlet=载入决斗场
+lblGauntletName=决斗名
+lblBuildAGauntlet=新建决斗场
+lblSave=变更没有保存
+#QuestUtil.java
+lblTravelBetweenWorlds=在时空旅行
+lblWhereDoYouWishToTravel=你想去哪里旅行?
+lblUncompleteChallengesWarning=警告:未完成挑战
+lblUncompleteChallengesDesc=你当前的时空有未完成的挑战。如果你现在离开,他们将会失败!\n你确定要离开吗?\n(选“否”返回并完成当前的时空挑战。)
+lblDontSummonAPet=不要召唤宠物
+lblSummon=召唤%n
+lblMatchBestOf1=匹配-BO1
+lblMatchBestOf3=匹配-BO3
+lblMatchBestOf5=匹配-BO5
+lblCredits=积分
+lblLife=生命
+lblWins=胜利
+lblLosses=失败
+lblWorld=时空
+lblNone=没有
+lblnextChallengeInWins0=你的战绩已被注意到。对手挑战了你。
+lblnextChallengeInWins1=赢得1场胜利后,将面临新的挑战。
+lblnextChallengeInWins2=赢得%n场胜利后,将面临新的挑战。
+lblWinStreak=连胜
+lblBest=最好
+lblBuildAndSelectaDeck=构建,然后在“冒险套牌”子菜单中选择一个套牌。
+lblCurrentDeck=你现在的套牌是%n
+PleaseCreateAQuestBefore=请在%n之前创建套牌。
+lblNoQuest=没有探索
+lblVisitTheSpellShop=参观卡牌商店
+lblVisitTheBazaar=参观珍宝集市
+lblUnlockEditions=解锁新的时空
+lblUnlocked=你已经成功解锁%n
+titleUnlocked=%n解锁!
+lblStartADuel=开始决斗!
+lblSelectAQuestDeck=请选择一个冒险套牌。
+lblInvalidDeck=错误的套牌
+lblInvalidDeckDesc=您的套牌%n请编辑或者选择其他套牌
+#VSubmenuQuestPrefs.java
+lblQuestPreferences=冒险偏好
+lblRewardsError=奖励错误
+lblDifficultyError=难度错误
+lblBoosterError=补充包错误
+lblShopError=商店错误
+lblDraftTournamentsError=轮抓锦标赛错误
+lblRewards=奖励
+lblBoosterPackRatios=补充包比例
+lblDifficultyAdjustments=挑战难度
+lblShopPreferences=商店偏好
+lblDraftTournaments=轮抓锦标赛
+lblBaseWinnings=基本胜利
+lblNoLosses=没有损失
+lblPoisonWin=侵染胜利
+lblMillingWin=磨牌胜利
+lblMulligan0Win=调度到0胜利
+lblAlternativeWin=特殊胜利
+lblBonusMultiplierperWin=每赢一次奖金加倍
+ttBonusMultiplierperWin=赢得比赛后每次胜利奖金都会增加。
+lblMaxWinsforMultiplier=最大胜利倍数
+ttMaxWinsforMultiplier=获得这么多胜利后奖励会停止。
+lblWinbyTurn15=15回合内胜利
+lblWinbyTurn10=10回合内胜利
+lblWinbyTurn5=5回合内胜利
+lblFirstTurnWin=第一回合胜利
+lblMaxLifeDiffBonus=最大生命值差。奖金
+lblEasy=简单
+lblMedium=中等
+lblHard=难
+lblExpert=专家
+lblWinsforBooster=获得补充包所需的胜利
+lblWinsforRankIncrease=排名增加所需的胜利
+lblWinsforMediumAI=匹配中等难度AI所需的胜利
+lblWinsforHardAI=匹配困难难度AI所需的胜利
+lblWinsforExpertAI=匹配专家难度AI所需的胜利
+lblStartingCommons=初始铁
+lblStartingUncommons=初始银
+lblStartingRares=初始金
+lblStartingCredits=初始积分
+lblWinsforNewChallenge=新挑战所需的胜利
+lblStartingSnowLands=初始雪境地
+lblColorBias=颜色偏差(1-100%)
+ttColorBias=初始卡池中您选择的颜色的百分比
+lblPenaltyforLoss=失败补偿
+lblMoreDuelChoices=更多决斗选择
+lblCommon=铁
+lblUncommon=银
+lblRare=金
+lblSpecialBoosters=特殊补充包
+ttSpecialBoosters=允许特定颜色补充包出现在商店并作为匹配奖励。
+lblMaximumPacks=最多补充包
+lblMinimumPacks=最少补充包
+lblStartingPacks=初始包
+lblWinsforPack=胜利奖励包
+lblWinsperSetUnlock=胜利解锁系列
+lblAllowFarUnlocks=允许远解锁
+lblUnlockDistanceMultiplier=解锁距离倍数
+lblCommonSingles=单张铁
+lblUncommonSingles=单张银
+lblRareSingles=单张金
+lblCardSalePercentageBase=出售牌的系数
+lblCardSalePercentageCap=出售牌的系数上限
+lblCardSalePriceCap=出售牌的价格上限
+lblWinstoUncapSalePrice=胜利解锁价格系数
+lblPlaysetSize=玩家收藏大小
+ttPlaysetSize=在售卖卡牌时要保留的卡牌数量
+lblPlaysetSizeBasicLand=玩家收藏大小:基本地
+ttPlaysetSizeBasicLand=在售卖卡牌时要保留的基本地数量
+lblPlaysetSizeAnyNumber=玩家收藏大小:任意数量
+ttPlaysetSizeAnyNumber=售卖卡牌时不保留卡牌
+lblItemLevelRestriction=物品等级限制
+lblFoilfilterAlwaysOn=闪卡过滤器始终开启
+lblRatingsfilterAlwaysOn=评级过滤器始终开启。
+lblSimulateAIvsAIResults=模拟AI VS AI的结果。
+ttSimulateAIvsAIResults=如果设置为1,则不会播放AI VS AI的轮抓。而是快速确定其对局结果。
+lblWinsforNewDraft=新轮抓所需的胜利
+lblWinsperDraftRotation=每次轮抓胜利轮替
+ttWinsperDraftRotation=如果轮抓没有赢这么多场,那么它将被删除或者替换。
+lblRotationType=轮替类型
+ttRotationType=如果设置为0,旧系列消失,如果设置为1,则用不同系列替换。
+#StatTypeFilter.java
+lblclicktotoogle=单击以切换筛选器,右键单机以仅显示
+#SItemManagerUtil.java
+lblWhitecards=白色牌
+lblBluecards=蓝色牌
+lblBlackcards=黑色牌
+lblRedcards=红色牌
+lblGreencards=绿色牌
+lblColorlesscards=无色牌
+lblMulticolorcards=多色牌
+lblPackordeck=卡包和预组套牌
+lblLands=地
+lblArtifacts=神器
+lblCreatures=生物
+lblEnchantments=结界
+lblPlaneswalkers=鹏洛客
+lblInstants=瞬间
+lblSorceries=法术
+lblCCMC0=法术力费用为0的牌
+lblCCMC1=法术力费用为1的牌
+lblCCMC2=法术力费用为2的牌
+lblCCMC3=法术力费用为3的牌
+lblCCMC4=法术力费用为4的牌
+lblCCMC5=法术力费用为5的牌
+lblCCMC6orMore=法术力费用为6+的牌
+lblWhitedecks=白色套牌
+lblBluedecks=蓝色套牌
+lblBlackdecks=黑色套牌
+lblReddecks=红色套牌
+lblGreendecks=绿色套牌
+lblColorlessdecks=无色套牌
+lblMulticolordecks=多色套牌
+lblOldstyleFoilcards=旧风格闪卡
+lblNewstyleFoilcards=新风格闪卡
+lblNon-Foilcards=非闪卡
+lblUnratedcards=未分级的卡
+lbl1starcards=1星级卡
+lbl2starcards=2星级卡
+lbl3starcards=3星级卡
+lbl4starcards=4星级卡
+lbl5starcards=5星级卡
+lblXcopiesof=X个副本
+lblcopiesof=副本
+#ItemListView.java
+lblUniqueCardsOnly=每张牌都只显示一个画
+ttUniqueCardsOnly=切换是否每张牌都只显示一个画
+#ACEditorBase.java
+lblAddcard=添加牌
+ttAddcard=将选定的牌添加到当前套牌(双击该行或者空格)
+lblAdd4ofcard=添加4张牌
+ttAdd4ofcard=将最多4张牌添加到当前套牌
+lblRemovecard=移除卡
+ttRemovecard=从当前套牌移除所选牌(双击该行或者空格)
+lblRemove4ofcard=移除4张牌
+ttRemove4ofcard=最多可以将4张所选牌从当前套牌移除
+lblAddBasicLands=添加基本地
+ttAddBasicLands=添加基本地到套牌
+lblCardCatalog=卡牌目录
+lblJumptoprevioustable=跳转到上一个表格
+lblJumptopnexttable=跳转到下一个表格
+lblJumptotextfilter=跳转到文本筛选器
+lblChooseavalueforX=选择X的值
+#VCurrentDeck.java
+lblVCurrentDeck=当前套牌
+ttbtnSave=保存套牌(Ctrl+S)
+ttbtnSaveAs=保存套牌到(Ctrl+E)
+ttbtnLoadDeck=打开套牌(Ctrl+O)
+ttbtnNewDeck=新建套牌(Ctrl+N)
+ttbtnPrintProxies=打印到HTML文件(Ctrl+P)
+lblImport=导入
+ttImportDeck=尝试从非Forge格式导入套牌(Ctrl+I)
+lblTitle=标题
+#ImageView.java
+lblExpandallgroups=展开所有组
+lblCollapseallgroups=折叠所有组
+lblGroupby=分组
+lblPileby=堆积
+lblColumns=行
+#CEditorVariant.java, CEditorConstructed.java
+lblCatalog=目录
+lblAdd=添加
+lbltodeck=到套牌
+lblfromdeck=从套牌
+lbltosideboard=到备牌
+lblfromsideboard=从备牌
+lblascommander=是指挥官
+lblasoathbreaker=是破誓者
+lblassignaturespell=是专属咒语
+lblasavatar=作为头像
+lblfromschemedeck=从魔王套牌
+lblfromplanardeck=从时空竞逐套牌
+lblfromconspiracydeck=从诡局套牌
+lbltoschemedeck=到魔王套牌
+lbltoplanardeck=到时空竞逐套牌
+lbltoconspiracydeck=到诡局套牌
+lblMove=移到
+#VDock.java
+lblDock=Dock
+lblViewDeckList=查看套牌列表
+lblRevertLayout=还原布局
+lblOpenLayout=打开布局
+lblSaveLayout=保存布局
+#GroupDef.java
+lblColor=颜色
+lblColorIdentity=颜色特征
+lblSet=系列
+lblSet2=系列
+#Set word has different meanings in other languages
+lblDefault=默认
+lblType=类型
+lblPlaneswalkerDeckSort=鹏洛客套牌排序
+lblRarity=稀有度
+lblConvertToFoil=闪卡
+lblMulticolor=多色
+#DeckFileMenu.java
+lblNewDeck=新建套牌
+lblOpenDeck=打开套牌
+lblImportDeck=导入套牌
+lblSaveDeck=保存套牌
+lblSaveDeckAs=保存套牌到
+lblPrinttoHTMLfile=打印成HTML文件
+#PaperCard.java
+lblCard=牌
+#CardManager.java
+lblFormat=格式
+lblFormats=格式
+lblQuestWorld=冒险时空
+lblSets=系列
+lblTypes=类型
+lblConvertedManaCosts=总法术力
+lblCMCRange=总法术力费用范围
+lblPowerRange=力量范围
+lblToughnessRange=防御范围
+lblFoil=闪卡
+lblPersonalRating=个人评价
+lblAdvanced=高级
+#VDeckgen.java
+lblDeckGeneration=套牌生成
+btnRandCardpool=随机牌池
+ttbtnRandCardpool=在当前牌池中生成套牌
+btnRandDeck2=构筑(双色)
+ttbtnRandDeck2=在当前牌池中生成双色套牌
+btnRandDeck3=构筑(三色)
+ttbtnRandDeck3=在当前牌池中生成三色套牌
+btnRandDeck5=构筑(五色)
+ttbtnRandDeck5=在当前牌池中生成五色套牌
+#DeckCotroller.java
+lblCurrentDeck2=当前标题
+lblUntitled=无标题
+#VPrompt.java
+lblPrompt=提示
+lblGameSetup=游戏设置
+#ColumnDef.java
+lblAIStatus=AI状态
+lblCMC=总法术力费用
+ttCMC=总法术力费用
+lblCN=编号
+ttCN=收藏编号顺序
+ttColor=颜色
+lblCost=费用
+ttCost=费用
+lblDecks=套牌
+lblDeleteEdit=删除/编辑
+lblSetEdition=神秘行。我们不知道他做了什么和能做什么。
+ttFavorite=喜好
+lblFolder=文件夹
+ttFormats=套牌在赛制中合法
+lblMain=主牌
+ttMain=主牌
+lblQty=数量
+lblQuantity=数量
+lblSide=备牌
+lblSideboard=备牌
+lblNew=新建
+lblOwned=拥有
+lblPower=力量
+ttPower=力量
+lblPrice=价格
+ttPrice=价格
+lblRanking=排名
+lblDraftRanking=轮抓排名
+lblToughness=防御
+ttToughness=防御
+ttType=类型
+#HomeScreen.java
+lblNewGame=新游戏
+lblLoadGame=加载游戏
+lblPlayOnline=在线游戏
+lblSettings=设置
\ No newline at end of file
diff --git a/forge-gui/res/lists/TypeLists.txt b/forge-gui/res/lists/TypeLists.txt
index c8d312fea8e..701d7db0a4a 100644
--- a/forge-gui/res/lists/TypeLists.txt
+++ b/forge-gui/res/lists/TypeLists.txt
@@ -270,6 +270,7 @@ Shrine
Clue
Contraption
Equipment
+Food
Fortification
Treasure
Vehicle
@@ -303,6 +304,7 @@ Nahiri
Narset
Nissa
Nixilis
+Oko
Ral
Rowan
Saheeli
diff --git a/forge-gui/res/tokenscripts/c_a_food_sac.txt b/forge-gui/res/tokenscripts/c_a_food_sac.txt
new file mode 100644
index 00000000000..7d14f0658a2
--- /dev/null
+++ b/forge-gui/res/tokenscripts/c_a_food_sac.txt
@@ -0,0 +1,5 @@
+Name:Food
+ManaCost:no cost
+Types:Artifact Food
+A:AB$ GainLife | Cost$ 2 T Sac<1/CARDNAME> | Defined$ You | LifeAmount$ 3 | SpellDescription$ You gain 3 life.
+Oracle:{2}, {T}, Sacrifice this artifact: You gain 3 life.
diff --git a/pom.xml b/pom.xml
index d3d17cf28d0..6a943a4ba4f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
forge
pom
Forge Parent
- 1.6.28-SNAPSHOT
+ 1.6.29-SNAPSHOT
Forge lets you play the card game Magic: The Gathering against a computer opponent using all of the rules.