public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); if (Artifact != null) { eventString += Artifact.ToLink(link, pov); } else { if (string.IsNullOrEmpty(ItemType)) { eventString += " an unknown item "; } else { eventString += " a "; if (!string.IsNullOrWhiteSpace(Material)) { eventString += Material + " "; } eventString += ItemType; } } eventString += " was stolen "; if (Structure != null) { eventString += "from "; eventString += Structure.ToLink(link, pov); eventString += " "; } eventString += "in "; if (Site != null) { eventString += Site.ToLink(link, pov); } else { eventString += "UNKNOWN SITE"; } eventString += " by "; if (Thief != null) { eventString += Thief.ToLink(link, pov); } else { eventString += "an unknown creature"; } if (ReturnSite != null) { eventString += " and brought to " + ReturnSite.ToLink(); } if (!(ParentCollection is Theft)) { eventString += PrintParentCollection(link, pov); } eventString += "."; return(eventString); }