Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
lhhxxxxx
2022-07-31 18:50:58 +08:00
3 changed files with 282 additions and 222 deletions

View File

@@ -1,11 +1,18 @@
[
{
"name": "金酒之杯",
"no_longer_buy": true,
"ignore_no_longer_buy": true
"name": "扩散之手",
"chars": [
"异客"
]
},
{
"name": "投币玩具",
"name": "撕扯之手",
"chars": [
"帕拉斯"
]
},
{
"name": "金酒之杯",
"no_longer_buy": true,
"ignore_no_longer_buy": true
},
@@ -14,16 +21,19 @@
"no_longer_buy": true,
"ignore_no_longer_buy": true
},
{
"name": "投币玩具",
"no_longer_buy": true,
"ignore_no_longer_buy": true
},
{
"name": "人事部密信"
},
{
"name": "Miss.Christine摸摸券",
"promotion": 2
},
{
"name": "残弩-典训",
"roles": [ "SNIPER" ],
"roles": [
"SNIPER"
],
"promotion": 1
},
{
@@ -33,380 +43,436 @@
"name": "073号安全试剂"
},
{
"name": "《第二经济改革法》"
"name": "Miss.Christine摸摸券",
"promotion": 2
},
{
"name": "残弩-神速",
"roles": [
"SNIPER"
]
},
{
"name": "折戟-浴血",
"roles": [ "WARRIOR" ]
"roles": [
"WARRIOR"
]
},
{
"name": "四叶草化石"
},
{
"name": "长生者之证"
"name": "玻璃小鸟"
},
{
"name": "残弩-神速",
"roles": [ "SNIPER" ]
"name": "赤金的远征"
},
{
"name": "锈蚀的铁锤"
},
{
"name": "《第二经济改革法》"
},
{
"name": "长生者之证"
},
{
"name": "被撬开的道具箱"
},
{
"name": "石像鬼塑像"
},
{
"name": "尖笑鬼牌",
"promotion": 1
},
{
"name": "赤金的远征"
},
{
"name": "玻璃小鸟"
"name": "血魔的寝床"
},
{
"name": "《杜林地上环游记》"
},
{
"name": "高卢银行支票"
},
{
"name": "血魔的寝床"
},
{
"name": "石像鬼塑像"
},
{
"name": "被撬开的道具箱"
},
{
"name": "折戟-典训",
"roles": [ "WARRIOR" ],
"promotion": 1
},
{
"name": "全局作战文件"
},
{
"name": "特殊抑制器"
},
{
"name": "折戟-一夫当关",
"roles": [ "WARRIOR" ]
},
{
"name": "“时光之末”"
},
{
"name": "钝爪-典训",
"roles": [ "PIONEER" ],
"name": "折戟-典训",
"roles": [
"WARRIOR"
],
"promotion": 1
},
{
"name": "高卢银行支票"
},
{
"name": "折戟-破釜沉舟",
"roles": [
"WARRIOR"
]
},
{
"name": "折戟-一夫当关",
"roles": [
"WARRIOR"
]
},
{
"name": "全局作战文件"
},
{
"name": "折戟-锋刃",
"roles": [
"WARRIOR"
]
},
{
"name": "皇家利口酒"
},
{
"name": "折戟-锋刃",
"roles": [ "WARRIOR" ]
},
{
"name": "苦行者泡芙"
"name": "断杖-典训",
"roles": [
"CASTER"
],
"promotion": 1
},
{
"name": "古旧乐谱残章"
},
{
"name": "断杖-典训",
"roles": [ "CASTER" ],
"promotion": 1
},
{
"name": "高卢小圆饼"
},
{
"name": "老蒲扇"
},
{
"name": "蓝色丝巾"
},
{
"name": "微缩舞台模型"
"name": "苦行者泡芙"
},
{
"name": "乌萨斯列巴"
},
{
"name": "万能钥匙"
"name": "高卢小圆饼"
},
{
"name": "折戟-破釜沉舟",
"roles": [ "WARRIOR" ]
"name": "微缩舞台模型"
},
{
"name": "难闻的止血剂"
"name": "蓝色丝巾"
},
{
"name": "猩红剧团票根"
},
{
"name": "源石鸢尾花"
},
{
"name": "女妖之吻"
},
{
"name": "突击协议-利刃"
},
{
"name": "折戟-突破",
"roles": [ "WARRIOR" ]
},
{
"name": "“当红歌手”"
"name": "钝爪-典训",
"roles": [
"PIONEER"
],
"promotion": 1
},
{
"name": "残弩-百步穿杨",
"roles": [ "SNIPER" ]
"roles": [
"SNIPER"
]
},
{
"name": "爱丽舍钱袋"
},
{
"name": "迷迭香之拥"
},
{
"name": "莱塔尼亚荣誉勋章"
},
{
"name": "空白名片"
},
{
"name": "银餐叉"
},
{
"name": "断杖-织法者",
"roles": [ "CASTER" ]
"name": "万能钥匙"
},
{
"name": "“法术杀手”"
},
{
"name": "红色蝴蝶结"
"name": "猩红剧团票根"
},
{
"name": "“黑夜呢喃”"
"name": "老蒲扇"
},
{
"name": "悬丝傀儡"
"name": "空白名片"
},
{
"name": "断杖-咏唱",
"roles": [ "CASTER" ]
"name": "难闻的止血剂"
},
{
"name": "苍白花冠"
"name": "迷迭香之拥"
},
{
"name": "源石鸢尾花"
},
{
"name": "断杖-织法者",
"roles": [
"CASTER"
]
},
{
"name": "“当红歌手”"
},
{
"name": "银餐叉"
},
{
"name": "Scout的狙击镜"
},
{
"name": "制式防暴用具"
"name": "维多利亚“废铁”勋章"
},
{
"name": "维多利亚蛋糕"
"name": "折戟-突破",
"roles": [
"WARRIOR"
]
},
{
"name": "钝爪-爆发",
"roles": [ "PIONEER" ]
"name": "莱塔尼亚荣誉勋章"
},
{
"name": "支柱-典训",
"roles": [ "SUPPORT" ],
"promotion": 1
"name": "女妖之吻"
},
{
"name": "皇帝的收藏"
"name": "突击协议-利刃",
"roles": [
"WARRIOR",
"PIONEER"
]
},
{
"name": "作者的喉舌"
},
{
"name": "香草沙士汽水"
},
{
"name": "幸运硬币",
"ignore_no_longer_buy": true
},
{
"name": "镶金骨骰"
},
{
"name": "古高卢银币"
},
{
"name": "赶车夫的长鞭"
},
{
"name": "迷梦香精"
},
{
"name": "钝爪-百战",
"roles": [ "PIONEER" ]
"name": "爱丽舍钱袋"
},
{
"name": "至宝指环",
"ignore_no_longer_buy": true
},
{
"name": "制式防暴用具"
},
{
"name": "幸运硬币",
"ignore_no_longer_buy": true
},
{
"name": "维多利亚蛋糕"
},
{
"name": "“黑夜呢喃”"
},
{
"name": "红色蝴蝶结"
},
{
"name": "残弩-战场依存",
"roles": [ "SNIPER" ]
"roles": [
"SNIPER"
]
},
{
"name": "贵族刺剑"
"name": "断杖-咏唱",
"roles": [
"CASTER"
]
},
{
"name": "人偶之家"
"name": "支柱-典训",
"roles": [
"SUPPORT"
],
"promotion": 1
},
{
"name": "《旧高卢地名源流考》"
"name": "香草沙士汽水"
},
{
"name": "医者-妙手",
"roles": [ "MEDIC" ]
"name": "悬丝傀儡"
},
{
"name": "设计师量尺"
"name": "镶金骨骰"
},
{
"name": "钝爪-爆发",
"roles": [
"PIONEER"
]
},
{
"name": "苍白花冠"
},
{
"name": "“绽放”"
},
{
"name": "锈蚀刀片"
"name": "作者的喉舌"
},
{
"name": "破坏协议-消除"
"name": "设计师量尺"
},
{
"name": "古高卢银币"
},
{
"name": "医者-妙手",
"roles": [
"MEDIC"
]
},
{
"name": "急救药箱"
},
{
"name": "钝爪-百战",
"roles": [
"PIONEER"
]
},
{
"name": "皇帝的收藏"
},
{
"name": "断杖-凝神",
"roles": [ "CASTER" ]
"roles": [
"CASTER"
]
},
{
"name": "铁棍面包"
},
{
"name": "摩根队长佳酿"
"name": "迷梦香精"
},
{
"name": "破坏协议-消除"
"name": "赶车夫的长鞭"
},
{
"name": "“噤声”"
"name": "人偶之家"
},
{
"name": "远程协议-遥击"
"name": "锈蚀刀片"
},
{
"name": "“童趣玩偶”"
"name": "贵族刺剑"
},
{
"name": "试制巧克力"
},
{
"name": "远程协议-遥击"
},
{
"name": "羽兽肝酱"
},
{
"name": "地区行动方案"
},
{
"name": "显圣吊坠"
},
{
"name": "安洁莉娜的创想"
"name": "《旧高卢地名源流考》"
},
{
"name": "路线说明图"
},
{
"name": "医者-理智固剂",
"roles": [ "MEDIC" ]
"name": "摩根队长佳酿"
},
{
"name": "钝爪-熟稔",
"roles": [ "PIONEER" ]
},
{
"name": "古怪的长笛"
"name": "试制巧克力"
},
{
"name": "黄铜指南针"
},
{
"name": "“聚焦”"
"name": "“噤声”"
},
{
"name": "皇族金胸针"
"name": "“童趣玩偶”"
},
{
"name": "活玫瑰"
"name": "显圣吊坠"
},
{
"name": "独奏八音盒"
"name": "破坏协议-消除",
"roles": [
"CASTER",
"SPECIAL"
]
},
{
"name": "破损的面具"
"name": "远程协议-遥击",
"roles": [
"SNIPER",
"MEDIC"
]
},
{
"name": "开裂的束缚带"
},
{
"name": "生命之水"
"name": "地区行动方案"
},
{
"name": "舞者手链"
},
{
"name": "安洁莉娜的创想"
},
{
"name": "异铁小圆盾"
},
{
"name": "破损的面具"
},
{
"name": "羽兽肝酱"
},
{
"name": "活玫瑰"
},
{
"name": "“聚焦”"
},
{
"name": "钝爪-熟稔",
"roles": [
"PIONEER"
]
},
{
"name": "独奏八音盒"
},
{
"name": "球球果汁"
},
{
"name": "残破合影"
"name": "古怪的长笛"
},
{
"name": "女皇之愿"
},
{
"name": "军团护心镜"
},
{
"name": "精神治疗录像带"
},
{
"name": "解约协议"
},
{
"name": "皇帝的恩宠"
},
{
"name": "食腐者手杖"
},
{
"name": "荒地龙舌兰"
},
{
"name": "“迷醉荷谟伊”"
},
{
"name": "演出用香水"
},
{
"name": "医者-理智固剂",
"roles": [
"MEDIC"
]
},
{
"name": "生命之水"
},
{
"name": "奇渊面具"
},
{
"name": "昏暗的提灯"
},
{
"name": "皇族金胸针"
},
{
"name": "皇帝的恩宠"
},
{
"name": "开裂的束缚带"
},
{
"name": "解约协议"
},
{
"name": "残破合影"
},
{
"name": "精神治疗录像带"
},
{
"name": "军团护心镜"
},
{
"name": "“迷醉荷谟伊”"
},
{
"name": "食腐者手杖"
},
{
"name": "凯旋号角"
},
@@ -414,16 +480,10 @@
"name": "假面舞会面具",
"ignore_no_longer_buy": true
},
{
"name": "奇渊面具"
},
{
"name": "“逝者垂泪”"
},
{
"name": "高闪相机"
},
{
"name": "维多利亚“废铁”勋章"
"name": "“逝者垂泪”"
}
]

View File

@@ -40,8 +40,8 @@ namespace asst::infrast
std::vector<std::string> names; // 很多基建技能是一样的就是名字不同。所以一个技能id可能对应多个名字
std::string desc;
std::unordered_map<std::string, double> efficient; // 技能效率key产品名赤金、经验书等, value: 效率数值
std::unordered_map<std::string, std::string> efficient_regex; // 技能效率正则key产品名赤金、经验书等, value: 效率正则。如不为空会先对正则进行计算再加上efficient里面的值
int max_num = INT_MAX; // 最多选几个该技能
std::unordered_map<std::string, std::string> efficient_regex; // 技能效率正则key产品名赤金、经验书等, value: 效率正则。如不为空会先对正则进行计算再加上efficient里面的值
int max_num = INT_MAX; // 最多选几个该技能
bool operator==(const Skill& skill) const noexcept
{
@@ -66,7 +66,7 @@ namespace asst::infrast
{
struct Oper
{
std::string face_hash; // 有些干员的技能是完全一样的做个hash区分一下不同干员
std::string face_hash; // 有些干员的技能是完全一样的做个hash区分一下不同干员
Smiley smiley;
double mood_ratio = 0; // 心情进度条的百分比
Doing doing = Doing::Invalid;
@@ -113,7 +113,7 @@ namespace asst::infrast
std::unordered_map<std::string, int> conditions; // 技能组合可用条件例如key 发电站数量value 3
std::vector<SkillsComb> necessary; // 必选技能。这里面的缺少任一,则该技能组合不可用
std::vector<SkillsComb> optional; // 可选技能。
bool allow_external = false; // 当干员数没满3个的时候是否允许补充外部干员
bool allow_external = false; // 当干员数没满3个的时候是否允许补充外部干员
};
enum class WorkMode

View File

@@ -250,8 +250,8 @@ namespace asst
TaskInfo(TaskInfo&&) noexcept = default;
TaskInfo& operator=(const TaskInfo&) = default;
TaskInfo& operator=(TaskInfo&&) noexcept = default;
std::string name; // 任务名
AlgorithmType algorithm = // 图像算法类型
std::string name; // 任务名
AlgorithmType algorithm = // 图像算法类型
AlgorithmType::Invalid;
ProcessTaskAction action = // 要进行的操作
ProcessTaskAction::Invalid;
@@ -262,7 +262,7 @@ namespace asst
std::vector<std::string> exceeded_next; // 达到最多次数了之后,下一个可能的任务(列表)
std::vector<std::string> on_error_next; // 任务出错之后要去执行什么
std::vector<std::string> reduce_other_times; // 执行了该任务后,需要减少别的任务的执行次数。例如执行了吃理智药,则说明上一次点击蓝色开始行动按钮没生效,所以蓝色开始行动要-1
Rect specific_rect; // 指定区域目前仅针对ClickRect任务有用会点这个区域
Rect specific_rect; // 指定区域目前仅针对ClickRect任务有用会点这个区域
int pre_delay = 0; // 执行该任务前的延时
int rear_delay = 0; // 执行该任务后的延时
int retry_times = INT_MAX; // 未找到图像时的重试次数
@@ -310,7 +310,7 @@ namespace asst
HashTaskInfo(HashTaskInfo&&) noexcept = default;
HashTaskInfo& operator=(const HashTaskInfo&) = default;
HashTaskInfo& operator=(HashTaskInfo&&) noexcept = default;
std::vector<std::string> hashes; // 需要多个哈希值
std::vector<std::string> hashes; // 需要多个哈希值
int dist_threshold = 0; // 汉明距离阈值
std::pair<int, int> mask_range; // 掩码的二值化范围
bool bound = false; // 是否裁剪周围黑边