feat: Implement PF2e Alchemy and Rest system
Alchemy System: - Versatile Vials tracking with refill functionality - Research Field display (Bomber, Chirurgeon, Mutagenist, Toxicologist) - Formula Book with search and level filtering - Advanced Alchemy (daily preparation) for infused items - Quick Alchemy using versatile vials - Normal Alchemy for permanent crafted items - Auto-upgrade system for formula variants (Lesser → Greater) - Effect parsing with damage badges (damage type colors, splash, healing, bonus) - German translations for all UI elements and item effects - WebSocket sync for all alchemy state changes Rest System: - HP healing based on CON modifier × Level - Condition management (Fatigued removed, Doomed/Drained reduced) - Resource reset (spell slots, focus points, daily abilities) - Alchemy reset (infused items expire, vials refilled) - Rest modal with preview of changes Database: - CharacterAlchemyState model for vials and batch tracking - CharacterFormula model for formula book - CharacterPreparedItem model with isInfused flag - Equipment effect field for variant-specific effects - Translation germanEffect field for effect translations - Scraped effect data from Archives of Nethys (205 items) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -55,6 +55,7 @@ interface EquipmentJson {
|
||||
url: string;
|
||||
summary: string;
|
||||
activation?: string;
|
||||
effect?: string; // Specific effect text for item variants (Lesser, Moderate, Greater, Major)
|
||||
}
|
||||
|
||||
function parseTraits(traitString: string): string[] {
|
||||
@@ -288,6 +289,7 @@ async function seedEquipment() {
|
||||
url: item.url || null,
|
||||
summary: item.summary || null,
|
||||
activation: item.activation || null,
|
||||
effect: item.effect || null,
|
||||
},
|
||||
create: {
|
||||
name: item.name,
|
||||
@@ -298,6 +300,7 @@ async function seedEquipment() {
|
||||
url: item.url || null,
|
||||
summary: item.summary || null,
|
||||
activation: item.activation || null,
|
||||
effect: item.effect || null,
|
||||
},
|
||||
});
|
||||
created++;
|
||||
|
||||
Reference in New Issue
Block a user