combat-system-creator
Create and modify combat system components for SHINOBI WAY game following the dual-system architecture (CombatCalculationSystem + CombatWorkflowSystem). Use when user wants to add new combat mechanics, damage formulas, status effects, mitigation logic, turn phases, or refactor existing combat code. Guides through proper separation of pure calculations vs state management.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o combat-system-creator.zip https://jpskill.com/download/17756.zip && unzip -o combat-system-creator.zip && rm combat-system-creator.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17756.zip -OutFile "$d\combat-system-creator.zip"; Expand-Archive "$d\combat-system-creator.zip" -DestinationPath $d -Force; ri "$d\combat-system-creator.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
combat-system-creator.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
combat-system-creatorフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 3
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Combat System Creator - SHINOBI WAY
デュアルシステムアーキテクチャ に従い、戦闘システムコンポーネントを作成します。純粋な計算は状態のワークフローから分離されます。
アーキテクチャの原則
Player Action → CombatCalculationSystem (純粋な数学) → CombatWorkflowSystem (状態に適用)
CombatCalculationSystem: 純粋関数、ミューテーションなし、完全な結果を返します CombatWorkflowSystem: 状態管理、計算された結果を適用、フローを制御
使用する場面
- 新しいダメージ計算や数式を追加する
- 新しい状態異常や軽減メカニズムを作成する
- 新しい戦闘フェーズやターンロジックを追加する
- 既存の戦闘コードをリファクタリングする
- 戦闘のバランス調整や数値の変更を行う
クイックリファレンス
ダメージパイプライン (5ステップ)
1. Hit Check → MELEE: Speed vs Speed | RANGED: Accuracy vs Speed | AUTO: 常に命中
2. Base Damage → ScalingStat × damageMult
3. Element → Super: 1.5× (+10% crit) | Resist: 0.5× | Neutral: 1.0×
4. Critical → 8% + (DEX × 0.5) + ボーナス, 最大 75%, 倍率 1.75×
5. Defense → Flat (最大 60% 軽減) その後 % (ソフトキャップ 75%)
軽減パイプライン (優先順位)
1. INVULNERABILITY → すべてのダメージをブロック (0 を返す)
2. REFLECTION → 反射ダメージを計算 (呪いより前)
3. CURSE → 増幅: damage × (1 + curseValue)
4. SHIELD → HP の前にダメージを吸収
5. GUTS → ロールが成功した場合、HP 1 で生き残る
防御の計算式
| タイプ | Flat | Percent (ソフトキャップ) |
|---|---|---|
| Physical | STR × 0.3 |
STR / (STR + 200) |
| Elemental | SPI × 0.3 |
SPI / (SPI + 200) |
| Mental | CAL × 0.25 |
CAL / (CAL + 150) |
ダメージプロパティ
| Property | Flat Def | % Def |
|---|---|---|
| NORMAL | ✅ (最大 60%) | ✅ |
| PIERCING | ❌ | ✅ |
| ARMOR_BREAK | ✅ | ❌ |
| TRUE | ❌ | ❌ |
ワークフロー: 新しいメカニズムの追加
ステップ 1: システムの特定
質問: これは純粋な数学ですか、それとも状態管理ですか?
| CombatCalculationSystem | CombatWorkflowSystem |
|---|---|
| ダメージ計算式 | HP へのダメージ適用 |
| 命中/ミス/回避ロール | ターン順管理 |
| クリティカル計算 | バフの持続時間追跡 |
| 防御力減少 | フェーズ遷移 |
| 効果発生ロール | 戦闘ログ生成 |
ステップ 2: 計算インターフェースの設計
新しい計算のために、結果のインターフェースを定義します。
interface NewMechanicResult {
// このメカニズムを適用するために必要なすべての値
value: number;
triggered: boolean;
// ログ用のメタデータ
logs: CombatLogEntry[];
}
ステップ 3: 純粋関数の実装
// CombatCalculationSystem 内
function calculateNewMechanic(
attackerStats: DerivedStats,
defenderStats: DerivedStats,
context: CombatContext
): NewMechanicResult {
// 純粋な計算 - 状態のミューテーションなし
return { value, triggered, logs };
}
ステップ 4: ワークフローアプリケーションの実装
// CombatWorkflowSystem 内
function applyNewMechanic(
state: CombatWorkflowState,
result: NewMechanicResult
): CombatWorkflowState {
// 結果を状態に適用 - 新しい状態を返す
return { ...state, /* 更新された値 */ };
}
新しい状態異常の作成
利用可能な効果タイプ
// Damage Over Time
DOT, BLEED, BURN, POISON
// Crowd Control
STUN, CONFUSION, SILENCE
// Defensive
SHIELD, INVULNERABILITY, REFLECTION
// Stat Modifiers
BUFF, DEBUFF, CURSE
// Recovery
HEAL, REGEN, CHAKRA_DRAIN
効果インターフェース
interface SkillEffect {
type: EffectType;
value: number; // ダメージ/回復量または倍率
duration: number; // ターン数 (-1 = 永続)
chance: number; // 0.0-1.0 適用確率
targetStat?: PrimaryStat; // BUFF/DEBUFF 用
damageType?: DamageType; // DoTs 用
damageProperty?: DamageProperty;
}
DoT ダメージ計算式
// DoTs は 50% の防御軽減を受ける
dotDamage = max(1, baseDamage - (flatDef × 0.5) - (damage × percentDef × 0.5))
新しい戦闘フェーズの作成
既存のターンフェーズ
プレイヤーターン:
- TURN_START → フラグのリセット
- UPKEEP → コストの切り替え、パッシブな回復
- MAIN_ACTION → スキル実行
- DEATH_CHECK → 勝利/敗北
- TURN_END → ターンの完了をマーク
敵ターン:
- DOT_ENEMY → 敵の DoTs を処理
- DOT_PLAYER → プレイヤーの DoTs を処理 (シールド経由)
- DEATH_CHECK_DOT → DoT によるキルを確認
- ENEMY_ACTION → AI スキル選択 + 実行
- DEATH_CHECK_ATTACK → 戦闘によるキルを確認
- RESOURCE_RECOVERY → クールダウン、チャクラ回復
- TERRAIN_HAZARDS → 環境ダメージ
- FINAL_DEATH_CHECK → ハザードによるキル
新しいフェーズの追加
// 1. CombatPhase 列挙型に追加
enum CombatPhase {
// ... 既存の
NEW_PHASE,
}
// 2. 計算関数を作成
function calculateNewPhaseEffects(state: CombatWorkflowState): NewPhaseResult;
// 3. ワークフローハンドラーを作成
function processNewPhase(state: CombatWorkflowState): CombatWorkflowState;
// 4. processEnemyTurn または executePlayerAction のターンフローに挿入
出力テンプレート
新しい計算関数
/**
* [これが何を計算するかの説明]
* @param attackerStats - 攻撃者の導出されたステータス
* @param defenderStats - 防御者の導出されたステータス
* @param skill - 使用されているスキル
* @returns すべての計算の詳細を含む [ResultType]
*/
export function calculateX(
attackerStats: DerivedStats,
defenderStats: DerivedStats,
skill: Skill
): XResult {
const result: XResult = {
// 結果オブジェクトの初期化
};
// ここに純粋な計算
// 状態のミューテーションなし
// ロールには Math.random() を使用
return result;
}
新しいワークフロー関数
/**
* [これがどのような状態変化を適用するかの説明]
* @param state - 現在の戦闘状態
* @param result - 適用する計算結果
* @returns 変更が適用された新しい戦闘状態
*/
export function applyX(
state: CombatWorkflowState,
result: XResult
): CombatWorkflowState {
// 新しい状態オブジェクトを作成 (イミュータブル)
const newState = { . 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Combat System Creator - SHINOBI WAY
Create combat system components following the dual-system architecture: pure calculations separated from state workflow.
Architecture Principle
Player Action → CombatCalculationSystem (pure math) → CombatWorkflowSystem (apply to state)
CombatCalculationSystem: Pure functions, no mutations, returns complete results CombatWorkflowSystem: State management, applies calculated results, controls flow
When to Use
- Add new damage calculations or formulas
- Create new status effects or mitigation mechanics
- Add new combat phases or turn logic
- Refactor existing combat code
- Balance or modify combat math
Quick Reference
Damage Pipeline (5 Steps)
1. Hit Check → MELEE: Speed vs Speed | RANGED: Accuracy vs Speed | AUTO: Always hits
2. Base Damage → ScalingStat × damageMult
3. Element → Super: 1.5× (+10% crit) | Resist: 0.5× | Neutral: 1.0×
4. Critical → 8% + (DEX × 0.5) + bonuses, max 75%, multiplier 1.75×
5. Defense → Flat (max 60% reduction) then % (soft cap 75%)
Mitigation Pipeline (Priority Order)
1. INVULNERABILITY → Blocks ALL damage (return 0)
2. REFLECTION → Calculate reflected damage (before curse)
3. CURSE → Amplify: damage × (1 + curseValue)
4. SHIELD → Absorb damage before HP
5. GUTS → Survive at 1 HP if roll succeeds
Defense Formulas
| Type | Flat | Percent (Soft Cap) |
|---|---|---|
| Physical | STR × 0.3 |
STR / (STR + 200) |
| Elemental | SPI × 0.3 |
SPI / (SPI + 200) |
| Mental | CAL × 0.25 |
CAL / (CAL + 150) |
Damage Properties
| Property | Flat Def | % Def |
|---|---|---|
| NORMAL | ✅ (max 60%) | ✅ |
| PIERCING | ❌ | ✅ |
| ARMOR_BREAK | ✅ | ❌ |
| TRUE | ❌ | ❌ |
Workflow: Adding New Mechanics
Step 1: Identify System
Ask: Is this pure math or state management?
| CombatCalculationSystem | CombatWorkflowSystem |
|---|---|
| Damage formulas | Applying damage to HP |
| Hit/miss/evasion rolls | Turn order management |
| Crit calculations | Buff duration tracking |
| Defense reduction | Phase transitions |
| Effect chance rolls | Combat log generation |
Step 2: Design the Calculation Interface
For new calculations, define the result interface:
interface NewMechanicResult {
// All values needed to apply this mechanic
value: number;
triggered: boolean;
// Metadata for logging
logs: CombatLogEntry[];
}
Step 3: Implement Pure Function
// In CombatCalculationSystem
function calculateNewMechanic(
attackerStats: DerivedStats,
defenderStats: DerivedStats,
context: CombatContext
): NewMechanicResult {
// Pure calculation - NO state mutation
return { value, triggered, logs };
}
Step 4: Implement Workflow Application
// In CombatWorkflowSystem
function applyNewMechanic(
state: CombatWorkflowState,
result: NewMechanicResult
): CombatWorkflowState {
// Apply result to state - returns NEW state
return { ...state, /* updated values */ };
}
Creating New Status Effects
Effect Types Available
// Damage Over Time
DOT, BLEED, BURN, POISON
// Crowd Control
STUN, CONFUSION, SILENCE
// Defensive
SHIELD, INVULNERABILITY, REFLECTION
// Stat Modifiers
BUFF, DEBUFF, CURSE
// Recovery
HEAL, REGEN, CHAKRA_DRAIN
Effect Interface
interface SkillEffect {
type: EffectType;
value: number; // Damage/heal amount or multiplier
duration: number; // Turns (-1 = permanent)
chance: number; // 0.0-1.0 application chance
targetStat?: PrimaryStat; // For BUFF/DEBUFF
damageType?: DamageType; // For DoTs
damageProperty?: DamageProperty;
}
DoT Damage Formula
// DoTs get 50% defense mitigation
dotDamage = max(1, baseDamage - (flatDef × 0.5) - (damage × percentDef × 0.5))
Creating New Combat Phases
Existing Turn Phases
Player Turn:
- TURN_START → Reset flags
- UPKEEP → Toggle costs, passive regen
- MAIN_ACTION → Skill execution
- DEATH_CHECK → Victory/defeat
- TURN_END → Mark turn complete
Enemy Turn:
- DOT_ENEMY → Process enemy DoTs
- DOT_PLAYER → Process player DoTs (through shield)
- DEATH_CHECK_DOT → Check DoT kills
- ENEMY_ACTION → AI skill selection + execution
- DEATH_CHECK_ATTACK → Check combat kills
- RESOURCE_RECOVERY → Cooldowns, chakra regen
- TERRAIN_HAZARDS → Environmental damage
- FINAL_DEATH_CHECK → Hazard kills
Adding New Phase
// 1. Add to CombatPhase enum
enum CombatPhase {
// ... existing
NEW_PHASE,
}
// 2. Create calculation function
function calculateNewPhaseEffects(state: CombatWorkflowState): NewPhaseResult;
// 3. Create workflow handler
function processNewPhase(state: CombatWorkflowState): CombatWorkflowState;
// 4. Insert into turn flow in processEnemyTurn or executePlayerAction
Output Templates
New Calculation Function
/**
* [Description of what this calculates]
* @param attackerStats - Attacker's derived stats
* @param defenderStats - Defender's derived stats
* @param skill - The skill being used
* @returns [ResultType] with all calculation details
*/
export function calculateX(
attackerStats: DerivedStats,
defenderStats: DerivedStats,
skill: Skill
): XResult {
const result: XResult = {
// Initialize result object
};
// Pure calculations here
// NO state mutation
// Use Math.random() for rolls
return result;
}
New Workflow Function
/**
* [Description of what state changes this applies]
* @param state - Current combat state
* @param result - Calculation result to apply
* @returns New combat state with changes applied
*/
export function applyX(
state: CombatWorkflowState,
result: XResult
): CombatWorkflowState {
// Create new state object (immutable)
const newState = { ...state };
// Apply result values to state
// Add combat logs
// Check for combat end conditions
return newState;
}
New Effect Implementation
// In constants/index.ts - Add to SKILLS
NEW_SKILL: {
id: 'new_skill',
name: 'New Skill Name',
// ... other properties
effects: [{
type: EffectType.NEW_EFFECT,
value: 10,
duration: 3,
chance: 0.8,
damageType: DamageType.PHYSICAL,
damageProperty: DamageProperty.NORMAL
}]
}
// In CombatSystem.ts - Handle in applyMitigation or processDoT
if (buff.effect.type === EffectType.NEW_EFFECT) {
// Calculate effect
// Apply to appropriate target
}
Reference Files
- combat-mechanics.md - Full combat formulas and constants
- architecture.md - Dual-system architecture details
Balance Constants
Resource Pools
- HP:
50 + (WIL × 12) - Chakra:
30 + (CHA × 8) - HP Regen:
maxHP × 0.02 × (WIL / 20) - Chakra Regen:
INT × 2
Combat Constants
- Base Hit: 92%
- Hit Range: 30-98%
- Base Crit: 8%
- Crit Cap: 75%
- Crit Mult: 1.75×
- Flat Def Cap: 60% of damage
- % Def Cap: 75%
Survival
- Guts:
WIL / (WIL + 200) - Status Resist:
CAL / (CAL + 80) - Evasion:
SPD / (SPD + 250)
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (7,790 bytes)
- 📎 references/architecture.md (15,934 bytes)
- 📎 references/combat-mechanics.md (9,767 bytes)