Skip to content

Commit

Permalink
Automate various Swashbuckler features (#14010)
Browse files Browse the repository at this point in the history
  • Loading branch information
pedrogrullada committed Mar 1, 2024
1 parent e2048f6 commit 9091939
Show file tree
Hide file tree
Showing 11 changed files with 316 additions and 14 deletions.
12 changes: 10 additions & 2 deletions packs/actions/confident-finisher.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,12 @@
"failure"
],
"predicate": [
"finisher:confident",
{
"or": [
"finisher:confident",
"eternal-confidence"
]
},
{
"or": [
"item:melee",
Expand All @@ -63,9 +68,12 @@
"item:trait:agile",
"item:trait:finesse"
]
},
{
"not": "feat:precise-finisher"
}
],
"selector": "attack-roll",
"selector": "strike-attack-roll",
"text": "PF2E.SpecificRule.Swashbuckler.Finisher.ConfidentNote",
"title": "{item|name}"
}
Expand Down
15 changes: 11 additions & 4 deletions packs/actions/opportune-riposte.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,19 @@
"remaster": false,
"title": "Pathfinder Advanced Player's Guide"
},
"rules": [],
"rules": [
{
"key": "RollOption",
"option": "opportune-riposte",
"predicate": [
"add-opportune-riposte-toggle"
],
"toggleable": true
}
],
"traits": {
"rarity": "common",
"value": [
"swashbuckler"
]
"value": []
}
},
"type": "action"
Expand Down
24 changes: 22 additions & 2 deletions packs/classfeatures/continuous-flair.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
},
"category": "classfeature",
"description": {
"value": "<p>While not equal to the heights of your panache in combat, you have a dramatic flair about you in any situation.</p>\n<p>Whenever you succeed at a check during exploration that would have granted you panache in combat, you gain a +1 circumstance bonus to further checks for actions that would grant you panache in combat. This benefit ends when the exploration changes to a different scene (as determined by the GM) or shifts to an encounter or downtime.</p>"
"value": "<p>While not equal to the heights of your panache in combat, you have a dramatic flair about you in any situation.</p>\n<p>Whenever you succeed at a check during exploration that would have granted you panache in combat, you gain a +1 circumstance bonus to further checks for actions that would grant you panache in combat. This benefit ends when the exploration changes to a different scene (as determined by the GM) or shifts to an encounter or downtime.</p>\n<p>@UUID[Compendium.pf2e.feat-effects.Item.Effect: Continuous Flair]</p>"
},
"level": {
"value": 11
Expand All @@ -24,7 +24,27 @@
"remaster": false,
"title": "Pathfinder Advanced Player's Guide"
},
"rules": [],
"rules": [
{
"key": "Note",
"outcome": [
"success",
"criticalSuccess"
],
"predicate": [
{
"nor": [
"encounter",
"self:effect:continuous-flair"
]
},
"grants-panache"
],
"selector": "skill-check",
"text": "{item|description}",
"title": "{item|name}"
}
],
"traits": {
"rarity": "common",
"value": [
Expand Down
21 changes: 20 additions & 1 deletion packs/classfeatures/eternal-confidence.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,29 @@
"remaster": false,
"title": "Pathfinder Advanced Player's Guide"
},
"rules": [],
"rules": [
{
"key": "RollOption",
"option": "add-opportune-riposte-toggle",
"priority": 49
},
{
"key": "RollOption",
"option": "eternal-confidence",
"predicate": [
{
"or": [
"finisher",
"opportune-riposte"
]
}
]
}
],
"subfeatures": {
"proficiencies": {
"swashbuckler": {
"attribute": null,
"rank": 3
}
}
Expand Down
2 changes: 1 addition & 1 deletion packs/classfeatures/exemplary-finisher.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
},
"category": "classfeature",
"description": {
"value": "<p>You execute your finishing moves with spectacular flair, adding special effects to your finishers. If a Strike you make as part of a finisher hits a foe, you add one of the following effects to the Strike, depending on your swashbuckler's style.</p>\n<ul>\n<li><strong>Battledancer</strong> You can Step as a free action immediately after the finisher.</li>\n<li><strong>Braggart</strong> If the foe was temporarily immune to your @UUID[Compendium.pf2e.actionspf2e.Item.Demoralize], their temporary immunity ends.</li>\n<li><strong>Fencer</strong> The foe is @UUID[Compendium.pf2e.conditionitems.Item.Off-Guard] until your next turn.</li>\n<li><strong>Gymnast</strong> If the foe is @UUID[Compendium.pf2e.conditionitems.Item.Grabbed], @UUID[Compendium.pf2e.conditionitems.Item.Restrained], or @UUID[Compendium.pf2e.conditionitems.Item.Prone], you gain a circumstance bonus to the damage roll equal to twice the number of weapon damage dice.</li>\n<li><strong>Wit</strong> The foe takes a -2 circumstance penalty to attack rolls against you until the start of your next turn.</li>\n</ul>"
"value": "<p>You execute your finishing moves with spectacular flair, adding special effects to your finishers. If a Strike you make as part of a finisher hits a foe, you add one of the following effects to the Strike, depending on your swashbuckler's style.</p>\n<ul>\n<li><strong>Battledancer</strong> You can Step as a free action immediately after the finisher.</li>\n<li><strong>Braggart</strong> If the foe was temporarily immune to your @UUID[Compendium.pf2e.actionspf2e.Item.Demoralize], their temporary immunity ends.</li>\n<li><strong>Fencer</strong> The foe is @UUID[Compendium.pf2e.conditionitems.Item.Off-Guard] until your next turn.</li>\n<li><strong>Gymnast</strong> If the foe is @UUID[Compendium.pf2e.conditionitems.Item.Grabbed], @UUID[Compendium.pf2e.conditionitems.Item.Restrained], or @UUID[Compendium.pf2e.conditionitems.Item.Prone], you gain a circumstance bonus to the damage roll equal to twice the number of weapon damage dice.</li>\n<li><strong>Wit</strong> The foe takes a -2 circumstance penalty to attack rolls against you until the start of your next turn. @UUID[Compendium.pf2e.feat-effects.Item.Effect: Exemplary Finisher (Wit)]</li>\n</ul>"
},
"level": {
"value": 9
Expand Down
49 changes: 49 additions & 0 deletions packs/feat-effects/effect-continuous-flair.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"_id": "DVIxPdgUN8T5LwIp",
"img": "systems/pf2e/icons/features/classes/continuous-flair.webp",
"name": "Effect: Continuous Flair",
"system": {
"description": {
"value": "<p>Granted by @UUID[Compendium.pf2e.classfeatures.Item.Continuous Flair]</p>\n<p>You gain a +1 circumstance bonus to further checks for actions that would grant you panache in combat.</p>"
},
"duration": {
"expiry": null,
"sustained": false,
"unit": "unlimited",
"value": -1
},
"level": {
"value": 1
},
"publication": {
"license": "OGL",
"remaster": false,
"title": "Pathfinder Advanced Player's Guide"
},
"rules": [
{
"key": "FlatModifier",
"predicate": [
{
"not": "encounter"
},
"grants-panache"
],
"selector": "skill-check",
"type": "circumstance",
"value": 1
}
],
"start": {
"initiative": null,
"value": 0
},
"tokenIcon": {
"show": true
},
"traits": {
"value": []
}
},
"type": "effect"
}
46 changes: 46 additions & 0 deletions packs/feat-effects/effect-exemplary-finisher-wit.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"_id": "cu10OjQUdY0a9gpj",
"img": "systems/pf2e/icons/features/classes/wit-style.webp",
"name": "Effect: Exemplary Finisher (Wit)",
"system": {
"description": {
"value": "<p>Granted by @UUID[Compendium.pf2e.classfeatures.Item.Exemplary Finisher]</p>\n<p>The foe takes a -2 circumstance penalty to attack rolls against you until the start of your next turn.</p>"
},
"duration": {
"expiry": "turn-start",
"sustained": false,
"unit": "rounds",
"value": 1
},
"level": {
"value": 1
},
"publication": {
"license": "OGL",
"remaster": false,
"title": "Pathfinder Advanced Player's Guide"
},
"rules": [
{
"key": "FlatModifier",
"predicate": [
"target:signature:{item|origin.signature}"
],
"selector": "attack",
"type": "circumstance",
"value": -2
}
],
"start": {
"initiative": null,
"value": 0
},
"tokenIcon": {
"show": true
},
"traits": {
"value": []
}
},
"type": "effect"
}
16 changes: 15 additions & 1 deletion packs/feats/felicitous-riposte.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,21 @@
"remaster": false,
"title": "Pathfinder Advanced Player's Guide"
},
"rules": [],
"rules": [
{
"key": "RollOption",
"option": "add-opportune-riposte-toggle",
"priority": 49
},
{
"keep": "higher",
"key": "RollTwice",
"predicate": [
"opportune-riposte"
],
"selector": "strike-attack-roll"
}
],
"traits": {
"rarity": "common",
"value": [
Expand Down
104 changes: 103 additions & 1 deletion packs/feats/impossible-riposte.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,109 @@
"remaster": false,
"title": "Pathfinder Advanced Player's Guide"
},
"rules": [],
"rules": [
{
"key": "RollOption",
"option": "add-opportune-riposte-toggle",
"priority": 49
},
{
"disabledIf": [
{
"not": "opportune-riposte"
}
],
"disabledValue": false,
"key": "RollOption",
"option": "impossible-riposte",
"priority": 51,
"suboptions": [
{
"label": "PF2E.TraitBludgeoning",
"value": "bludgeoning"
},
{
"label": "PF2E.TraitPiercing",
"value": "piercing"
},
{
"label": "PF2E.TraitSlashing",
"value": "slashing"
},
{
"label": "PF2E.TraitAcid",
"value": "acid"
},
{
"label": "PF2E.TraitCold",
"value": "cold"
},
{
"label": "PF2E.TraitElectricity",
"value": "electricity"
},
{
"label": "PF2E.TraitFire",
"value": "fire"
},
{
"label": "PF2E.TraitSonic",
"value": "sonic"
},
{
"label": "PF2E.TraitVitality",
"value": "vitality"
},
{
"label": "PF2E.TraitVoid",
"value": "void"
},
{
"label": "PF2E.TraitForce",
"value": "force"
},
{
"label": "PF2E.TraitSpirit",
"value": "spirit"
},
{
"label": "PF2E.TraitMental",
"value": "mental"
},
{
"label": "PF2E.TraitPoison",
"value": "poison"
},
{
"label": "PF2E.TraitBleed",
"value": "bleed"
}
],
"toggleable": true
},
{
"itemType": "weapon",
"key": "ItemAlteration",
"mode": "override",
"predicate": [
"impossible-riposte"
],
"property": "damage-type",
"value": "{item|flags.pf2e.rulesSelections.impossibleRiposte}"
},
{
"key": "DamageAlteration",
"mode": "override",
"predicate": [
"impossible-riposte"
],
"property": "damage-type",
"selectors": [
"strike-damage"
],
"value": "{item|flags.pf2e.rulesSelections.impossibleRiposte}"
}
],
"traits": {
"rarity": "common",
"value": [
Expand Down
Loading

0 comments on commit 9091939

Please sign in to comment.