DEVLOG 1

Hello everyone this is my first devlog!

First global update

0.0.1
11 April 2026
184 changes in this update

Added

66 changes
  • April 10-11, 2026

  • ---

  • ADDED

  • New Hero: Drose (Private)

  • - Human fused with a rose. 7 passives + 1 ultimate

  • - Thorn Armor: 15% chance to reflect 10 damage back to attacker

  • - Poison Thorns: 12% chance to poison enemy for 3 DPS over 8s (green damage numbers)

  • - Life Drain: Heal 15% of all damage dealt (green heal numbers)

  • - Rose Bloom: +20% max HP

  • - Petal Shield: 12% damage reduction

  • - Thorn Whip: +20% damage boost

  • - Fragrance: Enemies within 150u deal reduced damage

  • - Ultimate — Garden of Thorns: Thorn field at cursor, 8 DPS + 40% slow, 500u radius, 8s duration, 25s cooldown

  • - Custom model support with SwapModel system

  • - Full skill progression integration (all 7 passives scale with Power)

  • - Customizable sounds, prefabs, and models for all proc abilities

  • New System: Skill Progression

  • - Each skill has 3 levels: 33% / 66% / 100% power

  • - Skill points are per-hero: hero level = available points minus spent

  • - Ultimate abilities locked until hero level 10

  • - Negative skills (penalties) always at full power, not upgradable

  • - Save/load to skills.json

  • - Reset per-hero or all skills

  • New UI: Skill Upgrade Menu (F key)

  • - Full upgrade interface with skill names, descriptions, level indicators

  • - Power percentage preview with upgrade projection

  • - UPGRADE button for available skills

  • - ULT shows LOCKED/UNLOCKED status

  • - Close button (X) with cursor support

  • - Cannot open simultaneously with TAB menu

  • New UI: Level Up Notification

  • - Right-side notification: "LEVEL UP! / NEW SKILLS AVAILABLE / PRESS F TO UPGRADE"

  • - Pulsing animation, yellow border, auto-hides after 5 seconds

  • New System: Admin System

  • - 3 admin levels: Lvl 1 (Kick), Lvl 2 (+Ban), Lvl 3 (Full access)

  • - VIP role — special status assignable by Lvl 3 admins

  • - Time-limited access: admins, VIP, private heroes — grant for 1/7/30 days

  • - Ban system: custom duration (minutes to days), ban reason, permanent bans

  • - Admin action log with timestamps (up to 200 entries)

  • - Banned players list with remaining time and reason

  • - Save/load to admin_access.json

  • - Console commands: admin_grant, admin_revoke, admin_ban, admin_unban, admin_vip, admin_setadmin, reset_all_levels

  • (admin-only)

  • New UI: Admin Menu (key 5)

  • - 3 tabs: PLAYERS, BANS, LOG

  • - Player selection with full info (name, Steam ID, hero, level, admin level)

  • - Action buttons filtered by admin level

  • - Private hero management: grant/revoke with 1D/7D/30D buttons

  • - z-index 999 (renders above crosshair)

  • New System: Private Heroes

  • - HeroInfo.IsPrivate flag for exclusive heroes

  • - PRIVATE HEROES button (yellow border) in TAB menu

  • - Separate panel for private heroes with access status and remaining days

  • - Access granted via admin menu or console commands

  • - Time-limited access with automatic expiration

  • New Effect: Poison Effect

  • - PoisonEffect.cs — DOT component with green damage numbers

  • - Customizable prefab, model, DPS, duration

  • - Green tint on poisoned targets

  • New Effect: Damage Number Colors

  • - White: normal damage

  • - Red: marked target bonus (Marksman)

  • - Yellow: Divine Strike (Healer)

  • - Blue: Gravity Slam

  • - Green: poison DOT, life drain heal

  • - Orange-red: burn DOT (Inferno)

Improved

70 changes
  • Healer — Reworked Abilities

  • - Resilience replaced with Divine Strike: 12% chance to deal 12 bonus holy damage (yellow numbers)

  • - Heavy Rounds replaced with Divine Armor: up to 50% damage reduction

  • - Customizable sound, model, and prefab for Divine Strike

  • - Updated hero description and all ability texts

  • Gravity Man — Full Rework

  • - Gravity Launch replaced with Gravity Slam: launch up, slam down, 20 damage (blue numbers)

  • - Zero Gravity replaced with Black Hole: spawns at cursor, 1500u radius, pulls all objects for 5s, 30s cooldown

  • - Black Hole pulls: Rigidbody objects, PlayerControllers, mobs (via WorldPosition)

  • - Customizable sounds for slam proc and hit, prefab/model/sound for Black Hole

  • Marksman — Aim Assist

  • - Mark Target now includes aim-assist: bullets magnetize to marked target's chest (8 degree angle)

  • - Damage bonus (+50%) moved to Projectile.cs for reliable application

  • - Marked target damage numbers shown in red

  • - AimAssistAngle and AimAssistHeightOffset configurable in inspector

  • Mob AI — Ranged Behavior

  • - Mobs throw rocks from range when they have line of sight (no longer run directly under player)

  • - Line of sight check prevents rocks through walls/obstacles

  • - Fast transition to ranged when target is elevated (>60u height difference)

  • - Return to chase when target is reachable for melee

  • - AttackSpin animation during rock throw

  • - Removed impact particles from rock projectiles

  • Scoreboard (V key)

  • - Steam display name instead of GameObject name

  • - Steam avatar (38x38) next to player name

  • - Role badges: [ADM3], [ADM2], [ADM1], [VIP] in blue

  • - Name truncated to 6 characters with ellipsis

  • - 20% size increase: 1200px width, 22px row font, 34px title

  • - Column headers: 16px blue (#55aadd)

  • - KILL command damage excluded from received damage stats

  • TAB Menu (Hero Select)

  • - Static layout — no dynamic resizing

  • - Hero name on top, buttons below

  • - INFO panel on left — compact, no empty space

  • - Ability descriptions in blue, 12-13px font

  • - Standardized tags: PAS (blue), ULT (orange), NEG (red)

  • - Description line-height fixed (no text overlap)

  • - PRIVATE HEROES button with yellow border

  • - KILL button enlarged and centered

  • - Removed UNLOCK ALL and RESET buttons

  • - Pagination system for 10+ heroes (both normal and private)

  • XP/Level System

  • - Linear formula: 500 + (level-1) * 200 XP per level

  • - Level 1→2: 500 XP, Level 49→50: 10,300 XP

  • - BaseXPPerLevel and XPPerLevelIncrease configurable in inspector

  • Multiplayer — Visual Sync

  • - All hero ultimates now broadcast visual effects to all clients

  • - Inferno Eruption: [Broadcast] for particles and sound

  • - Cryomancer Blizzard: [Broadcast] for ice shards and sound

  • - Healer Healing Pulse: [Broadcast] for pulse effect and sound

  • - Gravity Black Hole: [Broadcast] for spawn/destroy visuals

  • - Drose Garden of Thorns: [Broadcast] for spawn/destroy visuals

  • - Drose abilities: [Broadcast] for poison, drain, and thorn reflect sounds

  • - Tank Shield: [Broadcast] for activate/deactivate sounds

  • - Speedster Dash: [Broadcast] for dash sound

  • - Phantom Cloak: [Broadcast] for cloak/uncloak sounds

  • Multiplayer — Weapon Sync

  • - WeaponLoadout.ActiveSlot now [Sync] — all clients know active weapon

  • - BroadcastSwitchWeapon — all clients see weapon switching

  • - ApplyHoldType on switch — all clients see correct hold animation (rifle vs shotgun)

  • - BroadcastWeaponRefresh on respawn — fixes stale weapon viewmodels

  • - Phantom cloak now hides/shows weapon viewmodel via SetViewModelAlpha

  • Multiplayer — Player Models

  • - Steam clothing/skins loaded via ClothingContainer for all players

  • - Clothing hidden when using custom model heroes (Fimozik, Drose)

  • - Citizen model cached in OnAwake (before any SwapModel) to prevent model corruption

  • - SwapModel validates saved model is not another hero's model

  • Durability

  • - Hit sound cooldown (80ms) — fixes loud shotgun pellet spam

  • - InstantKill() method — death without damage stats (for KILL button)

Fixed

36 changes
  • Weapon System

  • - Both weapons firing simultaneously — EnforceActiveWeapon every frame

  • - Missing weapon selection HUD — expanded WeaponLoadout search (self, children, parent)

  • - Duplicate SlotIndex auto-fix — weapons with same slot get reassigned

  • - Disabled WeaponLoadout auto-enable — weapons detect and enable loadout

  • - Weapon.IsActiveWeapon() — each weapon self-checks against loadout

  • - HeroFimozik.SetGunsEnabled — proper weapon restore after hero switch

  • Razor Compilation

  • - SkillUpgradeMenu.razor rewritten — removed button tag (not supported in s&box UI)

  • - Fixed onclick syntax (removed quotes around @() expressions)

  • - Removed special Unicode characters that could break Razor parser

  • - Simplified template structure using foreach over data structs

  • Hero Model Swapping

  • - Fixed Fimozik model persisting on other heroes after switch

  • - _citizenModel saved in OnAwake before any OnEnabled fires

  • - SwapModel validates model before saving (won't save Fimozik/Drose as citizen)

  • - Static citizen model cache shared between all hero swap systems

  • Phantom Invisibility

  • - Removed duplicate cloak logic from HeroController (now only in HeroPhantom)

  • - Weapon viewmodel becomes transparent during cloak

  • - Cloak/uncloak sounds broadcast to all clients

  • Gravity Man

  • - Black Hole tick logic moved inside IsProxy check — no more duplicate damage

  • - BlackHole timer reset in BroadcastBlackHoleSpawn — prevents instant despawn on proxy

  • - Visual rotation separated from logic tick

  • Drose

  • - Garden of Thorns timer reset in BroadcastGardenSpawn — prevents instant despawn

  • - Garden tick (damage/slow) restricted to owner only — no duplicate damage

  • - Garden visual rotation runs on all clients

  • Speedster

  • - Fixed missing braces in DashDamage — sound no longer plays for all enemies in scene

  • Scoreboard

  • - SteamId type cast fix (CS0172 conditional expression error)

  • CSS

  • - overflow-y: auto replaced with overflow: scroll (s&box UI compatibility)

  • - SkillUpgradeMenu pointer-events: none on root (fixed cursor stuck on screen)

Removed

6 changes
  • - UNLOCK ALL button from TAB menu

  • - RESET LEVELS button from TAB menu

  • - Patrol spam logs from MobEnemy

  • - Debug logs: [MARK-DEBUG], [PATROL], [LOADOUT], [BONE], [WEAPON]

  • - Duplicate Phantom visual logic from HeroController

  • - Exponential XP scaling formula (replaced with linear)

Known Issues

6 changes
  • - Drose custom model weapon bone offset may require manual adjustment in Blender per model

  • - Phantom cloak visual may have 1-frame delay on proxy clients due to [Sync] propagation

  • - Mob NavMeshAgent speed not fully restored if mob dies during Drose Garden of Thorns slow

  • - Admin system saves locally — not shared across server restarts without persistent storage

  • - Private hero access timer uses UTC — may show incorrect remaining days in different timezones

  • - Clothing visibility toggle runs every frame on custom model heroes (minor performance cost)

people
Log in to reply
You can't reply if you're not logged in. That would be crazy.