Commit Graph

641 Commits

Author SHA1 Message Date
ChungusGamer666 1f9bc21fc5 Hemiplegic quirk (#76526)
## About The Pull Request

Like paraplegic, but instead of a horizontal half of your body being
fucked, it's a vertical half!

![image](https://github.com/tgstation/tgstation/assets/82850673/aab1059e-9f5a-4778-a72a-c55c9fe75403)

![image](https://github.com/tgstation/tgstation/assets/82850673/2edf1a76-906f-41f5-984c-4260b65a279d)

## Why It's Good For The Game

Character customization and pure, undistilled human suffering.

## Changelog
🆑
add: Added Hemiplegic quirk.
/🆑

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-07-05 19:09:38 -06:00
Vekter c5c20524c1 Adds build times to other forms of windows (AKA more Fornite removal) (#76449)
## About The Pull Request
Hot take but [Fortnite](https://www.youtube.com/watch?v=QqRLVFRe9AU) is
actually kind of fun when your opponents can't turn around and shit out
a five story mansion with a three car garage when you so much as breathe
in their direction.

I'm labeling this a fix because goof for some reason didn't do this in
his last anti-Fortnite PR and I can't imagine he intended to _not_ do
it.

## Why It's Good For The Game
Similarly, being able to shit out windows in combat is probably bad for
balance. All the windows take the same amount of time - 0.5s for
directional, 2s for full-tile.

## Changelog
🆑 Vekter
balance: Adds a build time to window types which didn't have ones
before.
/🆑
2023-07-01 15:32:43 +01:00
FunnyToilet 5f77db4915 Allows you to craft plastitaniumglass shards (#76283)
Some players are unaware that you can actually make plastitanium glass
shards, this will help with clarity!
2023-06-25 07:00:30 +00:00
Hatterhat 42f7267763 can't answer calls 'cause i'm baseballin - adds a baseball recipe to leather (#76135)
## About The Pull Request
baseballs can now be crafted with 3 leather

## Why It's Good For The Game
throwing interactions (correct me if i'm wrong but you literally can't
get these out of mail goodies, outside of having the throwing arm quirk
or the holodeck)

## Changelog

🆑
add: Baseballs can now be crafted with 3 leather.
/🆑

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2023-06-23 10:09:02 +02:00
Wallem 150a428e67 Makes the cardboard sprite 3D (#76103)
image: Tweaks cardboard sheet sprite
2023-06-23 03:07:58 -04:00
John Willard 8229972398 Tablet apps are now deleted when necessary & removes console preset. (#75863)
## About The Pull Request

Apps now properly delete themselves when removed, so they don't exist in
nullspace anymore.
Chat client now actually updates the uid, because its New() didn't call
parent.
Deletes the 'console' subtype of modular computer
Updates how downloading and transferring files are handled
Fixes being able to infinitely upload apps to a disk

## Why It's Good For The Game

Fixes some more bugs I found with apps and prevents spamming apps in a
disk.

## Changelog

🆑
fix: Maintenance data disks now properly transfer from PC to disk
fix: Disks can no longer be flooded with the same app repeatedly.
/🆑
2023-06-19 22:59:09 -07:00
Andrew da02be6f49 Hairless hides are created from the entire stack of hides instead of only one item from stack (#75974)
Tanning is barely used because biogens are available everywhere and are
a default source of leather.

This PR makes one of the steps - hairless hide creation - easier, as
before to process 5 hides you had to either click on the stack 5 times
in sequence, or manually separate 1 hide from the stack, throw around
you avoiding their merging, click on each of them and then merge them
back.

Maybe people will use this way of leather creation more often.
2023-06-19 07:53:48 +00:00
SyncIt21 922645b5b3 Light replacer & item patches (#75960)
## About The Pull Request
Somehow this code break's every week, hopefully this should be the last

1. Fixes #75951
It wasn't just a problem with Jani Borg light replacer but the normal
one's too. Now they all accept glass sheet's & light tubes (including
broken one's) when you attack them with a light replacer and not just
when you pick them up with hand (which Borg's can't do obviously) and
then clicking them on the light replacer.
2. Glass sheet's & shard can be put inside backpack's or other storage
item's and now they will all be consumed from the storage and not just
light tubes & bulbs
3. Make's feedback message's more informative and display them for all
insert event. they weren't displayed when a broken light tube was put in
the light replacer
4. Only glass shards are accepted by the light replacer and not plasma,
titanium shards etc. we should not use `istype()` for this purpose
5. Removed redundant` Initialize()` proc from `obj/item/light`
6. VV editing var's works properly
7. Blue beam for bluespace light replacer last's just 0.5 seconds so it
doesn't look awkward

## Changelog
🆑
fix: light replacer accepts glass sheets & light tubes when you attack
them with a light replacer
fix: only glass shards can fill the light replacer not other shard types
qol: glass sheet's & shards inside storage items like backpacks are also
consumed when you attack the light replacer with it
qol: feedback messages when inserting lights, glass sheet's, shards into
the light replacer are more descriptive and displayed for all insert
event's
qol: blue beam for bluespace light replacer last's just 0.5 seconds so
it doesn't look awkward
refactor: renamed `add_shards()` to just `add_shard()` for adding 1
shard at a time
refactor: removed redundant` Initialize()` proc from `obj/item/light`
refactor: VV editing var's works properly
/🆑

---------

Co-authored-by: Time-Green <timkoster1@hotmail.com>
2023-06-11 17:36:50 +00:00
John Willard 0c99bd28f4 Makes gasses use defines (#75542)
## About The Pull Request

Adds defines for gasses and replaces uses I've found to instead use the
defines.

Can you believe I made this PR while trying to work with Xenos? This
sucks!

## Why It's Good For The Game

There's a lot of different uses of things like "o2" and "plasma", and
they are pretty inconsistent. In some places, it's "hydrogen", in others
it's "h2". In some it's "plasma", others "plasm". This unifies it all
under defines so it has a less chance of breaking in the future.

## Changelog

Nothing player-facing.
2023-05-27 19:45:22 -04:00
Andrew 2d54693913 Test tubes and racks (#75179)
## About The Pull Request


![image](https://user-images.githubusercontent.com/3625094/236466928-dd7beffb-ff26-4d78-a10b-7be29aae56f2.png)

Bottles have varied volumes - some of them hold 30, some 50, while
having the same sprite. And the size is comparable with small beaker, so
it was a bit weird that it can hold only 30 units. Now the default
bottle volume is 50, consistently.

Test tubes are the new 30u container that replaces bottles created in
chem master (but not condi master) and pandemic.

For better management of test tubes, this PR also adds a rack that can
be crafted from 1 wooden plank. The rack stores up to 10 test tubes and
can pick them up and drop quickly similar to how the pill bottle works
with pills.


![image](https://user-images.githubusercontent.com/3625094/236472298-df4932a4-4620-4a6b-87c0-67efc7317d02.png)

## Why It's Good For The Game

Consistent volume for the bottle sprite instead of some being 30, some
50.

Essential attribute for chemical lab, good company for Chem Separator.

## Changelog

🆑 MTandi, coiledlamb 
add: Added test tubes and racks for them
balance: All 30u bottles now have 50u volume and chem master/pandemic
spawn tubes instead of bottles
/🆑
2023-05-23 17:07:55 -06:00
ShizCalev ef92ecefb9 Fixes material sniffers not being able to find materials properly (#75354)
![image](https://github.com/tgstation/tgstation/assets/6209658/d91d07ba-32b3-4580-a22a-616e0aab55e2)

stack/init was adding stacks to the global list if they had LESS THAN 10
units, though the sniffer only looks for things >= 10 units. Flipped
bracket, gg. add() was also using += instead of |=, which resulted in
duplicate entries for the same object in the global list when adding
stuff to a stack.

🆑 ShizCalev
fix: The materials sniffer now actually works!
/🆑
2023-05-11 19:57:51 -06:00
John Willard 1674f25725 New Medical job: The Coroner (#75065)
## About The Pull Request

HackMD: https://hackmd.io/RE9uRwSYSjCch17-OQ4pjQ?view

Feedback link: https://tgstation13.org/phpBB/viewtopic.php?f=10&t=33972

Adds a Coroner job to the game, they work in the Medical department and
have their office in the Morgue.
I was inspired to make this after I had played my first round on
Paradise and messed around in there. The analyzer is copied from there
(https://github.com/ParadiseSS13/Paradise/pull/20957), and their
jumpsuit is also mostly stolen from it (i just copied the color scheme
onto our own suits).

Coroners can perform autopsies on people to see their stats, like this

![image](https://user-images.githubusercontent.com/53777086/235369225-805d482c-56c0-441c-9ef8-a42d0a0192bc.png)

They have access to Medbay, and on lowpop will get Pharmacy (to make
their own formaldehyde). They also have their own Secure Morgue access
for their office (doubles as a surgery room because they are edgelords
or whatever) and the secure morgue trays.

Secure Morgue trays spawn with their beepers off and is only accessible
by them, the CMO, and HoS. It's used to morgue Antagonists. Security's
own morgue trays have been removed.

The job in action


https://cdn.discordapp.com/attachments/950489581151735849/1102297675669442570/2023-04-30_14-16-06.mp4

### Surgery changes

Autopsies are a Surgery, and I tried to intertwine this with the
Dissection surgery.
Dissections and Autopsies both require the Autopsy scanner to perform
them, however you can only perform one on any given body. Dissections
are for experiments, Autopsies is for the paper of information.

Dissected bodies now also give a ~20% surgery speed boost, this was
added at the request of Fikou as a way to encourage Doctors to let the
Coroner do their job before reviving a body.
I also remember the Medical skill, which allowed Doctors to do surgery
faster on people, and I hope that this can do something like that
WITHOUT adding the potential for exploiting, which led to the skill's
downfall.

### Morgue Improvements

Morgue trays are no longer named with pens, they instead will steal the
name of the last bodybag to be put in them.

Morgue trays are also removed from Brig Medical areas and Robotics, now
they have to bring their corpses to the Morgue where the Coroner can
keep track and ensure records are properly updated.

### Sprite credits

I can't fit it all in the Changelog, so this is who made what

McRamon
- Autopsy scanner

Tattax 
- Table clock sprites and in-hands

CoiledLamb
- Coroner jumpsuits & labcoats (inhand, on sprite, and their respective
alternatives)
- Coroner gloves
- CoronerDrobe (the vending machine)

## Why It's Good For The Game

This is mostly explained in the hackmd, but the goal of this is:

1. Increase the use of the Medical Records console.
2. Add a new and interesting way for Detectives to uncover mysteries.
3. Add a more RP-flavored role in Medical that still has mechanics tied
behind it.

## Changelog

🆑 JohnFulpWillard, sprites by McRamon, tattax, and Lamb
add: The Coroner, a new Medical role revolving around dead corpses and
autopsies.
add: The Coroner's Autopsy Scanner, used for discovering the cause for
someone's death, listing their wounds, the causes of them, their
reagents, and diseases (including stealth ones!)
qol: Morgue Trays are now named after the bodybags inside of them.
balance: The morgue now has 'Secure' morgue trays which by default don't
beep.
balance: Security Medical area and Robotics no longer have their own
morgue trays.
balance: Dissected bodies now have faster surgery speed. Autopsies also
count as dissections, however they're mutually exclusive.
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-05-05 21:31:28 -04:00
zxaber 1546296bbe Cyborg Rechargers material changes, part two (#74814)
## About The Pull Request
Continuation of #74770;
- Fixes some botched math due to the borg material storage datums using
a proprietary value per sheet (500 vs 2000)
- Restocking is now enabled by default when a borg enters a charger. It
can be disabled during the charge session, but will re-enable the next
time the charger is used.
- Moves the Metal and Glass storage datums to a new shared subtype.
- Restocking speed scales with the manipulator tier of the recharger; By
default, it is 1/8th the total metal/glass storage per cycle, and
increases to 1/5th with a tier 4 manipulator.
## Why It's Good For The Game
These were changes I meant to make before the last PR was merged.
## Changelog
🆑
fix: Fixed math on cyborg restocking
qol: borgs entering chargers now have the restocking feature enabled by
default. It can be disabled with a right-click while charging if you
don't want to eat the station's mats.
balance: Borg restocking speed now scales with the charger's manipulator
tier.
/🆑
2023-05-04 08:04:01 -07:00
ArcaneMusic f2fd69a49a Minerals have been refactored so costs and minerals in items are now in terms of mineral defines. (#75052)
Ladies, Gentlemen, Gamers. You're probably wondering why I've called you
all here (through the automatic reviewer request system). So, mineral
balance! Mineral balance is less a balance and more of a nervous white
dude juggling spinning plates on a high-wire on his first day. The fact
it hasn't failed after going on this long is a miracle in and of itself.

This PR does not change mineral balance. What this does is moves over
every individual cost, both in crafting recipes attached to an object
over to a define based system. We have 3 defines:

`sheet_material_amount=2000` . Stock standard mineral sheet. This being
our central mineral unit, this is used for all costs 2000+.
`half_sheet_material_amount=1000` . Same as above, but using iron rods
as our inbetween for costs of 1000-1999.
`small_material_amount=100` . This hits 1-999. This covers... a
startlingly large amount of the codebase. It's feast or famine out here
in terms of mineral costs as a result, items are either sheets upon
sheets, or some fraction of small mats.

Shout out to riot darts for being the worst material cost in the game. I
will not elaborate.

Regardless, this has no functional change, but it sets the groundwork
for making future changes to material costs much, MUCH easier, and moves
over to a single, standardized set of units to help enforce coding
standards on new items, and will bring up lots of uncomfortable balance
questions down the line.

For now though, this serves as some rough boundaries on how items costs
are related, and will make adjusting these values easier going forward.

Except for foam darts.

I did round up foam darts.

Adjusting mineral balance on the macro scale will be as simple as
changing the aforementioned mineral defines, where the alternative is a
rats nest of magic number defines. ~~No seriously, 11.25 iron for a foam
dart are you kidding me what is the POINT WHY NOT JUST MAKE IT 11~~

Items individual numbers have not been adjusted yet, but we can
standardize how the conversation can be held and actually GET SOMEWHERE
on material balance as opposed to throwing our hands up or ignoring it
for another 10 years.
2023-05-03 14:44:51 +00:00
Andrew 5965a156c0 You can now move dirt (#75028)
## About The Pull Request

Changed the recipe for dirt piles from 3 sandstone bricks to 3 sand. 
And made the dirt pile drop these 3 sand on deconstruction instead of
just disappearing.


![dreamseeker_Lj6jELZPjb](https://user-images.githubusercontent.com/3625094/235268536-c9835fa0-ce31-4bd3-a75c-ef2f3dcc7da7.gif)

Also fixed hydrotrays resetting their water and nutriments on
construction.

## Why It's Good For The Game

You could accidentally click on the wrong mouse button and loose your
dirt pile instead of uprooting a plant.
And it didn't make sense why you would need to turn sand into bricks
before making a pile out of it.

## Changelog

🆑
qol: Dirt pile is crafted from sand instead of sandstone and drops it on
deconstruction
fix: You can't have free water and nutriments by rebuilding hydrotray
/🆑
2023-04-29 23:32:42 -06:00
tralezab fefd9aa4ea 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>
2023-04-28 18:15:16 -07:00
Dawnseer 71ef04efa0 Fire Proof Goliath Cloak (#74954)
## About The Pull Request
Right so, I was trying to imagine why goliath cloak isn't fire proof
when goliaths can quite literally bathe in lava. So I decided it must be
an oversight.
So now they're fireproof.

![image](https://user-images.githubusercontent.com/126404225/234091167-8018bf17-3f04-45e2-9b16-a15f765e1288.png)
## Why It's Good For The Game
Fireproof mob leather is actually fireproof
## Changelog
🆑

fix: fixed an oversight - Made Goliath Cloak and Goliath Cloak Hood
fireproof. And Goliath hide.
/🆑
2023-04-26 08:06:05 -04:00
tattle 77aebb4c29 Audio File Cleanup (#74863)
## About The Pull Request
Removes a bunch of sound files that we don't use and moves some sound
files into better locations. I'm hoping to get an archive repo for
sounds going, much like the
[map_depot](https://github.com/tgstation/map_depot) and
[SS13-sprites](https://github.com/tgstation/SS13-sprites).

EDIT: The old sound files are being moved here:
https://github.com/tgstation/SS13-sounds

Also increased the volume of the clownana rustle sound and clipped off
some dead air from shockwave_explosion

## Why It's Good For The Game
Removes a total of 1.95MB worth of unused sound files from the codebase.

## Changelog
🆑 Tattle
soundadd: increased the volume of the clownana rustle
/🆑

---------

Co-authored-by: tattle <article.disaster@gmail.com>
2023-04-20 17:22:08 -06:00
Supermichael777 1eccff1eb7 Fixes Plastitanium glass duplication (#74804)
## About The Pull Request
Plastitanium glass no longer always creates stacks of 50, this was
caused by an accidental overload with the presized stacks used for
mapping.
Fixes #74802

## Changelog
🆑
fix:  Plastitanium glass no longer always creates stacks of 50
/🆑
2023-04-18 16:26:12 -06:00
ChungusGamer666 b54b2f62b3 Turns loomable component into a bespoke element (#74685)
## About The Pull Request

Thought https://github.com/tgstation/tgstation/pull/74552 was good?

YOU WON'T BE READY FOR THIS ONE...

## Why It's Good For The Game

free miniscule amount of performance by getting rid of some silly
component datums

## Changelog

player dont care

---------

Co-authored-by: san7890 <the@san7890.com>
2023-04-17 16:11:36 -06:00
Bloop ac5236a251 Refactors sheet crafting to better support directional construction (#74572)
## About The Pull Request


https://github.com/tgstation/tgstation/blob/0426f7ddbaa91439c7278189101f5db9c7f2ed95/code/game/objects/items/stacks/stack.dm#L449

Ok, but can we not?

This PR refactors sheet crafting to generalize all the cases that were
previously locked behind grille/window type checks and such. In their
stead there are bitflags that can be set to achieve certain behaviors.

All the behavior from before should be preserved, but now it can be
extended to other items. E.g. if you want a railing that can be crafted
underneath directional windows, or an item that behaves like a grille
does--it's just a matter of setting the right obj_flags for it now.

This makes it very simple and painless to add new recipes that use
directional crafting! It's all modular now.

<details><summary>Details</summary>

---

### What I've done:

-Eliminated all the type checks, instead it will now be handled by
object flags and recipe vars, making for a much more configurable
system.

-Added two new obj_flags: `BLOCKS_CONSTRUCTION_DIR` and
`IGNORE_DENSITY`.
-Additionally, I renamed the existing flag `NO_BUILD` to
`BLOCKS_CONSTRUCTION`.

-Changes the proc `valid_window_location` to `valid_build_direction`,
and makes it work for things other than windows.

-Removed a deprecated `window_checks` var from the stack_recipe datum.
-Added three more vars to the stack_recipe datum: `check_direction` and
`check_density`, `is_fulltile`

-Decoupled `on_solid_ground` from the object density check. Now you can
set those separately, allowing you to make recipes that forbid/allow
building things over other things while in space.

---

### What the new flags do:

`BLOCKS_CONSTRUCTION` works as before---prevents objects from being
built on the object. I felt that the previous name was not descriptive
enough, you should know exactly what it does just from looking at the
name.
_example: dna scanner_

`BLOCKS_CONSTRUCTION_DIR` -- setting this on an object will prevent
objects from being built on it when their directions are the same.
_example: directional windows, windoors, railings_

`IGNORE_DENSITY` -- setting this on an object will cause its density to
be ignored when performing the construction density check. This could
have other potential uses as well in the future.
_example: grilles, directional windows, tables_

These three flags cover all the bases for the types of items that are
currently craftable, so there is no more need for any type checking or
weird snowflake window checks. Simply set the appropriate flag and it'll
work as you would expect.

---


### What the recipe vars do:
`check_direction` tells the recipe to check if there's something in that
direction with the `BLOCKS_CONSTRUCTION_DIR` flag set.

`check_density` tells the recipe to run the density check when set. This
is true by default. There are very few items in the game that currently
have this set to false--namely grilles. Setting this to false will make
it so that the object can be constructed regardless of what is in that
tile (unless `one_per_turf` is also set, which will make it so that you
can't craft the same thing twice in the same turf).

`is_fulltile` is used for fulltile windows, but it doesn't necessarily
have to be--you can give this to any recipe and it will adopt the same
properties as that of the fulltile window. Basically they have a special
case where they shouldn't be able to be built over directional
constructions, where normally things would be able to be. Setting this
makes check_direction true as well.

---

### In summary: 

Sheet crafting still works just as it did before. But the backend of it
has gotten a glow up and will be able to more easily support new
behaviors.

</details>

## Why It's Good For The Game

This makes the crafting system much more flexible to add recipes to, and
will prevent bad code practices of stacking more conditionals down the
line whenever someone wants to add an item that behaves like grilles or
directional windows in how they are constructed.

It had to be done. Those window checks were a mess.

## Changelog

🆑
qol: added fifty stack versions of remaining glass sheet stacks for ease
of debugging
refactor: refactored sheet crafting to better support directional
constructions that aren't windows
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-04-15 21:48:34 -06:00
zxaber 697c8fdc40 Adds a Material Stack manipulation apparatus for Engineer Cyborgs, replaces the R-Glass tool (#74297)
## About The Pull Request
- Adds a new apparatus for Engineer Cyborgs that can pick up and
manipulate material sheet stacks. Once holding a stack, interactions are
passed to the stack.
- Sheets in the new apparatus will always show as single sheets while
held, regardless of the actual count.
- Removes the R-Glass tool from Engineer Cyborgs.
- Sabotage borgs have the same changes
## Why It's Good For The Game
Allows Engiborgs to repair or build with various materials, without
(further) destroying the concept of material economy.

The R-Glass tool, in my experience, is generally unused, as the RCD can
create R-Windows and that's the main use for the sheets. So the tool has
been removed to keep the Engineer Borg Toolkit from exploding. The new
tool can also pick up R-Glass, if a need for it arises.
## Changelog
🆑
balance: Engineer Borgs now have a tool to manipulate material stacks
(and also tile stacks). This replaces the R-Glass tool.
/🆑
Pictured: Apparatus carrying titanium.

![image](https://user-images.githubusercontent.com/37497534/228021045-0f5a6c76-9caa-47de-ad0a-d20e7e1f4eb2.png)
2023-04-15 18:23:02 -07:00
Paxilmaniac ac756c9f3e Componentizes loomability (#74552)
## About The Pull Request

As shrimple as the title might imply, the ability for an item to be
processed in a loom is now a component.

Behavior on looming cotton, durathread, and wool, should all be the
exact same in terms of cost, time, results, etc.
## Why It's Good For The Game

If, for any reason, someone might want to extend the behavior of "this
thing can be loomed" to other items, it can be done.
## Changelog
🆑
code: The ability for objects to be loomed is now a component, with all
of the looming behavior moved off of the structure and into said
component. The actual behavior for looming cotton (clicking on a loom
with cotton) is completely unchanged.
/🆑

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-04-08 18:53:23 +00:00
Tim 4397d63a55 Split weapons_and_items.dmi icons into their own categories (#74363)
## About The Pull Request
This sprite file had been a dumping ground for miscellaneous sprites for
the past decade. It's bloated and full of random kinds of icons and even
has a few unused ones. It's time to reorganize them into their own
separate dmi's based on theme.

## Why It's Good For The Game
Better organization and easier access when looking for stuff.

## Changelog
🆑
imageadd: Split all icons in weapons_and_items.dmi to their own
categories
imagedel: Removed some unused icons
/🆑
2023-04-06 08:30:57 +12:00
Tim 73a083ca1e Minigame DLC - Intergalactic Basketball League (#72459)
## About The Pull Request
New DLC bout to drop.


![dreamseeker_45s0qiPMXE](https://user-images.githubusercontent.com/5195984/210466427-35b90d46-6620-45e2-8b21-66d1dcada76f.png)

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.


![dreamseeker_1iFLhQGx01](https://user-images.githubusercontent.com/5195984/210469319-162b9745-fcae-4261-92ef-228388eb4f6f.png)

### Now to introduce the teams:

<details>
<summary>Nanotrasen Basketball Department</summary>


![dreamseeker_baSqp2nipv](https://user-images.githubusercontent.com/5195984/210469887-9e0a92d5-d4bd-4da8-9e73-b11d91fdfcd8.png)

</details>

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


![dreamseeker_quzZ3KnwpX](https://user-images.githubusercontent.com/5195984/210469923-ed774656-f5cc-43bc-8314-f8309a01c474.png)

</details>

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


![dreamseeker_VDeT3JQkNF](https://user-images.githubusercontent.com/5195984/210469944-a229e0cc-4b2e-4754-a0b4-6b36953dca2e.png)

</details>

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


![dreamseeker_Dh91fznQbN](https://user-images.githubusercontent.com/5195984/210469963-9a85b4e3-b69d-4b66-8c96-4e2ff2b3b983.png)

</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
/🆑
2023-03-23 22:41:41 -04:00
LemonInTheDark 33d9a0338f Reworks trashbags slightly (#73761)
## About The Pull Request

I'm a bit sad about the state of trashbags. 
They're very clunky to use, so they almost never get touched. S
depressing. Let's try and fix that.

Let's make em fit in the belt slot (again), but as a tradeoff we'll make
it harder to pull one thing from your bag.
We'll give it a say, 1.5 second delay, so you can't quickdraw from em.
If you try and dump them out into something else, we'll throw any
spillover on the ground below you

I'm also doing some general code cleanup here. Making procs more
readable, vars more direct, removing some old legacy stuff.
I've added a remove_single proc to hook into via subtype, which takes a
mob as input. this has required placing extra requirement on some helper
procs, but fortunately it's not something they're unable to meet.

My hope is this will make garbage bags usable without being stupid.

## Why It's Good For The Game

I don't see these get used at all, cause they're a pain to carry around.
They got gimped because people were using them as infinite storage for
shotgun shells and other small items.
I've made using them for this sort of thing hard and slow, so I think we
oughta be fine. If not I'll do some more touching, maybe give the
autodrop a delay.

## Changelog
🆑
balance: The janitor's trashbag now fits on his belt. In exchange,
taking something out of it sends a visible message, and has a delay.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-03-14 16:39:24 -06:00
Iamgoofball e74a429e53 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>
2023-03-06 09:32:47 +13:00
tattle fd48108219 Crafting urinals, noticeboards, and pod controllers (#72861)
## About The Pull Request
Breaking down #72371 because it's... unreasonably large.
So this PR adds recipes for urinals and noticeboards, and a circuit for
pod computers.

The pod computers don't work, but you can certainly remove them without
smacking them like an animal until they fall to pieces.

## Why It's Good For The Game
Wallening compliance.

## Changelog
🆑 Tattle
qol: urinals and noticeboards can be handcrafted
qol: pod computers can be deconstructed
/🆑

Co-authored-by: tattle <article.disaster@gmail.com>
2023-01-23 10:29:31 +01:00
Fikou 257dd62f8c Mannequins (#72830)
## About The Pull Request
you can now craft mannequins using 25 wood or plastic
they work with the mob stripping system letting you put items on em!

![image](https://user-images.githubusercontent.com/23585223/213600352-ad79cbaa-3ce0-4bf0-aa25-d31d01b5f51a.png)

![image](https://user-images.githubusercontent.com/23585223/213676239-065f266b-5874-43f1-81e6-2730e0a32fa7.png)

## Why It's Good For The Game
fun stuff for CARGO FASHION showcases.

## Changelog
🆑
add: You can now craft mannequins with wood or plastic.
/🆑
2023-01-21 19:09:29 -08:00
Tim 4d81c177f3 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
/🆑
2023-01-21 15:57:22 -08:00
Fikou 519bf69869 Dynamic Human Icon Generation For Simple/Basic Mobs (& Cardboard Cutouts) (#72517)
## About The Pull Request
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)

## Why It's Good For The Game
prevents these icons ever being outdated, they'll always look what they
are supposed to, saves spriting work

## Changelog
🆑 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>
2023-01-18 20:04:10 +00:00
Jeremiah 872e64fb05 Adds spaces around logical operators (#72603)
## About The Pull Request
Part of a prior PR that was closed (#72562). This version does not add
the check in CI.
## Why It's Good For The Game
The work is already done, so I figured why not.
## Changelog
N/A Nothing player facing

Co-authored-by: Jeremiah Snow <jlsnow301@pm.me>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-01-16 16:56:35 -08:00
Wallem feb7a65ca1 Material Resprites by Imaginos & PestoVerde (#72652)
imageadd: New material and ore sprites by PestoVerde & Imaginos
2023-01-12 20:14:34 -05:00
Paxilmaniac d46eea7593 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
/🆑
2023-01-07 20:37:50 +01:00
jughu 87edb69de2 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
/🆑
2023-01-03 15:42:18 -08:00
Zephyr 6a0c884410 [no gbp] removes all duplicate armor datums (#72354)
## About The Pull Request
closes #72348 
Title
## Why It's Good For The Game

My bad
## Changelog
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);
}
```
2022-12-30 03:43:36 -05:00
Andrew 0818d6ae4c Crafting/Cooking menu update (#71779)
## About The Pull Request

Updated crafting menu, adding a lot of new functions and recipes that
were not in the crafting menu before.

<img alt="cult"
src="https://user-images.githubusercontent.com/3625094/206009533-aec3a1dd-cbe5-45eb-8515-1b75fabb65c5.PNG">

<img alt="nH77dLyyGx"
src="https://user-images.githubusercontent.com/3625094/206009786-b6706f70-0599-40bf-b051-8f499de43abd.png">


![image](https://user-images.githubusercontent.com/3625094/206623881-12d8abfc-de5e-458e-a01c-3daac8dbe9bd.png)


https://user-images.githubusercontent.com/3625094/206009841-738e4a03-0660-45b7-8d83-15eeb6501967.mp4

## Why It's Good For The Game

It is easier to use, and it has a lot of recipes that were spread
throughout the game, some of which weren't even on the wiki.
Crafting and cooking now count about 1200 recipes in total, including
conditionally available ones.

## Changelog

🆑
qol: Rewrote the crafting/cooking menu UI
qol: Split crafting and cooking menus in two different menus
qol: Crafting is no longer blocking the entire UI, only the "Make"
buttons are disabled
qol: Added stack crafting recipes to the crafting menu
qol: Added cooking recipes that were absent in the crafting menu before
(tool recipes, machine recipes, reactions)
qol: Added option to search recipes by title
qol: Added option to filter recipes by required materials/ingredients
qol: Added food types to the cooking menu, highlighting diet of your
species (liked, disliked foods)
qol: Added total nutrition value of the result to the cooking menu
qol: Added option to filter cooking recipes by the food type of the
resulting food
qol: Added "Can make" category that lists all currently craftable
recipes throughout all categories
refactor: changed categories and reshuffled some items in them
code: Reagents now have default container to get an icon from the
reagent datum
code: Objects now have `desc_controls` var for OOC information about
mouse controls that are visible on examine, but not in the description
fix: Fixed alignment on many food icons
fix: Fixed missing icon for beef stroganoff
/🆑

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2022-12-25 12:27:49 -08:00
Zephyr 72add64520 Refactors armor into dedicated subtypes (#71986)
## About The Pull Request

See title.
## Why It's Good For The Game

Code is cleaner, and more readable/intuitive
Technically closes
https://github.com/tgstation/dev-cycles-initiative/issues/8
## Changelog
🆑
refactor: armor, from the ground up basically
/🆑

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-12-23 16:21:22 -08:00
tattle 0bb30cdefc [MDB IGNORE] Grayscale sofas (#71539)
## About The Pull Request
Ports some sofa sprites from over at
https://github.com/BeeStation/BeeStation-Hornet/pull/7547 and makes them
grayscale. Also random tool colours now use defines.


![image](https://user-images.githubusercontent.com/66640614/204077835-94b713a9-a7e5-42fc-8c65-5724ca11cc4a.png)


![image](https://user-images.githubusercontent.com/66640614/204077844-87b33cda-d829-4ebb-a81f-a5e05453999d.png)

## Why It's Good For The Game
Gives us the opportunity to make different coloured couches more easily.
## Changelog

🆑 Tattle, PestoVerde322
imageadd: couches are now grayscale
code: random tool colours now use defines
/🆑

Co-authored-by: tattle <article.disaster@gmail.com>
2022-11-30 19:01:24 -08:00
Fikou 6a23bce095 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.

![image](https://user-images.githubusercontent.com/23585223/203337272-ea75ae4b-111e-4adb-8598-c9cba4c4e47b.png)


## 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
/🆑
2022-11-25 11:35:50 -08:00
GuillaumePrata 71b63d9233 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.
/🆑
2022-11-22 19:51:21 +00:00
Andrew 590847bdf7 Biogenerator tweaks, leather makes more belts and clothing (#71175)
## About The Pull Request

### Revamped the biogenerator UI:


https://user-images.githubusercontent.com/3625094/200973283-b703f21b-c747-493e-98d9-043eef86d410.mp4

### Changed biogenerator icon to use layers and see the biomass level:


https://user-images.githubusercontent.com/3625094/201396065-caeaa412-6676-46f6-875e-efa2dca34985.mp4

### Biogenerator rebalance:

- Now you don't need the beaker to print solid products.
- Biogenerator now accepts all food, not just plants.
- Biogenerator now treats all nutriment subtypes as nutriments, so
vitamins and proteins also turn into biomass.
- Biomass now has the same units as other reagents (you get 5 biomass
from 5 nutrient with tier 1 parts).
- Doubled the cost of all items and reagents. (biomass generation
reduced by 10 and prices - by 5)
- Chemicals output amounts are now in units and you can select how much
you want to output exactly. It will not let you specify more than the
size of container or above 50 units with one button click.
- Reduced the amount of stored items and introduced a limit to the
biomass, both tied to the matter bin tier.

### Recipes changes:

Made biogenerator more dumb by moving the clothing out from the
biogenerator designs, and extending leather recipes instead.

The biogenerator is a grinder/recycler style machine so it doesn't make
sense that it outputs clothing.
Also you need to make leather to craft the toolbelt, while you can't do
the same to craft job-specific belts.
Now you can print leather in biogenerator and craft the leather clothing
by using the leather in-hand.
And the rice hat is now crafted from bamboo, instead of biogenerator.

Also added paper to the biogenerator recipes as it makes stuff from
cellulose and barely anyone knows that you can craft paper from 1 log
and 50 water. And paper is needed in large quantities to craft some
items, like paper frames.

And it doesn't output a pack of rolling paper. It's dumb now. It prints
the rolling paper sheets instead.

## Why It's Good For The Game

Biogenerator had terrible UX and backend logic. I didn't improve much on
BE though, but now it should be less frustrating to use.

Also I hate how biogenerator is superior to all other means of obtaining
its products. It doesn't make sense to grow and grind wheat, for
instance, when you can just throw shit into biogenerator and get the
flour fast. And the costs are ridiculous - you can get a couple of
bottles of fertilizers just from one medium potato.

It honestly begs for more nerfing, at least to make the nutriment -
chemicals exchange rate 1:1.

The reason for the biomass cap is because people use it as a sink for
veggies and generate infinite biomass. Maybe the limit will make them
care more about the part upgrade and offload some of the veggies to the
fridge for the Cook.

Also it was weird that biogenerator could tailor some things, while
others have to be crafted in-hand. Now you can print leather and craft
all types of belts and leather clothing.

## Changelog
🆑
refactor: biogenerator UI revamped
qol: biogenerator no longer requires beaker for materials, monkey cubes
and nori
balance: biogenerator accepts all food, not just plants
balance: biogenerator treats all nutriment subtypes as nutriments
(vitamins, protein, etc.)
balance: biogenerator product prices doubled
balance: biogenerator biomass storage is limited depending on the level
of matter bins
balance: cowboy boots recipe moved from crafting to leather recipes
balance: leather clothing & belt recipes moved from biogenerator to
leather recipes
balance: rice hat recipe moved from biogenerator to bamboo recipes
balance: biogenerator now outputs rolling paper sheets instead of a pack
add: biogenerator can now print paper
imageadd: biogenerator icons now use overlays, have emissive layer and
indicate the biomass volume
/🆑
2022-11-21 20:57:13 -08:00
AnturK 4d6a8bc537 515 Compatibility (#71161)
Makes the code compatible with 515.1594+

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

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

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

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-15 03:50:11 +00:00
tattle ad5debaaa1 Add investigate_deaths (#71112)
## About The Pull Request
Adds INVESTIGATE_DEATHS, an investigate category intended to better show
causes of death.


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


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

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

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

Also fixes #59028

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

Co-authored-by: tattle <article.disaster@gmail.com>
2022-11-07 16:22:37 -08:00
MrMelbert 1ac4a67c27 Chefs can now kiss food they make to make it with love. (And a lot of cooking refactoring) (#70409)
About The Pull Request

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

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

    Code improvements all around baking and grilling code.

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

Why It's Good For The Game

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

cl Melbert
add: Chefs can now make food with love. They can purchase a skillchip from their vendor which enhances their kiss emote. Using your kiss on food you create will add a special reagent to it which makes it nicer.
refactor: Separated Microwavable from the Edible component, refactored microwave act to accompany this
refactor: Refactored how grilled items are generated
refactor: Refactored how silver slime food items are generated
refactor: Refactored how edible items inherit new edible statuses
code: Removed some magic numbers from microwaves
code: General code improvements for grillable / bakeable / etc
/cl
2022-11-04 09:45:01 +13:00
FinancialGoose e49e165482 Bed war: add pillow weaponry and pillowman juggernaut suit (#69977)
* Add pillows you can hit someone you hate with it until they collaspe from exhaustion. The pillow can be made with cloth
* Adds a Pillow juggernaut suit, this suit allows you to automatically hit people with a pillow when you bump into them. It can be made from pillows and duct tape via the crafting menu
* Adds a bumpattack component, this can be added to any item and allows the user to auto attack on bump with a target, used for the juggernaut suit.
* Adds a Pillow hat an alternative to the paperbag hat, also made from duct tape and pillow. Very fashionable!
add: Clown/mime pillows
* The beds in dorm now come properly equipped with a pillow
2022-11-02 13:05:50 -04:00
John Willard f1f46275f0 Removes tablet hard drives entirely (HDD & SSD) (#70678)
* Removes HDD's entirely

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

* starts on removing SSD

* updatepaths and kills off SSD

* update path :D

* Fixes to programs and icons

* Ready for review now

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

* merge conflict  fix

* can't win them all

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

* Renames the updatepaths

* removes the qdel loop

* accidentally new'ed programs twice

* Fix program's computer var

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

* more fixes for pens and idle threads

* Fixes PDAs installing apps twice.

* simplifies inserted disk & PDA disk

* fuck's sake

* Use istype instead

* revert

* Revert "revert"

This reverts commit 9ede628c6fef9c7c86417234f6d8ada1ff9e2fef.

* why did that happen

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

* MC_SSD added to master lol

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-26 00:29:50 +00:00
Paxilmaniac 7082880bf3 Stairs DLC: Buildable stairs, material datum staircases, fall up a staircase (#70504)
Adds a few new types of stairs, and makes stairs buildable within rounds.
Also removes the terminator sprite variation for stairs, because its basically unused and really not needed with plane cube multiz.
2022-10-17 16:23:37 +02:00
Twaticus c7dde06668 [MDB Ignore]Hats DMI split (#70060)
Splits head dmi into separate files for both mob and obj icons. Kept similar to suit split categorization + some more. New files include beanie, bio, chaplain, costume, cowboy, default, hats(softcaps, fedoras, head caps, generic hats), helmet(helmets and other armored headgear/hoods), spacehelm, utility(hardhats, mostly work related hats), wizard.
Moves animal/pet head sitting icons to 1 folder, pets_head.dmi
Renames PAI head sitting icon file to pai_head.dmi
2022-10-06 21:37:06 -07:00
axietheaxolotl 0d0c8dfcf2 1 AM Leather Jackets (#70284)
* yeah

* yea
2022-10-06 02:51:35 -03:00