← Back to list
INS-280
キャラクターに対する装備のパラメータ適用の修正
StatusDone
TeamInstansys
Assigneeyasuhisa.hiraga@instansys.co.jp
PriorityNo priority
Created2025/12/26 05:25
Completed2025/12/29 02:17
Archived2026/02/01 12:17
Description
乗算すべきところを加算になっていたり、用途不明な装備のパラメータが存在するので修正する
- healPowerを削除
- healのGradeMapを適用
- physical_attack/magical_attack も乗算
- defence も乗算
- calculateEquippedCharacterStatsの方の処理も直す
- バトルデータへの反映とcalculateEquippedCharacterStatsを統一化したい
Comments (4)
yasuhisa.hiraga@instansys.co.jp2025/12/29 00:10
- calculateEquippedCharacterStatsでのhp,attack,defenceの適用処理を乗算に変更した
yasuhisa.hiraga@instansys.co.jp2025/12/29 00:11
- calculateEquippedCharacterStats は 装備のLvが適用されてないので、適用する必要がある
yasuhisa.hiraga@instansys.co.jp2025/12/29 00:39
- equipment-stats.tsをsharedに移動
- apps/client/src/lib/equipment-stats.ts → packages/shared/src/lib/equipment-stats.ts
- package.jsonに "./lib/*": "./src/lib/*.ts" を追加
- applyEquipmentToCharacterStats関数を追加
- 共通関数としてpackages/shared/src/lib/equipment-stats.tsに実装
- hp/attack/defenseは乗算(パーセント上昇)、その他は加算で適用
- character-entity.ts を更新
- 装備適用ロジックを applyEquipmentToCharacterStats 呼び出しに置き換え
- 50行以上のコードが4行に削減
- server/character.ts を更新
- calculateEquippedCharacterStats が { equipmentMasterId, level }[] を受け取るように変更
- 装備レベルの倍率も反映されるようになった
- インポートを更新したファイル
- useEquipmentPossessions.ts
- EquipmentUpgradeModal.tsx
- SmithEquipmentDetailPanel.tsx
yasuhisa.hiraga@instansys.co.jp2025/12/29 00:39
結果
装備パラメータの適用ロジックがclientとserverで統一され、以下の計算式が共通で使われます:
- 攻撃力: baseAttack × (1 + (physicalAttack + magicalAttack) / 100)
- 防御力: defense × (1 + defence / 100)
- HP: maxHp × (1 + hp / 100)
- クリティカル率/倍率: 加算
- 属性ダメージ/チャージ速度: 加算