From 214ddb32fc36d56f7bda234e4e9066b0b1e3645b Mon Sep 17 00:00:00 2001 From: iisaev Date: Fri, 16 Oct 2026 16:18:12 +0000 Subject: [PATCH] upd: sync local changes Co-Authored-By: Claude Opus 5.5 --- collections/card_novel.json | 16 +++++++++++++++ locale/ui_en.properties | 2 +- locale/ui_ru.properties | 4 ++-- manifest.json | 2 +- mod.jpg | Bin 0 -> 98992 bytes mod.png | Bin 19278 -> 0 bytes scenes/character_card.tscn | 24 ++++++++++++++++++++--- src/Actions/AbstractBattleAction.cs | 14 ++++++++++++++ src/Actions/PhysicsAttackAction.cs | 9 ++++++--- src/Actions/PhysicsDefenceAction.cs | 9 ++++++--- src/UI/ActionCardNode.cs | 3 +++ src/UI/BattleActionsPanel.cs | 3 +++ src/UI/BattleBanner.cs | 3 +++ src/UI/BattleCardPanel.cs | 3 +++ src/UI/BattleHud.cs | 3 +++ src/UI/BattleLogPanel.cs | 4 ++++ src/UI/CardBattleScreen.cs | 3 +++ src/UI/CardController.cs | 10 ++++++---- src/UI/CharacterCardNode.cs | 29 ++++++++++++++++++++++------ src/UI/EndTurnButton.cs | 2 ++ 20 files changed, 120 insertions(+), 23 deletions(-) create mode 100644 mod.jpg delete mode 100644 mod.png diff --git a/collections/card_novel.json b/collections/card_novel.json index f5f8677..12b261b 100644 --- a/collections/card_novel.json +++ b/collections/card_novel.json @@ -1,37 +1,53 @@ { "id": "card_novel", + "kind": "game", "name": "Card Novel", "author": "ct", "version": "1.0.0", "description": "A visual novel with turn-based battles resolved as a card game: story core, battle engine, card layer and the novel interface.", + "locale": [ + { + "lang": "ru", + "name": "Карточная новелла", + "description": "Визуальная новелла с пошаговыми боями в виде карточной игры: сюжет, боевой движок, карты и интерфейс новеллы." + } + ], "mechanics": [ { "id": "vn_core", "name": "Novel Core", + "role": "story", "description": "Scenes, scenarios, dialogue and the story engine.", + "locale": [ + { "lang": "ru", "name": "Ядро новеллы", "description": "Сцены, сценарии, диалоги и движок истории." } + ], "mods": ["visual_novel_core>=1"] }, { "id": "story", "name": "Story", + "role": "content", "description": "The bundled story content.", "mods": ["murakami>=1"] }, { "id": "battle", "name": "Turn Battle", + "role": "battle", "description": "Turn-based combat foundation.", "mods": ["turn_battle_base>=1"] }, { "id": "cards", "name": "Card Game", + "role": "cards", "description": "Card hands, decks and card-driven battle actions.", "mods": ["card_battle>=1"] }, { "id": "interface", "name": "Interface", + "role": "ui", "description": "Shared GUI panels and the narrative HUD.", "mods": ["interface>=1"] } diff --git a/locale/ui_en.properties b/locale/ui_en.properties index 4fbcf76..3124775 100644 --- a/locale/ui_en.properties +++ b/locale/ui_en.properties @@ -1,5 +1,5 @@ mod_card_battle_name=CardBattle -mod_card_battle_desc=Card battle mechanics +mod_card_battle_desc=Card battle implementation on top of turn_battle_base: an action-card hand with attack/defence values, character cards, battle HUD, log and banners, end-turn flow and its own battle sounds. battle/end_turn=End turn diff --git a/locale/ui_ru.properties b/locale/ui_ru.properties index 4be24b8..d7205a1 100644 --- a/locale/ui_ru.properties +++ b/locale/ui_ru.properties @@ -1,5 +1,5 @@ -mod_card_battle_name=Карточная битва -mod_card_battle_desc=Механики карточных сражений +mod_card_battle_name=Карточная битва +mod_card_battle_desc=Карточные сражения на платформе turn_battle_base: рука боевых карточек (атака/защита), карточки персонажей, боевой HUD, лог и баннеры, завершение хода и свои звуки боя. battle/end_turn=Конец хода diff --git a/manifest.json b/manifest.json index cd2e31e..71fedb8 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "name": "CardBattle", "version": "1.0.0", "author": "ct", - "description": "Card battle mechanics", + "description": "Card battle implementation on top of turn_battle_base: an action-card hand with attack/defence values, character cards, battle HUD, log and banners, end-turn flow and its own battle sounds.", "category": "gameplay", "sources": [ "src/**/*.cs" diff --git a/mod.jpg b/mod.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06f431e47936347d94dcf8f624cab8e1e792ad9e GIT binary patch literal 98992 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 literal 0 HcmV?d00001 diff --git a/mod.png b/mod.png deleted file mode 100644 index 2edfb90878318aff3e62f6b9d6cf3a89691d86ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19278 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 IM6N<$f@B`BsQ>@~ diff --git a/scenes/character_card.tscn b/scenes/character_card.tscn index 15b154a..56f4e46 100644 --- a/scenes/character_card.tscn +++ b/scenes/character_card.tscn @@ -1,4 +1,4 @@ -[gd_scene format=3] +[gd_scene format=3] [ext_resource type="Script" path="src/UI/CharacterCardNode.cs" id="1_script"] @@ -142,10 +142,28 @@ layout_mode = 2 size_flags_vertical = 4 theme_override_font_sizes/font_size = 11 -[node name="HpBar" type="ProgressBar" parent="Info/Column"] +[node name="HpBarStack" type="Control" parent="Info/Column"] custom_minimum_size = Vector2(0, 7) layout_mode = 2 -size_flags_vertical = 4 +mouse_filter = 2 + +[node name="ShieldBar" type="ProgressBar" parent="Info/Column/HpBarStack"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +show_percentage = false + +[node name="HpBar" type="ProgressBar" parent="Info/Column/HpBarStack"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 mouse_filter = 2 show_percentage = false diff --git a/src/Actions/AbstractBattleAction.cs b/src/Actions/AbstractBattleAction.cs index 826ed9a..0511ba4 100644 --- a/src/Actions/AbstractBattleAction.cs +++ b/src/Actions/AbstractBattleAction.cs @@ -15,16 +15,27 @@ namespace Cthangover.CardBattle.Actions /// public abstract class AbstractBattleAction : IBattleAction { + /// Seconds timestamp of the current phase start (used for phase progress); -1 before the first phase. protected double Timestamp { get; set; } = -1; + /// Playback speed multiplier applied to all phase durations. protected float Speed { get; set; } + /// The action definition whose stats drive the animation. protected ActionCharacter Action { get; set; } + /// Acting card node. protected CharacterCardNode Source { get; set; } + /// Receiving card node. protected CharacterCardNode Target { get; set; } + /// Visual control of the source card (null-safe abort when freed mid-animation). protected Control SourceControl { get; set; } + /// Source position captured in for restoration in . protected Vector2 SourcePos { get; set; } + /// Source rotation captured in . protected float SourceRot { get; set; } + /// Visual control of the target card. protected Control TargetControl { get; set; } + /// Target position captured in . protected Vector2 TargetPos { get; set; } + /// Target rotation captured in . protected float TargetRot { get; set; } /// @@ -41,8 +52,11 @@ namespace Cthangover.CardBattle.Actions return DoInternalAction(); } + /// Frame tick of the animation; implementors advance phases and return true when finished. protected abstract bool DoInternalAction(); + /// Phase setup called once before the first tick. protected abstract void DoInternalStart(); + /// Cleanup called once after completion — restore captured positions/rotations here. protected abstract void DoInternalEnd(); protected AbstractBattleAction(CharacterCardNode source, CharacterCardNode target, ActionCharacter action, float speed = 1) diff --git a/src/Actions/PhysicsAttackAction.cs b/src/Actions/PhysicsAttackAction.cs index a5a60f6..e83a84f 100644 --- a/src/Actions/PhysicsAttackAction.cs +++ b/src/Actions/PhysicsAttackAction.cs @@ -69,9 +69,10 @@ namespace Cthangover.CardBattle.Actions movementPattern = (MovementPattern)GD.RandRange(0, 5); } + /// Resets the phase clock and starts the attack sequence from the Wait phase. protected override void DoInternalStart() { - Timestamp = Time.GetTicksUsec() / 1_000_000.0; + Timestamp = Godot.Time.GetTicksUsec() / 1_000_000.0; damageApplied = false; stunEffectSpawned = false; phase = ActionPhase.Wait; @@ -80,7 +81,7 @@ namespace Cthangover.CardBattle.Actions private float GetPhaseProgress() { - float elapsed = (float)(Time.GetTicksUsec() / 1_000_000.0 - Timestamp) * Speed * (float)Engine.TimeScale; + float elapsed = (float)(Godot.Time.GetTicksUsec() / 1_000_000.0 - Timestamp) * Speed * (float)Godot.Engine.TimeScale; float duration = GetCurrentPhaseDuration(); return Mathf.Clamp(elapsed / duration, 0f, 1f); } @@ -102,9 +103,10 @@ namespace Cthangover.CardBattle.Actions private void ResetTimestamp() { - Timestamp = Time.GetTicksUsec() / 1_000_000.0; + Timestamp = Godot.Time.GetTicksUsec() / 1_000_000.0; } + /// Advances the multi-phase attack: dash in, impact, damage/stun application, return and recover. protected override bool DoInternalAction() { float progress = GetPhaseProgress(); @@ -258,6 +260,7 @@ namespace Cthangover.CardBattle.Actions return false; } + /// Restores the target's captured position, scale and rotation after the attack animation. protected override void DoInternalEnd() { if (SourceControl != null) diff --git a/src/Actions/PhysicsDefenceAction.cs b/src/Actions/PhysicsDefenceAction.cs index 2d00436..bbc7c63 100644 --- a/src/Actions/PhysicsDefenceAction.cs +++ b/src/Actions/PhysicsDefenceAction.cs @@ -42,9 +42,10 @@ namespace Cthangover.CardBattle.Actions public PhysicsDefenceAction(CharacterCardNode source, CharacterCardNode target, ActionCharacter action, float speed = 1) : base(source, target, action, speed) { } + /// Resets the phase clock and captures the target's original scale and colour. protected override void DoInternalStart() { - Timestamp = Time.GetTicksUsec() / 1_000_000.0; + Timestamp = Godot.Time.GetTicksUsec() / 1_000_000.0; effectApplied = false; phase = ActionPhase.Prepare; targetOriginalScale = TargetControl.Scale; @@ -53,7 +54,7 @@ namespace Cthangover.CardBattle.Actions private float GetPhaseProgress() { - float elapsed = (float)(Time.GetTicksUsec() / 1_000_000.0 - Timestamp) * Speed * (float)Engine.TimeScale; + float elapsed = (float)(Godot.Time.GetTicksUsec() / 1_000_000.0 - Timestamp) * Speed * (float)Godot.Engine.TimeScale; float duration = GetCurrentPhaseDuration(); return Mathf.Clamp(elapsed / duration, 0f, 1f); } @@ -73,9 +74,10 @@ namespace Cthangover.CardBattle.Actions private void ResetTimestamp() { - Timestamp = Time.GetTicksUsec() / 1_000_000.0; + Timestamp = Godot.Time.GetTicksUsec() / 1_000_000.0; } + /// Advances the guard animation: approach, impact, defence stat application, return and recover. protected override bool DoInternalAction() { float progress = GetPhaseProgress(); @@ -196,6 +198,7 @@ namespace Cthangover.CardBattle.Actions return false; } + /// Restores the target's captured visual state after the defence animation. protected override void DoInternalEnd() { if (SourceControl != null) diff --git a/src/UI/ActionCardNode.cs b/src/UI/ActionCardNode.cs index 9a2fc1c..c9aaeb4 100644 --- a/src/UI/ActionCardNode.cs +++ b/src/UI/ActionCardNode.cs @@ -4,6 +4,8 @@ using Cthangover.Core.UI; using Cthangover.Core.UI.Theming; using Godot; +using Cthangover.Mods.Interface.Base.Lists; +using Cthangover.Mods.Interface.Theming; namespace Cthangover.CardBattle.UI { /// @@ -50,6 +52,7 @@ namespace Cthangover.CardBattle.UI /// public Control GetControlNode() => this; + /// Builds the action card visuals: artwork, name label and point cost chip from the bound ActionCharacter. protected override void Construct() { CthangoverTheme.Apply(this); diff --git a/src/UI/BattleActionsPanel.cs b/src/UI/BattleActionsPanel.cs index 159c615..2b83546 100644 --- a/src/UI/BattleActionsPanel.cs +++ b/src/UI/BattleActionsPanel.cs @@ -2,6 +2,8 @@ using Cthangover.Core.UI; using Cthangover.Core.UI.Theming; using Godot; +using Cthangover.Mods.Interface.Base.Lists; +using Cthangover.Mods.Interface.Theming; namespace Cthangover.CardBattle.UI { /// @@ -28,6 +30,7 @@ namespace Cthangover.CardBattle.UI /// Container that receives action cards; owned by the input controller. public Control Body => _grid; + /// Builds the bottom action bar shown while a card is selected. protected override void Construct() { CthangoverTheme.Apply(this); diff --git a/src/UI/BattleBanner.cs b/src/UI/BattleBanner.cs index 0cfa70e..77334d0 100644 --- a/src/UI/BattleBanner.cs +++ b/src/UI/BattleBanner.cs @@ -2,6 +2,8 @@ using Cthangover.Core.UI; using Cthangover.Core.UI.Theming; using Godot; +using Cthangover.Mods.Interface.Base.Lists; +using Cthangover.Mods.Interface.Theming; namespace Cthangover.CardBattle.UI { /// @@ -22,6 +24,7 @@ namespace Cthangover.CardBattle.UI private Label _label; private Tween _tween; + /// Builds the centre-screen turn/victory banner label. protected override void Construct() { CthangoverTheme.Apply(this); diff --git a/src/UI/BattleCardPanel.cs b/src/UI/BattleCardPanel.cs index c6496d8..ed44a62 100644 --- a/src/UI/BattleCardPanel.cs +++ b/src/UI/BattleCardPanel.cs @@ -6,6 +6,8 @@ using Cthangover.Core.UI; using Cthangover.Core.UI.Theming; using Godot; +using Cthangover.Mods.Interface.Base.Lists; +using Cthangover.Mods.Interface.View; namespace Cthangover.CardBattle.UI { /// @@ -48,6 +50,7 @@ namespace Cthangover.CardBattle.UI /// public event System.Action OnCardDead; + /// Builds the card grid container rows for one battle side. protected override void Construct() { CthangoverTheme.Apply(this); diff --git a/src/UI/BattleHud.cs b/src/UI/BattleHud.cs index 1a8e3bf..784fe66 100644 --- a/src/UI/BattleHud.cs +++ b/src/UI/BattleHud.cs @@ -2,6 +2,8 @@ using Cthangover.Core.UI; using Cthangover.Core.UI.Theming; using Godot; +using Cthangover.Mods.Interface.Base.Lists; +using Cthangover.Mods.Interface.Theming; namespace Cthangover.CardBattle.UI { /// @@ -19,6 +21,7 @@ namespace Cthangover.CardBattle.UI private Label _roundValue; private Label _enemiesValue; + /// Builds the battle HUD frame: turn indicator, speed control and log button. protected override void Construct() { CthangoverTheme.Apply(this); diff --git a/src/UI/BattleLogPanel.cs b/src/UI/BattleLogPanel.cs index 23c5881..3333dd2 100644 --- a/src/UI/BattleLogPanel.cs +++ b/src/UI/BattleLogPanel.cs @@ -2,6 +2,8 @@ using Cthangover.Core.UI; using Cthangover.Core.UI.Theming; using Godot; +using Cthangover.Mods.Interface.Base.Lists; +using Cthangover.Mods.Interface.Theming; namespace Cthangover.CardBattle.UI { /// @@ -25,6 +27,7 @@ namespace Cthangover.CardBattle.UI private ScrollContainer _scroll; private VBoxContainer _rows; + /// Builds the scrollable battle log with coloured entries per . protected override void Construct() { CthangoverTheme.Apply(this); @@ -51,6 +54,7 @@ namespace Cthangover.CardBattle.UI BattleLogHub.Entry += Append; } + /// Unsubscribes from the shared so the freed panel stops receiving entries. protected override void Destruct() { BattleLogHub.Entry -= Append; diff --git a/src/UI/CardBattleScreen.cs b/src/UI/CardBattleScreen.cs index 2092b51..d84e737 100644 --- a/src/UI/CardBattleScreen.cs +++ b/src/UI/CardBattleScreen.cs @@ -2,6 +2,8 @@ using Cthangover.Core.UI; using Cthangover.Core.UI.Theming; using Godot; +using Cthangover.Mods.Interface.Base.Lists; +using Cthangover.Mods.Interface.View; namespace Cthangover.CardBattle.UI { /// @@ -48,6 +50,7 @@ namespace Cthangover.CardBattle.UI /// public CanvasLayer DragLayer { get; private set; } + /// Assembles the full card-battle screen: panels, HUD, banner, log and drag layer. protected override void Construct() { CthangoverTheme.Apply(this); diff --git a/src/UI/CardController.cs b/src/UI/CardController.cs index d060989..9c551a2 100644 --- a/src/UI/CardController.cs +++ b/src/UI/CardController.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using Cthangover.Core.Cards; using Cthangover.Core.Audio; using Cthangover.Core.Scenes; @@ -9,6 +9,7 @@ using Cthangover.Core.UI.CharacterPanel; using Cthangover.Core.UI.Theming; using Godot; +using Cthangover.Mods.Interface.Base; namespace Cthangover.CardBattle.UI { /// @@ -70,6 +71,7 @@ namespace Cthangover.CardBattle.UI _panels = new[] { screen.PlayerPanel, screen.EnemyPanel }; } + /// Routes mouse input into card selection and target picking for the player turn. protected override void OnInput(InputEvent @event) { if (Cthangover.Core.Battle.BattleSceneContext.Instance != null && @@ -274,7 +276,7 @@ namespace Cthangover.CardBattle.UI if (source != _selectedCharacter && _selectedCharacter != null) _selectedCharacter.Unselect(); - var audioService = SceneContextNode.Instance?.GetSceneRoot("AudioService"); + var audioService = SceneContextNode.Instance?.GetSceneRoot("AudioService") as IAudioService; audioService?.PlaySound("battle/card_show_actions", SoundType.CardEffect); _selectedCharacter = source; @@ -303,7 +305,7 @@ namespace Cthangover.CardBattle.UI _currentActionCard.Unselect(); _dragValid = true; - var audioService = SceneContextNode.Instance?.GetSceneRoot("AudioService"); + var audioService = SceneContextNode.Instance?.GetSceneRoot("AudioService") as IAudioService; audioService?.PlaySound("battle/card_pick", 4, SoundType.CardEffect); _currentActionCard = source; @@ -382,7 +384,7 @@ namespace Cthangover.CardBattle.UI _originalActionCardParent = null; } - var audioService = SceneContextNode.Instance?.GetSceneRoot("AudioService"); + var audioService = SceneContextNode.Instance?.GetSceneRoot("AudioService") as IAudioService; audioService?.PlaySound("battle/card_drop", 4, SoundType.CardEffect); DoActionToTarget(); diff --git a/src/UI/CharacterCardNode.cs b/src/UI/CharacterCardNode.cs index a78acd1..0a0f2c1 100644 --- a/src/UI/CharacterCardNode.cs +++ b/src/UI/CharacterCardNode.cs @@ -6,13 +6,18 @@ using Cthangover.Core.UI; using Cthangover.Core.UI.Theming; using Godot; +using Cthangover.Mods.Interface.Base.Lists; +using Cthangover.Mods.Interface.Theming; namespace Cthangover.CardBattle.UI { /// /// Party or enemy card on the battle field, rebuilt from the interface /// mockup (mockups/card_battle): full-bleed portrait, team-coloured frame, - /// bottom info block with the name, four stat chips (HP/ЗАЩ/АТК/ОД) and an - /// HP bar, plus stun badge, zap flash and selection frame in the upper right. + /// bottom info block with the name, four stat chips (HP/ЗАЩ/АТК/ОД) and a + /// layered health bar (: + /// track → health fill → blue defence segment drawn past the health edge + /// while absorbs damage), plus + /// stun badge, zap flash and selection frame in the upper right. /// The node tree lives in scenes/character_card.tscn; this class /// fetches the nodes once, dresses them with styles and /// exposes the battle-facing API: is the single @@ -34,6 +39,7 @@ namespace Cthangover.CardBattle.UI private TextureRect _art; private Panel _teamFrame; private Label _nameLabel; + private ProgressBar _shieldBar; private ProgressBar _hpBar; private Label _hpValue; private Label _defValue; @@ -87,6 +93,7 @@ namespace Cthangover.CardBattle.UI /// public Control GetControlNode() => this; + /// Builds the character card: portrait, art frame, selection overlay and stat labels. protected override void Construct() { CthangoverTheme.Apply(this); @@ -94,7 +101,8 @@ namespace Cthangover.CardBattle.UI _art = GetNode("Art"); _teamFrame = GetNode("TeamFrame"); _nameLabel = GetNode