Skip to content

Releases: Unity-Environmental-University/Horticulture-Scripts

v0.3.23-pre

v0.3.23-pre Pre-release
Pre-release

Choose a tag to compare

@DonovanMontoya DonovanMontoya released this 03 Oct 14:00
1c551df

Version 0.3.23

🧩 Modloader Enhancements

  • Improved load/unload safety:
    • Added safety mechanisms for mod loading and unloading.
  • Modular treatment system:
    • Implemented affliction-specific effectiveness for treatment applications.
    • Added mod card registration from JSON and AssetBundles, including visuals handling.

🌱 Gameplay & Logic

  • Refined plant spread logic:
    • Reworked to randomly select afflictions with circular safety.
  • Enhanced turn-based effect handling:
    • Improved SpotDataHolder for more effective turn-based effects.
    • Added ClearLocationCardByExpiry method in PlacedCardHolder.
  • Updated notification mechanisms:
    • Refactored in PlacedCardHolder for better error handling and efficiency.

🎨 Visuals & Assets

  • Prefab updates:
    • Added new animations and rigs for plants, including wave animation for players.
    • Updated textures for peppers, coleus, and mums.
    • Fixed various prefab issues and adjusted greenhouse materials.
  • Scene enhancements:
    • Integrated player hands animation for opening cutscene.
    • Fixed bugs causing shop visibility issues and level progression failures.

🛠️ Systems & Code Architecture

  • Refactored SpotDataHolder:
    • Improved null-checks and plant caching efficiency.
    • Streamlined effect handling comments and temporary-effect logic.
  • Added icon sizing helper:
    • Implemented child-layout routine in Plant UI manager.

🗂️ Project Structure

  • Version updates:
    • Updated project version to .
  • Namespace consistency:
    • Renamed ModLoader to ModLoading across the project for clarity.

IOS: For now, You can Join the Public IOS TestFlight

Full Changelog: v0.3.22-pre...v0.3.23-pre

v0.3.22-pre

v0.3.22-pre Pre-release
Pre-release

Choose a tag to compare

@DonovanMontoya DonovanMontoya released this 23 Sep 16:19
450ce4f

Version 0.3.22

🧩 Treatment & Efficacy Systems

  • Enhanced treatment efficacy management:
    • Added dynamic treatment discovery and efficacy support
    • Introduced Efficacy field to treatment data
    • Added treatment efficacy calculation with debug output
    • Implemented clamping for treatment efficacy values (0-100)
    • Safely handle treatment efficacy lookups with fallback to default values

🧠 Gameplay & Logic

  • Code cleanup and refactoring:
    • Removed duplicate TickDay and GetCard methods from ModAffliction
    • Streamlined prefab handling in PlantHealthBarHandler
    • Removed redundant infect/egg reducers in PlantController
    • Refactored unit tests for cleaner construction

🎨 Visuals & Assets

  • Scene updates:
    • Re-added RelationshipManager back to the scene
    • Updated workflow for improved asset management

🧪 Systems & Code Architecture

  • General improvements:
    • Cleaned up temporary object creation logic
    • Renamed relationalEfficacies to relationalEfficacys in TreatmentEfficacyHandler
    • Removed unnecessary debug statements for better performance

📜 Project Structure

  • Branch updates:
    • Updated Josey's branch with the latest changes
    • General project maintenance and ignore file updates

IOS: For now, You can Join the Public IOS TestFlight

Full Changelog: v0.3.21-pre...v0.3.22-pre

v0.3.21-pre

v0.3.21-pre Pre-release
Pre-release

Choose a tag to compare

@DonovanMontoya DonovanMontoya released this 12 Sep 20:15
e88d0d4

Version 0.3.21

🛠️ Modloader Implementation

  • Improved load/unload safety:
    • Added safety measures to the modloader for better stability.
  • Modular treatment system:
    • Implemented affliction-specific effectiveness for treatment applications.
    • Enhanced treatment application logic for improved gameplay.

🌱 Gameplay & Logic

  • Refined plant mechanics:
    • Reworked spread logic for plants to randomly select afflictions with safety checks.
    • Enhanced SpotDataHolder for turn-based effects and improved error handling.
    • Added card type restrictions in PlacedCardHolder with verification tests.
  • Animation improvements:
    • Added player hands animation for opening cutscene.
    • Integrated UI animation control methods into TurnController for smoother gameplay.

🎨 Visuals & Assets

  • Prefab updates:
    • Updated and fixed various prefabs, including coleus and cucumber.
    • Added new rigs and animations for plants, including wave animations for players.
    • Replaced models for peppers, coleus, and mums; added texture files for these plants.
  • Material adjustments:
    • Adjusted greenhouse materials and plant pot designs.

⚙️ Systems & Code Architecture

  • Refactoring and optimizations:
    • Refactored SpotDataHolder for cleaner null-checks and efficient plant caching.
    • Improved notification mechanisms in PlacedCardHolder.
    • Renamed ModLoader namespace to ModLoading for consistency across the project.

📜 Project Structure

  • Version updates:
    • Updated project version to reflect recent changes.
  • Metadata and asset fixes:
    • Added narration and fixed various asset-related issues.

Merged PRs

  • Introduce ModLoader & Refactor and enhance modular treatment system by @DonovanMontoya in #5

IOS: For now, You can Join the Public IOS TestFlight

Full Changelog: v0.3.20-pre...v0.3.21-pre

v0.3.20-pre

v0.3.20-pre Pre-release
Pre-release

Choose a tag to compare

@DonovanMontoya DonovanMontoya released this 02 Sep 20:42
6dd6867

Version 0.3.20

🧩 Stickers & Status Systems

  • Expanded sticker infrastructure:
    • Added StickerPersistenceTest to verify sticker state is retained across turns and game objects
    • Fixed early implementation issues related to sticker cloning and application
  • Integrated infection/egg level tracking into treatments:
    • Treatments now support partial curing by setting infect/egg levels
    • Extended IAfflictionCard interface with BaseInfectLevel and BaseEggLevel properties
    • Introduced InfectLevels.cs to unify infection level types across systems

🧠 Gameplay & Logic

  • Refactored treatment application logic:
    • Added reduction methods for infection and egg levels
    • Optimized affliction handling in PlantController
    • Improved debug and UI update consistency
  • PlantManager list renamed to cachedPlants with improved null-safety
  • RetainedCardHolder, Click3D, and DeckManager now clean up tween animations on destroy using SetLink

🎨 Visuals & Assets

  • Added new plant prefab: Cucumber
    • Includes first-pass rig and idle animation
    • New textures and materials included
    • Updated prefab flag positioning
  • Updated existing prefabs to better represent plant health (e.g., heart indicators)
  • Updated aphid and general plant text assets

🧪 Systems & Code Architecture

  • Added IPlantCard and IAfflictionCard interfaces to extend ICard logic cleanly
  • Updated card cloning logic to support new infection properties
  • Removed obsolete infect/egg UI elements
  • Refactored naming conventions across infection-related classes
  • Added documentation to PlantController for easier onboarding and system understanding

🧪 Project Structure

  • Upgraded Unity to 6000.2.0f1
  • Updated project version to 0.3.20

IOS: For now, You can Join the Public IOS TestFlight

Full Changelog: v0.3.19-pre...v0.3.20-pre

v0.3.19-pre

v0.3.19-pre Pre-release
Pre-release

Choose a tag to compare

@DonovanMontoya DonovanMontoya released this 20 Aug 15:33
545151e

Version 0.3.19

🧠 Gameplay & Logic

  • Tutorial refinements:
    • Converted tutorial money goal to a class variable
    • Made tutorial decks non-static to prevent persistence
    • Advanced tutorial turn via EndRound(advanceTutorial: ...) to avoid accidental skips
    • Tracked tutorial completion and reset currentRound post-tutorial
    • Introduced a tutorial turn count constant and gradual card introduction
  • Round flow improvements:
    • End rounds early if all plants are healthy or have zero value
    • Improved affliction spread condition checks
  • Retained card handling:
    • Added locking/unlocking, selection animation, and safer return logic
    • Strengthened null checks and visual restoration when retained cards change
  • Balance/content updates:
    • Added Spider Mites and Fungus Gnats afflictions and cards
    • Added Spinosad and Imidacloprid treatments and cards; updated values/descriptions
    • Renamed NeemOil to HorticulturalOil across classes

🎬 Cinematics & Animation

  • Cinematic system:
    • Added CinematicDirector with PlayScene, timeline control, and skip support
    • Triggered aphids cinematic during tutorial at the correct time
    • Added postAphidsTimeline and integrated with CardGameMaster
  • Robot sequencing:
    • Integrated RobotCardGameSequencer and improved look-target handling
    • Centralized sequencing enable/disable and PlayerPrefs usage
  • Card/sticker animation:
    • Implemented animated card display and selection (DOTween)
    • Kept hover animations accurate via Click3D.UpdateOriginalTransform

🎨 Visuals & UI

  • Inspection and popup UX:
    • Enabled plant inspection via InspectFromClick + SiteDataFetcher
    • PopUpController supports null images and pauses time during display
  • Card/sticker presentation:
  • Stickers: hover scaling, fan layout arrangement, and disabled clicks on applied stickers
    • Switched card visuals to Materials; improved material handling
  • Quality and camera:
    • Mobile-focused quality settings UI; device-specific FOV handling
    • Display mode/resolution dropdowns; safer initialization for mobile UI

🧪 Systems & Code Architecture

  • Sticker system:
    • Introduced StickerDefinition, StickerView, ISticker, CopySticker, CopyStickerDefinition, and ValueReducerSticker
    • Added selection toggling, application rules, and serialization/deserialization in GameStateManager
    • Implemented ModifyValue in card classes; cloned visuals to avoid state leaks
  • Save/load and restoration:
    • Implemented game state save/load for turn, score, deck, and plants
    • Restored plants with preserved states; sequenced restoration; triggered shader updates post-restore
    • Suppressed/cleared queued effects during deck restoration; refreshed action hand
  • Deck/turn refactors:
    • Extracted ClearActionCardVisuals for reuse
    • Returned IEnumerator from plant placement to avoid race conditions; yielded in TurnController
    • Cloned cards in _plantHand (and other hands) to prevent unwanted persistence
  • Input and interaction safety:
    • Debounced placement clicks; prevented duplicate clicks and immediate pickups
    • Centralized input module access via CardGameMaster.Instance.uiInputModule
  • Audio and sequencing:
    • Centralized audio handling; added robot narration audio source/clip
    • Unified PlayOneShot usage and player hand audio source
  • Card/action plumbing:
    • Refactored PlantCardFunctions and card interaction logic; improved error/null handling
    • Added interfaces/base class for Plant Location Cards
    • Queued and played plant effects consistently via PlantEffectRequest

🧪 Tests

  • Added regression test for CardView destruction
  • Added tests for ValueReducerSticker behaviors
  • Added Play Mode tests for SiteDataFetcher; updated asmdef for TMP dependency
  • Improved test scaffolding in TurnTester/DeckTester; silenced setup warnings

🧹 Codebase Cleanup

  • Removed tutorial override that forced it on; pruned deprecated/unused logic
  • Switched references to GUIDs; updated naming and comments
  • Removed unused audio managers; streamlined coroutines and namespaces
  • Added documentation for Audio, Cinematics, and Classes systems

🔧 Project & Infrastructure

  • Updated .gitignore
  • Added PlayerPrefs-backed toggles (e.g., tutorial enabled, sequencing)
  • Minor README fixes and repo maintenance

IOS: For now, You can Join the Public IOS TestFlight

Full Changelog: https://github.com/Unity-Environmental-University/Horticulture-Scripts/commits/v0.3.19-pre

v0.3.18-pre

v0.3.18-pre Pre-release
Pre-release

Choose a tag to compare

@DonovanMontoya DonovanMontoya released this 28 Jul 01:51
b4cb198

Version 0.3.18

🧠 Gameplay & Logic

  • Tutorial system refinements:
    • Extracted money goal into a class variable
    • Tutorial decks made non-static to prevent data persistence
    • Turn advancement logic now ensures users can't accidentally skip tutorial steps
    • Resets currentRound after tutorial completion
  • Improved end-round logic: rounds now end early if all plants are healthy or have zero value

🎬 Cinematics & Animation

  • Added new face animations: annoyed, confused, default, disappointed, excited, looking right, shocked, static
  • Integrated animations for Lines 4, 6, 8, and 9
  • Reworked Timeline animations for smoother transitions
  • Polished facial positioning
  • Imported and prepped cinematics for new voice lines

🎨 Visuals & UI

  • Added support for closing inspection mode via UI
  • Introduced the "Super Vanilla" font
  • Updated PopUpController to support null image states and pause game time during display

🧪 Systems & Code Architecture

  • Refactored DeckManager:
    • Added ClearActionCardVisuals method for reuse
    • Cloned cards in _afflictionHand and _actionHand to avoid persistence issues
  • Refactored TurnController for improved affliction spread and tutorial logic
  • Updated PopUpController, RobotController, MenuManager for better maintainability
  • Added null checks to improve test coverage
  • Silenced test warnings in DeckTester and TurnTester

🧹 Codebase Cleanup

  • Removed tutorial override that forced it on
  • Cleaned up unused or deprecated logic
  • Adjusted project settings and animation metadata for consistency

🧪 Project Structure

  • Updated project version to 0.3.18

IOS: For now, You can Join the Public IOS TestFlight

Full Changelog: v0.3.17-pre...v0.3.18-pre

v0.3.17-pre

v0.3.17-pre Pre-release
Pre-release

Choose a tag to compare

@DonovanMontoya DonovanMontoya released this 21 Jul 12:22

Version 0.3.17

🧠 Gameplay & Logic

  • Implemented a structured tutorial system:

    • Tutorial now progresses over turns with dynamic card introductions
    • Added tutorial decks and turn tracking
    • Aphids cinematic now plays during tutorial, with logic adjustments in TurnController
  • Refactored isSequencingEnabled into a PlayerPrefs-backed static value for global access, allowing easier configuration and consistent toggling of cinematic sequencing across all scenes

  • Updated ApplyQueuedTreatments to use isRetainedItem when clearing retained card slots

🎬 Cinematics & Animation

  • Integrated new Florabot animations for Lines 1, 3, and 10
  • Reimported robot rig and animations for better sync
  • Tutorial cinematic (aphids-focused) now plays early in the game
  • Camera target in RobotCardGameSequencer now dynamically switches between the player and robotCameraObj to enhance cinematic framing and narrative pacing
  • Introduced CutsceneUIController.cs to manage input during cinematics
  • Added skip scene support to CinematicDirector.cs

🎨 Visuals & UI

  • Separated robot materials for better customization
  • Integrated DoTween animation for retained card visuals
  • Added fan animation for environmental polish
  • Added FlorabotNarration voice clips and triggers

🧪 Systems & Code Architecture

  • Refactored SiteDataFetcher to use async/await and added logging for fallback resolution (local → cache → remote)
  • Refactored MenuManager and added null-safety to CardGameMaster
  • Disabled iPadOS FOV adjustments temporarily due to inconsistent camera behavior; pending future review for device-specific tuning

🔉 Audio

  • Bumped volume for QueueSelect SFX
  • Added robot audio source and improved voice cue integration

🧹 Codebase Cleanup

  • Removed redundant commas, bookmarks, and outdated logic in cinematic setup
  • General cleanup across scene and script files

🧪 Project Structure

  • Updated project version to 0.3.17

IOS: For now, You can Join the Public IOS TestFlight

Full Changelog: v0.3.16-pre...v0.3.17-pre

v0.3.16-pre

v0.3.16-pre Pre-release
Pre-release

Choose a tag to compare

@DonovanMontoya DonovanMontoya released this 11 Jul 13:25

Version 0.3.16

🧠 Gameplay & Logic

  • Improved sequence timing and control for the intro cinematic and UI transitions
  • Adjusted game flow for smoother transitions between cinematic and gameplay phases

🎬 Cinematic & Narrative

  • Polished intro cinematic: better sync across visuals, voice lines, and facial animations
  • Sequencing logic refined for consistent playback across platforms

🎨 Visuals & UI

  • Minor visual improvements to UI elements during and after cinematic playback
  • Enhanced clarity of scene and menu transitions

🧪 Systems & Project Structure

  • Upgraded project to Unity 6000.1.11f1
  • Refactored scene structure and scripts to support improved cinematic and UI integration

🧹 Codebase Cleanup

  • General cleanup of logic scripts and scene organization

🧪 Project Structure

  • Updated project version to 0.3.16

IOS: For now, You can Join the Public IOS TestFlight

Full Changelog: v0.3.15-pre...v0.3.16-pre

v0.3.15-pre

v0.3.15-pre Pre-release
Pre-release

Choose a tag to compare

@DonovanMontoya DonovanMontoya released this 01 Jul 17:25

Version 0.3.15

🎬 New Feature: Intro Cinematic

  • Added a full intro cinematic using Unity Timeline and RobotCardGameSequencer
  • Integrated UI animations, scripted sequences, and spatialized audio
  • Sequencing controlled via CinematicDirector with safety checks for flow control
  • Supports voice-over playback with RobotVoiceController and synchronized facial animations

🧠 Gameplay & Logic

  • Implemented card locking/unlocking systems in RetainedCardHolder and TurnController to regulate card economy
  • Enhanced turn system with queued plant effects for more consistent feedback

🔊 Audio

  • Introduced SoundSystemMaster.cs to centralize SFX and voice management
  • Added new sound effects, including pop and narration cues
  • Integrated audio mixer to separate voice and sound effects
  • Updated scripts to use PlayOneShot for clearer sound management

🎨 Visuals & UI

  • Added expressive face texture maps for Florabot (O_O, o_O)
  • Upgraded robot model to higher-poly version while retaining original rig
  • Introduced UI animations for sequencing and interaction feedback
  • New card sprites added

🧪 Systems & Code Architecture

  • Refactored and cleaned up TurnController, DeckManager, PlantController, CardClasses, and more
  • Replaced AudioResource usage with standard AudioClip
  • Added PlantEffectRequest for managing plant events
  • Improved null-safety, streamlined method signatures, and removed unused flags/properties
  • Added SiteDataFetcher.cs and improved test hierarchy generation in DeckTester

🎮 Scenes

  • Updated scenes to integrate new cinematic, visuals, and logic hooks

🧹 Codebase Cleanup

  • Removed redundant code, cleaned up flags, and fixed abstract class misuse
  • General readability and maintenance improvements

🧪 Project Structure

  • Updated project version to 0.3.15

What's Changed

  • Fix sound duplication in TurnController in #1
  • Fix class name in MainScene in #2
  • Fix typo in README in #3

Full Changelog: v0.3.14-pre...v0.3.15-pre

v0.3.14-pre

v0.3.14-pre Pre-release
Pre-release

Choose a tag to compare

@DonovanMontoya DonovanMontoya released this 20 Jun 14:39

Version 0.3.14

🧠 Gameplay & Logic

  • Improved redraw mechanics by ensuring cards aren't duplicated or lost
  • Fixed scoring inconsistencies after card redraws
  • Added Card storage features

🧪 Systems & Code Architecture

  • Updated logic for detecting card states post-redraw
  • Refactored portions of the redraw handling for better clarity and reliability

🎨 Visuals & UI

  • Adjusted UI feedback to better reflect redraw costs and outcomes

🧹 Codebase Cleanup

  • Minor internal cleanups related to turn flow and redraw tracking

Full Changelog: v0.3.13-pre...v0.3.14-pre