protected override void DumpMembers(LuaTextWriter output) { output.WriteList("Definitions", Definitions); output.WriteList("Bonuses", Bonuses); output.WriteList("ProhibitedSpells", ProhibitedSpells); output.WriteList("Domains", Domains); output.WriteList("Abilities", Abilities); output.WriteList("ClassSkills", ClassSkills); output.WriteList("AddedSpellCasterLevels", AddedSpellCasterLevels); output.WriteList("SpellLists", SpellLists); if (WeaponBonusProficiencySelections.Any()) { output.WriteObjectValue("WeaponBonusProficiencySelections", () => { foreach (var selection in WeaponBonusProficiencySelections) { output.WriteStartObject(); foreach (var option in selection) { output.WriteValue(option); output.Write(", "); } output.WriteLine(); output.WriteEndObject(); } }); } base.DumpMembers(output); }