Commit Graph

3280 Commits

Author SHA1 Message Date
Cyprex
e6bb4098c4 Revert "Merge upstream" 2023-03-11 18:51:44 +01:00
SkyratBot
ed35e845b2 [MIRROR] Adds a martial artist gi to the AutoDrobe. [MDB IGNORE] (#19692)
* Adds a martial artist gi to the AutoDrobe. (#73794)

## About The Pull Request
On a dark and stormy night, @ Cheshify asked in OOC if anyone would be
down to make a martial arts gi of no known origin for an event idea they
had.

Naturally, I decided to put my talent (CITATION NEEDED) to use, and I
have both sprited and coded in (the latter with the help of Cheshify
ofc) the aforementioned gi of no known origin.
<details>
<summary>Picture</summary>

![gokuss13](https://user-images.githubusercontent.com/117083785/222961961-a94c88fb-adae-4d2a-96c9-0f347e17c40b.png)

</details>

## Why It's Good For The Game

![image](https://user-images.githubusercontent.com/117083785/222961938-0f5c7508-0197-45f4-82e0-2d1ea2b2ee65.png)

## Changelog

🆑 dessysalta, Cheshify
add: Nanotrasen has added a martial artist gi to the AutoDrobe for those
who want to go even further byond.
imageadd: Aforementioned gi sprites.
/🆑

* Adds a martial artist gi to the AutoDrobe.

---------

Co-authored-by: Rem/Dess <117083785+dessysalta@users.noreply.github.com>
2023-03-06 08:27:49 -08:00
SkyratBot
0dfde9b1a6 [MIRROR] Tape Wizard, the distant cousin of the Paper Wizard [MDB IGNORE] (#19640)
* Tape Wizard, the distant cousin of the Paper Wizard (#73739)

## About The Pull Request

Adds a new wizard costume and non magical variant, made exclusively from
tape.

![qTwAAAAASUVORK5CYII](https://user-images.githubusercontent.com/81540056/222332110-96af21bc-d568-40fc-a813-1464577521ff.png)

## Why It's Good For The Game

New unique nice looking thing = good
Opens the door for more uses of an already niche mechanic

![ducktape](https://user-images.githubusercontent.com/81540056/222332139-83f01340-299a-48e0-b68a-3c5e57e20547.png)
Roleplay.

## Changelog
🆑
add: Adds the tape wizard costume, both a real and fake variant
add: Adds the costume behind the autodrobe contraband wire, and the real
variant in the wiz den
🆑

* Tape Wizard, the distant cousin of the Paper Wizard

---------

Co-authored-by: Thedragmeme <81540056+Draggeru@users.noreply.github.com>
2023-03-04 05:00:35 +00:00
OrionTheFox
d097050d1d [Manual Mirror] Adds checkgrep for improper or missing atom Initialize args (mapload) (#19539)
* Adds checkgrep for improper or missing atom Initialize args (`mapload`) (#72846)

## About The Pull Request

Adds a grep for atom initialize overrides which does not include mapload

Regex used
`^/(obj|mob|turf|area|atom)/.+/Initialize\((?!mapload).*\)`

Also replaced some space indentation with some tab indentation in some
other greps


![image](https://user-images.githubusercontent.com/51863163/213883049-ef6d953a-e11f-4876-9852-c09633ddc289.png)

## Why It's Good For The Game

See #69107, #61759, #61623

## Changelog

No player facing changes

* Missed by #8374

* Add (mapload) to a //Skyrat Edit so that it passes

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-02-26 15:20:38 -05:00
SkyratBot
d3d3a88cf9 [MIRROR] Document why moths eating clothes is like that [MDB IGNORE] (#19319)
* Document why moths eating clothes is like that (#73382)

People have tried to change this a few times and I want to make sure
it's written in stone that I'm not stupid, just forward thinking

* Document why moths eating clothes is like that

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-02-13 10:52:46 -08:00
SkyratBot
668bbcac4a [MIRROR] Adds the Ectoplasmic Outburst, a rare ghost-centric anomaly event [MDB IGNORE] (#19292)
* Adds the Ectoplasmic Outburst, a rare ghost-centric anomaly event (#73024)

## About The Pull Request

This PR description might be a bit rushed because I accidentally
submitted the PR and want to bang out a quick explanation of what this
is before people start asking questions.

Adds a new, rare, ghost-themed anomaly event -- The Ectoplasmic
Outburst.

![Animation](https://user-images.githubusercontent.com/28870487/215292488-cc5ce589-39be-490d-bd80-92a2ed6e948b.gif)

This event increases in power as more ghosts orbit it, with three
important thresholds to meet.

If 10% or more of all active observers are orbiting the anomaly, an
effect will occur in the nearby area akin to the revenant's defile
spell, damaging flooring, windows, and making a mess.

If 35% or more are orbiting the anomaly, nearby objects in the effect
radius have a chance to become haunted, and will fling themselves at
anyone nearby for a bit. Spooky!

Now, at 50% or more participation, things get serious. Ghosts orbiting
the anomaly will be polled to be brought back into the world for a brief
period as a vengeful spirit, anchored to a SUPER spooky ghost portal.
The portal closes after two minutes (alternatively, smash it with a
toolbox) and deletes all of the ghosts it spawned. Vengeful spirits are
mostly just meant to smash stuff and be a nuisance while they can. It's
a wonderful opportunity to let deadchat desalinate a little.

![spooky
ghosts](https://user-images.githubusercontent.com/28870487/215293550-f7bbede2-cfa0-49b1-87fe-f38ee45d1df8.gif)

Oh, also, the anomaly is deadchat controlled. With enough ghosts, you
could theoretically outrun anyone trying to neutralize it!

The associated reactive armor has an effect similar to the anomaly,
haunting nearby objects for a time when the wearer is struck. Not
particularly outstanding, but it can introduce an element of chaos into
a fight that your opponent might not expect.

## Why It's Good For The Game

Anomaly events are great for ghosts. Why not make one tailored just for
them!

Gives admins something to spawn when a wizard has killed half of the
crew but it's not quiiiite time for an ERT.

It's a bit of a silly event with a novelty reward, but I think it's rare
enough not to be a huge issue.

## Changelog

🆑 Rhials
add: Ectoplasmic Outburst anomaly event
add: Reactive Ectoplasm Armor
/🆑

* Adds the Ectoplasmic Outburst, a rare ghost-centric anomaly event

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-02-12 16:44:26 -08:00
lessthanthree
8198e578ca [MANUAL MIRROR] Fix a merge skew on armor datums (#19212)
* Fix a merge skew on armor datums (#72909)

And also add a check grep to find it in the future

* fix linters

* damn youuuu

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-02-07 15:20:00 -05:00
SkyratBot
7b5cef7492 [MIRROR] Moths can't eat indestructible items [MDB IGNORE] (#19158)
* Moths can't eat indestructible items (#73171)

## About The Pull Request

Prevents mothmen from eating indestructible clothings like the advanced
magboots

## Why It's Good For The Game

Closes https://github.com/tgstation/tgstation/issues/66923 and makes
indestructible items not be destructible through the power of your damn
mouth.

## Changelog

🆑
fix: Moths can no longer eat indestructible items (like the CE's
magboots)
/🆑

* Moths can't eat indestructible items

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-02-04 16:39:55 +00:00
SkyratBot
1fe0d145a3 [MIRROR] Converts blindness and nearsightedness to status effects, scratches some VERY dumb blindness handling that resulted in mobs becoming "incurably" blind [MDB IGNORE] (#18760)
* Converts blindness and nearsightedness to status effects, scratches some VERY dumb blindness handling that resulted in mobs becoming "incurably" blind

* Fixes the conflicts and makes shit compile!

* Fixes other things that didn't show up because I hadn't updated

* Fixes the lints.

* Okay NOW it's ready (please don't add anything else that touches blindness I beg you)

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-02-03 16:08:32 -05:00
Halcyon
a50d625cc3 Fixes the bluesec specific Black HoS Trenchcoat to actually be used instead of the outdated PK trenchcoat + fixes the trenchcloak using the old sprites (#19105)
fixes trenches removes the old PK trench

Also makes the trenchcloak actually use it's updated sprite like I intended it to.
2023-02-02 16:22:55 +00:00
SkyratBot
03d9def35d [MIRROR] Customizable GAGS Witch Hat [MDB IGNORE] (#19087)
* Customizable GAGS Witch Hat (#72477)

## About The Pull Request

Implements new sprites for the witch (Marisa) hat, divided into three
greyscale icon states - base, bow, and charms. The hat can have its
colours customized at an AutoDrobe. The not fake version has also been
changed in the same way. The default colours are approximately the same
to the old hat's.

![A coven of witches showing off their newly colourable
hats](https://user-images.githubusercontent.com/94123167/210642213-42e08912-1c11-469e-afda-66ce567280dd.png)
_A coven of witches showing off their newly colourable hats_

## Why It's Good For The Game

More customization options for clothes allow for more variety and
greater player creativity.

## Changelog

🆑
add: added greyscale json configs for witch hat and witch hat worn.
imageadd: Added new, greyscale states to head/wizard.dmi
imagedel: Removed Marisa hat states from head/wizard.dmi
code: changed Marisa hat code in wiz_robes.dm to make them use
greyscale.
config: changed greyscale configs to include the witch hat.
/🆑

* Customizable GAGS Witch Hat

---------

Co-authored-by: Kepteyn <94123167+Kepteyn@users.noreply.github.com>
2023-02-02 16:17:22 +00:00
SkyratBot
8f134af3e6 [MIRROR] Adds plasmaman support to mob spawners [MDB IGNORE] (#19054)
Adds plasmaman support to mob spawners (#73068)

## About The Pull Request

A very minor change but one that will save headache down the line. Adds
plasmaman support to mob spawners, meaning they will be guaranteed to
get their internals and suit upon spawning from those.

Modified the equip proc to be able to automatically turn hand slot
internals on without the need for snowflakey open_internals checks
everywhere, as that should already handled by the it (shown below). Just
modified it to work on hand slots.


4b832e7d01/code/datums/outfit.dm (L245-L248)

## Why It's Good For The Game

Adds support for present and future mob spawners involving plasmapeople.

## Changelog

🆑
qol: prevents mob spawner plasmamen from spawning without their suit and
internals.
code: the equip proc can now find internals in the hand slot and
automatically open them, allowing for less snowflakey code down the
line.
/🆑

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-01-31 13:52:18 +00:00
Funce
60bfb76832 [MIRROR] Dynamic Human Icon Generation For Simple/Basic Mobs (& Cardboard Cutouts) [MDB IGNORE] (#18884)
* Dynamic Human Icon Generation For Simple/Basic Mobs (& Cardboard Cutouts) (#72517)

revive of #68760
this time a proc, not an element
this time supports cardboard cutouts
this time supports mob corpses

![image](https://user-images.githubusercontent.com/23585223/211064291-81070650-189f-4afa-8116-81b687e3ea35.png)

prevents these icons ever being outdated, they'll always look what they
are supposed to, saves spriting work

🆑 Fikou, a hood by Viro
refactor: humanoid mobs and cardboard cutouts automatically generate
their sprites, they no longer will be outdated
/🆑

Co-authored-by: Time-Green <timkoster1@hotmail.com>

* Modular!

* Fix signal override merge skew (#72882)

Caused by https://github.com/tgstation/tgstation/pull/72517, with
https://github.com/tgstation/tgstation/pull/72561 raising an error that
was being hidden before

This changes equip logic somewhat so that set_wearer was being called
twice.

I don't think this should be being run in visualsOnly at all, as it does
a ton of stuff like registering signals, updating UI, etc etc etc. Don't
have time to investigate further.

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-01-27 13:56:00 -05:00
SkyratBot
406b6870bd [MIRROR] adds atmospheric gloves, small resprite of firefighter gear, repaths stupid glove paths [MDB IGNORE] (#18785)
* adds atmospheric gloves, small resprite of firefighter gear, repaths stupid glove paths (#72736)

repaths a lot of gloves off /color because they were incredibly stupid
firefighter gear has gotten an update (it doesnt cover hands anymore
though, you need something else)
firefighter helmets no longer hide your mask or glasses

![image](https://user-images.githubusercontent.com/23585223/212542599-c004d0e4-c141-40b4-a1bb-c838f9893c4b.png)
fixed engine goggles starting with darkness vision
to the atmos lockers adds atmospheric gloves, a pair of thick (chunky
fingers) gloves that are fireproof and fire protective, slightly shock
resistant and let you fireman carry people faster.
atmospheric firefighter helmets now are a subtype of welding hardhats,
you can enable a welding visor.
welding hardhats change mode with right click instead of altclick

im not a good spriter but i think this resprite makes them fit nicer
with other engi equipment
lets me firefighter rp

🆑
add: Atmospheric Gloves, thick gloves that are fully fireproof and fire
protective and let you fireman carry people faster.
fix: fixes engine goggles starting with darkness vision
qol: firefighter helmets can now enable a welding visor
qol: welding hardhats change mode with right click instead of altclick
balance: firesuits no longer protect your hands
/🆑

* Makes shit compile

* Updates the digi and snouted stuff to match the new sprites (thanks Halcyon!)

* Fixes a whole ton more issues that popped up

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-01-27 12:15:17 -05:00
SkyratBot
c5d336ac7a [MIRROR] Adds an FOV cone to biohoods [MDB IGNORE] (#18829) 2023-01-23 14:19:43 -08:00
SkyratBot
18dc1abc43 [MIRROR] Refactor lighting items that use fuel [MDB IGNORE] (#18545)
* Refactor lighting items that use fuel (#72146)

Fixes #71826

This does the following:
- Makes candles a subtype of flare
- Fixes candles having lighting inconsistencies
- Fixes burning items (welder, candles, flares, etc.) not causing
ignition effects when held in hand
- Adds burnt flares and melted candles to maint loot and trash spawners
- Add match lighting sound when candles are lit
- Add time defines for fuel amounts and rounded them (ex. instead of
32.3333 minutes, it's now 35 minutes)
- Light sources that burn will now spawn a trash item once fuel is spent
- Light sources that burn now have a welder hitsound
- Light sources that burn can now be extinguished by a fire extinguisher
(except flares)
- Light sources that burn can now be used to ignite another object on
fire (ex. a lit candle can be used to light a cigarette)
- Light sources that burn and are lit now do `BURN` damage while
attacking

Code is more cleaner and consistent.  Also fixes some bugs.

🆑
soundadd: Candles will now use the match lighting sound when lit
soundadd: Light sources that burn will now have a welding hitsound
fix: Fix candle light behaving erratically
fix: Fix burning items that are held in hand will now have an ignition
effect on the turf. (ex. lit welders in hand will now ignite plasma in
the air)
balance: Light sources that burn and are lit now do `BURN` damage while
attacking
balance: Light sources fuel amounts were rounded to exact numbers (ex.
instead of 32.3333 minutes, it's now 35 minutes)
qol: Light items that burn can now be extinguished by a fire
extinguisher (except flares), used to ignite another object on fire, and
will now leave a trash item once fuel is used
qol: Add burnt flares and melted candles to trash spawners
refactor: Refactor lighting items that use fuel to be more robust
/🆑

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>

* Modular!

* Toggle Light

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-01-17 14:37:02 +13:00
SkyratBot
25f4961156 [MIRROR] Refactors memories to be less painful to add and apply, moves memory detail / text to memory subtypes. Adds some new memories to demonstrate. [MDB IGNORE] (#18487)
* Refactors memories to be less painful to add and apply, moves memory detail / text to memory subtypes. Adds some new memories to demonstrate.  (#72110)

So, a huge issue with memories and - what I personally believe is the
reason why not many have been added since their inception is - they're
very annoying to add!

Normally, adding subtypes of stuff like traumas or hallucinations are as
easy as doing just that, adding a subtype.

But memories used this factory argument passing method combined with
holding all their strings in a JSON file which made it just frustrating
to add, debug, or just mess with.

It also made it much harder to organize new memories keep it clean for
stuff like downstreams.

So I refactored it. Memories are now handled on a subtype by subtype
basis, instead of all memories being a `/datum/memory`.

Any variety of arguments can be passed into memories like addcomponent
(KWARGS) so each subtype can have their own `new` parameters.

This makes it much much easier to add a new memory. All you need to do
is make your subtype and add it somewhere. Don't need to mess with jsons
or defines or anything.

To demonstrate this, I added a few memories. Some existing memories had
their story values tweak to compensate.

Makes it way simpler to add new memories. Maybe we'll get some more fun
ones now?

🆑 Melbert
add: Roundstart captains will now memorize the code to the spare ID
safe.
add: Traitors will now memorize the location and code to their uplink.
add: Heads of staff winning a revolution will now get a memory of their
success.
add: Heads of staff and head revolutionaries who lose their respective
sides of the revolution also get a memory of their failure.
add: Completing a ritual of knowledge as a heretic grants you a quality
memory.
add: Successfully defusing a bomb now grants you a cool memory. Failing
it will also grant you a memory, though you will likely not be alive to
see it.
add: Planting bombs now increase their memory quality depending on how
cool the bomb is.
refactor: Memories have been refactored to be much easier to add.
/🆑

* Modular!

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-01-17 12:51:58 +13:00
SkyratBot
b60d4a0ade [MIRROR] fixes detective and horrible ties randomly breaking their sprite [MDB IGNORE] (#18754)
* fixes detective and horrible ties randomly breaking their sprite (#72713)

## About The Pull Request

clip on ties are meant to never be tiable, but that means that whenever
update_icon is called, their sprite breaks and they are fully white

## Why It's Good For The Game

quite silly

## Changelog

🆑
fix; fixes detective and horrible ties randomly breaking their sprite
/🆑

* fixes detective and horrible ties randomly breaking their sprite

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-01-15 21:01:41 -08:00
SkyratBot
de0a48b02e [MIRROR] Unironically removes the atmos and black beret [MDB IGNORE] (#18747)
* Unironically removes the atmos and black beret (#72722)

## About The Pull Request

Removes atmos berets

## Why It's Good For The Game
Berets shouldn't be thrown into every job, it's milsim circlejerking
dressup shit that creeps out of our milsim containment jobs (security)
and into other innocent jobs. There is absolutely no reason for this job
to have a beret just straight up. Can we add unique hats to the game,
not the same one recolored every way to Sunday? That's my problem. We
don't have unique clothes, we have a billion types of beret when the
BASE BERET TYPE has `IS_PLAYER_COLORABLE_1` so ANYONE can color it. So
again, why do we have the atmos beret? To clog the wardrobe, a vending
machine added specifically because we couldn't stop clogging the
original locker atmos techs spawned in?

The black beret has the same problem: recolored item when you can get
the item of any color

## Changelog
🆑
del: Atmospherics beret and black beret
/🆑

* Unironically removes the atmos and black beret

* update modular

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-01-15 22:25:44 +00:00
SkyratBot
c3307f0d7c [MIRROR] Fixes durability tags not showing their class [MDB IGNORE] (#18716)
* Fixes durability tags not showing their class (#72654)

## About The Pull Request

Copy paste error. `armor_to_protection_class` should take a number, the
armor rating.

## Why It's Good For The Game

Runtimes bad

## Changelog

🆑 Melbert
fix: Fixed durability tags not showing their ratings
/🆑

* Fixes durability tags not showing their class

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-01-14 12:26:04 -08:00
Tastyfish
e4080f4717 [NON-MODULAR] Fixes custom stuff for uniform accessories on teshis, also some taur cleanup. (#17637)
* Fixes custom stuff for uniform accessory

* Update modular_skyrat/modules/emotes/code/additionalemotes/turf_emote.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-13 19:15:28 -05:00
Zonespace
8fabd54ad6 Mirrors #72354 (#18654)
* [no gbp] removes all duplicate armor datums (#72354)

closes #72348
Title

My bad

Heres the script I used this time if you want to
```cs
var baseDir = Environment.CurrentDirectory;

var allFiles = Directory.EnumerateFiles($@"{baseDir}\code", "*.dm", SearchOption.AllDirectories).ToList();
var known = new Dictionary<string, List<KeyValuePair<string, int>>>();

foreach (var file in allFiles)
{
	var fileLines = File.ReadAllLines(file);
	for (var i = 0; i < fileLines.Length; i++)
	{
		var line = fileLines[i];
		if (line.StartsWith("/datum/armor/"))
		{
			var armorName = line.Replace("/datum/armor/", "").Trim();
			if (!known.ContainsKey(armorName))
				known[armorName] = new List<KeyValuePair<string, int>>();
			var knownList = known[armorName];
			knownList.Add(new KeyValuePair<string, int>(file, i));
		}
	}
}

Console.WriteLine($"There are {known.Sum(d => d.Value.Count)} duplicate armor datums.");

var duplicates = new Dictionary<string, List<int>>();
foreach (var (_, entries) in known)
{
	var actuals = entries.Skip(1).ToList();
	foreach (var actual in actuals)
	{
		if (!duplicates.ContainsKey(actual.Key))
			duplicates[actual.Key] = new List<int>();
		duplicates[actual.Key].Add(actual.Value);
	}
}

Console.WriteLine($"There are {duplicates.Count} files to update.");

foreach (var (file, idxes) in duplicates)
{
	var fileContents = File.ReadAllLines(file).ToList();
	foreach (var idx in idxes.OrderByDescending(i => i))
	{
		string line;
		do
		{
			line = fileContents[idx];
			fileContents.RemoveAt(idx);
		}
		while (!String.IsNullOrWhiteSpace(line));
	}
	File.WriteAllLines(file, fileContents);
}
```

* modular

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-01-13 18:05:12 -05:00
SkyratBot
ef1ad8331a [MIRROR] Experiment with holding hard references to objects being qdeleted in 515 (saves 1.1+ seconds on init times, more on prod) [MDB IGNORE] (#18361)
* Experiment with holding hard references to objects being qdeleted in 515 (saves 1.1+ seconds on init times, more on prod) (#72033)

## About The Pull Request
Adds `EXPERIMENT_515_QDEL_HARD_REFERENCE`, which will queue to the GC
subsystem using hard references rather than `\ref`. This is only
possible in 515 because of the new `refcount` proc. `\ref` is very very
slow and has some nasty knock on effects, so removing its usages where
possible is good.

This is an explicit opt in define because I want to give us the ability
to test 515 on live while only testing 515 itself, not our experimental
changes. We have a few more of these we want to do so I made a separate
file for them. They're auto-defined in unit tests so we see them with
the alternate test runner. In a perfect world we'd test both on and off,
but eh.

Closes https://github.com/tgstation/dev-cycles-initiative/issues/10

* Experiment with holding hard references to objects being qdeleted in 515 (saves 1.1+ seconds on init times, more on prod)

* fix missed underbarrels

* HEV radio

* Keeps gc_destroyed from getting updated on every step thru the gc queue. (#72401)

Keeps gc_destroyed from getting updated on every step thru the gc queue.

Fixes logic that assumed gc_destroyed is the time the object first
qdel'ed. it used to get updated on each stage of the garbage controller
and there are 3 stages.

Added list index defines for the inner gc item list.

* test fix

* final fix

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2023-01-12 16:16:33 -05:00
Zonespace
fa0735b1f6 MIrror #72127 (#18652)
* Food code sweepups + heart boxes have more chocolate variety (#72127)

- Chocolate boxes now contain bonbons (formerly tiny chocolates),
truffles, and peanut butter cups
- Slices of bread now taste like their respective breads instead of
tasting "indescribable"
- Fiesta skewers have food categories now
- Misc food file has had more split out of it into sweets.dm,
vegetables.dm, and packaged.dm
- Removed a bunch of redundant food_reagent code
- Changed the sugar in clown cakes' food_reagents to banana juice
- Increased the amount of vitamin in pound cakes (it's four whole cakes
and the amount of vitamin doesn't go up?)

* modular foods

* Fixes the first merge skew of 2023 (#72414)

https://github.com/tgstation/tgstation/pull/72232

skews with

https://github.com/tgstation/tgstation/pull/72127

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-01-12 10:04:20 -05:00
Zonespace
ca3fb2aea6 Mirrors #72337 (#18647)
Fixes clothing not showing armor (#72337)

So the linter didn't detect usage of a private var for some reason.
We never want to directly access the armor var because ideally its null
unless being used

Inspecting armor should work now.

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-01-12 01:16:32 -05:00
SkyratBot
b44967501c [MIRROR] Optimizes explosions (very slightly) [MDB IGNORE] (#18624)
* Optimizes explosions (very slightly)

* Update explosions.dm

* Update atoms_movable.dm

* Update dungeon.dm

* Update stone.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-10 12:34:26 -08:00
SkyratBot
574cc85a3c [MIRROR] you can now flip eyepatches + blindfolds mix eye colors [MDB IGNORE] (#18152)
* you can now flip eyepatches + blindfolds mix eye colors

* Fixes our eye-swapping stuff for the most part (I didn't gut out everything yet, but it's functional)

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-09 15:10:08 -05:00
SkyratBot
ce22bf5dc7 [MIRROR] Makes flags_inv better at actually hiding things when used on non-suit clothing [MDB IGNORE] (#18356)
* Makes `flags_inv` better at actually hiding things when used on non-suit clothing

* big diff

* fixes

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 14:01:12 -05:00
SkyratBot
8e8002b555 [MIRROR] Converts drowsy and eye blur to status effects, striking yet another two carbon level status vars [MDB IGNORE] (#18348)
* Converts drowsy and eye blur to status effects, striking yet another two carbon level status vars

* merge conflicts

* adjust_eye_blur and set_eye_blur_if_lower

* adjust drowsiness overdoses

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2023-01-09 13:14:47 -05:00
SkyratBot
461a410cee [MIRROR] Fixes biosuits, nun robes, narsien hardened armor making your shoes invisible [MDB IGNORE] (#18613)
* Fixes biosuits, nun robes, narsien hardened armor making your shoes invisible

* Update bio.dm

* Update cult_items.dm

Co-authored-by: Striders13 <53361823+Striders13@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-09 10:12:45 -08:00
SkyratBot
ae713bf18a [MIRROR] Crafting/Cooking menu update [MDB IGNORE] (#18334)
* Crafting/Cooking menu update

* Yeeted away all of the merge conflicts, time to fix the code

* Okay, now it compiles, and after testing, it seems to work just fine

* Actually, early addition of an upstream fix, so those that don't have hunger can still open the cooking menu

* Fixes the units tests by removing the extra comma in the Stuffed Muli Pod recipe

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-01-08 15:02:18 -05:00
SkyratBot
cb3e60b228 [MIRROR] [NO GBP] Allows the metal hydrogen/elder atmosian armor to hold a MH axe [MDB IGNORE] (#18347)
[NO GBP] Allows the metal hydrogen/elder atmosian armor to hold a MH axe

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-07 22:32:23 -08:00
SkyratBot
011fefdd81 [MIRROR] Refactors armor into dedicated subtypes [MDB IGNORE] (#18291)
* Refactors armor into dedicated subtypes

* start

* most tg things

* pain (#18584)

* shit

* non-mod changes

* compile

Co-authored-by: John Doe <gamingskeleton3@gmail.com>

* #18291

* compile fix

* ???

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-07 20:06:16 -08:00
SkyratBot
39b8cd6bcb [MIRROR] Minor detectives spawn with a candy cigarette and apple juice filled flask [MDB IGNORE] (#18564)
* Minor detectives spawn with a candy cigarette and apple juice filled flask (#72422)

If a detective joins who is 20 or younger their cigarette is changed for
a candy one and their flask is filled with apple juice. Also adds candy
cigarettes' to the detective vendor.

Minor crew members are unable to use cigarette vendors or acquire
alcohol in game without effectively committing a crime, it doesn't make
sense for minor detectives to spawn with them. I also think that minor
characters trying to obtain narcotics can be a pretty entertaining RP
starter as a overall harmless crime and something that requires
interaction with other members of the crew.

* Minor detectives spawn with a candy cigarette and apple juice filled flask

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-01-07 08:28:50 -08:00
SkyratBot
650d64f6d4 [MIRROR] afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item [MDB IGNORE] (#18519)
* afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item

* Update _neck.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-01-07 06:55:38 +00:00
SkyratBot
d692b60199 [MIRROR] Fixes HOS Beret (and all of its subtypes) having wrong path and thus not being armored [MDB IGNORE] (#18191)
* Fixes HOS Beret (and all of its subtypes) having wrong path and thus not being armored

* Modular and Mirror!

* Additional hos beret

Co-authored-by: SkeletalElite <skeletalelite0@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2023-01-06 23:22:43 -05:00
SkyratBot
bee85df93f [MIRROR] makes status tab use signals, thirds the delay between updates [MDB IGNORE] (#18179)
* makes status tab use signals, thirds the delay between updates (#72002)

## About The Pull Request
status panel for carbons and humans instead of hardcoding stuff, uses
signals (borg material storage too)
removes combat mode indicator in status tab from xenomorphs which have a
button for it, but adds it to simplemobs, since they dont have a visual
indicator
adds status tab stuff to basic mobs, i think they were missing
everything by accident
offsets unique status tab stuff for all mobs by a single line
the delay between updates is a third of what it was before, mainly to
make shuttle timers more accurate (approved by kyler)

## Why It's Good For The Game
much cleaner code, makes future implementations easy

## Changelog
🆑
qol: you can see your combat mode status as a simple or basic mob, and
you can see your health as a basic mob
qol: status panel updates three times as fast
/🆑

* makes status tab use signals, thirds the delay between updates

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-31 08:27:12 -08:00
SkyratBot
e79c5b3915 [MIRROR] Dogs now bark at felinids and mailmen [MDB IGNORE] (#18358)
* Dogs now bark at felinids and mailmen

* Update code/modules/mob/living/carbon/human/species_types/felinid.dm

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-28 23:29:42 -08:00
SkyratBot
7f2a6abc75 [MIRROR] adds an admin combat-ready miner outfit [MDB IGNORE] (#18383)
* adds an admin combat-ready miner outfit

* Update code/modules/jobs/job_types/shaft_miner.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-28 23:18:03 -08:00
SkyratBot
8e414d2902 [MIRROR] Fixes chameleon vest suit storage [MDB IGNORE] (#18213)
* Fixes chameleon vest suit storage (#71992)

Chameleon vests now work like security vests,
allowing you to wear guns on it.
This makes it easier to disguise within security
while giving a little more utility to the item.

* Fixes chameleon vest suit storage

Co-authored-by: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
2022-12-27 00:47:51 +00:00
SkyratBot
f62556b8ef [MIRROR] Fixes medical scrubs not being adjustable [MDB IGNORE] (#18263)
* Fixes medical scrubs not being adjustable (#72105)

## About The Pull Request
I had on my list: "Make adjusted sprites for the medical scrubs." and to
my surprise #69047 already added adjusted sprites for all the medical
scrubs (thanks for saving 30 minutes of my day Imaginos16!), but not on
the code side, this fixes that.
## Why It's Good For The Game
Adjusting jumpsuits is an important medbay feature IMO, this keeps new
doctors from learning bad habits (fully stripping at stasis) from other
doctors.
## Changelog
🆑 Guillaume Prata, Imaginos16
fix: You can now adjust medical scrubs for easier surgery on your fellow
doctors.
/🆑

* Fixes medical scrubs not being adjustable

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2022-12-24 21:51:37 -08:00
SkyratBot
1d173bd282 [MIRROR] Pride pin quirk + pins can be infinitely reskinned (v2) [MDB IGNORE] (#18276)
* Pride pin quirk + pins can be infinitely reskinned (v2) (#72143)

## About The Pull Request

Neutral pride pin quirk added. Pride pins can be infinitely reskinned
now. Changes "sexuality" to "pride" in description of pin.

## Why It's Good For The Game

Pride pins are cute and having to buy them every round is a chore. Pride
pins are purely cosmetic and have no reason to be locked into only being
reskinned once.

## Changelog

🆑
add: Pride pin quirk! Start the shift off with a pride pin in-hand.
qol: Pride pins can be infinitely reskinned now.
/🆑

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

* Pride pin quirk + pins can be infinitely reskinned (v2)

Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2022-12-24 21:28:04 -08:00
SkyratBot
1b3f316a37 [MIRROR] Santa hat fixes [MDB IGNORE] (#18247)
* Santa hat fixes (#72078)

Fixes #72070

🆑 ShizCalev
fix: Santa now spawns with the actual space capable hat again!
fix: Fixed the claustrophobia trait not recognizing Santa's real hat.
/🆑

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>

* Santa hat fixes

* Includes 18278 change

* furry santa

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-12-22 18:03:28 -05:00
SkyratBot
e99a6c0f40 [MIRROR] "Fixes" the paramedic jumpsuit/skirt adjusted state [MDB IGNORE] (#18171)
* "Fixes" the paramedic jumpsuit/skirt adjusted state (#72012)

Paramedics have been given a jumpsuit/skirt that can be adjusted around their waist.

* "Fixes" the paramedic jumpsuit/skirt adjusted state

* Update medical_digi.dmi

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Halcyon <81479835+Ebin-Halcyon@users.noreply.github.com>
2022-12-20 05:15:45 +00:00
SkyratBot
15faaa54f5 [MIRROR] Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons. [MDB IGNORE] (#17907)
* Rewrites how action buttons icons are generated, makes them layer nicer. Allows observers to see a mob's action buttons.

* conflicts

* Modular!

* update modular

* icon icon icon icon icon

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2022-12-16 16:01:41 +00:00
SkyratBot
da0a127243 [MIRROR] Delimbs Stamina [MDB IGNORE] (#17981)
* Delimbs Stamina

* SR skews

* out of band upstream hotfix

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-12-15 17:50:49 -05:00
SkyratBot
cf67304574 [MIRROR] Refactors Pirates into Pirate Gangs, Adds the Psyker-gang as new pirates [MDB IGNORE] (#17920)
* Refactors Pirates into Pirate Gangs, Adds the Psyker-gang as new pirates

* [PR to PR] NRI raider de-conflicting (#17921)

* sosig

Update revolver.dm

* Update nri_raiders.dm

* Apply suggestions from code review

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

* Update nri_raiders.dm

* uhuh

* Update nri_raiders.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Stalkeros2 <42087567+Stalkeros2@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-12-08 09:43:43 -08:00
SkyratBot
2b800b9a23 [MIRROR] Removes tablets (not PDAs) entirely. [MDB IGNORE] (#17880)
* Removes tablets (not PDAs) entirely.

* contractor changes

* map changes

* Update assistant.dm

* conflicts

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-07 01:07:02 +00:00
SkyratBot
d3285bba19 [MIRROR] Void suit and jetpack resprite [MDB IGNORE] (#17938)
* Void suit and jetpack resprite (#71705)

imageadd: Void suit and jetpack resprited

* Void suit and jetpack resprite

Co-authored-by: Andrew <mt.forspam@gmail.com>
2022-12-07 01:02:18 +00:00
SkyratBot
04102bcdd7 [MIRROR] Nukies Update 6: Interdyne is here for you! Medical Supplies and Atropine! [MDB IGNORE] (#17785)
* Nukies Update 6: Interdyne is here for you! Medical Supplies and Atropine!

* Update medkit.dm

* our uses

* adds it to opfor, too

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-11-27 15:17:31 -08:00