From a58d40278b1e2cb1025cf06e265120ba27bb0ce8 Mon Sep 17 00:00:00 2001 From: Eric Woodward Date: Sat, 27 Apr 2024 17:09:53 -0400 Subject: [PATCH] add dinosaurs, dragons, and werebeasts add some more campaign info add encounter generators (alpha) --- package.json | 2 +- src/assets/fragments/aeryon/calendar.md | 50 +++++ src/assets/fragments/aeryon/today.md | 5 + .../fragments/bestiary/bats/bite-and-drain.md | 6 + .../bestiary/dragons/breath-weapon.md | 8 +- src/assets/fragments/bestiary/werebeast.md | 6 +- src/assets/scripts/tools.js | 200 +++++++++++++++++- src/assets/styles/styles.css | 37 ++++ src/pages/bestiary/bats/giant-bat.md | 2 +- src/pages/bestiary/bats/giant-vampire-bat.md | 7 +- src/pages/bestiary/dinosaurs/allosaurus.md | 25 +++ src/pages/bestiary/dinosaurs/ankylosaurus.md | 25 +++ src/pages/bestiary/dinosaurs/brontosaurus.md | 25 +++ src/pages/bestiary/dinosaurs/dimetrodon.md | 25 +++ src/pages/bestiary/dinosaurs/index.md | 20 ++ src/pages/bestiary/dinosaurs/plesiosaurus.md | 28 +++ src/pages/bestiary/dinosaurs/triceratops.md | 38 ++++ .../bestiary/dinosaurs/tyrannosaurus-rex.md | 28 +++ .../dragons/chromatic/black-dragon.md | 36 +++- .../bestiary/dragons/chromatic/blue-dragon.md | 36 +++- .../dragons/chromatic/green-dragon.md | 36 +++- src/pages/bestiary/dragons/chromatic/index.md | 18 ++ .../bestiary/dragons/chromatic/red-dragon.md | 36 +++- .../dragons/chromatic/white-dragon.md | 36 +++- .../dragons/crystalline/amethyst-dragon.md | 45 ++-- .../dragons/crystalline/emerald-dragon.md | 43 ++-- .../dragons/crystalline/onyx-dragon.md | 45 ++-- .../dragons/crystalline/ruby-dragon.md | 44 ++-- .../dragons/crystalline/sapphire-dragon.md | 45 ++-- src/pages/bestiary/dragons/index.md | 57 +++-- .../bestiary/dragons/metallic/brass-dragon.md | 49 +++-- .../dragons/metallic/bronze-dragon.md | 40 +++- .../dragons/metallic/copper-dragon.md | 40 +++- .../bestiary/dragons/metallic/gold-dragon.md | 40 +++- src/pages/bestiary/dragons/metallic/index.md | 2 +- .../dragons/metallic/silver-dragon.md | 40 +++- .../herd-mammals/herd-mammal-giant.md | 2 +- .../herd-mammals/herd-mammal-large.md | 30 ++- .../herd-mammals/herd-mammal-medium.md | 30 ++- .../herd-mammals/herd-mammal-small.md | 30 ++- .../bestiary/herd-mammals/herd-mammal-tiny.md | 29 +++ src/pages/bestiary/herd-mammals/index.md | 9 +- src/pages/bestiary/index.md | 12 +- src/pages/bestiary/shrulk.md | 30 +++ src/pages/bestiary/treant.md | 38 ++++ src/pages/bestiary/treulk.md | 37 ++++ src/pages/bestiary/werebeasts/index.md | 30 ++- src/pages/bestiary/werebeasts/werebadger.md | 31 +++ src/pages/bestiary/werebeasts/werebat.md | 31 +++ src/pages/bestiary/werebeasts/werebear.md | 32 +++ src/pages/bestiary/werebeasts/wereboar.md | 37 ++++ src/pages/bestiary/werebeasts/werecrow.md | 31 +++ src/pages/bestiary/werebeasts/weredragon.md | 11 + src/pages/bestiary/werebeasts/werefox.md | 58 +++++ src/pages/bestiary/werebeasts/werefrog.md | 37 ++++ src/pages/bestiary/werebeasts/werejaguar.md | 36 ++++ src/pages/bestiary/werebeasts/wereleopard.md | 34 +++ src/pages/bestiary/werebeasts/werelion.md | 48 +++++ src/pages/bestiary/werebeasts/weremoth.md | 52 +++++ src/pages/bestiary/werebeasts/wereorca.md | 40 ++++ src/pages/bestiary/werebeasts/wereotter.md | 32 +++ src/pages/bestiary/werebeasts/wereowl.md | 39 ++++ src/pages/bestiary/werebeasts/werepanda.md | 32 +++ src/pages/bestiary/werebeasts/wererabbit.md | 32 +++ src/pages/bestiary/werebeasts/wererat.md | 34 +++ src/pages/bestiary/werebeasts/wereraven.md | 33 +++ src/pages/bestiary/werebeasts/wereshark.md | 47 ++++ src/pages/bestiary/werebeasts/werespider.md | 36 ++-- src/pages/bestiary/werebeasts/weresquirrel.md | 29 +++ src/pages/bestiary/werebeasts/weretiger.md | 24 +-- src/pages/bestiary/werebeasts/werevulture.md | 29 +++ src/pages/bestiary/werebeasts/werewolf.md | 23 +- .../bestiary/werebeasts/werewolverine.md | 37 ++++ src/pages/campaign/index.md | 2 +- .../mini-campaigns/aeryon/blacktyde-bay.md | 29 +++ .../mini-campaigns/aeryon/calendar.md | 39 ++++ .../campaigns/mini-campaigns/aeryon/index.md | 26 +++ .../mini-campaigns/aeryon/isle-of-dread.md | 39 ++++ src/pages/campaigns/mini-campaigns/index.md | 44 +--- .../known-arcane-spells.md | 2 +- .../magic-items/blakrazur-doom-bringer.md | 21 -- src/pages/rules/adventuring.md | 34 +-- src/pages/rules/referees.md | 16 +- src/pages/spells/hypnotize.md | 29 +++ src/pages/tools/encounter-alpha.md | 7 + src/pages/tools/index.md | 4 +- 86 files changed, 2354 insertions(+), 345 deletions(-) create mode 100644 src/assets/fragments/aeryon/calendar.md create mode 100644 src/assets/fragments/aeryon/today.md create mode 100644 src/assets/fragments/bestiary/bats/bite-and-drain.md create mode 100644 src/pages/bestiary/dinosaurs/allosaurus.md create mode 100644 src/pages/bestiary/dinosaurs/ankylosaurus.md create mode 100644 src/pages/bestiary/dinosaurs/brontosaurus.md create mode 100644 src/pages/bestiary/dinosaurs/dimetrodon.md create mode 100644 src/pages/bestiary/dinosaurs/index.md create mode 100644 src/pages/bestiary/dinosaurs/plesiosaurus.md create mode 100644 src/pages/bestiary/dinosaurs/triceratops.md create mode 100644 src/pages/bestiary/dinosaurs/tyrannosaurus-rex.md create mode 100644 src/pages/bestiary/dragons/chromatic/index.md create mode 100644 src/pages/bestiary/herd-mammals/herd-mammal-tiny.md create mode 100644 src/pages/bestiary/shrulk.md create mode 100644 src/pages/bestiary/treant.md create mode 100644 src/pages/bestiary/treulk.md create mode 100644 src/pages/bestiary/werebeasts/werebadger.md create mode 100644 src/pages/bestiary/werebeasts/werebat.md create mode 100644 src/pages/bestiary/werebeasts/werebear.md create mode 100644 src/pages/bestiary/werebeasts/wereboar.md create mode 100644 src/pages/bestiary/werebeasts/werecrow.md create mode 100644 src/pages/bestiary/werebeasts/weredragon.md create mode 100644 src/pages/bestiary/werebeasts/werefox.md create mode 100644 src/pages/bestiary/werebeasts/werefrog.md create mode 100644 src/pages/bestiary/werebeasts/werejaguar.md create mode 100644 src/pages/bestiary/werebeasts/wereleopard.md create mode 100644 src/pages/bestiary/werebeasts/werelion.md create mode 100644 src/pages/bestiary/werebeasts/weremoth.md create mode 100644 src/pages/bestiary/werebeasts/wereorca.md create mode 100644 src/pages/bestiary/werebeasts/wereotter.md create mode 100644 src/pages/bestiary/werebeasts/wereowl.md create mode 100644 src/pages/bestiary/werebeasts/werepanda.md create mode 100644 src/pages/bestiary/werebeasts/wererabbit.md create mode 100644 src/pages/bestiary/werebeasts/wererat.md create mode 100644 src/pages/bestiary/werebeasts/wereraven.md create mode 100644 src/pages/bestiary/werebeasts/wereshark.md create mode 100644 src/pages/bestiary/werebeasts/weresquirrel.md create mode 100644 src/pages/bestiary/werebeasts/werevulture.md create mode 100644 src/pages/bestiary/werebeasts/werewolverine.md create mode 100644 src/pages/campaigns/mini-campaigns/aeryon/blacktyde-bay.md create mode 100644 src/pages/campaigns/mini-campaigns/aeryon/calendar.md create mode 100644 src/pages/campaigns/mini-campaigns/aeryon/index.md create mode 100644 src/pages/campaigns/mini-campaigns/aeryon/isle-of-dread.md create mode 100644 src/pages/spells/hypnotize.md diff --git a/package.json b/package.json index 40da982..2dbf980 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "planar-vagabond", - "version": "0.14.3", + "version": "0.14.4", "description": "", "main": "index.js", "scripts": { diff --git a/src/assets/fragments/aeryon/calendar.md b/src/assets/fragments/aeryon/calendar.md new file mode 100644 index 0000000..2a23c23 --- /dev/null +++ b/src/assets/fragments/aeryon/calendar.md @@ -0,0 +1,50 @@ +
+ +#### Trama, 78th Year Since Eradication + +
    + +
  1. Undo
  2. +
  3. Tudo
  4. +
  5. Trado
  6. +
  7. Pordo
  8. +
  9. Fendo
  10. +
  11. Saedo
  12. + +
  13. 1
  14. +
  15. 2
  16. +
  17. 3
  18. +
  19. 4
  20. +
  21. 5
  22. +
  23. 6
  24. +
  25. 7
  26. +
  27. 8
  28. +
  29. 9
  30. +
  31. 10
  32. +
  33. 11
  34. +
  35. 12
  36. +
  37. 13
  38. +
  39. 14
  40. +
  41. 15
  42. +
  43. 16
  44. +
  45. 17
  46. +
  47. 18
  48. +
  49. 19
  50. +
  51. 20
  52. +
  53. 21
  54. +
  55. 22
  56. +
  57. 23
  58. +
  59. 24
  60. +
  61. 25
  62. +
  63. 26
  64. +
  65. 27
  66. +
  67. 28
  68. +
  69. 29
  70. +
  71. 30
  72. +
+ +

+The month of Trama, in the 78th year since the Eradication of King Ranulf the Just and his court. +

+ +
diff --git a/src/assets/fragments/aeryon/today.md b/src/assets/fragments/aeryon/today.md new file mode 100644 index 0000000..5c5f289 --- /dev/null +++ b/src/assets/fragments/aeryon/today.md @@ -0,0 +1,5 @@ +
+ +As of last session, it is **the morning of Saedo, the 30th day of Trama, in the 78th year since the Eradication of King Ranulf the Just and his court**. + +
diff --git a/src/assets/fragments/bestiary/bats/bite-and-drain.md b/src/assets/fragments/bestiary/bats/bite-and-drain.md new file mode 100644 index 0000000..378274d --- /dev/null +++ b/src/assets/fragments/bestiary/bats/bite-and-drain.md @@ -0,0 +1,6 @@ +Bite victim must **Save vs Paralyze** or fall unconscious for 1d10 rounds. + +### Drain Blood + +- May drain blood from an unconscious victim, inflicting 1d4 hp damage each round automatically. +- Victim killed this way must **Save vs Spells** or become undead after 24 hours. diff --git a/src/assets/fragments/bestiary/dragons/breath-weapon.md b/src/assets/fragments/bestiary/dragons/breath-weapon.md index 518f3f5..bded6fc 100644 --- a/src/assets/fragments/bestiary/dragons/breath-weapon.md +++ b/src/assets/fragments/bestiary/dragons/breath-weapon.md @@ -1,9 +1,3 @@ -### Breath Weapon - - Can be used up to 3x per day. - All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. -- Shapes: - - **Cloud** - 50’ long, 40’ wide, 20’ high. - - **Cone** - 2’ wide at the mouth, 30’ wide at far end. - - **Line** - 5’ wide along whole length. -- Immune to their own breath weapon, automatically save vs related attacks. +- Immune to their own breath weapon, automatically saves vs related attacks. diff --git a/src/assets/fragments/bestiary/werebeast.md b/src/assets/fragments/bestiary/werebeast.md index 3c96f83..52d7664 100644 --- a/src/assets/fragments/bestiary/werebeast.md +++ b/src/assets/fragments/bestiary/werebeast.md @@ -1,9 +1,11 @@ - Immune to mundane, non-silver weapons. - Capable of shifting between their (natural) humanoid form, animal form, and a hybrid form. + - Takes one combat round to shift form, can attack as new form at end of round. - Must change into and remain in hybrid or animal form during a full moon. -- Humanoid form usually retains some characteristics from animal form. -- While in animal form, can only speak with animals of that type. - Cannot wear armor, as it limits their ability to shapeshift. +- Cannot use beak, bite, claw, or talon attacks when in humanoid form. +- Humanoid form usually retains some characteristics from animal form. +- While in animal form, can only speak with animals of that type (unless otherwise noted). - Cannot use weapons while in animal form. - May summon 1d2 animals associated with their animal form from the surrounding area. - Animals arrive in 1d4 rounds. diff --git a/src/assets/scripts/tools.js b/src/assets/scripts/tools.js index 907c14c..84c79d6 100644 --- a/src/assets/scripts/tools.js +++ b/src/assets/scripts/tools.js @@ -12,6 +12,15 @@ // adding a dice looks for a matching die in the pattern and increments how many there are, or appends (if no match) // so clicking "d6" 3x gives you "3d6" in box +// utilities +const getRandomValue = (max = 1, min = 1) => + Math.round(Math.random() * (max - min)) + min, + rollDice = (sides = 1, count = 1) => { + const vals = [...Array(count).keys()].map(() => getRandomValue(sides)), + total = vals.reduce((v, a) => a + v, 0); + return [total, ...vals]; + }; + // Die Roller script const addRollerForm = () => { const rollerForm = document.getElementById('js-rollerForm'), @@ -81,8 +90,6 @@ const RoomTypes = { if (room <= RoomTypes.SPECIAL) return false; return treasure <= 2; }, - getRandomValue = (max = 1, min = 1) => - Math.round(Math.random() * (max - min)) + min, addRoomForm = () => { const roomForm = document.getElementById('js-roomForm'), roomOutput = document.getElementById('js-roomOutput'); @@ -104,8 +111,8 @@ const RoomTypes = { }; // Complication Randomizer scripts -const shuffleContainer = (parent) => { - const container = document.getElementById(parent), +const shuffleContainer = (parentId) => { + const container = document.getElementById(parentId), children = container.children, length = children.length, shuffled = [...children]; @@ -114,12 +121,60 @@ const shuffleContainer = (parent) => { shuffled.sort(() => 0.5 - Math.random()); for (let i = 0; i < length; i++) container.appendChild(shuffled[i]); }, + setContainerContents = (parentId, content = '') => { + const container = document.getElementById(parentId); + if (container?.innerHTML) container.innerHTML = content; + }, addComplicationForm = () => { - const complicationForm = document.getElementById('js-complicationForm'); + const complicationForm = document.getElementById('js-complicationForm'), + formControls = document.createElement('div'); + formControls.innerHTML = [ + '', + '', + '', + ].join('\n'); + + complicationForm?.appendChild(formControls); + complicationForm?.addEventListener('submit', (e) => { e.preventDefault(); shuffleContainer('js-complicationList'); }); + + const setDungeonButton = document.getElementById('js-btnSetDungeon'), + setWildernessButton = document.getElementById( + 'js-btnSetWilderness' + ); + + setDungeonButton?.addEventListener('click', (e) => { + e.preventDefault(); + setContainerContents( + 'js-complicationList', + [ + '
  • Encounter
  • ', + '
  • Signs / Portents
  • ', + '
  • Locality
  • ', + '
  • Exhaustion *
  • ', + '
  • Light Source *
  • ', + '
  • No Complications
  • ', + ].join('\n') + ); + }); + + setWildernessButton?.addEventListener('click', (e) => { + e.preventDefault(); + setContainerContents( + 'js-complicationList', + [ + '
  • Encounter
  • ', + '
  • Encounter *
  • ', + '
  • Signs / Portents
  • ', + '
  • Locality / Weather (2d4)
  • ', + '
  • Lose Way (1d3 hrs)
  • ', + '
  • No Complications
  • ', + ].join('\n') + ); + }); }, addAstralComplicationForm = () => { const complicationForm = document.getElementById( @@ -131,11 +186,146 @@ const shuffleContainer = (parent) => { }); }; +const reactionButtonVal = [ + 'Attack!', + 'Hateful', + 'Leery', + 'Rude', + 'Aloof', + 'Uncertain', + 'Confused', + 'Indifferent', + 'Cordial', + 'Amiable', + 'Friendly!', + ], + rollEncounter = (sides = 1) => { + // roll 3d8 for monsters, note doubles (first 2 / last 2 / first & last) / triples + const [monsterTotal, ...monsterRolls] = rollDice(sides, 3), + hasStealthParty = + monsterRolls.length > 1 && monsterRolls[0] === monsterRolls[1], + hasStealthMonster = + monsterRolls.length > 2 && monsterRolls[1] === monsterRolls[2], + hasDoubleSurprise = hasStealthParty && hasStealthMonster, + hasDoubles = hasStealthParty || hasStealthMonster, + // roll 2d6 for reaction, note string & numeric value + [reactionTotal, ...reactionRolls] = rollDice(6, 2), + // roll 4d6 (or 1d4, if any doubles above) for starting distance + [distanceTotal, ...distanceRolls] = hasDoubles + ? rollDice(4) + : rollDice(6, 4), + // Derived string and scores + reactionText = `${ + reactionButtonVal[reactionTotal - 2] + } (${reactionTotal})
    [${reactionRolls}]`, + distanceText = `${ + distanceTotal * 10 + } yards
    [${distanceRolls}]`, + encounterOutput = document.getElementById('js-encounterOutput'), + outputTable = document.createElement('table'); + + // additional text denoting surprise results. + let surpriseText = ''; + if (hasDoubleSurprise) surpriseText = 'Double Surprise'; + else if (hasStealthMonster) surpriseText = 'Monster has stealth'; + else if (hasStealthParty) surpriseText = 'Party has stealth'; + if (surpriseText) surpriseText = `
    ${surpriseText}!`; + + // combine monster roll total + surprise + roll data + const monsterRollText = `${monsterTotal}${surpriseText}
    [${monsterRolls}]`; + + outputTable.innerHTML = [ + `Encounter (3d${sides}): ${dayjs().format( + 'YYYY-MM-DD HH:mm:ss' + )}`, + '', + `Monster${monsterRollText}`, + `Distance${distanceText}`, + `Reaction${reactionText}`, + '', + ].join('\n'); + outputTable.classList.add('encounterResultTable'); + + encounterOutput.prepend(outputTable); + }, + addEncounterRoller = () => { + const complicationForm = document.getElementById('js-encounterForm'), + formControls = document.createElement('div'); + formControls.innerHTML = [ + '
    ', + /* + '
    Dungeon
    ', + '', + '', + '', + '
    ', + */ + '
    Wilderness
    ', + '', + '', + '', + '
    ', + ].join('\n'); + + complicationForm?.appendChild(formControls); + + const rollDungeonEncounter3d4Button = document.getElementById( + 'js-btnRollDungeonEncounter3d4' + ), + rollDungeonEncounter3d6Button = document.getElementById( + 'js-btnRollDungeonEncounter3d6' + ), + rollDungeonEncounter3d8Button = document.getElementById( + 'js-btnRollDungeonEncounter3d8' + ), + rollWildernessEncounter3d4Button = document.getElementById( + 'js-btnRollWildernessEncounter3d4' + ), + rollWildernessEncounter3d6Button = document.getElementById( + 'js-btnRollWildernessEncounter3d6' + ), + rollWildernessEncounter3d8Button = document.getElementById( + 'js-btnRollWildernessEncounter3d8' + ); + + if (rollDungeonEncounter3d4Button) + rollDungeonEncounter3d4Button.addEventListener('click', (e) => { + e.preventDefault(); + rollEncounter(4); + }); + if (rollDungeonEncounter3d6Button) + rollDungeonEncounter3d6Button.addEventListener('click', (e) => { + e.preventDefault(); + rollEncounter(6); + }); + if (rollDungeonEncounter3d8Button) + rollDungeonEncounter3d8Button.addEventListener('click', (e) => { + e.preventDefault(); + rollEncounter(8); + }); + if (rollWildernessEncounter3d4Button) + rollWildernessEncounter3d4Button.addEventListener('click', (e) => { + e.preventDefault(); + rollEncounter(4); + }); + if (rollWildernessEncounter3d6Button) + rollWildernessEncounter3d6Button.addEventListener('click', (e) => { + e.preventDefault(); + rollEncounter(6); + }); + if (rollWildernessEncounter3d8Button) + rollWildernessEncounter3d8Button.addEventListener('click', (e) => { + e.preventDefault(); + rollEncounter(8); + }); + }; + export default (() => { addRollerForm(); addRoomForm(); addComplicationForm(); addAstralComplicationForm(); + addEncounterRoller(); })(); // @license-end diff --git a/src/assets/styles/styles.css b/src/assets/styles/styles.css index 5fe81d0..9dbdc31 100644 --- a/src/assets/styles/styles.css +++ b/src/assets/styles/styles.css @@ -321,6 +321,11 @@ table th { text-align: center; } +.calendarWrapper p { + text-align: center; + margin: 1rem; +} + .calendarWrapper .calendar { display: grid; grid-template-columns: repeat(6, 1fr); @@ -366,6 +371,38 @@ table th { padding: 0.5rem; } +.encounterResultTable { + margin-bottom: 1rem; + margin-top: 1rem; +} + +.encounterResultTable td { + text-align: center; + border: 1px dashed #f6bc43; +} + +.encounterResultTable th { + border: 1px dashed #f6bc43; + border-bottom-style: solid; + border-collapse: collapse; + padding: 0.5rem; +} + +.encounterButtonsWrapper { + display: flex; + flex-direction: row; + align-items: center; + justify-content: start; +} + +.encounterButtonsWildernessWrapper { + /* margin-left: auto; */ + border: 1px solid #e94e5c; + border-radius: .3rem; + padding: .25rem .5rem .5rem; + text-align: center; +} + .feature hr { border: 1px 0 0 0; border-color: #885c68; diff --git a/src/pages/bestiary/bats/giant-bat.md b/src/pages/bestiary/bats/giant-bat.md index 96eba71..bcbc481 100644 --- a/src/pages/bestiary/bats/giant-bat.md +++ b/src/pages/bestiary/bats/giant-bat.md @@ -25,6 +25,6 @@ Large (200 lbs), nocturnal, carnivorous flying mammals with 15' wingspans which -- 5% chance a group of giant bats are actually [giant vampire bats](). +- 5% chance a group of giant bats are actually [giant vampire bats](giant-vampire-bat.html). !!!include(bestiary/bats/echolocation.md)!!! diff --git a/src/pages/bestiary/bats/giant-vampire-bat.md b/src/pages/bestiary/bats/giant-vampire-bat.md index 058ea20..f915a6b 100644 --- a/src/pages/bestiary/bats/giant-vampire-bat.md +++ b/src/pages/bestiary/bats/giant-vampire-bat.md @@ -25,11 +25,6 @@ Large (200 lbs), nocturnal, blood-sucking flying mammals with 15' wingspans whic -Bite victim must **Save vs Paralyze** or fall unconscious for 1d10 rounds. - -### Drain Blood - -- May drain blood from an unconscious victim, inflicting 1d4 hp damage each round automatically. -- Victim killed this way must **Save vs Spells** or become undead after 24 hours. +!!!include(bestiary/bats/bite-and-drain.md)!!! !!!include(bestiary/bats/echolocation.md)!!! diff --git a/src/pages/bestiary/dinosaurs/allosaurus.md b/src/pages/bestiary/dinosaurs/allosaurus.md new file mode 100644 index 0000000..19d625d --- /dev/null +++ b/src/pages/bestiary/dinosaurs/allosaurus.md @@ -0,0 +1,25 @@ +--- +title: Allosaurus +description: Two-legged dinosaur, 15' tall, with large jaws and dagger-like teeth. +date_pub: 2024-04-14T14:02:38.000-04:00 +section: bestiary +content_type: feature +short_code: bd1a +--- + +Two-legged dinosaur, 15' tall, with large jaws and dagger-like teeth. + +
    + +| | | +| ----------------- | ---------------------- | +| **Hit Dice** | 13 (55hp) | +| **Armor Class** | 14 | +| **Attacks** | 1 (+9) @ 4d6 (bite) | +| **Movement** | 50' | +| **Saving Throws** | D8 W9 P10 B10 S12 (F7) | +| **Morale** | 9 | +| **Alignment** | Neutral | +| **XP** | 1350 | + +
    diff --git a/src/pages/bestiary/dinosaurs/ankylosaurus.md b/src/pages/bestiary/dinosaurs/ankylosaurus.md new file mode 100644 index 0000000..3b349cc --- /dev/null +++ b/src/pages/bestiary/dinosaurs/ankylosaurus.md @@ -0,0 +1,25 @@ +--- +title: Ankylosaurus +description: Four-legged, herbivorous dinosaur, 15' long and 4' tall (at the shoulder), with thick, bony armor and a massive, spiked-club-like tail. +date_pub: 2024-04-20T10:37:54.000-04:00 +section: bestiary +content_type: feature +short_code: bd1n +--- + +Four-legged, herbivorous dinosaur, 15' long and 4' tall (at the shoulder), with thick, bony armor and a massive, spiked-club-like tail. + +
    + +| | | +| ----------------- | ------------------------ | +| **Hit Dice** | 7 (33hp) | +| **Armor Class** | 19 | +| **Attacks** | 1 (+6) @ 2d6 (tail) | +| **Movement** | 20' | +| **Saving Throws** | D10 W11 P12 B13 S14 (F4) | +| **Morale** | 6 | +| **Alignment** | Neutral | +| **XP** | 450 | + +
    diff --git a/src/pages/bestiary/dinosaurs/brontosaurus.md b/src/pages/bestiary/dinosaurs/brontosaurus.md new file mode 100644 index 0000000..ab00fdc --- /dev/null +++ b/src/pages/bestiary/dinosaurs/brontosaurus.md @@ -0,0 +1,25 @@ +--- +title: Brontosaurus +description: Massive, four-legged, herbivorous dinosaur, 70'+ long and weighing 30+ tons, with a (relatively) small head, long neck, and powerful tapering tail. +date_pub: 2024-04-20T10:53:19.000-04:00 +section: bestiary +content_type: feature +short_code: bd1b +--- + +Massive, four-legged, herbivorous dinosaur, 70'+ long and weighing 30+ tons, with a (relatively) small head, long neck, and powerful tapering tail. + +
    + +| | | +| ----------------- | ------------------------------------------ | +| **Hit Dice** | 26 (117hp) | +| **Armor Class** | 14 | +| **Attacks** | 1 (+14) @ 2d6 (bite), 1 (+14) @ 3d6 (tail) | +| **Movement** | 20' | +| **Saving Throws** | D4 W5 P6 B5 S8 (F13) | +| **Morale** | 8 | +| **Alignment** | Neutral | +| **XP** | 3750 | + +
    diff --git a/src/pages/bestiary/dinosaurs/dimetrodon.md b/src/pages/bestiary/dinosaurs/dimetrodon.md new file mode 100644 index 0000000..cc42f48 --- /dev/null +++ b/src/pages/bestiary/dinosaurs/dimetrodon.md @@ -0,0 +1,25 @@ +--- +title: Dimetrodon +description: Four-legged dinosaur, 10' long, with a "sail" of bony spines and skin webbing on its back. +date_pub: 2024-04-20T11:00:41.000-04:00 +section: bestiary +content_type: feature +short_code: bd1d +--- + +Four-legged dinosaur, 10' long, with a "sail" of bony spines and skin webbing on its back. + +
    + +| | | +| ----------------- | ------------------------ | +| **Hit Dice** | 7 (31p) | +| **Armor Class** | 14 | +| **Attacks** | 1 (+6) @ 2d8 (bite) | +| **Movement** | 40' | +| **Saving Throws** | D10 W11 P12 B13 S14 (F4) | +| **Morale** | 8 | +| **Alignment** | Neutral | +| **XP** | 450 | + +
    diff --git a/src/pages/bestiary/dinosaurs/index.md b/src/pages/bestiary/dinosaurs/index.md new file mode 100644 index 0000000..d1a0c5a --- /dev/null +++ b/src/pages/bestiary/dinosaurs/index.md @@ -0,0 +1,20 @@ +--- +title: Dinosaurs +description: Any of a number of bird-like lizards, often found on "lost world" planes (or dreaded jungle islands). +date_pub: 2024-04-20T11:19:58.000-04:00 +section: bestiary +content_type: feature +short_code: bd1 +--- + +Any of a number of bird-like lizards, often found on "lost world" planes (or dreaded jungle islands). + +### Subtypes + +- [Allosaurus](./allosaurus.html): Two-legged dinosaur, 15' tall, with large jaws and dagger-like teeth. +- [Ankylosaurus](./ankylosaurus.html): Four-legged, herbivorous dinosaur, 15' long and 4' tall (at the shoulder), with thick, bony armor and a massive, spiked-club-like tail. +- [Brontosaurus](./brontosaurus.html): Massive, four-legged, herbivorous dinosaur, 70'+ long and weighing 30+ tons, with a (relatively) small head, long neck, and powerful tapering tail. +- [Dimetrodon](./dimetrodon.html): Four-legged dinosaur, 10' long, with a "sail" of bony spines and skin webbing on its back. +- [Plesiosaurus](./plesiosaurus.html): Lake-dwelling dinosaur, 40'+ long, with a long neck, snake-like head, and 4 flippers. +- [Triceratops](./triceratops.html): Four-legged, herbivorous dinosaur, 40' long and 12' high (at the shoulder), with a protective bone crest and three long horns on its head. +- [Tyrannosaurus Rex](./tyrannosaurus-rex.html): Two-legged dinosaur, 20'+ tall, with enormous jaws and small arms that preys on animal of human size or bigger. diff --git a/src/pages/bestiary/dinosaurs/plesiosaurus.md b/src/pages/bestiary/dinosaurs/plesiosaurus.md new file mode 100644 index 0000000..1ee039f --- /dev/null +++ b/src/pages/bestiary/dinosaurs/plesiosaurus.md @@ -0,0 +1,28 @@ +--- +title: Plesiosaurus +description: Lake-dwelling dinosaur, 40'+ long, with a long neck, snake-like head, and 4 flippers. +date_pub: 2024-04-20T11:09:14.000-04:00 +section: bestiary +content_type: feature +short_code: bd1p +--- + +Lake-dwelling dinosaur, 40'+ long, with a long neck, snake-like head, and 4 flippers. + +
    + +| | | +| ----------------- | ---------------------- | +| **Hit Dice** | 16 (72hp) | +| **Armor Class** | 13 | +| **Attacks** | 1 (+11) @ 4d6 (bite) | +| **Movement** | Swim 50' | +| **Saving Throws** | D8 W9 P10 B10 S12 (F8) | +| **Morale** | 9 | +| **Alignment** | Neutral | +| **XP** | 1350 | + +
    + +- Territorial, attacks intruders (in the water) on sight. +- Capable of overturning small water craft. diff --git a/src/pages/bestiary/dinosaurs/triceratops.md b/src/pages/bestiary/dinosaurs/triceratops.md new file mode 100644 index 0000000..931c6ad --- /dev/null +++ b/src/pages/bestiary/dinosaurs/triceratops.md @@ -0,0 +1,38 @@ +--- +title: Triceratops +description: Four-legged, herbivorous dinosaur, 40' long and 12' high (at the shoulder), with a protective bone crest and three long horns on its head. +date_pub: 2024-04-20T10:19:10.000-04:00 +section: bestiary +content_type: feature +short_code: bd1t +--- + +Four-legged, herbivorous dinosaur, 40' long and 12' high (at the shoulder), with a protective bone crest and three long horns on its head. + +
    + +| | | +| ----------------- | --------------------------------------------- | +| **Hit Dice** | 11 (49hp) | +| **Armor Class** | 17 | +| **Attacks** | 1 (+8) @ 3d6 (gore) or 1 (+8) @ 3d6 (trample) | +| **Movement** | 30' | +| **Saving Throws** | D10 W11 P12 B13 S14 (6) | +| **Morale** | 8 | +| **Alignment** | Neutral | +| **XP** | 1100 | + +
    + +- Territorial, attacks intruders on sight. + +### Charge + +- First round of combat only. +- Requires 20 yard run to get up to speed. +- Gore attack inflicts double damage. + +### Trample + +- 75% chance of trampling each round. +- +4 to hit humanoid-sized or smaller targets. diff --git a/src/pages/bestiary/dinosaurs/tyrannosaurus-rex.md b/src/pages/bestiary/dinosaurs/tyrannosaurus-rex.md new file mode 100644 index 0000000..2798340 --- /dev/null +++ b/src/pages/bestiary/dinosaurs/tyrannosaurus-rex.md @@ -0,0 +1,28 @@ +--- +title: Tyrannosaurus Rex +description: Two-legged dinosaur, 20'+ tall, with enormous jaws and small arms that preys on animal of human size or bigger. +date_pub: 2024-04-20T10:07:54.000-04:00 +section: bestiary +content_type: feature +short_code: bd1r +--- + +Two-legged dinosaur, 20'+ tall, with enormous jaws and small arms that preys on animal of human size or bigger. + +
    + +| | | +| ----------------- | -------------------- | +| **Hit Dice** | 20 (90hp) | +| **Armor Class** | 16 | +| **Attacks** | 1 (+13) @ 6d6 (bite) | +| **Movement** | 40' | +| **Saving Throws** | D6 W7 P8 B8 S10 (10) | +| **Morale** | 11 | +| **Alignment** | Neutral | +| **XP** | 2000 | + +
    + +- Aggressive, attacks on sight. +- Attacks largest potential target first. diff --git a/src/pages/bestiary/dragons/chromatic/black-dragon.md b/src/pages/bestiary/dragons/chromatic/black-dragon.md index 7ffbf17..187b56e 100644 --- a/src/pages/bestiary/dragons/chromatic/black-dragon.md +++ b/src/pages/bestiary/dragons/chromatic/black-dragon.md @@ -1,9 +1,37 @@ --- title: Black Dragon -description: TBD -date_pub: 2023-04-09T23:12:00-04:00 +description: A chromatic dragon that lairs in swamps and marshes. +date_pub: 2024-04-21T10:55:56.000-04:00 section: bestiary content_type: feature -short_code: bdcb -status: draft +short_code: bdrcb --- + +A [chromatic dragon](./index.html) that lairs in swamps and marshes. + +
    + +| | | +| ----------------- | ------------------------------------------------- | +| **Hit Dice** | 7\*\* (31hp) | +| **Armor Class** | 17 | +| **Attacks** | +6: 2 @ 1d4+1 (claw) & 1 @ 2d10 (bite), or breath | +| **Movement** | 30' / 80' flying | +| **Saving Throws** | D8 W9 P10 B10 S12 (7) | +| **Morale** | 8 | +| **Alignment** | Chaotic | +| **XP** | 1250 | + +
    + +- 20% chance can speak and use arcane magic, knowing 1d4 1st level spells. +- 30% chance of sleeping. + +### Breath Weapon + +60' long line of acid. + +- 5’ wide along whole length. +- Can be used up to 3x per day. +- All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Immune to own breath weapon, automatically saves vs related attacks. diff --git a/src/pages/bestiary/dragons/chromatic/blue-dragon.md b/src/pages/bestiary/dragons/chromatic/blue-dragon.md index 74c1bf4..29d3fb2 100644 --- a/src/pages/bestiary/dragons/chromatic/blue-dragon.md +++ b/src/pages/bestiary/dragons/chromatic/blue-dragon.md @@ -1,9 +1,37 @@ --- title: Blue Dragon -description: TBD -date_pub: 2023-04-09T23:12:00-04:00 +description: A chromatic dragon that lairs on open plains and in deserts. +date_pub: 2024-04-21T11:14:43.000-04:00 section: bestiary content_type: feature -short_code: bdcu -status: draft +short_code: bdrcu --- + +A [chromatic dragon](./index.html) that lairs on open plains and in deserts. + +
    + +| | | +| ----------------- | ------------------------------------------------- | +| **Hit Dice** | 9\*\* (40hp) | +| **Armor Class** | 19 | +| **Attacks** | +7: 2 @ 1d6+1 (claw) & 1 @ 3d10 (bite), or breath | +| **Movement** | 30' / 80' flying | +| **Saving Throws** | D8 W9 P10 B10 S12 (9) | +| **Morale** | 9 | +| **Alignment** | Neutral | +| **XP** | 2300 | + +
    + +- 40% chance can speak and use arcane magic, knowing 1d4 1st level spells and 1d4 2nd level spells. +- 20% chance of sleeping. + +### Breath Weapon + +100' long line of lightning. + +- 5’ wide along whole length. +- Can be used up to 3x per day. +- All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Immune to own breath weapon, automatically saves vs related attacks. diff --git a/src/pages/bestiary/dragons/chromatic/green-dragon.md b/src/pages/bestiary/dragons/chromatic/green-dragon.md index 6b63c63..2d2907a 100644 --- a/src/pages/bestiary/dragons/chromatic/green-dragon.md +++ b/src/pages/bestiary/dragons/chromatic/green-dragon.md @@ -1,9 +1,37 @@ --- title: Green Dragon -description: TBD -date_pub: 2023-04-10T21:15:00-04:00 +description: A chromatic dragon that lairs in jungles and forests. +date_pub: 2024-04-21T11:25:22.000-04:00 section: bestiary content_type: feature -short_code: bdcg -status: draft +short_code: bdrcg --- + +A [chromatic dragon](./index.html) that lairs in jungles and forests. + +
    + +| | | +| ----------------- | ---------------------------------------------- | +| **Hit Dice** | 8\*\* (36hp) | +| **Armor Class** | 18 | +| **Attacks** | +7: 2 @ 1d6 (claw) & 1 @ 3d8 (bite), or breath | +| **Movement** | 30' / 80' flying | +| **Saving Throws** | D8 W9 P10 B10 S12 (8) | +| **Morale** | 9 | +| **Alignment** | Chaotic | +| **XP** | 1750 | + +
    + +- 30% chance can speak and use arcane magic, knowing 1d3 1st level spells and 1d3 2nd level spells. +- 30% chance of sleeping. + +### Breath Weapon + +Cloud of chlorine gas. + +- 50’ long, 40’ wide, 20’ high. +- Can be used up to 3x per day. +- All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Immune to own breath weapon, automatically saves vs related attacks. diff --git a/src/pages/bestiary/dragons/chromatic/index.md b/src/pages/bestiary/dragons/chromatic/index.md new file mode 100644 index 0000000..6c9f335 --- /dev/null +++ b/src/pages/bestiary/dragons/chromatic/index.md @@ -0,0 +1,18 @@ +--- +title: Chromatic Dragons +description: +date_pub: 2024-04-21T11:53:25.000-04:00 +section: bestiary +content_type: feature +short_code: mdrc +--- + +A subclass of [dragons](../index.html) with brightly-colored scales, and a (general) affinity for chaos. By far the most common subtype of dragon found on the material planes. + +### Types of Chromatic Dragons + +- [Black](./black-dragon.html) +- [Blue](./blue-dragon.html) +- [Green](./green-dragon.html) +- [Red](./red-dragon.html) +- [White](./white-dragon.html) diff --git a/src/pages/bestiary/dragons/chromatic/red-dragon.md b/src/pages/bestiary/dragons/chromatic/red-dragon.md index 4d6d098..a2af2a6 100644 --- a/src/pages/bestiary/dragons/chromatic/red-dragon.md +++ b/src/pages/bestiary/dragons/chromatic/red-dragon.md @@ -1,9 +1,37 @@ --- title: Red Dragon -description: TBD -date_pub: 2023-04-10T21:15:00-04:00 +description: A chromatic dragon that lairs in hills and mountains. +date_pub: 2024-04-21T11:32:07.000-04:00 section: bestiary content_type: feature -short_code: bdcr -status: draft +short_code: bdrcr --- + +A [chromatic dragon](./index.html) that lairs in hills and mountains. + +
    + +| | | +| ----------------- | ---------------------------------------------- | +| **Hit Dice** | 10\*\* (45hp) | +| **Armor Class** | 20 | +| **Attacks** | +8: 2 @ 1d8 (claw) & 1 @ 4d8 (bite), or breath | +| **Movement** | 30' / 80' flying | +| **Saving Throws** | D6 W7 P8 B8 S10 (10) | +| **Morale** | 10 | +| **Alignment** | Chaotic | +| **XP** | 2300 | + +
    + +- 50% chance can speak and use arcane magic, knowing 1d3 1st level spells, 1d3 2nd level spells, and 1d3 3rd level spells. +- 10% chance of sleeping. + +### Breath Weapon + +90' long cone of fire. + +- 2’ wide at the mouth, 30’ wide at far end. +- Can be used up to 3x per day. +- All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Immune to own breath weapon, automatically saves vs related attacks. diff --git a/src/pages/bestiary/dragons/chromatic/white-dragon.md b/src/pages/bestiary/dragons/chromatic/white-dragon.md index df8f259..8ddde9d 100644 --- a/src/pages/bestiary/dragons/chromatic/white-dragon.md +++ b/src/pages/bestiary/dragons/chromatic/white-dragon.md @@ -1,9 +1,37 @@ --- title: White Dragon -description: TBD -date_pub: 2023-04-10T21:15:00-04:00 +description: A chromatic dragon that lairs in old areas. +date_pub: 2024-04-21T11:47:07.000-04:00 section: bestiary content_type: feature -short_code: bdcw -status: draft +short_code: bdrcw --- + +A [chromatic dragon](./index.html) that lairs in old areas. + +
    + +| | | +| ----------------- | ------------------------------------------------- | +| **Hit Dice** | 6\*\* (27hp) | +| **Armor Class** | 16 | +| **Attacks** | +5: 2 @ 1d4+1 (claw) & 1 @ 2d10 (bite), or breath | +| **Movement** | 30' / 80' flying | +| **Saving Throws** | D10 W11 P12 B13 S14 (6) | +| **Morale** | 8 | +| **Alignment** | Neutral | +| **XP** | 725 | + +
    + +- 10% chance can speak and use arcane magic, knowing 1d3 1st level spells. +- 50% chance of sleeping. + +### Breath Weapon + +90’ long line of cold. + +- 5’ wide along whole length. +- Can be used up to 3x per day. +- All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Immune to own breath weapon, automatically saves vs related attacks. diff --git a/src/pages/bestiary/dragons/crystalline/amethyst-dragon.md b/src/pages/bestiary/dragons/crystalline/amethyst-dragon.md index b1da76f..b249d63 100644 --- a/src/pages/bestiary/dragons/crystalline/amethyst-dragon.md +++ b/src/pages/bestiary/dragons/crystalline/amethyst-dragon.md @@ -1,36 +1,45 @@ --- title: Amethyst Dragon -description: Information about Amethyst Dragons. +description: A crystalline dragon that lairs at the top of glacial ridges and snowy peaks, or in the astral plane. date_pub: 2023-04-10T22:43:00-04:00 section: bestiary content_type: feature -short_code: bdca -status: hidden +short_code: bdrya --- -[Crystalline dragons](./index.html) that lair at the top of glacial ridges and snowy peaks, or in the astral plane. +A [crystalline dragon](./index.html) that lairs at the top of glacial ridges and snowy peaks, or in the astral plane.
    -| | | -| ----------------- | -------------------------------------------------- | -| **Hit Dice** | 8\*\* (36hp) | -| **Armor Class** | 19 | -| **Attacks** | 2(+7) @ claw (1d6) & 1(+7) @ bite (3d8), or breath | -| **Movement** | 30' / 80' flying / 300' astral | -| **Saving Throws** | D8 W9 P10 B10 S12 (8) | -| **Morale** | 9 | -| **Alignment** | Neutral | -| **XP** | 1,750 | +| | | +| ----------------- | ----------------------------------------------- | +| **Hit Dice** | 8\*\* (36hp) | +| **Armor Class** | 18 | +| **Attacks** | +7: 2 @ 1d6 (claw) & 1 @ 2d10 (bite), or breath | +| **Movement** | 30' / 80' flying / 300' astral | +| **Saving Throws** | D8 W9 P10 B10 S12 (8) | +| **Morale** | 9 | +| **Alignment** | Neutral | +| **XP** | 1750 |
    -- Has multiple [breath weapons](../index.html#breath-weapon): - - 90’ long line of cold (damage equal to dragon’s current hit points, **Save vs Blasts** for half damage), and - - cloud of charming gas (**Save vs Blasts** or be charmed for 1d6 turns). -- 40% chance can speak and cast 1d3 1st level spells and 1d3 2nd level spells. +- 40% chance can speak and use arcane magic, knowing 1d3 1st level spells and 1d3 2nd level spells. - 30% chance of sleeping. +### Breath Weapons + +Multiple [breath weapons](../index.html#breath-weapon). + +- Cloud of charming gas + - 50’ long, 40’ wide, 20’ high. + - All caught in area must **Save vs Blasts** or be charmed for 1d6 turns. +- 90’ long line of cold + - 5’ wide along whole length. + - All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Can be used up to 3x per day total. +- Immune to own breath weapons, automatically saves vs related attacks. + !!!include(bestiary/dragons/astral-gliding.md)!!! !!!include(bestiary/dragons/planar-roar.md)!!! diff --git a/src/pages/bestiary/dragons/crystalline/emerald-dragon.md b/src/pages/bestiary/dragons/crystalline/emerald-dragon.md index 94268cf..3c8b567 100644 --- a/src/pages/bestiary/dragons/crystalline/emerald-dragon.md +++ b/src/pages/bestiary/dragons/crystalline/emerald-dragon.md @@ -1,37 +1,46 @@ --- title: Emerald Dragon -description: TBD +description: A crystalline dragon that lives on isolated peaks and the astral plane. date_pub: 2023-04-10T22:52:00-04:00 section: bestiary content_type: feature -short_code: bdce -status: hidden +short_code: bdrye --- -[Crystalline dragons](./index.html) that live on isolated peaks and the astral plane. +A [crystalline dragon](./index.html) that lives on isolated peaks and the astral plane.
    -| | | -| ----------------- | -------------------------------------------------- | -| **Hit Dice** | 9\*\* (40hp) | -| **Armor Class** | 20 | -| **Attacks** | 2(+7) @ claw (1d6) & 1(+7) @ bite (3d8), or breath | -| **Movement** | 30' / 80' flying / 300' astral | -| **Saving Throws** | D8 W9 P10 B10 S12 (9) | -| **Morale** | 9 | -| **Alignment** | Neutral | -| **XP** | 2,300 | +| | | +| ----------------- | ------------------------------------------------ | +| **Hit Dice** | 9\*\* (40hp) | +| **Armor Class** | 19 | +| **Attacks** | +7: 2 @ 1d6+1 (claw) & 1 @ 3d8 (bite), or breath | +| **Movement** | 30' / 80' flying / 300' astral | +| **Saving Throws** | D8 W9 P10 B10 S12 (9) | +| **Morale** | 9 | +| **Alignment** | Neutral | +| **XP** | 2300 |
    -- Has multiple [breath weapons](../index.html#breath-weapon): - - 60’ long cone of acid (damage equal to dragon’s current hit points, **Save vs Blasts** for half damage), and - - cloud of confusion gas (**Save vs Blasts** or be catatonic for 2d4 turns). - 50% chance can speak and cast 1d4 1st level spells and 1d4 2nd level spells. - 20% chance of sleeping. - Can assume the form of an animal. +### Breath Weapons + +Multiple [breath weapons](../index.html#breath-weapon). + +- Cloud of confusion gas. + - 50’ long, 40’ wide, 20’ high. + - All caught in area must **Save vs Blasts** or be catatonic for 2d4 turns. +- 60’ long cone of acid. + - 2’ wide at the mouth, 30’ wide at far end + - All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Can be used up to 3x per day total. +- Immune to own breath weapons, automatically saves vs related attacks. + !!!include(bestiary/dragons/astral-gliding.md)!!! !!!include(bestiary/dragons/planar-roar.md)!!! diff --git a/src/pages/bestiary/dragons/crystalline/onyx-dragon.md b/src/pages/bestiary/dragons/crystalline/onyx-dragon.md index 820aaf2..fc2d873 100644 --- a/src/pages/bestiary/dragons/crystalline/onyx-dragon.md +++ b/src/pages/bestiary/dragons/crystalline/onyx-dragon.md @@ -1,36 +1,45 @@ --- title: Onyx Dragon -description: TBD -date_pub: 2023-04-10T22:56:00-04:00 +description: A crystalline dragon that dwells deep underground and in the astral plane. +date_pub: 2024-04-21T12:07:39.000-04:00 section: bestiary content_type: feature -short_code: bdc0 -status: hidden +short_code: bdry0 --- -[Crystalline dragons](./index.html) that dwell deep underground and in the astral plane. +A [crystalline dragon](./index.html) that dwells deep underground and in the astral plane.
    -| | | -| ----------------- | -------------------------------------------------- | -| **Hit Dice** | 6\*\* (27hp) | -| **Armor Class** | 17 | -| **Attacks** | 2(+5) @ claw (1d4) & 1(+5) @ bite (2d8), or breath | -| **Movement** | 30' / 80' flying / 300' astral | -| **Saving Throws** | D10 W11 P12 B13 S14 (6) | -| **Morale** | 8 | -| **Alignment** | Chaotic | -| **XP** | 725 | +| | | +| ----------------- | ---------------------------------------------- | +| **Hit Dice** | 6\*\* (27hp) | +| **Armor Class** | 16 | +| **Attacks** | +5: 2 @ 1d4 (claw) & 1 @ 2d6 (bite), or breath | +| **Movement** | 30' / 80' flying / 300' astral | +| **Saving Throws** | D10 W11 P12 B13 S14 (6) | +| **Morale** | 8 | +| **Alignment** | Chaotic | +| **XP** | 725 |
    -- Has multiple [breath weapons](../index.html#breath-weapon): - - cloud of chlorine gas (damage equal to dragon’s current hit points, **Save vs Blasts** for half damage), and - - cloud of fear gas (**Save vs Blasts** or flee for 1d4 turns). - 20% chance can speak and cast 1d3 1st level spells. - 50% chance of sleeping. +### Breath Weapons + +Multiple [breath weapons](../index.html#breath-weapon). + +- Cloud of fear gas. + - 50’ long, 40’ wide, 20’ high. + - All caught in area must **Save vs Blasts** or flee for 1d4 turns. +- Cloud of chlorine gas. + - 50’ long, 40’ wide, 20’ high. + - All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Can be used up to 3x per day total. +- Immune to own breath weapons, automatically saves vs related attacks. + !!!include(bestiary/dragons/astral-gliding.md)!!! !!!include(bestiary/dragons/planar-roar.md)!!! diff --git a/src/pages/bestiary/dragons/crystalline/ruby-dragon.md b/src/pages/bestiary/dragons/crystalline/ruby-dragon.md index 4de5960..3ce840e 100644 --- a/src/pages/bestiary/dragons/crystalline/ruby-dragon.md +++ b/src/pages/bestiary/dragons/crystalline/ruby-dragon.md @@ -1,37 +1,45 @@ --- title: Ruby Dragon -description: TBD -date_pub: 2023-04-10T23:01:00-04:00 +description: A crystalline dragon that lairs in dormant volcanoes and the astral plane. +date_pub: 2024-04-21T12:08:25.000-04:00 section: bestiary content_type: feature -short_code: bdcr -status: hidden +short_code: bdryr --- -[Crystalline dragons](./index.html) that lair in dormant volcanoes and the astral plane. +A [crystalline dragons](./index.html) that lairs in dormant volcanoes and the astral plane.
    -| | | -| ----------------- | -------------------------------------------------- | -| **Hit Dice** | 10\*\* (45hp) | -| **Armor Class** | 21 | -| **Attacks** | 2(+8) @ claw (1d6) & 1(+8) @ bite (4d8), or breath | -| **Movement** | 30' / 80' flying / 300' astral | -| **Saving Throws** | D6 W7 P8 B8 S10 (10) | -| **Morale** | 10 | -| **Alignment** | Neutral | -| **XP** | 2,300 | +| | | +| ----------------- | ----------------------------------------------- | +| **Hit Dice** | 10\*\* (45hp) | +| **Armor Class** | 20 | +| **Attacks** | +8: 2 @ 1d8 (claw) & 1 @ 3d10 (bite), or breath | +| **Movement** | 30' / 80' flying / 300' astral | +| **Saving Throws** | D6 W7 P8 B8 S10 (10) | +| **Morale** | 10 | +| **Alignment** | Neutral | +| **XP** | 2300 |
    -- Has multiple [breath weapons](../index.html#breath-weapon): - - 100’ long line of fire (damage equal to dragon’s current hit points, **Save vs Blasts** for half damage), and - - cloud of antimagic gas (ends all spells of non-instantaneous duration, as if Dispel Magic has been cast). - 90% chance can speak and cast 1d3 1st level spells, 1d3 2nd level spells, and 1d3 3rd level spells. - 10% chance of sleeping. - Can assume the form of an animal or humanoid. +### Breath Weapons + +Multiple [breath weapons](../index.html#breath-weapon). + +- Cloud of anti-magic gas. + - Ends all spells of non-instantaneous duration, as if Dispel Magic has been cast. +- 100’ long line of fire. + - 2’ wide at the mouth, 30’ wide at far end. + - All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Can be used up to 3x per day total. +- Immune to own breath weapons, automatically saves vs related attacks. + !!!include(bestiary/dragons/astral-gliding.md)!!! !!!include(bestiary/dragons/planar-roar.md)!!! diff --git a/src/pages/bestiary/dragons/crystalline/sapphire-dragon.md b/src/pages/bestiary/dragons/crystalline/sapphire-dragon.md index 28cf842..df19f11 100644 --- a/src/pages/bestiary/dragons/crystalline/sapphire-dragon.md +++ b/src/pages/bestiary/dragons/crystalline/sapphire-dragon.md @@ -1,36 +1,45 @@ --- title: Sapphire Dragon -description: TBD -date_pub: 2023-04-10T22:36:00-04:00 +description: A crystalline dragon that lives along rocky seacoasts or in the astral plane. +date_pub: 2024-04-21T12:13:06.000-04:00 section: bestiary content_type: feature -short_code: bdcs -status: hidden +short_code: bdry5 --- -[Crystalline dragons](./index.html) that live along rocky seacoasts or in the astral plane. +A [crystalline dragon](./index.html) that lives along rocky seacoasts or in the astral plane.
    -| | | -| ----------------- | ---------------------------------------------------- | -| **Hit Dice** | 7\*\* (31hp) | -| **Armor Class** | 18 | -| **Attacks** | 2(+6) @ claw (1d4+1) & 1(+6) @ bite (3d6), or breath | -| **Movement** | 30' / 80' flying / 300' astral | -| **Saving Throws** | D8 W9 P10 B10 S12 (7) | -| **Morale** | 8 | -| **Alignment** | Lawful | -| **XP** | 1,250 | +| | | +| ----------------- | ---------------------------------------------- | +| **Hit Dice** | 7\*\* (31hp) | +| **Armor Class** | 17 | +| **Attacks** | +6: 2 @ claw (1d4+1) & @ bite (3d6), or breath | +| **Movement** | 30' / 80' flying / 300' astral | +| **Saving Throws** | D8 W9 P10 B10 S12 (7) | +| **Morale** | 8 | +| **Alignment** | Lawful | +| **XP** | 1250 |
    -- Has multiple [breath weapons](../index.html#breath-weapon): - - 70’ long cone of lightning (damage equal to dragon’s current hit points, **Save vs Blasts** for half damage), and - - cloud of sleep gas (**Save vs Blasts** or fall asleep for 4d4 turns). - 30% chance can speak and cast 1d4 1st level spells. - 40% chance of sleeping. +### Breath Weapons + +Multiple [breath weapons](../index.html#breath-weapon). + +- Cloud of sleep gas. + - 50’ long, 40’ wide, 20’ high. + - All caught in area must **Save vs Blasts** or fall asleep for 4d4 turns. +- 70’ long cone of lightning. + - 2’ wide at the mouth, 30’ wide at far end. + - All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Can be used up to 3x per day total. +- Immune to own breath weapons, automatically saves vs related attacks. + !!!include(bestiary/dragons/astral-gliding.md)!!! !!!include(bestiary/dragons/planar-roar.md)!!! diff --git a/src/pages/bestiary/dragons/index.md b/src/pages/bestiary/dragons/index.md index ef0c3b7..56c226a 100644 --- a/src/pages/bestiary/dragons/index.md +++ b/src/pages/bestiary/dragons/index.md @@ -4,7 +4,7 @@ description: Information about Dragons. date_pub: 2023-04-09T18:34:00-04:00 section: bestiary content_type: feature -short_code: bd1 +short_code: bdr --- Huge, proud, flying lizards with massive wings and the ability to spew one or more types of attack from their mouths. @@ -19,31 +19,44 @@ Huge, proud, flying lizards with massive wings and the ability to spew one or mo - Can be used up to 3x per day. - All caught in area take damage equal to dragon's current hit points, **Save vs Blasts** for half. +- Immune to their own breath weapon, automatically saves vs related attacks. - Shapes: - **Cloud** - 50’ long, 40’ wide, 20’ high. - **Cone** - 2’ wide at the mouth, 30’ wide at far end. - **Line** - 5’ wide along whole length. -- Immune to their own breath weapon, automatically save vs related attacks. - diff --git a/src/pages/rules/adventuring.md b/src/pages/rules/adventuring.md index 0d79318..558d335 100644 --- a/src/pages/rules/adventuring.md +++ b/src/pages/rules/adventuring.md @@ -133,6 +133,8 @@ To navigate to a location in a busting city, make a Reaction Roll (2d6) + CHA mo - 12 HD: May carry a large creature (ex: horse) - 24 HD: May carry a huge animal (ex: elephant) + **Losing Direction** @@ -161,6 +161,8 @@ Adventures section for the effects of darkness. - Hills, mountains, woods, barren areas: 2-in-6 - Swamp, jungle, desert: 3-in-6 +--> + **Overland Travel** - The distance in miles that a character can travel overland in a day (16 hours) under normal conditions (and clear terrain) can be determined by multiplying their base movement rate by .6 (or 3/5). @@ -178,7 +180,7 @@ Adventures section for the effects of darkness. - Characters engaged in a forced march can increase their travel speed by 50%, but must rest for a full day or suffer exhaustion (-1 to all rolls). -- Characters must rest 1 day for every 6 days traveling or suffer exhaustion (-1 to all rolls). +- Characters must rest 1 day for every 6 days traveling or suffer exhaustion (-1 to all rolls, cumulative for each additional day without rest). **Sight** @@ -209,19 +211,19 @@ Characters can usually see 3 miles around (in clear terrain).
    -| 2d6 | Result | -| :-: | :-----: | -| 2- | Attack! | -| 3 | Hateful | -| 4 | Leery | -| 5 | Rude | -| 6 | Aloof | -| 7 | Neutral | -| 8 | Partial | -| 9 | Cordial | -| 10 | Amiable | -| 11 | Helpful | -| 12+ | Family! | +| 2d6 | Result | +| :-: | :---------: | +| 2- | Attack! | +| 3 | Hateful | +| 4 | Leery | +| 5 | Rude | +| 6 | Aloof | +| 7 | Uncertain | +| 8 | Confused | +| 9 | Indifferent | +| 10 | Cordial | +| 11 | Amiable | +| 12+ | Friendly! | [Reaction Table] diff --git a/src/pages/rules/referees.md b/src/pages/rules/referees.md index 967010e..4cd6c28 100644 --- a/src/pages/rules/referees.md +++ b/src/pages/rules/referees.md @@ -65,16 +65,18 @@ Creatures with bonus hit points (ex: HD X+1) attack as one HD higher. | 5+ | 225 | 175 | | 6 | 275 | 225 | | 6+ | 350 | 300 | -| 7–7+ | 450 | 400 | -| 8–8+ | 650 | 550 | -| 9–10+ | 900 | 700 | -| 11–12+ | 1,100 | 800 | -| 13–16+ | 1,350 | 950 | -| 17–20+ | 2,000 | 1,150 | -| 21–21+ | 2,500 | 2,000 | +| 7(+) | 450 | 400 | +| 8(+) | 650 | 550 | +| 9(+) | 900 | 700 | +| 11(+) | 1100 | 800 | +| 13(+) | 1350 | 950 | +| 17(+) | 2000 | 1150 | +| 21(+) | 2500 | 2000 | [XP Awards for Defeated Creatures] +For creatures greater than 21+ HD, add 250 XP for each additional HD. +
    More to come... diff --git a/src/pages/spells/hypnotize.md b/src/pages/spells/hypnotize.md new file mode 100644 index 0000000..7a560a4 --- /dev/null +++ b/src/pages/spells/hypnotize.md @@ -0,0 +1,29 @@ +--- +title: Hypnotize +description: The Hypnotize spell for OSR gaming. +date_pub: 2024-04-27T15:48:20.000-04:00 +section: spells +content_type: feature +short_code: shy +tags: arcane +--- + +
    + +| | | +| ------------ | ------------------------- | +| **Level** | 1 | +| **Duration** | 1 round + 1 round / level | +| **Range** | 30' | + +
    + +One or more targets within range fall under the hypnotic suggestion of the caster. + +- Up to 1d6 creatures are affected (determined after suggestion is made). +- Each target must **Save vs Spells** or follow caster's suggestion for the duration. +- Suggestion must be a short phrase or sentence that describes the actions the targets should take. +- Suggestion must be made in a language the targets understand. +- Targets save automatically on suggestions that are obviously harmful to them. +- Suggestions worded to sound reasonable to targets add -2 modifier to saving throws. +- Undead are immune to suggestions. diff --git a/src/pages/tools/encounter-alpha.md b/src/pages/tools/encounter-alpha.md index e21fed8..29fdb0e 100644 --- a/src/pages/tools/encounter-alpha.md +++ b/src/pages/tools/encounter-alpha.md @@ -21,6 +21,13 @@ status: hidden
    +
    + +

    Encounter Roller

    +
    +
    +
    +

    Die Roller

    diff --git a/src/pages/tools/index.md b/src/pages/tools/index.md index daad77a..8a79e9e 100644 --- a/src/pages/tools/index.md +++ b/src/pages/tools/index.md @@ -45,9 +45,7 @@ short_code: t1

    Exploration Complications

    -
    - -
    +
    1. Encounter
    2. Signs / Portents