summaryrefslogtreecommitdiff
path: root/src/SMAPI
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI')
-rw-r--r--src/SMAPI/Metadata/CoreAssetPropagator.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/SMAPI/Metadata/CoreAssetPropagator.cs b/src/SMAPI/Metadata/CoreAssetPropagator.cs
index 0a14086b..fa6541cb 100644
--- a/src/SMAPI/Metadata/CoreAssetPropagator.cs
+++ b/src/SMAPI/Metadata/CoreAssetPropagator.cs
@@ -816,9 +816,18 @@ namespace StardewModdingAPI.Metadata
where key != null && lookup.Contains(key)
select new { Npc = npc, Key = key }
)
- .ToArray();
- if (!characters.Any())
- return;
+ .ToList();
+
+ // special case: Gil is a private NPC field on the AdventureGuild class (only used for the portrait)
+ {
+ string gilKey = this.NormalizeAssetNameIgnoringEmpty("Portraits/Gil");
+ if (lookup.Contains(gilKey))
+ {
+ GameLocation adventureGuild = Game1.getLocationFromName("AdventureGuild");
+ if (adventureGuild != null)
+ characters.Add(new { Npc = this.Reflection.GetField<NPC>(adventureGuild, "Gil").GetValue(), Key = gilKey });
+ }
+ }
// update portrait
foreach (var target in characters)