This commit is contained in:
2025-12-10 01:35:09 +09:00
parent 5b1ce14ed4
commit 8f72b9a812
20 changed files with 547 additions and 181 deletions
+8 -2
View File
@@ -248,6 +248,10 @@ class _BattleScreenState extends State<BattleScreen> {
feedbackText = "FAILED";
feedbackColor = ThemeConfig.failedText;
break;
case BattleFeedbackType.dodge:
feedbackText = "DODGE";
feedbackColor = ThemeConfig.statLuckColor; // Use Luck color (Greenish)
break;
default:
feedbackText = "";
feedbackColor = ThemeConfig.textColorWhite;
@@ -649,14 +653,15 @@ class _BattleScreenState extends State<BattleScreen> {
!battleProvider.enemy.isDead &&
!battleProvider.showRewardPopup &&
!_isPlayerAttacking &&
!_isEnemyAttacking,
!_isEnemyAttacking, // Enabled even if disarmed (damage reduced)
isDefendEnabled:
battleProvider.isPlayerTurn &&
!battleProvider.player.isDead &&
!battleProvider.enemy.isDead &&
!battleProvider.showRewardPopup &&
!_isPlayerAttacking &&
!_isEnemyAttacking,
!_isEnemyAttacking &&
!battleProvider.player.hasStatus(StatusEffectType.defenseForbidden), // Disable if defense is forbidden
onAttackPressed: () =>
_showRiskLevelSelection(context, ActionType.attack),
onDefendPressed: () =>
@@ -859,6 +864,7 @@ class _BattleScreenState extends State<BattleScreen> {
if (item.hpBonus > 0) stats.add("+${item.hpBonus} ${AppStrings.hp}");
if (item.armorBonus > 0) stats.add("+${item.armorBonus} ${AppStrings.def}");
if (item.luck > 0) stats.add("+${item.luck} ${AppStrings.luck}");
if (item.dodge > 0) stats.add("+${item.dodge}% Dodge"); // Add Dodge
List<String> effectTexts = item.effects.map((e) => e.description).toList();