Commit Graph

32206 Commits

Author SHA1 Message Date
IndieanaJones de31a2b625 Fixes Swarmer Barriers (#53049) 2020-08-19 21:16:00 -03:00
NightRed 8c78aa58f5 Prevent duplicate names for vents and scrubbers in the air alarm (#52398)
It is always a pain adding in a new vent or scrubber to an area and suddenly you have duplicate names.
This prevents duplicate names for vents and scrubbers in an area.
Why It's Good For The Game

Makes engineering's life better, duplicate names are bad.
Changelog

cl
fix: Prevent duplicate vent and scrubber names in the air alarm interface.
/cl
2020-08-20 09:16:14 +12:00
Jared-Fogle 45c14f6330 Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)
Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl
2020-08-20 09:11:28 +12:00
skoglol d4d754a107 Adds nekomimetic, the felinid language (#52958)
Currently felinids are the only roundstart species without a language, this sees to that.
Changelog

cl Skoglol
add: Adds nekomimetic.
/cl
2020-08-20 09:09:53 +12:00
tralezab 6a25b30b12 Removes "availible" mispellings in codebase (#53046)
* AVAILABLE

* Rebuild tgui

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-19 23:57:37 +03:00
silicons 452d2ad6e7 [s] sanitizes nanite extra settings (#53065)
/datum/nanite_extra_setting/text/get_value()
return html_encode(value)

HTML injection bad. Brainwashing and potentially happiness programs are all subject to this, unless code has changed for how objective text is rendered. I don't think there's any case where nanites even need to be able to accept raw html.
2020-08-20 07:57:42 +12:00
tralezab 3c5c2a1ebc Small Plasmamen envirosuit spelling fixes (#53045) 2020-08-19 16:12:18 -03:00
ArcaneDefence 22736e14e2 Monkey powder now respects the monkey cap config (#53024) 2020-08-19 16:06:03 -03:00
uomo afb9a1d9aa Removes double space from health doll examining. (#53025) 2020-08-19 16:05:12 -03:00
tralezab 392258947e species now correctly do not include organs they do not use (#53030) 2020-08-19 16:02:38 -03:00
GuillaumePrata 83a921f67b Adds Hypernoblium interactions with Plasmamans to stop self combustion. (#52942)
Plasmamen won't interact with O2 if there is also Hypernoblium in the air and if already on fire, will get extinguished.
Adds Hypernoblium as a reagent when inhaled, having Hypernoblium in your system as a Plasmamen will also stop combustion.
2020-08-19 15:40:23 -03:00
ArcaneMusic 10362c6bf9 Bam ath happy (#53039) 2020-08-19 14:25:58 -04:00
Krysonism b8e128f17b New breathtaking medical stack: the mourning poultice! (#52968)
New type of medical stack, obtainable from botany: the mourning poultice.

These poultices convert 10 brute and 10 burn into oxy per application, and can be used on corpses as well as the living.

It takes 20u bungotoxin, 20u aloe juice and 20u cellulose to create one stack.

I have split all the existing medical stacks into their own dmi, stacks_medical.dmi.
2020-08-19 15:25:10 -03:00
NightRed 0497d5a950 Chemistry machines drop beakers on floor if you are not beside them (#52922)
When ejecting a beaker it would teleport to your hand.
This checks that you are in range, if not the beaker drops at the machine.

Fixes #52882
2020-08-19 15:22:45 -03:00
Aleksej Komarov c59d88470a tgui: Yarn Berry (#53026)
This pull request upgrades Yarn to version 2 (also known as Yarn Berry).
* Update build validator

* Provide inferno in the root level package

* Remove type module from package.json

* Powershell build script
2020-08-19 02:26:30 -03:00
Timberpoes 288bc5234b Reworks the Hierophant Club as a general utility item and removes attacks. (#52880)
This PR reworks the Hierophant Club into a utility item. Mining? Gone. Attacks? Gone.

In their place? 5-tile range point-and-click instant teleport similar to the ninja. Max charge is 1. Recharge time is 15 seconds.

With the removal of this bloat, the item is now small enough to fit in the average backpack.

The hiero club establishes itself as the entry-level megafauna drop from the entry-level megafauna.
2020-08-18 22:42:35 -03:00
TiviPlus 0ab4f38605 Diagonal macro thingu (#52927) 2020-08-18 22:35:33 -03:00
CRITAWAKETS 2d9506cf43 General nanite nerfs. (#52937)
Nanites have recieved a general nerf, mostly in the healing department. This is probably not enough nerfs, actually.
2020-08-18 22:32:50 -03:00
Rohesie 25f670f8de Opacity refactor (#52881)
Moves all opacity var manipulation to a proc which sends a signal.
    light_blocker element for movable opaque atoms made, which tracks its movement and updates the affected turfs for proper lighting updates.
    has_opaque_atom boolean replaced by the opacity_sources lazylist to keep track of the sources, and a directional_opacity which serves a similar function but also allows for future expansion with on-border opaque objects (not yet implemented).
    Some opacity-related sight procs optimized as a result of this.
    Some variables moved to the object's definition.
    A define or two added into the mix for clarity.
    Some code cleaning, like turning booleans into their defines.
    One file renamed for clarity.

Changelog

cl
balance: Mechs no longer block sight. It's a non-trivial cost for the lighting system with little to no gain.
/cl
2020-08-19 13:24:20 +12:00
ATH1909 0c1d72e333 Adds reminders as to which cult structures make which cult items (#52637)
Said reminders are present in both the descriptions of those cult structures and in the stack recipe menu for runed metal.
2020-08-18 22:22:19 -03:00
tralezab 728d1ca524 cleanup the corpse file, cleanup stationstuck component, adds stationstuck to the reanimated skeleton (and zombie, why not) (#52940)
all living spawners in corpse.dm are now in ghost_role_spawners. I hate having to search two different files to HOPEFULLY find which ghost role I need to edit.

Added a disclaimer about giving guidance or at least stationstuck component to stuff so this doesn't happen again

Cleaned up stationstuck. Man, I know I made this, but damn I did kind of a shit job
2020-08-18 22:20:25 -03:00
Donkie 9ed2bc5dae Cleaning machines and the cleanbot now scrubs instead of washes, wiping forensics (#52983) 2020-08-18 22:17:51 -03:00
Tad Hardesty 291d7ac376 Fix the poll menu from breaking the join menu when the DB is misconfigured (#52949)
The returns if the DB is connected but the query errors mean the new player panel is never shown. This is a problem.
2020-08-18 22:08:27 -03:00
skoglol 1137100999 Adds an admin force wardec button to the antag panel. (#52967)
If nukies have spawned, the war button exists and war has not been declared, the check antag panel now has a button to force war. This bypasses the crew and time limit. Made by admin request.
2020-08-18 22:02:11 -03:00
WarlockD 6d578a39cc Fixes eye damage overlay (#52980) 2020-08-18 21:55:12 -03:00
WarlockD 5c6da83db9 Update stat panel to give round time days. (#52986) 2020-08-18 21:52:35 -03:00
tralezab 46ec19aa81 New Event: Shuttle Catastrophe (#53003)
The shuttle runs into some kind of horrible event, and is no longer servicable. The station is given a new one!
2020-08-18 21:42:06 -03:00
tralezab 662e96e756 Clown's Tears take one bananium sheet instead of one bananium ore (#53004) 2020-08-18 20:57:34 -03:00
zxaber ffbf931e17 Fixes a runtime caused by examining a modular computer with no primary ID slot (#53009) 2020-08-18 20:51:45 -03:00
tralezab 6c79ec5823 Flyperson organs are all completely unidentifiable (#53008)
All flyperson organs have the same, generic name and description, and their icon is picked from a pool of gross, blackened organ sprites.

There's also a new organ they have that just does completely nothing. It is also disguised and looks the same as all the other organs.
2020-08-18 20:50:35 -03:00
Qustinnus f54de4a2b8 refactors resist act to be on atom level (#53016) 2020-08-18 20:30:44 -03:00
ATH1909 47d7e373b8 Patches a shuttle curse orb exploit, increases the amount of uses from 2 to 3 (#52635)
* curse you, perry the emergency escape shuttle!

* Update code/modules/antagonists/cult/cult_items.dm

Co-authored-by: Rob Bailey <actioninja@gmail.com>

Co-authored-by: Rob Bailey <actioninja@gmail.com>
2020-08-18 17:50:29 -04:00
MrMelbert 0822aed851 Removes organ accidental consumption (#52411)
* i dedicate this one to goof

* snip

* how'd this get past
2020-08-18 17:38:26 -04:00
tralezab f1541d82d4 Removes Corporate Species (#53018)
* sike! i removed corporate!

* b'gone sprites
2020-08-18 12:38:03 -04:00
uomo 28699d9716 The holodeck will no longer spawn invisible tables, and WILL spawn floor decals. (#52924)
* Fixes holodeck making invisible tables.

* Removes comment.

* Remove extra space.

* Just gets rid of overlays from forbidden vars list.

* Small map fixes for the lounge sim.
2020-08-18 07:09:20 +02:00
Jared-Fogle fa11c9c7be Messages sent by yourself no longer highlight (#52991) 2020-08-18 05:54:29 +03:00
NightRed 1bcba1863b deconstruct silo (#52923) 2020-08-17 20:22:16 +02:00
Rohesie 245dbb0ec7 embed runtime (#52912) 2020-08-17 20:09:56 +02:00
Aleksej Komarov fe5d51d355 Fix asay 2020-08-17 17:04:05 +03:00
nemvar 57b4a2b650 Merge pull request #52911 from Rohesie/clowncar
Fixes clown car runtime
2020-08-17 11:06:59 +02:00
Jared-Fogle 5f693dc11d Fix XSS in skull echo (#52993)
About The Pull Request

Closes #52992
Changelog

cl
fix: Skull Echo now correctly encodes its speech.
/cl
2020-08-17 13:51:20 +12:00
Aleksej Komarov 64dcf44cc6 tgchat: Hotfixes, Message Annotations (#52947)
This PR changes the message pipeline a little bit to support list-based messages, which can be annotated with custom data. Function signature of to_chat was slightly changed as well:

// Plain text message
to_chat(client,
  type = MESSAGE_TYPE_INFO,
  text = "foo")

// HTML message
to_chat(client,
  type = MESSAGE_TYPE_INFO,
  html = "<span class='notice'>foo</span>")

Old to_chat format is still supported, but handle_whitespace, trailing_newline and confidential flags have no effect. confidential flag could still be revived though, if there is enough merit in it, for example to filter out confidential messages when saving a chat log.

The reason for using /list and not /datum, is because lists are plain faster, and there are minimal data transformations - these lists are fed directly to json_encode and sent to tgchat.

Plain text messages do not need to be HTML-escaped, which makes them safer and more performant than HTML messages. Plain text messages can be made interactive (or formatted with CSS) by custom-handling them in javscript based on message type and annotations.

It would be impossible to annotate every single message in the game (at the moment of writing, there are 9447 to_chat calls in the code), but it could be done selectively, for only those messages that are hard to classify by span classes (and there are still A LOT of them).
Please annotate more messages. Thank you.

    Fixes #52943
    Fixes #52908
    Fixes #52816

Changelog

cl
add: tgchat: Unread message count is now smarter and won't increase on other tabs if you have already read the same message in the active tab.
add: tgchat: Admin PMs are now properly annotated and can be filtered into separate tabs.
fix: tgchat: Fix: Highlighted message overlay no longer blocks clicks. Clicking a highlighted (F) link should work as it should.
fix: tgui: Fixed NTOS bluescreen due to calling .includes() on a stylesheet href which could be null on certain browsers.
code: tgchat: Chat schema bumped to version 5. All chat-related settings were reset to avoid breakage.
/cl
2020-08-17 10:38:38 +12:00
Winterous bd81fd64af AI core is now Abductor-proof. (#52718)
* 1

* 2

* 3

* 4
2020-08-15 23:20:43 -07:00
Jared-Fogle c42889cccd Add organ zone to examine description (#52904) 2020-08-15 11:51:28 -07:00
ATH1909 0fa3b66ead Adds an admin-only version of the chef's hat that allows mice inside of the hat to have a 100% chance to relay their movements to the person wearing the hat (#52641)
* muahahahahahahahahaaaaa

* snake case

* shivcalev's suggestions
2020-08-15 11:44:47 -07:00
Arkatos1 2d68ac7339 Small TGUI tweaks and fixes (#52955)
* LaborClaimConsole cleanup

* UI tweaks
2020-08-15 11:38:13 -07:00
Fikou 8ecc06083a adds ascension achievement (#52757)
adds ascension achievement
2020-08-15 11:34:12 -07:00
silicons 16eb86ddcf Baystruments - I had two tgstation forks for some reason and had to delete one and that nuked the last PR (#51459)
Instruments and sound channels refactor.
2020-08-15 10:39:46 +02:00
ShizCalev 274f30b1c0 Merge pull request #52945 from IndieanaJones/swarmerbugfix
Fixes Swarmer Teleport and Swarmer Typo
2020-08-14 19:34:43 -04:00
ArcaneMusic 22a32fa31f Fixes Virology Civilian Bounties. (#52905)
* Fixes Virology Civilain Bounties.

* Don't you hate when you're like 30 commits deep into another branch but there;s no quick alternative to get back onto your old branch because you've been debugging a single issue for the past 3 days and you WANT to work on something else but if you just commit what you got now it'll be a waste and you'll forget what and why you made those choices? Wow same, relatable

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-15 01:33:53 +02:00