Commit Graph

4174 Commits

Author SHA1 Message Date
Doctor Pope
aa034d02cd Fixed spelling of possession, separate, and cemetery (#63203)
Just fixes some spelling for gangs. I also fixed misspellings for "posession" to "possession". Fixed "seperate " to "Separate" Fixed "Cemetary" to "Cemetery"
2021-12-03 13:29:29 -08:00
MMMiracles
581cba6a1d the goat plushie can be run over (#63148)
You can now run over the plushie with the tram, splatting it into the ground

Non-joke reason: The tram now sends a signal to the destination turf, which can be used by objects to have unique interactions with the tram when being ran over.
2021-12-03 13:26:13 -08:00
Tom
b4d1f582fa Fixes another TK teleportation trick, but more literally (#63125)
Stop people with TK being able to instantly teleport onto weight machines
2021-12-01 13:19:20 +00:00
MrMelbert
1b6fbbb20e DELTASTATION: Complete service + arrivals revamp, cargo tweaks (some maintenance was harmed in the making of this pr) (#62972) 2021-11-29 16:44:05 -07:00
GoldenAlpharex
bdc7043dda Industrial lift should no longer phase through floors and ceilings (#63067)
About The Pull Request

There was no check to see if there was a ceiling above the elevator, so you could always go up if you wanted to, you just couldn't go down.

There was also an issue where if the menu was opened and any change was made either up or down, it wouldn't be taken into account by the lift and it would do it anyway. That means that the top level could become unsuitable by someone blocking it off and the elevator wouldn't care.

Finally, should fix the issue where the radial menu doesn't update when the lift move, causing you to be able to make illegal moves because there was no sanity checks. Now there is some sanity checks, and the menu will additionally close if the elevator has moved since you opened it. Just click on it again to open it once more.

I also ended up documenting some of the code there while I was there, and improved a few variable names because they didn't follow coding standards.
Why It's Good For The Game

Going through floors and ceilings was in general a pretty bad thing about elevators. Now it shouldn't happen anymore.
Changelog

cl GoldenAlpharex
fix: Elevators are no longer defying the laws of physics and therefore can no longer phase through ceilings or floors.
fix: When an individual is interacting with an elevator and said elevator is moved, their menu will be closed if they weren't the one to cause that move, to prevent more physics-defying operations.
code: Improved the industrial lift code by adding documentation and trying to enforce the coding standards in there while I was at it.
/cl
2021-11-29 14:42:18 +13:00
MMMiracles
1d88b2895b The Tramstation Tram no longer shoves the handicapped out of their wheelchairs when moved (#63041)
* tram no longer pushes over buckled people

* varbgone
2021-11-29 00:51:31 +01:00
MMMiracles
6f2382d722 Tramstation Perma Genpop (#62966) 2021-11-27 10:38:54 -07:00
Bond
18f4b36ef6 Moves deconstructing beds and chairs to right click (#63038)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-11-25 14:43:08 -08:00
MrMelbert
c979a23b6c Refactor cult dagger rune drawing and null rod rune clearing into components + minor rune / blood magic tweaks (#62918)
The act of inscribing runes, anchoring / unanchoring cult structures, deconstructing cult girders, and purging cultists of holy water have all been moved off of the cult dagger itself and onto a component, cult_ritual_item.

The act of destroying a cult rune or heretic rune with the null rod have been moved off of their respective items and onto the nullrod itself.

Added a signal, COMSIG_ITEM_ATTACK_EFFECT, for the above purposes.
Various cult spells and dagger interactions have had their code improved slightly.
2021-11-23 17:26:30 +00:00
Imaginos16
305131e20c A step up: The Lawyer Suit Resprite! (#62961)
Co-authored-by: Changelogs <action@github.com>
2021-11-22 23:17:07 -08:00
Ghom
44863b2cfa Fixes some issues and an exploit with abandoned crates. (#62949) 2021-11-22 14:53:48 -08:00
phasenoisepon
5f3cb3888e implements pews needing a tool to be rotated (#62373)
About The Pull Request

    PR'ed for Hacktoberfest (so if this passes muster I'd appreciate it being tagged with hacktoberfest-accepted)
    Pews now require a wrench in hand to be rotated
    closes 

    Can rotate pews #50136
    image

Why It's Good For The Game

This prevents people from easily messing up the chapel and publicly placed pews
Changelog

cl
add: Wooden pews now require a wrench in hand to be rotated
/cl
2021-11-18 13:15:05 +13:00
GoldenAlpharex
97f2250c4b Comfy chair code improvements (#62842) 2021-11-16 12:10:08 -08:00
Ghom
5d3f0b9aea Smooths the gliding of moving trams and its passengers. (#62587)
This makes the glide size of movables inside a tram match that of the platform they are on when the tram is moving (which should in turn match the tramprocess substystem wait).

This will stop slower mobs from looking all jittery when moving on a tram at the cost of a blockier movement while moving inside a moving tram*. This is a small price to pay also considering there's not much space to move around inside the tram anyway and it isn't as annoying.

*Byond/our code doesn't support concurrent glide sizes ( basically if you try to change it midmovement, it'll also update the speed of the current movement step). There's no efficient and universal solution to this.
2021-11-16 00:45:34 -08:00
Ghom
257742b276 Double beds can now have two people buckled to them at a time. Also doubles the material costs to make them and their sheets. (#62813) 2021-11-15 09:39:57 -08:00
FernandoJ8
a8257ece5b Changes chem lockers to pharmacy access (#62531)
About The Pull Request

Changes the access requirement of chemistry lockers from chemistry access to pharmacy access
Why It's Good For The Game

It's a minor change that I'm making it mostly to remove the clutter of needing to ask a chemist, the CMO or god forbid the Captain (if you get really unlucky with how the station's roles are assigned) to open the chemistry locker in pharmacy if you want to get an empty pill bottle or medical gel as an MD. It's not going to allow anyone that wouldn't already been able to easily get the things from the locker to obtain them or vice versa, and it makes sense for MDs to have easy access to most of the items inside. It's just QoL.
If there was different code for each, I'd make this change only for the chem locker in pharmacy, but that isn't the case and having it also affect the one in plumbing has virtually no consequences
Changelog

cl
qol: changes the access requirement of chem lockers from chemistry access to pharmacy access
/cl
2021-11-15 13:13:26 +13:00
Tim
c8584fa2df Change maint crate spawners to be randomized (#62742)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-11-12 23:18:24 -08:00
tralezab
bb7638f114 Routine Cargo Departmental Deliveries (#61992)
About The Pull Request

Document: https://hackmd.io/@bazelart/HkY-SO9VF

Each department's request console is upgraded. Instead of making requests, they are only able to see crates related to their department that helps the department. They can order one for free (so not out of anyone's wallet) and it will arrive at cargo. Cargo gets the price of the ordered crate for bringing it to the department that ordered it (via an area check, of which the crate will remain locked until satisfied, emitter cracking aside).

Ordering a crate puts the console on a cooldown depending on the price of the crate ordered. The time ranges from 10 minutes at the lowest value, to capped at 20 minutes at 4x the default crate's price. the price in time follows a ease in out circular function, where the time increases slowly as the time goes up, but a lot in the middle. towards the higher end it slows down again.

Cargo will start with far less money, but this is countered by the new source of income.

Finish Mapping it
Finish tgui panel for department orders
Testmerge it for balance and feedback who cares

    Maybe give multiple destination areas, just in case one area gets obliterated who cares!

Why It's Good For The Game

Cargo starts with a budget to spend on themselves, which lets them order their department rewards before doing anything. There is no inherent reward to delivering to other departments other than social expectations of filling the job, which means cargo will simply ignore deliveries and requests if there are more self-important things going on, since those deliveries both cost cargo and do not help cargo in any way
Changelog

cl
add: replaced the request consoles in each department with department order consoles, which order for free on a cooldown. cargo gets these orders and delivers the crates, which are locked until delivery. upon delivery, cargo gets paid the value of the crate, and can then sell the crate back on the shuttle.
balance: cargo doesn't start with a budget, other departments get what their budget was split up amongst them
/cl
2021-11-12 14:19:33 +13:00
LemonInTheDark
71c480574a Locker Shoving Re-Reloaded (#62618)
* Locker Shoving Re-Reloaded

The signals here were weird, converted them to connect loc. I did my best to make sure behavior matched what
existed pre arcane pr
Unshat shove code considerably, believe it or not it used to be worse.
2021-11-09 13:13:59 -08:00
esainane
b6f761468e [MDB IGNORE] dir sanity, primarily on WALLITEMs (#62601)
About The Pull Request

Wall items mostly use the direction from the floor to the wall in the named mapping helper. Wall items mostly use the direction from the wall to the floor for the internal dir variable.

This leads to a headache when it comes to working out what conflicts with what, and what needs placing where.

Wall frames provided a member, inverse, which specified whether or not to invert the direction of the item when looking for conflicts. It was also used to specify whether to look for conflicts outside of the wall (cameras and lights appear external to the wall) or inside the wall (most wall items). This flag was set for Intercoms, APCs, and Lights. Since APCs and Lights expect a floor-to-wall direction, and Intercoms expect a wall-to-floor direction, this means that APCs and Lights were getting the correct direction, and Intercoms were getting the wrong direction.

Some implications of this setup were:

    You could build an APC on top of another wall item, provided there was nothing external attached to the wall and the area didn't have an APC.
    You could stack Intercoms indefinitely on top of the same wall, provided you weren't in a one-tile wide corridor with something on the opposite wall.

Or both! Here's twenty Intercoms placed on the wall, and a freshly placed APC frame after placing all Intercoms and deconstructing the old APC:

endless-stack-of-intercoms

Not everything used this inverse variable to adjust to the correct direction. For example, /obj/machinery/defibrillator_mount just used a negative pixel_offset to be visually placed in the correct direction, even though the internal direction was wrong, and never set! This also let you stack an indefinite number of defib mounts on the same wall, provided it wasn't a northern wall... except you could do this to northern walls too, since defibs weren't considered a wall item for the purposes of checking collisions at all!

Ultimately, every constructable interior wall item either used this inverse variable to adjust to the correct placement, set a negative pixel_offset variable to have its offset adjusted to the correct placement, or overrode New or Initialize to run its own checks and assignment to pixel_x and pixel_y!
Inventory: Table of various paths, related paths, and the adjustments they used

Unfortunately, untangling /obj/structure/sign is going to be another major headache, and this has already exploded in scope enough already, so we can't get rid of the get_turf_pixel call just yet. This also doesn't fix problems with the special 2x1 /obj/structure/sign/barsign.

Some non-wall items have been made to use the new MAPPING_DIRECTIONAL_HELPERS as part of the directional cleanup.

tl;dr: All wall mounted items and some directional objects now use the same direction that they were labelled as. More consistent directional types everywhere.
Why It's Good For The Game

fml
Changelog

cl
refactor: Wall mounted and directional objects have undergone major internal simplification. Please report anything unusual!
fix: You can no longer stack an indefinite amount of Intercoms on the same wall.
fix: Defibrillator Mounts, Bluespace Gas Vendors, Turret Controlers, and Ticket Machines are now considered wall items.
fix: Wall mounted items on top of the wall now consistently check against other items on top of the wall, and items coming out of the wall now consistently check against other items coming out of the wall.
fix: The various directional pixel offsets within an APC, Fire Extinguisher Cabinet, Intercom, or Newscaster have been made consistent with each other.
fix: The pixel offsets of Intercoms, Fire Alarms, Fire Extinguisher Cabinets, Flashers, and Newscasters have been made consistent between roundstart and constructed instances.
fix: Constructed Turret Controls will no longer oddly overhang the wall they were placed on.
qol: Defibrillator mounts now better indicate which side of the wall they are on.
fix: Some instances where there were multiple identical lights on the same tile have been fixed to only have one.
/cl
2021-11-09 10:02:34 +13:00
Ghom
b79dd74fd0 Replaces a portion of C-style for loops with the more commonplace for loops, which are faster. (#62624)
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2021-11-07 16:42:41 -08:00
Fikou
4bf2399c44 aliens can no longer clear eggs before the hugger bursts out (#62597) 2021-11-06 21:14:50 -07:00
Ghom
d7e0c782c9 Fixes a few issues with double bedsheets. (#62590)
Fixes the random and dorms spawners for double bed sheets. Fixes the dying_key for double bed sheets.
2021-11-06 23:09:37 +00:00
John Willard
6c0aba5da4 removes double spaces AFTER symbols (#62515)
* removes double spaces AFTER symbols

* found more
2021-11-03 21:09:35 -04:00
ArcaneMusic
08f0ca8a71 Locker based combat, evolved. (#60000)
* Locker bullying, reloaded.

* Start work on refactoring the whole gosh damn thing

* I'm stuck.

* Checkpoint

* Restart work: Lets get this scrap to compile

* Workin on it, having to swtich back to walls project

* Revert "Restart work: Lets get this scrap to compile"

This reverts commit baa1814fd1ed2c86f2009a54a90d9306264762fc.

* Compiles (Check), Signals are backwards (Fix)

* 90% complete yet again I have grown powerful

* I HAVE GOT IT WORKING PERFECTLY

* Removes a small part of commented code

* Perfection*
2021-11-02 15:58:40 -07:00
Horatio22
d982c13b3f Adds garment bags to reduce locker clutter (#62329)
About The Pull Request

Adds garment bags to reduce the giant stack of items in the captain's (and other command) lockers. They function the same way that chembags do and only allow up to 15 non-bulky clothing items to be added to them. They can't be worn on the belt slot or crafted to prevent them from being significantly better than duffel bags. The shoes in the CMO's locker have also been switched for blue ones to reflect the changes made in #62263
Why It's Good For The Game

The captain's locker currently has almost 30 items in it roundstart, and 15 of these are clothing items. Adding a bag for these items reduces the item list when you first open a locker without removing any clothing or requiring a second locker/ dresser.

Here's what the lockers look like with the garment bag:
2021-11-02 16:53:40 +13:00
Mothblocks
0f3c4e51f7 Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed (#62265)
Implements the Modernizing radiation design document ( https://hackmd.io/@tgstation/rJNIyeBHt ) and replaces the current radiation sources with the new system, as well as replacing/removing a bunch of old consumers of radiation that either had no reason to exist, or could be replaced by something else.

Diverges from the doc in that items radiation don't go up like explained. I was going to, but items get irradiated so easily that it just feels pretty lame. Items still get irradiated, but it's mostly just so that radiation sources look cooler (wow, lots of stuff around going green), and for things like the geiger counter.

Instead of the complicated radiation_wave system, radiation now just checks everything between the radiation source and the potential target, losing power along the way based on the radiation insulation of whats in between. If this reaches too low a point (specified by radiation_pulse consumers), then the radiation will not pass. Otherwise, will roll a chance to irradiate. Uranium structures allow a delay before irradiating, so stay away!
2021-11-01 04:20:39 -03:00
Timberpoes
025018014d Tackles various problems with keyed_list config entries, fixing broken roundstart races and more! (#62359)
While helping RaveRadbury debug some issues with enabling Halloween species early via the brute force method of enabling them in the config rather than the gentleman's solution of testmerging a PR that changes the Halloween date, we discovered something dreadful.

Cloth golems cannot be enabled! Infact, any species with a space in the ID cannot be enabled.

It uses the splitter despite VALUE_MODE_FLAG being set. So a key entry like ROUNDSTART_RACES cloth golem would get parsed as cloth = golem, then entered into the config as cloth = TRUE
NEW AND IMPROVED PART HERE

I've re-written how keyed_list config entries are parsed, splitting it into a number of procs to do some discrete block of logic.

Based on feedback from MSO, he expected that VALUE_MODE_FLAG keyed_list entries could have elements overridden. However, this functionality was not present in the code.

I have implemented it. We now support 3 methods of setting VALUE_MODE_FLAGS.

Implicitly enable the config entry: CONFIG_ENTRY config_key_goes_here
Explicitly enable the config entry: CONFIG_ENTRY config_key_goes_here 1
Explicitly disable the config entry: CONFIG_ENTRY config_key_goes_here 0

There have been functionality changes too. Previously, everything before the first splitter was the key and everything after was the value. However, in ambiguous config entries (Such as ROUNDSTART_RACES cloth golem 0) it would be unclear if the intent was (cloth, golem 0) or (cloth golem, 0) or indeed if the intent was (cloth golem 0, 1).

As a result, there is now the following paradigm in place: Everything after the LAST splitter is the value, everything before is the key and a log_config warning is now given explaining the problem and showing how it was resolved.

[2021-10-27 19:48:12.840] WARNING: Multiple splitter characters (" ") found. Using "cloth golem" as config key and "1" as config value.

This warning will trigger if multiple splitters are present for any keyed_list config entry, and will trigger on implicit VALUE_MODE_FLAGS entries that have splitters. The example above is it triggering on ROUNDSTART_RACES cloth golem - It has detected that there is potential ambiguity between (cloth, golem) or (cloth golem, 1), has picked a sensible option for the data type and has warned about it.

The intent is that no config entry should be ambiguous. It should be clear what is key and what is value when dealing with keyed_list config entries.

There's probably more work to do on other config entries to bring them up to this standard, but this is the thing I'm hitting in this PR.

Similarly, I have improved the validation aspect of keyed_list config entries with additional logging in general.
[2021-10-27 19:47:53.135] ERROR: Invalid KEY_MODE_TYPE typepath. Is not a valid typepath: /mob/living/carbon/monkey

I have added a unit test to make sure species IDs do not contain splitters from the two keyed_list subtypes relating to species.

I have added sanity checking to the race config subtypes since we have a big dick global list of all races sorted by ID, so a race not existing will fail validation and output a meaningful config log entry.

I have removed /datum/config_entry/keyed_list/probability from the code as it is unused with the removal of all game modes except Dynamic.

The config change necessitated the renaming of all golem species IDs. Doing so and renaming the clothgolem.ts file to match has fixed the broken cloth golem page too.
2021-10-29 16:38:00 -03:00
John Willard
88d7dbfc10 removes double spaces before symbols (#62397)
This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.
2021-10-28 19:25:50 -03:00
Jeremiah
d618606af0 Refactored spawner window, removed HTML artifact (#62314)
Fixes #61876
I originally went in to edit out the HTML from flavor text. Pulling up the menu, it was just poorly formatted, so I got carried away redoing it.
Issues previously:
HTML artifacts in spawner text were visible, showing opening and closing tags
Spawner menu text was huge, unlabeled, looked very jumbled
Why it's good for the game: 
You can now easily read the spawners menu
Having many spawners available should be easy to scroll through
No more HTML randomly
More error cases handled
2021-10-28 10:37:50 +01:00
Seris02
37562f9372 locker electronics no longer put the electronics inside the locker (#62358)
title
because somehow I never actually tested y'know, opening the locker with it on, apparently I just thought I did
2021-10-28 10:34:35 +01:00
ArcaneMusic
92ea8fe31f double bedsheets have the correct worn sprites. (#62372)
Double Bedsheets have a new icon_state, but in doing so, break their worn_icon_states, as their worn_icon_state was set by the icon_state.

This manually sets their worn icons in order to avoid funny broken sprites.
2021-10-28 10:27:48 +01:00
Seris02
85795f4764 personal lockers will now allow you to actually un/lock them without swiping ID, ie, normal locker locking (#62341) 2021-10-27 03:14:13 -07:00
MMMiracles
65d676efc5 Adds Hydroponic Door Sprites (#62249)
Adds sprites for the hydroponic doors
2021-10-25 12:37:46 -04:00
Zytolg
0a9404e69b Beds and Benches: The Aesthetic Revolution [re-PR'd With EOB's Blessing] (#62169)
About The Pull Request

Ever since I saw @EOBGames PR this, I've wanted it. I've needed it. I've been delaying some mapwork FOR this. This is an identical PR to #61689, just updated so that it's not conflicting with anything. I've done everything @Krysonism asked for from last time too. That's right spacemen, double beds are back, and more cursed then ever. Cursed to succeed that is!
Why It's Good For The Game

We. Don't. Have. Benches.
Benches are a hallmark of any public space! You can sit on them, sleep on them, stand on them, even sleep on them! Our stations have a ton of chairs, but chairs don't really communicate public that well. Benches do. As for the beds? Well Inept wants them, and you know what? I respect that.


cl
expansion: Sofas now include the Bench Type. These are buildable with 2 metal plates from the crafting menu.
expansion: Beds can now be rotated (flipped), and include the Double Bed Type. Miners can also make Double Pod Beds to really feel like an Alaskan King.
expansion: Bedsheets to match! Try to share those big blankets with a lizard if you see that they're shivering!
code: Stuff that lets you interact with the benches and beds in-game, so that you too can enjoy being a king.
sprites: Ports the Benches and Double Bed sprites from Skyrat
sprites: Flipped Beds
2021-10-25 21:55:13 +13:00
Seris02
fc36aea489 runtime fix for borgs cryoing with upgrade modules + no more mmi laying around after they cryo, and various other runtime fixes (#62091)
human huds will no longer runtime and die when prefs aren't initalised
SSEconomy will no longer have to deal with pathed jobs inside accounts
Some of the negative/neutral quirks that use the mind have been relegated to last_mind instead for runtime purposes
Mafia saymode will no longer runtime when someone uses it with no current mafia game
Autolathe secondary_attack will no longer runtime/work only because of runtimes
MULTIPLE CHECKS FOR QDELETED STACKS BEFORE ADDING FINGERPRINTS
More player_list client checks
A lazyinitlist for proximity monitors, as they used lazyremove which nulls the list when it hits zero things in it
A check for cigarettes in case temperature exposure causes a reaction that removes all reagents
Catwalks no longer runtime every time someone walks on them
/obj/machinery/atmospherics/components/binary/crystallizer will no longer runtime on secondary_attack if someone can't interact
cyborg models will no longer assume the thing they're inside is a cyborg and runtime when it isn't (cryopods)
When a simplemob falls into nullspace, it will no longer runtime (goliaths falling into chasms and etc)
runtime fix in techweb.dm when using a card without a sanity check
runtime fix with folders when they have nothing in them
runtime fix with glowing eyes when the LAZYADD doesn't get called in regenerate_light_effets() and so doesn't initalise the list
2021-10-22 10:31:07 +01:00
Seris02
bd8555832d makes it so lockers/crates can have access electronics removed/inserted (#62022)
They can only have electronics inserted if they

are welded shut (if they can be welded)
don't have electronics already and aren't secure
They can only have electronics removed if they

are welded shut (if they can be welded)
are unlocked
are secure (even if they don't have electronics, then it'll create them)
2021-10-21 11:38:31 +01:00
Ghom
bc9d83be44 Fixing issues with contents of some coded or mapped closets exceeding their storage capacity (#62221) 2021-10-20 23:06:20 -07:00
Sealed101
9d19b9b7de Makes the American sausage a sausage subtype & Advanced roasting stick fixes (#62193)
Makes the American sausage a proper subtype of sausage, which makes it actually edible, apparently. It also makes it stick on the advanced roasting stick!
The advanced roasting stick will no longer try to grill itself over a bonfire with a griddle installed, allowing you to use the actual bonfire for your roasting needs.

There was actually a check that was supposed to limit the amount of times you could roast a sausage to a measly 1. It wasn't actually working. This PR removes that in favor of mad cooks creating these:
2021-10-20 13:08:30 -04:00
Coconutwarrior97
778c1b9c57 Fixes an issue where people with the doctor phobia were afraid of hydroponics doors. (#62089)
## About The Pull Request

 Adds a hydroponics airlock type (same icon as medical airlocks), and edits Hydroponics on several maps to replace the old medical doors with the new ones. Fixes #61000

Also edited sheet_types.dm so a hydroponics door assembly can be built, in case anyone decides to give hydroponics entry way doors their own unique icon at some point.

## Why It's Good For The Game

Fixes #61000
2021-10-20 10:31:28 -04:00
esainane
52f6a446a3 Roller Beds: Add roll-up examine hint (#62139)
Adds an examine hint for how to roll up a roller bed.
2021-10-16 19:46:08 -04:00
itseasytosee
f51000f506 Repaths knives to not all be children of the kitchen knife. (#62035)
Basically makes the code less dumb, took a long time. I worked hard to make sure there were no unintended effects (minus the fact you can no longer get spoons from the experimentor). No player-facing effects

I thought it looked weird that all cultist and combat knives were subtypes of the kitchen knives
2021-10-15 15:28:01 -07:00
Seris02
694c2999b0 makes it so the sanitize_hexcolors' default is 6 characters rather than 3 and gets rid of color_legacy (#61980) 2021-10-15 11:48:55 -07:00
thatoneplebeian
2a826e7380 Drowsiness refactor (#62104)
Creates two procs in /mob/status_procs for handling drowsiness changes (with check for negative values), and refactors all code to use these procs instead of assigning values to the mob's drowsiness themselves.
2021-10-15 10:15:24 +01:00
Ghom
9c7d509354 Printer Circuit Component (#62012)
I'm adding a circuit component that can print text string on a paper object in a variety of colors and font typefaces (currently only web-safe ones are available, maybe i'll add some fancy ones in the future but they'd need to be imported either through @import of @font-face in a separate CSS not imported by every tgui UI).
It's important to note that because the UI sanitizes new text inputed by users and not what's already written on the paper (so the pen_color and pen_font don't be purged in the process), we can't safely have these strings "printed" into the info variable directly, because of that these values will be stored in two new list variables, one for the text and one for font color, face and the signature. When the paper sheet UI is opened, these will be sanitized and then parsed into the text, so the next time the paper is edited we can clear these two lists.
Obviously better than a hacky byond proc - parsemarkdown() is outdated af -, albeit a bit messy... like the rest of paper code.

Requires #62033.
2021-10-14 19:37:39 +01:00
Ghilker
cb5fb1df2d modules/atmospherics major cleanup (#61904)
major cleanup of modules/atmospherics folder and all related files, still many missing
-cleanup of procs name
-cleanup of vars name
-documentation of some of the procs
-minor changes to some for() logic (no in game changes just early continue or as anything checks)

No in game changes, only code and docs
2021-10-14 01:13:57 -07:00
Ghilker
95c8e00af7 cleanup _HELPERS/_lists.dm and all the necessary files (#61827)
Bring _HELPERS/_lists.dm to latest standards by:
-Adding proper documentation and fixing existing one
-Giving vars proper names
-Procs now use snake case as per standard (many files that use those procs will be affected)
2021-10-12 14:48:51 +01:00
MrMelbert
3a2d33afaa Converts the behavior from suit/toggle to component behavior (#61941) 2021-10-11 03:28:29 -07:00
LemonInTheDark
e663308b0d Adds SHOULD_NOT_SLEEP to Destroy. Why didn't we do this before. (#61943) 2021-10-09 04:29:33 -07:00
LemonInTheDark
861bf808bc Fixes a few hard deletes and runtimes I either caused, or ran into when trying to fix hard deletes (#61953)
Please don't try and send chat messages if you have nothing to say
Fixes a spurious runtime.
Fixes a runtime caused by my lack of understanding of huds. remove_hud_from is intended for hud watchers, remove_from_hud is intended for hud items. Doesn't really make sense most of the time, and just runtimes out the ass
Fixes a runtime in shapeshifting, restore should not run if the object is not restoring, or if it's deleting. it should run if it's not restoring, and it's not deleted. 4head
Fun fact, if there's two turret control boards they'll override each other. Use weakrefs. Oh also removes a var called cp, nothing good will come of that
Today in: Good lord the stacking machine is an afront to god, we discover that the labor claims console was attempting to act as a console, which of course fails when it comes time to clear it's improperly named var. Disgusting
Attempts to fix potential wound ref hangs in surgeries? maybe?
Fixes a runtime in luminescent stuff I created in my big harddel crusade. owner is a mob, not a species
Fixes a runtime related to headspikes deleting themselves twice. Pain
Fixes hard deletes sourced from the prophet trauma. Good fucking lord this is awful
Offhand item is somehow hard deleting. I have no idea how. Here's hoping signals fixes it, because if it doesn't I'm stumped. It's not a common scenario, but it does happen in spurts that suggest repeated usage
2021-10-09 09:44:21 +01:00