anchor.diff:  				NPC npc = entities[npcMap["id"]];
   				if (element == null) {
   					addNPC(npcMap);
  -				}
  -				else {
  +				} else {
   					if (npc != null) {
   						npc.updateAnimation(npcMap);
   						_updateChatBubble(npcMap, npc);
   					}
   				}
  +			});
  +		}
  +
  +		if (map["removeNpcs"] != null) {
  +			(map["removeNpcs"] as List).forEach((String id) {
  +				entities[id]?.canvas?.remove();
  +				entities.remove(id);
   			});
   		}
   
  
positive.code: 				}
  			});
  		}
  	});
  
  	streetSocket.onClose.listen((CloseEvent e) {
  
negative.code: 			return;
  		}
  
  		if (map["quoins"] != null) {
  			(map["quoins"] as List).forEach((Map quoinMap) {
  				if (quoinMap["remove"] == "true") {
  