Commit Graph

34467 Commits

Author SHA1 Message Date
carshalash
8e2c7766d1 Adds new recipe: Risotto. (#58734)
I realized while playing cook the other day that we did not have risotto as a recipe, I was very disappointed to see we did not have it.

Risotto is good, therefore it is good for the game. Our rice recipes are quite dull so hopefully, this will be a neat new thing to do with it.

Sprites borrowed/stolen from Aurora's Synnono Aurorastation/Aurora.3#2567
2021-04-27 17:08:21 -07:00
TiviPlus
e07dc7096d Remove excessively defined snail offsets (#58731)
it annoyed me
2021-04-27 16:56:25 -07:00
MrZoraman
c7c17a849f Blind people no longer get hallucinations from supermatter crystals (#58718)
The Supermatter Crystal no longer causes blind people to get hallucinations. The SM causes hallucinations based on eyesight, which is why eye protection (meson glasses) can protect you from it. It makes sense that those who can't see don't get affected by the hallucinations.

It makes the mechanics more consistent. It also adds interesting situations, like if you can't find meson goggles, a blindfold will do in a pinch.
2021-04-27 16:53:15 -07:00
manofpepsi
a7e170e26c ce gloves get mob icons + new obj icon and heat protection (#58735)
adds the mob icons that were not added alongside the ce gloves, resprites their obj icon and gives them temp resistance

ce gloves now actually have a sprite on mob and also you can now safely remove working lightbulbs with them.
2021-04-27 16:19:06 -07:00
Urumasi
955075138a Fix gas canister value (#58736)
PR #57844 (d71ce02c98) accidentally omitted a pair of parenthesis in gas value calculations, making gas canisters with 0.1 moles of gas cost the same as canisters with 1000 moles
2021-04-27 16:18:17 -07:00
Urumasi
9e8293aafe Changes mentions of °K as it doesn't use degrees (#58739)
The Kelvin scale doesn't use degrees as it's an absolute scale, so chem grenades now just show Kelvin instead of Kelvin degrees
2021-04-27 16:14:09 -07:00
Ghilker
8749145282 More HFR interactions, better damage control, better Meltdown (#58506)
Some more gas interactions with the HFR
-O2 will help remove iron content
-Antinoblium accumulation or damage over 60% will now start zaps similar to those of the SM (useful to produce power too)
-Bz will make more particles shoot out
-Meltdown now spew the hot fusion gases around the machine too (20% of the total gases are randomly placed around the machine in 10 open turfs each containing only 10% of that 20%)
-damage system now uses cooling temperature instead of the internal fusion temperature
2021-04-27 15:30:29 -07:00
zxaber
c31b1d803b Fixes mechs being unable to move in space (#58727)
* Fixes mechs being unable to move in space

* unnecessary repeated check
2021-04-27 21:31:02 +02:00
Seth Scherer
c1ad087956 Fixes cyborg drinking glass generating infinite amounts of any reagent. (#58638) 2021-04-26 18:41:22 -07:00
TemporalOroboros
9f598a9662 Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)
* Adds explosion SFX to the blastcannon and explosive compressor

- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.

* Miscellaneous changes

- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments

- Removes a whole bunch of argname = 0 in explosion calls.

* Removes named callback arguments.

* Changes the explosion signals to just use the arguments list

Adds a simple framework to let objects respond to explosions occurring inside of them.

Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.

Makes the explosive compressor and blastcannon actually use the TTVs they are given.

Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments

*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.
2021-04-26 17:31:25 -07:00
Ghilker
aafe6508d5 H/E pipes exploit fix (#58452)
This setup (Putting he pipes in the wall) allows infinite cooling with walls, now when you try this and the wall gets too hot (62500 K for regular walls and 312500 K for reinforced walls) it will melt down.

Also improved the temperature_interact in datum_pipeline.dm
2021-04-26 16:39:58 -07:00
Fikou
f4699372a6 Build Mode Update! (#58715)
Improves the experience of using build mode for building events and stuff.
You can now choose any from the eight dirs, not just cardinals and northwest.
Decals are now supported by build mode! This means that they can have any dir you want instead of always being south.
Areas are now filled in by default, you can still paint them manually with altclick.
Switches new tab width from 5 to 4, which means that the buttons for modes/dirs will be more naturally distributed, 4 per line when we have 8 dirs and 12 modes
2021-04-26 16:30:05 -07:00
Fikou
7e3a4f2442 fixes stuff made with bronze sheets deconstructing into tiles or not being able to make bronze golems (#58708) 2021-04-26 16:15:18 -07:00
Winter Flare
51b8ed2db8 More Food Sorting (#58649)
* Organizing

Moves the following:
Enchiladas, from MEAT, to MEXICAN
Meat Bun, from PASTRIES, to MEAT
Hotdog, from PASTRIES, to SANDWICHES
Melon Bowl, from MISC, to SALADS
Oatmeal, from SALAD, to SOUPS (And changes the object path to match.)

Does the traitorous task of adding the GRAIN tag to Enchiladas. May god have mercy on my soul.

* Adds a trailing new line

Co-authored-by: Winter Flare <7543955+Owai-Seek@users.noreply.github.com>
2021-04-26 16:09:44 -07:00
tralezab
194eb911da Refactors Reaction Chamber Code (jesus christ it was so bad), Fixes bugs with it too (#58709)
fixes #58574 (Adding a reagent to the reaction chamber increase the UI width beyond the size of the window)

Adds in a new reaction chamber panel, looks nice, ya did a good job
2021-04-26 15:58:36 -07:00
TemporalOroboros
03164f4fcb Emissive system refactor (#58130)
The emissives system is the system that both lets computer screens and vendors glow in the dark and lets mobs and items block those glows. The current implementation relies on using filters to let mobs and items mask out the glow in the dark overlays on some structures. This is difficult to extend properly without massively increasing maptick. This PR changes the emissives system to use BYONDs native image layering to mask emissive overlays. This should prove to be a more extensible option.

tldr; There exists a system that lets computer screens glow on the dark and lets mobs and items block the glow. It isn't very extensible and this PR attempts to make it more extensible.

How emissive overlays used to work

Currently emissive overlays and the emissive blockers that mask those overlays are handled using a system of inter-masking planes. The emissive overlays and the emissive blockers are placed on separate, hidden plane masters. These are essentially rendering layers and groups. The emissive blocker plane is then used to mask the emissive overlay plane which effectively allows the emissive blockers to block the emissive overlays from being seen. After is has been masked the emissive overlay plane is used to mask the lighting plane, essentially creating holes in the shadows wherever an unblocked glowing thing exists.

Why this is a potential problem

This system works fine. In fact it works great! The computer screens glow, any person or item that winds up on a computer blocks the glow, and everything just works. However, this system runs into some issues when you try to extend it to work on things other than structures. Namely, the current system only supports emissive overlays on structures and emissive overlays that are completely unblockable by any means. As a result, several interesting uses to the system require extending the system.

As a result, if you want to apply emissive overlays to items (which exist between structures and mobs) or emissive overlays to turfs (which exist below structures) you must extend the emissives system to get the emissive overlays and emissive blockers to properly function. Doing this naively, by adding extra emissive overlay and emissive blocker planes and applying all of the relevant masking filters, is not exactly performant.

Maptick is a major contributor to lag and the higher the maptick the more free lag you, the player, get delivered fresh to your client. Trying the naive method resulted in #55782 (1f1b58bb26), an attempt to add glowing carpet to the game. Since the PR revolved around adding glowing carpet it had to extend the emissives system to allow for emissive turfs and emissive blocking structures. Extending the system was done naively as described above and you can see the results. 1.5 times the maptick across the board. Ouch.

So, we know that extending the system in it's current form is impractical. At least if done naively. Thus we are stuck.

tldr; The emissive system currently uses inter-plane masking to allow for emissive blockers to function. This is difficult to reasonably extend without murdering maptick. See #56496 (1f1b58bb26) for the results of naively extending this system.

How emissive overlays are going to work

Alright, so we know that the current system of using planes to let the emissive blockers mask the emissive overlays is difficult to extend in it's current form. The solution is to change how the system works so that it can be extended in a more efficient manner. What we want is a system that allows one set of images to be out masked by another set of images and for the first set of images to be capable of masking the light plane. Preferably, we would also like the ability to interleave the masking effect between emissives and emissive blockers with almost arbitrary layering.

Conveniently, this layering and masking is something BYOND already does to normal items and objects. If we put the emissive overlays and the emissive blockers on the same plane we can use their layers to interleave them almost arbitrarily like any normal structures and items! All we need is a way to mask away the emissive blockers from the resulting rendered plane and we can mask the lighting plane with the remaining emissive overlays.

Luckily, BYOND has provided a single filter that is capable of this task. The color matrix filter. This filter can be used to apply a color matrix to an image! Provided that the emissive overlays and the emissive blockers are different colors we can use a color matrix filter to effectively mask out the emissive blockers from the plane! The resulting emissive plane can be applied as an alpha mask to the lighting plane as it used to, to the same effect. The best part is, we get layering practically for free!

This is exactly what this PR does. It converts the emissives system from the old plane and masking based blocking to a new layer-based system which uses BYONDs native layer handling to mask the emissive overlays.
2021-04-26 15:56:37 -07:00
tralezab
bdd4e70673 mail fixes 😎 (#58716)
now mail doesn't get sent to... BAD recipients. (Antags arm, just say antags)
fixes incorrect unwrapping message (bad usage of a visible message)
mail recipients wasn't shuffling either. I'm fairly certain this was leading to some people always getting mail and some never getting it.
2021-04-26 15:50:35 -07:00
GuillaumePrata
3e7e48d4d5 QoL: Blue shoes (Paramedics) have the same "disease resistance" than white ones. (#58652)
Simply this, white shoes have some "disease resistance" against stepping on blood and are used by everyone at medbay but the Paramedics.

Smart Paramedics will speedrun a swap for white shoes that can be made by cutting cloth, since it's something easily available at Medbay I don't see this as a balance change and more helping new players that don't know how disease work yet.
2021-04-26 15:42:08 -07:00
Ghilker
88a9e09fd6 Smarter pipes (#58296)
Smart pipe improvements
Co-authored-by: tralezab <spamqetuo2@gmail.com>
2021-04-26 23:35:08 +02:00
Celotajs
76fb2e1712 Convert changelog to TGUI (#58593)
This pull request converts the changelog to TGUI. 
Note: Old unused changelog files will be automatically removed on the next changelog run
Why It's Good For The Game

More consistent UI, ability to view all historic logs.
Changelog

cl Celotajs
refactor: Converted the changelog popup to TGUI
/cl
2021-04-27 08:41:56 +12:00
GuillaumePrata
b97b9e6558 Small clean up on uniform code (#58690)
Checking code at random, finding repetitions and some wrong armor values, all fixed now.

Make things easier to read, you won't think that each security and medical uniform has a different armor value at a glance, fix small oversight on RD's uniforms, everyone is happier.
2021-04-26 02:07:54 -07:00
GuillaumePrata
d8873f5e4a Jelly people can eat toxin food (#58698)
What I assume to be an oversight makes jellypeople and subtypes inherited their toxic_food from humans who can't eat TOXIN kinds of food, including slime based food like slime cakes and donuts.
Eating slime food would get them disgusted, even if it's basically their blood and how they grow.
They now have an NULL for toxin food, like fly people.

Most people would assume that jellypeople can safely eat slime based food...
2021-04-26 02:04:25 -07:00
Spookuni
f895534a32 Headcrab go fast (#58658)
Timber made me do this instead of doing it himself because apparently I break the game too much or something. :(

When changeling egg incubation times were moved over to delta time they weren't properly multiplied to maintain their 4 minute wait time while the egg hatched, instead taking 40 minutes.

Waiting 40 minutes as a changeling for your egg to hatch after biting a corpse isn't very fun.
2021-04-26 02:00:13 -07:00
Ghilker
0b28ea46f1 Fix multiz ventcrawling (#58531)
Allow mobs to travel through multiz adaptors,
fixes runtimes caused by ventcrawling
2021-04-26 01:53:08 -07:00
Ghilker
caaa0fefcf Thermomachine heat exploit fix (#58390)
Stops thermomachines from going over the fusion max temperature with the safeties on (safeties can only be disabled after emag or EMP).
Without the safeties on the machine has a chance of explosion (0, 0, 3)
2021-04-26 01:45:28 -07:00
tralezab
88a9390abb Borgs can once again be chainstunned (#58696)
fixes #58274 (Borgs being unstunnable while stunned)

uh, if this is intended, then someone should lemmie know, close that issue, and i'll close this prr
2021-04-26 01:33:37 -07:00
Jonathan Rubenstein
e6eee237d5 Add Show Hiddenprints action to VV on atoms (#58657)
This displays the hiddenprint log from /datum/component/forensics in a simple to view form, sorted by last touch. I didn't make it fancy, it's very bare bones.

I could have refactored hiddenprints to use lists in lists, which would make getting data out a lot easier, but I worry about the additional memory overhead on every atom that gets touched, so I left it as strings in lists. I did reformat it a little bit, however, to make it simpler to sort, and it looks a little nicer. Namely moving the timestamp in front of the name.

It can help a lot in admin investigations on whodunnit. Right now they have to look at the forensics component, and that's if they even know about it. This way it is discoverable by using the VV tool.
2021-04-26 01:27:03 -07:00
itseasytosee
a28bf994b8 Stops ethereal from crystalizing while eaten (#58650)
Checks if an ethereal is in an item or mob before making the crystal. Stops weird cases where one might just appear outside a space dragon or create legions that dropped no corpses. fixes #58643

Look if someone wants to code the process of an ethereal coming back to life in a space dragon's stomach I won't stop you but I will judge you.
2021-04-26 01:19:43 -07:00
tralezab
175ab549b1 fixes heretics (#58679)
This bit of code didn't specify that the new thing was what the variable was, and without that information byond assumes you want to create what the variable is typed to (a generic proc holder spell)
2021-04-26 01:16:09 -07:00
tralezab
caacc604fd you can no longer skittish dive into supplypods (#58692) 2021-04-26 01:11:38 -07:00
tralezab
51e4d14918 freezes addictions and sanity during death (#58691) 2021-04-26 01:11:23 -07:00
Fikou
fcee6bf2b5 cryo cells now render mobs under instead of over them (#58633)
this should work in the same way the experiscanner does, if youre on the same tile as the cryopod, youre above it, if youre north of it you render below
2021-04-26 01:06:45 -07:00
Urumasi
5b73f8fcae Make mindbreaker cure RDS (#58671)
Currently, mindbreaker toxin is supposed to suppress hallucinations, but the reagent itself still applies hallucination to the user which is counted towards handling hallucinations before it gets purged by the quirk.

It's annoying that the one thing advertised that should fix hallucinations with RDS doesn't work.
2021-04-26 01:04:10 -07:00
cacogen
5ca89a4640 Clarifies keybinding conflict message (#58676)
Gives the heading an underline to separate it from the rest of the text and makes it title case so it stands out without overstating the urgency of the situation
2021-04-26 01:03:48 -07:00
tralezab
0d34a1cbce IAA now properly removes martyrdom when you reinstate escape objectives (#58689)
fixes #58610 (IAA suffering, multiple copies of the same objective)

Escape > martyrdom removed escape,

martyrdom > escape didn't remove martyrdom.
2021-04-26 01:03:13 -07:00
tralezab
106d455b35 feedback it isFeedback for mutations deactivating from losing limbs (#58687) 2021-04-26 01:02:27 -07:00
tralezab
213fd616d8 fixes #58663 (Revs being able to convert blind people) (#58685)
eye and ear protection now consider blindness and deafness
2021-04-26 01:00:58 -07:00
cacogen
f64b03ec22 Uses the update_icon_updates_onmob element to update the flash's onmob sprite (#58674) 2021-04-26 01:00:21 -07:00
tralezab
3302a25e18 simple animals with no attack no longer self nuzzle (#58684) 2021-04-26 00:59:27 -07:00
Seth Scherer
27b6e12ed1 Fixes simplemobs bypassing machine interaction checks with right-click verbs (#58662)
Simplemobs, and more importantly revenants, were able to bypass the canUseTopic check for any right click verbs, allowing them to use a few machines that they shouldn't be able to.
2021-04-26 00:59:03 -07:00
Y0SH1M4S73R
373895cb51 Custom Chaplain Bible Names (#58367) 2021-04-26 00:55:39 -07:00
Celotajs
fb2d71495b Convert jumpsuits, jumpskirts and sneakers to GAGS (#58514) 2021-04-25 17:01:36 -04:00
UnokiAs
a7ff221c20 Add new syringe sprites. (#58619)
imageadd: Added new syringe sprites (Normal,Piercing and BlueSpace.)
2021-04-25 08:14:36 -04:00
tralezab
154b4ec401 Fixes mail multiplying in a hellish race to Avogadro's number (#58699)
Mail waiting ticks up when it successfully sends mail instead of ticking down, essentially doubling the waiting mail every time it tries. whoops!
2021-04-25 02:46:03 -07:00
Swiftfeather
55e1dcf6bf Fixes a funny regex moment quoting half the file in weak editors (#58653) 2021-04-25 02:16:48 -07:00
Mothblocks
7e4de07506 Remove all gamemodes except Dynamic (#58470)
Removes all /datum/game_mode except dynamic. Eventually, all of mode and game_mode will be removed, and Dynamic will become an ingrained system. Every single other gamemode was unmaintained at best and poisoned other code at worst. Currently all tg servers run 24/7 Dynamic, so the time to act is now.

* Remove gamemode references from age checks

* Monkey

* Remove heretics

* Remove BBs

* Refactor uplinks and remove clown ops

* Remove nuke ops

* Removes and refactors cult

* Remove extended

* Remove and move out meteors

* Removes wizard

* Remove sandbox

* Remove changelings

* Remove traitors

* Remove revs

* Remove gangs

* Remove changing mode and voting for new gamemodes

* get_candidates signature fix

* Summon ERT and NERD in their own panel

* Remove some old unneeded age_check stuff

* Fix old signatures of get_uplink_items

* Use Extended like config for dynamic.json

* Fix discounted gear
2021-04-25 01:55:10 -07:00
ArcaneMusic
3475446f74 Ports Mail From Kiwi Take 2: Arconomy Class Mail (#58146)
Co-authored-by: tralezab <spamqetuo2@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-04-24 22:49:27 -07:00
RaveRadbury
c2dfe7418a Adds flavortext for trying to speak with a vow of silence (#58640)
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-04-24 14:32:08 -07:00
vincentiusvin
facd1c28a4 Small Crystallizer Fixes (#58614)
fix: fixed crystallizer locking up when the input port is devoid of proper gases.
fix: fixed crystallizer conducting heat with the heat loop only on reactions. It should conduct at all times now.
2021-04-24 14:05:36 -07:00
Kokonut
f07f847706 Tool Resprite (#58616) 2021-04-24 14:04:47 -07:00