Merge pull request #2011 from MaaAssistantArknights/dev

Release v4.6.0-alpha.4
This commit is contained in:
MistEO
2022-09-30 01:30:24 +08:00
committed by GitHub
237 changed files with 2009 additions and 2532 deletions

View File

@@ -15,3 +15,8 @@
# incorrect format of 3rdparty/resource/Arknights-Tile-Pos/levels.json
65d654e54b9d04d1902c9ee9f9fb2679520adafd
81ea2c4d4fce29862f719972ecb32877fc4e654f
# refactor: 为 MaaCore 重新建立文件结构
206df466fd5e3d8ef80387049b0c5011fb58cada
c9b5aa638a97397ab8666031ea646904527afc09
559c913fca0dd0966896396e251be13f76ea3e52

View File

@@ -160,33 +160,6 @@ labels:
- remove module
- remove infrast
# `module: copilot`
- name: copilot1
content: "module: copilot"
regexes: '(?:自动(?:作战|战斗|编队)|自動[戰戦][鬥闘]|[Cc]opilot)'
mode: add
skip-if:
- skip all
- skip module
- skip copilot
remove-if:
- remove all
- remove module
- remove copilot
- name: copilot2
content: "module: copilot"
regexes: '(?:作[业業])'
skip-if:
- skip all
- skip module
- skip copilot
- copilot1
- infrast
remove-if:
- remove all
- remove module
- remove copilot
# `module: roguelike`
- name: roguelike
content: "module: roguelike"
@@ -201,6 +174,35 @@ labels:
- remove module
- remove roguelike
# `module: copilot`
- name: copilot1
content: "module: copilot"
regexes: '(?:自动(?:作战|战斗|编队)|自動[戰戦][鬥闘]|[Cc]opilot)'
mode: add
skip-if:
- skip all
- skip module
- skip copilot
- roguelike
remove-if:
- remove all
- remove module
- remove copilot
- name: copilot2
content: "module: copilot"
regexes: '(?:作[业業])'
skip-if:
- skip all
- skip module
- skip copilot
- copilot1
- infrast
- roguelike
remove-if:
- remove all
- remove module
- remove copilot
# `module: drop`
- name: drop
content: "module: drop"

View File

@@ -1,9 +1,6 @@
- 新增 水月肉鸽 卡住时,自动保存截图到 `debug/roguelike/` @MistEO
汇报 bug 请附上其中的图片,感谢~
- 优化 水月肉鸽 部分地图部署位置 @nightofknife
- 优化 水月肉鸽 招募及藏品优先级 @zzyyyl
- 修复 水月肉鸽 亿点点卡住的 bug @MistEO
- 修复 截图出错时的重试机制 @MistEO
- 更新 界面翻译及文档 @wallsman @Tastror
- 更新 QQ 五群链接 @ABA2396 @MistEO
- 修复 编译错误 @horror-proton
- 更新 可爱牛牛图标!非常感谢 @vie 太太~
- 优化 水月肉鸽 干员部署及朝向 @MistEO @nightofknife
- 修复 水月肉鸽 绝大部分已知的卡住问题 @MistEO
- 修复 公招 忽略 `支援机械` 的问题 @zzyyyl @horror-proton
- 重构 项目目录结构 @zzyyyl @horror-proton
- 优化 项目资源更新工具 @zzyyyl

View File

@@ -29,6 +29,7 @@ if (MSVC)
endif ()
include_directories(include)
include_directories(src/MeoAssistant)
file(GLOB_RECURSE maa_src src/MeoAssistant/*.cpp)

View File

@@ -173,12 +173,12 @@ MAA 的意思是 MAA Assistant Arknights
## 声明
- 本软件 logo 并非使用 AGPL 3.0 协议开源,画师 [耗毛](https://weibo.com/u/3251357314) 及软件全体开发者保留所有权利。不得以 AGPL 3.0 协议已授权为由在未经授权的情况下使用本软件 logo不得在未经授权的情况下将本软件 logo 用于任何商业用途。
- 本软件 logo 并非使用 AGPL 3.0 协议开源,[耗毛](https://weibo.com/u/3251357314)、vie 两位画师及软件全体开发者保留所有权利。不得以 AGPL 3.0 协议已授权为由在未经授权的情况下使用本软件 logo不得在未经授权的情况下将本软件 logo 用于任何商业用途。
- 本软件开源、免费,仅供学习交流使用。若您遇到商家使用本软件进行代练并收费,可能是设备与时间等费用,产生的问题及后果与本软件无关。
## 广告
用户交流群:[Telegram 群](https://t.me/+Mgc2Zngr-hs3ZjU1)[QQ 一群(已满)](https://jq.qq.com/?_wv=1027&k=ig786LJZ)[QQ 二群(已满)](https://jq.qq.com/?_wv=1027&k=R3oleoKc)[QQ 三群(已满)](https://jq.qq.com/?_wv=1027&k=mKdOnhWV)[QQ 四群(已满)](https://jq.qq.com/?_wv=1027&k=ABkU8mCR)[QQ 五群](https://jq.qq.com/?_wv=1027&k=To6b6H6m)
用户交流群:[Telegram 群](https://t.me/+Mgc2Zngr-hs3ZjU1)[QQ 一群(已满)](https://jq.qq.com/?_wv=1027&k=ig786LJZ)[QQ 二群(已满)](https://jq.qq.com/?_wv=1027&k=R3oleoKc)[QQ 三群(已满)](https://jq.qq.com/?_wv=1027&k=mKdOnhWV)[QQ 四群(已满)](https://jq.qq.com/?_wv=1027&k=ABkU8mCR)[QQ 五群](https://jq.qq.com/?_wv=1027&k=To6b6H6m)
自动战斗 JSON 作业分享:[prts.plus](https://prts.plus) 或 [抄作业.com](http://抄作业.com)
[Bilibili 直播间](https://live.bilibili.com/2808861):每晚直播敲代码,近期很长一段时间应该都是在写本软件~
[舟无关技术交流 & 吹水群QQ 群)](https://jq.qq.com/?_wv=1027&k=ypbzXcA2):内卷地狱!

View File

@@ -173,7 +173,7 @@ Please refer to [Issue Bot Usage](docs/en-us/2.3-ISSUE_BOT_USAGE.md) for more de
## Disclaimer
- The logo of this software is NOT granted rights under AGPL 3.0 License. The artist [耗毛](https://weibo.com/u/3251357314) and all developers of the software reserves all rights. The logo of the software shall not be used without authorization even if the project has an AGPL 3.0 License. Nor shall the logo be used for commercial purposes without authorization.
- The logo of this software is NOT granted rights under AGPL 3.0 License. [耗毛](https://weibo.com/u/3251357314) and Vie, the two artists and all developers of the software reserves all rights. The logo of the software shall not be used without authorization even if the project has an AGPL 3.0 License. Nor shall the logo be used for commercial purposes without authorization.
- The software is an open-source, free of charge software only for studying and communication purposes. There is no agreement or understanding between the developers of the software and the 3rd party person who uses this software as an assistant and charges you. In that case, the developers of the software is not responsible for the problems and consequences caused.
## Advertisement

View File

@@ -176,7 +176,7 @@ MAAをより良くするために開発・テストに貢献してくれたす
## 免責事項
- 本ソフトウェアのロゴはAGPL 3.0ライセンスを使用しており、オープンソースではなく、絵師[耗毛](https://weibo.com/u/3251357314)および本ソフトウェアのすべての開発者がすべての権利を留保しています。「AGPL 3.0ライセンスに基づいて許可されている」という理由で、許可がない場合に本ソフトウェアのロゴを無断で使用することは禁止しております。また、許可なく商業目的で本ソフトウェアのロゴを無断で使用することも禁止しております。
- 本ソフトウェアのロゴはAGPL 3.0ライセンスを使用しており、オープンソースではなく、[耗毛](https://weibo.com/u/3251357314)とVie、2人のアーティストと開発者がすべての権利を留保しています。「AGPL 3.0ライセンスに基づいて許可されている」という理由で、許可がない場合に本ソフトウェアのロゴを無断で使用することは禁止しております。また、許可なく商業目的で本ソフトウェアのロゴを無断で使用することも禁止しております。
- 本ソフトウェアはオープンソースで無料であり、学習と研究のみの目的としています。販売者が本ソフトウェアの料金を請求する場合は、デバイスや時間の料金である可能性があります。発生した問題と結果は、本ソフトウェアとは一切関係ありません。
## 広告

View File

@@ -173,7 +173,7 @@ MAA 的意思是 MAA Assistant Arknights
## 聲明
- 本軟體 logo 並非使用 AGPL 3.0 條款開源,畫師 [耗毛](https://weibo.com/u/3251357314) 及軟體全體開發者保留所有權利。不得以 AGPL 3.0 條款已授權為由在未經授權的情況下使用本軟體 logo, 不得在未經授權的情況下將本軟體 logo 用於任何商業用途。
- 本軟體 logo 並非使用 AGPL 3.0 條款開源,[耗毛](https://weibo.com/u/3251357314)、Vie 兩位畫師以及軟體全體開發者保留所有權利。不得以 AGPL 3.0 條款已授權為由在未經授權的情況下使用本軟體 logo, 不得在未經授權的情況下將本軟體 logo 用於任何商業用途。
- 本軟體開源、免費,僅供學習交流使用。若您遇到商家使用本軟體進行代練並收費,可能是設備與時間等費用,產生的問題及後果與本軟件無關。
## 廣告

View File

@@ -1,450 +0,0 @@
{
"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
}
]
}

View File

@@ -1,489 +0,0 @@
[
{
"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": "四叶草化石"
}
]

View File

@@ -22,7 +22,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1StageBoons": {
@@ -48,7 +50,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1StageCambatDps": {
@@ -75,7 +79,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1StageEmergencyDps": {
@@ -102,7 +108,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike2StageRegionalCommissioning": {
@@ -128,7 +136,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike2StageGambling": {
@@ -154,7 +164,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike2StageDreadfulFoe-5": {
@@ -180,7 +192,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1StageTrader": {
@@ -204,7 +218,9 @@
"Roguelike1StageEmergencyDps",
"Roguelike1StageDreadfulFoe",
"Roguelike2StageDreadfulFoe-5",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1StageSafeHouse": {
@@ -228,7 +244,9 @@
"Roguelike1StageEmergencyDps",
"Roguelike1StageDreadfulFoe",
"Roguelike2StageDreadfulFoe-5",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1StageDreadfulFoe": {
@@ -255,7 +273,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
],
"next_Doc": "普通作战和紧急作战的图比较像有时候会识别错这里的next把两个开始的按钮都放进来提高容错"
},
@@ -282,7 +302,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike2GetDropBox": {
@@ -320,5 +342,78 @@
"Roguelike1ChooseOperFlag",
"Roguelike1ClickToDrops"
]
},
"Roguelike2LastReward4": {
"action": "ClickSelf",
"cache": false,
"roi": [
174,
151,
935,
533
],
"next": [
"Roguelike1LastRewardConfirm"
]
},
"Roguelike2CloseCollectionContinue": {
"action": "ClickSelf",
"cache": false,
"roi": [
549,
440,
123,
130
],
"maskRange": [
100,
255
],
"next": [
"Roguelike1StageEncounterEnter",
"Roguelike1StageTrader",
"Roguelike1StageSafeHouse",
"Roguelike1StageEncounter",
"Roguelike1StageBoons",
"Roguelike1StageCambatDps",
"Roguelike1StageEmergencyDps",
"Roguelike1StageDreadfulFoe",
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike2CloseCollectionClose": {
"action": "ClickSelf",
"cache": false,
"roi": [
572,
434,
144,
141
],
"maskRange": [
100,
255
],
"next": [
"Roguelike1StageEncounterEnter",
"Roguelike1StageTrader",
"Roguelike1StageSafeHouse",
"Roguelike1StageEncounter",
"Roguelike1StageBoons",
"Roguelike1StageCambatDps",
"Roguelike1StageEmergencyDps",
"Roguelike1StageDreadfulFoe",
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

View File

@@ -7,6 +7,7 @@
"tags": [
"治疗",
"远程位",
"支援机械",
"医疗干员"
]
},
@@ -17,6 +18,7 @@
"tags": [
"支援",
"近战位",
"支援机械",
"近卫干员"
]
},
@@ -27,6 +29,7 @@
"tags": [
"爆发",
"近战位",
"支援机械",
"特种干员"
]
},
@@ -37,6 +40,7 @@
"tags": [
"支援",
"远程位",
"支援机械",
"狙击干员"
]
},

View File

@@ -113,6 +113,7 @@
},
"RecruitTags": {
"algorithm": "OcrDetect",
"fullMatch": true,
"text": [],
"roi": [
375,

View File

@@ -7,6 +7,7 @@
"tags": [
"治疗",
"远程位",
"支援机械",
"医疗干员"
]
},
@@ -17,6 +18,7 @@
"tags": [
"支援",
"近战位",
"支援机械",
"近卫干员"
]
},
@@ -27,6 +29,7 @@
"tags": [
"爆发",
"近战位",
"支援机械",
"特种干员"
]
},
@@ -37,6 +40,7 @@
"tags": [
"支援",
"远程位",
"支援机械",
"狙击干员"
]
},

View File

@@ -115,6 +115,7 @@
},
"RecruitTags": {
"algorithm": "OcrDetect",
"fullMatch": true,
"text": [],
"roi": [
375,

View File

@@ -7,6 +7,7 @@
"tags": [
"治疗",
"远程位",
"支援机械",
"医疗干员"
]
},
@@ -17,6 +18,7 @@
"tags": [
"支援",
"近战位",
"支援机械",
"近卫干员"
]
},
@@ -27,6 +29,7 @@
"tags": [
"爆发",
"近战位",
"支援机械",
"特种干员"
]
},
@@ -37,6 +40,7 @@
"tags": [
"支援",
"远程位",
"支援机械",
"狙击干员"
]
},

View File

@@ -7,6 +7,7 @@
"tags": [
"治疗",
"远程位",
"支援机械",
"医疗干员"
]
},
@@ -17,6 +18,7 @@
"tags": [
"支援",
"近战位",
"支援机械",
"近卫干员"
]
},
@@ -27,6 +29,7 @@
"tags": [
"爆发",
"近战位",
"支援机械",
"特种干员"
]
},

View File

@@ -205,6 +205,7 @@
},
"RecruitTags": {
"algorithm": "OcrDetect",
"fullMatch": true,
"text": [],
"roi": [
375,

View File

@@ -7,6 +7,7 @@
"tags": [
"治疗",
"远程位",
"支援机械",
"医疗干员"
]
},
@@ -17,6 +18,7 @@
"tags": [
"支援",
"近战位",
"支援机械",
"近卫干员"
]
},
@@ -27,6 +29,7 @@
"tags": [
"爆发",
"近战位",
"支援机械",
"特种干员"
]
},
@@ -37,6 +40,7 @@
"tags": [
"支援",
"远程位",
"支援机械",
"狙击干员"
]
},

View File

@@ -2,53 +2,163 @@
{
"stage_name": "蓄水池",
"replacement_home": [
{
"location": [
6,
4
],
"direction_Doc1": "优先朝向,但并不代表绝对是这个方向(算法自行判断)",
"direction_Doc2": "不填默认 none即没有推荐方向完全由算法自行判断",
"direction_Doc3": "none / left / right / up / down / 无 / 上 / 下 / 左 / 右",
"direction": "left"
}
],
"blacklist_location_Doc": "这里是用法举例,不是说蓄水池这个图需要 ban 这两个点",
"blacklist_location": [
[
6,
4
0,
0
],
[
1,
1
]
]
},
{
"stage_name": "共生",
"replacement_home": [
{
"location": [
4,
4
],
"direction": "up"
}
]
},
{
"stage_name": "海窟沙暴",
"replacement_home": [
{
"location": [
3,
4
],
"direction": "up"
},
{
"location": [
4,
4
],
"direction": "up"
}
]
},
{
"stage_name": "纠错",
"replacement_home": [
{
"location": [
3,
5
],
"direction": "right"
}
],
"blacklist_location": [
[
4,
4
5,
5
]
]
},
{
"stage_name": "订正",
"replacement_home": [
{
"location": [
3,
5
],
"direction": "right"
}
],
"blacklist_location": [
[
5,
5
]
]
},
{
"stage_name": "无声呼号",
"replacement_home": [
[
3,
2
]
{
"location": [
3,
2
],
"direction": "right"
}
]
},
{
"stage_name": "海神的信者",
"replacement_home": [
[
5,
2
]
{
"location": [
5,
2
],
"direction": "up"
}
]
},
{
"stage_name": "征兆",
"replacement_home": [
[
3,
3
]
{
"location": [
4,
3
],
"direction": "right"
}
]
},
{
"stage_name": "除暴安良",
"replacement_home": [
{
"location": [
4,
3
],
"direction": "right"
}
],
"blacklist_location": [
[
4,
2
],
[
1,
3
],
[
1,
3
],
[
2,
3
],
[
3,
3
]
]
@@ -56,219 +166,283 @@
{
"stage_name": "巡逻队",
"replacement_home": [
[
8,
3
],
[
8,
4
]
{
"location": [
8,
3
]
},
{
"location": [
8,
4
]
}
]
},
{
"stage_name": "压轴登场",
"replacement_home": [
[
3,
4
]
{
"location": [
3,
4
]
}
]
},
{
"stage_name": "似曾相识",
"replacement_home": [
[
4,
4
],
[
5,
4
]
{
"location": [
4,
4
]
},
{
"location": [
5,
4
]
}
]
},
{
"stage_name": "阴云笼罩",
"replacement_home": [
[
7,
0
],
[
6,
0
]
{
"location": [
7,
0
]
},
{
"location": [
6,
0
]
}
]
},
{
"stage_name": "从众效应",
"replacement_home": [
[
2,
4
],
[
6,
4
],
[
3,
4
],
[
5,
4
]
{
"location": [
2,
4
]
},
{
"location": [
6,
4
]
},
{
"location": [
3,
4
]
},
{
"location": [
5,
4
]
}
]
},
{
"stage_name": "恐怖传说",
"replacement_home": [
[
0,
4
]
{
"location": [
0,
4
]
}
]
},
{
"stage_name": "寒渊惜别",
"replacement_home": [
[
10,
5
],
[
0,
1
]
{
"location": [
10,
5
]
},
{
"location": [
0,
1
]
}
]
},
{
"stage_name": "正义",
"replacement_home": [
[
6,
2
],
[
6,
3
]
{
"location": [
6,
2
]
},
{
"location": [
6,
3
]
}
]
},
{
"stage_name": "仪式之夜",
"replacement_home": [
[
10,
2
],
[
0,
5
]
{
"location": [
10,
2
]
},
{
"location": [
0,
5
]
}
]
},
{
"stage_name": "烟花秀",
"replacement_home": [
[
10,
4
],
[
10,
2
]
{
"location": [
10,
4
]
},
{
"location": [
10,
2
]
}
]
},
{
"stage_name": "步步紧逼",
"replacement_home": [
[
0,
2
],
[
0,
3
]
{
"location": [
0,
2
]
},
{
"location": [
0,
3
]
}
]
},
{
"stage_name": "隔岸观火",
"replacement_home": [
[
11,
2
],
[
2,
5
]
{
"location": [
11,
2
]
},
{
"location": [
2,
5
]
}
]
},
{
"stage_name": "斗兽笼",
"replacement_home": [
[
5,
3
]
{
"location": [
5,
3
]
}
]
},
{
"stage_name": "荒唐把戏",
"replacement_home": [
[
4,
2
]
{
"location": [
4,
2
]
}
]
},
{
"stage_name": "彻骨冰寒",
"replacement_home": [
[
7,
4
],
[
7,
2
]
{
"location": [
7,
4
]
},
{
"location": [
7,
2
]
}
]
},
{
"stage_name": "开门请当心",
"replacement_home": [
[
10,
4
],
[
10,
6
]
{
"location": [
10,
4
]
},
{
"location": [
10,
6
]
}
]
},
{
"stage_name": "覆水难收",
"replacement_home": [
[
3,
4
]
{
"location": [
3,
4
]
}
]
},
{
"stage_name": "悦耳杀机",
"replacement_home": [
[
6,
6
]
{
"location": [
6,
6
]
}
]
}
]

View File

@@ -23,6 +23,12 @@
"recruit_priority": 650,
"promote_priority": 600
},
{
"name": "百炼嘉维尔",
"skill": 2,
"recruit_priority": 800,
"promote_priority": 750
},
{
"name": "艾丽妮",
"skill": 1,
@@ -48,6 +54,12 @@
"recruit_priority": 600,
"promote_priority": 550
},
{
"name": "海沫",
"skill": 1,
"recruit_priority": 600,
"promote_priority": 550
},
{
"name": "银灰",
"skill": 3,
@@ -432,6 +444,13 @@
"recruit_priority": 5,
"promote_priority": 0,
"is_alternate": true
},
{
"name": "预备干员-重装",
"skill": 0,
"recruit_priority": 5,
"promote_priority": 0,
"is_alternate": true
}
]
}

View File

@@ -4067,6 +4067,7 @@
},
"RecruitTags": {
"algorithm": "OcrDetect",
"fullMatch": true,
"text": [],
"roi": [
375,
@@ -7203,7 +7204,9 @@
"Roguelike1StageEmergencyDps",
"Roguelike1StageDreadfulFoe",
"Roguelike2StageDreadfulFoe-5",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1LastReward": {
@@ -7248,6 +7251,10 @@
"Roguelike1LastRewardConfirm"
]
},
"Roguelike2LastReward4": {
"template": "empty.png",
"templThreshold": 2.0
},
"Roguelike1LastRewardRand": {
"Doc": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援—— 问号",
"action": "ClickSelf",
@@ -7317,7 +7324,7 @@
"roi": [
0,
153,
365,
1280,
532
],
"next": [
@@ -7337,6 +7344,7 @@
"Roguelike1LastReward",
"Roguelike1LastReward2",
"Roguelike1LastReward3",
"Roguelike2LastReward4",
"Roguelike1LastRewardRand",
"Roguelike1Team3",
"Roguelike1CloseCollection",
@@ -7349,7 +7357,9 @@
"Roguelike1StageEmergencyDps",
"Roguelike1StageDreadfulFoe",
"Roguelike2StageDreadfulFoe-5",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1CloseCollection": {
@@ -7365,6 +7375,7 @@
"Roguelike1LastReward",
"Roguelike1LastReward2",
"Roguelike1LastReward3",
"Roguelike2LastReward4",
"Roguelike1LastRewardRand",
"Roguelike1Team3"
]
@@ -7590,7 +7601,9 @@
"Roguelike1StageEmergencyDps",
"Roguelike1StageDreadfulFoe",
"Roguelike2StageDreadfulFoe-5",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1StageTrader": {
@@ -7614,7 +7627,9 @@
"Roguelike1StageEmergencyDps",
"Roguelike1StageDreadfulFoe",
"Roguelike2StageDreadfulFoe-5",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1StageTraderEnter": {
@@ -7747,7 +7762,9 @@
"Roguelike1StageEmergencyDps",
"Roguelike1StageDreadfulFoe",
"Roguelike2StageDreadfulFoe-5",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike2StageRegionalCommissioning": {
@@ -7969,9 +7986,19 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike2CloseCollectionContinue": {
"template": "empty.png",
"templThreshold": 2.0
},
"Roguelike2CloseCollectionClose": {
"template": "empty.png",
"templThreshold": 2.0
},
"Roguelike1StageEncounter": {
"Doc": "不期而遇(随机奖励)",
"action": "ClickSelf",
@@ -7995,7 +8022,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1StageBoons": {
@@ -8021,7 +8050,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
]
},
"Roguelike1StageEncounterEnter": {
@@ -8052,7 +8083,9 @@
"preDelay": 500,
"templThreshold": 0.99,
"next": [
"Roguelike1StageEncounterLeaveConfirm"
"Roguelike1StageEncounterLeaveConfirm",
"Roguelike1StageEncounterFree",
"Roguelike1ChooseOperFlag"
]
},
"Roguelike1StageEncounterLeave": {
@@ -8067,7 +8100,9 @@
"preDelay": 500,
"templThreshold": 0.97,
"next": [
"Roguelike1StageEncounterLeaveConfirm"
"Roguelike1StageEncounterLeaveConfirm",
"Roguelike1StageEncounterLeave",
"Roguelike1ChooseOperFlag"
]
},
"Roguelike1StageEncounterUnknown": {
@@ -8082,7 +8117,9 @@
"templThreshold": 0.9,
"preDelay": 1500,
"next": [
"Roguelike1StageEncounterLeaveConfirm"
"Roguelike1StageEncounterLeaveConfirm",
"Roguelike1StageEncounterUnknown",
"Roguelike1ChooseOperFlag"
]
},
"Roguelike1StageEncounterLeaveConfirm": {
@@ -8174,7 +8211,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
],
"next_Doc": "普通作战和紧急作战的图比较像有时候会识别错这里的next把两个开始的按钮都放进来提高容错"
},
@@ -8214,7 +8253,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
],
"next_Doc": "普通作战和紧急作战的图比较像有时候会识别错这里的next把两个开始的按钮都放进来提高容错"
},
@@ -8255,7 +8296,9 @@
"Roguelike2StageDreadfulFoe-5",
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm"
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose"
],
"next_Doc": "普通作战和紧急作战的图比较像有时候会识别错这里的next把两个开始的按钮都放进来提高容错"
},
@@ -8576,6 +8619,8 @@
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose",
"Roguelike1ChooseOperFlag",
"Roguelike1StageEncounterSpecialClose",
"Roguelike1TraderRandomShopping",
@@ -8617,6 +8662,8 @@
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose",
"Roguelike1StageEncounterFree",
"Roguelike1StageEncounterLeave",
"Roguelike1StageEncounterUnknown",
@@ -8721,7 +8768,8 @@
"next": [
"Roguelike1GetDropSelectRecruit",
"Roguelike1GetDropSelectReward",
"Roguelike1ChooseOperFlag"
"Roguelike1ChooseOperFlag",
"Roguelike1GetDropCompleted"
]
},
"Roguelike1GetDropSelectRecruit": {
@@ -8831,6 +8879,8 @@
"Roguelike2StageRegionalCommissioning",
"Roguelike2StageGambling",
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose",
"Roguelike1ClickToStartPoint"
]
},
@@ -8867,6 +8917,8 @@
"Roguelike1StageDreadfulFoe",
"Roguelike2StageDreadfulFoe-5",
"Roguelike2DiceConfirm",
"Roguelike2CloseCollectionContinue",
"Roguelike2CloseCollectionClose",
"TodaysSuppliesToRoguelike1",
"TerminalToRoguelike1",
"CloseAnnoToRoguelike1",

View File

@@ -1,28 +1,28 @@
#include "Assistant.h"
#include "AsstRanges.hpp"
#include "Utils/AsstRanges.hpp"
#include <meojson/json.hpp>
#include "AsstUtils.hpp"
#include "Controller.h"
#include "GeneralConfiger.h"
#include "Logger.hpp"
#include "Resource/GeneralConfiger.h"
#include "RuntimeStatus.h"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
#include "AwardTask.h"
#include "CloseDownTask.h"
#include "CopilotTask.h"
#include "DepotTask.h"
#include "FightTask.h"
#include "InfrastTask.h"
#include "MallTask.h"
#include "RecruitTask.h"
#include "RoguelikeTask.h"
#include "StartUpTask.h"
#include "VisitTask.h"
#include "Task/AwardTask.h"
#include "Task/CloseDownTask.h"
#include "Task/CopilotTask.h"
#include "Task/DepotTask.h"
#include "Task/FightTask.h"
#include "Task/InfrastTask.h"
#include "Task/MallTask.h"
#include "Task/RecruitTask.h"
#include "Task/RoguelikeTask.h"
#include "Task/StartUpTask.h"
#include "Task/VisitTask.h"
#ifdef ASST_DEBUG
#include "DebugTask.h"
#include "Task/DebugTask.h"
#endif
using namespace asst;

View File

@@ -7,8 +7,8 @@
#include <queue>
#include <thread>
#include "AsstMsg.h"
#include "AsstTypes.h"
#include "Utils/AsstMsg.h"
#include "Utils/AsstTypes.h"
typedef unsigned char uchar;

View File

@@ -4,9 +4,9 @@
#include <unordered_map>
#include <vector>
#include "NoWarningCVMat.h"
#include "Utils/NoWarningCVMat.h"
#include "AsstTypes.h"
#include "Utils/AsstTypes.h"
namespace asst
{
@@ -107,10 +107,17 @@ namespace asst
bool cooling = false;
};
struct ReplacementHome
{
Point location;
BattleDeployDirection direction;
};
struct RoguelikeBattleData
{
std::string stage_name;
std::vector<Point> replacement_home;
std::vector<ReplacementHome> replacement_home;
std::unordered_set<Point> blacklist_location;
std::vector<int> key_kills;
};

View File

@@ -7,10 +7,10 @@
#include <meojson/json.hpp>
#include "Assistant.h"
#include "AsstTypes.h"
#include "Logger.hpp"
#include "ResourceLoader.h"
#include "Version.h"
#include "Utils/AsstTypes.h"
#include "Utils/Logger.hpp"
#include "Utils/Version.h"
static constexpr unsigned long long NullSize = static_cast<unsigned long long>(-1);

View File

@@ -1,9 +1,9 @@
#include "Controller.h"
#include "AsstConf.h"
#include "AsstPlatform.h"
#include "Utils/AsstConf.h"
#include "Utils/AsstPlatform.h"
#ifdef _WIN32
#include "AsstPlatformWin32.h"
#include "Utils/AsstPlatformWin32.h"
#include <ws2tcpip.h>
#else
#include <fcntl.h>
@@ -18,7 +18,7 @@
#include <utility>
#include <vector>
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#ifdef _MSC_VER
#pragma warning(push)
@@ -29,9 +29,9 @@
#pragma warning(pop)
#endif
#include "AsstTypes.h"
#include "GeneralConfiger.h"
#include "Logger.hpp"
#include "Resource/GeneralConfiger.h"
#include "Utils/AsstTypes.h"
#include "Utils/Logger.hpp"
asst::Controller::Controller(AsstCallback callback, void* callback_arg)
: m_callback(std::move(callback)), m_callback_arg(callback_arg), m_rand_engine(std::random_device {}())

View File

@@ -1,11 +1,11 @@
#pragma once
#ifdef _WIN32
#include "SafeWindows.h"
#include "Utils/SafeWindows.h"
#include <mswsock.h>
#endif
#include "AsstConf.h"
#include "Utils/AsstConf.h"
#include <atomic>
#include <condition_variable>
@@ -18,11 +18,11 @@
#include <string>
#include <thread>
#include "NoWarningCVMat.h"
#include "Utils/NoWarningCVMat.h"
#include "AsstMsg.h"
#include "AsstTypes.h"
#include "SingletonHolder.hpp"
#include "Utils/AsstMsg.h"
#include "Utils/AsstTypes.h"
#include "Utils/SingletonHolder.hpp"
namespace asst
{

View File

@@ -1,16 +1,16 @@
#include "BattleImageAnalyzer.h"
#include "AsstRanges.hpp"
#include "Utils/AsstRanges.hpp"
#include <algorithm>
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "HashImageAnalyzer.h"
#include "Logger.hpp"
#include "MatchImageAnalyzer.h"
#include "MultiMatchImageAnalyzer.h"
#include "OcrWithFlagTemplImageAnalyzer.h"
#include "General/HashImageAnalyzer.h"
#include "General/MatchImageAnalyzer.h"
#include "General/MultiMatchImageAnalyzer.h"
#include "General/OcrWithFlagTemplImageAnalyzer.h"
#include "TaskData.h"
#include "Utils/Logger.hpp"
bool asst::BattleImageAnalyzer::set_target(int target)
{

View File

@@ -1,5 +1,5 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
#include "AsstBattleDef.h"

View File

@@ -1,14 +1,14 @@
#include "CreditShopImageAnalyzer.h"
#include "AsstRanges.hpp"
#include "Utils/AsstRanges.hpp"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstUtils.hpp"
#include "MatchImageAnalyzer.h"
#include "MultiMatchImageAnalyzer.h"
#include "OcrImageAnalyzer.h"
#include "General/MatchImageAnalyzer.h"
#include "General/MultiMatchImageAnalyzer.h"
#include "General/OcrImageAnalyzer.h"
#include "TaskData.h"
#include "Utils/AsstUtils.hpp"
void asst::CreditShopImageAnalyzer::set_black_list(std::vector<std::string> black_list)
{

View File

@@ -1,5 +1,5 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
namespace asst
{

View File

@@ -1,13 +1,13 @@
#include "DepotImageAnalyzer.h"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstUtils.hpp"
#include "ItemConfiger.h"
#include "Logger.hpp"
#include "MatchImageAnalyzer.h"
#include "OcrWithPreprocessImageAnalyzer.h"
#include "General/MatchImageAnalyzer.h"
#include "General/OcrWithPreprocessImageAnalyzer.h"
#include "Resource/ItemConfiger.h"
#include "TaskData.h"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
bool asst::DepotImageAnalyzer::analyze()
{

View File

@@ -1,5 +1,5 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
namespace asst
{

View File

@@ -1,11 +1,11 @@
#include "AbstractImageAnalyzer.h"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstImageIo.hpp"
#include "AsstUtils.hpp"
#include "Controller.h"
#include "Logger.hpp"
#include "Utils/AsstImageIo.hpp"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
asst::AbstractImageAnalyzer::AbstractImageAnalyzer(const cv::Mat& image)
: m_image(image), m_roi(empty_rect_to_full(Rect(), image))
@@ -71,7 +71,9 @@ bool asst::AbstractImageAnalyzer::save_img(const std::string& dirname)
std::string stem = utils::get_format_time();
stem = utils::string_replace_all(stem, { { ":", "-" }, { " ", "_" } });
std::filesystem::create_directories(dirname);
bool ret = asst::imwrite(dirname + stem + "_raw.png", m_image);
std::string full_path = dirname + stem + "_raw.png";
Log.trace("Save image", full_path);
bool ret = asst::imwrite(full_path, m_image);
#ifdef ASST_DEBUG
asst::imwrite(dirname + stem + "_draw.png", m_image_draw);

View File

@@ -1,7 +1,7 @@
#pragma once
#include "AsstTypes.h"
#include "NoWarningCVMat.h"
#include "Utils/AsstTypes.h"
#include "Utils/NoWarningCVMat.h"
// #ifndef ASST_DEBUG
// #define ASST_DEBUG

View File

@@ -1,9 +1,9 @@
#include "HashImageAnalyzer.h"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstUtils.hpp"
#include "Logger.hpp"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
bool asst::HashImageAnalyzer::analyze()
{

View File

@@ -1,11 +1,11 @@
#include "MatchImageAnalyzer.h"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstUtils.hpp"
#include "Logger.hpp"
#include "Resource/TemplResource.h"
#include "TaskData.h"
#include "TemplResource.h"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
asst::MatchImageAnalyzer::MatchImageAnalyzer(const cv::Mat& image, const Rect& roi, std::string templ_name,
double templ_thres)
@@ -16,7 +16,7 @@ bool asst::MatchImageAnalyzer::analyze()
{
const cv::Mat templ = m_templ_name.empty() ? m_templ : TemplResource::get_instance().get_templ(m_templ_name);
if (templ.empty()) {
Log.error("templ is empty!");
Log.error("templ is empty!", m_templ_name);
return false;
}
return match_templ(templ);

View File

@@ -1,13 +1,13 @@
#include "MultiMatchImageAnalyzer.h"
#include "AsstRanges.hpp"
#include "Utils/AsstRanges.hpp"
#include <utility>
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "Logger.hpp"
#include "Resource/TemplResource.h"
#include "TaskData.h"
#include "TemplResource.h"
#include "Utils/Logger.hpp"
asst::MultiMatchImageAnalyzer::MultiMatchImageAnalyzer(const cv::Mat& image, const Rect& roi, std::string templ_name,
double templ_thres)
@@ -21,7 +21,7 @@ bool asst::MultiMatchImageAnalyzer::analyze()
const cv::Mat templ = TemplResource::get_instance().get_templ(m_templ_name);
if (templ.empty()) {
Log.error("templ is empty!");
Log.error("templ is empty!", m_templ_name);
return false;
}

View File

@@ -3,9 +3,9 @@
#include <regex>
#include <unordered_map>
#include "Logger.hpp"
#include "OcrPack.h"
#include "Resource/OcrPack.h"
#include "TaskData.h"
#include "Utils/Logger.hpp"
bool asst::OcrImageAnalyzer::analyze()
{

View File

@@ -5,7 +5,7 @@
#include <unordered_map>
#include <vector>
#include "AsstTypes.h"
#include "Utils/AsstTypes.h"
namespace asst
{

View File

@@ -1,8 +1,8 @@
#include "OcrWithPreprocessImageAnalyzer.h"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstUtils.hpp"
#include "Utils/AsstUtils.hpp"
bool asst::OcrWithPreprocessImageAnalyzer::analyze()
{

View File

@@ -1,6 +1,6 @@
#include "InfrastClueImageAnalyzer.h"
#include "MultiMatchImageAnalyzer.h"
#include "General/MultiMatchImageAnalyzer.h"
bool asst::InfrastClueImageAnalyzer::analyze()
{

View File

@@ -1,5 +1,5 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
namespace asst
{

View File

@@ -1,10 +1,10 @@
#include "InfrastClueVacancyImageAnalyzer.h"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstUtils.hpp"
#include "Logger.hpp"
#include "MatchImageAnalyzer.h"
#include "General/MatchImageAnalyzer.h"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
bool asst::InfrastClueVacancyImageAnalyzer::analyze()
{

View File

@@ -1,5 +1,5 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
namespace asst
{

View File

@@ -1,11 +1,11 @@
#include "InfrastFacilityImageAnalyzer.h"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstUtils.hpp"
#include "Logger.hpp"
#include "MultiMatchImageAnalyzer.h"
#include "General/MultiMatchImageAnalyzer.h"
#include "TaskData.h"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
bool asst::InfrastFacilityImageAnalyzer::analyze()
{

View File

@@ -1,5 +1,5 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
namespace asst
{

View File

@@ -1,14 +1,14 @@
#include "InfrastOperImageAnalyzer.h"
#include "AsstRanges.hpp"
#include "NoWarningCV.h"
#include "Utils/AsstRanges.hpp"
#include "Utils/NoWarningCV.h"
#include "HashImageAnalyzer.h"
#include "InfrastConfiger.h"
#include "General/HashImageAnalyzer.h"
#include "General/MatchImageAnalyzer.h"
#include "InfrastSmileyImageAnalyzer.h"
#include "Logger.hpp"
#include "MatchImageAnalyzer.h"
#include "Resource/InfrastConfiger.h"
#include "TaskData.h"
#include "Utils/Logger.hpp"
bool asst::InfrastOperImageAnalyzer::analyze()
{

View File

@@ -1,7 +1,7 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
#include "AsstInfrastDef.h"
#include "Utils/AsstInfrastDef.h"
namespace asst
{

View File

@@ -1,9 +1,9 @@
#include "InfrastSmileyImageAnalyzer.h"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstUtils.hpp"
#include "MultiMatchImageAnalyzer.h"
#include "General/MultiMatchImageAnalyzer.h"
#include "Utils/AsstUtils.hpp"
bool asst::InfrastSmileyImageAnalyzer::analyze()
{

View File

@@ -1,7 +1,7 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
#include "AsstInfrastDef.h"
#include "Utils/AsstInfrastDef.h"
namespace asst
{

View File

@@ -3,12 +3,12 @@
#include <regex>
#include <utility>
#include "AsstUtils.hpp"
#include "Logger.hpp"
#include "MatchImageAnalyzer.h"
#include "OcrImageAnalyzer.h"
#include "General/MatchImageAnalyzer.h"
#include "General/OcrImageAnalyzer.h"
#include "RuntimeStatus.h"
#include "TaskData.h"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
asst::ProcessTaskImageAnalyzer::ProcessTaskImageAnalyzer(const cv::Mat& image, std::vector<std::string> tasks_name)
: AbstractImageAnalyzer(image), m_tasks_name(std::move(tasks_name))

View File

@@ -1,11 +1,11 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
#include <memory>
#include <string>
#include <vector>
#include "AsstTypes.h"
#include "Utils/AsstTypes.h"
namespace asst
{

View File

@@ -1,9 +1,9 @@
#include "RecruitImageAnalyzer.h"
#include "MatchImageAnalyzer.h"
#include "MultiMatchImageAnalyzer.h"
#include "OcrImageAnalyzer.h"
#include "RecruitConfiger.h"
#include "General/MatchImageAnalyzer.h"
#include "General/MultiMatchImageAnalyzer.h"
#include "General/OcrImageAnalyzer.h"
#include "Resource/RecruitConfiger.h"
#include "TaskData.h"
bool asst::RecruitImageAnalyzer::analyze()
@@ -22,8 +22,7 @@ bool asst::RecruitImageAnalyzer::tags_analyze()
static bool analyzer_inited = false;
static OcrImageAnalyzer tags_analyzer;
if (!analyzer_inited) {
const auto tags_task_ptr = Task.get<OcrTaskInfo>("RecruitTags");
tags_analyzer.set_roi(tags_task_ptr->roi);
tags_analyzer.set_task_info("RecruitTags");
auto& all_tags_set = RecruitData.get_all_tags();
std::vector<std::string> all_tags_vec;
all_tags_vec.assign(all_tags_set.begin(), all_tags_set.end());
@@ -34,7 +33,6 @@ bool asst::RecruitImageAnalyzer::tags_analyze()
}
tags_analyzer.set_required(std::move(all_tags_vec));
tags_analyzer.set_replace(tags_task_ptr->replace_map);
analyzer_inited = true;
}

View File

@@ -1,7 +1,7 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
#include "AsstTypes.h"
#include "Utils/AsstTypes.h"
namespace asst
{

View File

@@ -1,11 +1,11 @@
#include "RoguelikeFormationImageAnalyzer.h"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstUtils.hpp"
#include "Logger.hpp"
#include "MultiMatchImageAnalyzer.h"
#include "General/MultiMatchImageAnalyzer.h"
#include "TaskData.h"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
bool asst::RoguelikeFormationImageAnalyzer::analyze()
{

View File

@@ -1,5 +1,5 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
namespace asst
{

View File

@@ -1,9 +1,9 @@
#include "RoguelikeRecruitImageAnalyzer.h"
#include "Logger.hpp"
#include "MatchImageAnalyzer.h"
#include "OcrWithFlagTemplImageAnalyzer.h"
#include "General/MatchImageAnalyzer.h"
#include "General/OcrWithFlagTemplImageAnalyzer.h"
#include "TaskData.h"
#include "Utils/Logger.hpp"
bool asst::RoguelikeRecruitImageAnalyzer::analyze()
{

View File

@@ -1,5 +1,5 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
#include "AsstBattleDef.h"

View File

@@ -1,13 +1,13 @@
#include "RoguelikeSkillSelectionImageAnalyzer.h"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstUtils.hpp"
#include "Logger.hpp"
#include "MultiMatchImageAnalyzer.h"
#include "OcrWithPreprocessImageAnalyzer.h"
#include "RoguelikeRecruitConfiger.h"
#include "General/MultiMatchImageAnalyzer.h"
#include "General/OcrWithPreprocessImageAnalyzer.h"
#include "Resource/RoguelikeRecruitConfiger.h"
#include "TaskData.h"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
bool asst::RoguelikeSkillSelectionImageAnalyzer::analyze()
{

View File

@@ -1,5 +1,5 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "General/AbstractImageAnalyzer.h"
namespace asst
{

View File

@@ -1,17 +1,17 @@
#include "StageDropsImageAnalyzer.h"
#include "AsstRanges.hpp"
#include "Utils/AsstRanges.hpp"
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include "AsstImageIo.hpp"
#include "AsstUtils.hpp"
#include "ItemConfiger.h"
#include "Logger.hpp"
#include "MatchImageAnalyzer.h"
#include "OcrWithPreprocessImageAnalyzer.h"
#include "StageDropsConfiger.h"
#include "General/MatchImageAnalyzer.h"
#include "General/OcrWithPreprocessImageAnalyzer.h"
#include "Resource/ItemConfiger.h"
#include "Resource/StageDropsConfiger.h"
#include "TaskData.h"
#include "Utils/AsstImageIo.hpp"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
#include <numbers>

View File

@@ -1,6 +1,6 @@
#pragma once
#include "AbstractImageAnalyzer.h"
#include "StageDropsConfiger.h"
#include "General/AbstractImageAnalyzer.h"
#include "Resource/StageDropsConfiger.h"
namespace asst
{

View File

@@ -10,212 +10,6 @@
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\AsstCaller.h" />
<ClInclude Include="..\..\include\AsstPort.h" />
<ClInclude Include="AbstractConfiger.h" />
<ClInclude Include="AbstractConfigerWithTempl.h" />
<ClInclude Include="AbstractImageAnalyzer.h" />
<ClInclude Include="AbstractResource.h" />
<ClInclude Include="AbstractTask.h" />
<ClInclude Include="AbstractTaskPlugin.h" />
<ClInclude Include="Assistant.h" />
<ClInclude Include="AsstHttp.hpp" />
<ClInclude Include="AsstImageIo.hpp" />
<ClInclude Include="AsstInfrastDef.h" />
<ClInclude Include="AsstPlatform.h" />
<ClInclude Include="AsstPlatformPosix.h" />
<ClInclude Include="AsstPlatformWin32.h" />
<ClInclude Include="AsstUtils.hpp" />
<ClInclude Include="AsstTypes.h" />
<ClInclude Include="AsstMsg.h" />
<ClInclude Include="AsstRanges.hpp" />
<ClInclude Include="AutoRecruitTask.h" />
<ClInclude Include="AwardTask.h" />
<ClInclude Include="BattleDataConfiger.h" />
<ClInclude Include="CloseDownTask.h" />
<ClInclude Include="AsstConf.h" />
<ClInclude Include="CopilotConfiger.h" />
<ClInclude Include="BattleFormationTask.h" />
<ClInclude Include="BattleImageAnalyzer.h" />
<ClInclude Include="BattleProcessTask.h" />
<ClInclude Include="DepotImageAnalyzer.h" />
<ClInclude Include="DepotRecognitionTask.h" />
<ClInclude Include="DepotTask.h" />
<ClInclude Include="DrGrandetTaskPlugin.h" />
<ClInclude Include="GameCrashRestartTaskPlugin.h" />
<ClInclude Include="NoWarningCV.h" />
<ClInclude Include="NoWarningCVMat.h" />
<ClInclude Include="ReportDataTask.h" />
<ClInclude Include="RoguelikeControlTaskPlugin.h" />
<ClInclude Include="RoguelikeCustomStartTaskPlugin.h" />
<ClInclude Include="RoguelikeDebugTaskPlugin.h" />
<ClInclude Include="RoguelikeRecruitConfiger.h" />
<ClInclude Include="CopilotTask.h" />
<ClInclude Include="DebugTask.h" />
<ClInclude Include="FightTask.h" />
<ClInclude Include="InfrastTask.h" />
<ClInclude Include="MallTask.h" />
<ClInclude Include="OcrWithFlagTemplImageAnalyzer.h" />
<ClInclude Include="OcrWithPreprocessImageAnalyzer.h" />
<ClInclude Include="PackageTask.h" />
<ClInclude Include="RecruitTask.h" />
<ClInclude Include="ReplenishOriginiumShardTaskPlugin.h" />
<ClInclude Include="RoguelikeBattleTaskPlugin.h" />
<ClInclude Include="CreditShopImageAnalyzer.h" />
<ClInclude Include="DronesForShamareTaskPlugin.h" />
<ClInclude Include="GeneralConfiger.h" />
<ClInclude Include="CreditShoppingTask.h" />
<ClInclude Include="HashImageAnalyzer.h" />
<ClInclude Include="InfrastAbstractTask.h" />
<ClInclude Include="InfrastClueImageAnalyzer.h" />
<ClInclude Include="InfrastConfiger.h" />
<ClInclude Include="InfrastControlTask.h" />
<ClInclude Include="InfrastDormTask.h" />
<ClInclude Include="InfrastFacilityImageAnalyzer.h" />
<ClInclude Include="InfrastInfoTask.h" />
<ClInclude Include="InfrastMfgTask.h" />
<ClInclude Include="InfrastOfficeTask.h" />
<ClInclude Include="InfrastOperImageAnalyzer.h" />
<ClInclude Include="InfrastPowerTask.h" />
<ClInclude Include="InfrastProductionTask.h" />
<ClInclude Include="InfrastClueVacancyImageAnalyzer.h" />
<ClInclude Include="InfrastReceptionTask.h" />
<ClInclude Include="InfrastSmileyImageAnalyzer.h" />
<ClInclude Include="InfrastTradeTask.h" />
<ClInclude Include="MultiMatchImageAnalyzer.h" />
<ClInclude Include="OcrImageAnalyzer.h" />
<ClInclude Include="OcrPack.h" />
<ClInclude Include="RecruitImageAnalyzer.h" />
<ClInclude Include="ResourceLoader.h" />
<ClInclude Include="ItemConfiger.h" />
<ClInclude Include="Logger.hpp" />
<ClInclude Include="ProcessTask.h" />
<ClInclude Include="ProcessTaskImageAnalyzer.h" />
<ClInclude Include="RecruitConfiger.h" />
<ClInclude Include="RoguelikeCopilotConfiger.h" />
<ClInclude Include="RoguelikeFormationTaskPlugin.h" />
<ClInclude Include="RoguelikeFormationImageAnalyzer.h" />
<ClInclude Include="RoguelikeRecruitImageAnalyzer.h" />
<ClInclude Include="RoguelikeRecruitTaskPlugin.h" />
<ClInclude Include="RoguelikeResetTaskPlugin.h" />
<ClInclude Include="RoguelikeShoppingConfiger.h" />
<ClInclude Include="RoguelikeShoppingTaskPlugin.h" />
<ClInclude Include="RoguelikeSkillSelectionImageAnalyzer.h" />
<ClInclude Include="RoguelikeSkillSelectionTaskPlugin.h" />
<ClInclude Include="RoguelikeTask.h" />
<ClInclude Include="RuntimeStatus.h" />
<ClInclude Include="SingletonHolder.hpp" />
<ClInclude Include="SafeWindows.h" />
<ClInclude Include="StageDropsConfiger.h" />
<ClInclude Include="StageDropsImageAnalyzer.h" />
<ClInclude Include="StageDropsTaskPlugin.h" />
<ClInclude Include="StageNavigationTask.h" />
<ClInclude Include="StartGameTaskPlugin.h" />
<ClInclude Include="StartUpTask.h" />
<ClInclude Include="StopGameTaskPlugin.h" />
<ClInclude Include="TaskData.h" />
<ClInclude Include="MatchImageAnalyzer.h" />
<ClInclude Include="TemplResource.h" />
<ClInclude Include="TilePack.h" />
<ClInclude Include="Version.h" />
<ClInclude Include="Controller.h" />
<ClInclude Include="VisitTask.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AbstractConfiger.cpp" />
<ClCompile Include="AbstractImageAnalyzer.cpp" />
<ClCompile Include="AbstractTask.cpp" />
<ClCompile Include="AbstractTaskPlugin.cpp" />
<ClCompile Include="AsstPlatformWin32.cpp" />
<ClCompile Include="AsstPlatformPosix.cpp" />
<ClCompile Include="AutoRecruitTask.cpp" />
<ClCompile Include="AwardTask.cpp" />
<ClCompile Include="BattleDataConfiger.cpp" />
<ClCompile Include="CloseDownTask.cpp" />
<ClCompile Include="CopilotConfiger.cpp" />
<ClCompile Include="BattleFormationTask.cpp" />
<ClCompile Include="BattleImageAnalyzer.cpp" />
<ClCompile Include="BattleProcessTask.cpp" />
<ClCompile Include="DepotImageAnalyzer.cpp" />
<ClCompile Include="DepotRecognitionTask.cpp" />
<ClCompile Include="DepotTask.cpp" />
<ClCompile Include="DrGrandetTaskPlugin.cpp" />
<ClCompile Include="GameCrashRestartTaskPlugin.cpp" />
<ClCompile Include="ReportDataTask.cpp" />
<ClCompile Include="RoguelikeControlTaskPlugin.cpp" />
<ClCompile Include="RoguelikeCustomStartTaskPlugin.cpp" />
<ClCompile Include="RoguelikeDebugTaskPlugin.cpp" />
<ClCompile Include="RoguelikeRecruitConfiger.cpp" />
<ClCompile Include="CopilotTask.cpp" />
<ClCompile Include="DebugTask.cpp" />
<ClCompile Include="FightTask.cpp" />
<ClCompile Include="InfrastTask.cpp" />
<ClCompile Include="MallTask.cpp" />
<ClCompile Include="OcrWithFlagTemplImageAnalyzer.cpp" />
<ClCompile Include="OcrWithPreprocessImageAnalyzer.cpp" />
<ClCompile Include="PackageTask.cpp" />
<ClCompile Include="RecruitTask.cpp" />
<ClCompile Include="ReplenishOriginiumShardTaskPlugin.cpp" />
<ClCompile Include="RoguelikeBattleTaskPlugin.cpp" />
<ClCompile Include="CreditShopImageAnalyzer.cpp" />
<ClCompile Include="CreditShoppingTask.cpp" />
<ClCompile Include="DronesForShamareTaskPlugin.cpp" />
<ClCompile Include="HashImageAnalyzer.cpp" />
<ClCompile Include="InfrastAbstractTask.cpp" />
<ClCompile Include="InfrastClueImageAnalyzer.cpp" />
<ClCompile Include="InfrastConfiger.cpp" />
<ClCompile Include="InfrastControlTask.cpp" />
<ClCompile Include="InfrastDormTask.cpp" />
<ClCompile Include="InfrastFacilityImageAnalyzer.cpp" />
<ClCompile Include="InfrastInfoTask.cpp" />
<ClCompile Include="InfrastMfgTask.cpp" />
<ClCompile Include="InfrastOfficeTask.cpp" />
<ClCompile Include="InfrastOperImageAnalyzer.cpp" />
<ClCompile Include="InfrastPowerTask.cpp" />
<ClCompile Include="InfrastProductionTask.cpp" />
<ClCompile Include="InfrastClueVacancyImageAnalyzer.cpp" />
<ClCompile Include="InfrastReceptionTask.cpp" />
<ClCompile Include="InfrastSmileyImageAnalyzer.cpp" />
<ClCompile Include="InfrastTradeTask.cpp" />
<ClCompile Include="MultiMatchImageAnalyzer.cpp" />
<ClCompile Include="OcrImageAnalyzer.cpp" />
<ClCompile Include="OcrPack.cpp" />
<ClCompile Include="RecruitImageAnalyzer.cpp" />
<ClCompile Include="ResourceLoader.cpp" />
<ClCompile Include="Assistant.cpp" />
<ClCompile Include="AsstCaller.cpp" />
<ClCompile Include="GeneralConfiger.cpp" />
<ClCompile Include="ItemConfiger.cpp" />
<ClCompile Include="ProcessTask.cpp" />
<ClCompile Include="ProcessTaskImageAnalyzer.cpp" />
<ClCompile Include="RecruitConfiger.cpp" />
<ClCompile Include="RoguelikeCopilotConfiger.cpp" />
<ClCompile Include="RoguelikeFormationTaskPlugin.cpp" />
<ClCompile Include="RoguelikeFormationImageAnalyzer.cpp" />
<ClCompile Include="RoguelikeRecruitImageAnalyzer.cpp" />
<ClCompile Include="RoguelikeRecruitTaskPlugin.cpp" />
<ClCompile Include="RoguelikeResetTaskPlugin.cpp" />
<ClCompile Include="RoguelikeShoppingConfiger.cpp" />
<ClCompile Include="RoguelikeShoppingTaskPlugin.cpp" />
<ClCompile Include="RoguelikeSkillSelectionImageAnalyzer.cpp" />
<ClCompile Include="RoguelikeSkillSelectionTaskPlugin.cpp" />
<ClCompile Include="RoguelikeTask.cpp" />
<ClCompile Include="RuntimeStatus.cpp" />
<ClCompile Include="StageDropsConfiger.cpp" />
<ClCompile Include="StageDropsImageAnalyzer.cpp" />
<ClCompile Include="StageDropsTaskPlugin.cpp" />
<ClCompile Include="StageNavigationTask.cpp" />
<ClCompile Include="StartGameTaskPlugin.cpp" />
<ClCompile Include="StartUpTask.cpp" />
<ClCompile Include="StopGameTaskPlugin.cpp" />
<ClCompile Include="TaskData.cpp" />
<ClCompile Include="MatchImageAnalyzer.cpp" />
<ClCompile Include="TemplResource.cpp" />
<ClCompile Include="TilePack.cpp" />
<ClCompile Include="Controller.cpp" />
<ClCompile Include="VisitTask.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\resource\config.json" />
<None Include="..\..\resource\infrast.json" />
@@ -224,6 +18,213 @@
<None Include="..\..\resource\roguelike_shopping.json" />
<None Include="..\..\resource\tasks.json" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\AsstCaller.h" />
<ClInclude Include="..\..\include\AsstPort.h" />
<ClInclude Include="Assistant.h" />
<ClInclude Include="AsstBattleDef.h" />
<ClInclude Include="Controller.h" />
<ClInclude Include="ImageAnalyzer\BattleImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\CreditShopImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\DepotImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\InfrastClueImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\InfrastClueVacancyImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\InfrastFacilityImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\InfrastOperImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\InfrastSmileyImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\ProcessTaskImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\RecruitImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\RoguelikeFormationImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\RoguelikeRecruitImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\RoguelikeSkillSelectionImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\StageDropsImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\General\AbstractImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\General\HashImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\General\MatchImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\General\MultiMatchImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\General\OcrImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\General\OcrWithFlagTemplImageAnalyzer.h" />
<ClInclude Include="ImageAnalyzer\General\OcrWithPreprocessImageAnalyzer.h" />
<ClInclude Include="ResourceLoader.h" />
<ClInclude Include="Resource\AbstractConfiger.h" />
<ClInclude Include="Resource\AbstractConfigerWithTempl.h" />
<ClInclude Include="Resource\AbstractResource.h" />
<ClInclude Include="Resource\BattleDataConfiger.h" />
<ClInclude Include="Resource\CopilotConfiger.h" />
<ClInclude Include="Resource\GeneralConfiger.h" />
<ClInclude Include="Resource\InfrastConfiger.h" />
<ClInclude Include="Resource\ItemConfiger.h" />
<ClInclude Include="Resource\OcrPack.h" />
<ClInclude Include="Resource\RecruitConfiger.h" />
<ClInclude Include="Resource\RoguelikeCopilotConfiger.h" />
<ClInclude Include="Resource\RoguelikeRecruitConfiger.h" />
<ClInclude Include="Resource\RoguelikeShoppingConfiger.h" />
<ClInclude Include="Resource\StageDropsConfiger.h" />
<ClInclude Include="Resource\TemplResource.h" />
<ClInclude Include="Resource\TilePack.h" />
<ClInclude Include="RuntimeStatus.h" />
<ClInclude Include="TaskData.h" />
<ClInclude Include="Task\AwardTask.h" />
<ClInclude Include="Task\CloseDownTask.h" />
<ClInclude Include="Task\CopilotTask.h" />
<ClInclude Include="Task\DebugTask.h" />
<ClInclude Include="Task\DepotTask.h" />
<ClInclude Include="Task\FightTask.h" />
<ClInclude Include="Task\InfrastTask.h" />
<ClInclude Include="Task\MallTask.h" />
<ClInclude Include="Task\PackageTask.h" />
<ClInclude Include="Task\Plugin\AbstractTaskPlugin.h" />
<ClInclude Include="Task\Plugin\DrGrandetTaskPlugin.h" />
<ClInclude Include="Task\Plugin\DronesForShamareTaskPlugin.h" />
<ClInclude Include="Task\Plugin\GameCrashRestartTaskPlugin.h" />
<ClInclude Include="Task\Plugin\ReplenishOriginiumShardTaskPlugin.h" />
<ClInclude Include="Task\Plugin\RoguelikeBattleTaskPlugin.h" />
<ClInclude Include="Task\Plugin\RoguelikeControlTaskPlugin.h" />
<ClInclude Include="Task\Plugin\RoguelikeCustomStartTaskPlugin.h" />
<ClInclude Include="Task\Plugin\RoguelikeDebugTaskPlugin.h" />
<ClInclude Include="Task\Plugin\RoguelikeFormationTaskPlugin.h" />
<ClInclude Include="Task\Plugin\RoguelikeRecruitTaskPlugin.h" />
<ClInclude Include="Task\Plugin\RoguelikeResetTaskPlugin.h" />
<ClInclude Include="Task\Plugin\RoguelikeShoppingTaskPlugin.h" />
<ClInclude Include="Task\Plugin\RoguelikeSkillSelectionTaskPlugin.h" />
<ClInclude Include="Task\Plugin\StageDropsTaskPlugin.h" />
<ClInclude Include="Task\Plugin\StartGameTaskPlugin.h" />
<ClInclude Include="Task\Plugin\StopGameTaskPlugin.h" />
<ClInclude Include="Task\RecruitTask.h" />
<ClInclude Include="Task\RoguelikeTask.h" />
<ClInclude Include="Task\StartUpTask.h" />
<ClInclude Include="Task\Sub\AbstractTask.h" />
<ClInclude Include="Task\Sub\AutoRecruitTask.h" />
<ClInclude Include="Task\Sub\BattleFormationTask.h" />
<ClInclude Include="Task\Sub\BattleProcessTask.h" />
<ClInclude Include="Task\Sub\CreditShoppingTask.h" />
<ClInclude Include="Task\Sub\DepotRecognitionTask.h" />
<ClInclude Include="Task\Sub\InfrastAbstractTask.h" />
<ClInclude Include="Task\Sub\InfrastControlTask.h" />
<ClInclude Include="Task\Sub\InfrastDormTask.h" />
<ClInclude Include="Task\Sub\InfrastInfoTask.h" />
<ClInclude Include="Task\Sub\InfrastMfgTask.h" />
<ClInclude Include="Task\Sub\InfrastOfficeTask.h" />
<ClInclude Include="Task\Sub\InfrastPowerTask.h" />
<ClInclude Include="Task\Sub\InfrastProductionTask.h" />
<ClInclude Include="Task\Sub\InfrastReceptionTask.h" />
<ClInclude Include="Task\Sub\InfrastTradeTask.h" />
<ClInclude Include="Task\Sub\ProcessTask.h" />
<ClInclude Include="Task\Sub\ReportDataTask.h" />
<ClInclude Include="Task\Sub\StageNavigationTask.h" />
<ClInclude Include="Task\VisitTask.h" />
<ClInclude Include="Utils\AsstConf.h" />
<ClInclude Include="Utils\AsstHttp.hpp" />
<ClInclude Include="Utils\AsstImageIo.hpp" />
<ClInclude Include="Utils\AsstInfrastDef.h" />
<ClInclude Include="Utils\AsstMsg.h" />
<ClInclude Include="Utils\AsstPlatform.h" />
<ClInclude Include="Utils\AsstPlatformPosix.h" />
<ClInclude Include="Utils\AsstPlatformWin32.h" />
<ClInclude Include="Utils\AsstRanges.hpp" />
<ClInclude Include="Utils\AsstTypes.h" />
<ClInclude Include="Utils\AsstUtils.hpp" />
<ClInclude Include="Utils\Logger.hpp" />
<ClInclude Include="Utils\NoWarningCV.h" />
<ClInclude Include="Utils\NoWarningCVMat.h" />
<ClInclude Include="Utils\SafeWindows.h" />
<ClInclude Include="Utils\SingletonHolder.hpp" />
<ClInclude Include="Utils\Version.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Assistant.cpp" />
<ClCompile Include="AsstCaller.cpp" />
<ClCompile Include="Controller.cpp" />
<ClCompile Include="ImageAnalyzer\BattleImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\CreditShopImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\DepotImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\InfrastClueImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\InfrastClueVacancyImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\InfrastFacilityImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\InfrastOperImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\InfrastSmileyImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\ProcessTaskImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\RecruitImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\RoguelikeFormationImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\RoguelikeRecruitImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\RoguelikeSkillSelectionImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\StageDropsImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\General\AbstractImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\General\HashImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\General\MatchImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\General\MultiMatchImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\General\OcrImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\General\OcrWithFlagTemplImageAnalyzer.cpp" />
<ClCompile Include="ImageAnalyzer\General\OcrWithPreprocessImageAnalyzer.cpp" />
<ClCompile Include="ResourceLoader.cpp" />
<ClCompile Include="Resource\AbstractConfiger.cpp" />
<ClCompile Include="Resource\BattleDataConfiger.cpp" />
<ClCompile Include="Resource\CopilotConfiger.cpp" />
<ClCompile Include="Resource\GeneralConfiger.cpp" />
<ClCompile Include="Resource\InfrastConfiger.cpp" />
<ClCompile Include="Resource\ItemConfiger.cpp" />
<ClCompile Include="Resource\OcrPack.cpp" />
<ClCompile Include="Resource\RecruitConfiger.cpp" />
<ClCompile Include="Resource\RoguelikeCopilotConfiger.cpp" />
<ClCompile Include="Resource\RoguelikeRecruitConfiger.cpp" />
<ClCompile Include="Resource\RoguelikeShoppingConfiger.cpp" />
<ClCompile Include="Resource\StageDropsConfiger.cpp" />
<ClCompile Include="Resource\TemplResource.cpp" />
<ClCompile Include="Resource\TilePack.cpp" />
<ClCompile Include="RuntimeStatus.cpp" />
<ClCompile Include="TaskData.cpp" />
<ClCompile Include="Task\AwardTask.cpp" />
<ClCompile Include="Task\CloseDownTask.cpp" />
<ClCompile Include="Task\CopilotTask.cpp" />
<ClCompile Include="Task\DebugTask.cpp" />
<ClCompile Include="Task\DepotTask.cpp" />
<ClCompile Include="Task\FightTask.cpp" />
<ClCompile Include="Task\InfrastTask.cpp" />
<ClCompile Include="Task\MallTask.cpp" />
<ClCompile Include="Task\PackageTask.cpp" />
<ClCompile Include="Task\Plugin\AbstractTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\DrGrandetTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\DronesForShamareTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\GameCrashRestartTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\ReplenishOriginiumShardTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\RoguelikeBattleTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\RoguelikeControlTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\RoguelikeCustomStartTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\RoguelikeDebugTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\RoguelikeFormationTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\RoguelikeRecruitTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\RoguelikeResetTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\RoguelikeShoppingTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\RoguelikeSkillSelectionTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\StageDropsTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\StartGameTaskPlugin.cpp" />
<ClCompile Include="Task\Plugin\StopGameTaskPlugin.cpp" />
<ClCompile Include="Task\RecruitTask.cpp" />
<ClCompile Include="Task\RoguelikeTask.cpp" />
<ClCompile Include="Task\StartUpTask.cpp" />
<ClCompile Include="Task\Sub\AbstractTask.cpp" />
<ClCompile Include="Task\Sub\AutoRecruitTask.cpp" />
<ClCompile Include="Task\Sub\BattleFormationTask.cpp" />
<ClCompile Include="Task\Sub\BattleProcessTask.cpp" />
<ClCompile Include="Task\Sub\CreditShoppingTask.cpp" />
<ClCompile Include="Task\Sub\DepotRecognitionTask.cpp" />
<ClCompile Include="Task\Sub\InfrastAbstractTask.cpp" />
<ClCompile Include="Task\Sub\InfrastControlTask.cpp" />
<ClCompile Include="Task\Sub\InfrastDormTask.cpp" />
<ClCompile Include="Task\Sub\InfrastInfoTask.cpp" />
<ClCompile Include="Task\Sub\InfrastMfgTask.cpp" />
<ClCompile Include="Task\Sub\InfrastOfficeTask.cpp" />
<ClCompile Include="Task\Sub\InfrastPowerTask.cpp" />
<ClCompile Include="Task\Sub\InfrastProductionTask.cpp" />
<ClCompile Include="Task\Sub\InfrastReceptionTask.cpp" />
<ClCompile Include="Task\Sub\InfrastTradeTask.cpp" />
<ClCompile Include="Task\Sub\ProcessTask.cpp" />
<ClCompile Include="Task\Sub\ReportDataTask.cpp" />
<ClCompile Include="Task\Sub\StageNavigationTask.cpp" />
<ClCompile Include="Task\VisitTask.cpp" />
<ClCompile Include="Utils\AsstPlatformPosix.cpp" />
<ClCompile Include="Utils\AsstPlatformWin32.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
@@ -260,13 +261,13 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(ProjectDir)..\..\include;$(ProjectDir)..\..\3rdparty\include;$(IncludePath)</IncludePath>
<IncludePath>$(ProjectDir)..\..\include;$(ProjectDir)..\..\3rdparty\include;$(ProjectDir);</IncludePath>
<LibraryPath>$(TargetDir);$(ProjectDir)..\..\3rdparty\lib;$(LibraryPath)</LibraryPath>
<OutDir>$(ProjectDir)..\..\$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(ProjectDir)..\..\include;$(ProjectDir)..\..\3rdparty\include;$(IncludePath)</IncludePath>
<IncludePath>$(ProjectDir)..\..\include;$(ProjectDir)..\..\3rdparty\include;$(ProjectDir);</IncludePath>
<LibraryPath>$(TargetDir);$(ProjectDir)..\..\3rdparty\lib;$(LibraryPath)</LibraryPath>
<OutDir>$(ProjectDir)..\..\$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
#include <meojson/json.hpp>
#include "ProcessTask.h"
#include "Task/Sub/ProcessTask.h"
#include "TaskData.h"
asst::PipelineTask::PipelineTask(const AsstCallback& callback, void* callback_arg)

View File

@@ -1,5 +1,5 @@
#pragma once
#include "PackageTask.h"
#include "Task/PackageTask.h"
namespace asst
{

View File

@@ -2,8 +2,8 @@
#include <meojson/json.hpp>
#include "AsstUtils.hpp"
#include "Logger.hpp"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
bool asst::AbstractConfiger::load(const std::filesystem::path& path)
{

View File

@@ -2,7 +2,7 @@
#include <filesystem>
#include "SingletonHolder.hpp"
#include "Utils/SingletonHolder.hpp"
namespace asst
{

View File

@@ -1,6 +1,6 @@
#include "BattleDataConfiger.h"
#include "AsstRanges.hpp"
#include "Utils/AsstRanges.hpp"
#include <meojson/json.hpp>
bool asst::BattleDataConfiger::parse(const json::value& json)

View File

@@ -4,7 +4,7 @@
#include <unordered_map>
#include "AsstBattleDef.h"
#include "AsstTypes.h"
#include "Utils/AsstTypes.h"
namespace asst
{

View File

@@ -2,7 +2,7 @@
#include <meojson/json.hpp>
#include "Logger.hpp"
#include "Utils/Logger.hpp"
bool asst::CopilotConfiger::parse(const json::value& json)
{

View File

@@ -1,6 +1,6 @@
#include "GeneralConfiger.h"
#include "Logger.hpp"
#include "Utils/Logger.hpp"
#include <meojson/json.hpp>
bool asst::GeneralConfiger::parse(const json::value& json)

View File

@@ -7,7 +7,7 @@
#include <string>
#include <unordered_map>
#include "AsstTypes.h"
#include "Utils/AsstTypes.h"
namespace asst
{

View File

@@ -2,7 +2,7 @@
#include <meojson/json.hpp>
#include "Logger.hpp"
#include "Utils/Logger.hpp"
bool asst::InfrastConfiger::parse(const json::value& json)
{

View File

@@ -4,7 +4,7 @@
#include <unordered_map>
#include <unordered_set>
#include "AsstInfrastDef.h"
#include "Utils/AsstInfrastDef.h"
namespace asst
{

View File

@@ -1,9 +1,9 @@
#include "ItemConfiger.h"
#include "AsstRanges.hpp"
#include "Utils/AsstRanges.hpp"
#include <meojson/json.hpp>
#include "Logger.hpp"
#include "Utils/Logger.hpp"
bool asst::ItemConfiger::parse(const json::value& json)
{

View File

@@ -2,15 +2,15 @@
#include <filesystem>
#include "NoWarningCV.h"
#include "Utils/NoWarningCV.h"
#include <PaddleOCR/paddle_ocr.h>
#include "AsstUtils.hpp"
#include "Logger.hpp"
#include "Utils/AsstUtils.hpp"
#include "Utils/Logger.hpp"
#ifdef _WIN32
#include "AsstPlatformWin32.h"
#include "SafeWindows.h"
#include "Utils/AsstPlatformWin32.h"
#include "Utils/SafeWindows.h"
#include <format>
static std::filesystem::path prepare_paddle_dir(const std::filesystem::path& dir, bool* is_temp);
#else

View File

@@ -3,7 +3,7 @@
#include <functional>
#include "AsstTypes.h"
#include "Utils/AsstTypes.h"
namespace cv
{

View File

@@ -4,7 +4,7 @@
#include <meojson/json.hpp>
#include "Logger.hpp"
#include "Utils/Logger.hpp"
std::string asst::RecruitConfiger::get_tag_name(const TagId& id) const noexcept
{

View File

@@ -2,14 +2,14 @@
#include "AbstractConfiger.h"
#include "AsstRanges.hpp"
#include "Utils/AsstRanges.hpp"
#include <algorithm>
#include <numeric>
#include <string>
#include <unordered_set>
#include <vector>
#include "AsstTypes.h"
#include "Utils/AsstTypes.h"
namespace asst
{
@@ -83,6 +83,7 @@ namespace asst
{
public:
using TagId = std::string;
public:
virtual ~RecruitConfiger() override = default;
static constexpr int CorrectNumberOfTags = 5;

View File

@@ -0,0 +1,66 @@
#include "RoguelikeCopilotConfiger.h"
#include <meojson/json.hpp>
#include "Utils/Logger.hpp"
std::optional<asst::RoguelikeBattleData> asst::RoguelikeCopilotConfiger::get_stage_data(
const std::string& stage_name) const
{
auto it = m_stage_data.find(stage_name);
if (it == m_stage_data.end()) {
return std::nullopt;
}
return it->second;
}
bool asst::RoguelikeCopilotConfiger::parse(const json::value& json)
{
for (const auto& stage_info : json.as_array()) {
std::string stage_name = stage_info.at("stage_name").as_string();
RoguelikeBattleData data;
data.stage_name = stage_name;
if (auto opt = stage_info.find<json::array>("replacement_home")) {
for (auto& point : opt.value()) {
ReplacementHome home;
home.location = Point(point["location"][0].as_integer(), point["location"][1].as_integer());
static const std::unordered_map<std::string, BattleDeployDirection> DeployDirectionMapping = {
{ "Right", BattleDeployDirection::Right }, { "RIGHT", BattleDeployDirection::Right },
{ "right", BattleDeployDirection::Right }, { "", BattleDeployDirection::Right },
{ "Left", BattleDeployDirection::Left }, { "LEFT", BattleDeployDirection::Left },
{ "left", BattleDeployDirection::Left }, { "", BattleDeployDirection::Left },
{ "Up", BattleDeployDirection::Up }, { "UP", BattleDeployDirection::Up },
{ "up", BattleDeployDirection::Up }, { "", BattleDeployDirection::Up },
{ "Down", BattleDeployDirection::Down }, { "DOWN", BattleDeployDirection::Down },
{ "down", BattleDeployDirection::Down }, { "", BattleDeployDirection::Down },
{ "None", BattleDeployDirection::None }, { "NONE", BattleDeployDirection::None },
{ "none", BattleDeployDirection::None }, { "", BattleDeployDirection::None },
};
const std::string& direction_str = point.get("direction", "none");
if (auto iter = DeployDirectionMapping.find(direction_str); iter != DeployDirectionMapping.end()) {
home.direction = iter->second;
}
else {
home.direction = BattleDeployDirection::None;
}
data.replacement_home.emplace_back(std::move(home));
}
}
if (auto opt = stage_info.find<json::array>("blacklist_location")) {
for (auto& point : opt.value()) {
data.blacklist_location.emplace(point[0].as_integer(), point[1].as_integer());
}
}
if (auto opt = stage_info.find<json::array>("key_kills")) {
for (const auto& key_kill : opt.value()) {
data.key_kills.emplace_back(static_cast<int>(key_kill));
}
}
m_stage_data.emplace(std::move(stage_name), std::move(data));
}
return true;
}

Some files were not shown because too many files have changed in this diff Show More