Linear ArchiveArchived issues viewer
← Back to list
INS-402

battle data spawns の levelの設定を反映させる

StatusDone
TeamInstansys
Assigneeyasuhisa.hiraga@instansys.co.jp
PriorityNo priority
Created2026/02/12 04:44
Completed2026/02/16 04:56
Archived2026/02/24 02:38

Description

登場するエネミーの設定にlevelの項目があるが、現在は特に使用されていない。

キャラクターと同じようにlevelによってエネミーの強さを強化する。

キャラクターの場合は CHARACTER_LEVEL_MULTIPLIER という係数テーブルが用意されてるので、エネミーも同じようなものを用意したらいいかも。

│ エネミーレベルスケーリングの実装                                                                                                           │
│                                                                                                                                            │
│ Context                                                                                                                                    │
│                                                                                                                                            │
│ バトルデータの spawns[].level が定義されているが、エネミー生成時に無視されている。キャラクターの CHARACTER_LEVEL_MULTIPLIER                │
│ と同様の係数テーブルをエネミー用にも作成し、createEnemyEntity でレベルに応じたステータス補正を適用する。                                   │
│                                                                                                                                            │
│ 変更ファイル                                                                                                                               │
│                                                                                                                                            │
│ 1. 新規: packages/shared/src/constants/enemy-level-multiplier.ts                                                                           │
│                                                                                                                                            │
│ - ENEMY_LEVEL_MULTIPLIER 配列(Lv1〜100、CHARACTER版と同じ値パターン)                                                                     │
│ - applyEnemyLevelScaling(baseStat, level) ヘルパー関数                                                                                     │
│ - 参考: packages/shared/src/constants/character-level-multiplier.ts                                                                        │
│                                                                                                                                            │
│ 2. 更新: apps/client/src/hooks/battle-logic/enemy-spawn.ts                                                                                 │
│                                                                                                                                            │
│ createEnemyEntity 関数内で spawn.level を使いスケーリング適用:                                                                             │
│                                                                                                                                            │
│ 元の処理: battleData.maxHp × 弱体化率                                                                                                      │
│ 新しい処理: battleData.maxHp × レベル倍率 × 弱体化率                                                                                       │
│                                                                                                                                            │
│ 適用対象ステータス:                                                                                                                        │
│ - maxHp — スケーリング対象                                                                                                                 │
│ - basicAttack — スケーリング対象                                                                                                           │
│ - defense — スケーリング対象
|                                                                                                                                          │
│ 適用しないステータス(レベルで変動させない):                                                                                              │
│ - criticalPercentage, criticalMultiplier, evasion, knockbackResistance, moveSpeed 等  

Comments (1)

yasuhisa.hiraga@instansys.co.jp2026/02/12 04:55

これまでcreateEnemyでenemyのバトルデータ作成時にdefenseデータが作成されてなかった。(ダメージ計算時にmasterデータから直接参照するという挙動になってた)のも合わせて修正する