Commit Graph

32196 Commits

Author SHA1 Message Date
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
IndieanaJones d05e09aa25 Fixes Typo and Tele-Remove Bug 2020-08-14 19:18:47 -04:00
CRITAWAKETS da354ba4e2 Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam. (#52873)
About The Pull Request

This PR removes the tesla and Mrs. Pacman from the game. The title is actually misleading, the TEG and singularity are still in the game but inaccessible and the singularity no longer has its generator.

Field generators and tesla coils have been kept because shocking your fellow man is the greatest sensation of power in the world.

The overcharging delamination for the supermatter has been replaced by the release of 2500 mols of tritium at 500,000 kelvin. An engineer who's really hateful of the station can use this for fusion, if they desire. Otherwise, its a tritium fire in engineering alongside the explosion. This will probably be changed in the future to be more potent since the explosion will pretty much just space all the tritium away.

Singularities no longer produce radiation. Now, keeping one is less about making power and more about making a statement, especially since you need to delaminate an SM shard for it.
Why It's Good For The Game

Having power optimized for one generator (SM+Turbine) will allow balancing to be feasible, also oranges wanted this. The other generators may later return but with tweaked values and different roles.
Changelog

🆑
del: Nanotrasen has removed their outdated teslas, singularities, TEGs and Mrs. Pacman generators from their servers and warehouse.
/🆑
2020-08-15 10:42:08 +12:00
Jared-Fogle 9748709d1e Actually fix machine disassembly (#52871) 2020-08-14 12:37:40 +02:00
ShizCalev 5373f23aa5 fixes arnold pizza not checking for TRAIT_NODISMEMBER (#52771)
Fixed Arnold pizza not checking for TRAIT_NODISMEMBER, resulting in a message being sent to the user even if they were fine after eating it.
2020-08-13 22:58:22 -03:00
Aleksej Komarov 0e1b20e6db tgchat (#52426)
Replaces goonchat with a tgui based chat panel

    Fixes #52898
    Fixes #52663

It is as fast as goonchat was (if not faster in certain circumstances), and is very extensible. It has all the necessary code for sorting messages into categories, which means that one of the next features will be multiple tab support.

Additional features that you will get with tgchat right now:
    Massively faster server-side performance compared to goonchat, especially if batching multiple messages to one client.
    Message persistence across rounds and reconnects. (All messages are stored client-side in IndexedDB)
    More robust scroll tracking. If you scroll up, it will not change the scroll position on new messages like goonchat did.
    Multiple message combining. (Currently set to combine up to 5 messages over last 5 seconds).
    If using the highlighting feature, it highlights the whole message as well as the matching word.
    "Now playing" widget, with preview of the song title, a knob for adjusting the volume and a stop button.

Architecture is as following:
```
to_chat() -+
           |
        SSchat
   (queue, batching)
           |
  window.send_message()
           |
           v
+-------------+
| tgui-panel  |
|+-----------+|
|| tgchat    ||
|+-----------+|
+-------------+
```

Subsystem is basically goonchat, but without all the garbage that slows the servers down (string concatenation, double urlencoding, sanitizing, etc). Now, instead of all that, it's being slowed down by json_encode in /datum/tgui_window/proc/send_message, which IMO is completely worth it, and allows sending various templates and widgets to tgchat.

/datum/tgui_window abstracts the whole window away from you, establishes a nice message-passing interface between DM and JS, with two message queues on each side, automatically loads js/css assets for you, basically does everything. You as a developer only have to worry about sending/receiving messages and write javascript.

tgui-panel is a slimmed down version of tgui, and functions as a container for various widgets, and tgchat is one of them. It of course can be expanded with more stuff.

It's also a separate entry point and a JS bundle, so it's not bloating the main tgui bundle, and is currently sitting at about 230kB.
2020-08-14 13:21:40 +12:00
SteelSlayer 0d74626514 TGUI Photocopier (#52831)
Converts photocopier UI to TGUI.

Initially I tried to make it so you could select to make a color or greyscale copy of paper's but I couldn't really figure it out, so I decided to hide those two buttons if the inserted item isn't a photo.

Something not shown in the pictures below is that if you don't have a toner cartridge or the cartridge doesn't have enough charge, the "Copy" button is greyed out, likewise for the AI's print button.


cl
refactor: Photocopiers now use TGUI
tweak: You can insert any type of toner cartridge into photocopiers, and regardless of the currently inserted toner's charge level.
tweak: Toner cartridges can be ejected from photocopiers at any time
/cl
2020-08-14 10:24:26 +12:00
ShizCalev d22909e35f Merge pull request #52920 from CRITAWAKETS/test-ur-peearrs
Fixes lattice and operating table smoothing.
2020-08-13 17:36:29 -04:00
Critawakets 3e3f62fe05 Fixes survival pods too! 2020-08-13 16:00:51 -04:00
L 23fc697b1a runtime fix 2020-08-13 12:15:46 -03:00
Fikou 5111a36348 fixes goliath tentacle crusher trophy not working (#52893)
it checked for health - max health instead of max health - health, so it would never pass the > 0 check and even if that wasnt a thing it would just heal
2020-08-13 11:55:34 -03:00