Пример #1
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime();

            if (Builder != null)
            {
                eventString += Builder != null?Builder.ToLink(link, pov) : "UNKNOWN HISTORICAL FIGURE";

                eventString += ", thrust a spire of slade up from the underworld, naming it ";
                eventString += Structure != null?Structure.ToLink(link, pov) : "UNKNOWN STRUCTURE";

                eventString += ", and established a gateway between worlds in ";
                eventString += Site != null?Site.ToLink(link, pov) : "UNKNOWN SITE";
            }
            else
            {
                if (SiteEntity != null)
                {
                    eventString += SiteEntity.ToLink(link, pov);
                    eventString += " of ";
                }
                eventString += Civ != null?Civ.ToLink(link, pov) : "UNKNOWN CIV";

                eventString += " constructed ";
                eventString += Structure != null?Structure.ToLink(link, pov) : "UNKNOWN STRUCTURE";

                eventString += " in ";
                eventString += Site != null?Site.ToLink(link, pov) : "UNKNOWN SITE";
            }
            eventString += PrintParentCollection(link, pov);
            eventString += ".";
            return(eventString);
        }
Пример #2
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime();

            if (ActualStart)
            {
                eventString += "an insurrection against " + Civ.ToLink(link, pov, this) + " began in " + Site.ToLink(link, pov, this);
            }
            else
            {
                eventString += "the insurrection in " + Site.ToLink(link, pov, this);
                switch (Outcome)
                {
                case InsurrectionOutcome.LeadershipOverthrown:
                    eventString += " concluded with " + Civ.ToLink(link, pov, this) + " overthrown";
                    break;

                case InsurrectionOutcome.PopulationGone:
                    eventString += " ended with the disappearance of the rebelling population";
                    break;

                default:
                    eventString += " against " + Civ.ToLink(link, pov, this) + " concluded with (" + _unknownOutcome + ")";
                    break;
                }
            }
            eventString += PrintParentCollection(link, pov);
            eventString += ".";
            return(eventString);
        }
Пример #3
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime();

            if (Builder != null)
            {
                eventString += Builder.ToLink(link, pov, this);
                eventString += " constructed ";
                eventString += Site.ToLink(link, pov, this);
                if (ResidentCiv != null)
                {
                    eventString += " for ";
                    eventString += ResidentCiv.ToLink(link, pov, this);
                }
            }
            else
            {
                if (SiteEntity != null)
                {
                    eventString += SiteEntity.ToLink(link, pov, this) + " of ";
                }

                eventString += Civ.ToLink(link, pov, this);
                eventString += " founded ";
                eventString += Site.ToLink(link, pov, this);
            }
            eventString += PrintParentCollection(link, pov);
            eventString += ".";
            return(eventString);
        }
Пример #4
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime();

            eventString += Civ != null?Civ.ToLink(link, pov, this) : "UNKNOWN CIV";

            eventString += " held a ";
            if (Schedule != null)
            {
                if (!string.IsNullOrWhiteSpace(Schedule.ItemType) || !string.IsNullOrWhiteSpace(Schedule.ItemSubType))
                {
                    eventString += !string.IsNullOrWhiteSpace(Schedule.ItemSubType) ? Schedule.ItemSubType : Schedule.ItemType;
                    eventString += " ";
                }
            }
            eventString += Schedule?.Type.GetDescription().ToLower() ?? OccasionType.ToString().ToLower();
            if (ReferencedArtForm != null)
            {
                eventString += " of ";
                eventString += ReferencedArtForm.ToLink(link, pov, this);
            }
            else if (Schedule != null && Schedule.Type == ScheduleType.Storytelling && Schedule.Reference != -1)
            {
                WorldEvent worldEvent = World.GetEvent(Schedule.Reference);
                if (worldEvent is IFeatured featured)
                {
                    eventString += " of ";
                    eventString += featured.PrintFeature();
                }
            }
            eventString += " in ";
            eventString += Site != null?Site.ToLink(link, pov, this) : "UNKNOWN SITE";

            eventString += " as part of ";
            eventString += EntityOccasion != null?EntityOccasion.ToLink(link, pov, this) : "UNKNOWN OCCASION";

            eventString += ".";
            if (Schedule != null)
            {
                switch (Schedule.Type)
                {
                case ScheduleType.Procession:
                    Structure startStructure = Site.Structures.FirstOrDefault(s => s.Id == Schedule.Reference);
                    Structure endStructure   = Site.Structures.FirstOrDefault(s => s.Id == Schedule.Reference2);
                    if (startStructure != null || endStructure != null)
                    {
                        eventString += " It started at ";
                        eventString += startStructure != null?startStructure.ToLink(link, pov, this) : "UNKNOWN STRUCTURE";

                        eventString += " and ended at ";
                        eventString += endStructure != null?endStructure.ToLink(link, pov, this) : "UNKNOWN STRUCTURE";

                        eventString += ".";
                    }
                    break;
                }
            }
            return(eventString);
        }
Пример #5
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime();

            if (HistoricalFigure != null)
            {
                eventString += HistoricalFigure.ToLink(link, pov);
            }
            else
            {
                eventString += "UNKNOWN HISTORICAL FIGURE";
            }
            switch (LinkType)
            {
            case SiteLinkType.HomeSiteAbstractBuilding:
            case SiteLinkType.HomeSiteRealizationBuilding:
                eventString += " moved out of ";
                break;

            case SiteLinkType.Hangout:
                eventString += " stopped ruling from ";
                break;

            case SiteLinkType.SeatOfPower:
                eventString += " stopped working from ";
                break;

            case SiteLinkType.Occupation:
                eventString += " stopped working at ";
                break;

            default:
                eventString += " UNKNOWN LINKTYPE (" + LinkType + ") ";
                break;
            }
            if (Structure != null)
            {
                eventString += Structure.ToLink(link, pov);
            }
            else
            {
                eventString += "UNKNOWN STRUCTURE";
            }
            if (Civ != null)
            {
                eventString += " of " + Civ.ToLink(link, pov);
            }
            if (Site != null)
            {
                eventString += " in " + Site.ToLink(link, pov);
            }
            eventString += PrintParentCollection(link, pov);
            eventString += ".";
            return(eventString);
        }
Пример #6
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime();

            eventString += SiteEntity != null?SiteEntity.ToLink(link, pov, this) : "UNKNOWN ENTITY";

            eventString += " of ";
            eventString += Civ != null?Civ.ToLink(link, pov, this) : "UNKNOWN CIV";

            eventString += " at the settlement of ";
            eventString += Site != null?Site.ToLink(link, pov, this) : "UNKNOWN SITE";

            eventString += " regained their senses after an initial period of questionable judgment.";
            return(eventString);
        }
Пример #7
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime();

            eventString += Civ != null?Civ.ToLink(link, pov) : "UNKNOWN CIV";

            eventString += " held a ";
            if (Schedule != null)
            {
                if (!string.IsNullOrWhiteSpace(Schedule.ItemType) || !string.IsNullOrWhiteSpace(Schedule.ItemSubType))
                {
                    eventString += !string.IsNullOrWhiteSpace(Schedule.ItemSubType) ? Schedule.ItemSubType : Schedule.ItemType;
                    eventString += " ";
                }
            }
            eventString += Schedule != null?Schedule.Type.GetDescription().ToLower() : OccasionType.ToString().ToLower();

            if (Schedule != null)
            {
                switch (Schedule.Type)
                {
                case ScheduleType.PoetryRecital:
                    if (Schedule.Reference != -1)
                    {
                        PoeticForm form = World.GetPoeticForm(Schedule.Reference);
                        eventString += " of ";
                        eventString += form != null?form.ToLink(link, pov) : "UNKNOWN POETRICFORM";
                    }
                    break;

                case ScheduleType.MusicalPerformance:
                    if (Schedule.Reference != -1)
                    {
                        MusicalForm form = World.GetMusicalForm(Schedule.Reference);
                        eventString += " of ";
                        eventString += form != null?form.ToLink(link, pov) : "UNKNOWN MUSICALFORM";
                    }
                    break;

                case ScheduleType.DancePerformance:
                    if (Schedule.Reference != -1)
                    {
                        DanceForm form = World.GetDanceForm(Schedule.Reference);
                        eventString += " of ";
                        eventString += form != null?form.ToLink(link, pov) : "UNKNOWN DANCEFORM";
                    }
                    break;

                case ScheduleType.Storytelling:
                    if (Schedule.Reference != -1)
                    {
                        WorldEvent worldEvent = World.GetEvent(Schedule.Reference);
                        if (worldEvent is IFeatured)
                        {
                            eventString += " of ";
                            eventString += worldEvent != null ? ((IFeatured)worldEvent).PrintFeature() : "UNKNOWN EVENT";
                        }
                    }
                    break;
                }
            }
            eventString += " in ";
            eventString += Site != null?Site.ToLink(link, pov) : "UNKNOWN SITE";

            eventString += " as part of ";
            eventString += EntityOccasion != null?EntityOccasion.ToLink(link, pov) : "UNKNOWN OCCASION";

            eventString += ".";
            if (Schedule != null)
            {
                switch (Schedule.Type)
                {
                case ScheduleType.Procession:
                    Structure startStructure = Site.Structures.FirstOrDefault(s => s.Id == Schedule.Reference);
                    Structure endStructure   = Site.Structures.FirstOrDefault(s => s.Id == Schedule.Reference2);
                    if (startStructure != null || endStructure != null)
                    {
                        eventString += " It started at ";
                        eventString += startStructure != null?startStructure.ToLink(link, pov) : "UNKNOWN STRUCTURE";

                        eventString += " and ended at ";
                        eventString += endStructure != null?endStructure.ToLink(link, pov) : "UNKNOWN STRUCTURE";

                        eventString += ".";
                    }
                    break;
                }
            }
            return(eventString);
        }
Пример #8
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime();

            switch (Reason)
            {
            case 0:
                eventString += HistoricalFigure != null?HistoricalFigure.ToLink(link, pov) : "UNKNOWN HISTORICAL FIGURE";

                eventString += " of ";
                eventString += Civ != null?Civ.ToLink(link, pov) : "UNKNOWN CIV";

                eventString += " created the position of ";
                eventString += !string.IsNullOrWhiteSpace(Position) ? Position : "UNKNOWN POSITION";
                eventString += " through force of argument";
                break;

            case 1:
                eventString += HistoricalFigure != null?HistoricalFigure.ToLink(link, pov) : "UNKNOWN HISTORICAL FIGURE";

                eventString += " of ";
                eventString += Civ != null?Civ.ToLink(link, pov) : "UNKNOWN CIV";

                eventString += " compelled the creation of the position of ";
                eventString += !string.IsNullOrWhiteSpace(Position) ? Position : "UNKNOWN POSITION";
                eventString += " with threats of violence";
                break;

            case 2:
                eventString += SiteCiv != null?SiteCiv.ToLink(link, pov) : "UNKNOWN ENTITY";

                eventString += " collaborated to create the position of ";
                eventString += !string.IsNullOrWhiteSpace(Position) ? Position : "UNKNOWN POSITION";
                break;

            case 3:
                eventString += HistoricalFigure != null?HistoricalFigure.ToLink(link, pov) : "UNKNOWN HISTORICAL FIGURE";

                eventString += " of ";
                eventString += Civ != null?Civ.ToLink(link, pov) : "UNKNOWN CIV";

                eventString += " created the position of ";
                eventString += !string.IsNullOrWhiteSpace(Position) ? Position : "UNKNOWN POSITION";
                eventString += ", pushed by a wave of popular support";
                break;

            case 4:
                eventString += HistoricalFigure != null?HistoricalFigure.ToLink(link, pov) : "UNKNOWN HISTORICAL FIGURE";

                eventString += " of ";
                eventString += Civ != null?Civ.ToLink(link, pov) : "UNKNOWN CIV";

                eventString += " created the position of ";
                eventString += !string.IsNullOrWhiteSpace(Position) ? Position : "UNKNOWN POSITION";
                eventString += " as a matter of course";
                break;
            }
            eventString += PrintParentCollection(link, pov);
            eventString += ".";
            return(eventString);
        }