diff --git a/resource/addition/Roguelike2/resource/roguelike_recruit.json b/resource/addition/Roguelike2/resource/roguelike_recruit.json new file mode 100644 index 0000000000..8279b927d7 --- /dev/null +++ b/resource/addition/Roguelike2/resource/roguelike_recruit.json @@ -0,0 +1,450 @@ +{ + "roles": [ + "Warrior", + "Pioneer", + "Tank", + "Sniper", + "Caster", + "Special", + "Medic", + "Support", + "Alternate" + ], + "Warrior": [ + { + "name": "帕拉斯", + "skill": 1, + "recruit_priority": 900, + "promote_priority": 850 + }, + { + "name": "Sharp", + "skill": 1, + "recruit_priority": 650, + "promote_priority": 600 + }, + { + "name": "艾丽妮", + "skill": 1, + "recruit_priority": 800, + "promote_priority": 750 + }, + { + "name": "煌", + "skill": 2, + "recruit_priority": 700, + "promote_priority": 650 + }, + { + "name": "山", + "skill": 2, + "skill_usage": 2, + "recruit_priority": 700, + "promote_priority": 650 + }, + { + "name": "羽毛笔", + "skill": 1, + "recruit_priority": 600, + "promote_priority": 550 + }, + { + "name": "海沫", + "skill": 1, + "recruit_priority": 600, + "promote_priority": 550 + }, + { + "name": "银灰", + "skill": 3, + "alternate_skill": 1, + "recruit_priority": 500, + "promote_priority": 800 + }, + { + "name": "陈", + "skill": 2, + "recruit_priority": 500, + "promote_priority": 600 + }, + { + "name": "拉普兰德", + "skill": 2, + "recruit_priority": 450, + "promote_priority": 400 + }, + { + "name": "幽灵鲨", + "skill": 2, + "recruit_priority": 450, + "promote_priority": 400 + }, + { + "name": "龙舌兰", + "skill": 1, + "recruit_priority": 400, + "promote_priority": 400 + }, + { + "name": "星极", + "skill": 2, + "recruit_priority": 400, + "promote_priority": 400 + }, + { + "name": "棘刺", + "skill": 3, + "alternate_skill": 1, + "recruit_priority": 350, + "promote_priority": 1000 + }, + { + "name": "柏喙", + "skill": 2, + "recruit_priority": 350, + "promote_priority": 300 + }, + { + "name": "泡普卡", + "skill": 1, + "recruit_priority": 10, + "promote_priority": 0 + }, + { + "name": "月见夜", + "skill": 1, + "recruit_priority": 10, + "promote_priority": 0 + }, + { + "name": "玫兰莎", + "skill": 1, + "recruit_priority": 10, + "promote_priority": 0 + } + ], + "Pioneer": [ + { + "name": "风笛", + "skill": 2, + "recruit_priority": 600, + "promote_priority": 500 + }, + { + "name": "芬", + "skill": 1, + "recruit_priority": 200, + "promote_priority": 0 + }, + { + "name": "桃金娘", + "skill": 1, + "recruit_priority": 200, + "promote_priority": 550 + }, + { + "name": "翎羽", + "skill": 1, + "recruit_priority": 10, + "promote_priority": 0 + } + ], + "Tank": [ + { + "name": "泥岩", + "skill": 2, + "recruit_priority": 750, + "promote_priority": 650 + }, + { + "name": "塞雷娅", + "skill": 2, + "recruit_priority": 800, + "promote_priority": 650 + }, + { + "name": "斑点", + "skill": 1, + "recruit_priority": 100, + "promote_priority": 0 + }, + { + "name": "卡缇", + "skill": 1, + "recruit_priority": 80, + "promote_priority": 0 + } + ], + "Sniper": [ + { + "name": "假日威龙陈", + "skill": 3, + "alternate_skill": 1, + "recruit_priority": 900, + "promote_priority": 900 + }, + { + "name": "Stormeye", + "skill": 1, + "recruit_priority": 750, + "promote_priority": 650 + }, + { + "name": "能天使", + "skill": 3, + "alternate_skill": 1, + "recruit_priority": 700, + "promote_priority": 650 + }, + { + "name": "空弦", + "skill": 1, + "recruit_priority": 650, + "promote_priority": 600 + }, + { + "name": "克洛丝", + "skill": 1, + "recruit_priority": 150, + "promote_priority": 0 + }, + { + "name": "安德切尔", + "skill": 1, + "recruit_priority": 100, + "promote_priority": 0 + }, + { + "name": "空爆", + "skill": 1, + "recruit_priority": 80, + "promote_priority": 0 + } + ], + "Caster": [ + { + "name": "澄闪", + "skill": 3, + "alternate_skill": 2, + "recruit_priority": 700, + "promote_priority": 800 + }, + { + "name": "Pith", + "skill": 1, + "recruit_priority": 600, + "promote_priority": 600 + }, + { + "name": "艾雅法拉", + "skill": 2, + "recruit_priority": 600, + "promote_priority": 600 + }, + { + "name": "阿米娅", + "skill": 1, + "recruit_priority": 500, + "promote_priority": 500 + }, + { + "name": "史都华德", + "skill": 1, + "recruit_priority": 100, + "promote_priority": 0 + }, + { + "name": "炎熔", + "skill": 1, + "recruit_priority": 80, + "promote_priority": 0 + } + ], + "Special": [ + { + "name": "归溟幽灵鲨", + "skill": 2, + "recruit_priority": 700, + "promote_priority": 700 + }, + { + "name": "风丸", + "skill": 2, + "recruit_priority": 550, + "promote_priority": 650 + }, + { + "name": "贝娜", + "skill": 2, + "recruit_priority": 500, + "promote_priority": 600 + }, + { + "name": "伊桑", + "skill": 2, + "recruit_priority": 500, + "promote_priority": 400 + }, + { + "name": "狮蝎", + "skill": 2, + "recruit_priority": 500, + "promote_priority": 500 + }, + { + "name": "水月", + "skill": 2, + "recruit_priority": 300, + "promote_priority": 550 + }, + { + "name": "温蒂", + "skill": 3, + "alternate_skill": 2, + "recruit_priority": 100, + "promote_priority": 650 + } + ], + "Medic": [ + { + "name": "凯尔希", + "skill": 3, + "alternate_skill": 2, + "recruit_priority": 650, + "promote_priority": 600 + }, + { + "name": "Touch", + "skill": 1, + "recruit_priority": 600, + "promote_priority": 500 + }, + { + "name": "夜莺", + "skill": 2, + "recruit_priority": 550, + "promote_priority": 450 + }, + { + "name": "白面鸮", + "skill": 2, + "recruit_priority": 550, + "promote_priority": 450 + }, + { + "name": "桑葚", + "skill": 1, + "recruit_priority": 500, + "promote_priority": 400 + }, + { + "name": "蜜莓", + "skill": 1, + "recruit_priority": 700, + "promote_priority": 1 + }, + { + "name": "苏苏洛", + "skill": 2, + "recruit_priority": 500, + "promote_priority": 400 + }, + { + "name": "调香师", + "skill": 1, + "recruit_priority": 700, + "promote_priority": 650 + }, + { + "name": "安赛尔", + "skill": 1, + "recruit_priority": 100, + "promote_priority": 0 + }, + { + "name": "芙蓉", + "skill": 1, + "recruit_priority": 80, + "promote_priority": 0 + } + ], + "Support": [ + { + "name": "灵知", + "skill": 3, + "alternate_skill": 1, + "recruit_priority": 10, + "promote_priority": 500 + }, + { + "name": "令", + "skill": 3, + "alternate_skill": 1, + "recruit_priority": 10, + "promote_priority": 900 + }, + { + "name": "铃兰", + "skill": 3, + "alternate_skill": 2, + "recruit_priority": 10, + "promote_priority": 300 + }, + { + "name": "安洁莉娜", + "skill": 3, + "alternate_skill": 2, + "recruit_priority": 10, + "promote_priority": 200 + }, + { + "name": "浊心斯卡蒂", + "skill": 2, + "recruit_priority": 10, + "promote_priority": 500 + }, + { + "name": "梓兰", + "skill": 1, + "recruit_priority": 10, + "promote_priority": 0 + } + ], + "Alternate": [ + { + "name": "预备干员-近战", + "skill": 0, + "recruit_priority": 5, + "promote_priority": 0, + "is_alternate": true + }, + { + "name": "预备干员-狙击", + "skill": 0, + "recruit_priority": 5, + "promote_priority": 0, + "is_alternate": true + }, + { + "name": "预备干员-术师", + "skill": 0, + "recruit_priority": 5, + "promote_priority": 0, + "is_alternate": true + }, + { + "name": "预备干员-后勤", + "skill": 0, + "recruit_priority": 5, + "promote_priority": 0, + "is_alternate": true + }, + { + "name": "预备干员-重装", + "skill": 0, + "recruit_priority": 5, + "promote_priority": 0, + "is_alternate": true + } + ] +} diff --git a/resource/addition/Roguelike2/resource/roguelike_shopping.json b/resource/addition/Roguelike2/resource/roguelike_shopping.json new file mode 100644 index 0000000000..ffc512497e --- /dev/null +++ b/resource/addition/Roguelike2/resource/roguelike_shopping.json @@ -0,0 +1,489 @@ +[ + { + "name": "长生者之证" + }, + { + "name": "血魔的寝床" + }, + { + "name": "《旧高卢地名源流考》" + }, + { + "name": "石像鬼塑像" + }, + { + "name": "特殊抑制器" + }, + { + "name": "《杜林地上环游记》" + }, + { + "name": "金酒之杯", + "no_longer_buy": true, + "ignore_no_longer_buy": true + }, + { + "name": "骑士戒律·新编", + "no_longer_buy": true, + "ignore_no_longer_buy": true + }, + { + "name": "投币玩具", + "no_longer_buy": true, + "ignore_no_longer_buy": true + }, + { + "name": "扩散之手", + "chars": [ + "异客" + ] + }, + { + "name": "撕扯之手", + "chars": [ + "帕拉斯" + ] + }, + { + "name": "人事部密信" + }, + { + "name": "残弩-典训", + "roles": [ + "SNIPER" + ], + "promotion": 1 + }, + { + "name": "绿叶菜罐头" + }, + { + "name": "073号安全试剂" + }, + { + "name": "Miss.Christine摸摸券", + "promotion": 2 + }, + { + "name": "残弩-神速", + "roles": [ + "SNIPER" + ] + }, + { + "name": "折戟-浴血", + "roles": [ + "WARRIOR" + ] + }, + { + "name": "玻璃小鸟" + }, + { + "name": "赤金的远征" + }, + { + "name": "锈蚀的铁锤" + }, + { + "name": "《第二经济改革法》" + }, + { + "name": "被撬开的道具箱" + }, + { + "name": "尖笑鬼牌", + "promotion": 1 + }, + { + "name": "“时光之末”" + }, + { + "name": "折戟-典训", + "roles": [ + "WARRIOR" + ], + "promotion": 1 + }, + { + "name": "高卢银行支票" + }, + { + "name": "折戟-破釜沉舟", + "roles": [ + "WARRIOR" + ] + }, + { + "name": "折戟-一夫当关", + "roles": [ + "WARRIOR" + ] + }, + { + "name": "全局作战文件" + }, + { + "name": "折戟-锋刃", + "roles": [ + "WARRIOR" + ] + }, + { + "name": "皇家利口酒" + }, + { + "name": "断杖-典训", + "roles": [ + "CASTER" + ], + "promotion": 1 + }, + { + "name": "古旧乐谱残章" + }, + { + "name": "苦行者泡芙" + }, + { + "name": "乌萨斯列巴" + }, + { + "name": "高卢小圆饼" + }, + { + "name": "微缩舞台模型" + }, + { + "name": "蓝色丝巾" + }, + { + "name": "钝爪-典训", + "roles": [ + "PIONEER" + ], + "promotion": 1 + }, + { + "name": "残弩-百步穿杨", + "roles": [ + "SNIPER" + ] + }, + { + "name": "万能钥匙" + }, + { + "name": "“法术杀手”" + }, + { + "name": "猩红剧团票根" + }, + { + "name": "老蒲扇" + }, + { + "name": "空白名片" + }, + { + "name": "难闻的止血剂" + }, + { + "name": "迷迭香之拥" + }, + { + "name": "源石鸢尾花" + }, + { + "name": "断杖-织法者", + "roles": [ + "CASTER" + ] + }, + { + "name": "“当红歌手”" + }, + { + "name": "银餐叉" + }, + { + "name": "Scout的狙击镜" + }, + { + "name": "维多利亚“废铁”勋章" + }, + { + "name": "折戟-突破", + "roles": [ + "WARRIOR" + ] + }, + { + "name": "莱塔尼亚荣誉勋章" + }, + { + "name": "女妖之吻" + }, + { + "name": "突击协议-利刃", + "roles": [ + "WARRIOR", + "PIONEER" + ] + }, + { + "name": "爱丽舍钱袋" + }, + { + "name": "至宝指环", + "ignore_no_longer_buy": true + }, + { + "name": "制式防暴用具" + }, + { + "name": "幸运硬币", + "ignore_no_longer_buy": true + }, + { + "name": "维多利亚蛋糕" + }, + { + "name": "“黑夜呢喃”" + }, + { + "name": "红色蝴蝶结" + }, + { + "name": "残弩-战场依存", + "roles": [ + "SNIPER" + ] + }, + { + "name": "断杖-咏唱", + "roles": [ + "CASTER" + ] + }, + { + "name": "支柱-典训", + "roles": [ + "SUPPORT" + ], + "promotion": 1 + }, + { + "name": "香草沙士汽水" + }, + { + "name": "悬丝傀儡" + }, + { + "name": "镶金骨骰" + }, + { + "name": "钝爪-爆发", + "roles": [ + "PIONEER" + ] + }, + { + "name": "苍白花冠" + }, + { + "name": "“绽放”" + }, + { + "name": "作者的喉舌" + }, + { + "name": "设计师量尺" + }, + { + "name": "古高卢银币" + }, + { + "name": "医者-妙手", + "roles": [ + "MEDIC" + ] + }, + { + "name": "急救药箱" + }, + { + "name": "钝爪-百战", + "roles": [ + "PIONEER" + ] + }, + { + "name": "皇帝的收藏" + }, + { + "name": "断杖-凝神", + "roles": [ + "CASTER" + ] + }, + { + "name": "铁棍面包" + }, + { + "name": "迷梦香精" + }, + { + "name": "赶车夫的长鞭" + }, + { + "name": "人偶之家" + }, + { + "name": "锈蚀刀片" + }, + { + "name": "贵族刺剑" + }, + { + "name": "路线说明图" + }, + { + "name": "摩根队长佳酿" + }, + { + "name": "试制巧克力" + }, + { + "name": "黄铜指南针" + }, + { + "name": "“噤声”" + }, + { + "name": "“童趣玩偶”" + }, + { + "name": "显圣吊坠" + }, + { + "name": "破坏协议-消除", + "roles": [ + "CASTER", + "SPECIAL" + ] + }, + { + "name": "远程协议-遥击", + "roles": [ + "SNIPER", + "MEDIC" + ] + }, + { + "name": "地区行动方案" + }, + { + "name": "舞者手链" + }, + { + "name": "安洁莉娜的创想" + }, + { + "name": "异铁小圆盾" + }, + { + "name": "破损的面具" + }, + { + "name": "羽兽肝酱" + }, + { + "name": "活玫瑰" + }, + { + "name": "“聚焦”" + }, + { + "name": "钝爪-熟稔", + "roles": [ + "PIONEER" + ] + }, + { + "name": "独奏八音盒" + }, + { + "name": "球球果汁" + }, + { + "name": "古怪的长笛" + }, + { + "name": "女皇之愿" + }, + { + "name": "荒地龙舌兰" + }, + { + "name": "演出用香水" + }, + { + "name": "医者-理智固剂", + "roles": [ + "MEDIC" + ] + }, + { + "name": "生命之水" + }, + { + "name": "奇渊面具" + }, + { + "name": "昏暗的提灯" + }, + { + "name": "皇族金胸针" + }, + { + "name": "皇帝的恩宠" + }, + { + "name": "开裂的束缚带" + }, + { + "name": "解约协议" + }, + { + "name": "残破合影" + }, + { + "name": "精神治疗录像带" + }, + { + "name": "军团护心镜" + }, + { + "name": "“迷醉荷谟伊”" + }, + { + "name": "食腐者手杖" + }, + { + "name": "凯旋号角" + }, + { + "name": "假面舞会面具", + "ignore_no_longer_buy": true + }, + { + "name": "高闪相机" + }, + { + "name": "“逝者垂泪”" + }, + { + "name": "四叶草化石" + } +] diff --git a/src/MeoAssistant/RoguelikeRecruitConfiger.cpp b/src/MeoAssistant/RoguelikeRecruitConfiger.cpp index 3fcc07a8d2..1f118434de 100644 --- a/src/MeoAssistant/RoguelikeRecruitConfiger.cpp +++ b/src/MeoAssistant/RoguelikeRecruitConfiger.cpp @@ -20,6 +20,8 @@ const asst::RoguelikeOperInfo& asst::RoguelikeRecruitConfiger::get_oper_info(con bool asst::RoguelikeRecruitConfiger::parse(const json::value& json) { + clear(); + for (const auto& role_name : json.at("roles").as_array()) { std::string str_role = role_name.as_string(); for (const auto& oper_info : json.at(str_role).as_array()) { @@ -41,3 +43,11 @@ bool asst::RoguelikeRecruitConfiger::parse(const json::value& json) return true; } + +void asst::RecruitConfiger::clear() +{ + LogTraceFunction; + + m_all_opers.clear(); + m_ordered_all_opers_name.clear(); +} diff --git a/src/MeoAssistant/RoguelikeRecruitConfiger.h b/src/MeoAssistant/RoguelikeRecruitConfiger.h index 754593f9c4..37ce61bd06 100644 --- a/src/MeoAssistant/RoguelikeRecruitConfiger.h +++ b/src/MeoAssistant/RoguelikeRecruitConfiger.h @@ -34,6 +34,8 @@ namespace asst protected: virtual bool parse(const json::value& json) override; + void clear(); + std::unordered_map m_all_opers; std::vector m_ordered_all_opers_name; }; diff --git a/src/MeoAssistant/RoguelikeShoppingConfiger.cpp b/src/MeoAssistant/RoguelikeShoppingConfiger.cpp index 08eb082ee9..65657ca2ea 100644 --- a/src/MeoAssistant/RoguelikeShoppingConfiger.cpp +++ b/src/MeoAssistant/RoguelikeShoppingConfiger.cpp @@ -4,6 +4,8 @@ bool asst::RoguelikeShoppingConfiger::parse(const json::value& json) { + clear(); + for (const auto& goods_json : json.as_array()) { std::string name = goods_json.at("name").as_string(); @@ -38,3 +40,10 @@ bool asst::RoguelikeShoppingConfiger::parse(const json::value& json) } return true; } + +void asst::RecruitConfiger::clear() +{ + LogTraceFunction; + + m_goods.clear(); +} diff --git a/src/MeoAssistant/RoguelikeShoppingConfiger.h b/src/MeoAssistant/RoguelikeShoppingConfiger.h index a112b97d4d..9d342ee1d0 100644 --- a/src/MeoAssistant/RoguelikeShoppingConfiger.h +++ b/src/MeoAssistant/RoguelikeShoppingConfiger.h @@ -28,6 +28,8 @@ namespace asst private: virtual bool parse(const json::value& json) override; + void clear(); + std::vector m_goods; };