Skip to content

Commit

Permalink
Merge pull request #31 from Carifio24/book-of-many-things
Browse files Browse the repository at this point in the history
The Book of Many Things
  • Loading branch information
Carifio24 authored Apr 27, 2024
2 parents 30e409c + cc1a407 commit 61c4add
Show file tree
Hide file tree
Showing 2 changed files with 109 additions and 2 deletions.
104 changes: 104 additions & 0 deletions Data/Spells.json
Original file line number Diff line number Diff line change
Expand Up @@ -16385,5 +16385,109 @@
"page": 12
}
]
},
{
"casting_time": "1 action",
"classes": [
"Bard",
"Sorcerer",
"Warlock",
"Wizard"
],
"components": [
"V",
"S",
"M"
],
"concentration": false,
"desc": "You whisper magical words that antagonize one creature of your choice within range. The target must make a Wisdom saving throw. On a failed save, the target takes 4d4 psychic damage and must immediately use its reaction to make a melee attack against another creature of your choice that you can see. If the target can't make this attack (for example, because there is no one within its reach or because its reaction is unavailable), the target instead has disadvantage on the next attack roll it makes before the start of your next turn. On a successful save, the target takes half as much damage only.",
"duration": "Instantaneous",
"higher_level": "When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d4 for each slot level above 3rd.",
"id": 528,
"level": 3,
"material": "A playing card depicting a rogue.",
"name": "Antagonize",
"range": "30 feet",
"ritual": false,
"school": "Enchantment",
"subclasses": [
"Arcane Trickster",
"Eldritch Knight"
],
"locations": [
{
"sourcebook": "BMT",
"page": 50
}
]
},
{
"casting_time": "1 action",
"classes": [
"Sorcerer",
"Warlock",
"Wizard"
],
"components": [
"V",
"S",
"M"
],
"concentration": true,
"desc": "You call forth a spirit that embodies death. The spirit manifests in an unoccupied space you can see within range and uses the reaper spirit stat block. The spirit disappears when it is reduced to 0 hit points or when the spell ends.\n\nThe spirit is an ally to you and your companions. In combat, the spirit shares your initiative count and takes its turn immediately after yours. It obeys your verbal commands (no action required by you). If you don't issue the spirit any commands, it takes the Dodge action and uses its movement to avoid danger.",
"duration": "Up to 1 hour",
"higher_level": "When you cast this spell using a spell slot of 5th level or higher, use the higher level wherever the spell's level appears in the reaper spirit stat block.",
"id": 529,
"level": 4,
"material": "A gilded playing card worth at least 400 gp and depicting an avatar of death.",
"name": "Spirit of Death",
"range": "60 feet",
"ritual": false,
"school": "Necromancy",
"subclasses": [
"Arcane Trickster",
"Eldritch Knight"
],
"locations": [
{
"sourcebook": "BMT",
"page": 50
}
]
},
{
"casting_time": "1 action",
"classes": [
"Bard",
"Sorcerer",
"Warlock",
"Wizard"
],
"components": [
"V",
"S",
"M"
],
"concentration": false,
"desc": "You spray a 15-foot cone of spectral cards. Each creature in that area must make a Dexterity saving throw. On a failed save, a creature takes 2d10 force damage and has the blinded condition until the end of its next turn. On a successful save, a creature takes half as much damage only.",
"duration": "Instantaneous",
"higher_level": "When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d10 for each slot level above 2nd.",
"id": 530,
"level": 2,
"material": "A deck of cards.",
"name": "Spray of Cards",
"range": "Self (15-foot cone)",
"ritual": false,
"school": "Conjuration",
"subclasses": [
"Arcane Trickster",
"Eldritch Knight"
],
"locations": [
{
"sourcebook": "BMT",
"page": 50
}
]
}
]
7 changes: 5 additions & 2 deletions Spellbook/Sourcebook.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
enum Sourcebook: Int, NameConstructible {
case PlayersHandbook=0, XanatharsGTE, SwordCoastAG, TashasCOE, AcquisitionsInc, LostLabKwalish, RimeOTFrostmaiden, ExplorersGTW, FizbansTOD, StrixhavenCOC, AstralAG, TalDoreiCSR, SigilOutlands
case PlayersHandbook=0, XanatharsGTE, SwordCoastAG, TashasCOE, AcquisitionsInc, LostLabKwalish, RimeOTFrostmaiden, ExplorersGTW, FizbansTOD, StrixhavenCOC, AstralAG, TalDoreiCSR, SigilOutlands, BookOfMT

static let coreSourcebooks = [ PlayersHandbook, XanatharsGTE, TashasCOE ]

Expand Down Expand Up @@ -33,6 +33,8 @@ enum Sourcebook: Int, NameConstructible {
return "Tal'Dorei Campaign Setting Reborn"
case .SigilOutlands:
return "Sigil and the Outlands"
case .BookOfMT:
return "The Book of Many Things"
}
}

Expand All @@ -49,7 +51,8 @@ enum Sourcebook: Int, NameConstructible {
StrixhavenCOC: "scc",
AstralAG: "aag",
TalDoreiCSR: "tdcsr",
SigilOutlands: "so"
SigilOutlands: "so",
BookOfMT: "bmt",
]

var code: String {
Expand Down

0 comments on commit 61c4add

Please sign in to comment.