summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-01-12 15:53:59 -0500
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-01-12 15:53:59 -0500
commit8b1fd90c6e72bff99d81a3b9614fdeaa6f67a950 (patch)
treecb62acfdcabd66117d559c5341c1b23dfd94151a
parent5518e4cf241e487da26bd2e651a57724389edfe2 (diff)
downloadSMAPI-8b1fd90c6e72bff99d81a3b9614fdeaa6f67a950.tar.gz
SMAPI-8b1fd90c6e72bff99d81a3b9614fdeaa6f67a950.tar.bz2
SMAPI-8b1fd90c6e72bff99d81a3b9614fdeaa6f67a950.zip
remove invalid-schedule error which can have false positives (e.g. when NPC is married to a player)
-rw-r--r--docs/release-notes.md3
-rw-r--r--src/SMAPI/Metadata/CoreAssetPropagator.cs16
2 files changed, 9 insertions, 10 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md
index f5c49a88..bc30bed7 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -11,8 +11,9 @@
For modders:
* Asset propagation for player sprites now affects other players' sprites, and updates recolor maps (e.g. sleeves).
+ * Removed invalid-schedule validation which had false positives.
-* For SMAPI/tool developers:
+For SMAPI/tool developers:
* The `/mods` web API endpoint now includes version mappings from the wiki.
## 3.1
diff --git a/src/SMAPI/Metadata/CoreAssetPropagator.cs b/src/SMAPI/Metadata/CoreAssetPropagator.cs
index abe28ce9..57e1d197 100644
--- a/src/SMAPI/Metadata/CoreAssetPropagator.cs
+++ b/src/SMAPI/Metadata/CoreAssetPropagator.cs
@@ -909,18 +909,16 @@ namespace StardewModdingAPI.Metadata
this.Reflection.GetField<bool>(villager, "_hasLoadedMasterScheduleData").SetValue(false);
this.Reflection.GetField<Dictionary<string, string>>(villager, "_masterScheduleData").SetValue(null);
villager.Schedule = villager.getSchedule(Game1.dayOfMonth);
- if (villager.Schedule == null)
- {
- this.Monitor.Log($"A mod set an invalid schedule for {villager.Name ?? key}, so the NPC may not behave correctly.", LogLevel.Warn);
- return true;
- }
// switch to new schedule if needed
- int lastScheduleTime = villager.Schedule.Keys.Where(p => p <= Game1.timeOfDay).OrderByDescending(p => p).FirstOrDefault();
- if (lastScheduleTime != 0)
+ if (villager.Schedule != null)
{
- villager.scheduleTimeToTry = NPC.NO_TRY; // use time that's passed in to checkSchedule
- villager.checkSchedule(lastScheduleTime);
+ int lastScheduleTime = villager.Schedule.Keys.Where(p => p <= Game1.timeOfDay).OrderByDescending(p => p).FirstOrDefault();
+ if (lastScheduleTime != 0)
+ {
+ villager.scheduleTimeToTry = NPC.NO_TRY; // use time that's passed in to checkSchedule
+ villager.checkSchedule(lastScheduleTime);
+ }
}
}
return true;