Commit Graph

6190 Commits

Author SHA1 Message Date
Arkatos1
cfe39b8a06 Converts wirecutters to GAS (#58307)
* New wirecutters Greyscale

* New procs use
2021-04-15 10:31:42 -04:00
Emmett Gaines
db55157169 Makes the GAS system only update the icon when it has changed (#58337) 2021-04-14 23:02:26 -07:00
Seris02
875cc95cd9 Teensy tiny improvements for freerunning (#58187)
Since climb_time is multiplied by 0.8, climb_stun should also be. Not much point in taking it if whoever is chasing you can still arrive with you stunned on the table and simply pull you off it. If this is too much taken off in total, in my opinion, the stun time should be adjusted, rather than the climb time.
Also reduces the ZImpactDamage knockdown multiplier. Right now both with freerunning and without you get knocked down the same amount, now with it you're actually better at catching yourself on those z level falls and so suffer less of a knockdown.
2021-04-14 22:47:11 -04:00
Time-Green
50a18a0b5e Nerfs addiction withdrawal time (#58172)
Currently takes 1 second before withdrawal starts, which is enough to start withdrawal while still using the drug. I changed it to 1 minute before you need your fix again (old addiction was 30 seconds but could be microdosed).

Also buffed junkie pills to 3u and nerfed addiction requirement to 1u, from 2u (effctively still 2u since addiction tends to check after the 2u has already been metabolized).

Also clears disgust from opiods after quenching your addiction, because otherwise you're gonna spent the next 20 minutes being vomitlocked in place
2021-04-14 22:44:31 -04:00
Ryll Ryll
bcaf6bac6e Adds keybinds for moving up/down z-levels (#58345)
* movin' on up

* removes unnecessary lines
2021-04-13 07:39:15 -07:00
tralezab
a39df58434 fixes honorbound gods smiting under incorrect circumstances (#58343) 2021-04-13 05:58:34 -07:00
Jeremiah
94419dc0d5 Ports Cryopods (#58025)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Kokonut <38844529+maxymax13@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-13 01:18:41 -07:00
tralezab
d0eb1ce36c refactors pods, new helper for spawning items from pods through code (#58222) 2021-04-13 00:37:48 -07:00
Jonathan Rubenstein
456e475da5 Renews Maintenance Drones (#58249)
It's the second try! (First: #48456)

Drones are little robots inspired by Keepers from the Mass Effect games. With laws to maintain both the station, and their distance from the matters of others, they were a great ghost role that let you fix up the station when you were otherwise out of the round. They were in the game for quite a while, but were abused. The abusive players completely ignored the laws and did whatever they wanted. Being tiny ventcrawlers, this became a huge issue for admins.

I attempted to bring them back, this time with some gameplay restrictions to enforce their laws a bit better. It seemed to go well, but I required headmin approval, and this all happened near a headmin election, so the project died.

Recently, some people have wanted to bring drones back. So, they gave me a ring, and I started a discussion with the admin team to see what other changes they would want in addition to the previous ones.

Here are those changes:

    They can't interact at all when close to another being, living or dead
    Their binary chat has been removed to separate them from AI and borgs
    They can only hold a whitelist of items necessary to do their job
    They can only interact with machines necessary to do their job
    The drone satchel is gone, and drones now have built in basic tools
    They also can't interact in some blacklisted high risk areas
    Finally, you must play 40 hours total as a Silicon role in order to play as a drone

Additionally, the drone dispenser is not mapped, and the drones must be researched to be constructed.
Why It's Good For The Game

Drones are a fun way to pass the time, and this time they have a lot less freedom. You can still perform the basic function of maintaining the station, but not without difficulty and tedium. This will allow other station roles to perform much better than the drones, while still letting them chug along at their slower pace.
2021-04-13 13:10:36 +12:00
Mothblocks
92b32c3f00 Refactor /obj/item/food/chewable into a chewable element (#58243)
* Refactor /obj/item/food/chewable into a chewable component

* Element, always process
2021-04-12 16:18:00 +02:00
MrMelbert
ecb975897b Gives the slippery component a default whitelist of allowed slots (#58267) 2021-04-12 06:56:35 -07:00
ArcaneDefence
c9ac74c2dc Adds a phobia of guns (#58308) 2021-04-12 06:51:02 -07:00
LemonInTheDark
5f2f566d74 Gives rotting things a timer before they become fully effective to give more leeway for cleanup. Lowers the max values for disease effect and proc chance significantly. Cleans up some silly zone selection code. (#58290) 2021-04-12 01:34:25 -07:00
Ghilker
7bca0c36dc fix pneumatic cannon recipe (#58257) 2021-04-11 23:14:04 -07:00
tralezab
09ab61ae05 Four New Sects, small rethemes to first 3 (#57820)
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-11 22:57:43 +03:00
celotajstg
7811a45fe0 Prevent negative open positions in crew manifest (#58300)
* Resolve open position issues in crew manifest

* Use the classes helper for multiple classes

Co-authored-by: celotajstg <celotajstg@users.noreply.github.com>
2021-04-11 20:54:47 +03:00
Trigg
1542aa66bc TGUI Outfit Manager and Editor (#58125)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-11 20:47:03 +03:00
Ryll Ryll
b3616d4adf Fixes riding inheritance runtime (#58284) 2021-04-11 04:26:41 -07:00
Emmett Gaines
1c81adac8d Allows the connect_loc element to have a listener different from the tracked object (#58276) 2021-04-10 18:19:57 -07:00
tralezab
6df96d4964 Failed headrevs become enemies of the state (#58160) 2021-04-10 18:18:46 -07:00
Mothblocks
4fbed65071 Fix connect_loc runtiming for multiple turfs (#58269) 2021-04-10 15:11:39 -04:00
Emmett Gaines
1946abd0e5 Advanced Greyscale Sprite Generation (#58112)
* Nonfunctional greyscale code

* Functional greyscale sprites via filter

Probably going to set the icon instead later

* Switches to greyscale json config

* Adds the reference layer type and converts the other canister types

* Working previews

* Adds readme

* Fixes overlays and breaking

* Removes old canister sprites

* Removes an unused var

* Fixes tgui lints

* Removes a bunch of the old canister icon states

Yeah I need to fix relabeling as well

* Removes some debug sprites

* Sorts canister type list and breaks up base shader step

* Removes an unnecessary preview hack

* Makes prototype canister greyscale

* Properly sizes the ui

* Fills in the canister map sprite

* Adds some more warnings to layers

* Makes broken overlay more prominent

* Removes a preview var that isn't needed anymore

* Cleans up client ref in Destroy

* Cleans up the tgui window a bit

* Update GreyscaleModifyMenu.tsx

* Animates the canister falling over

* Removes a commented out line that's no longer needed

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-10 17:21:57 +03:00
celotajstg
67cb9cb08c Refactor crew manifest in lobby, ghost and AI actions (#58275)
Co-authored-by: celotajstg <celotajstg@users.noreply.github.com>
2021-04-10 17:18:30 +03:00
Timberpoes
232fb90388 Cleanup (#58234)
as x doesn't work properly when used in for loops over special lists.

One instance of as anything in get_turf() in crafting code was removed as entirely redundant. It was an untyped for loop anyway.

Two instances of as anything in contents changed for wheelchairs with warnings added to change them to as anything loops when we upgrade to 514.
2021-04-09 02:31:45 -07:00
Time-Green
cef24e8172 Deletes recipient_reagents_holder on del (#57767)
* Deletes recipient_reagents_holder on del

* Cleans up recipient refs when recipient dels

* no one saw that

* Makes plumbing listen to component signal for finishing

* Unregisters enable call
2021-04-08 15:59:46 -04:00
Mothblocks
0d24cdea3c Remove Uncross() and CheckExit(), add connect_loc element to cover the cases we used it for (#58188)
* Remove Uncross(), add create_loc element

* Update on ChangeTurf

* Explicit return

* Hold onto elements and remove TEST_FOCUS

* Remove UNIT_TESTS compile flag

* Follow my own advice.

* Comment about Uncross + CRASH

* Remove /atom/Exit ..()

* Apply suggestions from code review

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>

* Use keyed locs

* Re-add Bump()

* Superfluous check

* Correct change turf signal, remove old continue check

* Fix compile failure

* Fix tests

* Don't create element for fulltile windows

* Correctly unregister old location

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-04-08 15:52:00 -04:00
TemporalOroboros
faa556fae6 Moves code managing mobs getting shocked from disease code to mob status code (#58202) 2021-04-07 22:44:45 -07:00
Ryll Ryll
a54b528dfa Refactors shielded hardsuits into a component, fixes kisses consuming shield charges (#57797)
Shielded hardsuits (like the syndie ones) and shielded cult robes, despite functioning very similarly, were actually implemented twice in their own pockets of clothing code. This merges them into one component that lets you block a certain number of attacks while your suit has charges, and have the suit recharge itself after going so long without being hit (optional, cult robes still don't regain lost charges).

This PR also fixes harmless kiss projectiles consuming charges on shielded suits, I'm sure to much disappointment. They'll now pass directly through though, so you can still try your luck to see if love truly conquers all (it probably won't).

One casualty of this is that you can no longer toggle the shield color of syndie hardsuits with a multitool since that it was annoying to componentize, not something that affected gameplay, and probably something noone knew you could do anyway.

Fixes: #57723
2021-04-05 12:50:12 -04:00
Ryll Ryll
67c09b497f Stripping a disconnected player will tell them when they come back (#58129) 2021-04-05 05:17:38 -07:00
tralezab
9338775bea Processable and grillables and microwavables now give helpful examines, some condiment containers also do (#57694)
* IM DONE LOOKING AT THE WIKI FOR BASIC SNIZZLE

* microwaved, too

* HOOH

* LINT, review

* review but this time im not lying :trollface:

* maybe i should just like test or something

* reviews i missed

* 🐑
2021-04-03 00:51:12 -04:00
Seth Scherer
06c2823115 spelling (#58103) 2021-04-03 00:25:06 -04:00
MrMelbert
b46b586d7b TGUI Limbgrower + Limbgrower refactoring and design expansion (#57955)
Refactors the limbgrower to modernize the code. Now, the limbgrower can accept any type of reagent in limbgrower designs.

Adds simple plumbing demand to the limbgrower, so you can pipe synthflesh into it.

Adds monkey tails, felinid ears and tails, lizard digitigrade legs, lizard tongues, fake lizard tails (unusable in lizard-wine and similar recipes), plasmaman organs, and ethereal organs (minus the heart) to the limbgrower via limbgrower design disks. These disks can be printed from the medical lathe once the required technology has been researched.

Adds a technology node to unlock the limbgrower design disks after advanced biotech, xenoorgan biology. In the future, this could have an experiment requirement - maybe to scan multiple types of species.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-02 11:01:40 +03:00
Kylerace
24efbd6525 changes most uses of SSvis_overlays.add_vis_overlay() inside of update_overlays() to true overlays (#57985) 2021-03-31 13:54:07 -07:00
Fikou
3c3a31d624 autofire no longer does SIGNAL_HANDLER_DOES_SLEEP (#58066) 2021-03-31 08:57:14 -07:00
SmArtKar
396c6ddf20 Lowers rot disease chance (#58034)
Lowered the chance of disease creation by ~60%
Every round was having horrible breakouts, this ought to fix that
2021-03-29 23:48:30 -07:00
TemporalOroboros
718ee838e2 Fixes lights on people (#58000)
- Fixes light eaters not putting out lights on people.
2021-03-29 12:40:13 -07:00
Rob Bailey
292b217911 Layer overhaul (#57915)
## About The Pull Request
Changes up some layer and plane defines for no particular reason lol

## Why It's Good For The Game
Planes actually override layers, and layers control ordering within planes. A lot of the usage of plane and layer was wholly unnecessary. This refactor helps future maintainability while also being needed staging for _future features._
2021-03-29 09:51:44 -04:00
Mothblocks
5d56382323 Xenomorphs can now strip humans again (#58007) 2021-03-29 10:27:25 +03:00
MLGTASTICa
62a06b26fd Refactors pellet_cloud/create_cassing_pellets to not sleep (#57974)
Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>
2021-03-28 02:14:19 -07:00
Ghom
4e31fcecfa Renames TRAIT_MONKEYLIKE to TRAIT_DISCOORDINATED_TOOL_USER and fixes an issu with jungle fever (#57897)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-27 18:47:36 -07:00
Timberpoes
8a037b5c4f ai_behaviour cleanup ft. less chatty tourists (#57945)
Each of these lines is punctuated by an audio sting every 8 seconds without refrain.

So, this PR adds a new vocalisation limiter to tourist bots who can't find a seat. Instead of always vocalising every 8 seconds, they're now guaranteed to vocalise the first time and then have a 60% chance to have vocalised again each minute thereafter.

Tourists waiting for food now have an approx 40% chance to have vocalised in any given minute. This should be considered alongside the fact that multiple (up to 10) tourists can be present at any given point in time and with the difficulty in players killing them, they can create a lot of unnecessary audio spam. If the tourists are being served rapidly, they're also giving regular guaranted audio stings on top of that which compounds the chances any given bot will output an audio cue.

The AI controller now passes the larger value between the behaviour's `action_cooldown` in real seconds (as opposed to deciseconds) and delta_time when performing behaviours. This has no gameplay changes outside of those documented in this PR, since no AI behaviours with cooldowns greater than the AI controller's delta_time attempted to use delta_time.

Finally, customers now have 10 minutes of patience before leaving instead of 100 minutes of patience due to a minor oversight where their patience was in deciseconds while delta_time was subtracted in seconds.
2021-03-27 13:23:37 -04:00
Thalpy
0500771072 [Ready] Fermichem part 2.3 Adds a new reagent: Eigenstasium (#56918)
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-26 19:56:04 -07:00
LemonInTheDark
d746928a8e Gibs/Dead bodies no longer produce miasma (#57957)
* Gibs/Dead bodies no longer produce miasma

Miasma production as it is now is too little over too long a time span, and it just ends up spreading across the
station and having little effect. My goal here is to remove a source of uninteresting gas from the station's
air, and make corpses and gib piles more infectious.
I've placed the cap on disease payout at a strength of 7, so there's a slight chance of a positive disease, but
I think it's counteracted by the danger presented by just infecting yourself till you get what you want.

I've rewriten the rot component to just run a percent chance to infect someone with a disease based on the type
of rot, and moved almost all of its behavior to signals. There's one portion I can't rewrite without making
significant changes to how I handle atmos sensitivity, so that'll come later.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-26 19:54:26 -07:00
Time-Green
599e7db6e6 Partially revert reaction chamber (#57855) 2021-03-26 12:00:43 +02:00
AnturK
8b1ffd1e49 Adds explorer drones / adventures. (#57851)
A new side-job for cargo. Prepare and launch exploration drones at distant sites to encounter weird adventures, collect loot and expand the station cargo network. Adventures - the main content type here, can be written by anyone without any knowledge of programming. The purpose here is creating an way of interesting way of delivering lore (and adding some new job content/cargo expansion method).

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-03-26 11:38:39 +02:00
Mothblocks
f71b3a069b tgui strip panel + strippable element (#57889)
Completely removes show_inv and replaces it with /datum/element/strippable. It takes a list of instantiated /datum/strippable_item which communicate which slots are available and how to interact with them. This element has been added to humans, alien humanoids, parrots, and corgis.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-03-26 11:33:46 +02:00
Qustinnus
40d75cc340 You can now put food on plates, and plate no longer materialize out of nowhere as you cook (#57770)
* All plates removed.
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: DeAndre <robustness13@hotmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
2021-03-26 08:32:27 +01:00
LemonInTheDark
1aa42a3188 Ref Tracking: Revengance (#57728)
* Ref Tracking: Revengance

Fixes reference tracking ignoring self references due to a poorly thought out tick checking system.
Fixes reference tracking ignoring the contents of assoc lists
Makes the reference tracking printouts actually describe what list the ref is in, rather then just saying "list"

Adds REFERENCE_TRACKING_DEBUG, a define which toggles tracking info for the ref tracking procs, which allows for
oversight on how the proc is working

Allows for direct calls of qdel_and_find_ref_if_fail(), makes it use ref rather then REF(), fixing it breaking
for mobs. (Ditto for the qdel hint which does the same thing)

Moves REAGENTS_TESTING out of the reftracking define block
Makes unit tests define REFERENCE_TRACKING, REFERENCE_TRACKING_DEBUG, and FIND_REF_NO_CHECK_TICK

Adds a unit test that sanity checks the reference finder proc
2021-03-25 22:01:23 -07:00
Arkatos1
82dba0c2bc Improves status bar coverage (#57916)
This PR makes sure all MouseEntered() procs call their parent, which handles the status bar. This fixes instances where the status bar was missing, for example when you hovered over the ghost buttons, you would not be shown a name of the button, but completely different object, like "space", which was very misleading. This also means that the new status bar should have better parity the with the old status bar, which also showed these things.
2021-03-25 12:46:12 -04:00
tralezab
e6be56c9d0 Bane AI (#57771)
We take Gotham from the corrupt! The rich! The oppressors of generations who have kept you down with myths of opportunity, and we give it back to you...the people...Gotham is yours. None shall interfere, do as you please!
2021-03-25 11:10:16 -04:00