private static void checkNPCs(GameLocation loc) { foreach (NPC npc in loc.characters) { if (npc.name == "Junimo" || npc.name == "Green Slime" || npc.name == "Frost Helly" || npc.IsMonster || npc is Child) { continue; } if (npc.isMarried() && npc.name != Game1.player.spouse) { continue; } NPCState state = new NPCState(npc); if (!npcs.ContainsKey(npc.name)) { npcs.Add(npc.name, state); continue; } NPCState oldState = npcs[npc.name]; if (state.isDifferentEnoughFromOldStateToSend(oldState)) { npcs[npc.name] = state; if (!ignoreUpdates) { Multiplayer.sendFunc(new NPCUpdatePacket(npc)); } } } }