diff --git a/VPet-Simulator.Core/Display/MainLogic.cs b/VPet-Simulator.Core/Display/MainLogic.cs index e519242..d33bf69 100644 --- a/VPet-Simulator.Core/Display/MainLogic.cs +++ b/VPet-Simulator.Core/Display/MainLogic.cs @@ -168,7 +168,7 @@ namespace VPet_Simulator.Core if (freedrop < 1) freedrop = 0.25 * TimePass; else - freedrop = Math.Sqrt(freedrop) * TimePass / 2; + freedrop = Math.Min(Math.Sqrt(freedrop) * TimePass / 2, Core.Save.FeelingMax / 400); switch (State) { case WorkingState.Sleep: @@ -233,18 +233,20 @@ namespace VPet_Simulator.Core if (addhealth > 0) Core.Save.Health += addhealth * TimePass; var addmoney = Math.Max(0, nowwork.MoneyBase * (1.500000000 * efficiency - 0.5)); - if (nowwork.Type == GraphHelper.Work.WorkType.Work) + if (nowwork.Type == Work.WorkType.Work) Core.Save.Money += addmoney; else Core.Save.Exp += addmoney; WorkTimer.GetCount += addmoney; - if (nowwork.Type == GraphHelper.Work.WorkType.Play) + if (nowwork.Type == Work.WorkType.Play) { LastInteractionTime = DateTime.Now; - Core.Save.FeelingChange(nowwork.Feeling * TimePass); + Core.Save.FeelingChange(-nowwork.Feeling * TimePass); } else Core.Save.FeelingChange(-freedrop * nowwork.Feeling); + if (Core.Save.Mode == IGameSave.ModeType.Ill)//生病时候停止工作 + WorkTimer.Stop(); break; default://默认 //饮食等乱七八糟的消耗 diff --git a/VPet-Simulator.Core/Display/WorkTimer.xaml.cs b/VPet-Simulator.Core/Display/WorkTimer.xaml.cs index acb39ad..c0fc738 100644 --- a/VPet-Simulator.Core/Display/WorkTimer.xaml.cs +++ b/VPet-Simulator.Core/Display/WorkTimer.xaml.cs @@ -199,6 +199,10 @@ namespace VPet_Simulator.Core DisplayUI(); } private Work nowWork; + /// + /// 停止工作 + /// + /// public void Stop(Action @then = null) { if (m.State == Main.WorkingState.Work && nowWork != null) diff --git a/VPet-Simulator.Windows.Interface/ExtensionFunction.cs b/VPet-Simulator.Windows.Interface/ExtensionFunction.cs index 346b134..4c3d589 100644 --- a/VPet-Simulator.Windows.Interface/ExtensionFunction.cs +++ b/VPet-Simulator.Windows.Interface/ExtensionFunction.cs @@ -22,7 +22,10 @@ namespace VPet_Simulator.Windows.Interface /// 工作获取效率 public static double Get(this Work work) { - return MathPow(Math.Abs(work.MoneyBase) * (1 + work.FinishBonus / 2) + 1, 1.25); + if (work.Type == Work.WorkType.Work) + return MathPow(Math.Abs(work.MoneyBase) * (1 + work.FinishBonus / 2) + 1, 1.25); + else + return MathPow((Math.Abs(work.MoneyBase) * (1 + work.FinishBonus / 2) + 1) / 10, 1.25); } /// /// 求幂(带符号) @@ -53,7 +56,10 @@ namespace VPet_Simulator.Windows.Interface if (work.LevelLimit < 0) work.LevelLimit = 0; if (work.FinishBonus < 0) - return true; + work.FinishBonus = 0; + if (work.Type == Work.WorkType.Play && work.Feeling > 0) + work.Feeling *= -1; + var spend = work.Spend(); var get = work.Get(); var rel = get / spend; @@ -71,7 +77,7 @@ namespace VPet_Simulator.Windows.Interface { // 设置梯度下降的步长和最大迭代次数 double stepSize = 0.01; - int maxIterations = 1000; + int maxIterations = 100; for (int i = 0; i < maxIterations; i++) { @@ -122,12 +128,31 @@ namespace VPet_Simulator.Windows.Interface // 如果仍然不合理,设定一个默认值 if (work.IsOverLoad()) - {//TODO - work.MoneyBase = 10; - work.StrengthFood = 5; - work.StrengthDrink = 5; - work.Feeling = 5; - work.LevelLimit = 10; + { + switch (work.Type) + { + case Work.WorkType.Play: + work.MoneyBase = 18; + work.StrengthFood = 1; + work.StrengthDrink = 1.5; + work.Feeling = -1; + work.LevelLimit = 0; + break; + case Work.WorkType.Work: + work.MoneyBase = 8; + work.StrengthFood = 3.5; + work.StrengthDrink = 2.5; + work.Feeling = 1; + work.LevelLimit = 0; + break; + case Work.WorkType.Study: + work.MoneyBase = 80; + work.StrengthFood = 2; + work.StrengthDrink = 2; + work.Feeling = 3; + work.LevelLimit = 0; + break; + } } } diff --git a/VPet-Simulator.Windows/mod/0000_core/pet/vup.lps b/VPet-Simulator.Windows/mod/0000_core/pet/vup.lps index ca78cdc..11c9761 100644 --- a/VPet-Simulator.Windows/mod/0000_core/pet/vup.lps +++ b/VPet-Simulator.Windows/mod/0000_core/pet/vup.lps @@ -5,13 +5,13 @@ touchraised:|happy_px#0:|happy_py#50:|happy_sw#500:|happy_sh#200:|nomal_px#0:|no pinch:|px#149:|py#128:|sw#56:|sh#59:| raisepoint:|happy_x#290:|happy_y#128:|nomal_x#290:|nomal_y#128:|poorcondition_x#290:|poorcondition_y#128:|ill_x#225:|ill_y#115:| -work:|Type#Work:|Name#文案:|MoneyBase#8:|MoneyLevel#0.2:|Graph#workone:|StrengthFood#3.5:|StrengthDrink#2.5:|Feeling#1.5:|Time#60:|FinishBonus#0.1:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| -work:|Type#Work:|Name#清屏:|MoneyBase#16:|MoneyLevel#1.2:|Graph#workclean:|StrengthFood#5:|StrengthDrink#4:|Feeling#2.5:|Time#90:|FinishBonus#0.2:|LevelLimit#10:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| -work:|Type#Work:|Name#直播:|MoneyBase#30:|MoneyLevel#2.5:|Graph#worktwo:|StrengthFood#4.5:|StrengthDrink#8.5:|Feeling#3:|Time#180:|FinishBonus#0.25:|LevelLimit#20:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| -work:|Type#Study:|Name#学习:|MoneyBase#40:|MoneyLevel#3.5:|Graph#study:|StrengthFood#1.5:|StrengthDrink#2:|Feeling#3:|Time#45:|FinishBonus#0.2:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| -work:|Type#Study:|Name#研究:|MoneyBase#78:|MoneyLevel#10:|Graph#studytwo:|StrengthFood#1.5:|StrengthDrink#3.5:|Feeling#4:|Time#75:|FinishBonus#0.4:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|LevelLimit#15:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| -work:|Type#Play:|Name#玩游戏:|MoneyBase#20:|MoneyLevel#2.9:|Graph#playone:|StrengthFood#1:|StrengthDrink#0.5:|Feeling#4:|Time#30:|FinishBonus#0.2:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| -work:|Type#Play:|Name#删错误:|MoneyBase#20:|MoneyLevel#3:|Graph#removeobject:|StrengthFood#0.5:|StrengthDrink#0.5:|Feeling#4:|Time#60:|FinishBonus#0.25:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:|LevelLimit#6:| +work:|Type#Work:|Name#文案:|MoneyBase#8:|Graph#workone:|StrengthFood#3.5:|StrengthDrink#2.5:|Feeling#1:|Time#60:|FinishBonus#0.1:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| +work:|Type#Work:|Name#清屏:|MoneyBase#16:|Graph#workclean:|StrengthFood#5:|StrengthDrink#5:|Feeling#2.5:|Time#90:|FinishBonus#0.2:|LevelLimit#10:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| +work:|Type#Work:|Name#直播:|MoneyBase#28:|Graph#worktwo:|StrengthFood#5:|StrengthDrink#10:|Feeling#4:|Time#180:|FinishBonus#0.25:|LevelLimit#20:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| +work:|Type#Study:|Name#学习:|MoneyBase#80:|Graph#study:|StrengthFood#2:|StrengthDrink#2:|Feeling#3:|Time#45:|FinishBonus#0.2:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| +work:|Type#Study:|Name#研究:|MoneyBase#120:|Graph#studytwo:|StrengthFood#2.5:|StrengthDrink#3.5:|Feeling#4:|Time#75:|FinishBonus#0.4:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|LevelLimit#15:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| +work:|Type#Play:|Name#玩游戏:|MoneyBase#18:|Graph#playone:|StrengthFood#1:|StrengthDrink#1.5:|Feeling#-1:|Time#30:|FinishBonus#0.2:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:| +work:|Type#Play:|Name#删错误:|MoneyBase#20:|Graph#removeobject:|StrengthFood#0.5:|StrengthDrink#0.5:|Feeling#-1:|Time#60:|FinishBonus#0.25:|BorderBrush#000000:|Background#413d39:|ButtonBackground#322e2b:|ButtonForeground#FFFFFF:|Foreground#ccbdad:|Left#113:|Top#315:|Width#280:|LevelLimit#6:| move:|graph#climb.left:|LocateType#Left:|LocateLength#145:|TriggerLeft#100:|TriggerTop#200:|TriggerType#65:|CheckType#64:|CheckTop#100:|SpeedY#-10:|Distance#7:|ModeType#14:| move:|graph#climb.left:|LocateType#Left:|LocateLength#145:|TriggerLeft#100:|TriggerBottom#200:|TriggerType#129:|CheckType#128:|CheckBottom#100:|SpeedY#10:|Distance#7:|ModeType#14:| move:|graph#climb.right:|LocateType#Right:|LocateLength#185:|TriggerRight#100:|TriggerTop#200:|TriggerType#66:|CheckType#64:|CheckTop#100:|SpeedY#-10:|Distance#7:|ModeType#14:|