* fixed the define for the shock wire (#59995)
no wonder autolathes never shocked the cargo techs whenever they hacked it
* Fixes autolathes shock wire
Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
* Enhances AI law and borg logging (#59684)
Persistent logging for sometimes disputed actions
The "impacted cyborgs" is useful for reconstructing which borgs were synced to an AI at what time, which sometimes may not be clear from logs
* Enhances AI law and borg logging
Co-authored-by: bloons3 <bloons3@users.noreply.github.com>
* Add ectoscopic sniffer to Robotics Labs (#59494)
This PR adds a new machine; the ectoscopic sniffer, to the robotics lab on each map.
The sniffer is small desktop machine used for detecting paranormal activity, it displays a green flash and a chime every time it is touched(as in attacked) by a ghost.
It has a single wire inside, when this wire is pulsed, it triggers the animation and chime, as if touched by a ghost, maybe some enterprising crewmember can use this to their advantage. When this wire is cut, the device won't trigger, no matter how many spooks or haunts touch it.
---
This PR is above all fun.
Of course, it can be used as the author of the previous PR intended; to alert the roboticists of souls willing to occupy a positronic brain.
Clever spacemen will always figure out how to use this kind of device for more creative parascientifc research.
It is still limited by its low bitrate and the very low quality of the information as compared to something like ghost court, since a single malevolent spirit is able to feed the living bullshit.
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* [READY]The smell of death! New machine to puts the spectre in spectroscopy.
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Fix spammable logging in grenades (#58781)
Adds an early return in chem grenade wires if the grenade is not secure
* Fix logging in chemical grenades
Co-authored-by: Maurukas <66576896+Maurukas@users.noreply.github.com>
* pulsing the open wire toggles airlocks, even when cut (#57562)
* [webedit] Pulsing the open wire toggles airlocks, even when it is cut
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
* Scanner gates now have wires/interact with signalers. (#57195)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Scanner gates now have wires/interact with signalers.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Changes grenade proc names to be more clear (#55181)
Grenades have, for the longest time, used the proc name preprime() to refer to arming a timed grenade so that it will boom in a few seconds, and prime() to refer to the grenade actually going boom (or releasing foam or anything else grenades do when they go off). This was very confusing, so now these two procs are called arm_grenade() and detonate().
* Changes grenade proc names to be more clear
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Fix some potential sleeps as detected by SpacemanDMM improvements (#54230)
overrides weren't detected by should not sleep, i think i've mostly
fixed that with SpaceManiac/SpacemanDMM#214
Some of these are wacky but overall this pr is harmless
signals shouldnt sleep even in weird 1 in a million situations or due
to other people adding bad code
overrides of changeling can_sting() use alert() and input() and that's
just too fucked for me to fix in this pr
* Fixes some potential sleeps as detected by SpacemanDMM improvements
Co-authored-by: spookydonut <github@spooksoftware.com>
* Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
* Enforce preserving parent proc return values across ui_act call stacks
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)
Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.
Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.
This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.
To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.
Requested by @optimumtact.
Changelog
cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam. (#52873)
About The Pull Request
This PR removes the tesla and Mrs. Pacman from the game. The title is actually misleading, the TEG and singularity are still in the game but inaccessible and the singularity no longer has its generator.
Field generators and tesla coils have been kept because shocking your fellow man is the greatest sensation of power in the world.
The overcharging delamination for the supermatter has been replaced by the release of 2500 mols of tritium at 500,000 kelvin. An engineer who's really hateful of the station can use this for fusion, if they desire. Otherwise, its a tritium fire in engineering alongside the explosion. This will probably be changed in the future to be more potent since the explosion will pretty much just space all the tritium away.
Singularities no longer produce radiation. Now, keeping one is less about making power and more about making a statement, especially since you need to delaminate an SM shard for it.
Why It's Good For The Game
Having power optimized for one generator (SM+Turbine) will allow balancing to be feasible, also oranges wanted this. The other generators may later return but with tweaked values and different roles.
Changelog
🆑
del: Nanotrasen has removed their outdated teslas, singularities, TEGs and Mrs. Pacman generators from their servers and warehouse.
/🆑
* Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam.
Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
* Tweaks voice analyzers, pulsing a grenade's bomb wire now uses the grenade's timer delay. (#52710)
Makes suicide bombing with voice analyzers harder, while keeping the more fun behavior by adding some tells and delays.
Things attached to a grenade's pulse wire use the grenades timer, rather then just insta booming.
* Tweaks voice analyzers, pulsing a grenade's bomb wire now uses the grenade's timer delay.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Refactors area stuff (#52751)
-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
* Refactors area stuff
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* Updates wire datum proper_name vars (#52679)
* New wire proper_names
* Update comment.
* Updates wire datum proper_name vars
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Fix pulsing the power wire shocking you repeatedly unless you close tgui (#52541)
* Fixes#52538
* Allow those with insulated gloves to mess with airlocks still
* Fix not being able to interact with insulos
* Fix style qualms
* Add shock immune to should_electrocute
* Fix pulsing the power wire shocking you repeatedly unless you close tgui
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Converts everything to use setAnchored() + other fixes
* Fixed singulo debug
* singulo again
* forgot to move the vv_edit proc
* caught that this time :)
* changes
* Update code/game/atoms_movable.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
cl ShizCalev
refactor: Optimized a good chunk of MULEbot code, fixing things such as it rebuilding it's overlays/icons 5 times every second while moving to a destination. Less free lag!
fix: Fixed MULEbots closing crates when the crate doesn't actually get loaded onto it.
fix: Fixed the maintenance hatch on MULEbots visually closing for a moment when emagged.
fix: Paranormal MULEbots will no longer briefly turn into a normal MULEbot when emagged.
fix: Fixed interface exploits involving paranormal MULEbots carrying ghosts.
fix: Fixed MULEbot blood tracks sometimes facing the wrong direction.
fix: Player controlled MULEbots will now leave bloody tracks if they've run over a mob.
fix: Fixed players riding MULEbots sometimes appearing underneath it instead of ontop of it.
fix: Fixed AI's making a chiming noise when they receive a remote notification from a MULEbot. Now only the AI will hear the notification's sound.
fix: Fixed MULEbots dropping mobs off at their current location instead of at their dropoff point.
fix: Fixed a minor runtime related to MULEbots dropping off deleted items/mobs.
fix: Fixed mobs having the wrong height offset when riding MULEbots.
fix: Fixed mobs sometimes ending up underneath MULEbots while riding them.
fix: Fixed mobs not falling off MULEbots when stunned / incapacitated.
fix: Fixed inducers not recharging MULEbots.
fix: Fixed MULEbots leaving bloody tracks in space.
fix: Fixed MULEbots leaving multiple blood tracks in the same spot if they failed to move.
fix: Fixed hacked MULEbots spamming messages about knocking down a mob when they didn't actually do it.
fix: Fixed MULEbot commands not resetting when they were turned off.
fix: Fixed MULEbots not turning off properly when their maintenance hatch is opened.
fix: Fixed MULEbots not turning off properly when they ran out of power while moving.
fix: Fixed MULEbots flashing their external warning lights while they're turned off when their avoidance wire is cut.
fix: Fixed mobs being able to walk right over MULEbots when they turn off.
fix: MULEbots will now try to put their powercell in your hands when you remove them with a crowbar.
fix: Fixed the interface for MULEbots briefly looking like you turned it on successfully even though it was out of power.
fix: MULEbots will now provide feedback if they fail to turn on due to their maintenance panel being open.
fix: MULEbots will no longer flash and beep when their wires are pulsed if they don't have power.
fix: MULEbots will now actually flash when their external warning lights are pulsed.
tweak: MULEbots will now flash when they beep / buzz.
add: Added a bit more examine text to MULEbots.
/cl
Fixes#42918Fixes#46030fixes#38594
About The Pull Request
NT is finally cracking down on underage drinking and smoking on its stations, and you must now be at least 20 years old in order to purchase alcohol or tobacco at vendors. Underage ID's will be visible as such when shown or inspected. Bartenders below the age have discreetly had their IDs modified to be the minimum age, though if anyone cross references the station datacore records, they'll be exposed!
dreamseeker_2020-03-31_05-04-22.png
You can adjust the registered age for an ID at the HoP's console, the same way you would adjust the registered name. You can also pulse the age restriction wire on vending machines to disable the age checking system if you want to hack the system. I chose 20 as the legal limit because I don't care to listen to people fighting about 21 vs 18 and America vs the world, and it still will affect a decent amount of people I figure.
2020-03-15_21-40-54.png
Why It's Good For The Game
Makes age a teeny bit relevant, you can now more easily identify and bully 17 year old Heads of Staff.
Changelog
🆑 Ryll/Shaps
add: Due to pressure from various organizations, Nanotrasen is implementing a new ban on the purchase of alcohol and tobacco products for crewmembers under the age of 20 onboard its Spinward space stations. Please remember that providing alcohol or tobacco products to underage crewmembers is against Space Law, and remember to check those cards bartenders!
add: Standard Nanotrasen IDs now display the registered age of the holder, which you can change at the HoP's access console.
/🆑
About The Pull Request
For an item to be two handed just add this handy component.
All existing two handed items have been converted to use this component.
Why It's Good For The Game
It has components and signals, and now you can make items two handed so simply.
/obj/item/shockpaddles/ComponentInitialize()
. = ..()
AddComponent(/datum/component/two_handed)
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
* Unicode support Part 1
Makes all calls to ascii2text() and text2ascii() unicode aware as well as all calls in code/__HELPERS/text.dm.
Adds defines for the footext_char() procs to maintain 512 support.
I did some cleanup on the text helpers since a lot of them were really, really bad.
reject_bad_text() and reject_bad_name() have an arg to reject non-ascii chars which defaults to TRUE.
* Give travis a more recent beta
* Ultimate compat
Added the _char procs I was missing
Test the build instead of the version because Lummox is a goddamn moron
* Suggested fixes, removes the last of the dd_ helpers
* Reading the reference is very important!
* Minor code improvements and a comment
* Typo
Several of the greps were missing the `-P` switch which caused them to
fail to match things. The EOL grep also wasn't working right so I
replaced it with the one I added to TGMC.