5e-bits / 5e-bits/5e-srd-api

Add number of spells cast field

Open Beginner friendly
#361 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
637
Forks
189
Avg merge
5h 51m
Merged PRs (30d)
16

Description

Database issue: https://github.com/5e-bits/5e-database/issues/541

I'd like to propose a new optional field for spells similar to `damage_at_slot_level`: `casts_at_slot_level`. `casts_at_slot_level` holds the value of how many times a specific spell is cast per usage.

For instance, [Magic Missile](https://roll20.net/compendium/dnd5e/Magic%20Missile#content) can be cast 3 times, increasing by 1 for each slot level. An example field for Magic Missile would contain the following:
```json
"casts_at_slot_level": {
"1": 3,
"2": 4,
"3": 5,
"4": 6,
"5": 7,
"6": 8,
"7": 9,
"8": 10,
"9": 11
}
```

Another spell that would contain this field would be [Eldritch Blast](https://roll20.net/compendium/dnd5e/Eldritch%20Blast#content). I'm not sure the extent of spells that would need this field.

I'm not sure if there is a spell that does this, but this may also need to add `casts_at_character_level` if casts increases by character level and not slot level.

The API changes would likely just need to add something similar to [damage for spells](https://github.com/5e-bits/5e-srd-api/blob/main/src/models/spell/types.d.ts#L4).

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue points to the TypeScript type definitions for spells in src/models/spell/types.d.ts. Start by examining the existing 'damage_at_slot_level' field to understand the structure. Add the new optional field 'casts_at_slot_level' (and potentially 'casts_at_character_level') to the type definition. Check the actual spell data JSON files to see where this data would be populated. A test to verify the type change may be needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
json, typescript
Domain
api, database
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.