예제 #1
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime();

            eventString += AttackerHistoricalFigure?.ToLink(link, pov, this) ?? "an unknown creature";
            if (AttackerLeader != null)
            {
                eventString += " as part of a squad";
                if (AttackerLeadershipRoll <= 25)
                {
                    eventString += " poorly";
                }
                else if (AttackerLeadershipRoll >= 100)
                {
                    eventString += " ably";
                }
                eventString += " led by ";
                eventString += AttackerLeader.ToLink(link, pov, this);
                eventString += ",";
            }
            eventString += " clashed with ";
            if (DefenderHistoricalFigure != null)
            {
                eventString += DefenderHistoricalFigure.ToLink(link, pov, this);
                eventString += " as part of squad";
            }
            else
            {
                if (DefenderNumber > 0 && DefenderRaceId > 0)
                {
                    eventString += Formatting.IntegerToWords(DefenderNumber);
                    eventString += " <span title='" + DefenderRaceId + "'>creatures</span>";
                }
                else
                {
                    eventString += "another squad";
                }
            }
            if (Site != null)
            {
                eventString += " in " + Site.ToLink(link, pov, this);
            }
            if (DefenderLeader != null)
            {
                if (DefenderLeadershipRoll <= 25)
                {
                    eventString += " poorly";
                }
                else if (DefenderLeadershipRoll >= 100)
                {
                    eventString += " ably";
                }
                eventString += " led by ";
                eventString += DefenderLeader.ToLink(link, pov, this);
            }
            if (DefenderNumber == DefenderSlain)
            {
                eventString += ", slaying them";
            }
            else if (DefenderSlain > 0)
            {
                eventString += ", slaying " + Formatting.IntegerToWords(DefenderSlain);
            }
            eventString += PrintParentCollection(link, pov);
            eventString += ".";
            return(eventString);
        }