Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] first batch of features data update #284

Draft
wants to merge 5 commits into
base: feature_specific
Choose a base branch
from
Draft
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
254 changes: 198 additions & 56 deletions src/5e-SRD-Features.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,110 @@
"Once you have raged the maximum number of times for your barbarian level, you must finish a Long Rest before you can rage again. You may rage 2 times at 1st level, 3 at 3rd, 4 at 6th, 5 at 12th, and 6 at 17th."
],
"url": "/api/features/rage",
"feature_specific": {}
"feature_specific": {
"actions": [
{
"name": "Rage",
"action_type": "bonus",
"duration": "10 turns",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actions don't really have durations, effects do. I think having a duration attribute on each effect makes more sense than the action itself having a duration.

"prerequisites": [
{
"type": "boolean",
"from": "equipped.armor.heavy"
}
],
"effects": [
{
"type": "advantage",
"on": {
"trigger": "check",
"target": "any",
"where": {
"check_modifier": {
"index": "str",
"name": "STR",
"url": "/api/ability-scores/str"
}
}
}
},
{
"type": "advantage",
"on": {
"trigger": "save",
"source": "any",
"where": {
"save_modifier": {
"index": "str",
"name": "STR",
"url": "/api/ability-scores/str"
}
}
}
},
{
"type": "bonus",
"amount": 2,
"to": "damage",
"on": {
"trigger": "attack",
"source": "self",
"target": "any",
"where": {
"attack_modifier": {
"index": "str",
"name": "STR",
"url": "/api/ability-scores/str"
}
}
}
},
{
"type": "resistance",
"to": "damage",
"target": "self",
"source": "any",
"where": {
"damage_type": {
"index": "bludgeoning",
"name": "Bludgeoning",
"url": "/api/damage-types/bludgeoning"
}
}
},
{
"type": "resistance",
"to": "damage",
"target": "self",
"source": "any",
"where": {
"damage_type": {
"index": "piercing",
"name": "Piercing",
"url": "/api/damage-types/piercing"
}
}
},
{
"type": "resistance",
"to": "damage",
"target": "self",
"source": "any",
"where": {
"damage_type": {
"index": "slashing",
"name": "Slashing",
"url": "/api/damage-types/slashing"
}
}
},
{
"spellcasting": false
Freedzio marked this conversation as resolved.
Show resolved Hide resolved
}
]
}
]
}
},
{
"index": "barbarian-unarmored-defense",
Expand Down Expand Up @@ -71,36 +174,56 @@
"Starting at 2nd level, you can throw aside all concern for defense to attack with fierce desperation. When you make your first attack on your turn, you can decide to attack recklessly. Doing so gives you advantage on melee weapon attack rolls using Strength during this turn, but attack rolls against you have advantage until your next turn."
],
"feature_specific": {
"action": [
{
"type": "attack",
"attack_type": "melee",
"attack_modifier": "str",
"desc": "Advantage applies to melee attacks with STR modifier only"
}
],
"prerequisites": [
{
"type": "equals",
"description": "attack is the first of the turn",
"value": {
"type": "integer",
"value": "turns.attacks_made",
"desc": "attacks made so far this turn"
},
"target": {
"type": "integer",
"value": 0
}
}
],
"debuffs": [
"actions": [
{
"type": "advantage",
"for": "enemy",
"on": "attack",
"duration": "2 turns",
"desc": "Attack rolls against you have advantage until the end of your next turn"
"name": "Reckless Attack",
"desc": "When you make your first attack on your turn...",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be the full description of the action. From the SRD:

When you make your first attack on your turn, you can
decide to attack recklessly. Doing so gives you
advantage on melee weapon attack rolls using
Strength during this turn, but attack rolls against
you have advantage until your next turn.

"action_type": "attack",
"prerequisites": [
{
"type": "equals",
"desc": "attack is the first of the turn",
"value": {
"type": "integer",
"value": "turns.attacks_made",
"desc": "attacks made so far this turn"
},
"target": {
"type": "integer",
"value": 0
}
}
],
"effects": [
{
"type": "advantage",
"on": {
"trigger": "attack",
"source": "self",
"target": "any",
"where": {
"attack_type": "melee",
"attack_modifier": {
"index": "str",
"name": "STR",
"url": "/api/ability-scores/str"
}
}
},
"duration": "1 turns",
"desc": "Advantage on melee weapon attack rolls using Strength during this turn"
},
{
"type": "advantage",
"on": {
"trigger": "attack",
"source": "any",
"target": "self"
},
"duration": "2 turns",
"desc": "Attack rolls against you have advantage until the end of your next turn"
}
]
}
]
},
Expand All @@ -122,19 +245,22 @@
"feature_specific": {
"advantages": [
{
"on": [
{
"index": "dex",
"name": "DEX",
"url": "/api/ability-scores/dex"
"on": {
"trigger": "save",
"where": {
"save_modifier": {
"index": "dex",
"name": "DEX",
"url": "/api/ability-scores/dex"
}
}
],
},
"prerequisites": [
{
"type": "boolean",
"from": {
"index": "incapacitated",
"name": "Incapacitated",
"name": "Incapacitated",
"url": "/api/conditions/incapacitated"
}
},
Expand All @@ -148,7 +274,7 @@
},
{
"type": "boolean",
"from": {
"from": {
"index": "deafened",
"name": "Deafened",
"url": "/api/conditions/deafened"
Expand Down Expand Up @@ -206,22 +332,30 @@
"Starting when you choose this path at 3rd level, you can go into a frenzy when you rage. If you do so, for the duration of your rage you can make a single melee weapon attack as a bonus action on each of your turns after this one. When your rage ends, you suffer one level of exhaustion (as described in appendix A)."
],
"feature_specific": {
"bonus_action": {
"type": "attack",
"amount": 1
},
"prerequisites": [
{
"type": "boolean",
"from": "raging"
}
],
"debuffs": [
"actions": [
{
"index": "exhaustion",
"name": "Exhaustion",
"url": "/api/conditions/exhaustion",
"level": 1
"name": "Frenzy",
"desc": "When you enter rage, you can go into frenzy instead",
Copy link
Member

@fergcb fergcb Oct 3, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the description from the SRD:

You go into a frenzy when you rage. For
the duration of your rage you can make a single
melee weapon attack as a bonus action on each of
your turns after this one. When your rage ends, you
suffer one level of exhaustion (as described in
appendix PH-A).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok. I've also split it into an array

"action_type": "bonus",
"duration": "10 turns",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same thing with duration as above.

"effects": [
{
"type": "bonus_action",
"bonus_action_type": "attack",
"where": {
"attack_type": "melee"
}
},
{
"type": "condition",
"condition_type": {
"index": "exhaustion",
"name": "Exhaustion",
"url": "/api/conditions/exhaustion",
"level": 1
}
}
]
}
]
},
Expand Down Expand Up @@ -255,7 +389,15 @@
"desc": [
"Beginning at 5th level, you can attack twice, instead of once, whenever you take the Attack action on your turn."
],
"feature_specific": {},
"feature_specific": {
"actions": [
{
"name": "Double attack",
"action_type": "attack",
"attack_times": 2
}
]
},
"url": "/api/features/barbarian-extra-attack"
},
{
Expand Down Expand Up @@ -367,7 +509,7 @@
"prerequisites": [
{
"type": "boolean",
"from": {
"from": {
"index": "incapacitated",
"name": "Incapacitated",
"url": "/api/conditions/incapacitated"
Expand Down Expand Up @@ -8998,4 +9140,4 @@
],
"url": "/api/features/signature-spell"
}
]
]
Freedzio marked this conversation as resolved.
Show resolved Hide resolved