Because of the limitations of BYOND's bitwise operators (which affect both the old and new implementations of num2hex()), you cannot use numbers larger than 2^16 with that proc.
Manual port of https://github.com/PolarisSS13/Polaris/pull/430.
Clothes now have a flash protection and tint level. If one is wearing multiple items with these modifiers they do stack.
Glasses also have a number of additional additions such as sight flags, see_invis level, and so forth.
Flash protection comes in 4 levels: Reduced, none, moderate, major.
Reduced protection, for example, means the user takes increased damaged from welding.
Moderate protection safeguards mobs from flashes, flash grenades, projectors, etc.
Major protection protects from the above as well as welding.
Tint also comes in 4 levels: None, moderate, heavy, blind
Moderate tint will apply the nearsighted overlay.
Major tint will apply the welding overlay.
Blind will apply the blindness overlay.
The end result is an attempt of less type checking. Any set of glasses may now also contain HUD glasses.
This should make a future rewrite of HUD glasses easier (could have the HUD functionality be a datum rather than separate item).
Replaces two procs:
proc/sql_poll_admins()
proc/sql_poll_players()
With the proc:
proc/sql_poll_population()
Which does the same thing, except fixes and issue with sql logging, where player counts and admin counts would be placed in different rows:
Pictures for comparison:
Before: https://i.imgur.com/As4hAV8.png
After: http://i.imgur.com/ssm20IQ.png
Announcements are no longer parsed twice, avoiding messages such as "T's nice".
Fixes the strip_html_properly proc, to avoid out of memory runtimes.
- Fixes bug causing AI's and borgs with medical sensor augmentation set
to not see med huds
- Status icon displayed if suit sensors set to binary or higher
- Health bar displayed if suit sensors set to vitals or higher
- Wearable med huds will always display all info, including mounted borg
huds
When machinery checks security records they now only check for explicitly set arrest status.
Previously they would check for either missing security records or arrest status.
Telecommunication interruption no longer permanently disables the ability for synths to state laws if they attempt it during the downtime.
If a synth attempts to state laws during telecommunication interruption it now receives a clear feedback message about its impossibility.
Fixes runtime errors when AIs uses shortcut keys to operate APCs/turret controls when the corresponding window isn't open.
Adds missing AI-restriction check for turret controls.
Airlocks no longer lie about dropping bolts when they cannot be dropped.