> [!infobox|center wfull]
> # Tomb of Horrors
> ![[tomb of horrors cover.jpg|320]]
> ###### Campaign
> | | |
> | ---- | ---- |
> | System | Dungeons and Dragons 5e |
> | Calendar | [[Calendar of Harptos]] |
>
> | | |
> | ---- | ---- |
> | Start Date | 08/03/2021 |
> | End Date | 08/03/2021 |
> | Campaign Duration | 1 day |
> | Number of Sessions | 1 |
>
> | | |
> | ---- | ---- |
> | Start ([[Calendar of Harptos\|Harptos]]) | 04/30/1491 |
> | End ([[Calendar of Harptos\|Harptos]]) | 04/30/1491 |
> | In-game Duration | 1 day |
>
> | | |
> | ---- | ---- |
> | Dungeon Master | [[Lup]] |
Tomb of horrors was the first one-shot campaign ran by [[Lup]], taking place in the aftermath of [[Curse of Strahd]].
## Cast
- [[Callista]] as [[Nia Skultrac]], a dhampir rogue (soulknife)
- [[Jett]] as [[Skoll de Marais]], a river elf druid (circle of the moon)
- [[Rory]] as [[Krue d'Avenir|Krue]], an owlfolk aarakocra ranger (spell-less hunter)
## 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" || note["Death Date (Harptos)"] > formula.currentHarptos,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" || note["Death Date (Harptos)"] > formula.currentHarptos,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,"NPC",if(note["Character Type"].contains("Player Character"),"Player","NPC"))
Character: if(file.name == "Krue d'Avenir",link(file.name,"Krue"),link(file.name))
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:
- formula.Character
- formula.campaign_age
- Status
- formula.characterType
sort:
- property: formula.characterType
direction: DESC
- property: Status
direction: ASC
- property: file.name
direction: ASC
columnSize:
formula.Character: 182
formula.campaign_age: 235
```
## Locations
* [[Material Realms]]
* [[Material Plane]]
* [[Toril]]
* [[Faerûn]]
* [[Trackless Sea]]
* [[Sea of Swords]]
* [[Moonshae Isles]]
* [[Karador]]
* [[Tomb of Horrors (Location)]]
---
## Page Tags/Properties
**Tags:** #Campaign
**Category:** [[Campaigns.base|Campaigns]]