From dbd0b97c1790445e8ea187765a79ed22f9f0454b Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sat, 7 Sep 2019 06:10:23 -0400 Subject: simplify Data/NPCDispositions propagation with changes in SDV 1.4 (#638) --- src/SMAPI/Metadata/CoreAssetPropagator.cs | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/SMAPI/Metadata/CoreAssetPropagator.cs b/src/SMAPI/Metadata/CoreAssetPropagator.cs index b72590fd..5911ba2c 100644 --- a/src/SMAPI/Metadata/CoreAssetPropagator.cs +++ b/src/SMAPI/Metadata/CoreAssetPropagator.cs @@ -632,27 +632,18 @@ namespace StardewModdingAPI.Metadata /// Returns whether any NPCs were affected. private bool ReloadNpcDispositions(LocalizedContentManager content, string key) { - IDictionary dispositions = content.Load>(key); + IDictionary data = content.Load>(key); + bool changed = false; foreach (NPC character in this.GetCharacters()) { - if (!character.isVillager() || !dispositions.ContainsKey(character.Name)) - continue; - - NPC clone = new NPC(null, character.Position, character.DefaultMap, character.FacingDirection, character.Name, null, character.Portrait, eventActor: false); - character.Age = clone.Age; - character.Manners = clone.Manners; - character.SocialAnxiety = clone.SocialAnxiety; - character.Optimism = clone.Optimism; - character.Gender = clone.Gender; - character.datable.Value = clone.datable.Value; - character.homeRegion = clone.homeRegion; - character.Birthday_Season = clone.Birthday_Season; - character.Birthday_Day = clone.Birthday_Day; - character.id = clone.id; - character.displayName = clone.displayName; + if (character.isVillager() && data.ContainsKey(character.Name)) + { + character.reloadData(); + changed = true; + } } - return true; + return changed; } /// Reload the sprites for matching NPCs. -- cgit