diff --git a/src/Golang/MaaAssistantArknights/maa/task.go b/src/Golang/MaaAssistantArknights/maa/task.go
index 5946065a82..5c06cd3284 100644
--- a/src/Golang/MaaAssistantArknights/maa/task.go
+++ b/src/Golang/MaaAssistantArknights/maa/task.go
@@ -26,8 +26,6 @@ func (t TaskType) String() string {
return "Recruit"
case Infrast:
return "Infrast"
- case Visit:
- return "Visit"
case Mall:
return "Mall"
case Award:
@@ -48,7 +46,6 @@ var TaskFixed = map[string]TaskType{
"Fight": Fight,
"Recruit": Recruit,
"Infrast": Infrast,
- "Visit": Visit,
"Mall": Mall,
"Award": Award,
"Roguelike": Roguelike,
diff --git a/src/MeoAssistant/Assistant.cpp b/src/MeoAssistant/Assistant.cpp
index 020a3e0b61..9729c75495 100644
--- a/src/MeoAssistant/Assistant.cpp
+++ b/src/MeoAssistant/Assistant.cpp
@@ -19,7 +19,6 @@
#include "Task/Interface/RecruitTask.h"
#include "Task/Interface/RoguelikeTask.h"
#include "Task/Interface/StartUpTask.h"
-#include "Task/Interface/VisitTask.h"
#ifdef ASST_DEBUG
#include "Task/Interface/DebugTask.h"
#endif
@@ -119,7 +118,6 @@ asst::Assistant::TaskId asst::Assistant::append_task(const std::string& type, co
ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(StartUpTask)
ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(CloseDownTask)
ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(AwardTask)
- ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(VisitTask)
ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(MallTask)
ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(InfrastTask)
ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(RecruitTask)
diff --git a/src/MeoAssistant/MeoAssistant.vcxproj b/src/MeoAssistant/MeoAssistant.vcxproj
index d603c6e50d..f41e9a5d5d 100644
--- a/src/MeoAssistant/MeoAssistant.vcxproj
+++ b/src/MeoAssistant/MeoAssistant.vcxproj
@@ -94,7 +94,6 @@
-
@@ -205,7 +204,6 @@
-
diff --git a/src/MeoAssistant/MeoAssistant.vcxproj.filters b/src/MeoAssistant/MeoAssistant.vcxproj.filters
index 074b222f84..793534b597 100644
--- a/src/MeoAssistant/MeoAssistant.vcxproj.filters
+++ b/src/MeoAssistant/MeoAssistant.vcxproj.filters
@@ -255,9 +255,6 @@
源文件\Task\Interface
-
- 源文件\Task\Interface
-
源文件\Utils
@@ -581,9 +578,6 @@
源文件\Task\Interface
-
- 源文件\Task\Interface
-
源文件\Utils\Platform
diff --git a/src/MeoAssistant/Task/Interface/MallTask.cpp b/src/MeoAssistant/Task/Interface/MallTask.cpp
index 6caa8ad2c8..55a9aff04a 100644
--- a/src/MeoAssistant/Task/Interface/MallTask.cpp
+++ b/src/MeoAssistant/Task/Interface/MallTask.cpp
@@ -1,20 +1,26 @@
#include "MallTask.h"
+#include "Task/Miscellaneous/CreditFightTask.h"
#include "Task/Miscellaneous/CreditShoppingTask.h"
#include "Task/ProcessTask.h"
asst::MallTask::MallTask(const AsstCallback& callback, void* callback_arg)
: InterfaceTask(callback, callback_arg, TaskType),
+ m_visit_task_ptr(std::make_shared(m_callback, m_callback_arg, TaskType)),
+ m_credit_fight_task_ptr(std::make_shared(callback, callback_arg, TaskType)),
m_mall_task_ptr(std::make_shared(callback, callback_arg, TaskType)),
m_shopping_first_task_ptr(std::make_shared(callback, callback_arg, TaskType)),
m_shopping_task_ptr(std::make_shared(callback, callback_arg, TaskType)),
m_shopping_force_task_ptr(std::make_shared(callback, callback_arg, TaskType))
{
+ m_visit_task_ptr->set_tasks({ "VisitBegin" });
m_mall_task_ptr->set_tasks({ "MallBegin" });
m_shopping_first_task_ptr->set_enable(false).set_retry_times(1);
m_shopping_task_ptr->set_enable(false).set_retry_times(1);
m_shopping_force_task_ptr->set_enable(false).set_retry_times(1);
+ m_subtasks.emplace_back(m_visit_task_ptr);
+ m_subtasks.emplace_back(m_credit_fight_task_ptr);
m_subtasks.emplace_back(m_mall_task_ptr);
m_subtasks.emplace_back(m_shopping_first_task_ptr);
m_subtasks.emplace_back(m_shopping_task_ptr);
@@ -75,5 +81,11 @@ bool asst::MallTask::set_params(const json::value& params)
m_shopping_task_ptr->set_enable(false);
m_shopping_force_task_ptr->set_enable(false);
}
+
+ if (!m_running) {
+ bool credit_fight = params.get("credit_fight", false);
+ m_credit_fight_task_ptr->set_enable(credit_fight);
+ }
+
return true;
}
diff --git a/src/MeoAssistant/Task/Interface/MallTask.h b/src/MeoAssistant/Task/Interface/MallTask.h
index 284cac11c2..f8060f0a86 100644
--- a/src/MeoAssistant/Task/Interface/MallTask.h
+++ b/src/MeoAssistant/Task/Interface/MallTask.h
@@ -4,6 +4,7 @@
namespace asst
{
class ProcessTask;
+ class CreditFightTask;
class CreditShoppingTask;
class MallTask final : public InterfaceTask
@@ -17,6 +18,8 @@ namespace asst
virtual bool set_params(const json::value& params) override;
private:
+ std::shared_ptr m_visit_task_ptr = nullptr;
+ std::shared_ptr m_credit_fight_task_ptr = nullptr;
std::shared_ptr m_mall_task_ptr = nullptr;
std::shared_ptr m_shopping_first_task_ptr = nullptr;
std::shared_ptr m_shopping_task_ptr = nullptr;
diff --git a/src/MeoAssistant/Task/Interface/VisitTask.cpp b/src/MeoAssistant/Task/Interface/VisitTask.cpp
deleted file mode 100644
index dea533cd3d..0000000000
--- a/src/MeoAssistant/Task/Interface/VisitTask.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "VisitTask.h"
-
-#include
-
-#include "Task/Miscellaneous/CreditFightTask.h"
-#include "Task/ProcessTask.h"
-
-asst::VisitTask::VisitTask(const AsstCallback& callback, void* callback_arg)
- : InterfaceTask(callback, callback_arg, TaskType),
- m_visit_task_ptr(std::make_shared(m_callback, m_callback_arg, TaskType)),
- m_credit_fight_task_ptr(std::make_shared(callback, callback_arg, TaskType))
-{
- m_visit_task_ptr->set_tasks({ "VisitBegin" });
- m_subtasks.emplace_back(m_visit_task_ptr)->set_ignore_error(false);
- m_subtasks.emplace_back(m_credit_fight_task_ptr);
-}
-
-bool asst::VisitTask::set_params(const json::value& params)
-{
- bool credit_fight = params.get("credit_fight", false);
-
- m_credit_fight_task_ptr->set_enable(credit_fight);
-
- return true;
-}
diff --git a/src/MeoAssistant/Task/Interface/VisitTask.h b/src/MeoAssistant/Task/Interface/VisitTask.h
deleted file mode 100644
index 58a891b33e..0000000000
--- a/src/MeoAssistant/Task/Interface/VisitTask.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#pragma once
-#include "Task/InterfaceTask.h"
-
-namespace asst
-{
- class ProcessTask;
- class CreditFightTask;
-
- class VisitTask final : public InterfaceTask
- {
- public:
- inline static constexpr std::string_view TaskType = "Visit";
-
- VisitTask(const AsstCallback& callback, void* callback_arg);
- virtual ~VisitTask() override = default;
-
- virtual bool set_params(const json::value& params) override;
-
- private:
- std::shared_ptr m_visit_task_ptr = nullptr;
- std::shared_ptr m_credit_fight_task_ptr = nullptr;
- };
-}
diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs
index 80ea33a1a6..45fc40ad15 100644
--- a/src/MeoAsstGui/Helper/AsstProxy.cs
+++ b/src/MeoAsstGui/Helper/AsstProxy.cs
@@ -1133,7 +1133,6 @@ namespace MeoAsstGui
FightRemainingSanity,
Recruit,
Infrast,
- Visit,
Mall,
Award,
Roguelike,
@@ -1261,31 +1260,19 @@ namespace MeoAsstGui
return id != 0 && AsstStart();
}
- ///
- /// 访问好友。
- ///
- /// 是否借助战作战。
- /// 是否成功。
- public bool AsstAppendVisit(bool credit_fight)
- {
- var task_params = new JObject();
- task_params["credit_fight"] = credit_fight;
- AsstTaskId id = AsstAppendTaskWithEncoding("Visit", task_params);
- _latestTaskId[TaskType.Visit] = id;
- return id != 0;
- }
-
///
/// 领取信用及商店购物。
///
+ /// 是否信用战斗。
/// 是否购物。
/// 优先购买列表。
/// 黑名单列表。
/// 是否在信用溢出时无视黑名单
/// 是否成功。
- public bool AsstAppendMall(bool with_shopping, string[] first_list, string[] blacklist, bool force_shopping_if_credit_full)
+ public bool AsstAppendMall(bool credit_fight, bool with_shopping, string[] first_list, string[] blacklist, bool force_shopping_if_credit_full)
{
var task_params = new JObject();
+ task_params["credit_fight"] = credit_fight;
task_params["shopping"] = with_shopping;
task_params["buy_first"] = new JArray { first_list };
task_params["blacklist"] = new JArray { blacklist };
diff --git a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs
index baa2bb48e4..c20fe45641 100644
--- a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs
+++ b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs
@@ -16,7 +16,6 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
-using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
@@ -172,92 +171,17 @@ namespace MeoAsstGui
}
}
- // TODO: Delete this.
-
- ///
- /// Delete old configurations.
- /// Note that this feature ought to be removed in later versions.
- ///
- public void DeleteOldConfig()
- {
- string[] saved_list_name_1 = new string[]
- {
- "WakeUp", "Recruiting", "Base", "Combat", "Visiting", "Mall", "Mission", "AutoRoguelike",
- };
- foreach (var name in saved_list_name_1)
- {
- string local_name = Localization.GetString(name);
- string check = ViewStatusStorage.Get("TaskQueue." + local_name + ".IsChecked", string.Empty);
- string order = ViewStatusStorage.Get("TaskQueue.Order." + local_name, string.Empty);
- if (check != string.Empty)
- {
- ViewStatusStorage.Set("TaskQueue." + name + ".IsChecked", check);
- }
-
- if (order != string.Empty)
- {
- ViewStatusStorage.Set("TaskQueue.Order." + name, order);
- }
- }
-
- string[] saved_list_name_2 = new string[]
- {
- "Mfg", "Trade", "Control", "Power", "Reception", "Office", "Dorm",
- };
- foreach (var name in saved_list_name_2)
- {
- string local_name = Localization.GetString(name);
- string check = ViewStatusStorage.Get("Infrast." + local_name + ".IsChecked", string.Empty);
- string order = ViewStatusStorage.Get("Infrast.Order." + local_name, string.Empty);
- if (check != string.Empty)
- {
- ViewStatusStorage.Set("Infrast." + name + ".IsChecked", check);
- }
-
- if (order != string.Empty)
- {
- ViewStatusStorage.Set("Infrast.Order." + name, order);
- }
- }
-
- string[] old_list_name = new string[]
- {
- "开始唤醒", "自动公招", "基建换班", "刷理智", "访问好友", "收取信用及购物", "领取日常奖励", "自动肉鸽",
- "宿舍", "制造站", "贸易站", "发电站", "会客室", "办公室", "控制中枢",
- "開始喚醒", "自動公招", "基建換班", "刷理智", "訪問好友", "收取信用及購物", "領取日常獎勵", "自動肉鴿",
- "宿舍", "製造站", "貿易站", "發電站", "會客室", "辦公室", "控制中樞",
- "ウェイクアップ", "公開求人", "基地仕事", "作戦", "戦友訪問", "FP交換", "報酬受取", "自動ローグ",
- "宿舎", "製造所", "貿易所", "発電所", "応接室", "事務所", "制御中枢",
- "웨이크업", "공개모집", "기반시설 교대", "작전", "친구 방문", "상점", "일일 퀘스트 보상을 수집", "통합전략",
- "숙소", "제조소", "무역소", "발전소", "응접실", "사무실", "제어 센터",
- "🍸💃💃", "🍸🍺🍻", "🍺🍸🍺", "🍸🍷", "🍺🍸🍷", "🍻🍺🍸🍻", "🍺🍸🕺🍸", "🍺🍸🍸",
- "🍻💃", "🕺🍺", "🍺🍺", "🍺🍸", "🍺🍻", "🕺🍸", "🍻🍸🍻",
- "Login", "Recruit", "Visit Friends", "Credit Store", "Collect mission rewards", "Auto I.S.",
- "Manufacturing Station", "Trade Post", "Power Station", "Reception Room", "Control Center",
- };
- foreach (var name in old_list_name)
- {
- ViewStatusStorage.Delete("TaskQueue." + name + ".IsChecked");
- ViewStatusStorage.Delete("TaskQueue.Order." + name);
- ViewStatusStorage.Delete("Infrast." + name + ".IsChecked");
- ViewStatusStorage.Delete("Infrast.Order." + name);
- }
- }
-
///
/// Initializes items.
///
public void InitializeItems()
{
- DeleteOldConfig();
-
string[] task_list = new string[]
{
"WakeUp",
"Recruiting",
"Base",
"Combat",
- "Visiting",
"Mall",
"Mission",
"AutoRoguelike",
@@ -285,7 +209,7 @@ namespace MeoAsstGui
var vm = new DragItemViewModel(Localization.GetString(task), task, "TaskQueue.");
- if (!parsed || order < 0)
+ if (!parsed || order < 0 || order >= temp_order_list.Count)
{
non_order_list.Add(vm);
}
@@ -698,10 +622,6 @@ namespace MeoAsstGui
{
ret &= appendRecruit();
}
- else if (item.OriginalName == "Visiting")
- {
- ret &= appendVisit();
- }
else if (item.OriginalName == "Mall")
{
ret &= appendMall();
@@ -905,14 +825,6 @@ namespace MeoAsstGui
settings.CustomInfrastEnabled, settings.CustomInfrastFile, CustomInfrastPlanIndex);
}
- private bool appendVisit()
- {
- var settings = _container.Get();
- var asstProxy = _container.Get();
-
- return asstProxy.AsstAppendVisit(settings.CreditFightTaskEnabled);
- }
-
private bool appendMall()
{
var settings = _container.Get();
@@ -929,7 +841,7 @@ namespace MeoAsstGui
black_list[i] = black_list[i].Trim();
}
- return asstProxy.AsstAppendMall(settings.CreditShopping, buy_first, black_list, settings.CreditForceShoppingIfCreditFull);
+ return asstProxy.AsstAppendMall(settings.CreditFightTaskEnabled, settings.CreditShopping, buy_first, black_list, settings.CreditForceShoppingIfCreditFull);
}
private bool appendRecruit()
diff --git a/tools/TestCaller/main.cpp b/tools/TestCaller/main.cpp
index 50ec9790e8..dcd52875aa 100644
--- a/tools/TestCaller/main.cpp
+++ b/tools/TestCaller/main.cpp
@@ -68,8 +68,6 @@ int main([[maybe_unused]] int argc, char** argv)
}
)");
- AsstAppendTask(ptr, "Visit", nullptr);
-
AsstAppendTask(ptr, "Mall", R"(
{
"shopping": true,