Commit Graph
37 Commits
Author SHA1 Message Date
Scottlg d4eb2e00be Fix all stale UID warnings
Scene files referenced assets by UIDs that no longer matched the
importer records. Rewrote 13 ext_resource references to the current
UIDs from the .import sidecars, and gave wow_style.tres the UID that
nine UI scenes were already referencing (its header had none).
Headless load is now warning-free.
2026-07-02 23:10:39 +01:00
Scottlg 4d2b177f7b Tune the Snippest down to a 2x lobster - 5x had too much reach and launched players skyward 2026-07-02 22:48:24 +01:00
Scottlg 8f28304d0f Wave escalation and the Snippest boss
Escalation (EnemySpawner exports, all tunable):
- Wave size grows +1 enemy per wave, capped at 20
- Enemy health +15% and damage +10% per wave, applied identically on
  every peer via the spawn RPC before _ready (so hitbox stats and
  current_health pick them up)

Boss milestone every 5th wave: the Snippest - the basic lobster at
5x scale and 5x combat stats (50 HP, 25 damage, 5x knockback and
reach). Movement deliberately not 5x (1.2x - it lumbers). Pays 250
gold and always drops a health orb. Wave escalation multipliers stack
on top, so later bosses keep scaling.

Boss scene instances basic_enemy.tscn with the BossLobster script;
visual/collision children are scaled uniformly in code (not the
CharacterBody3D root, not shared shape resources).
2026-07-02 22:27:14 +01:00
Scottlg fb10f7b042 Co-op pass: host-disconnect handling, spectate, late-join wave sync
- Clients now handle the host closing the arena: bank winnings if
  still alive (retire), reset the HUD, and return to the camp menu
  instead of being stranded in a dead world
- Death in co-op offers Spectate when a teammate is still fighting:
  closes the results overlay and watches the run; the escape menu
  gains a "Back to Camp" option for dead spectators to leave later
- Late joiners receive the current wave number on connect so their
  HUD doesn't sit on "Prepare..." until the next wave starts
2026-07-01 23:57:38 +01:00
Scottlg f5e0642b39 Arena polish: in-run HUD, no free loot, retire-with-winnings
- HUD arena status (top center): live wave number and run gold,
  driven by GameState signals, torn down cleanly on HUD.reset()
- Free floor weapons removed: the initial sword/shield spawn is gone
  and manually placed level.tscn weapons are deleted server-side at
  init. Gear now only enters play via the armory or enemy drops.
- Retire to Camp: new escape-menu button (shown only while alive in
  an active run) banks 100% of run gold and keeps all gear - the
  counterweight to death's 10% settlement. Exit Game and window close
  also bank winnings before quitting.
- CLAUDE.md rewritten for the gladiator arena era: core loop,
  autoloads, economy API, RPC patterns, verification workflow.
2026-07-01 23:47:03 +01:00
Scottlg 1562b37563 Gladiator arena: gold economy, outfitting shop, permadeath runs
Turns the sandbox into a survival roguelike loop: outfit your gladiator
with banked gold, enter the arena, earn gold from kills and wave clears,
die, keep 10% of your total value (floored at the 500 fresh-start).

Economy (GameState autoload):
- banked_gold, owned items, and loadout persist to user://save.cfg
- Kill gold (basic 10g, armed 25g) credited server-side to the killer
- Wave-clear bonus (25 + 5/wave) for all players; wave synced to peers
- Death settlement liquidates gear, guarded against double-fire

Character creation / shop:
- Menu reframed: armory shop + live Character Sheet loadout preview
- Character Sheet gains preview mode (renders from loadout, no player)
- Buy/Equip with hand rules; two-handers and off-hands displace each
  other symmetrically (shop and in-game pickups)
- Chosen loadout auto-equips on spawn via existing RPC path

Combat feel:
- Attacks snap to camera facing and lock direction for the swing
- Dash commits to its direction for the full duration
- Weapon slots show name text when no icon is set
- Hitbox/hurtbox debug meshes hidden by default (H toggles)

Death is final: players no longer respawn; a results screen shows waves,
time, kills, and the settlement, then returns to camp. Armed enemies no
longer respawn (were an infinite gold farm and respawned invisible).
2026-07-01 23:38:59 +01:00
Scottlg 97ebbb1618 Made more enemies, easier to kill, more slashy. You get passive health regen, health orbs. Little key bindings tooltip. 2026-06-30 22:57:11 +01:00
Twirpytherobot 7fa2efabaf heheh 2026-02-17 22:51:38 +00:00
Twirpytherobot 7629342540 Armed guys! 2026-02-17 22:21:17 +00:00
Scottlg fce4c4a3e2 Added Lobster Axe 2025-11-29 23:40:19 +00:00
Twirpytherobot 689181ac30 eNEMIES!!!!!!!!!
Enemys and enemy spawner

- Press N to spawn wave
- Press H to togglt hitboxs
2025-11-29 20:39:30 +00:00
Twirpytherobot b606563f4d Hitbox Timing 2025-11-29 18:24:36 +00:00
Twirpytherobot fab47fb1e0 Colours and practise dummy 2025-11-29 18:10:23 +00:00
Twirpytherobot ddc1522174 weapon timings 2025-11-28 18:40:23 +00:00
Twirpytherobot 7d18de1621 hitbox changes 2025-11-28 18:33:51 +00:00
Twirpytherobot 10cc8720b7 Hithurtboxes 2025-11-21 23:53:28 +00:00
Twirpytherobot 2ec7d56511 Sword animations now sync 2025-11-21 22:59:41 +00:00
Twirpytherobot b1f1016475 Applecorer 2025-11-21 22:48:05 +00:00
Twirpytherobot e192802f01 Finally fixed the sync issue!
Late joining now syncs properly!!!!!!
2025-11-19 23:12:12 +00:00
Twirpytherobot 85e76d67ca Fixed yo shit 2025-11-17 19:26:56 +00:00
Scottlg 6e4e3a3585 Revert to using player.tscn (robot character) temporarily
- Changed level.tscn back to player.tscn instead of Player_Lilguy.tscn
- This ensures the Character script is properly attached
- Lilguy character integration will be done properly later in Godot editor
- Game now runs without type errors
2025-11-16 23:30:48 +00:00
Scottlg bdc507e852 Fix nickname access error on player instantiation
- Changed from player.nickname.text to get_node_or_null approach
- @onready variables aren't available immediately after instantiation
- Prevents 'Invalid access to property or key nickname' error
2025-11-16 23:29:30 +00:00
Scottlg aba42e2a02 Add escape menu and weapon slot tooltips to character sheet
- Escape Menu:
  - Opens with Escape key from base game screen
  - Resume button to return to game
  - Exit Game button to quit application
  - Character sheet closes with Escape if open (takes priority)
  - Mouse capture/release handled by UI components

- Weapon Slot System:
  - Visual weapon boxes (80x80) in character sheet
  - Display weapon icons from WeaponData
  - Empty slots appear dimmed
  - Hover tooltips show weapon stats (not clipped by containers)
  - Tooltips display: slot name, weapon name, damage, range, cooldown, knockback, block percentage
  - Tooltips positioned globally to avoid ScrollContainer clipping

- Bug Fixes:
  - Fixed typo in lilguy_body.gd (dwextends -> extends)
  - Removed manual mouse toggle from player (now handled by UI)

- Updated character_sheet.gd to use weapon slot components instead of text labels
- Added weapon_tooltip.tscn as separate scene for unclipped tooltips
2025-11-16 23:11:51 +00:00
Scottlg 15865dd15f Add comprehensive UI system with action bar, unit frame, and character sheet
- Created UI system in level/ui/ folder
  - Action bar with 12 ability slots (Attack, Block, Dash, Jump + 8 expansion slots)
  - Unit frame showing player portrait with health bar
  - Character sheet/spellbook (toggle with Tab) displaying stats, weapons, and abilities
  - Tab hint indicator showing how to open character sheet
  - Custom theme with golden borders and dark backgrounds

- UI Components:
  - HUD Manager autoload handles all UI initialization and player connections
  - Ability buttons with cooldown overlay and keybind display
  - Real-time health and cooldown tracking via signals
  - Scrollable character sheet with two-page layout

- Player Integration:
  - Added UI signals: dash_cooldown_updated, attack_cooldown_updated, weapon_equipped_changed
  - Mouse capture system (Escape to toggle, click to recapture)
  - Synced attack cooldown from weapons to player for UI tracking

- Updated level.gd to connect local player to HUD Manager
- Updated CLAUDE.md with git commit guidelines
2025-11-16 22:48:50 +00:00
Scottlg d475c0abf9 Dash Fix 2025-11-16 22:22:24 +00:00
Twirpytherobot 38994776df Manually spawn weapons fixed
Pop the world weapon scene into weaponcontainer
2025-11-16 20:56:34 +00:00
Twirpytherobot 3431c12dc2 New player model with anims!!!!!! 2025-11-16 18:42:06 +00:00
Twirpytherobot 9d5feb6f0e Added rigged body test 2025-11-16 16:50:51 +00:00
Twirpytherobot c7f946a9e2 Damage numbers and knockback 2025-11-15 17:17:32 +00:00
Twirpytherobot 61446a0bcd Block maybe 2025-11-15 17:07:28 +00:00
Twirpytherobot 6da70f9bfe Weapon and shield slots 2025-11-15 16:44:58 +00:00
Twirpytherobot 86db6865b7 Base Weapons
Place in world, pick up and drop working on multiplayer
2025-11-15 16:03:38 +00:00
Scottifermcg e2d9a529aa Redo some of the git ignore, and add a dash function 2025-11-12 23:30:04 +00:00
Twirpytherobot f34fc3e022 Coleseummmm 2025-11-12 20:47:58 +00:00
Twirpytherobot c077bd37a7 Attack animation
added auto fill buttons on the menu
2025-11-12 19:51:47 +00:00
Twirpytherobot bc30cfd6ca Health and attacks! 2025-11-12 19:18:36 +00:00
Twirpytherobot 1d63abc581 First Commit
Base multiplayer example with obster
2025-11-12 18:41:45 +00:00