Commit Graph

4675 Commits

Author SHA1 Message Date
SkyratBot
327ebcb31c [MIRROR] Reworks burning objects to be a component [MDB IGNORE] (#20543)
* Reworks burning objects to be a component (#74688)

## About The Pull Request

Title.

## Why It's Good For The Game

Simply put, allows for atoms which are not /obj but use atom_integrity
to burn up too, which is nice and good.
But also, it allows for neat behavior like burning particle effects
(only structures use that right now to spawn smoke)

![image](https://user-images.githubusercontent.com/82850673/231595051-2a8d0574-33cc-4cd9-9d61-65566decf4ef.png)

## Changelog

🆑
add: Burning structures spawn smoke particles. Sick.
/🆑

---------

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

* Reworks burning objects to be a component

* modular

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-04-14 23:44:14 +01:00
SkyratBot
9593369b50 [MIRROR] New Crate Visuals [MDB IGNORE] (#20517)
* New Crate Visuals (#74636)

## About The Pull Request

Adds several new crate visuals. Adds a new lid overlay for several
crates. Re-names and re-designs bubblegum chest.

![image](https://user-images.githubusercontent.com/28636915/231009153-3abdc29b-1f47-4b7a-8725-97082b92b510.png)

![image](https://user-images.githubusercontent.com/28636915/231009170-40240220-45ed-4f9d-92b7-7925231a298b.png)

## Why It's Good For The Game

New crate visuals and lids not magically disappearing is cool.

## Changelog
🆑
add: New Lids for several crates.
imageadd: Several new Crate Visuals.
/🆑

---------

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

* New Crate Visuals

---------

Co-authored-by: Mey-Ha-Zah <tomboxallghss@gmail.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
2023-04-13 04:31:35 +01:00
SkyratBot
9a594755f3 [MIRROR] Renames delta time to be a more obvious name [MDB IGNORE] (#20507)
* Renames delta time to be a more obvious name

* updates to our code

---------

Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:45:43 +01:00
SkyratBot
6ee8dbb9c7 [MIRROR] Code clean-up & refactor for all RCD related & like devices. [MDB IGNORE] (#20394)
* Code clean-up & refactor for all RCD related & like devices. (#74527)

## About The Pull Request

1. Debloats the RCD.dm file i.e. renames it to RHD[Rapid handheld device
the base for all rcd like devices] and moves its subtypes into their
respective files
`/obj/item/construction/rcd` moved to RCD.dm
`/obj/item/construction/rld` moved to RLD.dm
`/obj/item/construction/plumbing` moved to RPLD.dm
`/obj/item/construction/rtd` stays in RTD.dm
Other rcd like device i.e. RPD, RFC, RWD, along with the above mentioned
files are now all moved into 1 folder called "rcd"
majority of the `to_chat()` are now replaced with `balloon_alert()` to
reduce spam

2. Adds early returns, optimizes & adds extra resource sanity checks
before and after the `do_after()` proc for the RLD. RLD silo links now
works again.
- RLD now uses an ammo bar just like the RCD for updating only its
overlays & not its entire icon state, it also has a blinking yellow icon
state when low on ammo
- Remove unused empty blinking yellow icon state for plumbing RCD.
nobody designed the ammo bars for them so having`has_ammobar = TRUE`
caused the unit tests to fail

4. Adds extra structure placement & resource sanity checks for RCD, RTD
& Plumbing RCD before & after the `do_after()` proc
  RCD Patches
- removes unused vars window_type & window_glass, these can be infered
from window_type directly
- removes furnish type & cost and let the rcd_vals() proc decide those
for consistency
- copies the rcd stuff from turf/floor to turf/open/misc with some
exceptions, It wasen't updated in a long time
- rcd vals i.e. cost & delay for window types are set for each
directional, full-tile, reinforced types. These all used constant values
& now they are adjusted accordingly

   RTD patches
      - Fixes #74526 RTD can lay floor tiles on all types of plating's
- The cost of deconstructing tiles was not calculated correctly i.e. it
always used the cost of the selected design & not the cost of the actual
floor type we are trying to deconstruct
- The construction & deconstruction time was constant & very fast for
all tile types, now the delay is adjusted based on the cost of the type
of tile in question
- RTD now has a blinking yellow empty icon state just like the RCD when
low on ammo

6. Fixes #73479 RCL now updates its pipe cleaning coil appearance when
changing colours & selecting white colour no longer yields a random coil
colour

7. makes sure `useResource() ` actually succeeds before doing any
action. The return value of this proc was not previously checked for
some devices

## Why It's Good For The Game
1. rcd like devices all moved into 1 folder for better organization
2. splits the original RCD.dm file into more logical & manageable files
for better maintainability
3. removes unused code & adds some extra sanity checks for everything
4. adds missing sprites for RLD & RTD

## Changelog
🆑
code: RCD & all its subtypes and other devices like it[RTD, RLD,
Plumbing RCD, RWD, RFC, RPD] now moved into 1 folder, removes unused
vars
refactor: RCD window type cost & delay are set based on the window type
selected.
refactor: RLD, RCD & plumbing RCD now has extra resource & target
placement sanity checks, optimizes RLD and code readability.
refactor: RTD now sets the correct delay with the cost of the tile type
currently being constructed/deconstructed taken into account
refactor: large majority of to_chat() replaced with balloon alerts
fix: RLD silo link now works again
fix: RTD can place tiles on any subtype of plating
fix: RCL now lays the correct colour of pipe cleaner when its colour is
changed
imageadd: empty blinking yellow icon states for RTD & RLD & an ammo bar
for RLD
/🆑

* Code clean-up & refactor for all RCD related & like devices.

* Update RHD.dm

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:29:46 +01:00
SkyratBot
1afaf1562a [MIRROR] [MDB IGNORE] UpdatePaths to convert directional pane windows to their proper subtypes, also creates the /south spawner for consistency [MDB IGNORE] (#20463)
* [MDB IGNORE] UpdatePaths to convert directional pane windows to their proper subtypes, also creates the /south spawner for consistency

* wew

---------

Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:08:08 +01:00
SkyratBot
3a5a1d4058 [MIRROR] Imports and Contraband: Different! Cargo crates without locks! MEAT! [MDB IGNORE] (#20423)
* Imports and Contraband: Different! Cargo crates without locks! MEAT!

* helping make 20423 a little more mergeable (commits to a nonmaster branch) (#20434)

* regal condor my beloved

* damn ok

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>

* [merges to pr 20423, get this first] more nitpicks in regards to the imports pr (#20497)

missed mirror and a nitpick i forgot

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Hatterhat <31829017+Hatterhat@users.noreply.github.com>
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-12 20:03:30 +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
fb421eba00 [MIRROR] New judge robe and powdered wig [MDB IGNORE] (#20504)
* New judge robe and powdered wig (#74458)

Also now judge robe doesn't hide jumpsuit.
## About The Pull Request
_Yes I know that I opened 3 sprite PRs in a row, what are you gonna do?
Kill me?_

Changes the old judge robe sprite to a new one based on the chaplain's
follower robe.
![judge robe
up](https://user-images.githubusercontent.com/42353186/229351492-4c740c22-3332-4dd2-b082-1081476ce967.png)
![judge robe
down](https://user-images.githubusercontent.com/42353186/229351493-c823d167-2d27-4a07-9653-06ddf8ea0bb4.png)
![judge robe
left](https://user-images.githubusercontent.com/42353186/229351495-10db840f-b4a0-4c95-a0ed-fc5840576686.png)
![judge robe
right](https://user-images.githubusercontent.com/42353186/229351496-fedf8c36-0433-4a64-8426-cc4e684908f8.png)

Changes the old powdered rig sprite to a better thicker one:
![wig
up](https://user-images.githubusercontent.com/42353186/229351519-d4a72bff-db9a-4dfd-aab1-4dc31599bf81.png)
![wig
down](https://user-images.githubusercontent.com/42353186/229351520-78c55ee9-cba7-4c7a-99c2-f3215a1950f0.png)
![wig
left](https://user-images.githubusercontent.com/42353186/229351523-46b46614-8563-45e1-97c5-4a8cf2af6d83.png)
![wig
right](https://user-images.githubusercontent.com/42353186/229351524-96c68b08-f874-47e7-99da-d136d3b6c0fb.png)

Now in the courtroom locker, an executive suit and lace-up shoes
(instead of brown ones) spawn, as those fit really well with the new
judge's robe, as now the judge's robe doesn't delete jumpsuits sprite
when worn.
## Why It's Good For The Game

Replacing ancient sprites is always good, especially if they looked
"Meh".
There is some examples of how new judge robes look on the most prevalent
types of judges:

Captain judge.
![judge
captain](https://user-images.githubusercontent.com/42353186/229351760-a8f448d4-e2df-4bab-b1eb-c78a29189cab.png)

HOP judge.
![judge
hop](https://user-images.githubusercontent.com/42353186/229351761-1fc253b2-5202-4c12-94ef-3dcd68173d4f.png)

Assistant judge.
![judge
assistant](https://user-images.githubusercontent.com/42353186/229351763-6c10fc14-3c4f-45f8-9b3a-e4720ac78119.png)

Judge in the executive suit with red tie (just to show how they look)
![judge
judge](https://user-images.githubusercontent.com/42353186/229351765-f7277e0d-e4a9-410d-a4a9-a39621be788d.png)

So now you can yell "ORDER, ORDER!" while not wearing piece of clothing
straight from 2012.
## Changelog
🆑 DrDiasyl aka DrTuxedo#0931
imageadd: Judge robe and powdered wig got new sprites!
/🆑

* New judge robe and powdered wig

---------

Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
2023-04-12 16:35:50 +00:00
SkyratBot
8f11ad41b0 [MIRROR] Makes uprooting and digging out plants use tool_behaviour instead of just typepath of shovel. [MDB IGNORE] (#20494)
* Makes uprooting and digging out plants use tool_behaviour instead of just typepath of shovel. (#74630)

## About The Pull Request
Closes https://github.com/tgstation/tgstation/issues/74564.

You can now uproot plants with any item that has TOOL_SHOVEL flag
instead of just item/shovel. So you can use trench tool for this
purpose.
And the same with digging out plants. It was originally limited to just
spade shovel, which is rather strange considering that there is bone
shovel recipe and one of it's ingridients is spade.

Changed icon of omnitool's shovel because spade won't be the only shovel
used for uprooting plants.

Also removed a bunch of code and it didn't affect anything in my tests
so I'm assuming it was unused and completely useless.
Maybe i'm not right and it affects something tho.
## Why It's Good For The Game
Trench tool can be used as a normal shovel.
## Changelog
🆑
fix: You can now uproot and dig out plants with any shovel and not just
spade.
/🆑

* Makes uprooting and digging out plants use tool_behaviour instead of just typepath of shovel.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2023-04-12 04:10:38 +01:00
SkyratBot
fc5d5a9fe3 [MIRROR] Componentizes loomability [MDB IGNORE] (#20424)
* 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>

* Componentizes loomability

---------

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
2023-04-09 02:29:51 +01:00
SkyratBot
638cbf8a8e [MIRROR] Replaceable Traitor Uplinks [MDB IGNORE] (#20350)
* Replaceable Traitor Uplinks

* skyrat edits

---------

Co-authored-by: Sol N <116288367+flowercuco@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-04-06 02:06:22 +01:00
SkyratBot
b828a9851b [MIRROR] Icemoon Hermit Ruin Active Turf Fix - For Real This Time [MDB IGNORE] (#20325)
* Icemoon Hermit Ruin Active Turf Fix - For Real This Time (#74476)

In #74306, I _thought_ I knew what the cause was, and I both attempted a
potential fix _and_ made tracking it easier. The fruits of my labor paid
off, I know exactly what caused it now.

Basically, the demonic portal will scrape away all turfs in a 5-tile
radius on its `Initialize()`, and if a spawner spawned right next to the
hermit ruin... it would count it as a mineral turf and scrape it away as
well. That's so fucking silly. At least we know now.
## Why It's Good For The Game

The fix is to just make those tiles unscrapeable, which is accomplished
via another turf_flag and filtering those out in the `Initialize()` of
the demonic portals.

I also cleaned up the calls to scrapeaway being `null`, which is really
weird because it just defaulted to the normal proc behavior. Naming the
arguments instead does the same thing (I checked)

* Icemoon Hermit Ruin Active Turf Fix - For Real This Time

---------

Co-authored-by: san7890 <the@san7890.com>
2023-04-05 08:35:11 -04:00
SkyratBot
5ffa941627 [MIRROR] Removes opacity from non fulltile tinted windows [MDB IGNORE] (#20288)
* Removes opacity from non fulltile tinted windows (#74452)

## About The Pull Request

IT DOESN'T WORK, OPACITY IS NOT DIRECTIONAL, IT JUST LOOKS FUCKING
STUPID

WHY DO WE USE THIS 48 TIMES WHY ARE YOU PEOPLE LIKE THIS

## Why It's Good For The Game

![image](https://user-images.githubusercontent.com/58055496/229333339-78f1c4d8-51e2-4370-a9a9-b9ecf045a7c4.png)

## Changelog
🆑
fix: Directional frosted/tinted windows will no longer fuck up vision
/🆑

* Removes opacity from non fulltile tinted windows

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-04-03 04:00:09 +01:00
SkyratBot
3464b6bfb2 [MIRROR] Refactors Regenerate Organs, and a few organ helpers [MDB IGNORE] (#20094)
* Refactors Regenerate Organs, and a few organ helpers

* MERGE CONFLICTS

* GETORGANSLOT > GET_ORGAN_SLOT

* GETORGAN > get_organ_by_type

* lint repairs

* more lint

* Update tgstation.dme

* Update surgery_step.dm

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-01 02:51:06 +01:00
Gandalf
e4b4d4d3c0 MISSED MIRROR [Lints Against Unmanaged Local Defines] (#20204)
* https://github.com/tgstation/tgstation/pull/74333

https: //github.com/tgstation/tgstation/pull/74333
Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* var stuff

Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* vars

* Update sol_fed.dm

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2023-04-01 01:15:22 +01:00
SkyratBot
6f622dba4a [MIRROR] Minor Nukie Thing: Bolt-action Sniper Rifle, balance coding, and some ammo changes [MDB IGNORE] (#20146)
* Minor Nukie Thing: Bolt-action Sniper Rifle, balance coding, and some ammo changes

* Update sniper.dm

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-29 23:20:58 +01:00
SkyratBot
e9e7d7a461 [MIRROR] Minigame DLC - Intergalactic Basketball League [MDB IGNORE] (#20048)
* 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
/🆑

* Minigame DLC - Intergalactic Basketball League

* Update CentCom_skyrat_z2.dmm

* raptor

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-03-27 02:24:29 +01:00
SkyratBot
96be018eb1 [MIRROR] Refactors Suiciding Variable Into Trait [MDB IGNORE] (#20017)
* Refactors Suiciding Variable Into Trait

* suicide

* https://github.com/tgstation/tgstation/pull/72919

MISSED IRROR

* better suicide handling

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 02:03:05 +01:00
SkyratBot
12248f3363 [MIRROR] Changes guillotine tips to span_notices and fixes a bug about it. [MDB IGNORE] (#20082)
* Changes guillotine tips to span_notices and fixes a bug about it. (#74161)

## About The Pull Request
Current description of guillotine isn't quite comfortable to read so i
changed it to span_notices.

![image](https://user-images.githubusercontent.com/93882977/226696195-79877a24-5598-4114-b527-157470119ec0.png)

![image](https://user-images.githubusercontent.com/93882977/226696207-fabece9e-db73-4db0-acf0-e862cbe6f5cb.png)
Also fixed a bug, which occurs if you try to behead already beheaded
body and then you just can't use the guillotine anyway.

## Why It's Good For The Game
yee
## Changelog
🆑
qol: guillotine description tips are now span_notices (blue text)
instead of just a bunch of grey text.
fix: fixed a bug that if you try to behead body without a head with
guillotine it just stops working.
/🆑

---------

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

* Changes guillotine tips to span_notices and fixes a bug about it.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-03-26 02:00:21 -07:00
SkyratBot
570cb5f015 [MIRROR] [NO GBP] Aux construction console RCD works again. [MDB IGNORE] (#20024)
* [NO GBP] Aux construction console RCD works again. (#74158)

## About The Pull Request
Fixes #74145

Forgot to make aux construction console RCD use `afterattack()`.

🆑
fix: aux construction console RCD works again
/🆑

* [NO GBP] Aux construction console RCD works again.

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-03-26 01:52:18 -07:00
SkyratBot
f149912dbd [MIRROR] Fix holo signs being able to be frozen [MDB IGNORE] (#19980)
* Fix holo signs being able to be frozen (#74103)

🆑 coiax
fix: Holosigns, like the atmos holofan, can no longer be frozen by low
temperature water vapour.
/🆑

Seen this a couple of times where a holofan's been "frozen" which is
quite silly.

This won't actually _do_ anything until #74102 is merged though, but
let's keep our changes separate.

* Fix holo signs being able to be frozen

---------

Co-authored-by: Jack Edge <yellowbounder@gmail.com>
2023-03-20 00:16:17 -07:00
SkyratBot
093d20a2df [MIRROR] Makes all CTF windows actually indestructible [MDB IGNORE] (#19922)
* Makes all CTF windows actually indestructible (#74021)

## About The Pull Request

Adds a spawner for indestructible shuttle windows
Replaces all "hardened windows" (which were actually not unbreakable)
with proper unbreakable windows

## Why It's Good For The Game

Fixes #73297, people shouldn't be breaking into space in CTF

## Changelog
🆑
fix: All CTF windows are now indestructible, fixes breaking into space
during CTF.
/🆑

* Makes all CTF windows actually indestructible

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-03-17 22:46:18 -04:00
SkyratBot
7ad441e407 [MIRROR] More stuff to construct & destroy [MDB IGNORE] (#19903)
* More stuff to construct & destroy (#73942)

## About The Pull Request
**1. Suit Storage Units**
- What about them?

1. You can print "suit storage unit" circuit boards from engineering &
science circuit printer's after research to make more suit storage
units, now since they behave like regular constructable machines you can
deconstruct them via screwdriver & crowbar.
   2.  You can upgrade its capacitor to get faster charging speeds

- Why its good for the game?
   1. You can rebuild these in the event they get destroyed
   2. Better tier capacitors = faster charging speeds
3. More storage units = More places to decontaminate your equipment +
Recharge more mod suits made in robotics
4. If you decide to leave the game or your done using a mod suit e.g. a
mining mod suit rather than keeping it to yourself or throwing it away,
just build a suit storage unit and hang it there so other players can
use it i.e., sharing is caring.

**2. Freezer Cabinet**
- What about them?
 1. They are now craftable

![Screenshot
(133)](https://user-images.githubusercontent.com/110812394/224561037-5461be22-e651-4d72-8afc-f797bb7d8a47.png)

  3. You can deconstruct them with a welding tool.

- Why its good for the game?
  1. You can now make more of them if they get stolen/destroyed
  2. More places to store food, dead bodies, whatever

**3. Flood Lights**
- What about them?
They can now be fully deconstructed in the exact opposite sequence you
constructed them.
  - First use screwdriver to open its panel
  - Then use empty hand to remove light
  - Then use screwdriver to unscrew the wiring from frame
  - Use wire cutter to remove wiring completely
  - Finally use wrench to completely deconstruct frame

- Why it's good for the game?
Reclaim used material to build flood light else where . Also much more
clean than what the wiki is suggesting.

![Screenshot
(134)](https://user-images.githubusercontent.com/110812394/224561553-f44a97f3-ac70-49e7-892f-1a05e2323ecb.png)

  ## Changelog
🆑
add: suit storage unit circuit boards to engineering & science
department circuit printers.
add: freezer cabinet as a craftable & destructible item.
qol: flood light can now be deconstructed rather than destroyed/thrown
away.
/🆑

---------

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

* More stuff to construct & destroy

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-03-16 18:41:12 -04:00
SkyratBot
b3192b7817 [MIRROR] Recolors and fixes holodeck chess board, fixes error on white king's description [MDB IGNORE] (#19863)
* Recolors and fixes holodeck chess board, fixes error on white king's description (#73886)

## About The Pull Request

In a chess board, the white pieces occupy the 1-2 squares, while the
black pieces occupy the 7-8 squares. This was reversed in space chess,
with the white pieces being on black's position and vice versa.
I changed the colors of the board as well, to make it nicer to the eye
(and also occupying full tiles since the old version used the regular 4
square tiles). This accompanied by switching the carpet to wood for a
more aesthetically pleasing view (esp since carpets look ugly in that
shape).
I made the names of the chess pieces lowercase to make it consistent
("That's a Black Pawn." -> "That's a black pawn.") and fixed the white
king's description.
All in all, the chess board looks like this now.

![imagen](https://user-images.githubusercontent.com/68669754/224214951-d10e9a8b-1a8e-492c-bd91-0fd5ecae4385.png)

## Why It's Good For The Game

![imagen](https://user-images.githubusercontent.com/68669754/224215899-2059f845-0071-4a21-84bb-13108ceec9b2.png)

![imagen](https://user-images.githubusercontent.com/68669754/224215206-1b5ef367-a5c5-436c-9bf5-665f243fe3e8.png)

![imagen](https://user-images.githubusercontent.com/68669754/224215215-0b5799b3-9f47-46f2-958a-6dd211eff59a.png)

![imagen](https://user-images.githubusercontent.com/68669754/224215235-4c5381de-93ce-4760-b881-50412a6e55b9.png)

## Changelog

🆑
qol: Holodeck space chess board is more pleasing to look at.
fix: Fixes holodeck space chess pieces being reversed.
spellcheck: Fixed white king's description saying it moves any tile in
one direction.
/🆑

* Recolors and fixes holodeck chess board, fixes error on white king's description

---------

Co-authored-by: SgtHunk <68669754+SgtHunk@users.noreply.github.com>
2023-03-15 00:50:52 +00:00
SkyratBot
8805502dc4 [MIRROR] Fixes the metallic hydrogen axe being silent when being used as a crowbar and crowbars can now hit windows. [MDB IGNORE] (#19852)
* Fixes the metallic hydrogen axe being silent when being used as a crowbar and crowbars can now hit windows. (#73974)

## About The Pull Request

The metallic hydrogen axe had no usesound var set despite having a
tool_behavior applied to it, this meant that when using it as a crowbar,
for example to remove floor tiles no sound was played. I've given it the
default crowbar sound for this.

Bonus fix: Crowbars were incapable of hitting fully constructed default
windows, this included the H2 axe, They are now able to be used on
standard windows (they already worked on reinforced windows)

## Why It's Good For The Game

Missing sound bad. Pretty sure the crowbar thing is a bug too.
## Changelog
🆑
fix: The metallic hydrogen axe is no longer silent when using it as a
crowbar.
fix: You are now capable of hitting standard windows with a crowbar when
they're fully constructed.
/🆑

* Fixes the metallic hydrogen axe being silent when being used as a crowbar and crowbars can now hit windows.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-03-15 00:48:13 +00:00
SkyratBot
aba978827c [MIRROR] Post-Revolutionary Fervor station trait, revolutionary bedsheets, and a megaphone [MDB IGNORE] (#19834)
* Post-Revolutionary Fervor station trait, revolutionary bedsheets, and a megaphone (#73799)

## About The Pull Request

Upon revolution success, the chosen headrev will now also receive a
megaphone, and a "revolutionary bedsheet" repurposed from a stolen CC
bedsheet to commemorate their success. The post-revs confusion and lack
of command/security usually leads to an instantaneous, total breakdown
in cohesion. It's every man for himself -- that's no way to run a
commune! Just because the revolution has succeeded and nobody can see
your big blue "R" anymore doesn't mean you can't be a leader!

![image](https://user-images.githubusercontent.com/28870487/222981576-e62e457b-1b2d-4756-8c87-7a9093c92c2d.png)

This also adds a new revolution-themed negative station trait --
Post-Revolutionary Fervor. When present, this trait trashes the command
areas at the start of the round. This means cracked windows, broken
consoles, vendors getting knocked over, and the occasional dead
greytider.

![image](https://user-images.githubusercontent.com/28870487/222981095-14ce9336-2320-406e-b0a6-dc91cb8f9479.png)

If you start cleaning at the start of the round, you might finish right
as the next batch of revs decides to crop up.
## Why It's Good For The Game

Giving one of the headrevs a bigger voice and a cool cape (or uncool,
depending on how you view the sprite) means that there's a chance for
them to step up and try to keep the wheels on. Just remember -- Nobody
is obligated to actually listen to this person, it's just a bedsheet.

Adds a neato station trait, which probably counts as command gameplay
content.

## Changelog
🆑 Rhials
add: The headrev who receives the revolutionary banner after a win will
also receive a commemorative bedsheet and megaphone.
add: Post-Revolutionary Fervor station trait. I hope you enjoy fixing
broken computer screens.
spriteadd: A revolutionary bedsheet.
/🆑

* Post-Revolutionary Fervor station trait, revolutionary bedsheets, and a megaphone

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-03-14 02:59:53 +00:00
SkyratBot
a98484d624 [MIRROR] Adds Pinatas that can be purchased by cargo and clown operatives! [MDB IGNORE] (#19829)
* Adds Pinatas that can be purchased by cargo and clown operatives! (#73868)

## About The Pull Request

Pinata's drop various items when struck with a sufficiently powerful
weapon. This PR adds two types, a standard one which can be bought from
cargo which contains various candy items and a syndicate one which
contains both candy items and explosives purchasable by clown
operatives.

The pinata functionality is also a component so admins can turn any
structure/machine/mob into a pinata and customize the "candy" inside

Sprites by @ Mey-Ha-Zah animated versions by me
## Why It's Good For The Game

Adds a cute little celebration themed structure that can be bought by
players to accommodate a celebration based gimmicks or the party trait.
I think the options on things to do as a crew during a celebration are a
bit limited at present with most of the options being making/purchasing
food, activity wise the main example of a celebration item is pin the
tail on the corgi which is a bit uninteresting, the pinata on the other
hand is more cathartic and provides a "reward" in the form of various
candy items for people who participate in smashing it. I also think its
just funny to have clown operative gambling half their TC to try and get
explosives.
## Changelog
🆑 Mey-Ha-Zah & NamelessFairy
add: Added pinata crates to cargo, they contain various candy items. Fun
at parties.
add: Clown operatives can now purchase a weapons grade pinata, this
contains both candy and explosives. Still fun at parties.
admin: Admins can now turn players, mobs and objects into pinata's with
the new pinata component.
/🆑

* Adds Pinatas that can be purchased by cargo and clown operatives!

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-03-13 16:20:54 -07:00
SkyratBot
974aac0d9c [MIRROR] Resprites Majority of chairs [MDB IGNORE] (#19788)
* Resprites Majority of chairs (#73879)

## About The Pull Request
Updates Chair sprites to be more appealing. Sprites made by @ Imaginos16

![image](https://user-images.githubusercontent.com/75904284/224176910-c01e05bb-3a47-416d-a0d5-9e1643282740.png)
## Why It's Good For The Game
-Removes soul
## Changelog
🆑
imageadd: Changed sprites for wooden chairs, comfy chairs, electric
chairs, folding chair and shuttle seats!
/🆑

* Resprites Majority of chairs

---------

Co-authored-by: kinnebian <75904284+kinneb@users.noreply.github.com>
2023-03-13 01:34:45 +00:00
SkyratBot
db4444a9b3 [MIRROR] Limit theft/destroy secondary objectives to items which at least one person cares about [MDB IGNORE] (#19714)
* Limit theft/destroy secondary objectives to items which at least one person cares about

* Update objective_items.dm

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:42:08 +00:00
SkyratBot
b3a9f971b8 [MIRROR] RCD build patches [MDB IGNORE] (#19393)
RCD build patches

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 05:22:28 +00:00
Gandalf
5816c48e9b [MANUAL MIRROR] [MIRROR] Some more RCD Designs & Patches (#72757) (#19752)
Some more RCD Designs & Patches (#72757)

Adds some more stuff you can build with the RCD
1. Under structures you can now build/deconstruct catwalks & construct
Reflector Frames. Destorying a catwalk will cut any cable on it leaving
pieces of it behind
![Screenshot
(92)](https://user-images.githubusercontent.com/110812394/212850493-b7a5d25a-dab5-42e4-bd56-8e7045023984.png)

2. If you have the frames upgrade you can construct APC, Air Alarm &
Fire Alarm frames on walls & Flood light fixtures[fully wired]. It only
creates the wall mount and sticks it on the wall. Wiring, Circuits and
finishing the frame is still your job
![Screenshot
(94)](https://user-images.githubusercontent.com/110812394/214264787-188c7783-473a-4f34-84c1-00ad73520f22.png)

3. If you have the furnishing upgrade you can create racks & beds &
additional bar stool
![Screenshot
(95)](https://user-images.githubusercontent.com/110812394/214264893-96b52fc9-1502-45af-bee3-724cce1935af.png)

**Important Code Refractors**
1. `/turf/closed/wall/proc/try_wallmount()` will return true only after
you have successfully mounted the wallframe or stuck an poster on it &
not simply check if you are trying to mount a valid thing on it
2. `apc_tool_act/rcd_act()` was incorrectly checking passed_mode for the
simple circuit upgrade and not the `the_rcd.upgrade `flag. Thats fixed
now to
3. newly created APC's weren't assigning themselves to their areas
allowing multiple to be created in one area. Thats fixed now
4. Walls, Airlocks & other stuff could be built on tiles having
something dense that would block it. For example a wall could be build
on top of a machine frame!!. Thats also fixed now

More stuff you can build rapidly with the RCD

🆑
add: more designs for the rcd
refactor:` try_wallmount()` to return true only after successful mount
fix: `apc_tool_act/rcd_act()` incorrecly checking for simple circuits
upgrade in the wrong variable
fix: newly created APC's not assigning themselves to their areas.
fix: rcd building structures [walls, airlocks etc] on turf's that
already have structures on them
/🆑

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-03-10 05:19:44 +00:00
SkyratBot
4cd00f275a [MIRROR] Faction defines [MDB IGNORE] (#19590)
* Faction defines

* fixes

---------

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:55:18 +00:00
SkyratBot
7f31d138c4 [MIRROR] Basic Wumborian Fugu & Fugu Gland [MDB IGNORE] (#19369)
* Basic Wumborian Fugu & Fugu Gland

* Update spider_variants.dm

* wew

* Update wumborian_fugu.dm

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:52:34 +00:00
SkyratBot
f8f2abb11f [MIRROR] Refactor, improve, and rename canUseTopic to be can_perform_action [MDB IGNORE] (#19391)
* Refactor, improve, and rename canUseTopic to be can_perform_action

* updoot

* https://github.com/tgstation/tgstation/pull/72876

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

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:19:25 +00:00
SkyratBot
88f8ef7adc [MIRROR] Netherworld Mobs Refractor [MDB IGNORE] (#19181)
* Netherworld Mobs Refractor

* Update statues.dm

* Update tgstation.dme

* w

---------

Co-authored-by: Comxy <tijntensen@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 02:44:53 +00:00
SkyratBot
b047ad0ad8 [MIRROR] Fixes paper formatting on vote box tallies, for democracy. [MDB IGNORE] (#19559)
* Fixes paper formatting on vote box tallies, for democracy. (#73639)

In the spirit of AnturK's original PR the voting season, I present to
you: Fixing a piece of paper.

Due to using DM's multiline template formatting, the `<div>` for the
header started with double tab.

Markdown interpreted that as a code block, quote:
> [Code blocks](https://www.markdownguide.org/basic-syntax/#code-blocks)
are normally indented four spaces or one tab. When they’re in a list,
indent them eight spaces or two tabs.

So I just changed a line of code, then messed around with some other
formatting.

* Fixes paper formatting on vote box tallies, for democracy.

---------

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2023-02-26 19:04:45 -05:00
SkyratBot
1c524fa584 [MIRROR] filled trashcarts spawn nearby grime when initialized instead of when opened for the first time [MDB IGNORE] (#19550)
* filled trashcarts spawn nearby grime when initialized instead of when opened for the first time (#73608)

## About The Pull Request
Filled trashcarts spawn some trash in them once they are opened for the
first time. But they also spawn grime, and the problem with that is that
grime spawns in a range around the trashcart. So opening the trashcart
for the first time would cause the grime to suddenly pop in around the
cart.

This PR changes it so that the grime is spawned when the filled
trashcart is initialized.
## Why It's Good For The Game
Having trash spawn around the trashcart the moment that you open it is
probably not intended. The grime is probably meant to be there before
the trashcart is opened for the first time.
## Changelog
🆑
fix: filled trashcarts spawn nearby grime when initialized instead of
when opened for the first time
/🆑

---------

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

* filled trashcarts spawn nearby grime when initialized instead of when opened for the first time

---------

Co-authored-by: kawoppi <94711066+kawoppi@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
2023-02-26 15:22:15 -05:00
SkyratBot
a2cb8c5c0c [MIRROR] Completely removes do_mob and do_after_mob [MDB IGNORE] (#19126)
* Completely removes do_mob and do_after_mob

* update modular

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-02-19 19:19:50 +00:00
SkyratBot
36c52d3913 [MIRROR] Guillotine can be unanchored again [MDB IGNORE] (#19371)
* Guillotine can be unanchored again (#73423)

## About The Pull Request

Guillotines could not be unanchored, because the unfasten check checked
if any action is being applied to the guillotine, including being
wrenched at the moment. This PR fixes that.

This PR also autodocs everything, adds a missing UNDEF, and renames
GUILLOTINE_BLADE_IDLE to GUILLOTINE_ACTION_IDLE to make it clearer that
this is intended for the current_action var, and not the blade_status
var.

## Why It's Good For The Game

Fixes a bug that prevents something from being moved around.

## Changelog

🆑
fix: Guillotines can be unanchored again
/🆑

* Guillotine can be unanchored again

---------

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-02-18 21:37:09 -08:00
SkyratBot
6ebdfdc73f [MIRROR] Makes Shake() proc work [MDB IGNORE] (#19424)
* Makes Shake() proc work (#73480)

## About The Pull Request

Fixes #72321
Fixes #70388

The shake proc didn't work and hasn't for ages.
I remember it having worked at some point, but it was quite a long time
ago.
I cannot guarantee that the end result here is the same as it was, the
reason here being that I have no idea how this proc ever worked in the
first place. My limited understanding of the `animate` proc implies that
the previous implementation as written would never have acted as you
would expect it to, but clearly at some time in the past it did work. A
mystery.

As a result of the previous, possibly because the proc never _did_ work
as expected and just did something which looked vaguely correct most of
the time, both the default values and the values people were passing
into this proc were completely ridiculous.
Why would anyone ever want to pixel shift an object with a range of _15_
pixels in all directions? That's half a full tile! And why would you
want it to do this for 25 seconds?
So I also changed the values being passed in, because you really want
pretty small numbers passed into here most of the time.

Here's a video of everything that vibrates:
https://www.youtube.com/watch?v=Q0hoqmaXkKA

The exception is the v8 engine. I left this alone because it seems to
try and start shaking while in your hands, which doesn't work, and I
don't know how to fix that. This has potentially _also_ never worked.

## Why It's Good For The Game

Now you can see intended visual indicators for:
- Lobstrosities charging.
- Beepsky being EMPed.
- The Savannah Ivanov preparing to jump.
- The DNA infuser putting someone through the spin cycle.
- The mystery box admin item I had no previous idea even existed (fun
animations on this one).
- Anything else which wants to use this proc to create vibrating objects
in the future.

## Changelog

🆑
fix: Lobstrosities and Tarantulas will once more vibrate to let you know
they're about to charge at you.
fix: The Savannah Ivanov will once more vibrate to let you know it's
about to jump into the air.
fix: The DNA infuser will now vibrate to let people know that it's busy
blending someone with a dead animal.
/🆑

* Makes Shake() proc work

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-02-18 16:58:30 -08:00
SkyratBot
3fcac8d317 [MIRROR] [NO GBP] Maintainer requested changes to the locker/closet grammar PR [MDB IGNORE] (#19350)
* [NO GBP] Maintainer requested changes to the locker/closet grammar PR

* merge conflict markers

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-02-18 15:03:55 -05:00
SkyratBot
cef8390012 [MIRROR] Fixes an inverted if check on false wall attackby code. [MDB IGNORE] (#19395)
* Fixes an inverted if check on false wall attackby code. (#73459)

## About The Pull Request

#64428 made it so using a non-tool on a false wall that was closed would
return the "You must wait until the door has stopped moving" message,
this was caused by a flipped if statement so I've re-flipped it by
changing it to an early return instead.
## Why It's Good For The Game

Bug fix!
## Changelog
🆑
fix: False walls will no longer tell you to wait until they've stopped
moving when you use an item on them.
/🆑

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

* Fixes an inverted if check on false wall attackby code.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
2023-02-17 11:08:43 -08:00
SkyratBot
d17b330c5b [MIRROR] De-hardcodes spawnDebris in windows, fixes a bunch of issues with windows. [MDB IGNORE] (#19357)
* De-hardcodes spawnDebris in windows, fixes a bunch of issues with windows. (#73274)

## About The Pull Request

spawnDebris was being overridden by almost every type of window, I've
set up some new vars for it to pull shard and its debris decal from so
spawnDebris only needed to be set up once (+ once more for paper windows
which are unique).
Fixes an issue with reinforced plasma glass windows dropping regular
glass when broken.
Fixes an oversight where tram windows were dropping only 1 rod instead
of 2 and dropping glass sheets instead of shards.
Cleans up tram window code a bunch.
## Why It's Good For The Game

Fixes several issues, cleans up code and cuts down on a lot of repeat
code.
## Changelog
🆑
fix: Reinforced plasma windows will now drop plasma glass instead of
regular glass when broken.
fix: Tram windows drop the correct number of rods and a shard when
broken instead of a sheet.
code: Removed a ton of duplicate vars in tram window code and
re-organize the file slightly.
refactor: spawnDebris has been un-hardcoded and all (but one) override
of it has been removed.
/🆑

* De-hardcodes spawnDebris in windows, fixes a bunch of issues with windows.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-02-15 13:04:19 -08:00
SkyratBot
e895d0f98c [MIRROR] Tram signal defines, subtypes, documentation, compound damage calc [NO GBP] [MDB IGNORE] (#19313)
Tram signal defines, subtypes, documentation, compound damage calc [NO GBP]

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-02-14 11:12:27 -05:00
SkyratBot
ef3deed131 [MIRROR] Fixes the benches' appearance and odd sitting offset [MDB IGNORE] (#19338)
* Fixes the benches' appearance and odd sitting offset (#73397)

## About The Pull Request
Introduced in https://github.com/tgstation/tgstation/pull/73057,
undocumented, was a change in the offset of players sitting in benches,
which just made it look like if everyone was standing on benches, rather
than sitting on them. I can understand the original goal behind that
change (after discussing with LT3 about it), but I still think that, for
one direction where it might _arguably_ look better, _every_ other
direction looks absolutely awful, and goes against the norm when it
comes to sitting on an chair/sofa/anything you can buckle onto that
serves as a place to sit.

Introduced in https://github.com/tgstation/tgstation/pull/73243,
undocumented, was a new color for benches that just made them look blue
rather than the brown they were meant to be. I'm returning them to their
prior color, as I think that it fits a lot better in its surroundings in
light brown than it did with dirty blue.

This fixes both of these issues, bringing the benches back to
consistency with the rest.

## Why It's Good For The Game
It just looks more consistent with everything else.

![image](https://user-images.githubusercontent.com/58045821/218340276-ee42d15b-fc54-4e56-b565-164b8a8b4db2.png)

## Changelog

🆑 GoldenAlpharex
fix: Sitting on benches no longer gives you a weird offset that makes
you look like you're standing on them.
fix: Returns benches to their original light brown color, rather than
the middle between brown and cyan that they were at for a bit.
/🆑

* Fixes the benches' appearance and odd sitting offset

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-02-13 20:07:20 -08:00
SkyratBot
bd3fd77d82 [MIRROR] Fixes kitchen spike add context screentip runtime [MDB IGNORE] (#19330)
* Fixes kitchen spike add context screentip runtime (#73392)

## About The Pull Request

`held_item` does not always exist, hovering over spikes with empty hands
caused a runtime error

## Changelog

🆑 Melbert
fix: Fixed a runtime from hovering over a meat spike / kitchen spike
with an empty hand
/🆑

* Fixes kitchen spike add context screentip runtime

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-02-14 02:17:23 +00:00
SkyratBot
19608fbac6 [MIRROR] Barsign UI/UX Improvements - Emissive effects, balloon alerts, and refactored code [MDB IGNORE] (#19121)
* Barsign UI/UX Improvements - Emissive effects, balloon alerts, and refactored code (#73106)

The barsign code is over a decade old so this is a big refactor with
some notable improvements:

- Emissive effects (neon lights now glow in the dark)
- Balloon alerts instead of `to_chat` messages
- Mapping helpers based on direction and all_access
- Barsigns are considered machinery now and use power

* Barsign UI/UX Improvements - Emissive effects, balloon alerts, and refactored code

* fixes modular maps

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-02-13 12:59:01 -05:00
SkyratBot
5f9f60713b [MIRROR] Starlight Polish (Space is blue!) [MDB IGNORE] (#19059)
* Starlight Polish (Space is blue!) (#72886)

<!-- 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

Adds support to underlays to realize_overlays
Ensures decals properly handle plane offsets
Fixes space lighting double applying if it's changeturf'd into. this
will be important later
Makes solar vis_contents block emissives as expected
Moves transit tube overlays to update_overlays, adds emissive blockers
to them

#### Adds render steps

An expansion on render_target based emissive blockers. 
They allow us to hijack an object's appearance and draw it somewhere
else, or even modify it, THEN draw it somewhere else.
They chain quite nicely

Fixes shuttles deleting z holder objects

#### Makes space emissive, makes walls and floors block emissives
The core idea here goes like this:
We make space glow, and give its overlays some color

This way, the tile and space parallax remain fullbright, along with
anything that doesn't block emissives, but anything that does block
emissives will instead get shaded the color of starlight

This requires a bit of extra work, see later

This is done automatically with render relays, which now support
specifiying layer and color (Need to make an editor for these one of
these days)

The emissive blocking floor stuff requires making a second render plate
to prevent double scaling

Also adds some new layering defines for lighting, and ensures all turf
lights have a layer. We'll get to this soon

#### Makes things in space blue

We color them the same as starlight, by taking advantage of space being
emissive
This means that things in space that block emissive will block it
correctly and be colored blue by the light overlay, but space itself
will remain fullbright

This does require redefining what always_lit means, but nothing but
cordons use that so it's fineee


#### Makes glass above space glow, and some other stuff

Glass tiles that sit above space will now shine light with matching
color to the glasses color. This includes mat tiles.

Glass tiles (not mat because they have no alpha) also only partially
block emissives.
Adds a new proc that uses render steps to acomplish this, essentially
we're cutting out bits below X alpha and drawing what remains as an
emissive.

#### Modifies partial space showing to support glow

Essentially, alongside displaying space as an underlay, we also display
a light overlay colored like starlight.
That starlight overlay gets masked to only be visible in bits that do
not contain any alpha.

We also mask the turf lighting to not go into bits that have no alpha,
to ensure we get the effect we want.
This is done with that lighting layer thing I mentioned earlier.

#### Makes appearance realization's list output ordered

I want it output in order of overlay, sub overlay suboverlay, next
overlay
Need to use insert for that

## Why It's Good For The Game

Pretty!
Also having space be emissive is a very very good way to test for fucked
emissive blockers (If it's broken why are we even drawing the overlay)
I know for a fact mob blockers on lizards and socks are kinda yorked, I
think there's more

<details>
<summary>
Old
</summary>


![image](https://user-images.githubusercontent.com/58055496/213916157-d4b38aa7-3ab6-42a4-989f-7bfba2dc2cba.png)

![image](https://user-images.githubusercontent.com/58055496/213916077-637fa288-bbee-477d-aded-730d9683477e.png)

![image](https://user-images.githubusercontent.com/58055496/213916088-0657a8a2-5627-48e2-8c4b-870c90ef2072.png)

</details>


<details>
<summary>
New
</summary>


![image](https://user-images.githubusercontent.com/58055496/213916107-2af74e64-1817-4a44-b528-180a9160cb9e.png)

![image](https://user-images.githubusercontent.com/58055496/213916115-5fa36fcc-b988-4ccf-850e-21c26ed463d0.png)

![image](https://user-images.githubusercontent.com/58055496/213916120-6833187d-b12e-42a7-ac4b-63c56deb71e5.png)

</details>

## 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. -->

🆑
add: Space now makes things in it starlight faintly blue
fix: Glass floors that display space now properly let space shine
through them, rather then hiding it in the dark
add: Glass floors above space now glow faintly depending on their glass
type
/🆑

<!-- 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. -->

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>

* update modular

* Update _decal.dm

* Update _decal.dm

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-02-12 00:42:28 -08:00
SkyratBot
1c93bd94e1 [MIRROR] Sign/plaque contextual screentips and file reorganizing [MDB IGNORE] (#19227)
* Sign/plaque contextual screentips and file reorganizing (#73246)

## About The Pull Request

This PR adds contextual screen tips to signs and plaques based on the
held tool. Wrenches unfasten, and welders repair. Behaves the same with
plaques, but plaques also get a screentip for using a fountain pen on
them if they can be engraved. Also adds a tip to editable-item signs
with a pen out.
Tested to avoid issues with posters from cropping up, and it appears to
still behave correctly with paper posters, which are apparently a type
of sign. Go figure.

![image](https://user-images.githubusercontent.com/41715314/216807994-c2400fa0-77fa-48e9-8c2e-5c5ea660a1d8.png)

I've also reorganized the sign and plaque files to follow our more
standard object hierarchy of base type -> inherited procs -> subtype
specific procs, where these were interspersed throughout the file. I did
however leave the armor datums below the object, as they appear to
follow new convention.

## Why It's Good For The Game

Screentips avoid ambiguity and improve readability of construction. Easy
improvement.

Plus, improves consistency of the signs file layout-wise.

## Changelog

🆑
qol: Adds screentips to both signs and plaque construction/modification.
/🆑

* Sign/plaque contextual screentips and file reorganizing

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2023-02-08 02:16:26 +00:00
SkyratBot
93f76593e2 [MIRROR] Adds examine, balloon alert & screen tips for Meat Spike Frame [MDB IGNORE] (#19180)
* Adds examine, balloon alert & screen tips for Meat Spike Frame (#73126)

## About The Pull Request
- Examining a meat spike frame will tell how you can either deconstruct
it with an welding tool or add spikes to it with iron rods
- Examining a meat spike will tell you how to remove its spikes and how
to basically use it
- A balloon alert will pop up if you don't have enough iron rods to add
spikes to a meat spike frame
- Screen tips when holding the correct tool are displayed

## Why It's Good For The Game
New players don't have to wiki this and honestly i got confused the
first time i used it so there is that. More information basically

## Changelog
🆑
qol: examining a meat spike frame & meat spike will tell you about
itself
/🆑

---------

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

* Adds examine, balloon alert & screen tips for Meat Spike Frame

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-02-08 02:14:36 +00:00