41 Commits

Author SHA1 Message Date
alexandriaa 43bc54d82f Update project references and generated files after moving project directory
- Updated AssemblyInfo and generated files to reflect new project path.
- Incremented PresentationBuildTasks version from 9.0.14.0 to 9.0.15.0 in generated code files.
- Adjusted paths in project.assets.json, project.nuget.cache, and other related files to point to the new directory.
- Updated NuGet tool version from 6.14.0 to 6.14.3.
- Regenerated binary and cache files to ensure consistency with the new project structure.
2026-04-30 19:21:01 -04:00
alexandriaa d9e0de8f1d Add Spawn Effect Type and Implement Creature Spawning Logic
- Introduced a new EffectType called 'Spawn' to facilitate creature spawning abilities.
- Implemented the SpawnCreature and SpawnCreatureForOpponent methods in MainViewModel to handle spawning logic based on card abilities.
- Updated the ability execution flow to include the new spawn effect, allowing for dynamic creature placement on the field.
- Adjusted related logging and error handling to ensure smooth gameplay experience.
2026-04-12 21:07:19 -04:00
alexandriaa cec6fe34ab Refactor card abilities and UI updates
- Updated the "Irradiated Blob" creature to separate its mutation ability into two distinct effects: a buff to power and a debuff to health.
- Modified the "Joviality" ability to buff all player creatures and added a self-damage effect.
- Enhanced the MainViewModel to handle new ability types including DamageToSelf and BuffAllPlayerCreatures.
- Implemented a method to remove dead creatures from the field after combat and passive abilities.
- Added a news section to the MenuView with instructions and feedback requests for alpha testers, while restructuring the layout for better usability.
- Updated assembly versioning and sourcelink information across multiple files.
2026-04-12 20:46:45 -04:00
alexandriaa 9fcc62ca2e feat: Enhance combo abilities and UI integration
- Added ComboAbilityDef class to define abilities for combos.
- Updated ComboEntry to include a list of abilities.
- Implemented ability conversion in ComboDataLoader to create CardAbility objects.
- Enhanced combos.json with new abilities for existing combos.
- Updated CardZoomOverlay.xaml to display abilities in the UI, including detailed information for each ability.
- Added converters for visibility handling based on ability counts.
2026-04-12 19:45:35 -04:00
alexandriaa 88594945ea feat: Add combo card functionality with JSON data integration
- Implemented ComboDataLoader to load combo cards from combos.json.
- Created ComboEntry and CombosFile data models for JSON deserialization.
- Added combo card creation logic with auto-calculated TemplateIds.
- Introduced error logging for loading issues and debugging.
- Added new combos.json file defining various combo card combinations.
- Updated project files and binaries to reflect new changes.
2026-04-12 19:36:41 -04:00
alexandriaa eae7632bf6 feat: Add new combo cards and implement app settings persistence
- Introduced six new combo cards with unique abilities and IDs.
- Created AppSettings class to manage application settings, including starting health.
- Updated MainViewModel to utilize AppSettings for player health initialization.
- Modified DeckBuilderView and GameView to reflect new navigation and combo slot functionality.
- Added buttons for removing cards from combo slots in GameView.
- Implemented settings UI to allow users to configure starting health.
- Added PowerShell scripts for managing combo cards and finding available IDs.
2026-04-12 19:10:22 -04:00
alexandriaa f7db1d0d59 feat: Add ability activation for weapon, armor, and event slots
- Implemented CanActivateAbilityConverter to control visibility of ability activation buttons based on card state.
- Added left-click handlers for weapon, armor, and event slots to activate abilities.
- Updated MainViewModel to manage opponent mana and health, including regeneration logic.
- Modified GameView.xaml to include new ability activation buttons and bind their visibility.
- Updated GameView.xaml.cs to handle ability activation logic for weapon, armor, and event slots.
2026-04-12 13:51:06 -04:00
alexandriaa f0b96ad03f Refactor generated files and update assembly information
- Removed unnecessary auto-generated code from GeneratedInternalTypeHelper.g.cs.
- Updated MainWindow.g.cs checksum to reflect changes in MainWindow.xaml.
- Changed AssemblyInformationalVersion in NewGame.UI.AssemblyInfo.cs.
- Updated sourcelink JSON to point to the new commit hash.
- Modified DeckBuilderView and GameView generated files to reflect changes in their respective XAML files.
- Added new BAML files for various views and controls.
- Updated references and binary files in the Debug directory.
2026-04-12 12:54:27 -04:00
alexandriaa 3105cd92f0 feat: Add combinable card feature and game end window
- Implemented CardCombiner class to handle card combining operations with validation for combinable cards.
- Added UI elements in GameView.xaml to indicate if a card is combinable.
- Enhanced SettingsView.xaml with a subtitle indicating upcoming functionality.
- Created GameEndWindow.xaml and GameEndWindow.xaml.cs to display game results (win/lose) with appropriate messages and styling.
2026-04-11 17:55:58 -04:00
alexandriaa 99b1eb3a43 Add SettingsView with sound, graphics, and gameplay options
- Created SettingsView.xaml and SettingsView.xaml.cs for user settings.
- Implemented UI elements for sound settings (master volume, music volume, sound effects).
- Added graphics settings (resolution, fullscreen, vsync).
- Included gameplay settings (animation speed, tutorial hints).
- Updated MainWindow to navigate to SettingsView.
2026-04-11 15:54:31 -04:00
alexandriaa a4e63a2c13 chore: Update binaries and assembly info for MagicalDeckbuilder.Shared and NewGame.UI 2026-04-11 11:32:00 -04:00
alexandriaa 91bb793360 feat: Implement combination card lookup and drag-and-drop functionality in GameView
- Added CombinationLookup class to manage pre-made combination cards based on two input cards.
- Introduced methods for loading combination cards and finding combinations.
- Enhanced GameView with mouse event handlers for combo slots and player/opponent card interactions.
- Updated XAML bindings to support new combo slot functionality.
- Modified AssemblyInfo to reflect version changes.
2026-04-11 02:25:10 -04:00
alexandriaa 6bed0e6bd9 Refactor GameView and update related resources
- Updated GameView.xaml to modify event handling and bindings for equipment slots.
- Changed references in GameView.g.cs to reflect updated XAML structure.
- Updated sourcelink and assembly info files for consistency.
- Modified binary files related to the UI project, including DLLs and caches.
- Added a temporary backup of the old GameView.xaml for reference.
2026-04-09 16:25:08 -04:00
alexandriaa b964d2efdf Update project files and binaries for NewGame.UI and MagicalDeckbuilder.Shared
- Added new SQLite shared memory and write-ahead log files for meta agent.
- Updated codeboarding version in codeboarding_version.json.
- Updated binaries for MagicalDeckbuilder.Shared and NewGame.UI, including DLLs and PDBs.
- Modified AssemblyInfo.cs files to reflect new commit hash.
- Updated project paths in various configuration files to use consistent casing.
- Updated sourcelink and assets cache files to reflect new commit hash.
- Regenerated project.assets.json and project.nuget.cache with updated paths and hashes.
2026-04-09 13:41:26 -04:00
alexandriaa 8f95636121 Add debug logging to refresh caches and game initialization 2026-04-09 13:40:58 -04:00
alexandriaa e36147670d Refactor artifact slot drag-and-drop logic in GameView
- Simplified the calculation of artifact slot index by introducing a new method `GetArtifactSlotIndex`.
- Removed hardcoded position checks and replaced them with a more dynamic approach using the panel's children.
- Improved logging for better debugging of artifact slot interactions.
- Ensured that the background color change for empty slots only occurs when the index is valid.
- Updated related binary files and project assets due to changes in the codebase.
2026-04-09 00:55:07 -04:00
alexandriaa bb0b2629bd Enhance GameView with Drag-and-Drop Functionality for Player and Artifact Slots
- Implemented drag-and-drop support for player creature slots, allowing players to move cards into designated slots.
- Added spell casting functionality when dropping spell cards on player creature slots or artifact slots.
- Introduced logging for drag-and-drop actions to aid in debugging and tracking card movements.
- Enhanced visual feedback during drag-and-drop operations with background color changes for valid drop targets.
- Updated GameView.xaml.cs to handle mouse events for player slots, artifact slots, and spell cards.
- Improved card zoom functionality with a dedicated overlay for better user experience.
- Modified assembly information and updated binary files for the NewGame.UI project.
2026-04-07 03:14:35 -04:00
alexandriaa 7c191e8eb1 refactor: Simplify deck name retrieval and add unique name generation 2026-04-06 19:10:18 -04:00
alexandriaa 861d5df190 Refactor deck saving logic and add deck name dialog
- Updated MainViewModel to handle deck name input through a dialog when saving a new deck.
- Implemented logic to check if a deck is being edited or created, and call the appropriate save or update method.
- Removed the old prompt for deck name method and replaced it with a new DeckNameDialog for better user experience.
- Added a new DeckNameDialog.xaml and DeckNameDialog.xaml.cs to manage deck name input and validation.
- Enhanced DeckBuilderView with a Save button for saving decks.
- Updated GameView to improve card display using ItemsControl for better layout and interaction.
- Changed MenuView button text from "Deck Builder" to "Deck Selection" for clarity.
2026-04-06 19:09:44 -04:00
alexandriaa 882ffbce93 feat: Implement deck serialization and storage services
- Added DeckSerialization class for JSON serialization/deserialization of decks.
- Introduced DeckStorageService for managing deck persistence, including saving, loading, and indexing decks.
- Created SavedDeck and SavedCard classes to represent saved decks and their cards.
- Developed ViewModel for saved decks to facilitate UI binding.
- Implemented DeckSelectionView for selecting and managing player decks.
- Added UnsavedChangesDialog for prompting users about unsaved changes.
2026-04-06 16:56:56 -04:00
alexandriaa 62b7b73a17 Add .codeboardingignore with comprehensive analysis exclusion patterns
Added a CodeBoarding ignore configuration file to exclude common non-source directories (virtual environments, build outputs, test directories) from code analysis and architecture generation, streamlining the boarding process for this card game project.
2026-04-06 14:45:02 -04:00
alexandriaa 24999943a4 Convert source files to LF line endings for GitHub compatibility 2026-04-06 14:39:09 -04:00
alexandriaa 6bcc284393 Add artifact and event slots to game UI
- Add PlayerArtifactSlots array (3 slots) to MainViewModel
- Add PlayerEventSlot to MainViewModel
- Update PlayCardToSlot method to handle new slot ranges
- Update GameView XAML and code-behind for new slots
2026-04-06 14:33:34 -04:00
alexandriaa 38ea9f27a7 Update MagicalDeckbuilder.Shared and NewGame.UI assemblies and related files
- Updated the MagicalDeckbuilder.Shared.dll and MagicalDeckbuilder.Shared.pdb files to reflect recent changes.
- Modified the AssemblyInfo.cs for both MagicalDeckbuilder.Shared and NewGame.UI to update the informational version.
- Updated sourcelink.json files for both projects to point to the new commit hash.
- Regenerated the GeneratedInternalTypeHelper.g.cs file in NewGame.UI.
- Updated various cache files related to assembly references and inputs.
- Updated the apphost.exe and other binaries in the NewGame.UI project.
2026-04-06 01:00:07 -04:00
alexandriaa 92e193d40f Implement combo slot locking mechanism with greyed out preview 2026-04-06 00:38:42 -04:00
alexandriaa d4cd65d81d Add weapon and armor equipment slots for player and opponent 2026-04-06 00:08:39 -04:00
alexandriaa 03b053f384 Add close button to navigation bar 2026-04-05 23:16:21 -04:00
alexandriaa 5b0ff8e5d2 Add README.md 2026-04-05 22:58:48 -04:00
alexandriaa b549fd076c Add .gitignore to exclude build artifacts 2026-04-05 22:56:38 -04:00
alexandriaa 8a3f3faa70 Add ErrorWindow and ErrorLogger functionality 2026-04-05 22:47:58 -04:00
alexandriaa 2e7884a032 Normalize all files to LF line endings 2026-04-05 22:41:48 -04:00
alexandriaa d55ac291ea Add .gitattributes to enforce consistent line endings (LF) 2026-04-05 22:41:23 -04:00
alexandriaa e71fb76634 Add generated files and update views for NewGame.UI
- Added auto-generated GlobalUsings, AssemblyInfo, and editor config files.
- Updated sourcelink JSON files for debugging.
- Included new asset cache files for project dependencies.
- Updated BAML and generated C# files for GalleryView and GameView with new checksums.
- Modified apphost and reference DLLs for the latest build.
2026-04-05 18:52:08 -04:00
alexandriaa dbdc31bcf8 Fix crash when selecting opponent to play against
- Clear field slots in InitializeGame to avoid stale state
- Explicitly notify property changes for FieldSlots
- Added GenerateRandomDeck method to CardFactory (if missing)
- Reset status message and health values when starting new game
2026-04-05 17:40:27 -04:00
alexandriaa 86c6eb9dc5 Implement automatic opponent deck selection and UI improvements
- Add BattleSelectView for choosing opponent difficulty (Apprentice, Journeyman, Expert, Grandmaster)
- Add CanAffordToColorConverter and CanAffordToOpacityConverter for card visual feedback
- Update hand card UI to show playable state with opacity and color highlighting
- Add opponent health display to top bar in GameView
- Fix opponent field slots display consistency (indices 0-5)
- Update CardViewModel with CanAffordWith helper method
- Add SelectDifficultyAndStart method to MainViewModel for automatic deck generation
- Connect MenuView to navigate to BattleSelectView instead of directly to Game
- Add BattleSelectView to MainWindow content control
2026-04-05 17:24:07 -04:00
alexandriaa bc4c678b8d Add generated files and update DeckBuilderView and GameView
- Added generated AssemblyInfo, editorconfig, GlobalUsings, assets.cache, and sourcelink.json files for NewGame.UI.
- Updated DeckBuilderView.g.cs with new event handlers and updated line numbers.
- Updated GameView.g.cs with new event handlers, added IStyleConnector implementation, and updated line numbers.
- Updated binary files for apphost.exe and NewGame.UI.dll.
- Added NuGet configuration files for project dependencies and restore settings.
2026-04-05 17:17:43 -04:00
alexandriaa ceaf3cca1f Add NuGet configuration and project assets for NewGame.UI
- Created new NuGet dependency specification files for NewGame.UI and NewGame projects.
- Added project.assets.json to manage package dependencies and versions.
- Included .props and .targets files for NuGet integration.
- Configured project references and restore settings for .NET 9.0 Windows target framework.
- Established package folders and cache for NuGet packages.
2026-04-05 16:07:06 -04:00
alexandriaa d5073c68dc Update NewGame binaries and assembly information
- Updated NewGame.dll, NewGame.exe, and NewGame.pdb binaries in both Debug and obj directories.
- Changed AssemblyInformationalVersion in NewGame.AssemblyInfo.cs from "1.0.0+73fec4bc0e54d2b153c674bfe0313e3db3050673" to "1.0.0+4351ba56425127f7ac8115a1f883c106c3a4d237".
- Updated sourcelink.json to reflect the new commit hash.
2026-04-05 13:41:02 -04:00
alexandriaa 4351ba5642 Update GameForm layout and card display; adjust row proportions and add new card panel method 2026-04-05 04:13:06 -04:00
alexandriaa 73fec4bc0e Add initial build artifacts and assembly metadata for NewGame project 2026-04-05 03:45:19 -04:00
alexandriaa c7329845d1 first commit 2026-04-04 23:26:24 -04:00