Commit Graph

37785 Commits

Author SHA1 Message Date
tralezab
4e97d03657 Bileworm post-merge feedback and qol (#69007)
* Bileworm now has a deathsound, and deathsounds now properly play on simplemobs.
* AI-controlled Bileworms now have night vision abilities
2022-08-08 17:40:46 -04:00
ShizCalev
259aeff063 FIXES RUNTIME EVERYTIME A PAI MOVES (#69054)
Fixes runtime on movement if a pai fails to put the hacking cable in its holder's hands
2022-08-08 23:11:10 +12:00
AnturK
06cd9086eb Bumps up FontAwesome to 6.1.2 (#69006) 2022-08-07 19:46:23 -07:00
Imaginos16
6b3586226f Medical Resprite Two - Making This Right (#69047)
imageadd: Resprites the entire medical department (again)!
2022-08-07 21:58:17 -04:00
twilightwanderer
d1c56cb27a Photocopier paperforms fix (#69005)
Fixes #65831

In this PR I added a system of pre-prepared paper forms for the printer. This system worked for a while and because of security problems in the papers was completely broken by quick fixes to the holes. I did not try to fix the forms, because at the time because of the broken papers it was pointless, and I decided to wait until the code papers are fully recycled. Waiting for a fix, I rewrote the config and now the system blanks again normally print forms. In addition, this fix allowed to bring the configuration of the forms in a more readable form.

As a bonus, I decided to add a "VOID" stamp. I was going to do it back when the system of forms was introduced, but because the stamps at the time did not work properly I did not do it.
2022-08-08 01:30:59 +01:00
MrMelbert
59cc93b364 Removes the "proximity crew pinpointer" (the ones parameds spawn with), paramedic PDAs start with the lifeline app instead (#68993)
* Parameds start with the Lifeline tablet app instead of a proximity pinpointer, with a Calomel bottle replacing their now empty medical belt slot.
2022-08-07 19:50:31 -04:00
LemonInTheDark
f531e30962 Catches an edge case in ahelp replies (#69053)
It turns out if you hit reply to an ahelp before it was closed, and then
sent back the input() after close, you'd end up with a runtime leaking
your reply, and no feedback.

This catches that case, and instead forwards it to a new ahelp, so the
text isn't lost, and the closed ticket is respected

Approved by sitting headcatmin Timberpose

🆑
fix: Attempting to send back a reply to an ahelp after it is closed now sends the reply to a new ticket, rather then just dropping it and leaving you for dead with a runtime
admin: see above
/🆑
2022-08-07 13:35:28 +01:00
Fikou
ab2f820ae8 mining modsuit changes (#69011)
the mining modsuit now costs 3000 from 2500
the mining modsuit now still slows you down over lava, though you still resist it
the plasma core now accepts plasma both in sheet form and ore form
the plasma core should no longer buggily not refill you
the mining modsuit bombs should now have enemies target you
2022-08-07 13:45:45 +03:00
Tim
3e47dac6b3 Fix audible emotes playing sounds while mob is gagged, mute, tongueless, or under a vow of silence (#68954) 2022-08-07 02:14:00 -07:00
Kylerace
f240be47ff fixes verbs not actually queuing. (#68990)
thanks to Vallat for pointing this out

whoops turns out most verbs havent been queued since may 11th because I made /datum/controller/subsystem/verb_manager have the SS_NO_INIT flag, without also removing a check in verb_manager/proc/can_queue_verb() that stops the verb callback from being queued if the subsystem isnt initialized yet. since subsystems with SS_NO_INIT obviously never have initialized set to TRUE, this always failed for every verb manager subsystem except for SSinput (because it doesnt have SS_NO_INIT).

also adds a debug var to force a subsystem to always queue incoming verbs if possible.

now the default verb management subsystem, and speech_controller will successfully queue verbs again. SSinput always queued verbs so that shouldnt change.
2022-08-06 16:41:15 -07:00
Holoo
01b1afc3f5 fixes HPLC to show purity and corect volume (#68979)
* hplc shows purity again, rounded in percentage. Also fixes reagents showing an incorrect number of units in some cases.

Co-authored-by: Holoo <oleksanr.kozyr.yr1@gmail.com>
2022-08-06 05:36:54 -04:00
Mooshimi
b0f6488bab emote_type refactor to bitflags (#68948)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-08-05 20:48:31 -07:00
Mothblocks
0a29ded0f6 Revolution victories now call the shuttle when enough of the station is revolutionaries (#68630)
When 65% or more of the station is revs, the shuttle will automatically call. This shuttle can be recalled.

Approved with majority vote from me and @ninjanomnom

Should probably be test merged first, I touched some core shuttle code.

Roughly 60% of rev victories I checked called the shuttle shortly after. That's a lot, but there's still a high amount that aren't, either because the population genuinely wants to stay, or the revolutionary victory was a surprise. The latter of which I had happen to me like, recently! Remember that was the core problem revs victories continuing the round was trying to fix.

With that in mind, this plays nicely with both some player grievances with post-revs while keeping in line with the core of the feature. Players are still, in part, controlling the end of the round, but with affordance given to the most likely scenario.
2022-08-05 18:16:12 -07:00
Mooshimi
f340897498 blind people know when things happen to them (#68950)
* Update strippable.dm

* hit by things blind support

* indentation sadness

* wrong var type moment

* Update code/datums/elements/strippable.dm

I didn't touch this but sure we can add this

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>

* requested changes

Co-Authored-By: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-08-05 20:25:59 -04:00
LemonInTheDark
4b0b64df6b Fixes admin recipients seeing double pm messages (#68977) 2022-08-05 06:57:56 -07:00
tralezab
0728fb3840 New Lavaland Monster: Bileworms (#68967)
Bileworms are a new lavaland monster, that has unique AI that should prove them.

Instead of moving normally, it periodically burrows underground and resurfaces nearby.
Its attack is an AOE acid spit.
2022-08-05 11:07:34 +02:00
Riggle
e65a87730a Purrbation tail fix (#68893)
About The Pull Request

This fixes the old bug of invisible tails on purrbation, and tails disappearing after the fact.
Why It's Good For The Game

Feex
Changelog

cl
fix: Purrbation now properly adds and removes tails
/cl
2022-08-05 16:06:15 +12:00
ShizCalev
b82ba3ec50 Power failure event will now only provide an announcement if the previous power failure has ended (#68943)
Power failure event will now only provide a message if a previous power failure has ended
2022-08-04 23:34:10 -04:00
XyzzyThePretender
b41974a0ad silicons can interact with floodlights (#68858)
About The Pull Request

Uses attack_robot and attack_ai to let attack_hand receive silicons as mob/user.
Replaces some magic numbers using the given defines.
Adds some documentation for specified vars.

Fixes #66758
Why It's Good For The Game

Addresses an inconsistency for silicon interaction.
Standardization good.

Emergent Issues

Floodlights, fire alarms, the mining shuttle beacon, barsigns, and the advanced camera console redirect ai/borg attacks into an attack_hand proc using identical code.

Floodlight code does not use ISBROKEN or relevant interaction flags.

Floodlights are unbolted when broken.
Changelog

cl
fix: Silicons can now interact with floodlights.
/cl
2022-08-05 12:43:09 +12:00
ShizCalev
b70e2a0d99 Adds a delay while welder repairing vehicles / mechs (#68786)
About The Pull Request

So right now there is 0 delay between welding repairs for vehicles / mecha. You can literally hop out of your murderboner durand, flip on a welder, and repair it fully from 5% HP to 100% in a split second with an autoclicker macro. This adds a delay.
Why It's Good For The Game

Makes it so that you can't quickly hop out of your mecha/vehicle, instantly combat repair all it's damage, and hop right back into a fight. Instead, this encourages players to find safer areas before hopping out to commit to a repair.
Changelog

cl ShizCalev
balance: Vehicles & Mecha now take 2.5 second to repair with a welder.
qol: Vehicles & mecha will automatically repair over time once clicked.
qol: Vehicles & Mecha now give balloon alerts when repairing.
/cl

Duration is free for debate, was thinking somewhere between 2 & 3 seconds, 2.5 seemed a happy midpoint.
2022-08-05 12:42:03 +12:00
ShizCalev
a9ec6618b5 fixes warning message that occurs every single time an ethereal dies (#68868)
[20:47:13] Runtime in stack_trace.dm,3: atom_examine overridden. Use override = TRUE to suppress this warning
  proc name: stack trace (/proc/stack_trace)
  src: null
  call stack:
  stack trace("atom_examine overridden. Use o...")
  the crystal core (/obj/item/organ/internal/heart/ethereal): RegisterSignal(Crux V (/mob/living/carbon/human), "atom_examine", /obj/item/organ/internal/heart... (/obj/item/organ/internal/heart/ethereal/proc/on_examine), 0)
  the crystal core (/obj/item/organ/internal/heart/ethereal): on stat change(Crux V (/mob/living/carbon/human), 4, 0)
  Crux V (/mob/living/carbon/human):  SendSignal("mob_statchange", /list (/list))
  Crux V (/mob/living/carbon/human): set stat(4)
  Crux V (/mob/living/carbon/human): set stat(4)
  Crux V (/mob/living/carbon/human): set stat(4)
  Crux V (/mob/living/carbon/human): death(null)
  Crux V (/mob/living/carbon/human): death(null)
  Crux V (/mob/living/carbon/human): death(null)
  Dead Body placer (/obj/effect/mapping_helpers/dead_body_placer): LateInitialize()
  Atoms (/datum/controller/subsystem/atoms): InitializeAtoms(null, null)
  Atoms (/datum/controller/subsystem/atoms): Initialize(27974)
  Master (/datum/controller/master): Initialize(10, 0, 1)
2022-08-05 12:41:14 +12:00
John Willard
b4f19a7e0f Greatly increases Pun Pun's abilities and strengths (using desk bells, cross stun immunity) (#68870)
About The Pull Request

Pun Pun has a new AI, with it they received the following:

    Instead of screeching/roaring/scratching/jumping/rolling, Pun Pun will instead sing/dance/bow/clear throat/sign.
    Pun Pun now rings desk bells instead of finding random shit to pick up, and doesn't intentionally seek out weapons.
    Pun Pun has a higher chance of giving people stuff in their hand, so the Bartender can give them a drink and let them go walking around.

Additionally:

    Pun Pun is now immune to being hardstunned by walking into them, giving them a little more bite for greytiders beating them up.
    Monkeys can now use desk bells.

Why It's Good For The Game

I like Pun Pun and when Monkey AIs were originally added, there was a note about giving them a unique AI. Since we're slowly turning the poor monkey into an actual Bartender assistant, I find it thematic that they would ring the bell and give out drinks in their hand, as if the Bartender taught them themselves.

For the hardstun immunity, I mostly did it because I find it annoying for a Bartender to have to carefully navigate around Pun Pun to not knock them over and make them drop an instrument (or anything else) in their hand, but it also works as a buff to people trying to kill them. Pun pun is a unique monkey so I don't believe they should be as easy to kill as any other.

Desk bell addition was necessary for Pun Pun to use it.
Changelog

cl
add: Pun Pun now gives stuff in their hand frequently and rings desk bells.
add: Pun Pun now has gentleman-like emotes, rather than screeching and roaring.
balance: Pun Pun no longer looks for weapons in their off time.
balance: Pun Pun is no longer vulnerable to stuns by being walked into.
qol: Monkeys can now use desk bells.
/cl
2022-08-05 12:38:59 +12:00
ShizCalev
8ccb229e74 Structural weakpoint charges can only be planted on.... structural points! (#68776)
Fixes #68775
cl ShizCalev
fix: ES8 explosive charges (structural weakpoint charges) can now only be planted on walls or the floor.
/cl
2022-08-05 09:38:22 +12:00
Justice
4ca2a57ae7 Adds the Mothroach (#68763)
About The Pull Request

Yup. That's pretty much it. This PR adds the Mothroach to the game, described as "An ancient ancestor of the moth that surprisingly looks like the crossbreed of a moth and a cockroach."

Do you love the Mothroach? Then you can cuddle with it and pat it, as well as place it on your head for extra cuteness.
What if you hate it, though? You can always kill and butcher Mothroaches in order to mass produce moth plushes for your own profit... How fun!

Either way, you win!

The Mothroach can be picked up and has a special on-head sprite (which looks really cute). It is able to vent-crawl and you may get one by randomly summoning a friendly mob through the gold slime extracts, or by ordering one through the Cargo Requests. After butchered, you may use its hide, a heart, and some cloth to craft a moth plushie, the most devilish of Devil's designs.

Full Preview of all the Sprites (NEW): https://www.youtube.com/watch?v=pdg8FTNEYjI
Preview of some of the Sprites (OLD): https://www.youtube.com/watch?v=9A-8hGCiW0s
In-hand, on-head, and grounded Mothroach sprite credits go to ValuedEmployee.
I did the Mothroach hide sprite though!
Why It's Good For The Game

The Mothroach is incredibly cute and a neat, fresh, new piece of content. Although it could use some future repurposing, right now it's simply a cute exotic pet with a few interactions.

These cute sprites are just too good to go to waste...

I keep seeing people complain about the lack of new content. Well, here's something niche that won't break the whole balance of the game and that will be cute. I seriously cannot see a motive not to add this to the game. Just because it isn't a powergaming tool or something that is seen every shift, that doesn't mean that it won't have a positive influence on the game. As I have stated, right now the Mothroaches are underperforming in terms of interactions and ways of getting them, but adding them is the first step to later improve them.
Changelog

cl
add: The Mothroach, your new local exotic pet
add: Mothroach Hide and Mothroach Meat
add: New crafting recipe for the Moth Plush: 1 Mothroach Hide; 1 heart; 3 cloth
fix: Fixes dead mobs on-head not having sprites
/cl
2022-08-05 09:37:36 +12:00
ShizCalev
3fba285a18 Fixes missing checks during ventcrawl do_after (#68693)
ixes #68661

cl ShizCalev
fix: You can no longer crawl into a vent if it's welded while you're climbing into it.
/cl
2022-08-05 09:33:02 +12:00
Mooshimi
b09f3868f8 individual LOG_GAME (#68683)
About The Pull Request

    replaces a ton of log_game with user.log_message so the log is added to individual and global logs.
    adds a few logs for individual LOG_VICTIM, LOG_ATTACK etc logging.
    adds logging for bluespace launchpad's tele coords being changed.
    took the word "has" out of log_combat, as it's extra and just lengthens the log.

Why It's Good For The Admins

It's extremely laggy to open game.txt so an alternative is individual game logs
Changelog

cl
admin: A lot of game logs will now also be in individual game logs, for convenience in log diving.
admin: Added logging for bluespace launchpad x and y offset changes, which go to individual game logs.
admin: Attack logs will now be slightly shorter, one useless word was removed.
/cl
2022-08-05 09:32:02 +12:00
Tim
4029e48c51 The drink "Between the Sheets" requires sleeping underneath bedsheets to gain healing effects (#68603)
About The Pull Request

This makes the drink Between the Sheets require the person to be sleeping underneath a bedsheet to gain the healing effects.
Why It's Good For The Game

The pun is literal.
Changelog

cl
add: The drink "Between the Sheets" requires sleeping underneath bedsheets to gain healing effects
/cl
2022-08-05 09:24:57 +12:00
John Willard
ed48ec641c Labor camp machines - Fixes & Code improvement (#68584)
About The Pull Request

Visible changes (all the fixes):

    Labor point checkers now says the prisoner ID's stats rather than being a to_chat, it also displays their info much better.
    Labor stacker no longer duplicates your points at no cost by attacking the machine with materials, instead it processes it just like it would when sucking materials up.
    Labor stackers additionally now update their input/outputs when they are rotated through shuttles, as it doesn't work on the current version of Lavaland (there's no issue report up on this yet though, oddly).
    Adds a check if you actually have a goal before checking if you can send the shuttle up, preventing prisoners who were sent without a point goal (permanently) from being able to go up whenever they wanted by simply clicking on the button before it greyed out.

The rest (code improvement):

    Added more early returns
    Removed single letter vars
    Renamed terribly named vars and added comments to some of them.
    Removed machinedir in favor of checking their view() when syncing machines, as I didn't find checking an entire side of the map next to an object to be very intuitive.


Lets Lavaland use labor camp machines again
Closes #67764
Just cool general fixes +1
Changelog

cl
fix: Labor camp Prisoners without a sentence can no longer send themselves back up whenever they wanted by clicking the button fast enough.
fix: Prisoners can no longer get infinite labor camp points by clicking the stacking machine with ores.
fix: All ore machines now properly change their direction when they dock a shuttle in a separate direction, fixing Lavaland's labor camp stacking machine.
qol: Labor camp's point checker now states all the information you need, rather than being a paragraph of text that just appears in chat.
/cl
2022-08-05 09:23:52 +12:00
Mooshimi
b0ecaefc76 add some tests for if empty space is present (#68582)
About The Pull Request

Fixes: #62140
Fixes part of: #53689
Why It's Good For The Game

Aurora Caelus should no longer run on icebox as intended.
Station goal on stations without space shouldn't get station goals that require space.
Changelog

cl
fix: Added a test in Aurora Caelus event for if the station has the ability to show it.
fix: Stations without space should no longer receive station objectives that require space to be present.
/cl
2022-08-05 09:19:27 +12:00
Profakos
b5e57216ee Event menu rewrite (#68472)
About The Pull Request

kép

This PR does the following:

    Force event menu uses tgUI.
    Arranged events into categories, and added a little description to each. The descriptions appear as tooltips when you hover over the Trigger button.
    Rewrote how "Announce to crew?" works. It no longer pops up a panel after the event has been already announced. Instead, the admins select it via a checkbox, and the result is passed through an optional argument.
    announceChance's comment is tweaked a bit to reflect how it actually works at the moment.
    Moved rpgtitles to wizard events, where it belongs.
    Fake Virus and Electric Storms show up to observers, as I believe they are not as common as Space Dust or Camera Failure, and should be cancelable.

Potential issues:
This only solves half of #68408, I don't think admin triggering having a timer and a cancel button is a big issue, as it allows other admins to overrule you if needed, but if i is, I will try to fix it within this PR.

Fixes #68408. Events now spawn immediately, and the the announceChance is overwritten before it begins.

My choices for categories and descriptions might not be the best, feedback would be appreciated.
Why It's Good For The Game

The old spawn menu was completely unorganized, and you could only search using the browser search tool. I believe a built in search bar helps with this issue a bit. I also believe that organizing the events into categories, and adding descriptions will help with newer admins who might not be familiar with all events.
Changelog

cl
refactor: The Force Event UI has been refactored
refactor: Events now have categories and descriptions
refactor: Admin triggered events happen immediately
balance: Fake Virus and Electric Storms are shown to admins, making them cancelable
/cl
2022-08-05 09:18:14 +12:00
John Willard
ee21cf88a5 Merges ordnance data disks (#68376)
JohnFulpWillard
Member
JohnFulpWillard commented 23 days ago
About The Pull Request

Merges ordnance data disk and frontier data disk, since the ordnance data disk's description says it is for ordnance-related stuff, yet doesnt have the main app people need to do Ordnance, which I found weird.

I additionally moved the NT Frontier app to the rest of the programs folder, and renamed it Frontier so it is easier to find.
Why It's Good For The Game

This allows the semi-public ordnance data disk (as they are found in vending machines) to actually contain the ordnance app it claims it provides, making it easier for an Atmospherics Technician (or anyone, really) to get the app needed to upload gasses they make, as experiments for their nodes.

This makes it easier for Engineering to do Engineering-related experiments to get Engineering-related tech nodes, much like Medical can by doing Dissection surgeries, while also giving more use to the Frontier's ability to put authors, since now Science and Atmospherics can see eachother completing experiments and maybe even try to outdo the other.
Changelog

cl
balance: Ordnance data disks now have the Frontier app on them, and has entirely replaced Frontier data disks.
/cl
2022-08-05 09:16:43 +12:00
LemonInTheDark
20363ce1ce XENO: Ensures the stomach contents list is cleared on thing delete (#68929)
Resolves a bug with infini york
Fixes #68928

* Ensures the stomach contents list is cleared on thing delete
2022-08-03 17:12:20 +01:00
GoblinBackwards
619fcf7e80 Fixes heretic curse rituals not detecting fingerprints + sorting bug (#68794)
* Fixes heretic curses not registering fingerprints

* Fixes sorting in curse player selection UI
2022-08-02 21:00:40 -04:00
vincentiusvin
b8551336aa Refactors SM Delaminations to be strategies (#68599)
I'm a badmin, how do I force a specific delam?

To set the sm to delam in a specific way, do set_delam(2, delam_path) delam_path is stuffs like /datum/sm_delam_strat/cascade
To make the sm delam, call force_delam()
About The Pull Request

If you're boring enough to click on a refactor pr you probably already know what a strat is, otherwise https://refactoring.guru/design-patterns/strategy.
Behavior Rundown
Note that the actual delamination event is evaluated at the end of countdown. It's possible for say a tesla delam to explode normally if at the end of the countdown it loses enough power. See: and commit
Why It's Good For The Game

a7ce9e2
Changelog

cl
refactor: All four SM delams got recoded, no significant gameplay changes expected.
qol: SM healing is broadcasted on crew radio too now instead of just engi
qol: SM going singulo or tesla will be announced on common comms when the damage is getting severe enough.
code: Only engines considered to be a main engine can spawn stationwide anomalies and trigger cascades.
fix: Fixed the sm not having a boxy overlay on normal delams when counting down. This is what the radio message was referring to as "causality field".
/cl
2022-08-03 12:57:55 +12:00
Watermelon914
404ed8548c Fixes click catcher failing to be reapplied onto the screen when show_hud is called (#68853)
Done stuff

Co-authored-by: Watermelon914 <hidden@hidden.com>
2022-08-02 20:57:23 -04:00
Hardly3D
9334529bbe Lizards can now be bought from cargo (#68854)
* Lizards can now be bought from cargo

* Comma
2022-08-02 20:56:44 -04:00
MrMelbert
54d5ffef99 Gives AI displays "proper" multiz station support (#68864)
* Gives AI displays "proper" multiz support

* This actually works

* is_valid_z_level
2022-08-02 20:55:32 -04:00
Jeremiah
0940ae4a32 Refactors pandemic machine (#68627)
Pandemic cleanup.
2022-08-02 19:46:57 +02:00
Timberpoes
786ac5c855 [MDB Ignore][Bounty][Complete Refactor] Papercode Redux: Too Many Damn Files <Map Conflict Edition> (#68612)
Papercode refactor
2022-08-02 19:27:42 +02:00
ShizCalev
a1773eb985 Fixes can_inject using the wrong body zones (#68699)
* Fixes can_inject using the wrong body zones

* more stuff

* cleanup

* cleanup

* comment
2022-08-02 10:18:21 -04:00
ShizCalev
0e2c7de607 Fixes Stray Cargo Pod event runtime (#68721)
* Fixes Stray Cargo Pod event runtime

* warning

* Update code/modules/cargo/packs.dm

* Update code/modules/cargo/packs.dm
2022-08-02 10:12:48 -04:00
Mooshimi
8775a0a152 override = TRUE for interference procs and cowboy boots (#68773)
* override = TRUE

* why not all of the interference procs
2022-08-02 10:11:46 -04:00
Charlotte
759aa61249 Tail wagging is corrected to prevent incorrect emote text. (#68807)
* Tail wagging now has dedicated emote to stop wagging.

Fixes https://github.com/tgstation/tgstation/issues/68799

* Revert "Tail wagging now has dedicated emote to stop wagging."

This reverts commit 17d0deef4e91d02018484bdde59a639f6068f28f.

* tail wag shows correct text for stop/start.

* that's fucking stupid.
2022-08-02 10:11:21 -04:00
Twaticus
f90b433a4f The GAGening: Families edition (#68725)
Co-authored-by: TWAT <twaticus.tg@gmail.com>
2022-08-01 22:48:56 -07:00
Riggle
8ba84a7469 Removes needless drop_if_replaced (#68880)
* CTRL-V go brrrrrr

* That should be all

* guh
2022-08-02 01:35:45 -04:00
san7890
d17e8d33be Converts Supervisors Variable into Defines (mostly) (#68883)
* Converts Supervisors Variable into Defines (mostly)

Hey there,

We used this naming scheme pretty consistently throughout the majority of the jobs, so I decided to go through and make a quick define macro for all of the generic ones. This doesn't cover the Captain, Silicons, Assistants, Psychologists, and Security Officers, since they all have their own custom entry field (which will continue to be supported). This should help with the broad number of them though.

* grammar update

consistency's sake
2022-08-02 01:34:06 -04:00
VioletN
06b17316b9 Fixes Fire Cascade hurting the user (#68903)
Fire Cascade no longer hurts the user
2022-08-02 00:23:33 -04:00
LemonInTheDark
59285861dd Refactors admin PMs to be hopefully more resilient (#68344)
* Begins refactoring admin pms, with a focus on runtime safety and ease of understanding

There's more I want to do here, mostly with spans and cleaning up sone
logic flow to be easier to understand

The primary thrust of it is making explicit any assumptions we make about values
This is important because this is sensitive code, and runtimes are not acceptable, since they both leak information and could lead to dropped ahelps, which is almost worse.

I'm also splitting the proc up into subsections, in an attempt to make it easier to reason about and work with
As a side effect of this, some operations need to be done more then once to avoid potential debugger escalation.

Related to this, I'm also no longer directly passing around client references through the procs. I instead pass the result of a pretty basic proc into each, to avoid issues with sleeping and such.

Oh, and I fixed a bug that made it impossible to reply to remote ahelp
responses. I hate this place.

* Converts all uses of the linkify span to a macro. One of these doesn't have a closing span, not sure if that's a bug or a feature

* Cleans up more logic embedded inside data, since this is critical code

Changes the backup for replying to someone who logs out, instead of
using the first person to send something to the ticket as our backup, we
use the recipient's ckey.

* some cleanup

* Converts a few more things over to the pattern

Reorganizes and deocuments sends_adminpm_message to be less hard to
track/read

* Cleans up a hanging proc that needed filtering

* Does a passthrough over tgs, makes stealthmin keys actually unique

* cleanup, screed at the top of the file

* cleanup, comments, etc

* Thanks trash, I can in fact not spell

* ok yeah I really can't spell

* updated comment to explain how code works

* messsage -> message spellcheck

* Nullchecking prevention

if for whatever reason someone in the future adds code that lummox says can sneakily allow for Logout() to execute between this and the last time client was checked, this could potentially runtime without nullchecking

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2022-08-01 20:58:15 -07:00
ShizCalev
941a7678dd Revert "unifies security record printing" (#68925)
This reverts commit 14a0dca7ae.
2022-08-02 01:02:47 +02:00
ShizCalev
14a0dca7ae unifies security record printing 2022-08-01 18:58:41 -04:00