Fighter Advancements
Overview
Model Structure
ListFighterAdvancement
class ListFighterAdvancement(AppBase):
fighter = models.ForeignKey(ListFighter, ...)
advancement_type = models.CharField(...) # "stat" or "skill"
stat_increased = models.CharField(...) # For stat advancements
skill = models.ForeignKey(ContentSkill, ...) # For skill advancements
xp_cost = models.PositiveIntegerField(...)
cost_increase = models.IntegerField(...)
campaign_action = models.OneToOneField("CampaignAction", ...)XP Tracking
Form Flow
Step 1: Start (list_fighter_advancement_start)
list_fighter_advancement_start)Step 2: Dice Choice (list_fighter_advancement_dice_choice)
list_fighter_advancement_dice_choice)Step 3: Type Selection (list_fighter_advancement_type)
list_fighter_advancement_type)Step 4: Skill Selection (list_fighter_advancement_select)
list_fighter_advancement_select)Step 5: Confirmation (list_fighter_advancement_confirm)
list_fighter_advancement_confirm)Views
Business Rules
XP Costs
Stat Improvements
Skill Restrictions
Campaign Mode Only
Templates
Integration Points
Campaign Actions
Fighter Cost
History Tracking
Example Usage
Frontend Behavior
Error Handling
Last updated