Commit Graph

10473 Commits

Author SHA1 Message Date
san7890
51d0a9c787 Pickle Jars are now made of glass instead of cardboard and are now non-foldable. (#71172)
## About The Pull Request

This is done by making it impossible to fold a jar. You can not fold the
jar, clicking on the pickle jar will do nothing and you will be stuck
right back where you were before you tried to fold the jar. Because:
what the fuck? Folding a glass jar? Huh?
## Why It's Good For The Game

Fixes #71083.

Come on, _folding_ a jar? What the hell? The jar seems to use the rest
of the fancy_box API, so I think it's fine to just have nulls be valid
in this context.
## Changelog
🆑
fix: You can no longer fold a glass pickle jar into cardboard. It will
also no longer recycle into cardboard as well.
/🆑
2022-11-15 09:42:36 +01:00
AnturK
4d6a8bc537 515 Compatibility (#71161)
Makes the code compatible with 515.1594+

Few simple changes and one very painful one.
Let's start with the easy:
* puts call behind `LIBCALL` define, so call_ext is properly used in 515
* Adds `NAMEOF_STATIC(_,X)` macro for nameof in static definitions since
src is now invalid there.
* Fixes tgui and devserver. From 515 onward the tmp3333{procid} cache
directory is not appened to base path in browser controls so we don't
check for it in base js and put the dev server dummy window file in
actual directory not the byond root.
* Renames the few things that had /final/ in typepath to ultimate since
final is a new keyword

And the very painful change:
`.proc/whatever` format is no longer valid, so we're replacing it with
new nameof() function. All this wrapped in three new macros.
`PROC_REF(X)`,`TYPE_PROC_REF(TYPE,X)`,`GLOBAL_PROC_REF(X)`. Global is
not actually necessary but if we get nameof that does not allow globals
it would be nice validation.
This is pretty unwieldy but there's no real alternative.
If you notice anything weird in the commits let me know because majority
was done with regex replace.

@tgstation/commit-access Since the .proc/stuff is pretty big change.

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-15 03:50:11 +00:00
axietheaxolotl
305669fe55 R[D]evamp - Secret Door (#71208)
Adds a Brand-new RD labcoat and beret. Along with a pair of black gloves and a set of jackboots given to them.
This PR also resprites the RD turtleneck and skirtleneck.
2022-11-14 22:28:12 -03:00
tattle
ad5debaaa1 Add investigate_deaths (#71112)
## About The Pull Request
Adds INVESTIGATE_DEATHS, an investigate category intended to better show
causes of death.


![image](https://user-images.githubusercontent.com/66640614/200142461-c17b5e51-1116-4eef-bbfb-49bc024c0953.png)


![image](https://user-images.githubusercontent.com/66640614/200147306-09bef76e-68c6-4f0a-bdf9-0211eb274e66.png)

Also makes suicide_act take a `mob/living` as an argument instead of a
`mob`, and some minor style improvements since apparently I hate
atomicity.

## Why It's Good For The Game
Inspired by a mysterious death and dusting. More logging and leads for
admins investigating deaths.

Also fixes #59028

## Changelog
🆑 Tattle
admin: added investigate deaths to shed some more light on unusual
demises, dustings, and gibbings
/🆑

Co-authored-by: tattle <article.disaster@gmail.com>
2022-11-07 16:22:37 -08:00
GuillaumePrata
c945234491 [NO GBP] Add a 2 second cooldown for ore bag balloon alerts (#71133)
## About The Pull Request
And removes an extra `to_chat` message for when your ore bag is full and
can't put ore in using the `silent_for_user` system.
## Why It's Good For The Game
I have been moving the chat messages that miners get bombarded every
shift away from their chat bar and into balloon alerts with the goal of
making the chat be a cleaner place for miners, as it is their only way
to interact with the station while down at lavaland.

People have been complaining that it was too much, which is fair. I've
been work on a mini rework on how ore bags function and a cleaner
feedback with ore icons falling into the bag, but I'm just not happy
with how it works now so I will restart on it.

Until I get that sorted, I added a 2 second cooldown on the balloon
alerts for picking up ore as a middle ground, it provides good feedback
for new players while not being as distracting.
## Changelog
🆑 Guillaume Prata
qol: Ore bag balloon alerts have a 2 second cooldown now and a spammy
message (hopefully the last) it send to your chat about being full was
removed
/🆑
2022-11-07 11:33:00 -08:00
Fikou
bf11926af4 removes unused silver sulf boxes (#71097)
we had unused boxes of aiuri patches in the code named silver
sulfadiazine boxes (that shit is gone), so I removed them.
2022-11-07 14:06:11 -05:00
jimmyl
fb6b5905b3 Fixes plenty instances of 1-tile foam (#71132)
## About The Pull Request
All of these from what i heard were supposed to make all foam with range
"4" but most of these ranges were stupidly big so

Fixes 1 tile foam that was apparently not fixed after the foam refactor
in:
AI Upload Foam Dispensers, with a range of "4"
Hygienebot death, with a range of "2"
Clown cars taking damage, with a range of "4" and 25u of space lube.
(henk)
Clown plasmaman envirosuits extinguishment, with a range of "4" and 15u
of space lube. (hunke)
Soap suicide, with a range of "1"
Emagged cleanbots wetting the floor and making foam, with a range of "2"
Firebots when exposed to an atmos fire, firefighting foam with a range
of "3"

![image](https://user-images.githubusercontent.com/70376633/200168492-640b2517-b747-43cd-b45f-c2168a915d63.png)

## Why It's Good For The Game

Fixes #68441
Makes firebots less ass
Also barely-functional code bad, functional code good

## Changelog
🆑
fix: Fixes 1 tile foam in Foam Dispensers,Clown Cars, Hygiene
Bots,Firebots, Soap Suicide, Emagged cleanbots, and the clown plasmaman
envirosuit
/🆑
2022-11-07 09:34:48 -08:00
SeigaSeiga
b206748409 Adds the indestructible flag to implants (#71062)
## About The Pull Request

Grants all Implants the resistance_flag INDESTRUCTIBLE to make them
immune to damage from outside explosions.

## Why It's Good For The Game

When you take an uplink implant you trade 4tc for the utility and
security of the implant. Due to how explosions work, enough light-grade
explosions nearby will somehow destroy your uplink from within and
potentially neuter you as a traitor. Depending on how you've chosen to
play the antagonist, this can be easily self inflicted [such as by
wearing a bomb suit and using explosive lances], and it's pretty
unintuitive compared to getting your PDA or any other equipment
destroyed. You'd think the implant being surrounded by meat would
protect it.

Also there's a couple other cases where enough tickle-grade explosions
might delete an important implant, and this all happens without any kind
of warning or message, as well as being completely outside of player
expectations.

This PR changes nothing about removing implants via surgery, gibbing, or
similar events, since the implant gets deleted upon removal by any
expected method. I'm pretty sure nobody is using explosions on purpose
to specifically try and destroy someone's implants.
2022-11-06 19:37:06 -06:00
lizardqueenlexi
443879531d V8 Engine fixes (#71033)
The V8 engine now allows you to learn the recipe and will no longer runtime when it checks if you already know it.
2022-11-06 06:09:01 -05:00
ShizCalev
9ebdbe1b3d randomizes the pixel offset of stuff when it comes out of a microwave (#71091)
Randomizes the pixel offset of stuff when it comes out of the microwave
2022-11-06 05:24:27 -05:00
Sol N
69cd1b600f More flatbread recipies and a pizza for ethereals (#70837)
## About The Pull Request

This PR adds in 6 new flatbread recipes that are a mixture of more
"traditional style" recipes that would have already existed and some new
ones that reflect the space station living lifestyle.


![dreamseeker_DNeiks8OgW](https://user-images.githubusercontent.com/116288367/198377608-c0f7a1d1-6d24-4fbc-9b89-ff2c528ace51.png)

Pictured from left to right is a bee larva and jellyfish flatbread
(stinging), raw meat flatbread (meatlovers), cucumber and egg with liver
flatbread (zmorgast, named after Smörgåstårta), fish and bbq sauce
flatbread (BBQ fish), tomato, mushroom, and oil flatbread (mushroom and
tomato), and korta nut flour and milk flatbread (nuffy).

It also features one additional pizza that can only be eaten by
Ethereals, because I think it is funny when Ethereals eat.

![dreamseeker_UU9Za4XLo8](https://user-images.githubusercontent.com/116288367/198377738-d2be39e1-b471-4967-a85c-bacc2f8aea0d.png)

It is made out of two batteries and flatdough.

## Why It's Good For The Game

Generally, this is to add more support as a cook who only makes pizzas
and flatbreads for the crew. As there are only three flatbreads. the
options for such a pizza focused chef who wants to feed any lizards is
pretty low, and then some of those require out of the way ingredients or
additional cooking. This offers a bit more variety to flatbreads
including some with overlapping ingredients to things that you might
already have your hands on if you want to go all in on Pizzacraft. The
ethereal pizza is just a bonus and so that all of the roundstart species
can have a slice now.

## Changelog

🆑
add: Added 6 new flatbreads and their associated recipes
add: Added 1 new pizza for ethereals
/🆑
2022-11-04 01:26:30 -07:00
GuillaumePrata
2625fb80d0 Adds a silent_for_user var to mute storage messages only for the user. (#70941)
## About The Pull Request
We have a `silent` var that makes storing/removing items from a backpack
not send a message to anyone's chat.
This adds a midway point, silent messages only for the user to cut on
spam/unnecessary messages while other players still keep them to prevent
free stealth shenanigans.

For now the only storage item I have given this new variable is the ore
bag for miners, as even with #70487 miners still have to deal with a lot
of pointless messages getting in the way of radio chatter.
## Why It's Good For The Game
Less pointless spam.
You mined the ore, you stepped on it, you get a balloon alert explaining
what happened.
There is no reason to also send the default storing/removing message to
your chat.

it can also be easily ported to other backpack/boxes/bags, I personally
would want it on basically any storage but that would hurt on new
player's feedback, so it is a conversation for another PR.
## Changelog
🆑 Guillaume Prata
qol: Ore bags are "silent" for the wearer and won't send pointless chat
messages about what has been stored/removed from it. Other players will
still get a chat message, so miners can't get away with surprise plasma
ore bombs.

/🆑
2022-11-04 01:03:07 -07:00
MrMelbert
1ac4a67c27 Chefs can now kiss food they make to make it with love. (And a lot of cooking refactoring) (#70409)
About The Pull Request

    Adds a skillchip to the chef's vendor. This vendor allows the chef to kiss their food to deliver a chef's kiss.
        Chef's kissing your food will add the "love" reagent to the food, which makes people much happier when they eat it. Be careful, overdosing on love can cause heart attacks.

    Refactors microwaving.
        Separates microwaving out of the edible component and makes it its own element, like grillable and bakeable.
        Also removes some magic numbers from microwave code.

    Code improvements all around baking and grilling code.

    Refactors edible component inheritance.
        Inheriting the edible component is now a viable way to cleanly add food types, flags, and callbacks. This makes it much much easier to change the values of an edible item without adding hacky signals / procs / getcomponent.

Why It's Good For The Game

Emergent chef gameplay.
Being able to further enhance your food with mood buffs.
Better code.
Changelog

cl Melbert
add: Chefs can now make food with love. They can purchase a skillchip from their vendor which enhances their kiss emote. Using your kiss on food you create will add a special reagent to it which makes it nicer.
refactor: Separated Microwavable from the Edible component, refactored microwave act to accompany this
refactor: Refactored how grilled items are generated
refactor: Refactored how silver slime food items are generated
refactor: Refactored how edible items inherit new edible statuses
code: Removed some magic numbers from microwaves
code: General code improvements for grillable / bakeable / etc
/cl
2022-11-04 09:45:01 +13:00
FinancialGoose
e49e165482 Bed war: add pillow weaponry and pillowman juggernaut suit (#69977)
* Add pillows you can hit someone you hate with it until they collaspe from exhaustion. The pillow can be made with cloth
* Adds a Pillow juggernaut suit, this suit allows you to automatically hit people with a pillow when you bump into them. It can be made from pillows and duct tape via the crafting menu
* Adds a bumpattack component, this can be added to any item and allows the user to auto attack on bump with a target, used for the juggernaut suit.
* Adds a Pillow hat an alternative to the paperbag hat, also made from duct tape and pillow. Very fashionable!
add: Clown/mime pillows
* The beds in dorm now come properly equipped with a pillow
2022-11-02 13:05:50 -04:00
itseasytosee
8e4bc80d92 Easy's Super Omega "unarmed strike based species var moved to limbs" refractor, unarmed strike striking with specific body parts rather than it just being flavor, and brain based attacking limb selection extra chunky edition. And also bodypart traits. (#70422)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
Ok first if you don't want to read any further explanation you can watch
these two videos and you will understand all of the mechanical depth of
this change.


https://user-images.githubusercontent.com/55666666/194788103-8019dad8-7e44-4cc8-bc8f-0a4f8f00a357.mp4


https://user-images.githubusercontent.com/55666666/194788109-345a3146-fb4b-4a2e-9c2a-e2ee786ba97d.mp4

### **Disclaimer: Effect on gameplay extremely limited and niche read at
your own risk**

Starting at the top, regarding the species datum, the vars attack_type,
punchdamagelow, punchdamagehigh, punchstunthreshold, attack_verb,
attack_effect, attack_sound, and miss_sound have been removed.

All bodyparts (not just arms) now have corresponding variables for how
they should act if utilized in an unarmed attack. The bodyparts vars are
correlated to their corresponding species. All arm type bodyparts have
been repathed through a common parent for the purposes of keeping
variables consistent. The same is true for the legs.

When a carbon begins an unarmed attack, it will check the carbon's brain
to see what limb should be used for the attack.
If the brain has no answers it will default to the arm that corresponds
to the active hand of the attacker. Currently in all brains except
monkeys, it check to see if the attackers target target is laying down,
and if so, call for a kick with the leg that corresponds with the
attackers active hand. If the attacker has no useable legs, or the
attacker does not have a corresponding leg to the active hand, or the
target is not laying down, the brain will simply default for an attack
with the active hand.

Monkeys brains (take note the difference between having a monkey brain
and being controlled by monkey AI) are the exception, they will simply
always choose their heads, and by default an attack with the head is a
bite attack.

As an example:
Previously ethereal would make attacks that used the verb "burn" and did
burn damage despite what limbs they possessed.
Now anybody with an ethereal limb will make an unarmed attack that does
burn damage and has all the same verbs as an ethereal would.

And finally, the chunky finger species trait has been moved over to the
species arms. Effect on other sources like insuls remains unchanged.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
The main motivation is moving direct mechanical elements off of species
to, quoting tralezab here, "Make species like a blueprint."
Opens more opportunities for coders to add specific elements to limbs,
perhaps we could see a buff to unarmed strikes from robot arms, or a
species that headbutts people to death.
Also undeniably cool, and fixes some weirdness like fully auged
ethereals still doing their normal ethereal attack.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑 itseasytosee
refactor: Elements of unarmed strikes are now limb dependent instead of
species dependent. Go rip off an ethereal arm, sew it onto yourself, and
burn some people.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

Co-authored-by: itseasytosee <noodlenymphftw@gmail.com@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-11-01 23:06:21 +00:00
texan-down-under
673ee5eee0 Bluespace Light Replacer!! (#70743)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
port of https://github.com/BeeStation/BeeStation-Hornet/pull/7414

Adds a bluespace light replacer, which acts as a researchable upgrade
for the light replacer. You can replace lights without having to be next
to them, through bluespace tech! Due to its unstable nature (and game
balance), emagging it is impossible. Also standard light replacer is
moved to a roundstart
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
Lets janitors/others replace lights in restricted areas as long as
theres a window line of sight, which helps janitors with not having to
beg crew/ai to let them in and the like
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
add: bluespace light replacer
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

Co-authored-by: etherware-novice <candy@notarealaddr.com>
2022-11-01 00:23:15 +00:00
Fikou
554bdfee43 color codes job laser pointers (#70924) 2022-10-31 17:19:21 -07:00
Sol N
e1ecc73c8a Adds Hydroponics door to Airlock Painter (#70920)
a friend of mine noticed that the hydroponics door was missing from the
airlock painter. so i added it, because it was the only door in that
group that wasnt.
2022-11-01 00:33:14 +01:00
MrMelbert
01c7f6541c Fixes cyborg projectile dampner runtime (#70888)
- Adds some missing `SIGNAL_HANDLERS` to projectile dampeners
- Fixes the cyborg projectile dampener having incorrect arguments
2022-11-01 00:31:52 +01:00
Jacquerel
83c75cac2c Brimdemons & Lobstrosities drop (slightly) useful organs (#70546)
Goliaths, Legions, Watchers, and (as of recently) Bileworms all drop
something vaguely useful when they die.
Brimdemons and Lobstrosities do not. This PR aims to fix that, so that
there's at least some vague benefit to hunting them.

In this case it takes the form of organs you get when you butcher them,
similar to the regenerative core from Legions.
As they're similar to the regenerative core, I modified the regenerative
core to extend from a new common "monster core" typepath which these two
new organs also extend.
Like the regenerative core, both of these items do something when used
and something slightly different if you go to the effort of having
someone implant them into your body. They also decay over time, and you
can use stabilising serum to prevent this from happening.


https://user-images.githubusercontent.com/7483112/195967746-55a7d04d-224e-412d-aedc-3a0ec754db3d.mp4

The Rush Gland from the Lobstrosity lets you do a little impression of
their charging attack, making you run very fast for a handful of seconds
and ignoring slowdown effects. Unlike a lobstrosity you aren't actually
built to do this so if you run into a mob you will fall over, and if you
are doing this on the space station running into any dense object will
also make you fall over (it shouldn't make you _too_ much of a pain for
security to catch).
The idea here is that you use this to save time running back and forth
from the mining base.

The Brimdust Sac from the Brimdemon covers you in exploding dust. The
next three times you take Brute damage some of the dust will explode,
dealing damage equal to an unupgraded PKA shot to anything near you (but
not you).
If you do this in a space station not only is the damage proportionally
lower (still matching the PKA), but it _does_ effect you and also it
sets you on fire. You can remove the buff by showering it off.
The idea here is that you use this for minor revenge damage on enemies
whose attacks you don't manage to dodge.


https://user-images.githubusercontent.com/7483112/195967811-0b362ba9-2da0-42ac-bd55-3809473cbc74.mp4

If you implant the Rush Gland then you can use it once every 3 minutes
without consuming it, and the buff lasts very slightly longer. It will
automatically trigger itself if your health gets low, which might be
good (helps you escape a rough situation) or bad (didn't want to use it
yet).


https://user-images.githubusercontent.com/7483112/195967888-f63f7cbd-60cd-4309-8004-203afc5b2153.mp4

If you implant the Brimdust Sac then you can use it once every 3 minutes
to shake off cloud of dust which gives the buff to everyone nearby, if
you want to kit out your miner squad. The dust cloud also makes you
cough if you stand in it, and it's opaque. If you catch fire with this
organ inside you and aren't in mining atmosphere then it will explode
inside of your abdomen, which should probably be avoided, resultingly it
is very risky to use this on the space station.
2022-11-01 00:28:17 +01:00
John Willard
dfd88eb7de Merges donut lover into law enforcement metabolism (#70921) 2022-10-31 12:37:52 -07:00
MrMelbert
a1ab0201ff Fix halloweens races (#70874)
* Fixes halloween races.
- Fixes a race condition involve checking for holidays befores SSevents is instantiated. Now, holiday checking is done through a helper, which will ensure the holidays list is created and filled before checked.
2022-10-31 16:01:31 +01:00
Dani Glore
0a81ea5bf9 Internals Bugfixes & Internals-Compatible Helmets (#70750)
* Core internals refactor. Add open/close_internals procs to /obj/item/tank. Add open/close_internals, can_breathe_internals, and invalid_internals procs to /mob/living/carbon. Fixed bug in human_stripping.dm preventing changing internals for breathing tube users. Fixed bug in /obj/item/tank/toggle_internals that was auto-adjusting non-internals masks. Fixed bug in slements/strippable that caused two mobs to breathe from the same internals.
2022-10-31 12:04:52 +01:00
ArcaneMusic
a9451f4d22 Adds a new black market item, the V8 Engine. (#70393)
This PR adds a new item to the black market uplink, the V8 Engine. The V8 engine is a classic, vintage engine, kept perserved for hundreds of years by black market smugglers, and they'll only ship it to you for an exceptional cost.
2022-10-31 12:04:09 +01:00
MrMelbert
d5fe3e44de Categorizes the Good Clean Fun Vendor (#70742)
About The Pull Request
    Categorizes the Good Clean Fun vendor into a few different categories (art, toys, cards, other)
    In doing this, puts the custom prices on a few items instead of relying on the vendor premium price, to make use of the categories

Why It's Good For The Game
Good Clean Fun Vendor is a long list of random crap, so this helps a bit.

🆑 Melbert
qol: Good Clean Fun Vendor is categorized.
/🆑
2022-10-30 19:57:12 -07:00
Fikou
2bcc9df225 reverts the omnitool getting eyestab element when becoming a screwdriver (#70881) 2022-10-30 08:47:37 -04:00
LemonInTheDark
85b2d5043d Optimizes qdel related things (slight init time savings) (#70729)
* Moves spawners and decals to a different init/delete scheme

Rather then fully creating and then immediately deleting these things,
we instead do the bare minimum.

This is faster, if in theory more fragile. We should be safe since any
errors should be caught in compile since this is very close to a
"static" action. It does mean these atoms cannot use signals, etc.

* Potentially saves init time, mostly cleans up a silly pattern

We use sleeps and INVOKE_ASYNC to ensure that handing back turfs doesn't
block a space reservation, but this by nature consumes up to the
threshold and a bit more of whatever working block we were in.

This is silly. Should just be a subsystem, so I made it one, with
support for awaiting its finish if you want to

* Optimizes garbage/proc/Queue slightly

Queue takes about 1.6 seconds to process 26k items right now.
The MASSIVE majority of this time is spent on using \ref
This is because \ref returns a string, and that string requires being
inserted into the global cache of strings we store

What I'm doing is caching the result of ANY \ref on the datum it's
applied to. This ensures previous uses will never decay from the string
tree.

This saves about 0.2 seconds of init
2022-10-30 00:09:15 -07:00
ArcaneMusic
f3ca3424c9 Merges the Export Scanner, Sales Tagger, and Price Tagger into one item. (#70314)
About The Pull Request

The Export Scanner, Sales Tagger, and Price Tagger are all niche, cargo adjacent items that each perform a different minor task and if using one, requires usually one of the three extremely rarely. Each one requires printing a new item at the lathe, all for maybe one or two uses before it needs to be replaced.

This PR merges the three into a singular, modular item. Existing export scanners have been reflavored the "universal scanner". When used in-hand, it produces a radial to swap between the three modes, Each mode has identical function to their previous scanner, with the only functional difference being that the sales tagger now prints new tags on secondary attack as opposed to primary.

The other two items lathe recipes have been removed, as their functionality has been fully moved to the universal scanner.

Also flips the export scanner icon state to match the other 2 scanner items that have been lumped together.

Why It's Good For The Game

Cargo now only needs to swap between 1 of three nearly identical barcode scanner looking items at a time, as opposed to having to print an item that sees functional use once every thousand rounds. By increasing the ease of use, it will also make it easier to use custom vendors, as well as print sales tags on regular rounds, as the universal scanner can still be found in shipping boxes located around the station and in tool storages.

Arguably not a balance change, as the three tools are extremely cheap to print, and don't have a formal impact on cargo balance except for tedium.
2022-10-27 19:46:29 -07:00
necromanceranne
c29b3781a9 Missile Sanity Checking: I made it explode better? (#70813)
* Fixes robotics and nukies gaining access to the wrong type of exosuit missiles, renames the BRM-6 to the PEP-6 (Precision Explosive Projectile), ensures the defines match to which gun goes where, also renames the ammo paths to also prevent the same confusion, swaps around a whole lot of the pathing for what missile is the baseline and what is the parents, makes the PEP use the missile procs instead of its own snowflake code, inadvertently makes the missile a borg murder device but fuck it they're dense objects
2022-10-27 21:12:57 +02:00
Hatterhat
6626a9ff08 Makes stabilizing serum fit on explorer webbing (#70803)
i mean if you're gonna be slamming it into cores

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2022-10-27 13:16:53 -04:00
GuillaumePrata
e4ec80c93e Balloonify and removes more to_chat spam for miners (#70487)
Balloonify and removes more to_chat spam for miners

From mining ore bags and ore boxes
2022-10-26 20:17:13 -04:00
MrMelbert
29350d704f Frequency locks Confessional intercoms, but an emag can bypass it (#70745)
* Confessional intercoms are frequency locked, but can be emagged to bypass the restriction.
2022-10-26 06:38:06 -04:00
John Willard
f1f46275f0 Removes tablet hard drives entirely (HDD & SSD) (#70678)
* Removes HDD's entirely

HDDs have been removed, though the code for it is still currently lingering as it's required for portable disks. I'll have to find a solution to this one day, but as I am going to sleep, this is a problem for future me.

* starts on removing SSD

* updatepaths and kills off SSD

* update path :D

* Fixes to programs and icons

* Ready for review now

I read over everything I did and tried to fix anything I saw wasn't done right. Hopefully better comments now.

* merge conflict  fix

* can't win them all

* takes viruses into account in paths, fixes it in snowcabin

* Renames the updatepaths

* removes the qdel loop

* accidentally new'ed programs twice

* Fix program's computer var

* destroy pen and disk, dont run kill program on something killed

* more fixes for pens and idle threads

* Fixes PDAs installing apps twice.

* simplifies inserted disk & PDA disk

* fuck's sake

* Use istype instead

* revert

* Revert "revert"

This reverts commit 9ede628c6fef9c7c86417234f6d8ada1ff9e2fef.

* why did that happen

* Update code/modules/modular_computers/computers/item/tablet.dm

* MC_SSD added to master lol

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-26 00:29:50 +00:00
MrMelbert
bfcfa1e3bb Refactors some signal misuse with the stationloving component (#70496)
* Refactors secluded locs

* Tweak

* Use traits instead of signals

* Review

* Type error
2022-10-25 15:00:26 -04:00
Major0911
218ecaad23 New popcorn (#70661)
* New popcorn

Two new types of popcorn have been added - salted and with caramel.

* Update code/game/objects/items/food/misc.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Update code/game/objects/items/trash.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Update code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Update code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Update code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Update code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* New popcorn

The structure of the new files has been slightly changed in favor of convenience.

* Update code/game/objects/items/food/misc.dm

* New popcorn

Minor code fixes

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-22 16:30:59 -04:00
texan-down-under
fc9024d35d Refactors radios to not use the prison_radio var (#70713)
* done

* typos

* condense

Co-authored-by: Candycaneannihalator <candycane@thisisnotarealaddr.com>
2022-10-22 16:06:31 -04:00
Tim
df01c42838 Add AltClick context screentip to IDs (#70686)
Add alt click context screentip to IDs
2022-10-21 18:04:33 -04:00
san7890
1a536ed000 Fixes Type Mismatch Causing Infinite Irrevocable Welding (#70670)
* Fixes Type Mismatch Causing Infinite Irrevocable Welding

(and plasma cutters too, because that seemed to be broken as well).

Hey there,

Behavior introduced in #70235 caused this shit to break, causing infinite welding that you could never undo, with an overlay that could never be removed. This was due to a type_mismatch runtime that plagued servers for a bit, I just stole the pattern from Lemon and used LAZYADD/LAZYREMOVE and that seemed to have fixed the issue.

* fixes plasmacutter since it had the same broken pattern
2022-10-19 23:35:26 -04:00
SeigaSeiga
b3e0a91905 Adds a new Shinto-themed Chaplain robe and holy book (#70521)
Co-authored-by: SeigaSeiga <seigacomm@gmail.com>
2022-10-19 19:51:37 -07:00
MrMelbert
b59cc135ab Moving around while non-existent will not give you a message saying you're buckled to the concept of non-existence (#70483)
* Being removed from existence no longer provides strange feedback messages

* Immortality talisman, too
2022-10-19 20:26:20 -04:00
LemonInTheDark
a625fc8038 Cleans up the fallout from plane cube (#70235)
* Cleans up the fallout from plane cube

Alright.
Makes cleaning bubbles respect planes
Adds support for updating overlays on move, fixing an issue with pointing at items
Adds better error messages for failing to provide args for mutable_appearance()
Fixes a bug where string overlays were not respecting insertion order

* Adds documentation for offset spokesman and offset_const

* Better stack trace

* Removes some redundant uses of cached MAs

At this scale, attempting to cache MAs like this has 0 impact on anything
And just makes things more messy then they need to be

* ensures fullscreen objects START offset, so things are always proper

* ensures chatmessages always have the right offset

* fixes compile

* whoops, the above lighting plane should actually be ABOVE the lighting plane

* fixes compile, also cleans up the fire overlay a tad

* Adds a unit test for plane masters that are shrunk by multiz being double shrunk

This is slightly hacky because of how I'm handing the plane master
group, but it's not THAT bad, and gives me some real good coverage

* Properly targets the seethrough plane at the game world plate. This fixes unit tests, and also just makes more sense

* whoops

* oh

* adds datum support for allocate(), cleans up a harddel from testing

* Makes camera chunks index at 1, and also makes them support non powers of two sizes, since that was unneeded

* fixes runtime in allocate
2022-10-20 09:00:02 +13:00
LemonInTheDark
cd3a778915 PKP Mind Virus: Glorfing Cigs edition (#69904)
* PKP Mind Virus: Glorfing Cigs edition

If you glorf while smoking you'll get the cig stuck in your throat, leaving you unable to breath, speak, or eat. Based off the sort of cig you have a random delay before you vomit up the cig. (Pipes last forever don't philoso-larp kids). Other players can help you by using the help action on you while you're hurt, which leads to something imitating the himelich manuver, a broken chest, and a vomited up blockage. Other forms of vomiting will work too, if that's even applicable.

Oh I fixed a bug in vomit code. Because paralyzing you forces you to the ground, thus changing your dir, paralyzing vomits always went down. This is cringe, easy fix tho.

Ah and I added some extra functionality to sound loops too. You can set them to pick and take from the provided list, then refilling it once it's empty. This keeps some variety while preventing the risk of repeat sounds

Oh and I added some new signals. Some misc ones, for force say and a different kind of help then the existing one, which I renamed. One for breathing, which I used to clean up leroxin. I was planning to hook this but didn't need to in the end.

One for vomiting too. and eating. Also added a way to update looping timer delays. Forgot about that, I also added variable delay for sound loops, because I thought it sounded better here.

Features audio courtesy of our very own san7890, and the quake jump sound.
2022-10-19 06:34:45 -04:00
dopamiin0
d74f164499 Prevents chaplain's backpack from noclipping better than a Gmod admin. (#70503) 2022-10-19 00:50:21 -07:00
san7890
2878345ebb Swaps sleep() to use SECONDS define, changes some sleep(1) to sleep(1 TICKS) (#70452) 2022-10-18 21:25:23 -07:00
texan-down-under
fedcbcbb18 Able to clean storage items with soap (#70575)
Co-authored-by: etherware-novice <candy@notarealaddr.com>
Co-authored-by: Candycaneannihalator <candycane@thisisnotarealaddr.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-10-19 01:52:40 +00:00
Rhials
132508632b Adds the Command Intercom, kills off the varedited freerange intercoms on some maps. (#70287)
* Command intercoms now have a unique sprite and are standardized on all maps.
* Also prevents freerange intercoms from accessing syndicate radio.
2022-10-18 19:06:39 -04:00
YakumoChen
f4d0902f5f You cannot plant c4 on observers (#70595)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2022-10-18 06:57:11 +00:00
Profakos
e16bdc0b52 Goodie lockbox contents can no longer go missing (#70572)
Adds a trait that blocks the manifest error that removes items
2022-10-17 08:52:43 -07:00
Paxilmaniac
7082880bf3 Stairs DLC: Buildable stairs, material datum staircases, fall up a staircase (#70504)
Adds a few new types of stairs, and makes stairs buildable within rounds.
Also removes the terminator sprite variation for stairs, because its basically unused and really not needed with plane cube multiz.
2022-10-17 16:23:37 +02:00
Jackraxxus
311bd90ac9 Makes Delta Station EVA Toolbelt Actually A Toolbelt And Also The Ashwalker Ruin and Also Makes It More Obvious That The Base Type Of Belt Is Not A Toolbelt (#70548)
* Fixes Deltastation EVA and Ashwalker's belts not being actual toolbelts.
* Gives the base belt type a unique name and description to stand out from actual toolbelts.
2022-10-16 21:44:15 -04:00