Added new keyframed intro camera instead of a static position, navigates around the map
Hitmarker colors introduced:
Blue: Hit tire
Greenish-cyan: Hit vehicle (helicopter)
Orange: Hit player on the head
Green: Hit shield
White: Hit an object
Fixes
Proper error handling when trying to give a player a tool that doesn’t exist (it no longer errors, just spits out a {Tool} is unavailable message like the original Prison Life does)
Made the process of finding tools when giving more reliable, while also making it destination based so you are able to get weapons that are inside sub-folders
Spectators no longer included in raycasts, even if they are visible. This allows you to shoot through them and hit what you’re actually trying to aim at
Fixed an exploit that caused players with script permissions (using cheats) to crash other players
Spectators can now be toggled in Settings! If they are toggled off, they are invisible to you.
Rewritten raycasting system for casting rays in Workspace + improved raycasting logic
Spectators no longer able to damage players, pick up weapons, or open doors
Attempted to fix gradual loss in performance while playing
QoL
Created new VirtualMouse module on top of RayCast , Arc , IgnoreList , and Tween modules. The VirtualMouse module acts as a pseudo-PlayerMouse object and allows for greater customization for the raycast process pre-render
Replaced all indices of pairs with next as pairs takes up to 10x longer to execute and iterate through Iterables. This alone improved gun shooting framerate from ~240 while shooting to 300+
GUI now has relative ZIndex behavior, compared to its original Global behavior. This may create some element display issues in some instances, so please do let me know if you see any
Chat tag system completely rewritten, now has the support for multiple tags (but due to design language, is disabled on purpose)
Weapons now retain current ammo while reloading, as to inform you of your previous ammunition capacity before the reload
All doors are removed when you’re a spectator, which allows you to walk through doorways without having to open them up
Chat bubble now conforms with TextChatService.BubbleChatConfiguration properly , currently it is set to Dark mode
Hitmarkers fade out instead of instantly disappearing, while also waiting a moment before doing so
Weapon system rewritten, more stable & reliable, and properly memory manages itself when cleaning
GUI now fits the entire size of your screen, regardless of screen insets or safe area
Adjusted kill feed entries, now more consistent with games UI design language
Some GUI tweens improved, notable in Topbar and Prison/Warden Announcements
Hitmarkers are now larger on creation, and tween to become normal size
Adjusted some UI, particularly in the Intro screen and Topbar
Door logic completely rewritten, more reliable and stable now
Hide UI button hides entire GUI instead of just the HUD now
“Bullet color” option item adjusted to “Bullet Color”
Player camera angle resets when spawning in
Kill feed now fades out towards the top
Admin button now more consistent
Global contrast increased by 0.1
Improved some game logic code
Gun performance improved
Admin console improved
Weapon system adjusted:
Better timers are used. Instead of using task.wait , which is dependent on RunService.Heartbeat , or physics, it now uses RunService.RenderStepped , which gives you a much more responsive and reliable experience
Invalid/null gun state arguments are now assumed instead of remaining nil/invalid. This prevents errors and allows your gun to remain functional even when there is no gun state.