aria-rpg-pathfinder

star 1

Pathfinder 2e rules engine — dice rolls, combat resolution, character and condition management for Aria's tabletop RPG system.

Najia-afk By Najia-afk schedule Updated 2/22/2026

name: aria-rpg-pathfinder description: "Pathfinder 2e rules engine — dice rolls, combat resolution, character and condition management for Aria's tabletop RPG system." metadata: {"aria": {"emoji": "🎲"}}

aria-rpg-pathfinder

Layer 3 — Domain | Status: active | v1.0.0

Pathfinder 2e mechanical resolution engine. Handles dice rolls, skill checks, attack resolution (with MAP), saving throws, spell casting, initiative tracking, condition management, HP tracking, XP awards, and character sheet I/O.

All game state is persisted to aria_memories/rpg/.

Dependencies

Dependency Layer Purpose
api_client 1 HTTP/DB gateway (required by standard)

Focus Affinity

Focus Role
rpg_master Primary — runs full RPG sessions
orchestrator Coordination — delegates RPG tasks

Storage

Path Contents
aria_memories/rpg/characters/ Character sheets (YAML)
aria_memories/rpg/encounters/ Encounter state files
aria_memories/rpg/sessions/ Session transcripts

Usage

exec python3 /app/skills/run_skill.py rpg_pathfinder <tool> '<json_args>'

Tools

roll

Roll dice using standard Pathfinder notation (e.g., 1d20+12, 2d6+4). Returns individual rolls, total, and natural 20/1 detection.

exec python3 /app/skills/run_skill.py rpg_pathfinder roll '{"expression": "1d20+7", "reason": "Perception check"}'

check

Make a Pathfinder 2e check (d20 + modifier vs DC) with full degree of success calculation: critical success, success, failure, critical failure.

exec python3 /app/skills/run_skill.py rpg_pathfinder check '{"modifier": 12, "dc": 20, "reason": "Athletics to Grapple"}'

attack

Resolve an attack roll with MAP (Multiple Attack Penalty), damage, and critical hit detection.

exec python3 /app/skills/run_skill.py rpg_pathfinder attack '{"attack_bonus": 14, "target_ac": 18, "damage_expression": "1d8+4", "attack_number": 1}'
# Second attack with MAP
exec python3 /app/skills/run_skill.py rpg_pathfinder attack '{"attack_bonus": 14, "target_ac": 18, "damage_expression": "1d8+4", "attack_number": 2, "agile": false}'

MAP table:

Attack # Standard Agile
1 +0 +0
2 -5 -4
3 -10 -8

saving_throw

Resolve a saving throw (Fortitude, Reflex, or Will) against a DC.

exec python3 /app/skills/run_skill.py rpg_pathfinder saving_throw '{"save_bonus": 10, "dc": 22, "save_type": "reflex", "reason": "Fireball"}'

cast_spell

Resolve a spell cast with optional save, damage, or healing components.

exec python3 /app/skills/run_skill.py rpg_pathfinder cast_spell '{"spell_name": "Heal", "spell_level": 1, "healing_expression": "1d8+8"}'
exec python3 /app/skills/run_skill.py rpg_pathfinder cast_spell '{"spell_name": "Fireball", "spell_level": 3, "spell_dc": 23, "damage_expression": "6d6", "save_type": "reflex", "target_save_bonus": 12}'

load_character_sheet

Load and display a character sheet from aria_memories/rpg/characters/.

exec python3 /app/skills/run_skill.py rpg_pathfinder load_character_sheet '{"character_file": "shiva_kael_stormwind"}'

list_characters

List all available player character sheets.

exec python3 /app/skills/run_skill.py rpg_pathfinder list_characters '{}'

update_hp

Update a character's HP. Positive for healing, negative for damage.

exec python3 /app/skills/run_skill.py rpg_pathfinder update_hp '{"character_file": "shiva_kael_stormwind", "hp_change": -12, "reason": "Goblin crit"}'

add_condition

Add a Pathfinder 2e condition to a character.

exec python3 /app/skills/run_skill.py rpg_pathfinder add_condition '{"character_file": "shiva_kael_stormwind", "condition": "frightened", "value": 2}'

remove_condition

Remove a condition from a character.

exec python3 /app/skills/run_skill.py rpg_pathfinder remove_condition '{"character_file": "shiva_kael_stormwind", "condition": "frightened"}'

roll_initiative

Roll initiative for all combatants and establish turn order.

exec python3 /app/skills/run_skill.py rpg_pathfinder roll_initiative '{"combatants": [{"name": "Kael", "modifier": 7, "is_player": true}, {"name": "Goblin Warrior", "modifier": 3}]}'

next_turn

Advance to the next combatant's turn in initiative order.

exec python3 /app/skills/run_skill.py rpg_pathfinder next_turn '{}'

end_encounter

End the current encounter and clear initiative.

exec python3 /app/skills/run_skill.py rpg_pathfinder end_encounter '{}'

award_xp

Award XP to a character and check for level up (1000 XP per level).

exec python3 /app/skills/run_skill.py rpg_pathfinder award_xp '{"character_file": "shiva_kael_stormwind", "xp": 120, "reason": "Defeated goblin patrol"}'

lookup_condition

Look up a Pathfinder 2e condition's rules text.

exec python3 /app/skills/run_skill.py rpg_pathfinder lookup_condition '{"condition": "frightened"}'

Pathfinder 2e Rules Reference

Degrees of Success

  • Critical Success: Beat DC by 10+ or natural 20 upgrades success
  • Success: Meet or beat DC
  • Failure: Miss DC
  • Critical Failure: Miss DC by 10+ or natural 1 downgrades failure

Proficiency Ranks

Rank Bonus
Untrained +0
Trained +2
Expert +4
Master +6
Legendary +8

Total modifier = ability mod + proficiency bonus + level (if trained+).

Python Module

Class: RPGPathfinderSkill Module: aria_skills.rpg_pathfinder

Install via CLI
npx skills add https://github.com/Najia-afk/Aria_moltbot --skill aria-rpg-pathfinder
Repository Details
star Stars 1
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator