Skip to content

v1.2.0

Choose a tag to compare

@Silorak Silorak released this 28 Feb 11:39
· 17 commits to main since this release
65bed0d

v1.2.0

New Features:

  • Cosmetics: Eye effects — killstreak-style particles attached to eyeglow_L/eyeglow_R via info_particle_system. Zero dependencies (no TF2Attributes). Includes Fire Horns, Cerebral Discharge, Tornado, Flames, Singularity, Incinerator
  • Cosmetics: Death effects — two modes: native ragdoll flags (gold, ice, ash, electro) that flip bools on TF2's tf_ragdoll entity, or custom particle names spawned at death position with auto-cleanup
  • Cosmetics: Pets — parented prop_dynamic_override at 50% scale, attached to player. Zero timers, engine handles positioning. Config-driven model paths
  • Core: New DB columns equipped_eye, equipped_death, equipped_pet with schema migration (v2→v3)
  • Core: CosmeticType enum extended with Cosmetic_Eye, Cosmetic_Death, Cosmetic_Pet (7 total)
  • Core: Get/Set equipped natives handle all 7 cosmetic types

Bug Fixes:

  • Core: Fixed Spy Dead Ringer feign deaths awarding XP and kill count to attackers — feign deaths are now ignored
  • Core: Database connection failure no longer kills the plugin with SetFailState — MySQL failures gracefully fall back to SQLite with automatic player data reload
  • Cosmetics: Fixed Spy Dead Ringer feign deaths triggering death effects (gold statue on a still-alive Spy revealing the feign to enemies)
  • Cosmetics: Fixed eye effect and pet entities lingering as invisible entities between death and respawn — now properly removed on real death and re-created on spawn
  • Cosmetics: Fixed EntIndexToEntRef called on failed entity creation return value — now checks before converting
  • Cosmetics: Fixed pet DefaultAnim keyvalue failing on models without an "idle" animation — now uses SetAnimation input which gracefully fails
  • Cosmetics: Ragdoll flags applied via RequestFrame to ensure TF2 has created the ragdoll entity first
  • Cosmetics: Added shared KillEntRef() helper for safe entity cleanup across all cosmetic types
  • Chat: Fixed tags not appearing at all before database loads — removed overly cautious IsDataLoaded gate from CP_OnChatMessage. Players now get fallback [Lvl 1] tag immediately on join
  • Chat: Fixed StripColorTags only handling {#RRGGBB} hex format — now strips all {...} color tags including {default}, {red}, {green}, {teamcolor} for clean menu display
  • Core: Fixed misleading schema migration comment about ALTER TABLE ADD COLUMN IF NOT EXISTS

What's Changed

Full Changelog: v1.1.0...v1.2.0