Examine death bodies should now display the correct text
Changed the logic so that the message tells you if the players is:
- Still in his body (`[t_He] [t_is] limp and unresponsive; there are no signs of life...`) or
- A ghost that could enter the body again (`[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has departed, but the link is not yet fully broken...`) or
- No ghost, that can reenter the body and no key (`[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has lost the will to live...`)
Also refactored the code a bit:
- Moved the death examine message generation to a proc so that you can work with returns
- Removed pushed_do_not_resuscitate since its not needed this way
I've done this on a signal because atom_hud is applied very loosely in some contexes, and the objects themselves dont have an easy way to track back into what huds they're affected by, so this seemed the best. Properly cleans up next_time_allowed, which was missing.
Update: I discovered this is also an issue for a lot of simple mobs, such as slimes and bots and such. So fixing this is huge
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
Observe, Refresh, alive/ghost count, and no more [ghost]
Apply suggestions from mr jaredfogle
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
mister jaredfogle
yes? he built? tgui it
Optimizes stat panel code for better performance, including icon caching and removing some unnecessary processing
Also fixes#53432fix#53381fix#53724
Changelog
add: icons are back on alt clicks
fix: horrible performance from alt clicking turfs with multiple objects
tweak:browser should notify the SS when it's ready to receive data
* Update statbrowser.html
* Apply suggestions from code review
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* hidden = TRUE
* almost ready
* Browser should notify when ready to receive data
* Apply MSO's suggestions
* reset cache if something in it gets deleted
* Fix runtime
* fix my stupid code
* send href_token when adding admin tabs
* fix an issue with cyborg suit topic
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
-Mechs are a vehicle subtype
-Mech equipment half-rewritten
-Mech actions completely redone
-Cooldown macros
-New movement macros & replacing all var in GLOB.diagonals with ISDIAGONALDIR(var)
-New lazylist macro
-Support for lavaland only mechs
-Removed the tank because fuck off with that hacky shit
-Documentation
-Fuckton of fixes
Automatic glide size adjustment based on move delay.
Essentially a port of https://github.com/yogstation13/Yogstation/pull/8132 but that was mostly my code with some fixes.
Why again? well it turns out the recent byond fixes to glide size actually worked and solved the issues that were unsolvable.
https://file.house/0B3u.mp4
Glide size no longer incorrectly scales at fps, so it works as intended at any framerate with the only stuttering being normal byond suck stuttering.
Sparks no longer lag, projectile beams move super smoothly, same with mobs and whatnot. This also allows for easy expansion into directional lights, field-of-view, wee-woo rotating lights or whatever.
It does have a downside: things right-clicked or checked through the alt+click tab will show the light overlay:
This is a BYOND limitation, very well worth it IMO.
🆑
add: Smooth movable lighting system implemented. Projectiles, sparks, thrown flashlights or moving mobs with lights should be much smoother and less laggy.
balance: Light sources no longer stack in range, though they still do in intensity.
/🆑
-bitfielded a bunch of bools on /area, I left some untouched cus they get called a lot
-Unused vars
-Fixed a var pretending to be a fake bool
-Probably more
* new roles
* Madness rename
* hop judgement override
* hop vote fixed, travis happy
* hop fixed
* Update code/modules/mafia/_defines.dm
Co-authored-by: Fikou <piotrbryla@onet.pl>
* highly experimental random setup system
* hop cannot reveal before any voting is possible, lmao
* this shit actually works lmfao
* removes forced_setup, nightmare detection immune
* whoop
* removes setups!
* OK, finally kind of done with all this minus the incoming reviews
* adds hop's ability to their text, removes old var
* bundle?
* Update tgui.bundle.js
* role fixes (roleblock not working on a few)
* eep
* fuck
* potato's review
* Update tgui.bundle.js
* ffff
* bundle
* rohesie's review
* eureka
* updates doc, removes debug stuff
Co-authored-by: Fikou <piotrbryla@onet.pl>
* pre-removal of mafia_game_signups
* redoes the whole joining system, start of the role popup datum
* MAPMERGE 💪
* bundle fix + working on a fix
* even more testing
* lobby working, fail text, comments out 2>3 player test setup
* mapmerge
* uhhh maybe?
* updates mafia controls panel
* megafix + megafeature pack
* lint, small fix bundle. should compile after this
* bye test setup
* big changes, no revs yet though
* godmode, why not
* bundle frick off man
* SORRY
* doesn't send rev messages and mafia messages if they don't exist
* removes revs, improves tgui by a shit ton
* mostly mafia panel stuff
* maps + improvements
* disables this map because bugs
* bundle, take that
* Apply suggestions from stylemistake code review
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* 1/2 review
* bad maps gone
* goodbye game ID
* e
* finally done
* voila
* don't forget bundle!
* e
* last commit before i irrevocably BOUNDS myself to death
* Rebuild tgui
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* New tgui based orbit menu
* Update tgui.bundle.js
* Safely check len if orbiters is null
* Add a search bar
* Rename Antagonists to Ghost-Visible Antagonists
Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
* Move ghosts below alive
* Rebuild tgui.bundle
* Update as per stylemistake's feedback
* Cosmetic stuff
* Rebuild tgui
* Replace localeString with faster alternative
* Update tgui.bundle.js to latest upstream
* Hitting enter in the search bar will now snap you to orbit the most relevant result
Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Datumizes all uses of change_view
* Cleanup and helper procs
* tweaks values to match the format, hint hint, (value - 0.5) works just fine
* And there's the rest
* woop, braindamage
* and one more
* fuck you menu file
* woops
* we should apply that
* fixes tooltip drift, thank you goon coders
* you can shake but you can't zoom
🆑
tweak: Ducts can now be hidden under tiles
code: tile hiding is now an element and way cooler and sexier
/🆑
Ducts can now be hidden under tiles
Plumbing machinery connects can now be hidden aswell
Plumbing can now also be properly mapped in without breaking anything
Plumbing component now uses the normal overlay systeem instead of being a weird exception
You can now add the /datum/element/undertile element to instantly make something hidable under tiles when appropriate.
About The Pull Request
A PR now several weeks in the making that spiraled ridiculously out of control for something not many even use.
What else is new in NTOS hell?
I spent several days doing nothing but playing escape from tarkov so this took longer than expected I valiantly spent all night and day working on this, and barely finished it before The Deadline
the card ntos program was split into three programs, manifest, job management, and id card modification. It didn't make much sense for them all to be the same program imo, and made the project a bit more managable.
Airlock electronics saw some improvements as well since it uses this new access control section as well.
Yet again some new functionality and improvements to core components. Buttons now have an "altSelected" feature where instead of changing the color it adds a small white marker, among some other things.
There were a couple of small changes in inconsequential ways in other places, and datacore was refactored a tiny bit. Probably some other stuff I don't remember.
I would replace the old card console with a modular computer right now, but I know a few people actually use this program and want a bit of time to iron out bugs and inconsistencies before replacing the main job console with it.
Changelog
🆑
add: tgui-next NTOS card console, job manager, and crew manifest
tweak: airlock electronics interface is a little fancier
/🆑
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
* Makes all CanPass procs call parent
* Makes CanPass more extendable and gives the mover a say in the matter
* Replace CanPass with CanAllowThrough to use the new system
Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`
* Simple optimization pass
* Pipe init runtime
* Modular computer explosion runtime.
* Waterbottle thrown by explosion runtime.
* Spark runtime. Should systems continue after deletion ?
* restore ghost appearance runtime
* parallax update timer runtime.
* borg unbuckling runtime
* surgery cancel runtime. FALSE is not a null.
* relic self deletion runtime.
* dog collar runtime
* Another part of that buckled_mobs robot runtime.
* Let's go over all of these
* free ()
Co-Authored-By: MrPerson <spamtaffic@gmail.com>
Co-authored-by: MrPerson <spamtaffic@gmail.com>