Exemple #1
0
        public override void StreamDebug(TextWriter target)
        {
            var writer = new IndentWriter(target);

            writer.WriteLine(ToString());

            writer.IncIndent();
            writer.WriteLine($"Name: {DisplayName}");
            writer.WriteLine($"Type: {Type}");
            writer.WriteLine($"Weight: {Weight}");
            writer.WriteLine($"Value: {Value}");
            writer.WriteLine($"Enchant Capacity: {EnchantCapacity}");
            writer.WriteLine($"Model: {Model}");
            writer.WriteLine($"Icon: {Icon}");
            writer.WriteLine($"Script: {Script}");
            writer.WriteLine($"Enchantment: {Enchantment}");

            if (BipedParts.Count > 0)
            {
                writer.WriteLine("Biped Data");
                writer.IncIndent();

                var table = new Table("Type", "Male", "Female");
                foreach (var part in BipedParts)
                {
                    table.AddRow(part.Type, part.MaleBodyPart, part.FemaleBodyPart);
                }
                table.Print(writer);

                writer.DecIndent();
            }
            writer.DecIndent();
        }
Exemple #2
0
        public override void StreamDebug(TextWriter target)
        {
            var writer = new IndentWriter(target);

            writer.WriteLine(ToString());

            writer.IncIndent();
            writer.WriteLine($"Calc From All Levels >= PC Level: {CalcFromPCLevel}");
            writer.WriteLine($"Calc For Each Item: {CalcForEachItem}");
            writer.WriteLine($"Chance None: {ChanceNone}");

            if (ItemList.Count > 0)
            {
                writer.WriteLine("Items");
                writer.IncIndent();

                var table = new Table("Name", "PC Level");
                foreach (var item in ItemList)
                {
                    table.AddRow(item.Name, item.PCLevel);
                }
                table.Print(writer);

                writer.DecIndent();
            }
            writer.DecIndent();
        }
Exemple #3
0
        public override void StreamDebug(TextWriter target)
        {
            var writer = new IndentWriter(target);

            writer.WriteLine(ToString());

            writer.IncIndent();
            StreamSpecific(writer);
            writer.WriteLine($"Sleeping Illegal: {SleepingIllegal}");

            if (ObjectReferences.Count > 0)
            {
                writer.WriteLine("Object References");
                writer.IncIndent();

                var table = new Table("Index", "Object Name", "Position", "Scale", "Blocked", "Exit Position", "Exit Cell", "Lock Level",
                    "Key", "Trap", "Owner", "Owner Global/Rank", "Stack Count", "Soul", "Charge", "Health As Int", "Health As Float");
                foreach (var reference in ObjectReferences)
                {
                    var exitPosition = reference.ExitPosition;

                    string exitCell;
                    if (exitPosition != null)
                    {
                        exitCell = reference.ExitCell ?? $"({exitPosition.GridX}, {exitPosition.GridY})";
                    }
                    else
                    {
                        exitCell = null;
                    }

                    var owner = reference.Owner;
                    object ownerExtra = null;
                    if (owner != null)
                    {
                        ownerExtra = reference.OwnerGlobal;
                    }
                    else
                    {
                        owner = reference.OwningFaction;
                        if (owner != null)
                        {
                            ownerExtra = reference.RequiredRank;
                        }
                    }

                    table.AddRow(reference.Index, reference.ObjectName, reference.Position, reference.Scale, reference.Blocked,
                        exitPosition, exitCell, reference.LockLevel, reference.Key, reference.Trap, owner, ownerExtra, reference.ObjectCount,
                        reference.Soul, reference.Charge, reference.IntHealth, reference.FloatHealth);
                }
                table.Print(writer);

                writer.DecIndent();
            }

            writer.DecIndent();
        }
        public override void StreamDebug(TextWriter target)
        {
            var writer = new IndentWriter(target);

            writer.WriteLine(ToString());

            writer.IncIndent();
            writer.WriteLine($"Name: {DisplayName}");
            writer.WriteLine($"Description: {Description}");
            writer.WriteLine($"Specialization: {Specialization}");

            writer.WriteLine("Favored Attributes");
            writer.IncIndent();
            foreach (var attribute in Attributes)
            {
                writer.WriteLine(attribute);
            }
            writer.DecIndent();

            writer.WriteLine("Major Skills");
            writer.IncIndent();
            foreach (var skill in MajorSkills)
            {
                writer.WriteLine(skill);
            }
            writer.DecIndent();

            writer.WriteLine("Minor Skills");
            writer.IncIndent();
            foreach (var skill in MinorSkills)
            {
                writer.WriteLine(skill);
            }
            writer.DecIndent();

            if (OffersServices)
            {
                writer.WriteLine("Default Services");
                writer.IncIndent();
                writer.WriteLine($"Enchanting: {OffersEnchanting}");
                writer.WriteLine($"Repair: {OffersRepair}");
                writer.WriteLine($"Spells: {SellsSpells}");
                writer.WriteLine($"Spellmaking: {OffersSpellmaking}");
                writer.WriteLine($"Training: {OffersTraining}");
                writer.DecIndent();
            }

            if (IsMerchant)
            {
                writer.WriteLine("Default Barter");
                writer.IncIndent();
                writer.WriteLine($"Apparatus: {BuysApparatus}");
                writer.WriteLine($"Armor: {BuysArmor}");
                writer.WriteLine($"Books: {BuysBooks}");
                writer.WriteLine($"Clothing: {BuysClothing}");
                writer.WriteLine($"Ingredients: {BuysIngredients}");
                writer.WriteLine($"Lights: {BuysLights}");
                writer.WriteLine($"Magic Items: {BuysMagicItems}");
                writer.WriteLine($"Misc: {BuysMiscItems}");
                writer.WriteLine($"Picks: {BuysPicks}");
                writer.WriteLine($"Potions: {BuysPotions}");
                writer.WriteLine($"Probes: {BuysProbes}");
                writer.WriteLine($"Repair Items: {BuysRepairItems}");
                writer.WriteLine($"Weapons: {BuysWeapons}");
                writer.DecIndent();
            }

            writer.DecIndent();
        }