let pg = dv.current(); // set pg to be the current page, for brevity
let Name = pg.Name;
let Source = pg.Source;
let SourcePage = pg.SourcePage;
let Ritual = pg.Ritual;
let Level = pg.Level;
let School = pg.School;
let AreaDetail = pg.AreaDetail;
let TagsArea = pg.TagsArea;
let TagsMisc = pg.TagsMisc;
let RangeType = pg.RangeType;
let Range = pg.Range;
let ComponentsV = pg.ComponentsV;
let ComponentsS = pg.ComponentsS;
let ComponentsM = pg.ComponentsM;
let ComponentsMDetail = pg.ComponentsMDetail;
let ComponentsMCostCheck = pg.ComponentsMCostCheck;
let ComponentsMCost = pg.ComponentsMCost;
let ComponentsMConsume = pg.ComponentsMConsume;
let CastingTime = pg.CastingTime;
let DurationType = pg.DurationType;
let Duration = pg.Duration;
let Concentration = pg.Concentration;
let SaveCheck = pg.SaveCheck;
let AbilityCheck = pg.AbilityCheck;
let AffectsCreatureTypeCheck = pg.AffectsCreatureTypeCheck;
let AffectsCreatureType = pg.AffectsCreatureType;
let SpellAttack = pg.SpellAttack ;
let ImpactCheck = pg.ImpactCheck;
let ImpactTable = pg.ImpactTable;
let DamageInflict = pg.DamageInflict;
let ConditionInflict = pg.ConditionInflict;
let DamageVulnerable = pg.DamageVulnerable;
let DamageResist = pg.DamageResist;
let DamageImmune = pg.DamageImmune;
let ConditionImmune = pg.ConditionImmune;
let scalingLevelDice = pg.scalingLevelDice;
let HigherLevels = pg.HigherLevels;
let Description = pg.Description;
let DescriptionSub = pg.DescriptionSub;
let DescriptionTable = pg.DescriptionTable;
let Classes = pg.Classes;
let Backgrounds = pg.Backgrounds;
let Races = pg.Races;
////////////////////////////////
/////////// Filters
/////////// (e.g., excluding showing UA material
/////////// N.B. does not seem to work for multiples... yet)]
////////////////////////////////
let filterSources = ["(UA)"];
let ClassesFiltered = Classes.filter(x=>!x.includes(filterSources));
////////////////////////////////
/// Emoji Sets
////////////////////////////////
let emojiSets = {
//// Components //// //// //// //// ////
ComponentsV: ['💬', ''],
ComponentsS: ['🖐🏽', ''],
ComponentsM: ['🍄', ''],
ComponentsMConsume: [' **(Consumed)**', ''],
ComponentsMCostCheck: [ComponentsMCost, ''],
//// Concentration, Ritual, Save and Ability Check, Duration //// ////
Concentration: [' > [!danger] Concentration', ''],
Ritual: [' > [!tldr] Ritual', ''],
SaveCheck: ['> [!bug] ' + SaveCheck + ' Save\n>', ''],
AbilityCheck: ['> [!bug] ' + AbilityCheck + ' Check\n>', ''],
DurationType: {
timed: ' :fas_clock: ',
instant: 'Instant :fas_bolt_lightning: '
},
Duration: [Duration, ''],
//// Higher Levels //// //// //// //// ////
HigherLevels: ['> [!dnd-higher-levels] ' + "At Higher Levels (Slots)" + '\n' + HigherLevels, ''],
scalingLevelDice: ['> [!dnd-higher-levels] ' + "At Higher Levels (Character)" + '\n' + scalingLevelDice, ''],
//// Impacts - Damage, Condition, Creatures //// //// //// ////
DamageInflict: ['> [!dnd-impact] Damage Inflicted\n' + DamageInflict, ''],
DamageImmune: ['> [!dnd-impact-good] Damage Immunity\n' + DamageImmune, ''],
DamageResist: ['> [!dnd-impact-good] Damage Resistance\n' + DamageResist, ''],
DamageVulnerable: ['> [!attention] Damage Vulnerability\n' + DamageVulnerable, ''],
ConditionInflict: ['> [!dnd-impact] Condition Inflicted\n' + ConditionInflict, ''],
ConditionImmune: ['> [!dnd-impact-good] Condition Immunity\n' + ConditionImmune, ''],
AffectsCreatureTypeCheck: ['> [!dnd-impact] Affects Creature Type\n' + AffectsCreatureType + "\n", ''],
//// Classes, Races, Background //// //// //// //// ////
ClassesFiltered: ['> [!tldr] Classes\n' + Classes + "\n", ''],
Races: ['> [!tldr] Races\n' + Races + "\n", ''],
Backgrounds: ['> [!tldr] Backgrounds\n' + Backgrounds + "\n", ''],
};
/////// Components ////////////////////////////////////////////
let emojiV = ComponentsV ? emojiSets['ComponentsV'][0] : emojiSets['ComponentsV'][1];
let emojiS = ComponentsS ? emojiSets['ComponentsS'][0] : emojiSets['ComponentsS'][1];
let emojiM = ComponentsM ? emojiSets['ComponentsM'][0] : emojiSets['ComponentsM'][1];
let emojiMcon = ComponentsMConsume ? emojiSets['ComponentsMConsume'][0] : emojiSets['ComponentsMConsume'][1];
let emojiMcost = ComponentsMCostCheck ? emojiSets['ComponentsMCostCheck'][0] : emojiSets['ComponentsMCostCheck'][1];
/////// Concentration, Ritual, Saves, Ability Checks, Duration ///////////
let emojiC = Concentration ? emojiSets['Concentration'][0] : emojiSets['Concentration'][1];
let emojiR = Ritual ? emojiSets['Ritual'][0] : emojiSets['Ritual'][1];
let emojiSC = SaveCheck ? emojiSets['SaveCheck'][0] : emojiSets['SaveCheck'][1];
let emojiAC = AbilityCheck ? emojiSets['AbilityCheck'][0] : emojiSets['AbilityCheck'][1];
let emojiDuT = emojiSets['DurationType'][DurationType];
let emojiDu = Duration ? emojiSets['Duration'][0] : emojiSets['Duration'][1];
/////// Higher Levels /////////////////////////////
let emojiHLS = HigherLevels ? emojiSets['HigherLevels'][0] : emojiSets['HigherLevels'][1];
let emojiHLC = scalingLevelDice ? emojiSets['scalingLevelDice'][0] : emojiSets['scalingLevelDice'][1];
/////// Impacts - Damage, Conditions, Creatures /////////
let emojiDT = DamageInflict ? emojiSets['DamageInflict'][0] : emojiSets['DamageInflict'][1];
let emojiDI = DamageImmune ? emojiSets['DamageImmune'][0] : emojiSets['DamageImmune'][1];
let emojiDR = DamageResist ? emojiSets['DamageResist'][0] : emojiSets['DamageResist'][1];
let emojiDV = DamageVulnerable ? emojiSets['DamageVulnerable'][0] : emojiSets['DamageVulnerable'][1];
let emojiCT = ConditionInflict ? emojiSets['ConditionInflict'][0] : emojiSets['ConditionInflict'][1];
let emojiCI = ConditionImmune ? emojiSets['ConditionImmune'][0] : emojiSets['ConditionImmune'][1];
let emojiCreature = AffectsCreatureTypeCheck ? emojiSets['AffectsCreatureTypeCheck'][0] : emojiSets['AffectsCreatureTypeCheck'][1];
/////// Classes, Races, Backgrounds /////////
let emojiClassesFiltered = ClassesFiltered ? emojiSets['ClassesFiltered'][0] : emojiSets['ClassesFiltered'][1];
let emojiRaces = Races ? emojiSets['Races'][0] : emojiSets['Races'][1];
let emojiBackgrounds = Backgrounds ? emojiSets['Backgrounds'][0] : emojiSets['Backgrounds'][1];
////////////////////////////////
/// Content
////////////////////////////////
/////// Name, School, Level, Source /////////
dv.header(1, pg.Name);
dv.table(
[],
[
["*" + (pg.School + ', Level ' + pg.Level) + "*", (pg.Source + ', ' + pg.SourcePage)],
]
);
/////// Concentration, Ritual, Main Table, Duration ////////////////////
dv.paragraph(emojiC)
dv.paragraph(emojiR)
dv.table(
[],
[
["Casting Time:", CastingTime],
["Range:", Range],
["Area:", AreaDetail + " " + TagsArea],
["Components", emojiV + ' ' + emojiS + ' ' + emojiM],
["", ComponentsMDetail + "<br>" + emojiMcost + emojiMcon],
]
);
dv.paragraph("")
dv.span("Duration: ")
dv.el("b", emojiDu)
dv.el("b", emojiDuT)
/////// Description ////////////////////
dv.paragraph("> [!tldr] Description" + "\n>" + Description + ">" + DescriptionSub + ">" + DescriptionTable
);
/////// CARDS - Saves, Ability Checks, Damage, Conditions, Creature ////////////
dv.paragraph("\n> [!tldr] Details" + "\n>" + emojiSC + "\n>" + emojiAC + "\n>" + emojiDT + "\n>" + emojiDI + "\n>" + emojiDR + "\n>" + emojiDV + "\n>" + emojiCT + "\n>" + emojiCI + "\n>" + emojiCreature + "\n");
dv.paragraph(emojiHLS + "\n>" + emojiHLC)
/////// Clases, Races, Backgrounds ////////////////////
dv.paragraph("\n> [!tldr]- Classes/Races/Background" + "\n>" + emojiClassesFiltered + ">\n> " + emojiRaces + ">\n>" + emojiBackgrounds
);