Commit Graph

8166 Commits

Author SHA1 Message Date
Tom
5d7e64b0d7 Fix SHOULD_NOT_SLEEP hit in airlock wires on_cut() (#75240) (#21202)
Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
2023-05-15 18:48:31 -07:00
Tom
d39b53a694 Fix SHOULD_NOT_SLEEP hit in dna_melt status_effect (#75234) (#21199)
Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
2023-05-15 18:39:19 -07:00
lessthanthree
0428f4a19c Convert LOOC/whisper to TGUI (#21174)
* TGUI this b

* less dark
2023-05-15 10:04:03 -07:00
SkyratBot
716343ea01 [MIRROR] Makes genetic damage gorillas work [MDB IGNORE] (#21150)
* Makes genetic damage gorillas work (#75398)

## About The Pull Request
Moves the genetic damage status effect's `qdel()` after making the
status effect's owner a gorilla.
Basically un-fucks the interaction, as it was accidentally fucked in
#74799, see
https://github.com/tgstation/tgstation/issues/74981#issuecomment-1546140751

## Why It's Good For The Game
Fixes #74981

## Changelog
🆑
fix: made gorilla transformation when affected by excess amounts of
genetic damage work
/🆑

* Makes genetic damage gorillas work

---------

Co-authored-by: Sealed101 <cool.bullseye@yandex.ru>
2023-05-15 14:14:52 +01:00
SkyratBot
6574eb3faa [MIRROR] Sign language Fixes & Spellcasting, just for fun [MDB IGNORE] (#21144)
* Sign language Fixes & Spellcasting, just for fun (#74768)

Fixes #72165
First PR, first-time coder, this might be a doozy but _hopefully_
everything is fine.

## About The Pull Request

This fixes signers being able to speak with sign language while cuffed
or emotemute, bringing the feature back to how it was initially
intended.

This also fixes signers only being able to sign spells based on their
ability to speak. Before this PR, signers could cast spells with sign
language, but it was dependent on their ability to speak with their
mouth, allowing them to sign spells even if they would not be able to.
Instead, it has been changed to work so that one can sign spells only
when both of their hands are completely empty.
## Why It's Good For The Game

First of all, signers should probably not be able to speak when cuffed
or emotemute, I'm not sure when this broke but somewhere along the lines
it did and this is simply bringing it back to how it was supposed to be.

Second of all, spells were created long before sign langauge (I believe,
don't quote me on that), but sign language is just another language and
still can communicate the same. Furthermore, signing spells instead of
speaking them is overall more difficult to work with given the fact that
it won't work if you are holding items, restrained, have a limb disabled
or amputated, or are emotemuted. The one benefit that sign language
provides is being able to sign when otherwise mute, but this only really
applies in select cases. I feel the downsides definitely outweigh the
upsides in this case, and it will be more of a gimmick so that mute
players can still play antags like heretic.

* Sign language Fixes & Spellcasting, just for fun

---------

Co-authored-by: Sylvette <96358436+SylvetteSylph@users.noreply.github.com>
2023-05-15 14:10:22 +01:00
SkyratBot
532208a18b [MIRROR] Makes shattering on throw impact an ELEMENT, anything made primarily of the glass material datum will shatter when thrown [MDB IGNORE] (#21145)
* Makes shattering on throw impact an ELEMENT, anything made primarily of the glass material datum will shatter when thrown (#75303)

## About The Pull Request

I thought, "Hey it'd be neat if glass stuff shattered when thrown
around, wouldn't it?" And thus, shattering became a component. Though it
only applies to any subtype of object, its still more than enough for my
purposes. Plates will still shatter as normal before, but if for any
reason a glass toolbox, or glass statue block, anything glass you get
the idea, is thrown? Shards everywhere. Oh no, our table, its broken.
## Why It's Good For The Game

Something shattering on impact from being thrown or dropped a zlevel is
hilarious, and it'd be even funnier to be able to extend this behavior
to other objects as well. Finally we can relive every comedy movie ever
where some construction workers drop a comically large glass object on
someone from two floors up.

* Makes shattering on throw impact an ELEMENT, anything made primarily of the glass material datum will shatter when thrown

---------

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2023-05-14 22:58:11 -07:00
SkyratBot
199feff17d [MIRROR] [no gbp] Golem mineral functionality tweaks/fixes [MDB IGNORE] (#21121)
* [no gbp] Golem mineral functionality tweaks/fixes (#75343)

## About The Pull Request

Fixes a couple of things people have pointed out about golem
transformations.

- Diamond golems now stop being invisible when they attack or throw
something, they also turn invisible a bit slower.
- Using a bluespace knot takes 2 seconds instead of 3 seconds.
- Bananium Golems only slip you if they are lying down.

In order to achieve that last one I refactored the slipperiness
component to take an optional extra callback, and then killed a subtype
of it which could be replaced with passing in a callback. I tested it
and it seems to work the same as it used to.

These are largely how things were supposed to work and I just overlooked
them.
I am sure this won't be the last PR of a similar vein while people try
these out, provided that I actually hear anything they are saying about
it.

## Why It's Good For The Game

Diamond golems shouldn't be able to attack you while remaining invisible
and untargetable even if it is funny.
Clown golems aren't supposed to be able to slip you by swapping places
with you even if it is funny.
The bluespace hand was basically just worse than using the crystal and
not eating it, maybe still needs another buff after this one.

## Changelog

🆑
fix: Diamond Golems can no longer attack or throw things and remain
invisible.
fix: Bananium Golems are only slippery if you actually tread on them
(aka: while they are resting).
balance: Golem bluespace teleportation is slightly quicker.
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* [no gbp] Golem mineral functionality tweaks/fixes

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-05-14 16:05:27 -07:00
SkyratBot
e4a9e7a12c [MIRROR] ELEVATOR MUSIC: True Elevator Experience [MDB IGNORE] (#21172)
ELEVATOR MUSIC: True Elevator Experience

Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
2023-05-14 15:31:38 -07:00
SkyratBot
2e430fa6d6 [MIRROR] Makes it so coroner is only listed in medical department instead of both service and medical [MDB IGNORE] (#21053)
* Makes it so coroner is only listed in medical department instead of both service and medical (#75284)

Removes coroner from being under service in the crew manifest and
latejoin meny
I believe it would also make it so getting banned from Service jobs
wouldn't ban you from coroner. (Don't know if that ban type would ever
be used)

* Makes it so coroner is only listed in medical department instead of both service and medical

---------

Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-05-12 00:52:01 -07:00
SkyratBot
0da058bbf5 [MIRROR] Grilling items now only smoke when the griddle is on [MDB IGNORE] (#21097)
* Grilling items now only smoke when the griddle is on (#75265)

## About The Pull Request

Prior to this change, if you put an item on the griddle, it immediately
began to smoke, regardless of whether the griddle was on or not. Now
smoke will only appear when the griddle is turned on.

## Why It's Good For The Game
Graphic QoL for chefs

https://user-images.githubusercontent.com/10997188/236855447-8912a689-bec3-4cba-a6f3-45c428d7af29.mp4

## Changelog
🆑
fix: fixed griddle code so that the smoke over the grilling items
appears only when the griddle is on
/🆑

* Grilling items now only smoke when the griddle is on

---------

Co-authored-by: Vallat <vox.crit2013@gmail.com>
2023-05-12 00:50:23 -07:00
SkyratBot
756246c939 [MIRROR] Fixes jetpack "Cannot modify null.oldposition" runtimes [MDB IGNORE] (#21098)
* Fixes jetpack "Cannot modify null.oldposition" runtimes (#75355)

Order of operations. We were deleting the trail effect BEFORE
unregistering the mob from the signals that controlled its behavior, so
it was trying to do the thing to something that didn't exist anymore.
Honk.

![image](https://github.com/tgstation/tgstation/assets/6209658/6d7c2eec-547c-47f5-9093-7df42514932c)

* Fixes jetpack "Cannot modify null.oldposition" runtimes

---------

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2023-05-12 00:50:08 -07:00
SkyratBot
14733d9618 [MIRROR] Gives psychologists morgue access on lowpop [MDB IGNORE] (#21103)
* Gives psychologists morgue access on lowpop (#75321)

## About The Pull Request

i gave Psychologists access to the Coroner's office on lowpop so the
Psych and Coroner can replace eachother when the other is missing,
however I forgot to give Morgue access to the Psychologist so they can
do this.

## Why It's Good For The Game

Fixes my own oversight.

## Changelog

🆑
fix: Psychologists have Morgue access on lowpop, on top of their
existing Coroner office access.
/🆑

* Gives psychologists morgue access on lowpop

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-05-12 00:46:14 -07:00
SkyratBot
077e2d4eee [MIRROR] Makes update_icon_updates_onmob more robust [MDB IGNORE] (#21076)
* Makes update_icon_updates_onmob more robust (#75324)

Safeguards against #74965 happening in the future.

Noticed a bunch of these were using ITEM_SLOT_HANDS. This is incorrect,
as the element already automatically updates held items. grep'd it to
catch future instances.

Likewise, a number of objects weren't passing slot_flags to the element,
meaning it wasn't actually updating those things properly when they were
being worn. I've simplified this so now the element will automatically
update all slot_flags, and passing an additional slot to the element
when being added is only needed for additional slots that might need to
be updated. This also means if slot_flags change, the element will now
update correctly as well.

🆑 ShizCalev
code: The update_icon_updates_onmob element will now automatically
update all slots in an item's slot_flags var. This does fix multiple
things that weren't updating properly. Passing a slot to the element is
now only necessary if you want to add additional slots to be updated.
/🆑

* Makes update_icon_updates_onmob more robust

---------

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2023-05-10 22:57:55 -07:00
coldud13
2437fb9d8e [MANUAL MIRROR] Outfit manager now searches more thoroughly for the user's ID (#75310) (#21071)
Outfit manager now searches more thoroughly for the user's ID (#75310)

The outfit manager will now search more thoroughly for a user's ID when
attempting to change its trim. This prevents a runtime when attempting
this on a user with a PDA/Wallet/non-ID item in their ID slot.

The instance causing problems in my case was the nuclear operative
outfit -- Attempting to make a player a nuclear operative from the
player panel while they are wearing a wallet would fuck up the
outfitting process.

If you are wearing a wallet it will modify the trim of whichever ID is
in the wallet's first slot.

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-05-10 22:53:49 -07:00
Gandalf
f2b328e14a Post Mirror Grounding (#21034)
* PT1 MAP RESET

* Lints

* [MDB Ignore] Adds a unit test for typepaths that are required to be mapped onto each station map (#74985)

Inspired by #74967 and #68459 , and the fact that Tramstation regresses
very often -

Adds a unit test, `required_map_items`, which ensures that certain
typepaths which should definitely be mapped onto every map is mapped
onto every map

It can also be used to ensure that items which should not be mapped in
multiple times are not, among other things.

I included a few examples -
- Min 1, max inf of each head of staff stamps
- Min 1, max 1 departmental order consoles
- Min 1, max inf comms console
- Min 1, max 1 Pun Pun
- Min 1, max 1 Poly
- Min 1, max 1 Ian

If, in the future, a mapper decides they (for some reason) do not want a
certain previously-required item on their map, the test can be adjusted
such that it allows excluding or something, but currently it should be
for items which require conscious thought about.

I attempted to make this a linter before realizing two things
1. Someone might make a spawner which spawns the items, or they might
get placed in a locker, in any case this accounts for everything on init
2. Linters run on every map, non-station maps included

So I went with a test

Why is it always the CMO stamp?

Not necessary (unless I find a map missing something, then this will be
updated)

* yay

* Update VoidRaptor.dmm

* Update blackmesa.dmm

* wew

* New sand and water sprites (ported from Bay) (#75254)

* e

* Update AntagInfoClock.tsx

* Update LimbsPage.tsx

* Update area_spawn_entries.dm

* Update LimbsPage.tsx

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-05-10 01:24:11 +00:00
SkyratBot
aba26adc5f [MIRROR] Refactors High Luminosity Eyes, fixes a ton of bugs related to it as well as qol improvements [MDB IGNORE] (#21048)
* Refactors High Luminosity Eyes, fixes a ton of bugs related to it as well as qol improvements

* Update eyes.dm

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-10 02:19:58 +01:00
SkyratBot
8d165b1754 [MIRROR] Cere Whiteship Redo - Salvager's Heaven [MDB IGNORE] (#21042)
* Cere Whiteship Redo - Salvager's Heaven (#74994)

* Cere Whiteship Redo - Salvager's Heaven

---------

Co-authored-by: Addust <80979251+Addust@users.noreply.github.com>
2023-05-10 00:45:11 +01:00
SkyratBot
80c3fa0504 [MIRROR] Adds a unit test that all roundstart spawnable jobs have a landmark to spawn at [MDB IGNORE] (#20942)
* Adds a unit test that all roundstart spawnable jobs have a landmark to spawn at

* Update _job.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-10 00:40:23 +01:00
SkyratBot
fae04f1fb6 [MIRROR] Crate, Closet Refactors & Access Secured Stuff [MDB IGNORE] (#21024)
* Crate, Closet Refactors & Access Secured Stuff

* CI

* e

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-09 04:32:41 +01:00
SkyratBot
5e9d2379bf [MIRROR] Stock Part Resprite [MDB IGNORE] (#21014)
* Stock Part Resprite

* wew

* alright

---------

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-09 04:10:18 +01:00
SkyratBot
aac6045ba8 [MIRROR] Golem Rework [MDB IGNORE] (#21001)
* Golem Rework

* SECT 9

* ok

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-09 03:56:30 +01:00
SkyratBot
1322bc6940 [MIRROR] adds orm access to service jobs missing it [MDB IGNORE] (#21019)
* adds orm access to service jobs missing it (#75225)

## About The Pull Request
adds orm access to the chaplain, curator, clown, mime, lawyer, and
psychologist

## Why It's Good For The Game
most of them didnt have it because they were part of the civilian
department which didnt have a lathe. they were moved to service a few
years back but we forgot to give them the access
someone just forgot about it when making psychologist lol

## Changelog
🆑
fix: adds orm access to the chaplain, curator, clown, mime, lawyer, and
psychologist
/🆑

* adds orm access to service jobs missing it

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-05-09 03:52:14 +01:00
SkyratBot
4948dafe7e [MIRROR] Request Console refactor [MDB IGNORE] (#20979)
* Request Console refactor

* wew

* wew

---------

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-08 23:09:17 +01:00
SkyratBot
88e4c08a98 [MIRROR] New Medical job: The Coroner [MDB IGNORE] (#20963)
* New Medical job: The Coroner

* Fixes coroner (code-side) (#21005)

* Fixes coroner

* Update jobs.dm

* trailing newline

* wew

* VR Replacements

* w

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-08 03:44:11 +01:00
SkyratBot
2c6fc5c946 [MIRROR] Fixes prosthetic limbs leaving the old one behind [MDB IGNORE] (#20987)
* Fixes prosthetic limbs leaving the old one behind (#75176)

## About The Pull Request

Fixes #75153
Caused by #75050

`Note: the old limb gets sent to nullspace during try_attach_limb`
...This assertion is completely wrong, and I'm not sure where it came
from. Perhaps it's different on their downstream.

`try_attach_limb` does not care about limbs that occupy the same body
zone and will happy attach itself, giving you two left arms or two right
legs.

`del_and_replace_bodypart` handles this by deleting the existing limb,
`return_and_replace_bodypart` did not handle this whatsoever. So I added
that missing handling.

I'm not sure if we *actually want* `try_attach_limb` to disregard limbs
that occupy that slot already. It seems like weird behavior but also
consumers should probably know what they're doing in regards to that?

While I was here, I made both prosthetic related quirks use `special =
TRUE`. The application of these limbs are supposed to be quick swapping
no-side-effects, since it's done at mob creation, so it should be using
special.

## Why It's Good For The Game

Three arms is bad, okay?

## Changelog

🆑 Melbert
fix: Fixed Prosthetic Quirk not removing the limb before giving the
prosthetic
/🆑

* Fixes prosthetic limbs leaving the old one behind

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-05-08 03:03:07 +01:00
SkyratBot
f1fef9b0c3 [MIRROR] Demotes Psyker Pirates to Bounty Hunter Duty [MDB IGNORE] (#20951)
* Demotes Psyker Pirates to Bounty Hunter Duty (#75031)

This PR demotes the Psyker-gang from a pirate team to a fugitive hunting
team. For more information on Psyker pirates, please refer to #71650.

Stuff this also does in the process:
- Gives fugitive hunters their own subfolder in the fugitives antagonist
folder, moves some of their stuff into hunter-specific files rather than
interlacing it with the rest of the fugitive code.
- Moves the hunter backstories to defines, to make reading things easier
while I made this change.
- Exhaustively moves everything related to psykers from being
pirate-oriented to hunter-oriented (typepaths, locations where stuff is
defined, etc. There should be nothing left behind related to psykers in
anything pirate related). (Tell me if I missed anything somehow).

They still get their ship (they even get their own custom
psyker-friendly prisoner capsule). They still have a bunch of lethally
chambered firearms. They're the same gunrunning nutcases they were
before, just as bounty hunters.

To assist with basic tasks such as "getting to the station" or "figuring
out who the fuck we're supposed to be kidnapping", the psykers have
"acquired" a Seer to assist them. They can _try_ to coordinate the
psykers and lead them through situations where their impairments put
them at too great a disadvantage. If you're one of the psykers, make
sure to keep this guy alive at all costs!

Why are they called Shikaris instead of hunters? Mariam-Webster says
it's a Hindi word for some kind of hunter/tracker, and it sounded like
something a bunch of space-junkies would call themselves because they
think it sounds cool.

They now also come with a slightly different motivation, now that they
can't directly threaten the crew for money. Psyker hunters now arrive
tasked with a dirty kidnapping job, payment rendered in GORE.
## Why It's Good For The Game

Psykers aren't up to the challenge of being pirates. They're bogged down
by a number of fundamental issues that render them unable to do anything
expected of pirates. As it currently stands, they present about as much
threat as you would expect from three blind junkies with guns.

Removing them wholesale would be kind of lame. They can function as a
bunch of chaotic-neutral gun-toting space-maniacs, but for the purposes
of gameplay, keeping them as pirates would be a waste of their talents.

Moving them to a lower-stakes role not only moves them to a niche they
are more capable of filling, but gives players a more lax environment to
get a grip on playing psyker without being overwhelmed.

Giving them a seeing-eye role should bring a more unique dynamic to how
psykers are played (that is, some semblance of organization rather than
blind flailing), and should help get over the mechanical hurdles of
being a psyker until better solutions can be made. It shouldn't be too
big of an impact on balance considering the psyker gang only has three
spawns, while most hunter packs have 4+.

* Demotes Psyker Pirates to Bounty Hunter Duty

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-05-06 17:34:31 +01:00
SkyratBot
87b52979cc [MIRROR] Tonguespike buff, chemspike slight nerf [MDB IGNORE] (#20950)
* Tonguespike buff, chemspike slight nerf (#75092)

Increases the tonguespike damage.
impact damage: 15 -> 25
pain damage (leaving tonguespike embedded damage): 4 -> 15
cooldown time = 10 seconds -> 1 seconds

Decreases the chemspike damage
impact damage: 4? -> 2
pain damage: 4 -> 0

These values were eyeballed when I originally added them, fuck embedding
code, uuuh... these values make more sense. At the very least
tonguespike was nearly unusuable being a 15 damage item that pain-ticked
for a pitiful 4.
The cooldown was just unnecessary and killed unnecessary organ
regeneration strategies

Chemspike ticked for too much when it wasn't really meant to deal much
damage.

* Tonguespike buff, chemspike slight nerf

---------

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2023-05-06 17:33:59 +01:00
SkyratBot
b672fd0791 [MIRROR] Miners with style meter can now parry kisses [MDB IGNORE] (#20935)
* Miners with style meter can now parry kisses (#75148)

## About The Pull Request
idea by hometownfunky
## Why It's Good For The Game
True gamers don't get hit
## Changelog
🆑
add: miners with style meter can now parry kisses
/🆑

* Miners with style meter can now parry kisses

---------

Co-authored-by: Striders13 <53361823+Striders13@users.noreply.github.com>
2023-05-06 02:30:59 +01:00
SkyratBot
de094300d2 [MIRROR] Alphabetises Phobias [MDB IGNORE] (#20934)
* Alphabetises Phobias (#75150)

## About The Pull Request

Alphabetises some lists, json, and type paths related to phobias

## Why It's Good For The Game

It's neat and tidy

## Changelog
Not player facing

* Alphabetises Phobias

---------

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
2023-05-06 02:30:38 +01:00
SkyratBot
c4d4e1da63 [MIRROR] Minerals have been refactored so costs and minerals in items are now in terms of mineral defines. [MDB IGNORE] (#20916)
* Minerals have been refactored so costs and minerals in items are now in terms of mineral defines.

* AI GEN RUN ONE

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-03 22:48:10 +01:00
SkyratBot
39ebf7c2af [MIRROR] Nanotrasen Budget Programme - Mothball Edition [BIRDSHOT STATION] [MDB IGNORE] (#20832)
* Nanotrasen Budget Programme - Mothball Edition [BIRDSHOT STATION] (#73502)

## About The Pull Request
---

The Space Tram is currently spaced. This is a known issue with not the
map, but Trams in general. The Space Tram is a Space Tram to encourage a
fix. Until then, the Space Tram is a maint tram that's an actual hazard
but cannot directly kill anyone, including lizards. Enjoy the commodity
as you zip from secmaint to medmaint.
-------------------------------------------------------

I... really don't know if I should be proud of myself here. This whole
process has been akin to a fever dream and it has only been little over
a month since I first created the .dmm for this. What started as a
simple yet humble reimagining of Birdboat has turned into an entirely
new station, and blown past Metastation sized proportions. This has been
my most expansive project yet, and somehow it's also been my quickest.
So without further ado, I unveil Birdshot - Successor to Birdoat.

-------------------------------------------------------

**Due to recent cost expenditures on Icemoon projects, and a growing
need for orbital research stations, Nanotrasen has decided to pull
Birdboat Station out of mothball after nearly 5 years of abandonment.**

Since then, the station has seen a variety of changes at the hands of
the various vagabond lawless scum and villains that have decided to make
the abandoned station their home. Do not fret though, a Nanotrasen
Operation has secured the companies rightful property for corporate use
once again, though you'll need to be the stewards of the remaining
cleanup operation.

------------------------------------------------------

Now, as you might have guessed by now, Birdshot is heavily based on
Birdboat station. Many of the decisions here follow the original layout,
and what had to be modified or moved still tries its best to replicate
and imitate what bird being said. At least, that was the idea initially.
This has very much grown into its own beast and as such, while the main
inspiration has been Birdboat, there are a lot of new ideas thrown into
the mix that really give this station its own unique and deserving
identity. Maybe it's not perfect, but I've been inspired by @ MMMiracles
own performance with Tramstation to keep working on Birdshot and
updating it with better and improved faculties. For now, though the
station is in a playable state, and that means I'm making a PR. If I had
to borrow the words of the good MMM, I would call this **Birdshot:
Season 0**

![BirdSHOTFULL2-26-S](https://user-images.githubusercontent.com/33048583/221432760-27af1889-d2d0-4861-9435-df4258525fae.png)

See the image in more detail here: https://imgur.com/iT5Vi8k

## Why It's Good For The Game

We've been with the same 5 maps for a while now. @ san7890 jokingly said
that I could sacrifice Metastation back in November if I remade Birdboat
but modern. Obviously that wasn't going to happen, yet I was spurred on
by the idea. When I began this in earnest early this January, @ EOBGames
said that a Birdboat sized map would replace Kilostation in the
rotation. Interestingly we're not a small map anymore so I honestly have
no clue where this goes. Maybe that ephemeral 6th map slot that's been
rumored.

What I can say, is that Birdshot is wholly unlike anything else that is
currently in rotation. It's got an engineering section that feels way
too small for a station of that size, almost evocative of Cere. Cargo is
blessed with a Boutique that makes use of @ Fikou's new mannequin dolls.
Command is outfitted with a Corporate Guest Suite, and Officials sent
from Nanotrasen can embark from their ferry into the safety of their own
Corporate Dock. Elements of Cerestation are present, yet not in a way
that makes traversal annoying. Furthermore we have **2 Trams** (that I
have yet to get functional but we'll get there) on Birdshot, that's
right 2. One Security Prison Tram, and then other, a Space Tram. Both
Novel in their own ways. Departments on Birdshot twist and turn, and
there's an abundance of Maintenance Tunnels to cut through everything,
for the brave and the bold that is. And there's plenty left to discover,
but I'd rather let Birdshot speak for itself. I'm proud of this one.

If you want something new, this is something that is almost the complete
opposite of Chilled Station - Explicitly Designed to send you back to
the metal death trap that is: **Space Station 13.**

## Changelog
🆑
add: Birdshot station has been pulled out of Mothball.
add: New station areas and places to visit. A Mix of Kilo and Delta
maints with winding shortcutting paths.
add: A host of new shuttles to support this bold endeavor to reclaim
something that really shouldn't be reclaimed.
add: Two Trams, Two Trams.
add: For the last time Bob, the gaping hole is a **feature.** Use the
breach shutters or have the virologist make starlight.
add: A smiling salute to stations past...
add: Secrets.

/🆑

---------

Co-authored-by: Zytolg <theoriginaldash@ gmail,com>

* Nanotrasen Budget Programme - Mothball Edition [BIRDSHOT STATION]

* basemap

* automapper templates

* Update maps.txt

* Update _basemap.dm

---------

Co-authored-by: Zytolg <33048583+Zytolg@users.noreply.github.com>
Co-authored-by: Zytolg <theoriginaldash@ gmail,com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-03 22:36:32 +01:00
SkyratBot
c609e00999 [MIRROR] Adds the Death Sandwich to the game [MDB IGNORE] (#20911)
* Adds the Death Sandwich to the game (#75013)

## About The Pull Request
Adds the Death Sandwich to the game, the ultimate form of
bread-conveyed-meat-based consumables.

![deathsandwich](https://user-images.githubusercontent.com/66052067/235041733-287be1fd-1eed-4d6d-840b-96f95494f093.png)

And remember;
Eat it right, or you die!
## Why It's Good For The Game
I'm genuinely surprised we don't already have a meatball sub in the game
also I love humor food, and I doubt my edition of the Eggcellent
Challenge would ever be merged if I tried to do so, so this is the next
best thing.
## Changelog
🆑 Wallem
add: The ancient recipe for the Death Sandwich has been rediscovered
buried in the deepest depths of an erupting volcano.
/🆑

* Adds the Death Sandwich to the game

---------

Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
2023-05-02 23:45:47 -07:00
SkyratBot
9a3ccdd3c1 [MIRROR] Adds a macro for checking map job changes, makes captain outfit more runtime resilient [MDB IGNORE] (#20810)
* Adds a macro for checking map job changes, makes captain outfit more runtime resilient

* Fixes the merge conflicts

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-05-03 01:33:46 +01:00
SkyratBot
16b64484e9 [MIRROR] Ore silo will put machines off its level on hold, instead of disconnecting [MDB IGNORE] (#20859)
* Ore silo will put machines off its level on hold, instead of disconnecting (#74990)

## About The Pull Request

There's a problem where people would try to rebuild a whiteship and use
an Ore Silo for it. However, it would automatically unlink everything
when moving, because it's checking for z level as soon as it changes z
level itself, before the Ore silo has 'moved' as well.

~~To fix this, I'm now only disconnecting ore silos when a shuttle
moves. This mostly does the same as before, but technically you can sync
an unwrenchable connected machine and bring it to space with you
(without using a shuttle) to stay connected, but I don't see this as a
problem, and my original point of the PR was to prevent Lavaland ORMs.~~

I decided against this, instead I've made it so machines that aren't on
a valid level (either both on the same z level or both on the station
level) will be considered 'on-hold', much like if the QM has set it to
hold through the silo directly. This means that machines no longer
disconnect from the Ore silo on moving, they just can't access the
materials in it. This affects gameplay in 2 ways:

1. You no longer need to resync when you bring the machine back
2. It won't unsync itself every time you move station z-level with its
silo (such as on a whiteship).

I also made disconnecting from an ore silo actually remove them from the
ore silo's list of connected machines.

## Why It's Good For The Game

Closes https://github.com/tgstation/tgstation/issues/69863

## Changelog

🆑
balance: Machines (such as ORM and Techfabs) will no longer unsync from
Ore silos when it moves Z-level, instead it will prevent materials from
being used, as if it was on hold.
/🆑

* Ore silo will put machines off its level on hold, instead of disconnecting

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-05-02 15:50:25 -04:00
SkyratBot
82d61c476b [MIRROR] Adds a game log for enslaving [MDB IGNORE] (#20853)
* Adds a game log for enslaving (#75038)

## About The Pull Request

A mob being enslaved to another is now logged in game logs. This hits
sentience potions, guardians, and Golems. This helps admins know through
logs who made/used what.

## Why It's Good For The Game

I was told that it's pretty hard to tell who made Golems because this
type of info isn't logged, so you can't check it post-round. This should
help admins with that.

## Changelog

🆑
admin: Enslaving mobs is now logged in game.log
/🆑

* Adds a game log for enslaving

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-05-02 15:48:24 -04:00
SkyratBot
ef6828cf15 [MIRROR] [NO GBP] Style meter fixes [MDB IGNORE] (#20896)
* [NO GBP] Style meter fixes (#75090)

## About The Pull Request
Fixes:

- Crusher mark score applying to attacked corpses
- Parrying not working, in 2 different forms
- The style bar not being accurate with >= 600 style points

## Why It's Good For The Game
Bugs bad

## Changelog
🆑
fix: Style meter parrying works again
fix: Style meter bar now works correctly with very high style point
count
/🆑

* [NO GBP] Style meter fixes

---------

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-05-02 15:45:08 -04:00
SkyratBot
3ecc9f859d [MIRROR] Allows Export of your Preferences JSON File [MDB IGNORE] (#20894)
* Allows Export of your Preferences JSON File (#75014)

## About The Pull Request

Hey there,

This was spoken about in #70492 (specifically
https://github.com/tgstation/tgstation/pull/70492#issuecomment-1278069607),
and I have been waiting for this to be implemented for some time. It
never got implemented, so I decided to code it myself.

Basically, **if the server host doesn't disable it**, you are free to
export your JSONs as a player, right from the stat-panel. It's a pretty
JSON on 515 versions, too!

It's right here:

![image](https://user-images.githubusercontent.com/34697715/235251447-1c977718-51fd-4025-8d89-c60bffc379ec.png)

Here's what the prettified JSON looks like on 515.

![image](https://user-images.githubusercontent.com/34697715/235321061-4a217e26-c082-4bba-b54a-2c780defda0a.png)

There's a cooldown (default to 10 seconds) between exporting your
preferences.

#### Why is this config?

It's because in the past, a server host could always just file-share the
.sav or .json or whatever to the player, but they would have to do the
explicit option of actually bothering to make the files accessible to
the player. In that same line of logic, the server operator will have to
explicitly make the files accessible. This is mostly because I'm not
sure how good `ftp()` is at being a player function and wanted to have
some sort of cap/control somehow in case an exploit vector is detected
or it's just plain spammed by bots, so we'll just leave it up to the
direct providers of this data to elect if they wish to provide the data
or not.
## Why It's Good For The Game

Players don't have to log into Server A to remember what hairstyle they
loved using when they want to swap to Server B! That's amazing actually.
I always forget what ponytail my character has, and it'll be nice to
have the hairstyle in a readily accessible place (after I prettify the
JSON for myself).

It's also more convenient for server hosts to make player data like this
accessible if they really want to, too.

If we ever add an _import_ feature in the future (which would have to be
done with a LOT of care), this will also be useful. I wouldn't advise it
though having taken a precursory look at how much goes into it while
trying to ascertain the scope of this PR.
## Changelog
🆑
qol: The game now supports export of your preferences into a JSON file!
The verb (export-preferences) should now be available in the OOC tab of
your stat-panel if enabled by server operators.
server: Exporting player preferences is controlled by a configuration
option, 'FORBID_PREFERENCES_EXPORT'. If you do not wish to let clients
access the ftp() function to their own preferences file (probably for
bandwidth reasons?) you should uncomment this or add it to your config
somehow.
config: Server operators are also able to set the cooldown between
requests to download the JSON Preferences file via the
'SECONDS_COOLDOWN_FOR_PREFERENCES_EXPORT' config option.
/🆑

* Allows Export of your Preferences JSON File

---------

Co-authored-by: san7890 <the@san7890.com>
2023-05-02 15:27:19 -04:00
SkyratBot
96676cc94e [MIRROR] Gunpoints now take half a second to activate, make gasp sounds, and briefly immobilize the shooter and target, other small balance changes [MDB IGNORE] (#20882)
* Gunpoints now take half a second to activate, make gasp sounds, and briefly immobilize the shooter and target, other small balance changes (#74036)

## About The Pull Request
This PR messes around with gunpoints a bit, with the purpose of making
them more viable in certain scenarios without making them obnoxious. The
biggest change is that gunpoints now require a 0.5 second do_after()
where neither the shooter nor the target moves, and immobilizes both of
them for 0.75 seconds if point blank, or half that if you're 2 tiles
away. Originally you were supposed to only be able to initiate a
gunpoint from point-blank, but #56601 seems to have removed that
requirement, so we'll run with it and just leave it as advantageous to
gunpoint closer up. The do_after() reinforces that it should be used as
an ambush tactic, and so you can't use it on someone who's actively
fleeing or fighting you.

Getting held up will now make you emit a shocked gasp sound, a la Metal
Gear Solid, which combined with the short immobilize will hopefully make
it more noticeable that someone's pointing a gun at you.

Holdups will now immediately give a 25% bonus to damage and wounds,
instead of having to wait 2.5 seconds to hit the double damage stage.

Finally, right clicking someone that you're holding up will no longer
shoot them. That just feels like good consistency.

## Why It's Good For The Game
Hopefully makes gunpoints a little more viable for when you want to
stick someone who's not expecting it up without them immediately jetting
off. In the future I'd like to ape Baycode and let the gunman have an
action that toggles whether the victim is allowed to move, so you can
order them to move to a second location without instantly shooting them,
but that'll come later.
## Changelog
🆑 Ryll/Shaps
balance: Holding someone at gunpoint now requires both the shooter and
the victim to hold still for half a second before activating, so you
can't hold-up people fleeing or fighting you. After that, it will
briefly immobilize the both of you, 0.75 seconds if adjacent, or half
that if you're two tiles away. Nuke ops are immune to the
immobilization, since they're ready to die anyways.
balance: Holding someone up will immediately apply a 1.25x damage and
wound multiplier, rather than waiting 2.5 seconds to hit 2x.
soundadd: Being held up will now make the victim play a sharp gasp
sound, a la Metal Gear Solid.
qol: Trying to hold someone up that you're already holding up will no
longer shoot them.
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Gunpoints now take half a second to activate, make gasp sounds, and briefly immobilize the shooter and target, other small balance changes

---------

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-05-02 12:32:43 +01:00
SkyratBot
726fa67fc8 [MIRROR] Removes the random prosthetic quirk from the character preview page [MDB IGNORE] (#20886)
* Removes the random prosthetic quirk from the character preview page (#75050)

## About The Pull Request

The prosthetic limb quirk chooses a random limb to make prosthetic at
roundstart.

It was extremely buggy with the way quirks are displayed and the way the
dummy preview works and would frequently carry over to other characters
and not update correctly.

<details>
<summary>Eventually you end up getting this if you switch enough times
</summary>

![hDq983y2T0](https://user-images.githubusercontent.com/13398309/235334283-d4fc4c1f-c1de-4460-b6f7-7ef95a587cb4.gif)

</details>

I started fixing the issue when I realized this really shouldn't be
shown on the dummy to begin with, because what you see on the dummy will
not necessarily be what you get at roundstart. It's misleading.

I did however leave part of the fix that I was working on, because I
think it is useful to be able to undo the quirk via adminnery.

Closes https://github.com/Skyrat-SS13/Skyrat-tg/issues/20791

## Why It's Good For The Game
## Changelog
🆑
fix: prosthetic limb quirk will no longer display a prosthetic on your
character preview because it is buggy and hardly ever matches what you
end up getting upon spawning
code: removing the prosthetic limb quirk will restore your original limb
/🆑

* Removes the random prosthetic quirk from the character preview page

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-05-02 12:30:26 +01:00
Hatterhat
f203dec6a2 [does commenting count as modular] style meter users can now flip (#20861)
* hey the projectile parry runtimes btw

* comments (mildly improved)

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2023-05-01 13:28:33 -07:00
SkyratBot
7028b1d32e [MIRROR] Converts Spiderlings from Structures to Basic Mobs [MDB IGNORE] (#20852)
* Converts Spiderlings from Structures to Basic Mobs (#75001)

If I could've made this more atomic, I would have in a heartbeat, trust
me.

## About The Pull Request

Hey there. People were mocking us for having spiderlings still be a
subtype of `/obj/structure`. I decided to take a lot of time to fix
that. A lot of behavior it was implementing was just pseudo-mob stuff,
so it was actually easier than it looked for the raw conversion. A lot
of the footwork on spider stuff in the basic framework was already done
previously by Jacquerel, so that was pretty nice.

However, there are two new things that weren't introduced in the code
that had to be put in.

A) A component to handle growth and differentiation into a mob. This may
have already existed, no clue. If it does (and it's NOT
evolutionary_leap), let me know.
B) AI Behavior to handle seeking out a vent, entering a vent, and then
exiting out of a different vent. I may have gone a bit wacky on the
code, but it certainly works as expected (spiderling goes in one vent,
exits the other). Let me know if you can think of a way it can be better
optimized, but it was deliberately written to be very failsafey in case
shit goes yonkers.

One fundamental difference between structure spiderlings and basic mob
spiderlings (beyond the AI and not just a random prob() check for
movement) is the fact that they had vent movement coded in... but we
_really_ don't need stuff like that for our intents and purposes. If the
range turns out to be too OP in the current framework, we can always
change it up a bit, but also there's a _lot_ of vents we can end up in
the station (my testing had one spiderling end up in the AI sat to get
obliterated).
## Why It's Good For The Game

Spiderlings aren't structures! They behave like a mob should! Players
can possess spiderlings! They work seamlessly with differentiating into
a giant spider! Better AI! More room for people to add into this very
under-utilized buggers!
## Changelog
🆑
refactor: Spiderlings are now basic mobs, report any complete
weirdness/deviation from known behavior. They should be a lot more
intelligent now though.
add: AI Spiderlings are super fragile, but they're also super fast,
especially when they get into a vent. Once they're in circulation, they
could end up everywhere! Maybe in the armory, maybe in a locked closet
in maintenance. Be sure to be vigilant and splat them whenever you can
to save the station from a whole lotta heartache!
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* Converts Spiderlings from Structures to Basic Mobs

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
2023-04-30 12:54:58 -07:00
SkyratBot
8817f86841 [MIRROR] Delete blank line from the combat information box [MDB IGNORE] (#20845)
* Delete blank line from the combat information box (#75025)

## About The Pull Request

I asked eobgames to do it in #74203 but he didnt and i forgot to do it
until now
## Why It's Good For The Game

Since there's a box around it now, we don't need a blank line to
separate it anymore

Old:

![image](https://user-images.githubusercontent.com/47338680/235238660-951de8f1-ecc6-4466-b130-450f76cc4e40.png)

New:

![image](https://user-images.githubusercontent.com/47338680/235237497-9d2d05b3-70eb-4d05-8b07-8f518076e928.png)
## Changelog
🆑
spellcheck: Deleted the extra line in combat information
/🆑

* Delete blank line from the combat information box

---------

Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@users.noreply.github.com>
2023-04-30 10:58:07 +01:00
SkyratBot
05e8371998 [MIRROR] Cleans up + Improves bows, Sorts files, Adds the Divine Archer clothing, weapon, rite [MDB IGNORE] (#20825)
* Cleans up + Improves bows, Sorts files, Adds the Divine Archer clothing, weapon, rite

* fix

---------

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
2023-04-29 15:29:35 -07:00
SkyratBot
102748fc27 [MIRROR] Cosmic Ascension Balance Patch [MDB IGNORE] (#20808)
* Cosmic Ascension Balance Patch

* conflict

---------

Co-authored-by: Comxy <tijntensen@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-04-29 09:59:15 +01:00
SkyratBot
d9f3476b8d [MIRROR] Craftable material sniffers [MDB IGNORE] (#20824)
* Craftable material sniffers (#74798)

## About The Pull Request

Are YOU annoyed about never finding the fucking mats you need? Slap some
cable coil on an analyzer and find that untouched sheet of iron and or
glass. It's a pinpointer for basic sheets.

## Why It's Good For The Game

Originally I meant to give this as something borgs might want, but I
realized they really won't have a great time using it and the situation
is more about botanists not being asked, and not knowing how to grow
lots of iron, repeat for all other departments. Awareness problems!!!

But I still like the item as a miscellaneous craftable.

## Changelog
🆑
add: Craftable Material sniffers
/🆑

---------

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

* Craftable material sniffers

---------

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
2023-04-29 09:56:13 +01:00
SkyratBot
9c2e07ee7c [MIRROR] Miner Style Points 2: Style on Everyone [MDB IGNORE] (#20826)
* Miner Style Points 2: Style on Everyone (#74690)

## About The Pull Request
A re-open of https://github.com/tgstation/tgstation/pull/66326 with
Fikou's permission

Adds the style meter, it can be bought from the mining vendor for 1500
points, it is an attachment to your glasses.
The style meter creates a display on your hud, with your recent actions,
like attacking enemies, killing them, mining ore etc. Actions like
spinning or flipping increase your score multiplier, making you get more
points.
Your style meter affects how much ore you get from mining rocks. By
default with the meter, you get 20% less ore, but at the highest, you
can get 1.2x the ore from mining. In addition, on B-tier or above, you
can "hotswap" items, by attacking an item in your backpack with one in
your hand (should it fit and all that). Also features a leaderboard for
highest style point count!

New streamable: https://streamable.com/eewi6l

The following are sources of points:

- Killing things
- Killing big things
- Killing small things
- Punching things
- Melee'ing things
- Mining rocks and ores
- Having matrix traps detonate
- Hit, defuse, and detonate gibtonite
- Detonate crusher marks
- Scan geysers
- Parry projectiles (others or your own)

Oh, right. While wearing the style meter, you're able to parry any
lavaland-based projectile by clicking on it or the tile it is on, which
reflects it back in a 7 degree arc, making it 20% faster and 15% more
damaging. Usually not very easy.

Maybe-plan in the future for some syndicate variant of this (with bullet
parrying and appropriate style sources, etc.), but not for this PR

Thanks to Arcane, multitooling the style meter will make it play some
sounds on rank-up.

![image](https://user-images.githubusercontent.com/41448081/231605640-a01c2b60-1ba1-4390-8bea-0aa804ea1973.png)

https://streamable.com/nheaky

Parrying in action

## Why It's Good For The Game
Makes miners bring more ore in a fun way.

## Changelog
🆑 Fikou, Zonespace, Arcane for voicing
add: The mining vendor now has a style meter. This meter gauges your
style points and uses them to improve your ore yield.
/🆑

---------

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

* Miner Style Points 2: Style on Everyone

---------

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
2023-04-28 19:54:39 -07:00
SkyratBot
49b803a98a [MIRROR] Fixes crafting tools not taking into account subtypes [MDB IGNORE] (#20807)
* Fixes crafting tools not taking into account subtypes (#74971)

## About The Pull Request
Does what #74968 intended to do, it fixes crafting tools checking if the
required item is a subtype of the available items, instead of the other
way around. What this meant is for example

![image](https://user-images.githubusercontent.com/23585223/234320690-aa0b2c2d-a8c6-447b-be32-3554fa8310c8.png)
this wouldnt work, even though cheap lighters are a subtype of lighters,
as /obj/item/lighter/greyscale
but if i instead spawned the base /obj/item, which /obj/item/lighter is
a subtype of

![image](https://user-images.githubusercontent.com/23585223/234320959-bd388520-7d2b-4028-abab-a7638ba4adda.png)
it would work. obviously this is funnily broken

## Why It's Good For The Game
Bug gone!

## Changelog
🆑
fix: Fixes crafting tools not taking into account subtypes, i.e. you can
craft a filet migrawr with any lighter.
/🆑

* Fixes crafting tools not taking into account subtypes

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-04-28 23:17:20 +01:00
SkyratBot
5289ed0785 [MIRROR] Add basketball mood events for shooting and dunking [MDB IGNORE] (#20784)
* Add basketball mood events for shooting and dunking

* Update code/datums/mood_events/generic_positive_events.dm

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-04-26 22:47:23 +01:00
SkyratBot
abf148d62b [MIRROR] World Initialization Refactor [MDB IGNORE] (#20755)
* World Initialization Refactor

* Update .github/CODEOWNERS

* Update code/__HELPERS/global_lists.dm

* Add logging for manually changing your targeted zone (#72814)

See title.
Surgery hud is exempt from this.

Requested by @Mothblocks

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>

* eee

* Update tgstation.dme

---------

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-26 22:46:55 +01:00
SkyratBot
2a206070cc [MIRROR] Adds a prisoner transport space ruin [MDB IGNORE] (#20771)
* Adds a prisoner transport space ruin (#74418)

* Adds a prisoner transport space ruin

---------

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-04-26 21:23:58 +01:00