Commit Graph

35366 Commits

Author SHA1 Message Date
Mothblocks
940d9aa99d Cache savefiles just for a tick, likely fixing savefile misses (#61469) 2021-09-15 18:26:35 -07:00
GuillaumePrata
69d695ca18 Winter coat allowed item fixes (#61450)
Sometime ago I cleaned a slice of the winter coats to cut on copy pasta in their allowed list and important items being missed there but I misunderstood how the global list of allowed security items work, which ended up with the global list overwriting my base list.
So this fix that, also thanks Athath for bullying me about this issue a few months ago before I went on coding hiatus...

Also since I was here I decided to fix the allowed list for the janitor winter coat, it had some odd items without a worn_icon so we had the annoying bugged sprites with it.
2021-09-15 22:57:55 +01:00
Burgermancoding
fdbbb7e827 Nuclear Operatives will now see the nuke codes in memories (#61448)
This adds the ability for the nuclear operatives to check their memories for the nuke code. Memories are the successor to notes, the latter being where the nuke code was stored before. Many thanks to tralezab for helping me make this change. Also shoutout MrDoomBringer for making the messages suck less
2021-09-15 22:32:32 +01:00
Fikou
a9a73541c5 turns stickmen into basic mobs (#61272) 2021-09-15 14:28:14 -07:00
Burgermancoding
354063d0e5 Adds plates to the autolathe (#61433)
You can now print plates to eat food with or throw in tense situations. This is good for the game because the mechanic of vendor restocks is barely ever seen or used, getting more plates can be annoying because most people will take the plate and not leave it back when you leave food out on them, additionally you can print basically every other piece of dinnerware in an autolathe even cleavers if they're hacked, so there is no reason why you shouldn't be able to print a plate as well.
2021-09-15 17:02:41 +01:00
Ghom
2f7404f8b1 Fixes Everyone Is A Traitor not affecting latejoins. (#61071)
I have made the admin sheanigean use a datum that registers the COMSIG_GLOB_CREWMEMBER_JOINED signal to give latejoins the traitor antag datum. I have also moved the global comsig at the end of AttemptLateSpawn(), which is necessary to stop latejoins who already rolled antag from getting the role and also make it work for non humans (though robots can't be latejoined as right now). For summon guns/magic, a ishuman check has been added, and the definition of the make_scottish() has been moved to living. This shouldn't affect how the other datums who use the same comsig work.
2021-09-15 13:32:26 +01:00
FlamingLily
c5a110308d Surgery pain messages and screaming in agony (#61252)
Adds (purely flavourful) unique pain messages to surgery steps, with a 30% chance for forced screaming in agonizing pain

Messages are things like "You feel a horrible stabbing in your chest" and w/ever.

Also see Skyrat-SS13/Skyrat-tg#5899
2021-09-15 13:30:49 +01:00
小月猫
56e568bef9 fix aux base console (#61306)
the Auxbase console is a subtype of consoles, despite being a wallmount, therefore it inherits consoles density = TRUE, despite being on a wall

this means that you get THIS ..... its on the WALL and the tile is EMPTY, but you cant step onto it, because the consoles there technically and dense

(I feel i should clarify before its asked: when a console is deconstructed it spawns a new console frame and copies the circuit over, that new frame will be dense again. so it only lacks density once its finished and on the wall)
2021-09-14 19:20:36 -07:00
sqnztb
2b58e1dc05 grey to omni (#61292)
Swaps the default color of fluid ducts from "grey" to "omni."

Fluid ducts also read from the global list of pipe_paint_colors but were not updated when grey was changed to omni in #61162 (fef3629d11)
2021-09-14 19:12:53 -07:00
Couls
9590c85108 restore dynamic lighting to some areas that lost them (#61304)
restores dynamic lighting to some areas that had it but were accidentally removed in #60954 (e629c36feb)
2021-09-14 19:11:31 -07:00
zxaber
d018281e51 Slight refractor to borg reboot boards, allows them to be reusable (#61232)
Refractors the cyborg reboot module to be an independent item rather than a subtype of cyborg upgrades. The new item is no longer consumed during use.

Rebooting now makes a different sound when rebooting an AI shell or ghostless borg, rather than no sound at all.

A recent PR fixed a longstanding apparent bug that allowed reboot boards to be resused. A bug it may have been, but the reboot board being a single-use item is kinda terrible, and doesn't make a lot of sense that the board is somehow destroyed when used. Mothblocks, who merged the bugfix PR, has given me permission to PR this change.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-09-14 19:02:24 -07:00
Mooshimi
c9d36362b1 adds logging for all canisters opened, logs all gases in spooky gas cans too (#61289)
admins are now alerted when miasma, freon, and co2 canisters are opened, and are informed of the contents of canisters containing dangerous gases in general, not just the spooky gas on its own.
added overall logging for all canisters opened
2021-09-14 18:57:34 -07:00
oranges
6f5702f77b Add french kissing (#61392)
If you wear the french beret you get the garlic breath trait added.

This also happens if you consume garlic reagent containing items

This trait makes your kisses become french and causes your breath to
smell of garlic
2021-09-14 18:53:50 -07:00
esainane
333003cacc Fix HFR interface units (#61382)
* Fix HFR interface units

Exposing units in terms of tickrate to users shouldn't really happen,
but in this case the HFR also already respects delta_time for moderator
filtering rate.

See hfr_main_processes.dm:

```
moderator_internal.remove_specific(gas, (moderator_filtering_rate / filtering_amount) * delta_time)
```

Also consistently use `mol` over `g` for other types, and while the
typical equation symbol for Magnetic Flux Density is `B`, the SI unit
is Tesla (`T`).

* HFR: Fix fuel injection rate control

I don't know how this ever worked, but `remove_specific` already checks
to make sure that there is enough gas to remove, and caps appropriately.

With the lowest proportion possible (0.5 for both old and new units),
this very quickly absorbed all gas available from the fuel port. This
commit changes behavior so that the fuel injection rate is properly
respected.
2021-09-14 18:51:40 -07:00
John Willard
674bd80b4d You no longer shove yourself into a disposal unit (#61384)
Being shoved into a disposal unit tells you who shoved you in, rather than saying you shoved yourself.
2021-09-14 18:35:20 -07:00
TiviPlus
62d1bc2536 Lavaland bottle holyness correctly not a species trait (#61409)
This is not a species granted trait, seems it was like this out of laziness but correct me if you know better
(Arm: It's just a remnant of angel's being a species in the past)
2021-09-14 18:33:13 -07:00
TheSmallBlue
2c1302b695 Ghoster? I barely knew her! (#61413)
Right now, if you try to enter any mob/posibrain as a ghost and instead of clicking "yes" you click the x icon, it'll make you possess the mob anyways, even though you didn't want it to. This fixes that.
Also, you could just ghost as a posibrain and calmly get back in it with no repercussions, this also fixes that by making you not able to re-enter a posibrain after you left it.
2021-09-14 18:32:48 -07:00
Mooshimi
427793f9c6 Fix documentation in emote.dm (#61438)
Changes documentation in emote.dm to go with dmdoc format
2021-09-14 21:31:40 -04:00
Timberpoes
e4eb1f65fd The Odysseus is no longer an artillery mech. (#61372)
Removes the ability for the Odysseus to fire syringes filled with dangerous chemical combos that only react on impact. Does this by removing the NO_REACT flag when syringe darts are created.

This doesn't change any behaviour of handheld syringe guns. You can't fire a Water/Potassium syringe out of a handheld syringe gun as doing so requires creating a syringe of Water/Potassium, which will instantly react. The same holds true for other chem reactions. The traitor reagent dartgun which synths its own syringes uses different projectiles that are not impacted by this change. It functions identically to how it did before and is unchanged and untouched.

This change specifically targets Ody behaviour.

The Ody is intended to be a medical support mech. Stop using the Ody as a cheap spammable artillery mech with RDX/Teslium combos.

Use the Odysseus the way God himself intended. Fire sleepy chems into your victim, abduct him in your vore chamber and keep him sedated with a slow infusion of sleepy chems for the rest of the shift.
2021-09-14 18:30:34 -07:00
Fikou
28cc5005a9 observe button uses alert instead of tg alert (#61404)
observe button uses alert instead of tg alert

if your tgui is broken you literally cant join the game other than spawning as a job and ghosting out, id say its a critical enough button to keep as old alert
2021-09-14 18:28:52 -07:00
TiviPlus
a675059bbf Tom shock immunity is innate instead of species trait (#61408)
This is not a /datum/species granted trait and since those also get treated differently this might avoid bugs
2021-09-14 18:28:35 -07:00
ArcaneDefence
5a423eaa2e fixes magmawing watcher projectiles slowing down (#61362)
Magmawings aren't supposed to slow you down
2021-09-14 18:23:54 -07:00
Chloe
c0117c4a1c Mentions stopping allergic reactions on medipens (#61285)
Because a lot of people didn't know that epinephrine stops production of histamine during allergic reactions.
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-09-14 18:15:28 -07:00
FlamingLily
d42998f6a8 Fixes (somehow) killing nar-sie in the last second not properly clearing the hostile environment (#61116)
Someone forgot to add GLOB.cult_narsie so I think what would happen is, despite narsie being dead, the shuttle wouldn't leave.

Was a non issue because the round ends if nar nar is last minute killed. There is not enough time for the shuttle to even leave.

That said, unimportant failures are still failures, so let's get going
2021-09-14 18:15:02 -07:00
TemporalOroboros
f4506cae0b Makes tank explosions scale with volume and have diminishing returns. (Nerfs singlecaps) (#60600)
Changes tank explosions to take tank volume into account and use sqrt scaling when calculating explosion range.
This basically means that they scale faster at lower pressures and slower at high pressures.
Rebalances tank explosion scaling so that maxcap TTVs are where they used to be pressure-wise.
Rebalances the research doppler arrays cash generation algorithm so it maxes out at the same TTV pressure. This does however mean that the doppler array will grant more points at lower explosion pressures.
Rebalances blastcannon shot range calculation so it scales as it used to with normal TTVs.

The comparatively tiny emergency tanks no longer produce the same size explosion as a TTV at the same pressure.
It is much more difficult to carry around 70 maxcaps in a single duffle bag. (I don't think it renders this completely impossible but it does kill oxy-trit emergency tank singlecaps as far as I know.)

Lemon posting past this line.

How it works:

Change assumes maxcaps should be just as easy with the standard ttv setup of 2 70L tanks.
So it divides the bomb's strength by 14, then scales it using dyn_explosion's (x*2)^0.5.
If you graph it the strength is exactly the same with a 140L reaction vessel, but as volume goes down, strength falls off very quickly because of that division, and the use of dyn_explosion.

Hopefully this will effectively disincentivize singlecapping, and remove the everpresent threat of someone leaking the station leveling method.

Reasoning for when github blows up:

I don't think single caps are on the same level as typical atmos antag threats. They're a hell problem
1: tanks should explode when someone hyper pressurizes them
2: we want all tank explosions to act the same, for the sake of a believable world
3: really well put together tank explosions (ttvs), should be really powerful
4: reaction code is a son of a bitch

I do think knowledge gating has some place. Knowing how to do something well should have a benefit. but that isn't like, an ultimate truth.
I've seen what proper, full on atmos autism single capping looks like. I don't like that level of absolute destruction at speed being feasible full stop.

I consider single caps to be a necessary side effect of how explosion code works. I think it's really cool that people have gotten so deep into this game and the systems around it that they've started optimizing this side effect into a tool/bragging rights thing.
But I'm still not a huge fan. If big booms are gated only by knowledge, then as soon as that knowledge spreads we're fucked. I've seen this happen before with things like rad batteries (cue crit being cringe).
It's not just single caps mind, the destruction you can make with em scales with knowledge.

I'm not in love with this pr mind, because it means I need to worry about bomb code when someone makes some silly tank volume balance pr. but it's a good solution. better then what's been tried in the past. still leaves space for things just blowing up in your face without maxcaps coming into the equation easily.
2021-09-14 18:13:50 -07:00
Kush1Push1
d542b0d264 Native languages for tongues (#61352)
If a mob (human one) speaks with a language their tongue tracks as native (for their language's anatomy), the message's text will not be changed with default language's text replaces.
Basicly, if a lizard (or other human mob) with lizard tongue speaks with draconic, their speech will be without accent changes

It looks a bit strange when races speak at their own language with difficult without real reasons for it. The changes remove that part.
2021-09-14 18:03:59 -07:00
170141183460469231731687303715884105727
468de0b5d0 Actually fixes temperature pump exploit. Removes limit as it's redundant now. (#61406)
Temperature pumps were bugged and generated heat while exchanging heat. This fixes that and removes the limits as they were only used to stop people from creating infinite heat.

Exploit bad, and the limit was below a temperature that can be obtained legit(imately, which was annoying.

(I was initially against this pr, was under the impression that the heat pump actually pumped heat. apparently it doesn't. currently considering if it even needs to exist.)
2021-09-14 18:03:11 -07:00
Mothblocks
5a4c87a9fc tgui Preferences Menu + total rewrite of the preferences backend (#61313)
About The Pull Request

Rewrites the entire preferences menu in tgui. Rewrites the entire backend to be built upon datumized preferences, rather than constant additions to the preferences base datum.

Splits game preferences into its own window.

Antagonists are now split into their individual rulesets. You can now be a roundstart heretic without signing up for latejoin heretic, as an example.

This iteration matches parity, and provides very little new functionality, but adding anything new will be much easier.

Fixes #60823
Fixes #28907
Fixes #44887
Fixes #59912
Fixes #58458
Fixes #59181
Major TODOs

Quirk icons, from @Fikou (with some slight adjustments from me)
Lore text, from @EOBGames (4/6, need moths and then ethereal lore from @AMonkeyThatCodes)
Heavy documentation on how one would add new preferences, species, jobs, etc

    A lot of specialized testing so that people's real data don't get corrupted

Changelog

cl Mothblocks, Floyd on lots of the design
refactor: The preferences menu has been completely rewritten in tgui.
refactor: The "Stop Sounds" verb has been moved to OOC.
/cl
2021-09-15 10:11:11 +12:00
LemonInTheDark
a3dfa16a98 Fixes some stupid behavior in computer hardware code. (#61350) 2021-09-13 18:30:28 -07:00
Fikou
1b5e20fe6c server restarting stuff uses alert instead of tgui alert (#61405)
if tgui is broken you should still be able to reboot world
2021-09-12 15:37:18 -04:00
TiviPlus
353d8d84ee Species shouldcallparent on gain/loss (#61407)
These have signals and thus should have this
2021-09-12 15:36:55 -04:00
kopoba
08da75d468 Recount of bloodpacks in cargo pack (#61412)
Fixin wrong description of bloodpacks in cargo order
2021-09-12 15:36:26 -04:00
Fikou
156b08bd22 adds infinity to vv classes (#61302)
adds infinity as a vv option
2021-09-11 07:02:49 +01:00
esainane
a11e9ff228 Fix HFR Oxygen based iron content mitigation (#61321)
* Fix HFR Oxygen based iron content mitigation

Oxygen as an ameliorator for iron content buildup was added in 874914528.
However, the values used removed a breathtaking 50 percentage points of
iron content per tick (!) (note iron content is capped at 100 percentage
points!), at a cost of only 10 moles of Oxygen.

The overall effect is that non-debug HFR setups incidentally create
enough Oxygen to offset any iron content, and rarely risk meltdown.

This changes the values so that Oxygen is exactly enough to prevent
expected iron content buildup at fusion level 5, and slows buildup at
fusion level 6 to a mere 17% of the usual rate.

Oxygen consumed is now exactly proportional to the amount used to remove
iron, and delta_time is respected as well.
2021-09-10 22:04:28 -07:00
esainane
53c52f56f0 Reorder HFR fuel datums (#61297)
* Reorder HFR fuel datums

This reorders the HFR datums in order of maximum temperature. This is
also a rough approximation of difficulty and order of desirability.

This mostly stops the plasma/oxygen recipe being a weird outlier in the
middle of the interface, but also somewhat makes the recipes above
make more sense too.

No functional changes.
2021-09-10 20:32:43 -07:00
tralezab
00154ae89b Adds sect selection to the blackbox (#61336) 2021-09-10 17:17:48 -07:00
GuillaumePrata
b9e3f8e42d Renames the analyzer to gas analyzer and adds it to the protolathe printable list (#61326)
Just this, small QoL because having to build a full autolathe to get a gas analyzer is annoying.
You can now search for gas when looking for the analyzer on the autolathe or protolathe, way more intuitive.

I would rename it from /obj/item/analyzer to /obj/item/gas_analyzer but it would change so many files... another day perhaps...
2021-09-10 23:33:55 +01:00
GuillaumePrata
03616d0227 Revival surgery works with shock touch (#61329)
Just add shock touch as an alternative to the defib paddles on the revival surgery, just like you can use a stun baton.
To be clear, it doesn't work as a defib for normal revival, just as a "ghetto" alternative to revival surgery.

Also I'm putting this as a QoL since it is something small on the grand scheme of Genetics, if a maintainer things that a Balance/Content expansion tag would be more fitting, feel free to add it.
As a side note, shock touch has 30 of instability, the same as Space Adapt.
2021-09-10 23:32:40 +01:00
Ghom
1e2eab9f2e Fixes GetComponents() returning a list with a null entry when there's no component of a given type (#61267)
Fixes GetComponents() returning a list with a null entry when there's no component of a given type

This can cause runtimes. The lists should only contains instances of a specific component type.
2021-09-10 22:13:37 +01:00
AMonkeyThatCodes
f0fcd57768 removes gas_transfer_coefficent from clothing as it did nothing (#60922)
it literaly does nothing
2021-09-10 15:06:14 -04:00
tralezab
641e481d47 TGUI Apprentice Contracts (#61094)
TGUI-ifies apprentice contracts. Yummy!
2021-09-10 18:24:55 +01:00
tralezab
cb5d8f7431 soul shards now properly remove antag when exorcised (#61315)
I missed an ! while refactoring soul shards
2021-09-10 03:44:49 -07:00
Carrotattacker
c7e0d9a2ba Adds "The Juice", a drink that lets you see and travel through bluespace rifts (#61295)
* the juice

* Update alcohol_reagents.dm

* Update alcohol_reagents.dm

* far better sprite made by sampslig

* Update code/modules/reagents/chemistry/reagents/alcohol_reagents.dm

Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2021-09-09 22:20:56 -04:00
Ghom
20468c3f15 Baton refactor. item/melee/baton is now a subtype of item/melee/baton (formerly classic_baton) (#61207)
Merged the item/melee/classic_baton and item/melee/baton families in this unholy matrimony.

Bad jokes aside. I have refactored the underlying code of both items with the scope of reducing potential copypasta,inconsistencies, logging, renewing some old code (like teleprods) and extending the anti-dual batoning and TRAIT_STUNRESISTANCE code** to all batons and not just security ones. Otherwise, I have tried to maintain the gameplay functionality of these items intact. They work just like they did for the most part.

** A badly designed feature that only considers one source of knockdowns - stunbatons - out of a multitude of different devices with corresponding purposes present in the game. The only thing it does is reduce the knockdown from them by 90%. The stamina damage and confusion are fully applied. The knockdown from batons is 5 seconds, standing up takes an extra 1 second and the baton cooldown is about 2.5. Doing the math, you'll have the grand advantage of one puny second of not lying horizontal on the floor with this trait before getting batoned again by the same guy because the stamina damage and the confusion have really hampered your chances of getting some distance. I wish to make the trait suck less in the future, but for now I'm including a slight gameplay change here, more for consistency than anything because as I already told you, it'll still be disappointingly bad per se.

The abductor baton is also no more a subtype of stun batons but batons, which don't use power cells to work. Its power cell is effectively infinite and can't be removed, and It overrides functions such as toggling the baton on/off. It hinders maintainability to keep it a subtype of stun batons.

Replaced the anchored check for mobs in teleprods with one for overwhelming move resistance and removed its clumsy_check copypasta (it was stunning clowns twices).
2021-09-09 16:40:20 +01:00
Fikou
ff48fac9f4 actually fixes the wrapping on ahelps (#61282) 2021-09-08 19:54:19 -07:00
Tim
9eec84f84c Fix wormhole jaunter behavior with chasms and EMP (#61055)
Wormhole jaunters will now save the user from a chasm if they fall in and it's on their belt. Wormhole jaunters also are affected by EMP correctly. Before it would only be affected by an EMP if it was in the belt storage area which made no sense.

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>

(Lots of good work here, thank you tim)
2021-09-08 17:13:07 -07:00
tralezab
4d7f2952e4 [READY] Adds memory system, and engraving walls with chisels (#60302)
Co-authored-by: MonkeyThatCodes <monkey>
Co-authored-by: MonkeyThatCodes <MonkeyThatCodes@deez.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: AMonkeyThatCodes <20987591+AMonkeyThatCodes@users.noreply.github.com>
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-09-08 15:03:07 -07:00
TiviPlus
7dff58205c var/static_lighting proper varedit support (#61164)
per title it creates/destroys the lighting objects now
2021-09-08 21:03:43 +01:00
Sealed101
120ab2554d Basic Cytology Scan fix (#61266)
Basic Cytology Scan Experiments no longer ask for Unknown fluids instead of mice.
You can actually complete the scan now, since you can't grow a basic datum in a vat.
2021-09-08 01:47:25 -07:00
Sealed101
7f21c15ea0 Fixes RnD experiment discounts applying indefinitely (#61258)
Discount experiments have been decreasing required points for nodes indefinitely, resulting in research costs being like Industrial Engineering here:

Curiously, this didn't mean free research points for reasons unknown to me.
I believe this has been going on for the entire lifespan of Experisci and nobody reported it. Yet here I am, an RnD main fixing something that's my lifeblood.

Discounts aren't supposed to grow into 1450%+ discounts over time.

RnD discount experiments now reduce the proper amount of points needed instead of gradually growing into a 100% free tech node.
2021-09-08 01:44:57 -07:00