Commit Graph

131 Commits

Author SHA1 Message Date
SkyratBot
4a618d0561 [MIRROR] Watcher Nest Lavaland Ruin [MDB IGNORE] (#24286)
* Watcher Nest Lavaland Ruin (#78790)

## About The Pull Request

Adds a small new lavaland ruin, the Watchers' Grave.

![image](https://github.com/tgstation/tgstation/assets/7483112/9c3fa6f0-3e7d-4540-8646-5229eb11445b)

![image](https://github.com/tgstation/tgstation/assets/7483112/93bc14f0-9a0c-40d3-bd30-cc79a0d85752)

You will need to figure out yourself how to find a way through the walls
surrounding it (it's not very hard).
This is mostly just atmospheric but also serves as a delivery vehicle
for a unique item; an orphaned Watcher egg.
(That's kind of it in terms of loot, unless you count a handful of
lavaland mob corpses and mushrooms).

You can either eat this (it's an egg), throw it at someone to spawn an
angry watcher, or keep hold of it for a while and see what happens.

<details>

![dreamseeker_cMNnZXjfgL](https://github.com/tgstation/tgstation/assets/7483112/841db8fc-19ac-431f-aa66-c9ec5fbedbc3)

That's right it's your very own baby watcher.
It orbits your head and shoots at lavaland creatures for unimpressive
damage. It won't ever intentionally shoot a player but they might walk
in front of it, as it doesn't hurt very much they will probably forgive
you.
If you die it will continue circling your corpse to guard it against
predation.
</details>

In creating this ruin I also added a new component called "corpse
description".
It provides some extra examine text to a corpse which is removed
permanently if the mob is revived.
There's a field you can varedit on corpse spawners (or make a subtype)
which will automatically apply it to spawned corpses.
You can use it for environmental storytelling. Or admins can use it to
make fun of how you died.

Also I fixed basic mobs runtiming when examined by ghosts.

## Why It's Good For The Game

More variety in map generation. It's cute.
Adds a tool that mappers might like.

## Changelog

🆑
add: Adds a new lavaland ruin where you can find a unique egg.
/🆑

* Watcher Nest Lavaland Ruin

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-10-11 19:57:35 -04:00
SkyratBot
0c9149bf35 [MIRROR] Refactor gib code to use bitflags and have documentation [MDB IGNORE] (#24143)
* Refactor gib code to use bitflags and have documentation

* Modular updates

* Modular updates

* Modular updates

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-09 15:00:17 -04:00
SkyratBot
379c4d707f [MIRROR] Ashwalkers team stores players_spawned via ckeys rather than keys now [MDB IGNORE] (#24071)
* Ashwalkers team stores players_spawned via ckeys rather than keys now

* Update mining_roles.dm

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-10-03 09:41:05 +00:00
SkyratBot
d9624bdf97 [MIRROR] Multi-Z Support for Lazy Templates | Cleans up some turf flag misuse [MDB IGNORE] (#23794)
* Multi-Z Support for Lazy Templates | Cleans up some turf flag misuse

* Update hilbertshotel.dm

* Modular proc ref

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-19 13:26:14 -04:00
SkyratBot
9f3be12c19 [MIRROR] [TEST-MERGE FIRST] Wound refactor number two: Full synthetic support [MDB IGNORE] (#23601)
* [TEST-MERGE FIRST] Wound refactor number two: Full synthetic support

* Wound refactor two compatability (#23618)

* Delam emergency procedure moth (#23483)

* safety moff

* delta/whitespace/examine

* icebox

* moff poster

* moff poster

* Update DelamProcedure.tsx

* Update scram.dm

* sound plays during warning

* remove nightshift, theres already a global proc

* scrubber hint

* missed that define

* Apply suggestions from code review

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>

* covered by ui_interact

* Update modular_skyrat/modules/delam_emergency_stop/code/scram.dm

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>

* Update modular_skyrat/modules/delam_emergency_stop/code/scram.dm

---------

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

* Automatic changelog for PR #23483 [ci skip]

* Automatic changelog compile [ci skip]

* [non modular] disables TG "hold up" for the foreseeable future (#23607)

Update gun.dm

* Automatic changelog for PR #23607 [ci skip]

* [MIRROR] Desouls Hivelord [MDB IGNORE] (#23609)

* Desouls Hivelord (#78213)

## About The Pull Request

![dreammaker_RJz4brjobM](https://github.com/tgstation/tgstation/assets/7483112/e5e4a3e9-ea6b-47f9-887c-3339d24d3fa8)

Replaces the sprite of the hivelord with a new one, in my continuing
quest to annihilate the old asteroid mob sprites.
A (never completed) asteroid mob resprite was actually my first PR, this
one is my 200th.
I am also planning on fucking with basic mob versions of these mobs some
time but the sprites can be atomised out.

In addition to replacing the old-ass MSPaint sprites, this PR also adds
a short death animation effect to the hivelord brood (from hivelords or
legions) which looks nicer than them just vanishing instantly upon
death.

Look at this video for an example of the animation:
https://www.youtube.com/watch?v=cKaskN5-y2A

## Why It's Good For The Game

Looks nicer.

## Changelog

🆑
image: Hivelords have a new sprite.
image: Hivelord and Legion brood have a death animation.
/🆑

* Desouls Hivelord

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>

* Automatic changelog for PR #23609 [ci skip]

* [MIRROR] Updates chem factory tank sprites [MDB IGNORE] (#23608)

* Updates chem factory tank sprites (#78209)

Updates chem factory tank sprites.

* Updates chem factory tank sprites

---------

Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>

* [MIRROR] Rice Dough can be made in a beaker [MDB IGNORE] (#23611)

* Rice Dough can be made in a beaker (#78062)

## About The Pull Request

Rice dough can be made in a beaker using 20u of Rice Flour and 10u of
Water. 10u of Rice Flour is made from 5u of Rice and 5u of Flour. Rice
dough can still be crafted manually using the crafting menu and the
original recipe.
## Why It's Good For The Game

Cooks can sometimes get swamped with work, especially on a high-pop
shift or when there are no botanists. By making rice dough more
convenient to make, cooks don't need to spend as much time in the
crafting menu.
Rice Flour is made from mixing equal parts Rice and Flour. Since no
recipe other than Rice dough uses both Rice and Flour in it's Recipe, it
should be fine to turn those regents into the intermediate reagent "Rice
Flour".
Fixes #77966
## Changelog
🆑
qol: Rice Dough may be made in beaker instead of being crafted, but the
rice and flour must be added first
/🆑

* Rice Dough can be made in a beaker

---------

Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>

* Automatic changelog for PR #23608 [ci skip]

* Automatic changelog for PR #23611 [ci skip]

* f

* awda

* unused type!!!

* Apply suggestions from code review

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

* oh hey unused defines! bye

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: RatFromTheJungle <62520989+RatFromTheJungle@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>

---------

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: RatFromTheJungle <62520989+RatFromTheJungle@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>
2023-09-16 11:24:49 -04:00
SkyratBot
18fc2d9b16 [MIRROR] Oldstation now has their own RND [MDB IGNORE] (#23567)
* Oldstation now has their own RND

* Update oldstation_fluff.dm

* Update techweb_types.dm

* beaker capacity

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-07 22:36:11 -04:00
SkyratBot
71da4ca73f [MIRROR] Refactors the notransform variable into a trait. [MDB IGNORE] (#23566)
* Refactors the `notransform` variable into a trait.

* Update robot_upgrades.dm

* modular

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-07 20:24:59 -04:00
SkyratBot
2bcbb36ab9 [MIRROR] [TEST-MERGE FIRST] Allows all limbs to be dismembered and significantly refactors wounds [MDB IGNORE] (#23407)
* [TEST-MERGE FIRST] Allows all limbs to be dismembered and significantly refactors wounds

* ah fuck it

* test

* edaawdawd

* Revert "edaawdawd"

This reverts commit 47be710fe61a1f4ca79212b29b3e88bf05ec9a3a.

* nothing but sheer hatred

* freaawd

* dzfxg

* Fixing some diffs here while we are at it.

* These are deprecated and should be removed

---------

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: nikothedude <simon.prouty@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-09-05 13:24:22 -04:00
SkyratBot
16ccf6a165 [MIRROR] Fixes the Hilbert's research tram [MDB IGNORE] (#23448)
* Fixes the Hilbert's research tram (#78035)

## About The Pull Request

Corrects the specific_tram_id helper for the Hilbert's Research to use
the hilbert tram ID. I've also dropped the `.../hilbert/research`
(tram-specific) paths in favor of simply `.../hilbert`

## Why It's Good For The Game

Fixes the Hilbert Hotel Research ruin's tram, and also stops the
malfunctioning tram event from being able to use that tram to start. (No
more trams going haywire on maps without trams!)

Closes #78018

## Changelog
🆑
fix: Hilbert's Hotel Research ruin now has a functioning tram. As a side
effect, the malfunctioning tram event should now only fire on maps with
a tram!
/🆑

* Fixes the Hilbert's research tram

---------

Co-authored-by: Shadow-Quill <44811257+Shadow-Quill@users.noreply.github.com>
2023-09-01 17:15:26 -07:00
SkyratBot
a1b1f8a399 [MIRROR] A fix for those who have found themselves in an early grave [MDB IGNORE] (#23428)
* A fix for those who have found themselves in an early grave (#77974)

## About The Pull Request

Fixes: #76918
Fixes not being able to break out of a grave, where it was implied that
you could.
Technically (I doubt it ever worked) increases the breakout time on the
grave, before it was sitting below welded lockers, now it is in line
with them.
Graves are no longer dense, it looked and felt ugly and I think is just
a carryover from them being subtypes of crates, now you can walk over
them.

## Why It's Good For The Game

Fixes some bugs that limited interaction with graves. You can still
breathe under them and stuff, but that starts to veer into balance
changes, even though that should be looked at in the future.

## Changelog

🆑 Seven
fix: Fixes not being able to break out of graves
qol: Graves are no longer dense (you can walk over them now)
/🆑

* A fix for those who have found themselves in an early grave

---------

Co-authored-by: Lufferly <40921881+Lufferly@users.noreply.github.com>
2023-08-31 12:25:17 -07:00
SkyratBot
db361176cf [MIRROR] Cursed Slot Machine Fixes [MDB IGNORE] (#23420)
* Cursed Slot Machine Fixes (#77989)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

A lot of these were stuff I did in response to reviews but apparently
didn't test extremely thoroughly. My bad.

* The proc for checking if the machine is in use is split out into its
own thing for clarity, and for potential reuse.
* The signal is no longer fucked up so you can actually get more than
one curse out of the slot machine as intended.
* Admin heals (and admin heals only) can remove the status effect. This
is just in case someone fucks up a variable when running an event and
wants to quickly heal some people while they varedit it to actually be a
proper event.
* Some nice code stuff while I was there, we don't need to be
typecasting to human anymore so it's nice to fix that.

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

Fixes are good.

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

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

🆑
fix: The Cursed Slot Machine should now actually give you more than one
pull.
/🆑

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

* Cursed Slot Machine Fixes

---------

Co-authored-by: san7890 <the@san7890.com>
2023-08-30 21:43:10 -04:00
SkyratBot
d7cd5e2456 [MIRROR] The Curse Of The Slot Machine - Now Clone-less [MDB IGNORE] (#23380)
* The Curse Of The Slot Machine - Now Clone-less

* The copy paste really needs to be gutted to the essentials

* Update burns.dm

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-08-28 02:51:46 -04:00
SkyratBot
a4fae9cdb5 [MIRROR] Immovable rod meets unstoppable tram [MDB IGNORE] (#23299)
* Immovable rod meets unstoppable tram (#77656)

## About The Pull Request

Adds interaction between immovable rod and the tram for the rare
occasions the rod hits it at the front or back while flying at a
parallel angle.

The rod will push/pull the tram in the direction it's flying until a
short distance past the tram's usual landmark, eventually winning and
carrying on.

- Only applies to random rods, if the rod has a target it will ignore
the tram as usual.
- Looping rod only pushes the tram once.
- As long as the tram has power, can be returned to the rails as usual
by calling it.

## Why It's Good For The Game

When the HoP is having a really unlucky day.

https://github.com/tgstation/tgstation/assets/83487515/2f0393cd-f796-4b00-8674-d97e57358543

https://github.com/tgstation/tgstation/assets/83487515/f74c8497-8d62-4fcf-80a0-da7259160b7f

## Changelog

🆑 LT3
add: Immovable rod will now battle the unstoppable tram should they
cross paths
fix: Birdshot's maint tram doors now work properly
fix: Tramstation's exterior light fixtures no longer get destroyed as
soon as the tram moves
code: Tram landmarks are now all subtyped instead of map varedits
/🆑

* Immovable rod meets unstoppable tram

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-08-24 16:06:58 -07:00
SkyratBot
e4392dac6e [MIRROR] Fixes a Typo on a fluff paper on oldstation [MDB IGNORE] (#23286)
* Fixes a Typo on a fluff paper on oldstation (#77898)

## About The Pull Request
title
## Why It's Good For The Game
typo bad
## Changelog
too minor to make a difference

* Fixes a Typo on a fluff paper on oldstation

---------

Co-authored-by: DATAxPUNGED <44149906+DATA-xPUNGED@users.noreply.github.com>
2023-08-23 20:00:18 -04:00
SkyratBot
94c3d31fab [MIRROR] Refactors Morphs into Basic Mobs (there is now a swag action for morphification) [MDB IGNORE] (#23046)
* Refactors Morphs into Basic Mobs (there is now a swag action for morphification) (#77503)

## About The Pull Request

I was bored, so did this. Probably one of the neatest refactors I've
done, sorry if there's some oddities because I was experimenting with
some other stuff in this so just tell me to clean them up whenever I
can.

Anyways, morphs are basic mobs now. We are able to easily refactor the
whole "eat items and corpses" stuff in the basic mob framework, but the
whole "morph into objects and people" turned out to be a bit trickier.
That was easily rectified with a datum mob cooldown action and
copy-pasting the old code into that code, as well as doing some nice
stuff with traits and signals to ensure the one-way communication from
the action to the mob.

Old Morph AI didn't seem to be existant whatsoever, they inappropriately
leveraged some old procs and I have no idea how to make it work with new
AI. They DEFINITELY don't spawn outside of admin interference/ the event
anymore, and will always be controlled by a player, so this shouldn't be
too bad of an issue. I gave them something to seem alive just in case
though, but I think adding legitimate prop-hunt AI would be such a
laborious task that I am unwilling to do it in this PR.
## Why It's Good For The Game

If admins want to add the ability for Ian to assume the form of the HoP,
they can do that now! The datum action cooldown is quite nice for simple
and basic mobs... but it is currently not compatible with carbons. That
is not within scope for this PR, but I am dwelling on ways to extend it
to carbon but they all sound really awfully bad.

Also morphs are smarter, and we tick another simple animal in need of
refactoring off the list.
## Changelog
🆑
refactor: Morphs are now basic mobs with a nice new ability to help you
change forms rather than the old shift-click method, much more
intuitive.
admin: With the morph rework comes a new ability you can add to mobs,
"Assume Form". Feel free to add that to any simple or basic mob for le
funnies as Runtime turns into a pen or something.
/🆑

~~Does anyone know if there's a (sane) way to alias a cooldown action as
a keypress? I can't think of a good way to retain the old shift-click
functionality, because that does feel _kinda_ nice, but I think it can
be lived without.~~ I added it. Kinda fugly but whatever.

* Refactors Morphs into Basic Mobs (there is now a swag action for morphification)

---------

Co-authored-by: san7890 <the@san7890.com>
2023-08-12 17:58:09 -04:00
SkyratBot
7c68b51b6c [MIRROR] Nukies Update 7: Hats (Also massive uplink standardization, weapon kits and ammo changes) [MDB IGNORE] (#22937)
* Nukies Update 7: Hats (Also massive uplink standardization, weapon kits and ammo changes)

* Update nukeops.dm

* Update clownops.dm

* Modular fixes

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-08-08 12:38:40 -04:00
SkyratBot
60df7291ce [MIRROR] [READY] Fishing and aquarium expansion. [MDB IGNORE] (#22731)
* [READY] Fishing and aquarium expansion.

* Update general.dm

* Update production_skill.dm

* Merge conflict

* Merge branch 'upstream-merge-76531' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-merge-76531

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-07-27 18:41:43 -04:00
SkyratBot
07fa5992a4 [MIRROR] Adds p_They (and friends) for capitalized pronoun helpers [MDB IGNORE] (#22555)
* Adds p_They (and friends) for capitalized pronoun helpers

* Fixes modular pronouns

* Merge conflict

* Update spank_related.dm

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-07-18 22:10:59 -04:00
Bloop
a9c80a29a3 [MISSED MIRROR] Implements a macro for checking mind traits (#76548) (#22447)
* Implements a macro for checking mind traits (#76548)

![image](https://github.com/tgstation/tgstation/assets/82850673/f85d0556-1806-40bf-92b8-597e46ccb4af)
Seeing this pattern repeated over various sections of code was starting
to piss me off

Lessens chance to cause errors with mind traits, ensures consistent
behavior, makes it easier to change how mind traits work if necessary.

hopefully not player facing

---------

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

* modular stuff

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
2023-07-18 21:32:47 -04:00
Bloop
46d84e6119 [MANUAL MISSED MIRROR] Replaces lava and chasm's "safeties" and ignoring turf slowdown on catwalks with traits and a new element (#22384)
Replaces lava and chasm's "safeties" and ignoring turf slowdown on catwalks with traits and a new element. (#76376)

This adds a new element for movables that grants turfs they're in
traits, changes lava and the chasm component to check for traits
instead, ditto for turf slowdown. It also implements another trait that
prevents wet floor from slipping people, as well as some other changes
(feel free to opine on them really):
- Tables and conveyor belts now stop turf slowdown, much like catwalks,
as I imagine people walking on them are not really touching the floor.
(I'd include protection against lava too... until they melt, but that'd
mean finding a way to have these objects burn in the first place, and
lava code is still stupid despite a years old refactor I did)
- Tables also stop slippery turfs from slipping (bananas, soaps etc.
still apply). I wish there were a way to make some objects slippery by
coating them in water vapor or splashing water/lube, but that's outside
the scope of this PR.
- Fixed an edge case in which a mob standing on a lava turf would be
left permanently visually on fire if the lava is changed to another kind
of turf.
- Removed unused code from stone tiles.

I'm going to include these traits in that global list for admin-added
traits... tomorrow perhaps. 💤

Replacing some hard-coded mechanics with easier to use traits and an
element, which I also need for the submerge element PR.

🆑
refactor: Replaced hardcoded "safeties" for lava, chasms and ignoring
turf slowdowns on catwalks with traits.
balance: much like catwalks, tables and conveyors also disable turf
slowdowns.
balance: slippery turfs won't slip you when walking on a table.
fix: Fixed an edge case in which a mob standing on a lava turf would be
left visually but permanently on fire if the lava is changed to another
kind of turf.
/🆑

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-07-18 00:06:04 -04:00
SkyratBot
2f552919c1 [MIRROR] Icons folder cleaning wave two [MDB IGNORE] (#22454)
* Icons folder cleaning wave two

* Merge conflict resolution

* Modular path hell

* hmm

* Update 2022-10.yml

* Another modular thing

---------

Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-16 00:41:18 -04:00
SkyratBot
0a03e8a2a7 [MIRROR] Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types [MDB IGNORE] (#22481)
* Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types

* Resolve merge conflicts

* Modular adjustments

* destroy this double return on destroy

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-15 22:51:23 -04:00
SkyratBot
5c2279d1a7 [MIRROR] Dehardcodes cursed slot machine's reward [MDB IGNORE] (#22432)
* Dehardcodes cursed slot machine's reward (#76717)

* Dehardcodes cursed slot machine's reward

---------

Co-authored-by: Striders13 <53361823+Striders13@users.noreply.github.com>
2023-07-14 00:12:17 -04:00
SkyratBot
2f5c7f8389 [MIRROR] Icon folder cleaning wave one [MDB IGNORE] (#22374)
* Icon folder cleaning wave one

* Fixe a merge conflict

* Fixes some more merge conflicts

* Fixes some modular icon paths

* Fixes even more modular icon paths...

Hopefully that's the last of them

* Fixes some merge discrepencies

* More merge issues

* ok

* not ok

---------

Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-13 16:24:33 -04:00
SkyratBot
7526c62b22 [MIRROR] Makes puzzle elements unable to have their icons messed with [MDB IGNORE] (#22101)
* Makes puzzle elements unable to have their icons messed with (#76348)

## About The Pull Request

The hand labeler (and any other item that is capable of calling
`update_appearance` on an atom) was erasing the overlay icon when used
on a sliding puzzle piece. This just stops that from being able to
happen.

There should never be a case when the puzzle icon or overlays get
changed outside of during `set_puzzle_icon()`.

The puzzle is still able to be completed if any of the pieces get
labeled, by the way.

Fixes https://github.com/Skyrat-SS13/Skyrat-tg/issues/22065

## Why It's Good For The Game

Fixes a bug/oversight

## Changelog

🆑
fix: sliding puzzles can no longer have their icons erased by the hand
labeler
/🆑

* Makes puzzle elements unable to have their icons messed with

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
Co-authored-by: hugmeorelse <52105542+hugmeorelse@users.noreply.github.com>
2023-07-11 16:13:17 -05:00
SkyratBot
ab4cc06c55 [MIRROR] Coroner Update: Pickle-Eating Morbid Weirdo Obsessed with Death and Perfectionism [MDB IGNORE] (#22155)
* Coroner Update: Pickle-Eating Morbid Weirdo Obsessed with Death and Perfectionism

* skyrat edits

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-07-09 12:05:05 -07:00
SkyratBot
fd3b832bb8 [MIRROR] Makes decals only caught on mapload & removes turf_loc_check [MDB IGNORE] (#22051)
* Makes decals only caught on mapload & removes turf_loc_check (#76130)

Theres one player-facing change in this PR and it's that I removed human
gibs from being valid in space turfs, making it more consistent with the
other gib decals.

I've cleaned up many instances of decals spawning in bad turfs on
mapload in https://github.com/tgstation/tgstation/pull/75189, but making
it error anytime in-game a decal is put over an invalid turf is bad as
it punishes contributors for not optimizing their decals properly.
This changes it so it only errors if it's on mapload, unit testing or
not.

I've also removed ``turf_loc_check`` and replaced instances of it with
overwriting ``NeverShouldHaveComeHere``, which gives us greater control
of where decals can be placed.
This let me remove 2 subtypes that were made to have decals in specific
places (which then got placed elsewhere, ruining it all).

Mappers are still able to set decals to be placed anywhere, they just
need to add it as a valid turf for that decal.

* Makes decals only caught on mapload & removes turf_loc_check

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-06-24 16:06:58 -07:00
SkyratBot
76e3348760 [MIRROR] Replaces the Reaper Scythe with the Vorpal Scythe (also the Morbid trait) [MDB IGNORE] (#21958)
* Replaces the Reaper Scythe with the Vorpal Scythe (also the Morbid trait)

* fix

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
2023-06-22 20:21:36 +00:00
SkyratBot
ee58caa1f6 [MIRROR] Removes amount_list_postion from reagent containers, adds related unit test. [MDB IGNORE] (#21869)
* Removes amount_list_postion from reagent containers, adds related unit test. (#76057)

We had more issues like what #76013 addressed, now they're gone.
Variable transfer amount is now explicit.
Amount is now inferred from current value, performance concern here is
minimal. Less work and mistakes when making new types.

* Removes amount_list_postion from reagent containers, adds related unit test.

* update modular

* Fixes the failing unit test, hopefully

---------

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-06-19 17:32:22 -04:00
jjpark-kb
4100a29a7c no cursed spring interaction (#21788) 2023-06-11 23:27:42 -07:00
SkyratBot
5ad990e2bc [MIRROR] Yeets a duplicate ambience .ogg [MDB IGNORE] (#21734)
* Yeets a duplicate ambience .ogg (#75909)

## About The Pull Request
Removed `ambigen2.ogg` and renamed all the generic ambience sounds after
`ambigen1.ogg` to account the fact we have one less generic ambience
sound file now.

## Why It's Good For The Game
This will close #75010

## Changelog
N/A, it wasn't even used in the code.

* Yeets a duplicate ambience .ogg

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-06-10 10:56:26 -04:00
SkyratBot
b2db59ff89 [MIRROR] Grammar pass on syndie SM shard [MDB IGNORE] (#21584)
* Grammar pass on syndie SM shard (#75772)

## About The Pull Request

Fixes grammar error on syndie sm shard desc

## Why It's Good For The Game

gramar

## Changelog

🆑
spellcheck: Fixes grammar error on syndie sm shard desc
/🆑

* Grammar pass on syndie SM shard

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-06-03 18:42:34 -07:00
SkyratBot
2326ae968a [MIRROR] Oldstation QoL tweaks and minor fixes [MDB IGNORE] (#21544)
* Oldstation QoL tweaks and minor fixes (#75259)

* Oldstation QoL tweaks and minor fixes

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>
2023-06-01 12:05:46 -04:00
SkyratBot
02e3251f84 [MIRROR] Makes gasses use defines [MDB IGNORE] (#21492)
* Makes gasses use defines

* Mirror!

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-06-01 15:24:31 +12:00
SkyratBot
18498007a1 [MIRROR] removes all non-defined materials I found [MDB IGNORE] (#21456)
* removes all non-defined materials I found (#75659)

* removes all non-defined materials I found

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-05-27 10:34:32 -07:00
SkyratBot
ee3be8f268 [MIRROR] [NO GBP]Grave Patches [MDB IGNORE] (#21436)
* [NO GBP]Grave Patches (#75563)

## About The Pull Request

1. Fixes #75553 You can put stuff in the grave normally by clicking that
item on the grave rather than throwing them in, this also means you can
destroy graves by attacking them with items or just dig the grave with a
shovel.
2. Graves can be closed again but "only" with a shovel and not instantly
by hand which was the previous behaviour (which was dumb and
nonsensical),
3. Add's examines & screentips for graves

## Changelog
🆑
fix: graves can be closed again, but only with a shovel and not by hand.
qol: you can put items in graves normally without throwing them in
qol: examines & screentips for graves
/🆑

* [NO GBP]Grave Patches

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-05-26 11:17:18 +01:00
SkyratBot
e443160311 [MIRROR] New basketball teams - Ash Gladiators and Beach Bums [MDB IGNORE] (#21375)
* New basketball teams - Ash Gladiators and Beach Bums (#75361)

* New basketball teams - Ash Gladiators and Beach Bums

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
2023-05-23 12:13:16 -04:00
SkyratBot
17534b3e7f [MIRROR] Ashwalker Tribe roundend reporting revamp [MDB IGNORE] (#21336)
* Ashwalker Tribe roundend reporting revamp (#75506)

## About The Pull Request

This PR changes how ashwalkers are listed in the roundend report.
Originally, they would be listed as individual "other" antagonists,
which isn't a particularly great way of handling it and leads to
weirdness like this:

![image](https://github.com/tgstation/tgstation/assets/28870487/c00a2cfc-3f08-46f6-a290-ef632cac0371)

_(That's an authentic ninja greentext from a live server, by the by)_

Now, the roundend report gives each ashwalker team their own section
within the report, whether or not they succeeded, and some bonus stats.

![image](https://github.com/tgstation/tgstation/assets/28870487/c2dc3c00-62a7-4784-90be-5a8bb5cc5a50)

This new roundend report handling also supports having multiple
Necropolises (Necropoli?) in the same round. Each tribe has their stats
and success reported individually.

This also slightly modifies the protect_object objective, preventing
hard deletes when linked to objects that don't clear their own
references.

## Why It's Good For The Game

Gives Ashwalkers a much better roundend report, and handles how the
reporting is done in a much more sensible manner.

Reduces how much space that large nests take up with their individual
listings.
## Changelog
🆑 Rhials
qol: Ashwalker roundend reporting has been revamped. Glory to the
Necropolis!
/🆑

* Ashwalker Tribe roundend reporting revamp

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-05-22 12:06:13 +00:00
SkyratBot
d3f2386664 [MIRROR] Bible refactor [MDB IGNORE] (#21190)
* Bible refactor

* Delete book.dm

* updatepaths

* you're meaning to tell me i have to edit CODE??

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2023-05-16 09:34:10 -04:00
SkyratBot
10831af0f2 [MIRROR] Stops SSmachines processing lighting updates for lights stored inside a hilbert hotel storage container [MDB IGNORE] (#21078)
* Stops SSmachines processing lighting updates for lights stored inside a hilbert hotel storage container (#75301)

![image](https://github.com/tgstation/tgstation/assets/6209658/2616baa4-927f-4868-8a9e-1b5dd0ad20ff)

![image](https://github.com/tgstation/tgstation/assets/6209658/dd81498d-c043-48d0-97f0-b72303074b23)

this has been spamming runtime logs for yeaaaaaaarrrrrrrrrrrsssssssss.
above screenshot is from just the last week.
fixes #63850
closes #75305

🆑 ShizCalev
fix: Lighting inside of a Hilbert Hotel storage room no longer
constantly fails to update, clearing up some log spam and getting back
some free lag.
/🆑

* Stops SSmachines processing lighting updates for lights stored inside a hilbert hotel storage container

---------

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2023-05-10 22:59:01 -07: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
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
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
8e675c7dbc [MIRROR] Damaged window and broken machine helpers [MDB IGNORE] (#20943)
* Damaged window and broken machine helpers (#75132)

## About The Pull Request

Added a helper that makes it possible to spawn broken machines without
var-editing.

Removed the damaged reinforced window spawner and added a general
damaged window helper working on any first window found on a tile.

<img width="787" alt="2"
src="https://user-images.githubusercontent.com/3625094/235808169-c6143606-52e8-4bb7-bab4-e7ce3d359eb2.PNG">

<img width="787" alt="1"
src="https://user-images.githubusercontent.com/3625094/235808160-688f56eb-269a-4019-8c1c-2819cc3a4432.PNG">

## Why It's Good For The Game

Less var edits, better tools for mappers, more immersive ruins.

## Changelog

🆑
qol: Mapping: Added broken machine map helper
qol: Mapping: Replaced damaged window spawner with a universal helper
/🆑

* Damaged window and broken machine helpers

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>
2023-05-06 18:04:54 +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
a5e70e9122 [MIRROR] Audio File Cleanup [MDB IGNORE] (#20675)
* 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>

* Audio File Cleanup

* Fixes the missing sound files ;)

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-04-21 17:22:11 -04:00
SkyratBot
fe47d6ba35 [MIRROR] Refactors sheet crafting to better support directional construction [MDB IGNORE] (#20594)
* Refactors sheet crafting to better support directional construction (#74572)

## About The Pull Request

0426f7ddba/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>

* Refactors sheet crafting to better support directional construction

* fex

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/20636

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-21 02:14:10 +01:00
SkyratBot
8f4f46cad9 [MIRROR] New Space Ruin: The All-American Diner! [MDB IGNORE] (#20642)
* New Space Ruin: The All-American Diner! (#74460)

* New Space Ruin: The All-American Diner!

---------

Co-authored-by: Singul0 <127663818+Singul0@users.noreply.github.com>
2023-04-20 02:24:01 +01:00
SkyratBot
fe8fc4d010 [MIRROR] Split weapons_and_items.dmi icons into their own categories [MDB IGNORE] (#20360)
* Split weapons_and_items.dmi icons into their own categories

* update modular

* I hate the dme

* random ass define removal fix

* missing icons fix

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 19:53:43 +01:00
SkyratBot
a9700def43 [MIRROR] Gives waystation cargo-techs shoes [MDB IGNORE] (#20413)
* Gives waystation cargo-techs shoes (#74558)

## About The Pull Request

gives shoes to waystation cargo technician corpses

## Why It's Good For The Game

fixes #74512

## Changelog

🆑
fix: waystation cargo techs get shoes now
/🆑

* Gives waystation cargo-techs shoes

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-04-08 18:46:12 +01:00