mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-16 01:40:46 +08:00
feat: 萨米肉鸽增加凹远见密文板
This commit is contained in:
@@ -100,6 +100,9 @@ bool asst::RoguelikeTask::set_params(const json::value& params)
|
||||
// 是否凹指定干员开局直升
|
||||
m_roguelike_config_ptr->set_start_with_elite_two(params.get("start_with_elite_two", false));
|
||||
m_roguelike_config_ptr->set_only_start_with_elite_two(params.get("only_start_with_elite_two", false));
|
||||
// 是否凹开局远见密文板
|
||||
m_roguelike_config_ptr->set_first_floor_foldartal(params.contains("first_floor_foldartal"));
|
||||
m_roguelike_config_ptr->set_start_floor_foldartal(params.get("first_floor_foldartal", ""));
|
||||
|
||||
// 是否生活队凹开局板子
|
||||
m_roguelike_config_ptr->set_start_foldartal(params.contains("start_foldartal_list"));
|
||||
|
||||
@@ -55,6 +55,10 @@ namespace asst
|
||||
bool get_start_with_elite_two() const { return m_start_with_elite_two; }
|
||||
void set_only_start_with_elite_two(bool value) { m_only_start_with_elite_two = value; }
|
||||
bool get_only_start_with_elite_two() const { return m_only_start_with_elite_two; }
|
||||
void set_first_floor_foldartal(bool first_floor_foldartal) { m_first_floor_foldartal = first_floor_foldartal; }
|
||||
bool get_first_floor_foldartal() const { return m_first_floor_foldartal; }
|
||||
void set_start_floor_foldartal(std::string value) { m_start_floor_foldartal = value; }
|
||||
std::string get_start_floor_foldartal() const { return m_start_floor_foldartal; }
|
||||
void set_start_foldartal(bool start_foldartal) { m_start_foldartal = start_foldartal; }
|
||||
bool get_start_foldartal() const { return m_start_foldartal; }
|
||||
void set_start_foldartal_list(std::vector<std::string> string) { m_start_foldartal_list = string; }
|
||||
@@ -70,6 +74,8 @@ namespace asst
|
||||
int m_difficulty = 0; // 难度
|
||||
bool m_start_with_elite_two = false; // 在刷开局模式下凹开局干员精二直升
|
||||
bool m_only_start_with_elite_two = false; // 只凹开局干员精二直升且不进行作战
|
||||
bool m_first_floor_foldartal = false; // 凹远见密文板
|
||||
std::string m_start_floor_foldartal; // 需要凹的远见
|
||||
bool m_start_foldartal = false; // 生活队凹开局密文板
|
||||
std::vector<std::string> m_start_foldartal_list; // 需要凹的板子
|
||||
int m_invest_maximum = 0; // 投资次数上限
|
||||
@@ -101,16 +107,16 @@ namespace asst
|
||||
const std::vector<std::string>& get_foldartal() const { return m_foldartal; }
|
||||
|
||||
private:
|
||||
int m_recruitment_count = 0; // 招募次数
|
||||
bool m_recruitment_starts_complete = false; // 开局干员是否已经招募
|
||||
bool m_recruitment_team_complete = false; // 阵容是否完备
|
||||
bool m_trader_no_longer_buy = false; // 不再购买藏品
|
||||
std::string m_core_char; // 开局干员名
|
||||
bool m_team_full_without_rookie = false;
|
||||
int m_recruitment_count = 0; // 招募次数
|
||||
bool m_recruitment_starts_complete = false; // 开局干员是否已经招募
|
||||
bool m_recruitment_team_complete = false; // 阵容是否完备
|
||||
bool m_trader_no_longer_buy = false; // 不再购买藏品
|
||||
std::string m_core_char; // 开局干员名
|
||||
bool m_team_full_without_rookie = false; // 编队内没有预干员
|
||||
bool m_use_support = false; // 开局干员是否为助战干员
|
||||
bool m_use_nonfriend_support = false; // 是否可以是非好友助战干员
|
||||
std::unordered_map<std::string, RoguelikeOper> m_oper; // 干员精英&等级
|
||||
std::optional<std::string> m_foldartal_floor; // 当前层的预见密文板,在下一层获得
|
||||
std::vector<std::string> m_foldartal; // 所有密文板
|
||||
std::vector<std::string> m_foldartal; // 所有已获得密文板
|
||||
};
|
||||
} // namespace asst
|
||||
|
||||
@@ -37,9 +37,9 @@ bool asst::RoguelikeDifficultySelectionTaskPlugin::_run()
|
||||
|
||||
// 当前难度
|
||||
int difficulty = m_config->get_difficulty();
|
||||
// 是否只凹直升
|
||||
bool only_start_with_elite_two = m_config->get_only_start_with_elite_two();
|
||||
if (m_config->get_theme() != RoguelikeTheme::Phantom && mode == RoguelikeMode::Collectible && !only_start_with_elite_two) {
|
||||
// 是否不进行作战
|
||||
bool no_battle = m_config->get_only_start_with_elite_two() || m_config->get_first_floor_foldartal();
|
||||
if (m_config->get_theme() != RoguelikeTheme::Phantom && mode == RoguelikeMode::Collectible && !no_battle) {
|
||||
if (difficulty == INT_MAX) {
|
||||
ProcessTask(*this, { m_config->get_theme() + "@Roguelike@ChooseDifficulty_Hardest" }).run();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "Controller/Controller.h"
|
||||
#include "Status.h"
|
||||
#include "Task/ProcessTask.h"
|
||||
#include "Utils/Logger.hpp"
|
||||
#include "Vision/OCRer.h"
|
||||
|
||||
@@ -78,7 +79,26 @@ void asst::RoguelikeFoldartalGainTaskPlugin::enter_next_floor()
|
||||
OCRer analyzer(ctrler()->get_image());
|
||||
analyzer.set_task_info(m_config->get_theme() + "@Roguelike@FoldartalGainOcrNextLevel");
|
||||
if (analyzer.analyze()) {
|
||||
foldartal_floor = analyzer.get_result().front().text;
|
||||
std::string foldartar_will_get_next_floor = analyzer.get_result().front().text;
|
||||
foldartal_floor = foldartar_will_get_next_floor;
|
||||
auto info = basic_info_with_what("FoldartalGainOcrNextLevel");
|
||||
info["details"]["foldartal"] = foldartar_will_get_next_floor;
|
||||
callback(AsstMsg::SubTaskExtraInfo, info);
|
||||
|
||||
if (m_config->get_first_floor_foldartal()) {
|
||||
Log.info("Foldartal will get next floor:", foldartar_will_get_next_floor);
|
||||
if (foldartar_will_get_next_floor == m_config->get_start_floor_foldartal()) {
|
||||
m_task_ptr->set_enable(false);
|
||||
}
|
||||
else {
|
||||
ProcessTask(*this, { m_config->get_theme() + "@Roguelike@NextLevel" })
|
||||
.set_times_limit("Roguelike@StrategyChange", 0)
|
||||
.run();
|
||||
ProcessTask(*this, { m_config->get_theme() + "@Roguelike@ExitThenAbandon" })
|
||||
.set_times_limit("Roguelike@Abandon", 0)
|
||||
.run();
|
||||
}
|
||||
}
|
||||
}
|
||||
m_config->set_foldartal_floor(std::move(foldartal_floor));
|
||||
}
|
||||
|
||||
@@ -105,6 +105,8 @@ namespace MaaWpfGui.Constants
|
||||
public const string RoguelikeCoreChar = "Roguelike.CoreChar";
|
||||
public const string RoguelikeStartWithEliteTwo = "Roguelike.RoguelikeStartWithEliteTwo";
|
||||
public const string RoguelikeOnlyStartWithEliteTwo = "Roguelike.RoguelikeOnlyStartWithEliteTwo";
|
||||
public const string Roguelike3FirstFloorFoldartal = "Roguelike.Roguelike3FirstFloorFoldartal";
|
||||
public const string Roguelike3StartFloorFoldartal = "Roguelike.Roguelike3StartFloorFoldartal";
|
||||
public const string Roguelike3NewSquad2StartingFoldartal = "Roguelike.Roguelike3NewSquad2StartingFoldartal";
|
||||
public const string Roguelike3NewSquad2StartingFoldartals = "Roguelike.Roguelike3NewSquad2StartingFoldartals";
|
||||
public const string RoguelikeUseSupportUnit = "Roguelike.RoguelikeUseSupportUnit";
|
||||
|
||||
@@ -1237,6 +1237,10 @@ namespace MaaWpfGui.Main
|
||||
Instances.TaskQueueViewModel.AddLog(LocalizationHelper.GetString("RoguelikeEvent") + $" {subTaskDetails["name"]}");
|
||||
break;
|
||||
|
||||
case "FoldartalGainOcrNextLevel":
|
||||
Instances.TaskQueueViewModel.AddLog(LocalizationHelper.GetString("FoldartalGainOcrNextLevel") + $" {subTaskDetails["foldartal"]}");
|
||||
break;
|
||||
|
||||
case "PenguinId":
|
||||
{
|
||||
string id = subTaskDetails["id"]?.ToString();
|
||||
@@ -2039,6 +2043,8 @@ namespace MaaWpfGui.Main
|
||||
/// <param name="coreChar"><paramref name="coreChar"/> TODO.</param>
|
||||
/// <param name="startWithEliteTwo">是否凹开局直升</param>
|
||||
/// <param name="onlyStartWithEliteTwo">是否只凹开局直升,不进行作战</param>
|
||||
/// <param name="roguelike3FirstFloorFoldartal">凹第一层远见板子</param>
|
||||
/// <param name="roguelike3StartFloorFoldartal">需要凹的板子</param>
|
||||
/// <param name="roguelike3NewSquad2StartingFoldartal">是否在萨米肉鸽生活队凹开局板子</param>
|
||||
/// <param name="roguelike3NewSquad2StartingFoldartals">需要凹的板子,用;连接的字符串</param>
|
||||
/// <param name="useSupport">是否core_char使用好友助战</param>
|
||||
@@ -2047,7 +2053,9 @@ namespace MaaWpfGui.Main
|
||||
/// <param name="refreshTraderWithDice">是否用骰子刷新商店购买特殊商品,目前支持水月肉鸽的指路鳞</param>
|
||||
/// <returns>是否成功。</returns>
|
||||
public bool AsstAppendRoguelike(int mode, int starts, bool investmentEnabled, bool investmentEnterSecondFloor, int invests, bool stopWhenFull,
|
||||
string squad, string roles, string coreChar, bool startWithEliteTwo, bool onlyStartWithEliteTwo, bool roguelike3NewSquad2StartingFoldartal, string roguelike3NewSquad2StartingFoldartals, bool useSupport, bool enableNonFriendSupport, string theme, bool refreshTraderWithDice)
|
||||
string squad, string roles, string coreChar, bool startWithEliteTwo, bool onlyStartWithEliteTwo, bool roguelike3FirstFloorFoldartal,
|
||||
string roguelike3StartFloorFoldartal, bool roguelike3NewSquad2StartingFoldartal, string roguelike3NewSquad2StartingFoldartals,
|
||||
bool useSupport, bool enableNonFriendSupport, string theme, bool refreshTraderWithDice)
|
||||
{
|
||||
var taskParams = new JObject
|
||||
{
|
||||
@@ -2081,6 +2089,11 @@ namespace MaaWpfGui.Main
|
||||
|
||||
taskParams["start_with_elite_two"] = mode == 4 && theme != "Phantom" && startWithEliteTwo;
|
||||
taskParams["only_start_with_elite_two"] = mode == 4 && theme != "Phantom" && startWithEliteTwo && onlyStartWithEliteTwo;
|
||||
if (mode == 4 && theme == "Sami" && roguelike3FirstFloorFoldartal && roguelike3StartFloorFoldartal.Length > 0)
|
||||
{
|
||||
taskParams["first_floor_foldartal"] = roguelike3StartFloorFoldartal;
|
||||
}
|
||||
|
||||
if (mode == 4 && theme == "Sami" && roguelike3NewSquad2StartingFoldartal && roguelike3NewSquad2StartingFoldartals.Length > 0)
|
||||
{
|
||||
taskParams["start_foldartal_list"] = new JArray(roguelike3NewSquad2StartingFoldartals.Trim().Split(';').Where(i => !string.IsNullOrEmpty(i)).Take(3));
|
||||
|
||||
@@ -115,6 +115,7 @@
|
||||
<system:String x:Key="RoguelikeStartingCoreCharNotFound">The agent entered「{0}」is not in battle_data. Check that the name entered is correct, or check the maa resource version.</system:String>
|
||||
<system:String x:Key="RoguelikeStartWithEliteTwo">Repeat for「Starting Operator」Elite 2</system:String>
|
||||
<system:String x:Key="RoguelikeOnlyStartWithEliteTwo">Only Repeat for「Starting Operator」Elite 2, No Battle</system:String>
|
||||
<system:String x:Key="Roguelike3FirstFloorFoldartal">Repeat for foldartal foreseed first floor,No Battle</system:String>
|
||||
<!--<system:String x:Key="Roguelike3NewSquad2StartingFoldartal">生活队凹开局密文板</system:String>
|
||||
<system:String x:Key="Roguelike3NewSquad2StartingFoldartalTip">Write up to three and Separate with ; </system:String>-->
|
||||
<system:String x:Key="RoguelikeUseSupportUnit">Select 「Starting Operator」 from support unit list</system:String>
|
||||
@@ -606,7 +607,7 @@ The video aspect ratio needs to be 16:9 without interference factors such as bla
|
||||
<system:String x:Key="DropRecognitionError">Drops recognition error</system:String>
|
||||
<system:String x:Key="GiveUpUploadingPenguins">Abort upload to Penguin Statistics</system:String>
|
||||
<system:String x:Key="TheEx">No bonus stage, stopped</system:String>
|
||||
<system:String x:Key="MissingOperators">Operators of the following operator groups are missing: </system:String>
|
||||
<system:String x:Key="MissingOperators">Operators of the following operator groups are missing:</system:String>
|
||||
<system:String x:Key="StageQueue">Stage Queue:</system:String>
|
||||
<system:String x:Key="UnableToAgent">Unable to use PRTS</system:String>
|
||||
<system:String x:Key="MissionStart">Mission started</system:String>
|
||||
@@ -639,6 +640,7 @@ The video aspect ratio needs to be 16:9 without interference factors such as bla
|
||||
<system:String x:Key="EmergencyDps">Node: Emergency Operation</system:String>
|
||||
<system:String x:Key="DreadfulFoe">Node: Dreadful Foe</system:String>
|
||||
<system:String x:Key="RoguelikeEvent">Event:</system:String>
|
||||
<system:String x:Key="FoldartalGainOcrNextLevel">FoldartalForesee:</system:String>
|
||||
<system:String x:Key="RoguelikeInvestment">Invested {1}(+{0}), deposit: {2}</system:String>
|
||||
<system:String x:Key="RoguelikeSettlement">Roguelike Settlement: {0}\nExplore: {1} Floor {2} Step\nCombat: {3} / {4} Emergency / {5} BOSS\nRecruit: {6}\nCollectibles: {7}\nDifficulty: {8}\nScore: {9}\nExp: {10}, Skill: {11}</system:String>
|
||||
<system:String x:Key="CurTimes">Current times</system:String>
|
||||
|
||||
@@ -115,8 +115,9 @@
|
||||
<system:String x:Key="RoguelikeStartingCoreCharNotFound">入力のスタッフ「{0}」がbattle_dataにありません。入力の名前が正しいか、maaリソースのバージョンをチェックしてください。</system:String>
|
||||
<system:String x:Key="RoguelikeStartWithEliteTwo">「最初のオペレーター」直接昇進</system:String>
|
||||
<system:String x:Key="RoguelikeOnlyStartWithEliteTwo">指定オペレーターの昇進招集までリセマラし、戦闘を行わない</system:String>
|
||||
<system:String x:Key="Roguelike3FirstFloorFoldartal">凹第一層遠見暗号文板、戦闘を行わない</system:String>
|
||||
<system:String x:Key="Roguelike3NewSquad2StartingFoldartal">生活重視分隊で開始、指定された啓示板を取得する</system:String>
|
||||
<system:String x:Key="Roguelike3NewSquad2StartingFoldartalTip">最大3つ書き込み、半角セミコロン;で区切る</system:String>
|
||||
<system:String x:Key="Roguelike3NewSquad2StartingFoldartalTip">最大3つ書き込み、半角セミコロン;で区切る</system:String>
|
||||
<system:String x:Key="RoguelikeUseSupportUnit">「最初のオペレーター」をサポートから選択</system:String>
|
||||
<system:String x:Key="RoguelikeUseNonFriendSupport">フレンド以外のサポートの使用を許可</system:String>
|
||||
<system:String x:Key="RoguelikeDelayAbortUntilCombatComplete">戦闘終了まえに「停止」を遅らせる</system:String>
|
||||
@@ -639,6 +640,7 @@ Bilibili: ログイン インターフェイスに表示されるアカウント
|
||||
<system:String x:Key="EmergencyDps">ステージ: 緊急作戦</system:String>
|
||||
<system:String x:Key="DreadfulFoe">ステージ: 悪路凶敵</system:String>
|
||||
<system:String x:Key="RoguelikeEvent">イベント:</system:String>
|
||||
<system:String x:Key="FoldartalGainOcrNextLevel">予見暗号文板:</system:String>
|
||||
<system:String x:Key="RoguelikeInvestment">投資しました: {1}(+{0})、デポジット: {2}</system:String>
|
||||
<system:String x:Key="RoguelikeSettlement">ローグライク決済: {0}\n探検する: {1} 床 {2} ステップ\n戦闘: {3} / {4} 緊急 / {5} BOSS\nリクルート: {6}\nコレクション: {7}\n困難: {8}\nスコア: {9}\n経験値: {10}, スキル: {11}</system:String>
|
||||
<system:String x:Key="CurTimes">現在の回数</system:String>
|
||||
|
||||
@@ -115,6 +115,7 @@
|
||||
<system:String x:Key="RoguelikeStartingCoreCharNotFound">입력한 오퍼레이터 「{0}」는 battle_data에 없습니다. 입력한 이름이 올바른지 확인하거나 MAA 리소스 버전을 확인하세요.</system:String>
|
||||
<system:String x:Key="RoguelikeStartWithEliteTwo">시작 오퍼레이터 2정예화까지 반복</system:String>
|
||||
<system:String x:Key="RoguelikeOnlyStartWithEliteTwo">시작 오퍼레이터 2정예화까지 반복(전투 X)</system:String>
|
||||
<system:String x:Key="Roguelike3FirstFloorFoldartal">오목 1 층 원견 밀문판(전투 X)</system:String>
|
||||
<system:String x:Key="Roguelike3NewSquad2StartingFoldartal">생존지상 분대 목표 암호판 설정</system:String>
|
||||
<system:String x:Key="Roguelike3NewSquad2StartingFoldartalTip">최대 3개까지 지원하며 ";"로 구분합니다</system:String>
|
||||
<system:String x:Key="RoguelikeUseSupportUnit">시작 오퍼레이터로 지원 유닛 사용</system:String>
|
||||
@@ -639,6 +640,7 @@ Bilibili: 로그인 인터페이스에 표시되는 계정 이름(예: 장산)
|
||||
<system:String x:Key="EmergencyDps">레벨: 긴급 작전</system:String>
|
||||
<system:String x:Key="DreadfulFoe">레벨: 험난한 길</system:String>
|
||||
<system:String x:Key="RoguelikeEvent">이벤트:</system:String>
|
||||
<system:String x:Key="FoldartalGainOcrNextLevel">예견 밀문판:</system:String>
|
||||
<system:String x:Key="RoguelikeInvestment">각뿔 투자함: {1}(+{0}), 예금: {2}</system:String>
|
||||
<system:String x:Key="RoguelikeSettlement">로그라이크 종착점: {0}\n클리어 : {1} 구역 {2} 노드\n전투 횟수: {3} 일반 / {4} 정예 / {5} 리더\n모집 횟수 : {6} 회\n수집: {7}\n난이도: {8}\n점수: {9}\n경험치: {10}, 스킬: {11}</system:String>
|
||||
<system:String x:Key="CurTimes">현재 횟수</system:String>
|
||||
|
||||
@@ -115,6 +115,7 @@
|
||||
<system:String x:Key="RoguelikeStartingCoreCharNotFound">输入的干员「{0}」未在 battle_data 中,请检查输入的名称是否正确,或检查 maa 资源版本。</system:String>
|
||||
<system:String x:Key="RoguelikeStartWithEliteTwo">凹「开局干员」直升精二</system:String>
|
||||
<system:String x:Key="RoguelikeOnlyStartWithEliteTwo">只凹「开局干员」直升精二,不进行作战</system:String>
|
||||
<system:String x:Key="Roguelike3FirstFloorFoldartal">凹第一层远见密文板,不进行作战</system:String>
|
||||
<system:String x:Key="Roguelike3NewSquad2StartingFoldartal">生活队凹开局密文板</system:String>
|
||||
<system:String x:Key="Roguelike3NewSquad2StartingFoldartalTip">最多写三个,并用英文分号;隔开</system:String>
|
||||
<system:String x:Key="RoguelikeUseSupportUnit">「开局干员」使用助战</system:String>
|
||||
@@ -639,6 +640,7 @@
|
||||
<system:String x:Key="EmergencyDps">关卡: 紧急作战</system:String>
|
||||
<system:String x:Key="DreadfulFoe">关卡: 险路恶敌</system:String>
|
||||
<system:String x:Key="RoguelikeEvent">事件:</system:String>
|
||||
<system:String x:Key="FoldartalGainOcrNextLevel">预见密文板:</system:String>
|
||||
<system:String x:Key="RoguelikeInvestment">已投资 {1}(+{0}), 存款: {2}</system:String>
|
||||
<system:String x:Key="RoguelikeSettlement">肉鸽结算: {0}\n探索: {1} 层 {2} 步\n战斗: {3}/{4} 紧急/{5} BOSS\n招募: {6} 收藏品: {7}\n难度: {8} 得分: {9}\nExp: {10} Skill: {11}</system:String>
|
||||
<system:String x:Key="CurTimes">当前次数</system:String>
|
||||
|
||||
@@ -115,6 +115,7 @@
|
||||
<system:String x:Key="RoguelikeStartingCoreCharNotFound">輸入的幹員「{0}」未在 battle_data 中,請檢查輸入的名稱是否正確,或檢查 maa 資源版本。</system:String>
|
||||
<system:String x:Key="RoguelikeStartWithEliteTwo">凹「開局幹員」直升精二</system:String>
|
||||
<system:String x:Key="RoguelikeOnlyStartWithEliteTwo">只凹「開局幹員」直升精二,不進行作戰</system:String>
|
||||
<system:String x:Key="Roguelike3FirstFloorFoldartal">凹第一層遠見密文板,不進行作戰</system:String>
|
||||
<system:String x:Key="Roguelike3NewSquad2StartingFoldartal">生活隊凹開局密文板</system:String>
|
||||
<system:String x:Key="Roguelike3NewSquad2StartingFoldartalTip">最多寫三個,並用英文分號;隔開</system:String>
|
||||
<system:String x:Key="RoguelikeUseSupportUnit">「開局幹員」使用助戰</system:String>
|
||||
@@ -637,6 +638,7 @@
|
||||
<system:String x:Key="EmergencyDps">關卡: 緊急作戰</system:String>
|
||||
<system:String x:Key="DreadfulFoe">關卡: 險路惡敵</system:String>
|
||||
<system:String x:Key="RoguelikeEvent">事件:</system:String>
|
||||
<system:String x:Key="FoldartalGainOcrNextLevel">預見密文板:</system:String>
|
||||
<system:String x:Key="RoguelikeInvestment">已投資 {1}(+{0}), 存款: {2}</system:String>
|
||||
<system:String x:Key="RoguelikeSettlement">肉鴿結算: {0}\n探索: {1} 层 {2} 步\n戰鬥: {3}/{4} 緊急/{5} BOSS\n招募: {6} 收藏品: {7}\n難度: {8} 得分: {9}\nExp: {10} Skill: {11}</system:String>
|
||||
<system:String x:Key="CurTimes">目前次數</system:String>
|
||||
|
||||
@@ -1929,6 +1929,33 @@ namespace MaaWpfGui.ViewModels.UI
|
||||
}
|
||||
}
|
||||
|
||||
private string _roguelike3FirstFloorFoldartal = ConfigurationHelper.GetValue(ConfigurationKeys.Roguelike3FirstFloorFoldartal, false.ToString());
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether core char need start with elite two.
|
||||
/// </summary>
|
||||
public bool Roguelike3FirstFloorFoldartal
|
||||
{
|
||||
get => bool.Parse(_roguelike3FirstFloorFoldartal);
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _roguelike3FirstFloorFoldartal, value.ToString());
|
||||
ConfigurationHelper.SetValue(ConfigurationKeys.Roguelike3FirstFloorFoldartal, value.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
private string _roguelike3StartFloorFoldartal = ConfigurationHelper.GetValue(ConfigurationKeys.Roguelike3StartFloorFoldartal, string.Empty);
|
||||
|
||||
public string Roguelike3StartFloorFoldartal
|
||||
{
|
||||
get => _roguelike3StartFloorFoldartal;
|
||||
set
|
||||
{
|
||||
SetAndNotify(ref _roguelike3StartFloorFoldartal, value);
|
||||
ConfigurationHelper.SetValue(ConfigurationKeys.Roguelike3StartFloorFoldartal, value);
|
||||
}
|
||||
}
|
||||
|
||||
private string _roguelike3NewSquad2StartingFoldartal = ConfigurationHelper.GetValue(ConfigurationKeys.Roguelike3NewSquad2StartingFoldartal, false.ToString());
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1393,7 +1393,9 @@ namespace MaaWpfGui.ViewModels.UI
|
||||
mode, Instances.SettingsViewModel.RoguelikeStartsCount,
|
||||
Instances.SettingsViewModel.RoguelikeInvestmentEnabled, Instances.SettingsViewModel.RoguelikeInvestmentEnterSecondFloor, Instances.SettingsViewModel.RoguelikeInvestsCount, Instances.SettingsViewModel.RoguelikeStopWhenInvestmentFull,
|
||||
Instances.SettingsViewModel.RoguelikeSquad, Instances.SettingsViewModel.RoguelikeRoles, DataHelper.GetCharacterByNameOrAlias(Instances.SettingsViewModel.RoguelikeCoreChar)?.Name ?? Instances.SettingsViewModel.RoguelikeCoreChar,
|
||||
Instances.SettingsViewModel.RoguelikeStartWithEliteTwo, Instances.SettingsViewModel.RoguelikeOnlyStartWithEliteTwo, Instances.SettingsViewModel.Roguelike3NewSquad2StartingFoldartal, Instances.SettingsViewModel.Roguelike3NewSquad2StartingFoldartals,
|
||||
Instances.SettingsViewModel.RoguelikeStartWithEliteTwo, Instances.SettingsViewModel.RoguelikeOnlyStartWithEliteTwo,
|
||||
Instances.SettingsViewModel.Roguelike3FirstFloorFoldartal, Instances.SettingsViewModel.Roguelike3StartFloorFoldartal,
|
||||
Instances.SettingsViewModel.Roguelike3NewSquad2StartingFoldartal, Instances.SettingsViewModel.Roguelike3NewSquad2StartingFoldartals,
|
||||
Instances.SettingsViewModel.RoguelikeUseSupportUnit, Instances.SettingsViewModel.RoguelikeEnableNonfriendSupport, Instances.SettingsViewModel.RoguelikeTheme, Instances.SettingsViewModel.RoguelikeRefreshTraderWithDice);
|
||||
}
|
||||
|
||||
|
||||
@@ -139,6 +139,20 @@
|
||||
TextWrapping="Wrap" />
|
||||
</CheckBox>
|
||||
<CheckBox
|
||||
Margin="0,10"
|
||||
IsChecked="{Binding Roguelike3FirstFloorFoldartal}"
|
||||
Visibility="{c:Binding 'RoguelikeMode == "4" and RoguelikeTheme == "Sami" '}">
|
||||
<TextBlock
|
||||
Block.TextAlignment="Left"
|
||||
Text="{DynamicResource Roguelike3FirstFloorFoldartal}"
|
||||
TextWrapping="Wrap" />
|
||||
</CheckBox>
|
||||
<TextBox
|
||||
IsReadOnly="{c:Binding !Idle}"
|
||||
Style="{StaticResource TextBoxExtend}"
|
||||
Text="{Binding Roguelike3StartFloorFoldartal, UpdateSourceTrigger=LostFocus}"
|
||||
Visibility="{c:Binding 'Roguelike3FirstFloorFoldartal and RoguelikeMode == "4" and RoguelikeTheme == "Sami" '}" />
|
||||
<CheckBox
|
||||
Margin="0,10"
|
||||
IsChecked="{Binding Roguelike3NewSquad2StartingFoldartal}"
|
||||
Visibility="{c:Binding 'RoguelikeMode == "4" and RoguelikeTheme == "Sami" and RoguelikeSquad == "生活至上分队" '}">
|
||||
|
||||
Reference in New Issue
Block a user