> [!infobox|center wfull] > # Objects of Interest: Forged in Fire > ![[objects of interest forged cover.png|320]] > ###### Campaign > | | | > | ---- | ---- | > | System | Dungeons and Dragons 5e | > | Calendar | [[Calendar of Harptos]] | > > | | | > | ---- | ---- | > | Start Date | 01/24/2026 | > | End Date | 02/15/2026 | > | Campaign Duration | 22 days | > | Number of Sessions | 4 | > > | | | > | ---- | ---- | > | Start ([[Calendar of Harptos\|Harptos]]) | 10/02/1491 | > | End ([[Calendar of Harptos\|Harptos]]) | 10/05/1491 | > | In-game Duration | 4 days | > > | | | > | ---- | ---- | > | Dungeon Master | [[Jett]] | ## Cast * [[Callista]] as [[Colleen Thimble]], a human savant (investigator) * [[Connor]] as [[Sonja Florakis]], a half-elf bard (college of spirits) * [[Lup]] as [[Fox d'Avenir (Alt Timeline)|Fox d'Avenir (future/alt-timeline)]], a near-human knight (code of the adventurer) * [[Rory]] as [[Esha]], a half-orc rogue (arcane trickster) ## All Characters ```base filters: and: - file.hasTag("Character") - note["Campaign"].contains(this) formulas: currentHarptos: this.file.properties["End (Harptos)"] relHarptosExists: if(note["Born (Harptos - Relative)"].isEmpty(),false,true) notBorn: if(note["Born (NY)"] || (note["Born (Harptos)"] - formula.currentHarptos).milliseconds < 0,false,true) nyAge: (date("3859-12-30") - date(note["Born (NY)"])) + (formula.currentHarptos - date("0001-01-01")) harptosAge: formula.currentHarptos - note["Born (Harptos)"] harptosAgeFloor: (formula.currentHarptos - note["Born (Harptos)"]).years.floor() harptosAgeCalc: if(formula.harptosAgeFloor <= 0,formula.harptosAge,formula.harptosAgeFloor + " years") relAge: formula.currentHarptos - note["Born (Harptos - Relative)"] relAgeFloor: (formula.currentHarptos - note["Born (Harptos - Relative)"]).years.floor() relAgeCalc: if(formula.relAgeFloor <= 0,formula.relAge,formula.relAgeFloor) age_in_years: if(note["Born (Harptos)"] && formula.notBorn == false,formula.harptosAgeCalc,if(note["Born (NY)"],formula.nyAge,"Born in "+formula.harptosAgeCalc)) rel_age_in_years: if(formula.relHarptosExists && note["Born (Harptos)"],formula.relAgeCalc,formula.age_in_years) age_in_years_incl_rel: if(formula.relHarptosExists,formula.rel_age_in_years + " (Truly " + formula.age_in_years + ")",formula.age_in_years) deathDate: if(note["Death Date (Harptos)"],note["Death Date (Harptos)"],note["Death Date (NY)"]) deathAgeInclRel: if(Status != "Dead",formula.rel_age_in_years,note["Death Age - Relative"] + " (Truly " + note["Death Age"] + ", Died " + formula.deathDate.format("MM/DD/YYYY") + ")") campaign_age: if(Status != "Dead",formula.age_in_years_incl_rel,if(formula.relHarptosExists,formula.deathAgeInclRel,note["Death Age"] + " (Died " + formula.deathDate.format("MM/DD/YYYY") + ")")) characterType: if(note["Character Type"].length == 2 && file.name == "Dyre Longstrider","NPC",if(note["Character Type"].contains("Player Character") || file.name == "Fox d'Avenir (Alt Timeline)","Player","NPC")) properties: file.name: displayName: Character formula.campaign_age: displayName: Age at Campaign End formula.characterType: displayName: Character Type views: - type: table name: Table groupBy: property: formula.characterType direction: DESC order: - file.name - formula.campaign_age - Status - formula.characterType sort: - property: formula.characterType direction: DESC - property: Status direction: ASC - property: file.name direction: ASC columnSize: file.name: 275 formula.campaign_age: 235 ``` ## Timeline See [[Objects of Interest - Forged in Fire Timeline|Objects of Interest: Forged in Fire Timeline]] for a comprehensive timeline of the campaign. ## Locations * [[Material Realms]] * [[Material Plane]] * [[Toril]] * [[Faerûn]] * [[Sword Coast]] * [[Axeholm]] * [[Phandalin]] * [[Cooler Tresendar Manor]] * [[Phandalin Smithy]] * [[Sleeping Giant]] * [[Stonehill Inn]] * [[Transitive Planes]] * [[Ethereal Plane]] * [[Radiant Citadel]] * [[Passage of Respite]] * [[Court of Whispers]] * [[PRISM HQ]] --- ## Page Tags/Properties **Tags:** #Campaign **Category:** [[Campaigns.base|Campaigns]]