自动超模内容优化

This commit is contained in:
ZouJin 2023-08-26 08:08:13 +10:00
parent 5661e7dc64
commit 3ba3d36715
9 changed files with 128 additions and 6 deletions

View File

@ -14,7 +14,7 @@ namespace VPet_Simulator.Windows.Interface
/// </summary>
/// <param name="work">工作</param>
/// <returns>是否超模</returns>
public static bool IsOverLoad(Work work)
public static bool IsOverLoad(this Work work)
{//判断这个工作是否超模
var spend = (Math.Pow(work.StrengthFood * 2 + 1, 2) / 6 + Math.Pow(work.StrengthDrink * 2 + 1, 2) / 9 +
Math.Pow(work.Feeling * 2 + 1, 2) / 12) * (Math.Pow(work.LevelLimit / 2 + 1, 0.5) / 4 + 1) - 0.5;

View File

@ -162,7 +162,7 @@ namespace VPet_Simulator.Windows.Interface
if (isoverload == null)
{
double relp = RealPrice;
isoverload = Price > (relp + 10) * 1.3;// || Price < (relp - 10) * 0.7;//30%容错
isoverload = Price < (relp - 10) * 0.7;// Price > (relp + 10) * 1.3;// || Price < (relp - 10) * 0.7;//30%容错
}
return isoverload.Value;
}

View File

@ -17,6 +17,7 @@ using System.Web;
using System.Windows;
using VPet_Simulator.Core;
using VPet_Simulator.Windows.Interface;
using static VPet_Simulator.Core.GraphHelper;
using static VPet_Simulator.Core.GraphInfo;
using Timer = System.Timers.Timer;
using ToolBar = VPet_Simulator.Core.ToolBar;
@ -761,5 +762,30 @@ namespace VPet_Simulator.Windows
/// 关闭指示器,默认为true
/// </summary>
public bool CloseConfirm { get; private set; } = true;
/// <summary>
/// 超模工作检查
/// </summary>
public bool WorkCheck(Work work)
{
//看看是否超模
if (HashCheck && work.IsOverLoad())
{
var spend = (Math.Pow(work.StrengthFood * 2 + 1, 2) / 6 + Math.Pow(work.StrengthDrink * 2 + 1, 2) / 9 +
Math.Pow(work.Feeling * 2 + 1, 2) / 12) * (Math.Pow(work.LevelLimit / 2 + 1, 0.5) / 4 + 1) - 0.5;
var get = (work.MoneyBase + work.MoneyLevel * 10) * (work.MoneyLevel + 1) * (1 + work.FinishBonus / 2);
if (work.Type != Work.WorkType.Work)
{
get /= 12;//经验值换算
}
var rel = get / spend;
if (MessageBoxX.Show("当前工作数据属性超模,是否继续工作?\n超模工作可能会导致游戏发生不可预料的错误\n超模工作不影响大部分成就解锁\n当前数据比率 {0:f2}\n推荐比率<1.5"
.Translate(rel), "超模工作提醒".Translate(), MessageBoxButton.YesNo) != MessageBoxResult.Yes)
{
return false;
}
HashCheck = false;
}
return true;
}
}
}

View File

@ -29,6 +29,7 @@ using static VPet_Simulator.Core.GraphInfo;
using System.Globalization;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip;
using System.Diagnostics.Eventing.Reader;
using static VPet_Simulator.Windows.Interface.ExtensionFunction;
namespace VPet_Simulator.Windows
{
@ -341,6 +342,18 @@ namespace VPet_Simulator.Windows
Directory.Move(AppDomain.CurrentDomain.BaseDirectory + @"\UserData", AppDomain.CurrentDomain.BaseDirectory + @"\BackUP");
}
//加载数据合理化:食物
if (!Set["gameconfig"].GetBool("noAutoCal"))
{
foreach (Food f in Foods)
{
if (f.IsOverLoad())
{
f.Price = Math.Max((int)f.RealPrice, 1);
}
}
}
await Dispatcher.InvokeAsync(new Action(() => LoadingText.Content = "尝试加载游戏MOD".Translate()));
@ -413,6 +426,34 @@ namespace VPet_Simulator.Windows
Core.Graph = petloader.Graph(Set.Resolution);
Main = new Main(Core);
Main.NoFunctionMOD = Set.CalFunState;
//加载数据合理化:工作
if (!Set["gameconfig"].GetBool("noAutoCal"))
{
foreach (var work in Core.Graph.GraphConfig.Works)
{
if (work.IsOverLoad())
{
work.MoneyLevel = 0.5;
work.MoneyBase = 8;
if (work.Type == GraphHelper.Work.WorkType.Work)
{
work.StrengthDrink = 2.5;
work.StrengthFood = 3.5;
work.Feeling = 1.5;
work.FinishBonus = 0;
}
else
{
work.Feeling = 1;
work.FinishBonus = 0;
work.StrengthDrink = 1;
work.StrengthFood = 1;
}
}
}
}
LoadingText.Content = "正在加载CGPT".Translate();
switch (Set["CGPT"][(gstr)"type"])
{
@ -535,6 +576,8 @@ namespace VPet_Simulator.Windows
if (Set.MessageBarOutside)
Main.MsgBar.SetPlaceOUT();
Main.ToolBar.WorkCheck = WorkCheck;
//加载图标
notifyIcon = new NotifyIcon();
notifyIcon.Text = "虚拟桌宠模拟器".Translate();

View File

@ -648,8 +648,21 @@
</TabItem>
<TabItem BorderBrush="{DynamicResource PrimaryDarker}" Header="{ll:Str 诊断}">
<StackPanel>
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Background="{x:Null}" FontSize="13"
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Background="{x:Null}"
TextWrapping="Wrap">
<Run FontSize="18" FontWeight="Bold" Text="{ll:Str 自动超模MOD优化}" /><LineBreak />
<Run Text="{ll:Str '对于超模内容,游戏会自动计算合理价格\&#13;如果未使用任何超模数据,数据菜单栏将会显示图标方便您进行炫耀数据'}" />
</TextBlock>
<pu:Switch x:Name="swAutoCal" Grid.Column="2" Background="Transparent" BorderBrush="{DynamicResource PrimaryDark}"
BoxHeight="18" BoxWidth="35"
CheckedBackground="{DynamicResource Primary}" CheckedBorderBrush="{DynamicResource Primary}"
CheckedToggleBrush="{DynamicResource DARKPrimaryText}" Content="{ll:Str '自动计算合理价格'}"
ToggleBrush="{DynamicResource PrimaryDark}" ToggleShadowColor="{x:Null}" ToggleSize="14"
ToolTip="{ll:Str '该选项重启后生效'}" HorizontalAlignment="Left"
Margin="20,0,0,0"
Checked="swAutoCal_Checked" Unchecked="swAutoCal_Checked" />
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Background="{x:Null}" FontSize="13"
TextWrapping="Wrap" Margin="0,20,0,0">
<Run FontSize="18" FontWeight="Bold" Text="{ll:Str 诊断与反馈}" /> <LineBreak />
<Run Text="{ll:Str '选择要发送给 LBGame 的诊断数据,诊断数据用于保护和及时更新 虚拟桌宠模拟器, 解决问题并改进产品.'}" /><LineBreak />
<Run Text="{ll:Str '无论选择哪个选项,游戏都可以安全正常地运行.'}" /> <Hyperlink Click="hyper_moreInfo">

View File

@ -82,6 +82,9 @@ namespace VPet_Simulator.Windows
combCalFunState.IsEnabled = !mw.Set.EnableFunction;
CalTimeInteraction();
swAutoCal.IsChecked = !mw.Set["gameconfig"].GetBool("noAutoCal");
LanguageBox.Items.Add("null");
foreach (string v in LocalizeCore.AvailableCultures)
{
@ -1172,5 +1175,12 @@ namespace VPet_Simulator.Windows
mw.Save();
MessageBoxX.Show("保存成功".Translate());
}
private void swAutoCal_Checked(object sender, RoutedEventArgs e)
{
if (!AllowChange)
return;
mw.Set["gameconfig"].SetBool("noAutoCal", !swAutoCal.IsChecked.Value);
}
}
}

View File

@ -17,4 +17,14 @@
删错误#Delete error:|
余额不足100无法开启自动购买#Balance is less than 100, unable to open automatic purchase:|
让宠物自己买东西吃#Let the pet buy self:|
当宠物口渴或者饥饿的时候会自己买东西吃\r请注意,宠物可能会乱花钱和吃错误的东西\r额外加收20%外卖运送费用#When the pet is thirsty or hungry, it will buy something to eat it self\rPlease note that the pet may spend money and eat the wrong things\rExtra 20% takeout delivery fee:|
当宠物口渴或者饥饿的时候会自己买东西吃\r请注意,宠物可能会乱花钱和吃错误的东西\r额外加收20%外卖运送费用#When the pet is thirsty or hungry, it will buy something to eat it self\rPlease note that the pet may spend money and eat the wrong things\rExtra 20% takeout delivery fee:|
清屏#Clean screen:|
游戏操作#Game operation:|
自动超模MOD优化#Automatic supermodel MOD optimization:|
对于超模内容,游戏会自动计算合理价格\r如果未使用任何超模数据,数据菜单栏将会显示图标方便您进行炫耀数据#For supermodel content, the game will automatically calculate the reasonable price\rIf no supermodel data is used, the data menu bar will display the icon to facilitate your data.:|
自动计算合理价格#Automatically calculate reasonable price:|
该选项重启后生效#This option takes effect after restart:|
当前食物/物品属性超模,是否继续使用?\n使用超模食物可能会导致游戏发生不可预料的错误\n使用超模食物不影响大部分成就解锁\n本物品推荐价格为{0:f0}#The current food/item attribute supermodel, whether to continue to use?\nUsing supermodel food may cause the game to have unexpected errors\nUsing supermodel food does not affect most of the achievements to unlock\nThe recommended price for this item is {0:f0}:|
超模食物/物品使用提醒#Supermodel food/item use reminder:|
当前工作数据属性超模,是否继续工作?\n超模工作可能会导致游戏发生不可预料的错误\n超模工作不影响大部分成就解锁\n当前数据比率 {0:f2}\n推荐比率<1.5#The current work data attribute supermodel, whether to continue to work?\nSupermodel work may cause the game to have unexpected errors\nSupermodel work does not affect most of the achievements to unlock\nCurrent data ratio {0:f2}\nRecommended ratio <1.5:|
超模工作提醒#Supermodel work reminder:|

View File

@ -17,4 +17,14 @@
删错误#删错误:|
余额不足100无法开启自动购买#余额不足100无法开启自动购买:|
让宠物自己买东西吃#让宠物自己买东西吃:|
当宠物口渴或者饥饿的时候会自己买东西吃\r请注意,宠物可能会乱花钱和吃错误的东西\r额外加收20%外卖运送费用#当宠物口渴或者饥饿的时候会自己买东西吃\r请注意,宠物可能会乱花钱和吃错误的东西\r额外加收20%外卖运送费用:|
当宠物口渴或者饥饿的时候会自己买东西吃\r请注意,宠物可能会乱花钱和吃错误的东西\r额外加收20%外卖运送费用#当宠物口渴或者饥饿的时候会自己买东西吃\r请注意,宠物可能会乱花钱和吃错误的东西\r额外加收20%外卖运送费用:|
清屏#清屏:|
游戏操作#游戏操作:|
自动超模MOD优化#自动超模MOD优化:|
对于超模内容,游戏会自动计算合理价格\r如果未使用任何超模数据,数据菜单栏将会显示图标方便您进行炫耀数据#对于超模内容,游戏会自动计算合理价格\r如果未使用任何超模数据,数据菜单栏将会显示图标方便您进行炫耀数据:|
自动计算合理价格#自动计算合理价格:|
该选项重启后生效#该选项重启后生效:|
当前食物/物品属性超模,是否继续使用?\n使用超模食物可能会导致游戏发生不可预料的错误\n使用超模食物不影响大部分成就解锁\n本物品推荐价格为{0:f0}#当前食物/物品属性超模,是否继续使用?\n使用超模食物可能会导致游戏发生不可预料的错误\n使用超模食物不影响大部分成就解锁\n本物品推荐价格为{0:f0}:|
超模食物/物品使用提醒#超模食物/物品使用提醒:|
当前工作数据属性超模,是否继续工作?\n超模工作可能会导致游戏发生不可预料的错误\n超模工作不影响大部分成就解锁\n当前数据比率 {0:f2}\n推荐比率<1.5#当前工作数据属性超模,是否继续工作?\n超模工作可能会导致游戏发生不可预料的错误\n超模工作不影响大部分成就解锁\n当前数据比率 {0:f2}\n推荐比率<1.5:|
超模工作提醒#超模工作提醒:|

View File

@ -17,4 +17,14 @@
删错误#刪錯誤:|
余额不足100无法开启自动购买#餘額不足100無法開啟自動購買:|
让宠物自己买东西吃#讓寵物自己買東西吃:|
当宠物口渴或者饥饿的时候会自己买东西吃\r请注意,宠物可能会乱花钱和吃错误的东西\r额外加收20%外卖运送费用#當寵物口渴或者饑餓的時候會自己買東西吃\r請注意,寵物可能會亂花錢和吃錯誤的東西\r額外加收20%外賣運送費用:|
当宠物口渴或者饥饿的时候会自己买东西吃\r请注意,宠物可能会乱花钱和吃错误的东西\r额外加收20%外卖运送费用#當寵物口渴或者饑餓的時候會自己買東西吃\r請注意,寵物可能會亂花錢和吃錯誤的東西\r額外加收20%外賣運送費用:|
清屏#清屏:|
游戏操作#遊戲操作:|
自动超模MOD优化#自動超模MOD優化:|
对于超模内容,游戏会自动计算合理价格\r如果未使用任何超模数据,数据菜单栏将会显示图标方便您进行炫耀数据#對於超模內容,遊戲會自動計算合理價格\r如果未使用任何超模數據,數據菜單欄將會顯示圖標方便您進行炫耀數據:|
自动计算合理价格#自動計算合理價格:|
该选项重启后生效#該選項重啟後生效:|
当前食物/物品属性超模,是否继续使用?\n使用超模食物可能会导致游戏发生不可预料的错误\n使用超模食物不影响大部分成就解锁\n本物品推荐价格为{0:f0}#當前食物/物品屬性超模,是否繼續使用?\n使用超模食物可能會導致遊戲發生不可預料的錯誤\n使用超模食物不影響大部分成就解鎖\n本物品推薦價格為{0:f0}:|
超模食物/物品使用提醒#超模食物/物品使用提醒:|
当前工作数据属性超模,是否继续工作?\n超模工作可能会导致游戏发生不可预料的错误\n超模工作不影响大部分成就解锁\n当前数据比率 {0:f2}\n推荐比率<1.5#當前工作數據屬性超模,是否繼續工作?\n超模工作可能會導致遊戲發生不可預料的錯誤\n超模工作不影響大部分成就解鎖\n當前數據比率 {0:f2}\n推薦比率<1.5:|
超模工作提醒#超模工作提醒:|