16 Commits
Author SHA1 Message Date
98d70fa995 Add hippogryph beast effect using DragonEffect flight system (#6533)
* Add hippogryph beast effect using DragonEffect flight system

Reuses DragonEffect.cs (flight/ground state machine) with a custom
HippogryphMapAnims controller mapping 15 animation states to the
PROTOFACTOR Hippogriff asset. Includes PBR materials, 12 animation
FBXes, and tuned flight parameters (scale 8, fly height 12).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Reduce hippogriff texture maxTextureSize to 512

The Addressable bundle build was failing during ArchiveAndCompress
because the hippogriff textures were imported at 4096x4096 (default
from the asset pack). For a map-view beast effect, 512 is plenty.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix texture .meta files stored as LFS pointers instead of YAML

The broad directory-level LFS pattern in .gitattributes was catching
.meta text files. Replace with a global *.jpg pattern (other binary
formats already have global patterns) and re-add the 8 texture .meta
files as regular blobs so Unity can read them on CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 22:16:51 -07:00
85a3f4bc39 Upgrade dragon beast to 3D model with full animation suite (#6306)
Replace the 2D PSD-based DragonRed sprite with a 3D FBX model from 3dFoin
Dragon. The dragon now alternates between flying (circling at altitude with
fly/flyAttack/flyBreathFire/flyFast/flyHit actions) and grounded (wandering
with walk/run/attack/breathFire/whipTail/hit/stand/idle actions) modes.

- Add DragonMapAnims.controller with 15 animation states
- Configure dragon_skin.FBX for Generic animation with avatar
- Rewrite DragonEffect.cs with 4-mode state machine
- Delete old 2D DungeonMonsters2D dragon assets
- Add Dragon/ to LFS rules and clang-format excludes

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 09:25:37 -08:00
c9afc4a6b8 Convert existing asset packs to Git LFS (#6303)
* LFS-track all files under third-party asset pack directories

Track all files under DungeonMonsters2D/, Raccoon/, Polytope Studio/,
and RRFreelance-Characters/ via Git LFS. These are imported third-party
assets that are never manually edited.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Convert DungeonMonsters2D and Raccoon assets to Git LFS

Re-add all files under DungeonMonsters2D/ and Raccoon/ through
the LFS filter so they're stored as LFS objects going forward.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:18:02 -08:00
6bfbf38fb4 Add animal wandering effects for bear, boar, crocodile, snake, wolf (#6281)
* Add animal wandering effect for bear, boar, crocodile, snake, wolf

New AnimalEffect.cs drives Animal Pack Deluxe 3D prefabs using their
lowercase state names (idle, walk, run, eat, attack) and Y-rotation
for facing direction. Wolverine reuses the wolf prefab.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add animal effect prefabs and scene wiring for bear, boar, crocodile, snake, wolf

Wire AnimalEffect prefabs to ProvinceBeastsController and include the
Animal Pack Deluxe asset pack. RatEffect now has both MonsterEffect
(2D sprites) and AnimalEffect (3D model) for a mixed group.
Add LFS tracking for .tga and .fbx files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix animal facing direction to use full angle rotation

3D models need to rotate Y by the actual movement angle, not just
0/180 degrees. Use atan2 of the XY direction vector so animals face
their actual travel direction.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix animal rendering and remove die animation

Use sortingOrder=103 on 3D mesh renderers instead of Z offset hack
to render animals above the map. Guard against die animation state.
Default scale to 15. Remove unused run state.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Disable depth test on animal renderers to prevent map clipping

When 3D animals rotate to face away, their geometry extends into
positive Z and clips behind the map plane. Setting ZTest=Always
ensures they always render on top regardless of orientation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix animal depth clipping with renderQueue and ZWrite/ZTest overrides

Use renderQueue=4000 (Overlay), disable ZWrite, and set ZTest=Always
via SetFloat (compatible with more shader types) to prevent 3D animal
meshes from clipping behind the map when rotated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 21:08:55 -08:00
6e484f14ca Add dragon beast animation on eagle map (#6267)
* Add dragon beast animation on eagle map

When a province has a dragon beast event, show an animated 2D dragon
(DungeonMonsters2D DragonRed) circling the province instead of generic
vultures. The dragon plays its Move animation while orbiting and
periodically triggers Attack with fire rain particles falling below.

- New DragonEffect.cs: instantiates animated dragon prefab, drives
  circular orbit with vertical bobbing, flips sprite to face travel
  direction, emits fire rain particle bursts on attack
- ProvinceBeastsController: extracts beast name from BeastsEvent,
  selects dragonEffectPrefab when name contains "dragon"
- Add DragonRed from DungeonMonsters2D asset pack (dragon-only files)
- Add .psb and .psb.meta to Git LFS tracking in .gitattributes
- Add 2D PSD Importer package dependency

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix dragon animation and improve fire breath effect

Add com.unity.2d.animation package required for SpriteSkin bone
deformation at runtime. Rewrite fire breath as directional cone aimed
at province center using stretch render mode. Continuously enforce Move
animation state to prevent controller defaulting to Idle. Add context
menu test helpers for spawning dragon effects in editor.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add animation variety and disable fire breath for now

Dragon now cycles through Move, Jump, Attack, and SpecialAttack
animations with weighted random selection. Fix IsInTransition check
so action animations play fully before returning to Move. Update
defaults to match tuned Inspector values. Disable fire breath
particle system pending direction/sizing fixes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:30:43 -08:00
60a147e31c Fix Organize Troops panel layout and add Unity Smart Merge config (#5960)
- Fix layout of Organize Troops panel
- Add Unity Smart Merge (.gitattributes) for better merge handling of
  Unity scene files (.unity, .prefab, .asset, etc.)

Note: To use Smart Merge, developers need to configure their ~/.gitconfig:
  [merge]
  tool = unityyamlmerge
  [mergetool "unityyamlmerge"]
  trustExitCode = false
  cmd = '/Applications/Unity/Hub/Editor/*/Unity.app/Contents/Tools/UnityYAMLMerge' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 19:08:02 -08:00
481f42d01c Add sound effect hooks to weather effects (#5641)
* Add sound effect hooks to WeatherEffectAnimator

Audio clips for weather sounds (assign in Inspector):
- rainLoopSound: gentle pitter-patter for normal rain
- thunderstormLoopSound: more intense rain for thunderstorm
- thunderSound: one-shot thunder clap (plays on lightning flash)
- blizzardLoopSound: intense wind sound

Volume controls:
- loopVolume: volume for looping sounds (default 0.5)
- thunderVolume: volume for thunder (default 0.8)

Sound behavior:
- Rain: plays rainLoopSound continuously
- Thunderstorm: plays thunderstormLoopSound + thunderSound on each flash
- Snow: no sound
- Blizzard: plays blizzardLoopSound continuously
- Sun/Clouds: no sound

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Support multiple thunder sounds with random selection

- Change thunderSound field to thunderSounds array
- Each lightning flash picks a random sound from the array
- Allows assigning Lightning Spelll 01-08 for variety

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add rain loop sound effect from Freesound

- rain_loop.ogg by aesqe (CC BY 4.0)
- Source: https://freesound.org/people/aesqe/sounds/37618/
- Rain falling on clay roof tiles, loopable
- Added attribution to docs/ASSET_AUDIT.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Document CC BY 4.0 sound effects for weather and runaway

Added to ASSET_AUDIT.md:
- rain_loop.ogg by aesqe (Freesound #37618) - for rain effect
- blizzard_wind_loop.wav by nsstudios (Freesound #651540) - for blizzard
- runaway.mp3 by Yap_Audio_Production (Freesound #218997) - replaces unlicensed file

Note: Files must be downloaded manually from Freesound (requires login).
Only 1 unlicensed sound effect remaining: failure_horn.mp3

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Remove stray download file

* Add rain and blizzard wind sound effects

- rain_loop.ogg by aesqe (CC BY 4.0, Freesound #37618)
- blizzard_wind_loop.wav by nsstudios (CC BY 4.0, Freesound #651540)

Location: Assets/Shardok/Sounds/

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Replace runaway.mp3 with licensed version

MedievalArmyRunningLoop by Yap_Audio_Production (CC BY 4.0)
Source: https://freesound.org/people/Yap_Audio_Production/sounds/218997/

This resolves the licensing issue for runaway.mp3.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Wire up weather sound effects in scene

- Assign rain_loop.ogg to rainLoopSound
- Assign blizzard_wind_loop.wav to blizzardLoopSound
- Configure thunder sounds array

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 17:31:22 -08:00
ce22b59a8a Exclude pre-existing font files from LFS tracking (#4765)
These font files were committed as regular blobs before LFS tracking
was set up for *.ttf files. Adding explicit exclusions prevents the
"files that should have been pointers" warning.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 17:15:41 -08:00
adminandGitHub 414537c617 new herodata file in lfs (#4146) 2025-06-08 07:47:38 -07:00
adminandGitHub 37836ff6b6 Upgrade TextMeshPro to preview version and add an emoji font fallback (#3414)
* update TextMeshPro

* add ttf files to LFS
2024-06-01 14:03:06 -07:00
admin a427076ba1 lfs for psd 2023-05-30 18:39:13 -07:00
adminandGitHub 8edaacf5a5 Add more music and automatically read the assets from the folders (#2535)
* add more music

* read files from directories and randomize order


Former-commit-id: 9422f50d52bfda6c6d63b82554a419db2292e261
2023-03-26 22:02:42 -07:00
adminandGitHub 8fdbc41ac9 Basic music (#2534)
* add mp3s to lfs

* attributes too


Former-commit-id: 5cf95bb13973a24292e6d85324afa12f881e808e
2023-03-26 17:44:00 -07:00
admin 24cdbe5953 ljkasdf;ljasdkf;
Former-commit-id: ef7a53b4d0634733ee2e23949f54dc88e311f795
2020-09-04 18:50:30 -07:00
admin ed4e73246a another try at the import with LFS
Former-commit-id: a122961723fbf16a6057cc2bae667aa2d6b0a7cf
2020-08-31 19:10:20 -07:00
Dan Crosby fbf974efb0 A file is born 2014-11-16 21:03:14 -08:00