* Minigame DLC - Intergalactic Basketball League (#72459)
## About The Pull Request
New DLC bout to drop.

Lots of new things included:
- New basketball minigame that can be played between 2-7 players
- Crafting recipe for basketballs using leather sheets
- Crafting recipe for basketball hoops using metal, rods, and durathread
- New basketball sounds for the ball and hoops
- New scorecard that can be reset using CtrlClick
- Basketball hoops can be rotated using a wrench and AltClick
- Dunking and shooting animations.
### New basketball mechanics that now utilize stamina:
- Dunking costs large stamina and you must be directly adjacent to the
hoop and click on it.
- Shooting costs medium stamina and uses RMB. Shooting lets you aim the
ball over peoples heads, meaning anyone obstructing your path will be
bypassed. There is a half second delay during shooting where someone can
bump or push to prevent the shot from succeeding.
- Shooting from further away results in less accuracy. If you do not
click directly on the hoop, there is also an accuracy penalty!
- Passing costs no stamina and uses LMB. Trying to score into the hoop
via passing results in a reduced chance.
- Spinning costs medium stamina while holding the ball. It gives a
reduced chance for the ball to be stolen but decreases accuracy for
shooting.
- Pushing a player using RMB will attempt to steal the ball and drain
their stamina.
- The chance to steal the ball is based on the stamina of both players
and the direction they are facing. If the person with the ball is at low
stamina, and the person stealing is at full stamina, they will have a
higher chance. Likewise, if the person with the ball is face to face
with the stealer, then there is a higher chance for the ball to be
stolen. If the person has their back to the stealer, then it's a lower
chance.
- Shooting from more than 2 tiles away, results in 3 points. See below
picture to know the distance.

### Now to introduce the teams:
<details>
<summary>Nanotrasen Basketball Department</summary>

</details>
<details>
<summary>Greytide Worldwide</summary>

</details>
<details>
<summary>Lusty Xenomorphs</summary>

</details>
<details>
<summary>Space Surfers</summary>

</details>
---
Big shoutout to the nukie round a few weeks ago where the nuke ops
challenged the crew (and clown) to a basketball match on their rebuilt
basketball shuttle. The nukies won, but it made me realize that the
basketball mechanics were very raw and needed some polishing.
#### TODO LIST
- [x] Fix bug where ball only goes over peoples heads if they are 1 tile
away
- [x] Remove leftover code comments and procs
- [x] Rebalance stamina values (maybe move this to different ball types)
- [x] Fix basketball stadium template runtiming from wall smoothing
during load
- [x] Fix space surfer stadium having an air breach somewhere
- [x] Add more sounds for when ball is passed, shot, or dunked
- [x] Make it so that holding a ball while on the floor isn't possible
(to avoid those meta cheese strats)
- [x] Drop basketball lets mobs make sounds when spinning (need to
detach signal?)
- [x] Finish adding a simple lobby menu for minigame
## Why It's Good For The Game
_If you can't slam with the best, then jam with the rest._
## Changelog
🆑
add: Add crafting recipe for basketballs (leather sheets) and basketball
hoops (metal, rods, and durathread)
add: Add new basketball minigame for 2-7 players. There are 4 different
courts and teams by default with more planned to be added later.
add: New basketball mechanics that uses stamina. Shoot with RMB, pass
with LMB, and dunk by clicking the hoop while adjacent. Spinning while
holding the ball decreases the chance for someone to steal the ball, but
it decreases your shooting accuracy. Shooting from 2 tiles away lets you
score 3 points.
qol: Basketballs now play a buzzer sound when someone scores. CtrlClick
will reset the scorecard and AltClick with a wrench will rotate the
hoop.
qol: Dunking and shooting animations for basketball.
soundadd: Added basketball bounce sound with credits attribution
imageadd: Added basketball icon to minigames. Move baseball and
dodgeball icons to toy/balls.dmi
/🆑
* Minigame DLC - Intergalactic Basketball League
* Update CentCom_skyrat_z2.dmm
* raptor
---------
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
* Fixes another instance of fortnite gaming on SS13 (#73770)
🆑 Iamgoofball
fix: You can no longer fortnite with glass sheets
/🆑
---------
Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>
* Fixes another instance of fortnite gaming on SS13
---------
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>
Adds "welder crafting" to iron sheets, rods and tiles. (#68987)
* Adds "welder crafting", using welders on iron, floor tiles, and iron rods using LMB/RMB to turn them into eachother. Also adds Balloon alerts while doing so, and contextual tips to indicate this is now a thing.
(cherry picked from commit 2a4bec28b9)
# Conflicts:
# code/game/objects/items/stacks/rods.dm
# code/game/objects/items/stacks/tiles/tile_iron.dm
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Ashwalker Improvements - Torches, Drying Racks, Seeds, and Smoke Pipes (#72683)
## About The Pull Request
This does the following:
- Replaces all of the lamps in the ashwalker ruin with torches (torches
have ~30 mins of fuel)
- Leaves a single lamp in the center
- Adds 2 porcini seeds and an additional towercap seed
- Adds a crafting recipe to make smoke pipes using wood
- Changes drying racks to require no power
This allows Ashwalkers to make more torches if needed AND grow their own
version of mushroom tobacco.
## Why It's Good For The Game
Makes Ashwalkers more cavelike.
## Changelog
🆑
add: Add torches, porcini mushroom seeds, towercap seeds to ash walker
ruin.
add: Change drying racks to not require power.
add: Add crafting recipe for smoking pipe that uses wood
/🆑
Co-authored-by: Tim <timothymtorres@gmail.com>
Makes a few previously microwave only cooking options also doable in an oven (#72473)
## About The Pull Request
Make the following list of things that can only be cooked in the
microwave currently also able to be cooked in an oven:
Uncooked rice
Raw spaghetti
Wet leather (YUM!)
Aloe
Onion slices
Cheese curds
Eggs, rotten or not
Ready donk
## Why It's Good For The Game
We've already got stuff that's microwave-oven interchangeable (donk
pockets), sometimes you don't have a microwave and you're just locked
out of more than a few recipes because something that could easily be
made in an oven isn't coded to be. The simple solution is just not have
that be the case.
## Changelog
🆑
qol: A few recipes that were microwave only (like boiling rice, heating
ready donk, so on) can now also be made in an oven
/🆑
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
You can no longer instantly build carving blocks/mineral doors (#72429)
You can no longer instantly build carving blocks/airlocks
Added replaced a few 1's with true's
## Why It's Good For The Game
SO YOU DONT PLOP DOWN 20 STRUCTURES WHILE A OFFICER IS CHASING YOU
FORTNITE STYLE
## Changelog
🆑 Improvedname
fix: fixes being able to instantly build carving blocks/mineral doors
/🆑
Co-authored-by: jughu <melvin2626@live.nl>
* [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>
* 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>
* premium internals now increase the slots of your internals box (#71440)
## About The Pull Request
premium internals boxes from the station trait now get 2 more slots and
have a slightly bigger sprite
also lowers the trait's weight a bit, making it equal to most other
traits.

## Why It's Good For The Game
the main reason im doing this is because this trait messes with anything
people wanna do to survival boxes, cause it takes up 2 slots, so you
have to account for that whenever youre making a subtype that you wanna
fill with more stuff, you cant really do that (currently an issue with
the nukie medical pr)
the other reason is station traits should affect the gameplay a bit more
than "wow i have 2 items i can normally get from an emergency toolbox",
a larger box doesnt change that much but its something.
## Changelog
🆑
balance: premium internals station trait now increases the slots of your
internals box
/🆑
* premium internals now increase the slots of your internals box
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Moves the bulk of shield code from the riot subtype into the core shield. (#71066)
## About The Pull Request
I wanted to "rework" the riot shield security has but most other shields
are subtypes of it, making them all inherit those features.
So I made this PR first to make my job easier and fix some odd bugs like
fixing wooden bucklers by slapping them with titanium sheets...
There *shouldn't* be any other big change outside of the titanium
healing and baton bashing they all inherited but I have been staring at
shield code and worked on another branch before deciding to split the
code improvement/fixes from the features so I might have missed
something.
And while there, kill some single letter vars, remove unnecessary lines,
etc.
## Why It's Good For The Game
Fixing a wooden shield by slapping it with titanium is weird... so is
fixing a glass+iron shield but that is a bigger balance change.
And well, easier for future shield changes to not inherit weird
behaviors from the riot shield.
## Changelog
🆑 Guillaume Prata
fix: You can no longer repair wooden bucklers and roman shields by
slapping them with a titanium sheet.
/🆑
* Moves the bulk of shield code from the riot subtype into the core shield.
* sr conflits, goliath shield, reagent buckler
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Biogenerator tweaks, leather makes more belts and clothing
* merge conflicts
* medbando is a leather recipes like the others, updated meat product biogen design
Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Bed war: add pillow weaponry and pillowman juggernaut suit (#69977)
* Add pillows you can hit someone you hate with it until they collaspe from exhaustion. The pillow can be made with cloth
* Adds a Pillow juggernaut suit, this suit allows you to automatically hit people with a pillow when you bump into them. It can be made from pillows and duct tape via the crafting menu
* Adds a bumpattack component, this can be added to any item and allows the user to auto attack on bump with a target, used for the juggernaut suit.
* Adds a Pillow hat an alternative to the paperbag hat, also made from duct tape and pillow. Very fashionable!
add: Clown/mime pillows
* The beds in dorm now come properly equipped with a pillow
* Bed war: add pillow weaponry and pillowman juggernaut suit
* repathed SR pillow to /obj/item/fancy_pillow
Co-authored-by: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Stairs DLC: Buildable stairs, material datum staircases, fall up a staircase (#70504)
Adds a few new types of stairs, and makes stairs buildable within rounds.
Also removes the terminator sprite variation for stairs, because its basically unused and really not needed with plane cube multiz.
* Stairs DLC: Buildable stairs, material datum staircases, fall up a staircase
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
* color_digi file shiz
* Trekk
* misc (hate) (setup, no items included)
* move corset to underwear
* segregation (no ERP!!)
* fuck u
* I got sidetracked and am moving new stuff to new branch
* NYI Prey suit/prisoner to costume, harness/overall/tac to Misc
* util uniform to Civilian
* classic prisoner jump
* move gear harnesses, tac_s to MISC file (i hate this file)
* fuck it, all into Misc
* mechanic need subbtype
* conflict replacenent
* why tf did this build correctly
* finale fixes
* Removes AI and Charge parts from tablets, adds support for more later.
* merge conflict
* remove modular tablet loadout item
* fix SR maps referencing tablets, add clear PDA instead of modular tablet loadout
* remove pda loadout item
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* [GBP No Update] Perish, individual logging runtime (#69024)
missed 2 or 3(lol it was more when I look back at the files), LOG_GAME tags on the log_message line, and did some cleaning up since i was looking through every log_message again
Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>
Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>
* [GBP No Update] Perish, individual logging runtime
Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>
* Adds the Mothroach (#68763)
About The Pull Request
Yup. That's pretty much it. This PR adds the Mothroach to the game, described as "An ancient ancestor of the moth that surprisingly looks like the crossbreed of a moth and a cockroach."
Do you love the Mothroach? Then you can cuddle with it and pat it, as well as place it on your head for extra cuteness.
What if you hate it, though? You can always kill and butcher Mothroaches in order to mass produce moth plushes for your own profit... How fun!
Either way, you win!
The Mothroach can be picked up and has a special on-head sprite (which looks really cute). It is able to vent-crawl and you may get one by randomly summoning a friendly mob through the gold slime extracts, or by ordering one through the Cargo Requests. After butchered, you may use its hide, a heart, and some cloth to craft a moth plushie, the most devilish of Devil's designs.
Full Preview of all the Sprites (NEW): https://www.youtube.com/watch?v=pdg8FTNEYjI
Preview of some of the Sprites (OLD): https://www.youtube.com/watch?v=9A-8hGCiW0s
In-hand, on-head, and grounded Mothroach sprite credits go to ValuedEmployee.
I did the Mothroach hide sprite though!
Why It's Good For The Game
The Mothroach is incredibly cute and a neat, fresh, new piece of content. Although it could use some future repurposing, right now it's simply a cute exotic pet with a few interactions.
These cute sprites are just too good to go to waste...
I keep seeing people complain about the lack of new content. Well, here's something niche that won't break the whole balance of the game and that will be cute. I seriously cannot see a motive not to add this to the game. Just because it isn't a powergaming tool or something that is seen every shift, that doesn't mean that it won't have a positive influence on the game. As I have stated, right now the Mothroaches are underperforming in terms of interactions and ways of getting them, but adding them is the first step to later improve them.
Changelog
cl
add: The Mothroach, your new local exotic pet
add: Mothroach Hide and Mothroach Meat
add: New crafting recipe for the Moth Plush: 1 Mothroach Hide; 1 heart; 3 cloth
fix: Fixes dead mobs on-head not having sprites
/cl
* Adds the Mothroach
Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com>
* Replaces GetComponent in Mining items with Signalers (#68575)
* Replaces many instances of GetComponents in mining items with signals and better uses overall of Components, in drills and the GPS handcuffs.
* To do this, also added 3 new signals to mechs when you are adding/removing mech equipment onto one.
* Replaces GetComponent in Mining items with Signalers
Co-authored-by: Salex08 <33989683+Salex08@users.noreply.github.com>
* Adds craftable glass floors for both plasma glass and reinforced plasma glass (#67449)
* Adds craftable glass floors for both plasma glass and reinforced plasma glass
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
* Adds a new desk bell item, for sadists. (#67199)
It's entirely unrealistic that there isn't a way for customers to annoy the hell out of any workers they desire with the simple press of a button.
Changelog
cl Wallem
add: Adds a desk bell, so you can let the service industry know how much you truly care about their hearing.
/cl
* Adds a new desk bell item, for sadists.
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>