Commit Graph

8383 Commits

Author SHA1 Message Date
SkyratBot
daba1d93ae [MIRROR] Hud screens now set hud owner in Initialize. [MDB IGNORE] (#22501)
* Hud screens now set hud owner in Initialize.

* Merge conflicts

* modular adjustments

* Missed one

* Make this easier to spot

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-18 16:41:01 -04:00
SkyratBot
cc3bcac7d7 [MIRROR] Fixes water-resistant creampies [MDB IGNORE] (#22343)
* Fixes water-resistant creampies (#76653)

## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/76641
Caused by the bodypart overlay being deleted before it got properly
removed on UnregisterFromParent()

## Why It's Good For The Game

One less hard delete and one less bug caused by said hard delete

## Changelog

🆑
fix: Creampies will no longer irreparably stain your face
/🆑

* Fixes water-resistant creampies

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-07-18 13:04:23 -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
Bloop
b674e72ef1 [MISSED MIRROR] Macros multi-z code, removes the false premise of manual offsets (#76248) (#22531)
* Macros multi-z code, removes the false premise of manual offsets (#76248)

## About The Pull Request

[Removes the pretense of relative multiz
levels](0293fdc2bd)

Our multiz system does not support having a z level that is only
connected one way, or which goes down backwards or anything like that.

That's a fiction of the trait system, the actual backend has never
really supported this.

This pr removes the assumptions we were making backend around this, and
uses that to save cpu time.

I am also converting multiz_levels from an assoc list to a pure one,
which saves significantly on access times and cleans up the code
somewhat.

Also I'm making the get_below/get_above procs into macros, for the sake
of cpu time.

[Converts the starlight disease to use BYOND's directional defines
instead of our
own](7d698f02d9)

To some extent spurred on by
https://github.com/DaedalusDock/daedalusdock/pull/298, tho it was known
before

## Why It's Good For The Game

Faster multiz code, faster init, etc etc etc

* modular files how very dare you

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-07-18 02:28:15 +00:00
SkyratBot
9d449629db [MIRROR] Ethereal Pirates (Re-pr) [MDB IGNORE] (#22298)
* Ethereal Pirates (Re-pr) (#76554)

Other pr had some weird check failure, making a new pr to see if it
fixes it.

## About The Pull Request
After he ended up finishing his pirate pr before I could, SethLafuente
graciously offered to let me roll my in-progress pirate pr into his
overall pirate expansion project.

This pr essentially adds a new faction of pirates, along with a new
subspecies of Ethereals a-la silverscales.

- The Lustrous:

A unique subspecies of Ethereal, with years of exposure to bluespace
dust mutating them into crystalline abominations sporting a new pointy
head, pressure resistance, and a permanent bluespace prophet brain
trauma. They're still as fragile as ever, but far more capable of
getting in and out of sticky situations.

- Geode Pirates:

A hollowed out asteroid manned by three Lustrous, equipped with
switchblades, traitor PKAs, jump boots, two teleporting turrets, and an
upgradable bluespace launchpad.

However, they lack proper armor and ship defenses, forcing them to adopt
a coordinated hit-and-run playstyle.

![asteroid](https://github.com/tgstation/tgstation/assets/63932673/1ab420fd-4bf3-4a54-94be-fde73cf66edf)

![shuttle](https://github.com/tgstation/tgstation/assets/63932673/00574b29-54be-4efb-b6d6-0085c3bc5cfb)

![piratas](https://github.com/tgstation/tgstation/assets/63932673/d1586a30-a1e5-42e0-b16b-9793db1340ad)
## Why It's Good For The Game

When I started working on this project, I wanted to implement this
faction to cover for the loss of psykers and as a means of creating a
"rock-paper-scissors" system to how standard pirate playstyles would
work; with default pirates being offensive, Silverscales defensive, and
Lustrous mobile.

With Seth's pr, things are a little different now, but I still believe a
glass cannon mobility-focused pirate faction would be a welcome addition
to the pirate roster.
## Changelog
🆑
add: Adds the Lustrous, ethereal pirates in a big bluespace geode!
sound: Unique scream sound for the Lustrous species.
image: Unique head icon for the Lustrous species.
/🆑

---------

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

* Ethereal Pirates (Re-pr)

* Fixes some merge whackiness

---------

Co-authored-by: Toastgoats <63932673+Toastgoats@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-16 23:06:18 -04:00
GoldenAlpharex
9e1d33a309 [MANUAL MIRROR] SPECIES NUKING 2023: Head flags 3 & Knuckles: Fixes some growing pains with head flags [MDB IGNORE] (#22516)
* SPECIES NUKING 2023: Head flags 3 & Knuckles: Fixes some growing pains with head flags  (#76440)

Fixes https://github.com/tgstation/tgstation/issues/76422
This was caused by me somehow not using the wrapper there and not
noticing it

Also fixes hair gradients and facial hair gradients. I am pretty sure
they were uhh, being hidden behind the actual hair/facial hair. Oops.

Also also fixes spawning yourself as a human as admin and getting random
hair colors. That was just a failure to update the icon after updating
everything, I think?

Additionally, to totally babyproof all of this, ensures that head_flags
involved stuff gets applied AFTER species by creating a new preference
priority, and uses two separate wrappers to apply gradient style and
color.

Here's this absolute hellspawn to prove that everything works.

![image](https://github.com/tgstation/tgstation/assets/82850673/7ed29a68-cb60-4b28-996c-3be0e7331be8)

![image](https://github.com/tgstation/tgstation/assets/82850673/e57128be-0d7c-46ad-90dd-ee25981d0fea)

![image](https://github.com/tgstation/tgstation/assets/82850673/5c3619a8-fe6f-42b3-9fdc-12277d568e8d)

![image](https://github.com/tgstation/tgstation/assets/82850673/fdd13000-2220-47ad-8e02-44bc75a4a907)

Sorry for being so damn good at breaking this codebase.

Bugs are bad they make you mad

🆑
fix: Hair and facial hair gradients work again now
fix: Facial hair colors apply properly again
fix: Admin spawned characters will get hair color preferences applied
properly
/🆑

* Fixed a compile error (whoops)

* Whoops fixed that wrong

* Okay now I compiled and made sure it was fixed for real, I swear!

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
2023-07-16 19:44:49 -04:00
GoldenAlpharex
db83be17da [MANUAL MIRROR] SPECIES NUKING 2023: Head flags 2: Electric Boogaloo (#76298) [MDB IGNORE] (#22506)
SPECIES NUKING 2023: Head flags 2: Electric Boogaloo (#76298)

Continues the work I started on
https://github.com/tgstation/tgstation/pull/76074
Fixes https://github.com/tgstation/tgstation/issues/73782

Implements a bunch of wrapper procs for hair style, facial hair style,
etc etc the whole nine yards.
Fixes many issues, especially with gradients because I did sloppy tired
code that didn't work there.
Makes head/get_limb_icon() not a disgusting mess (well, at least makes
it less of a disgusting mess).

Actually makes hair and lips depend entirely on the bodypart.

🆑
refactor: Head rendering code has been updated significantly... Again.
Please report any issues with hair, facial hair, lipstick and such.
/🆑

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
2023-07-16 18:16:12 -04:00
SkyratBot
5d41bf7bb3 [MIRROR] Fixes some synthetic language oversights [MDB IGNORE] (#22498)
Fixes some synthetic language oversights

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-16 18:09:24 -04:00
SkyratBot
1b2c393ca6 [MIRROR] PAI Holochassis are now leashed to an area around their card [MDB IGNORE] (#22461)
* PAI Holochassis are now leashed to an area around their card

* Fix diffs

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-16 16:38:20 -04:00
SkyratBot
0ab6e150ec [MIRROR] Buffs deviant tastes quirk a bit. [MDB IGNORE] (#22504)
* Buffs deviant tastes quirk a bit. (#76864)

## About The Pull Request
Eating decaying fungus, liking the taste but caring about how dirty it
was is a bit strange.
## Why It's Good For The Game
Consistency.
## Changelog
🆑
qol: People with deviant tastes now don't care about dirt on the food.
/🆑

* Buffs deviant tastes quirk a bit.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2023-07-16 16:03:19 -04:00
SkyratBot
45c9acb684 [MIRROR] Basic mobs can emote when they get a new target [MDB IGNORE] (#22497)
* Basic mobs can emote when they get a new target (#76654)

## About The Pull Request

![image](https://github.com/tgstation/tgstation/assets/7483112/c16adf49-b075-42ee-a5e1-d998e0e77227)

Fixes #76624
Restores lost functionality for a mob to play an emote when it acquires
a new target.
Also I added a generic blackboard key change signal which could
potentially have other uses in the future.

## Why It's Good For The Game

It's good feedback to know when a mob has chosen to target something.

## Changelog

🆑
fix: Carp, Trees, and Festivus Poles will once more sometimes emote at
you if they think you are looking at them the wrong way, before they
come over to beat you up.
/🆑

* Basic mobs can emote when they get a new target

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-07-16 14:18:38 -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
3fe9b06d4c [MIRROR] Imports and Contraband 2: Landfill Gacha Addiction (I put trash randomizers into cargo crates and called it content) [MDB IGNORE] (#22475)
* Imports and Contraband 2: Landfill Gacha Addiction (I put trash randomizers into cargo crates and called it content)

* Merge conflict

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-15 22:29:49 -04:00
SkyratBot
6b69b10361 [MIRROR] Bots no longer require PAIs to become sapient [MDB IGNORE] (#22361)
* Bots no longer require PAIs to become sapient

* Fixes merge conflicts

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-15 20:17:22 -04:00
Bloop
a6dc498a14 [MISSED MIRROR] Alcoholic quirk (#76510) (#22464)
Alcoholic quirk (#76510)

So you're telling me we have a smoker quirk and we DON'T have an
alcoholic quirk?
What a travesty! Time to fix that.

This quirk is essentially equivalent to smoker, but instead of a
favorite brand you get a favorite *brandy* (as in, favorite type of
booze).

![image](https://github.com/tgstation/tgstation/assets/82850673/f3883f76-414a-48a8-8f69-76f1bc01d020)

More quirk variety with decent roleplay value.
What will we do with a drunken sailor?

🆑
add: Added Alcoholic as a negative quirk.
/🆑

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
2023-07-15 19:27:24 -04:00
Zergspower
bb3d041572 [Manual Mirror Fix] Removes shitty "status" variable on organs, makes them use organ_flag (#22480)
* Removes shitty "status" variable on organs, makes them use organ_flags instead (#76350)

Title.

Seriously this shit pisses me off, why are ORGAN_SYNTHETIC and
ORGAN_ROBOTIC two different things?

not applicable unless i fucked up

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>

* Modulars

* Some merge skew

* More diffs

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-15 17:27:49 -04:00
SkyratBot
84b9842c6d [MIRROR] Lets you enter fakedeath when dead [MDB IGNORE] (#22331)
Lets you enter fakedeath when dead

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-07-15 13:41:12 -07:00
SkyratBot
21478d3e6c [MIRROR] Rewrites anti-magic slightly to stop spamming anti-magic effects on the same mob to silly levels [MDB IGNORE] (#22476)
* Rewrites anti-magic slightly to stop spamming anti-magic effects on the same mob to silly levels (#76616)

## About The Pull Request

Moves anti-magic effect off of the component and onto the mob. Fixes
some bugs while there.

Anti-magic effects will now only trigger on calls with a charge cost
associated.

If the user is under the effects of.. an antimagic effect, a new one
will not play. This cuts down on overlay and sound effect spam from
walking through forcewall or spacetime distortion, for example.

## Why It's Good For The Game

I just found it a little annoying to see a chaplain walk through a magic
effect and it just spams the fart sound over and over on repeat and
makes them completely impossible to see.

## Changelog

🆑 Melbert
fix: Anti-magic visual effects will no longer trigger overtop one
another
/🆑

* Rewrites anti-magic slightly to stop spamming anti-magic effects on the same mob to silly levels

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-07-15 12:46:42 -04:00
Bloop
6ddf70316d [MISSED MIRROR] Hemiplegic quirk (#76526) (#22450)
* Hemiplegic quirk (#76526)

## About The Pull Request

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

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

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

## Why It's Good For The Game

Character customization and pure, undistilled human suffering.

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

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>

* Update jobs.dm

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2023-07-15 10:39:27 -04:00
SkyratBot
fd2c6fb35b [MIRROR] Adds a new heavy weight space pirate variant: The space IRS! [MDB IGNORE] (#22365)
* Adds a new heavy weight space pirate variant: The space IRS!

* Fix merge conflicts, UpdatePaths

* Fixes some path changes

* Updates icon files, adds a new sprite for breacher slug box illustration

* Removes some skyrat edits and puts them in modular overrides instead

---------

Co-authored-by: Singul0 <127663818+Singul0@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-15 03:39:23 -04:00
SkyratBot
74af69d062 [MIRROR] Adds cardboard IDs to the game: The broke man's agent ID. [MDB IGNORE] (#22341)
* Adds cardboard IDs to the game: The broke man's agent ID.

* Fixes some undocced edits, formats others to match spec

* Fixes a merge conflict

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-15 01:06:41 -04:00
SkyratBot
1ccef595b3 [MIRROR] Frontier Militia ERT Fix [NO GBP] [MDB IGNORE] (#22203)
Frontier Militia ERT Fix [NO GBP]

Co-authored-by: Cheshify <73589390+Cheshify@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-14 23:36:50 -04:00
SkyratBot
fcacebfe38 [MIRROR] Adds Roach Infusion to the DNA infuser [MDB IGNORE] (#22190)
* Adds Roach Infusion to the DNA infuser

* Icons

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-14 23:11:18 -04:00
SkyratBot
b8a9e30304 [MIRROR] Adds support for it/its pronouns [MDB IGNORE] (#22422)
* Adds support for it/its pronouns

* Conflicts

* Update new_player.dm

---------

Co-authored-by: Vekter <TheVekter@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-14 22:56:30 -04:00
GoldenAlpharex
7a827df807 [MIRROR] SPECIES NUKING 2023: Nukes species_traits, good night sweet prince [MDB IGNORE] (#22458)
* SPECIES NUKING 2023: Nukes species_traits, good night sweet prince (#76297)

IT'S OVER.

Species traits are a relic of a time before the trait system was added
to generalize this kind of behavior.
They are clunky and overall less useful than inherent_traits -
Converting these makes it easier to make these behaviors modular and
usable not only by species.

🆑
refactor: A significant species refactor happened, report any issues on
the github.
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>

* Makes it all work

* Fix widespread vampirism (#76414)

## About The Pull Request

Removing code you think is not necessary but is actually is always a
recipe for disaster (#76297)


![image](https://github.com/tgstation/tgstation/assets/51863163/8ea9fdcc-2f95-47d4-a00f-cc8ebeb319f9)

## Changelog

🆑 Melbert
fix: Fix everyone being vampires
/🆑

* Whoops, missed one!

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-07-14 21:38:54 -04:00
SkyratBot
b6f130d011 [MIRROR] SPECIES NUKING 2023: Makes tongues handle liked/disliked food instead of species datum [MDB IGNORE] (#22066)
* SPECIES NUKING 2023: Makes tongues handle liked/disliked food instead of species datum

* Fixes all of the left-over issues

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

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

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

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

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-07-14 16:54:10 -04:00
SkyratBot
472bdb00aa [MIRROR] Fix double signal send of COMSIG_MOB_EMOTED [MDB IGNORE] (#22288)
* Fix double signal send of `COMSIG_MOB_EMOTED`

* Conflict fixed

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-14 15:23:09 -04:00
SkyratBot
e3cd27ab6d [MIRROR] The Laser Musket (2023) (Settlement Helper Edition) [MDB IGNORE] (#22156)
* The Laser Musket (2023) (Settlement Helper Edition) (#76231)

## About The Pull Request
This adds a craftable laser musket to the game. It's slow and unwieldy,
but consistent! I'd be happy to tweak the numbers if it's too good/bad.

This PR also adds an independent militia ERT, who travels the spinward
sector to help defend stations!

TO DO LIST:

- [x] Finish worn sprites
- [x] Add a crafting recipe on par with the pipegun
- [x] Add bayonets
- [x] Separate charging into two stages and REDO THE AUDIO AAAA
- [x] Clean up code (Needs review, totally)

Scrapped:

- Possibly add overcharge mechanic (This is just beyond my skill level
for now)
- Find a unique sound for the weapon firing (We have a unique
projectile, and I can't a sound that fits more than the laser gun one)

![image](https://github.com/tgstation/tgstation/assets/73589390/40ee8f1d-5c1f-4638-af70-ff1215b85c9e)

![1211
(1)](https://github.com/tgstation/tgstation/assets/73589390/1a4b9856-a878-4500-96ce-4fd83587fa81)

![musket (2) (2)
(2)](https://github.com/tgstation/tgstation/assets/73589390/2ebdc2ed-6f78-4761-9deb-a1b2d337a02d)

![aaaa1
(1)](https://github.com/tgstation/tgstation/assets/73589390/6076edd3-97c9-41ec-a67a-90717f97eab0)

![image](https://github.com/tgstation/tgstation/assets/73589390/c47e44bd-3f4b-44b3-aaa5-9b1c25a72cad)

Inhands by RedSentry27
Suit sprite by Kinnebian
Prime Laser Musket sprites by RedSentry27

Balance Considerations (ew):
25 damage (30 on prime)
Normal wound
40 Stamina damage (45 on prime)
Weak to armour (prime not weak to armor)
2 second charge time, needs to be charged twice
No overcharge
Requires two hands to hold (like a chainsaw)

Crafting Recipe:
One rifle stock
Fifteen Cable Coils
Four Iron Rods
One micro laser
One capacitor
One pair of prescription glasses
One drinking glass
Craft for 10 seconds with a wirecutter and screwdriver

Prime crafting recipe: (REQUIRES READING MAINTENANCE LOOT: "journal of a
space ranger")
One laser musket
Fifteen cable coils
Five silver
One water recycler
Fifteen units of nuka cola
Craft for 30 seconds with a screwdriver while wearing cowboy boots and a
cowboy hat
## Why It's Good For The Game
The idea of assistants and revs forming firing lines in the halls to
shoot eachother sounds hilarious. Besides, we need a parallel to the
pipegun, and this is the funniest way to do so.
## Changelog
🆑 Cheshify, Kinnebian, and RedSentry27
add: Maintenance engineers have sent out blueprints across the sector
for a new laser musket.
admin: A new energy-gun toting ERT is available to send to the crew.

---------

Co-authored-by: carlarctg <53100513+carlarctg@ users.noreply.github.com>

* The Laser Musket (2023) (Settlement Helper Edition)

* Update guns.dm

* Update guns.dm

* Fixes vox/teshari greyscale config paths

---------

Co-authored-by: Cheshify <73589390+Cheshify@users.noreply.github.com>
Co-authored-by: carlarctg <53100513+carlarctg@ users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-07-14 15:21:42 -04:00
SkyratBot
ed294532c6 [MIRROR] transform the paper wizard from a simple to a basic [MDB IGNORE] (#22452)
* transform the paper wizard from a simple to a basic (#76688)

## About The Pull Request
i transfered paper wizard from simple to a basic and i also gaved him
new fetures he can go and do. now when he will go and walked when he
walks there will be a paper effects when he goes to walk. also he will
he will now go to look for paperes on the floor and then he will write
stuff inside the paper, so a player can maybe distracted the wizard with
a paper because the wizard will stop atacked him for a bit until he
finished writted stuff inside the paper. i follow the instrucions in the
learn-ai md to maked this to a new ai subtree behavier.

## Why It's Good For The Game
the paper wizard is now a basic so he is a better ai and he also have
more feture to gaved him depth mechanics

## Changelog
🆑
refactor: paper wizard have been refactored, please report any
bugs/unintended behavior
refactor: refacted the datum/elememt/trial to an bespoken element
add: paper wizard now have effects when he walking and he will now go
and look for paperes and write stuff in them
/🆑

* transform the paper wizard from a simple to a basic

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2023-07-14 13:10:55 -04:00
SkyratBot
35e28a5b4a [MIRROR] Goliath basic mob [MDB IGNORE] (#22412)
* Goliath basic mob (#76754)

## About The Pull Request

Converts Goliaths to the basic mob framework and gives them some new
moves because I can't leave things well enough alone.
I am planning on touching all the lavaland fauna and then maybe even the
icebox ones if I haven't got bored. The Golaith is the first because it
is iconic.

https://www.youtube.com/watch?v=JNcKvMwT4-Q
Here's me getting killed by one as a demonstration. Despite my poor
performance I would contend that they aren't a _lot_ more dangerous, but
they are a little more dangerous.

The chief difference here is that they have two new attacks which they
will only use in response to being attacked.
If fired at from range, they will target the attacker with a line of
tentacles (it doesn't track you, so is easily sidestepped).
If attacked in melee, they will surround _themselves_ with tentacles, on
a longer cooldown.

Something else you may notice in this video: I discovered that basic
mobs are actually _too smart_ to be Lavaland fauna.
Typically (unlike their old form) a mob on our new AI system is smart
enough to attack someone _the moment they come into range_ rather than
only checking on predictable ticks, which would make using the Crusher
an essentially unviable prospect.
To counteract this, Goliaths now have a delayed attack component which
gives you a visual warning and short duration to get out of range before
they swing at you. I will probably put this on all mining fauna that get
reworked, it wouldn't be a terrible thing to put on other mobs to be
honest.

Other changes: The goliath stun is now a status effect with _buckles_
you to the tentacle as if grabbed, as well as its previous effects.
While this seems purely worse, any nearby helpers can now help-click on
you to instantly remove the debuff.
Experiencing the effect of a Lobstrosity Rush Gland makes you immune to
being grabbed by tentacles and an implanted one will automatically
trigger and free you if you are hit, and the explosive effect of
Brimdust also causes the tentacle to retract (although you'd need to
take damage for this to happen). Using the tools of the land, you can
make these creatures less threatening.

The ability for a Goliath to chain-apply the ability has now also been
reduced, it won't refresh its duration if you are hit when already
buckled.

When not occupied hounding miners, Goliaths will intermittently dig up
the asteroid sand and eat any worms that this produces.
I also made some new sprites for riding a Goliath because they've been
broken since the Lavaland mob update and also kind of were ugly before
then anyway:

![image](https://github.com/tgstation/tgstation/assets/7483112/90580403-d82f-4c29-b3e1-6c462e01edda)

Other code changes:
- I made an element which only lets an attached object move every x
seconds. This is because Goliaths are far too slow to use the speed
system (the glide just looks bugged as hell) but one thing I am invested
in when converting these is to make sure that they share the same
behaviour when player or AI controlled. This is disabled while you're
riding them because it was interminably slow.
- The Goliath tentacle trail uses a supertype object now shared with the
Meteor Heart which did something kind of similar.

## Why It's Good For The Game

It begins the process of moving one of our larger subsets of NPCs onto
the newer framework for NPC behaviour.
It adds a little bit more life to an iconic but slightly uninteresting
foe which mostly just walked at you slowly.
This PR contains a few components I expect to apply more widely to other
mobs in the future.

## Changelog

🆑
refactor: Goliaths now use the Basic Mob framework, please report any
unusual behaviour.
add: Goliaths learned a couple of new attacks which they will use in
self-defence.
balance: Help-clicking a miner grabbed by Goliath tentacles will
immediately free them, as will the effect of several items you can
scavenge from around Lavaland.
image: New sprites for the Goliath saddle.
/🆑

* Goliath basic mob

* Update ash_rituals.dm

* fixes icon diff

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-14 03:10:50 +00:00
SkyratBot
02648adcd6 [MIRROR] Refactors mind language holders into non-existent, fixes new languages being deleted on species swap + tests [MDB IGNORE] (#22348)
* Refactors mind language holders into non-existent, fixes new languages being deleted on species swap + tests

* Fixing merge conflicts

* don't forget to ctrl+s!

* Another forgotten file

* urgh

* gets rid of vestiges of update_atom_languages()

and mind language holders

* No longer needed

* Fixes some modular grant_language calls

* Deprecated code

* This was up here before..

* Fixes failing unit tests, refactors silverscale lizards language a bit removing the need for skyrat edits

Removes some no longer needed code

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-13 22:38:45 -04:00
SkyratBot
44e8be8991 [MIRROR] SPECIES NUKING 2023: Mein leber! Allows livers to handle reagents in special ways, instead of the species datum doing it [MDB IGNORE] (#22047)
* SPECIES NUKING 2023: Mein leber! Allows livers to handle reagents in special ways, instead of the species datum doing it

* Fixes another conflict that it decided not to take in

* Fixes the linters!

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-07-13 19:12:37 -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
f9157237a7 [MIRROR] Makes cult leader handling work off of the Cult datum [MDB IGNORE] (#22286)
* Makes cult leader handling work off of the Cult datum

* Fix diffs

* moved to cult_team

* Fix conflict

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-13 16:23:44 -04:00
SkyratBot
f660441c43 [MIRROR] Post-revs win now ends the shift. [MDB IGNORE] (#22398)
* Post-revs win now ends the shift.

* Update revolution.dm

---------

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2023-07-13 12:05:44 -07:00
SkyratBot
ae36263265 [MIRROR] Bilingual can now choose their language [MDB IGNORE] (#22296)
* Bilingual can now choose their language

* Fix a merge error, removes a skyrat edit in favor of modular override

* uh what

* Moves the setup of GLOB.all_languages back into the subsystem + makes it load before SSAssets

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-13 14:26:00 -04:00
SkyratBot
5bca535c54 [MIRROR] Fix invisible superscript characters in runechat [NO GBP] [MDB IGNORE] (#22420)
* Fix invisible superscript characters in runechat [NO GBP] (#76696)

## About The Pull Request

Fixes superscript characters from being invisible (like the asterisk
when you perform actions)

![image](https://github.com/tgstation/tgstation/assets/83487515/ea863d0d-69ab-4791-820a-717ce3a2dbd1)

## Changelog
🆑 LT3
fix: Maptext should now properly show superscript characters when
performing actions
/🆑

* Fix invisible superscript characters in runechat [NO GBP]

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-07-13 11:21:42 -07:00
SkyratBot
0b21c78a89 [MIRROR] Elementises mining mob resistance to being attacked from off screen [MDB IGNORE] (#22362)
* Elementises mining mob resistance to being attacked from off screen

* Update code/__DEFINES/mobs.dm

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2023-07-13 12:49:39 -04:00
SkyratBot
0e0ac6dcbf [MIRROR] Unit test gaining and removing traumas [MDB IGNORE] (#22390)
* Unit test gaining and removing traumas (#76748)

## About The Pull Request

Requires #76744

Tests the granting and removing of brain traumas.

## Why It's Good For The Game

See
https://github.com/tgstation/tgstation/pull/76744#issuecomment-1630066603

## Changelog

Not necessary unless it finds something funky

---------

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

* Unit test gaining and removing traumas

* skyrat changes

* Update trauma_granting.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2023-07-13 10:52:32 -04:00
SkyratBot
a97aab7642 [MIRROR] Refactors bardrone area based godmode into an element [MDB IGNORE] (#22419)
* Refactors bardrone area based godmode into an element (#76619)

Let's this be used for more than just bardrones and for more than just
the exit shuttle in the future

* Refactors bardrone area based godmode into an element

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-07-13 08:57:14 -04:00
SkyratBot
cc594cbf00 [MIRROR] Golems can dig up the floor with their bare hands [MDB IGNORE] (#22322)
* Golems can dig up the floor with their bare hands (#76623)

## About The Pull Request

I'm atomising a different branch I'm working on so here comes a bunch of
goofy components.
This one lets mobs dig up floor by clicking on them.

![image](https://github.com/tgstation/tgstation/assets/7483112/723b712b-1d3d-4154-a116-7a0379e4e522)
I have justified the existence both of this component and of this system
by attaching it to golem arms.

## Why It's Good For The Game

If you can mine solid rock with your fists you should probably be able
to get sand too

## Changelog

🆑
add: Golems can scoop sand (or snow) off the floor by clicking on it.
/🆑

* Golems can dig up the floor with their bare hands

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-07-13 02:01:27 -04:00
SkyratBot
87e52d5e4b [MIRROR] Clarifies some silicon interactions via screentips, also converts some stuff to balloon alerts [MDB IGNORE] (#22417)
* Clarifies some silicon interactions via screentips, also converts some stuff to balloon alerts (#76690)

## About The Pull Request

APCs, fire alarms, and holopads now communicate a few more hotkeys for
interaction with silicons via examine. Ex. APCs now tell silicons they
can disable lighting with shift-click.
## Why It's Good For The Game

1. Balloon alerts are cool.
2. UX is also cool.
## Changelog
🆑
qol: APCs, fire alarms, and holopads now communicate some more of their
silicon interactions via screentips.
qol: APCs, fire alarms, holopads and turret control panels now use
balloon alerts for more of their notifications.
/🆑

---------

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

* Clarifies some silicon interactions via screentips, also converts some stuff to balloon alerts

---------

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2023-07-12 21:55:58 -04:00
SkyratBot
27952f3232 [MIRROR] Fix Too Slowing people with high fives [MDB IGNORE] (#22086)
* Fix Too Slowing people with high fives  (#76277)

## About The Pull Request

At some point with the refactors to offering it was made so that
dropping the item stops the offer, unfortunately too slowing people with
high fives relied on this behavior (dropping not stopping the offer).

Restores that behavior with a bit more code tweaking.

## Why It's Good For The Game

How can I be too slow?

## Changelog

🆑 Melbert
fix: You can once again "too slow" someone with a high five
/🆑

* Fix Too Slowing people with high fives

* d'oh!

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2023-07-12 15:22:07 -04:00
SkyratBot
3b01d00ada [MIRROR] Makes HMS (and uncurable severity diseases) actually uncurable. [MDB IGNORE] (#22352)
* Makes HMS (and uncurable severity diseases) actually uncurable. (#76291)

This PR makes HMS and any other diseases set to uncurable severity (only
HMS counts right now) actually uncurable through either aheal or viral
bonding.

Well, simply put, you shouldn't be able to cure quirks. Viral bonding
doesn't technically "cure" the disease but makes you into a carrier for
something that doesn't spread, which has been fixed.

* Makes HMS (and uncurable severity diseases) actually uncurable.

---------

Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-07-12 19:03:55 +00:00
SkyratBot
cd120b9bdb [MIRROR] Citation payments check for valid amount [MDB IGNORE] (#22399)
* Citation payments check for valid amount (#76760)

## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/76705

## Why It's Good For The Game

Citations shouldn't be exploitable for free money.

## Changelog

🆑 LT3
fix: Security records no longer accept negative values for citation
payment
/🆑

* Citation payments check for valid amount

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-07-12 14:52:36 -04:00
Bloop
68ef9b4d31 [MISSED MIRROR] Various spider fixes (#76528) (#22395)
Various spider fixes (#76528)

## About The Pull Request

Fixes #76484
Then I noticed some weird stuff which slipped through the PR and poked
at that too.

- Spiderlings and Spiders once more have names ending in (###)
- Removed an unused property on Spiderlings.
- Rewrote the descriptions for a bunch of web-abilities and web-objects
to be clearer and have better capitalisation.
- Refactored the "Web Carcass" ability to not extend from "lay web" as
it didn't need to perform most of that behaviour.
- Also I renamed it and made the description give you a hint about why
you would want to instantly spawn a statue.
- The web effigy now despawns at the same rate as the ability cools down
so you're not dumping spider statues all over the place.
- I made spiderlings move at about the same speed as humans except if
they're on webs in which case they're still pretty fast.

To be honest I am not certain an instant statue spawning button is great
to begin with and I didn't even know it was added to the game but I am
not interested in messing much with the balance for now.

This made me look at spiderlings enough that I'm going to try and make a
new sprite for them that isn't awful.

## Why It's Good For The Game

Lets you differentiate individual spiders a little bit.
Makes usage of abilities clearer.

## Changelog

🆑
balance: Guard spider web statues despawn as the ability comes back off
cooldown.
balance: Spiderlings now only move at light speed if they're on webs,
stay safe little guys.
fix: Spiders once again have random numbers after their names.
/🆑

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-07-12 10:16:55 -07:00
lessthanthree
68614e0be8 Fix liver damage on alcohol processing (#22310)
* alcohol tolerance

* are YOU drunk, LT3?
2023-07-12 12:59:00 -04:00
SkyratBot
e6b03254ce [MIRROR] Converts foxes to basic mobs. [MDB IGNORE] (#22358)
* Converts foxes to basic mobs. (#76662)

## About The Pull Request

As the title says, foxes are now basic mobs.

Foxes have a few new behaviors now, rather than the zero behaviors they
had before. Foxes, being very skittish animals, will flee from anything
that damages them. Additionally, they now have hunting behavior,
tracking down and killing anything of their size or smaller - regardless
of faction. They will not, however, hunt as long as someone is watching
them - which is to say, if any living humans are within 7 tiles of them.
Don't leave a fox and a chicken together while you're transporting your
grain to Lavaland! Also, make sure you don't leave Renault and Ian on
their play date unsupervised...

![image](https://github.com/tgstation/tgstation/assets/105025397/152f56f7-02ae-4b1f-8556-2571ed485683)
## Why It's Good For The Game

Gets rid of another simple animal. We grow ever closer to ascension.

Also, makes foxes a little more interesting rather than simply another
animal that does literally nothing. Renault will now flee from anyone
trying to kill her, for instance. Also opens up unique avenues of pet
murder if you want to make it look like an accident.
## Changelog
🆑
refactor: Foxes are more crafty now. They will run from danger, and hunt
small prey when no one is keeping an eye on them. Don't leave Renault
alone with Ian!
/🆑

* Converts foxes to basic mobs.

* Run UpdatePaths

* Fixes a renalt objective modular override

---------

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-12 10:32:33 -04:00
SkyratBot
0629bd5128 [MIRROR] Heavily reworks and resprites first aid analyzers. [MDB IGNORE] (#22293)
* Heavily reworks and resprites first aid analyzers.

* Update _bodyparts.dm

Merge pt 1

* Update health_analyzer.dm

Merge pt 2

* Fixing some merge conflicts

* Run UpdatePaths

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-07-12 12:28:03 +00:00