A core TypeScript library for RPG game mathematics. Handles attribute points, leveling curves, and stat derivation (HP, Dmg, etc.).
npx skills add https://github.com/kennyzir/7deer_skills --skill rpg-stat-catalyst
A mathematical core for Role-Playing Games (RPGs) to handle character progression and stat calculation.
resources/types.ts and resources/calculator.ts to your project (e.g., lib/rpg/).import { RPGEngine } from '@/lib/rpg/calculator';
// 1. Define your game rules
const DevilHunterConfig = {
baseHP: 100,
hpPerLevel: 2,
pointsPerLevel: 5,
validAttributes: ['STR', 'CON', 'TEC', 'INT'],
attributeMultipliers: {
'CON': 5, // 1 CON = 5 HP
'STR': 0,
}
};
const engine = new RPGEngine(DevilHunterConfig);
// 2. Use it in your UI components
const level = 50;
const availablePoints = engine.calculateAvailablePoints(level);
const maxHP = engine.calculateMaxHP(level, 100, 'CON'); // Level 50, 100 CON
console.log(`At level ${level}, you have ${availablePoints} points.`);
console.log(`Max HP: ${maxHP}`);
For complex logic (like "Innate Talents" or "Hybrid Multipliers"), extend the RPGEngine class:
class AdvancedEngine extends RPGEngine {
calculateStats(stats: CharacterStats) {
// ... custom logic ...
}
}
Take kennyzir/rpg-stat-catalyst from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.