- distance is INFINITE, 0, or a positive integer based on get_dist() between
the examiner and examinee's turfs when they are on the same Z. When the
examiner is dead or a ghost, distance is always 0.
- also updates /examine( implementations to use it!
- adds w_class_to_name proc for reusing "It is a X item." examine behavior.
refactors atom/var/flags to atom_flags and area_flags
moves NOBLOODY, NOBLUDGEON, and PHORONGUARD to item_flags instead of atom_flags
corrects various misapplied flags
* Make intercom power change stateful
* Clean up air tank processing and initialize
* Optimize flashlight processing
* Optimize suit cooler processing
* Optimize geiger counter processing
* Optimize lighting processing
* Only process rigs on a person
* One more rig cleanup
* Better notifications
* Add buttons to del/move tabs in edit mode
* Add a <span> to emotes
* Fix duplicate IDs in VChat and add more logging
* VChat: Redone chat output in Vue.js
* Ported tg asset cache
* VChat DME Update
* Replace \image macro with bicon()
* NanoUI Subsystem Fixes
Don't do this, the asset subsystem does this for you
* Allow narrate/globalnarrate shenanigans
Allows HTML if your entire thing is HTML
* Disable bicon() icon object cache, and create text tag cache
* Ore Scanner is written incorrectly
Only revealed by vchat
* Fixes 2 VChat bugs
* Underline links in VChat
* Fix LOOC color
* VChat Improvements
Hopefully, anyway.
- Arbitrary font size setting
- Line height setting
- Multiple crush settings
- Rewrote how tabs work hopefully for performance
- Hidden messages are actually put elsewhere
- Attempts to correct chat backlog restore on rejoin
* Surgery steps to use <span>
* Some VChat Tweaks
- Chat remains between client reconnects if your client didn't close (so things like using the reconnect button, or autoreconnects at round end when that feels like working)
- The client doesn't send pings to the server, the server sends pings to the client. This fixes AFK measurements for AFK kick purposes.
- Turn latency indicator into a green/red indicator to show if you're connected, and when clicked will perform a one-time ping (and block doing it again for 10 seconds). It will display '?ms' if it never got a reply, or '999ms' if it did, but it was over 1s.
* Include date in filename for VChat log save
* Merge pull request #6767 from Cyantime/patch-2
Change chat export naming scheme
* Adds VChat tab saving
Saves every time you enter/exit edit mode. Persists between rounds, VChat reloads via verb, etc.
* Fix chat exporting when someone has used unicode
Only affects clients still using 512
* Use CLIENT_FROM_VAR for ease of code reading
* Update code/modules/client/asset_cache.dm
Co-Authored-By: Novacat <35587478+Novacat@users.noreply.github.com>
* Fix runtime when client disconnects before vchat loads
* Fix polaris version of command reports
* Fix LOOC color in oldchat
* Put some styles in various adminpm messages
* Round info and advanced who spans
* Fix missing tag-end
* Maybe fix images for linux and statpanel but also doom everyone
Co-authored-by: ShadowLarkens <ShadowLarkens@users.noreply.github.com>
Co-authored-by: Novacat <35587478+Novacat@users.noreply.github.com>
Geiger counters now have sounds, which I took from https://freesound.org/people/leonelmail/sounds/328381/ and chopped it up into several .oggs. The license is CC0 (public domain) so it'll fit with our license.
The Geiger counter now turns yellow at any sign of radiation instead of at 5 units, since below five units is still harmful.
Examining the Geiger counter updates the radiation count immediately.
* The performance of the radiation controller as-is was not fast enough for inclusion in production servers, but it has some nice featuers, so rewrote it to be more performant.
* Instead of storing the radiation strength for every turf, we only store the sources of radiation, and calculate the strength only for mobs who might be in range.
* Old method was ray-tracing to every turf in range whether anything was there to be irradiated or not. Could be hundreds of turfs. New method only lazily calcualtes strength at a turf if we actually need to know it. Often times this is zero turfs if nobody is standing in engineering.
* Removed the automatic processing of objects with "rad_power" set. Objects are responsible for calling the repository to create/update their radiation sources. Saves some extra overhead that in practice was redundant with other process controllers.
* Also tweaked to be more respectful of qdel'd objects and added some comments.