Commit Graph

127 Commits

Author SHA1 Message Date
SkyratBot
f8b2329771 [MIRROR] Fixes issue where role banned players can still play roles they're banned from. [MDB IGNORE] (#23399)
* Fixes issue where role banned players can still play roles they're banned from.

* Update sql_ban_system.dm

* Some formatting updates

---------

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-08-31 00:10:42 -04:00
SkyratBot
f2d1a4407f [MIRROR] [no gbp] Removes a source of self-ling [MDB IGNORE] (#23352)
* [no gbp] Removes a source of self-ling (#77941)

## About The Pull Request

The protection from allowing a possessing mob to lay changeling eggs of
the dead headslug corpses present in the meateor ruin was a
post-creation variable edit rather than an immutable property of the
typepath, so if for instance you had some kind of item of clothing which
allows you to turn yourself into an instance of a mob via its typepath
you could use them to turn into a headslug, bite a monkeyman, commit
suicide, and then become a changeling.

An unintended consequene of two things added by the same developer?
Starting to stop looking like a coincidence, someone should investigate
this guy...

## Why It's Good For The Game

This is undesirable, which is exactly why nobody reported it even though
they knew they could do it.

* [no gbp] Removes a source of self-ling

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-08-26 23:50:22 -04:00
SkyratBot
77e68ea0c6 [MIRROR] Gives IceBox legions their own, separate corpse-drops. [MDB IGNORE] (#23322)
* Gives IceBox legions their own, separate corpse-drops. (#76898)

## About The Pull Request

Noticed one of these snowmen drop an ash walker earlier today, and
thought I would have that fixed for consistency's sake, as there's no
ash walkers on icemoon. After I done that, I felt weird for just cutting
out a thing like that, so figured a replacement: eskimos. So yeah.

## Why It's Good For The Game

Consistency: There's no more ash walker corpses in legions on Icemoon,
as there's no, and never was, any living ones.
Fluff: Eskimos that replace them make much more sense.

## Changelog
🆑
add: Gave snow legions a separate corpse-drop pool: ash walkers
excluded, but eskimos included.
/🆑

---------

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

* Gives IceBox legions their own, separate corpse-drops.

---------

Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2023-08-26 01:37:15 -04:00
SkyratBot
77adc42cdc [MIRROR] Add policy for sentient mobs that were revived by lazarus injector [MDB IGNORE] (#23122)
* Add policy for sentient mobs that were revived by lazarus injector (#77515)

## About The Pull Request

There's two policies:
* Normal lazarus injector gives you the 'friendly revived mob' policy
since it normally makes mobs friendly to everyone,
* Default text: "The lazarus injector has brought you back to life! You
are now friendly to everyone."
* EMPed lazarus injector gives you the 'slaved revived mob' policy since
it normally makes mobs only friendly to you,
* Default text: "You have been revived by a malfunctioning lazarus
injector! You are now enslaved by whoever revived you."
* The EMPed lazarus injector now also enslaves the mob to the person who
revived them, giving them the text: "Serve [reviver], and assist
[reviver.p_them()] in completing [reviver.p_their()] goals at any cost."

Suggestions for default text welcome,
## Why It's Good For The Game

There's currently no policy for lazarus revived mobs, so can be
confusing. See https://tgstation13.org/phpBB/viewtopic.php?f=33&t=34538
Now it's more clear what they should do.
Admins can also change the text if they want.
## Changelog
🆑
add: Add policy for sentient mobs that were revived by lazarus injector
(depends on config)
add; Sentient mobs that were revived by malfunctioning lazarus injector
now get enslaved to whoever revived them.
fix: Servant golems get their master's real name (Won't be serving
"Unknown" if their master is wearing a mask)
/🆑

* Add policy for sentient mobs that were revived by lazarus injector

---------

Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@users.noreply.github.com>
2023-08-16 18:14:02 -04:00
SkyratBot
51d62e685e [MIRROR] More Suits resprites (Bonus: Chef/Bartender updates!) [MDB IGNORE] (#23088)
* More Suits resprites (Bonus: Chef/Bartender updates!) (#77558)

## About The Pull Request
Finally, my ultimate goal:
All Lawyer suits are now under suits.dmi. Having some suits in suits.dmi
and some in civilian.dmi was just really really weird and confusing.

Also updated some more Service stuff, specifically the Chef and
Bartender. Their uniform is the generic Service Buttondown, and their
other gear has been updated. The Bartender, notably, now has a new item,
the bowtie!

Full changelog:
- Adds Bowtie (and yes, it's in relevant vendors)
- Adds a greyscale Formal Jacket (the lawyer jackets but greyscaled)
- Removes `/obj/item/clothing/under/rank/civilian/chef` and
`/obj/item/clothing/under/rank/civilian/bartender`; replaces them with
`/obj/item/clothing/under/costume/buttondown/slacks/service`
- **Moves all Lawyer suit sprites to the suits.dmi**
- Converted `/obj/item/clothing/under/rank/civilian/lawyer/bluesuit` to
use the same GAGS configs as the buttondown (path unchanged)
- Resprited all Lawyer suits (except galaxy ones)
- Resprited the Lawyer jackets to match (including a currently unused
GAGS-palette one)
- Resprited the Chef Apron-Jacket and Hat
- Resprited the Botanist Overalls (and made them Greyscale)
- Updated the shirt on the Cook Jorts to be more up-to-date instead of
being new pants on a super crusty old shirt sprite.
- Puts stuff into vendors

## Why It's Good For The Game
Sprote updates yahoo!

Chef/Bartender showed their age, and essentially had the same uniform.
Now they look much more at home.

![image](https://github.com/tgstation/tgstation/assets/76465278/c4c317c3-e62a-41d3-87fe-bb38c2a46552)
GAGS Suit jacket yippee!

![image](https://github.com/tgstation/tgstation/assets/76465278/a1eaf9a9-58c9-44ef-b967-fdc62311afbd)
This jacket was put into to the Bartender's vendor for the sake of
allowing them their own gimmicks, such as this:

![image](https://github.com/tgstation/tgstation/assets/76465278/eb42e93b-9442-4cd4-891f-091a74aaccbf)
New greyscale overalls wahooo! Since they're greyscaled they're also in
the clothesmate for anybody who really wants them.

![image](https://github.com/tgstation/tgstation/assets/76465278/c8aea289-d2d9-467d-949a-82563bccb2d3)
The Lawyer suits just used an entirely different type of shading and it
made them stick out weird... I'm not quite sure on reshaping their
jackets but figured it's better to start with this and update them if
requested.

![image](https://github.com/tgstation/tgstation/assets/76465278/9a74c3a3-a2b8-48d6-89f9-77d1e0fdd86a)

As for moving Lawyer suits to suits.dmi... I just don't like them being
split up. It makes it annoying to prevent duplicates or keep them all
updated.
## Changelog
🆑
add: Added the Bowtie! Bartenders start with one on, but they can also
be found in the Bardrobe, Autodrobe, and Clothesmate. No need to tie it
either, it's just a clip-on.
add: Added a Greyscale "Formal Jacket" of the style that most suits use,
for crew who want to make their own using the buttondown shirt.
del: Removed the generic Cook/Bartender uniforms and changed them to use
the Service buttondown w/ slacks.
image: updated the majority of Lawyer suit sprites, along with the
Cook's Apron-Jacket and Hat, and updated/greyscaled Botany's Overalls!
Also the Overalls are available in the clothesmate, and the Cook Jorts'
shirt is less crusty.
/🆑

* More Suits resprites (Bonus: Chef/Bartender updates!)

* Modular path changes/removals

* Modular adjustments: removing deleted sprites, creating digi sprites for overalls and purple bartender resprite, removing greyscale overalls

* Fix grayscale configs

* Update misc.dm

* Moves icons to new location

* Update civilian.dm

* I hate all of this so very much.

* Update civilian.dm

* Update loadout_datum_suit.dm

---------

Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-08-16 18:13:39 -04:00
SkyratBot
d2b4b475cb [MIRROR] Spiders don't automatically grant an antag datum [MDB IGNORE] (#23029)
* Spiders don't automatically grant an antag datum (#77523)

## About The Pull Request

Fixes #77501

Spider egg ghost role spawners grant the spider antag datum, rather than
the act of being a spider.
This means that gold core, mapstart, polymorph belt, and other spiders
will not have an antagonist datum.

While doing this I also made a new abstract `mob/living/basic/spider`
type which all three kinds of spider life stage (`spiderling`, `young`,
`giant`) extend from, because there was a gross amount of copied code.
Now there isn't.

Also the Flesh Spider and Event Midwife eggs now simply hatch adult
spiders instead of child ones.
This is because there is no reason for either of these to have a two
minute wait time before they get going. Midwife spiders spawned by the
event should just start spidering immediately, and Flesh Spiders are
made by changelings and shouldn't be effected by measures introduced to
balance the spider gamemode.
Eggs which are laid during a round and _can_ hatch into midwife spiders
still hatch baby spiders.

Also I swapped some white pixels on the animation of the ambush
spiderling for a different colour because they looked bad.

## Why It's Good For The Game

While the policy is always "if you turn yourself into something, you're
not an antagonist" the presence of the antag datum still confuses
people. Plus that code was gross and I didn't like it.

## Changelog

🆑
fix: Giant Spiders only have an antag datum if created by the round
event.
balance: Flesh spider eggs hatch into adult spiders instead of baby
spiders.
balance: The eggs spawned by the start of the spider infestation event
hatch into adult Midwife spiders instead of baby ones.
/🆑

* Spiders don't automatically grant an antag datum

* Modular paths

* Modular paths

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-08-12 00:17:56 -04:00
SkyratBot
a669180af5 [MIRROR] Spider Evolution - Young Spiders [Ready] [MDB IGNORE] (#22972)
* Spider Evolution - Young Spiders [Ready] (#76692)

## About The Pull Request
This pr adds a young spiders that appear between spiderlings and adult
spiders. Now spiders have a stage where they are squishy but can also
spin webs and do some other things early depending on the spider type.
Spiderling stage takes 40 seconds and young spider stage take 1 minute,
ealier for spiderling this was 1 minute. Also adds a new wizard spider
sprite and makes the spider form usable.

Gives Wizard Spider version has better immunity against fire since it
can kill a wizard very fast it they are not paying attention.

Makes tangle spider get more health but makes the self-healing worse.
This is done because spider is a team antag except for the flesh
(changeling spider), making it so solo-playing as tangle is less
encouraged.

Scout spiderling gets thermal vision also. It cannot communicate, but it
can already start scouting now.

Viper deals bonus damage when an enemy is on low health. Toxins don't
kill humans anymore, and since the viper spider only deals 5 damage now
it deals more so it can actually take down enemies at low health. They
also have a little more health since they always die very fast. Viper
can also change between a defensive/slow mode with more armor or a
offensive/speed mode with less armor.

Nurse spider heals for 25 instead of 20, since 25 is one laser shot, it
makes more sense for the nurse spider to be able to heal that amount.

Flesh spider grows faster since they are a solo antag and spawn killing
isn't cool.

Tarantula spider can now tear down walls by clicking them instead of
needing to use their charge attack. They can also build wall webs and
passage webs. Their damage coeffs also got the regular burn factor for
spider so their health also increased a bit.

![promo](https://github.com/tgstation/tgstation/assets/25363960/19b9a97f-db08-4c7d-b470-46ae0bb18556)

![promo2](https://github.com/tgstation/tgstation/assets/25363960/783ced04-a97d-4849-8ec3-04c72a418284)
## Why It's Good For The Game
Now there is a smooth transition between the tiny spiderling and the
bigger spider stage. This will promote people to help the hive at an
earlier stage while not being too powerful yet. It is also realistic and
adds extra flavor to the spider antag. The other balance changes are
improvements to the game.
## Changelog
🆑
add: Young Spiders that appear between spiderlings and adult spiders.
balance: Wizard Spider version has better immunity against temp damage
and can lay webs faster.
balance: Tangle Spider sucks more with self-healing but has more health.
balance: Scout spiderling gets thermal vision.
balance: Viper deals bonus damage when an enemy is below 20% health.
/🆑

* Spider Evolution - Young Spiders [Ready]

---------

Co-authored-by: Comxy <tijntensen@gmail.com>
2023-08-09 17:59:34 -04:00
SkyratBot
7babc4866d [MIRROR] Areas created with the "land claim" are no longer hazardous to free golems [MDB IGNORE] (#22879)
* Areas created with the "land claim" are no longer hazardous to free golems (#77357)

## About The Pull Request
New areas created by standard blueprints are not safe for golems, which
is why I'm touching blueprints and create_area code and making the
blueprints found in the free golem ship an actual subtype rather than a
map-edited instance.

## Why It's Good For The Game
This will fix #77354.

## Changelog

🆑
fix: Areas created with the "land claim" blueprints are no longer
hazardous to free golems.
/🆑

* Areas created with the "land claim" are no longer hazardous to free golems

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-08-04 21:05:49 -04:00
SkyratBot
ec0f44a44e [MIRROR] Fix duplicate sentence in space comms agent flavor text [MDB IGNORE] (#22533)
* Fix duplicate sentence in space comms agent flavor text (#76880)

## About The Pull Request

Fix duplicate sentence in space comms agent flavor text
## Why It's Good For The Game

spelling fix
## Changelog
🆑
spellcheck: Fix duplicate sentence in space comms agent flavor text
/🆑

* Fix duplicate sentence in space comms agent flavor text

---------

Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@users.noreply.github.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-07-18 16:41:54 -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
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
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
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
SkyratBot
7a9f5f2eeb [MIRROR] Mob spawners now return their created mob after create_from_ghost [MDB IGNORE] (#22132)
* Mob spawners now return their created mob after create_from_ghost (#76371)

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

create_from_ghost() now returns the body it produces.

This should fix the pirate/fugitive ghost orbit notifications, since
they expect to have a mob returned by this proc. Since the mob they
expect to be returned is used as the subject for the ghost orbit popup,
the popup would have no source and end up being blank.

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

## Why It's Good For The Game

Players selected to play pirate/fugitive will now have a functioning
orbit popup.

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

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

* Mob spawners now return their created mob after create_from_ghost

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
2023-06-30 23:20:28 -07:00
SkyratBot
76e3348760 [MIRROR] Replaces the Reaper Scythe with the Vorpal Scythe (also the Morbid trait) [MDB IGNORE] (#21958)
* Replaces the Reaper Scythe with the Vorpal Scythe (also the Morbid trait)

* fix

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
2023-06-22 20:21:36 +00:00
SkyratBot
94aff1857c [MIRROR] Gives Fugitive Hunters credible IDs, access restricts the hunter shuttles, minor hunter shuttle improvements [MDB IGNORE] (#21872)
* Gives Fugitive Hunters credible IDs, access restricts the hunter shuttles, minor hunter shuttle improvements (#75913)

## About The Pull Request

This standardizes fugitive hunter IDs, making all hunter packs use the
same subtype and giving them to hunters who would spawn with no ID at
all.

The badass flaming ID color that the OG Bounty Hunter team got are now
the standard for fugitive hunter IDs. Additionally, these IDs now come
with a radical skull trim.

(Spacepol Officers don't get the badass flaming skull ID, and instead
get a more modest Police Officer ID).

**These IDs come with access, too. Airlocks, bolt buttons, shuttle
controls, and shutters on all of the hunter shuttles now require a
hunter's ID to operate.**

While I was in the area doing mapping stuff to get the accesses in
place, I made a few other very minor changes to the shuttles. These
include:

- The Bounty Hunter shuttle now has an oxygen dispenser. Two walls have
been moved to make space.
- The Russian Hunter shuttle now gets enough oxygen tanks to share with
everyone.
- The Psyker Hunter spawners now have proper spawner menu text. This was
due to duplicate-but-not-really subtypes existing, and me mistakenly
putting the wrong ones there in a previous PR.
- The cut ai wire helpers from the Russian/Psyker shuttles have been
extended to the Bounty/Spacepol shuttles.
- Every hunter shuttle now has a shuttle pinpointer on it somewhere, and
is no longer exclusive to a single Bounty Hunter's loadout.
## Why It's Good For The Game

Some of the hunter IDs would spawn without trims or coloration, and some
hunters wouldn't spawn with IDs at all. Now, everyone gets a credible,
cool-looking ID that lets everyone know what you're here to do at a
glance.

One of these is a crazed larper with an unregistered firearm, the other
is a certified bounty hunter.

As for the hunter access, it's pretty nonsensical that anyone can just
walk into the hunter ship and set up shop. At least the pirates get
turrets! Not to mention, it's hard to balance or give hunters new
equipment in good conscience when their entire domain is public-access
and anything they can't carry is considered forfeit to the crew. Now it
can be used as a base of operations, storage area, etc. more securely.

Locking down the shuttle with accesses isn't going to stop a determined
gamer with a toolset, but it'll at least make it more interesting and an
actual risk. If the fugitives want to try and loot/hijack the shuttle,
it will require the effort of taking down one of their hunters first.

While hunters stand out for the differences/imbalances between each
group, I don't see the shuttle pinpointer as something that contributes
positively to the OG bounty hunter's uniqueness. There's no reason why
the other hunters shouldn't also be able to track their ship.

* Gives Fugitive Hunters credible IDs, access restricts the hunter shuttles, minor hunter shuttle improvements

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-06-18 15:21:47 +01:00
SkyratBot
8b3de29292 [MIRROR] Deadchat Announcement Variety Pack 2 and also some fixes to other popups [MDB IGNORE] (#21894)
* Deadchat Announcement Variety Pack 2 and also some fixes to other popups (#76053)

## About The Pull Request

This adds ghost orbit popups for the following:
- Macrobombs (or stacked microbombs) being triggered.
- HFR Meltdowns.
- Living players about to be gored by an emagged organ harvester.
- Nuclear devices being armed.
- Doomsday devices.
- Blob hosts bursting.

This also modifies the following ghost orbit popups:
- Toy hot potatoes will no longer cause a popup when armed.
- Normal spider eggs will not flash the byond window, only special egg
types.
## Why It's Good For The Game

Gives more gathering spots/information to deadchat. Let no entertaining
moment in this game go unobserved.

Spider eggs flashing your window for every single egg produced makes
alt-tabbing suck. I saw some guy on the forums complaining about it and
thought "huh yeah I guess he's got a point that pisses me off too" so
here we are.
## Changelog
🆑 Rhials
qol: Basic spider eggs no longer flash the byond window when ready to
hatch.
qol: Toy hot potatoes no longer give a ghost notification.
qol: Deadchat will be notified in the event of an imminent macrobomb
detonation, HFR meltdown, organ harvesting,
qol: Deadchat will be notified when a nuclear/doomsday device is
activated, as well as when a blob-infection bursts.
/🆑

* Deadchat Announcement Variety Pack 2 and also some fixes to other popups

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
2023-06-18 14:14:32 +01:00
SkyratBot
c968dca9b2 [MIRROR] Turns Changeling Headslugs into a Basic Mob [MDB IGNORE] (#21690)
* Turns Changeling Headslugs into a Basic Mob

* fix

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
2023-06-07 16:01:15 +00:00
SkyratBot
d31414c172 [MIRROR] Spider Infestation Balance Rebalance Expansion Part 1 [MDB IGNORE] (#21509)
* Spider Infestation Balance Rebalance Expansion Part 1 (#75204)

## About The Pull Request
https://hackmd.io/dxhPOOdRRKW7siqPbpfmYQ?view The HackMD goes in-depth
into what this PR is about

## Content
### Ambush Spider

![image](https://user-images.githubusercontent.com/84478872/236697303-16fb5fee-7862-457f-a053-9e634873f205.png)

![image](https://user-images.githubusercontent.com/84478872/236697338-7908e9ba-07d2-4af6-9e0a-583e74d96634.png)
### Scout Spider

![image](https://user-images.githubusercontent.com/84478872/236697485-91560e01-365d-4a9e-8401-a52b412d865f.png)

![image](https://user-images.githubusercontent.com/84478872/236697489-a9f1d46d-1e65-4e9d-995e-335e4cf40f8c.png)

![dreamseeker_JtR1iVptrV](https://user-images.githubusercontent.com/84478872/236697538-4e9ac1a4-b2b7-463a-b4ff-75f8ae2d266a.png)
## Tangle

![image](https://github.com/tgstation/tgstation/assets/84478872/756de834-5470-4a2a-9e8e-55d6a3ca770d)

![TkK4NHc](https://github.com/tgstation/tgstation/assets/84478872/4fa15fa6-db11-46a5-9b56-8e5fce4bc1c0)

![XxcLU0z](https://github.com/tgstation/tgstation/assets/84478872/7a007a94-e9a4-4700-9a0e-f5e2a178c924)

### Spiderlings

![ruCweIc](https://user-images.githubusercontent.com/84478872/236697721-b96469df-e68b-47b7-9316-ec152629e9aa.png)

![SWE0bgo](https://user-images.githubusercontent.com/84478872/236697726-7753f363-99db-46b1-8181-0dc755c1804e.png)

![BYNLUQa](https://user-images.githubusercontent.com/84478872/236697753-48c1c5b0-064a-45e9-bf19-ad2e29cdb426.png)

## Why It's Good For The Game
Currently, spiders have plenty of issues that make them a very 2d
mentional antag they kill,die, and respawn which is boring and leads to
a bunch of balance issues for their current design this PR both fixes
the current issues spiders have and adds more depth into the antag.
## Changelog
🆑
add: Added 3 new spider types
add: Added more spider abilities
balance: Rebalanced spiders
fix: Fixes spiderlings having density
/🆑

---------

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

* Spider Infestation Balance Rebalance Expansion Part 1

---------

Co-authored-by: Hoolny <84478872+SethLafuente@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
2023-06-06 21:41:59 -07:00
SkyratBot
2ef95c78f7 [MIRROR] Fugitive hunters gather candidates with a deadchat poll [MDB IGNORE] (#21566)
* Fugitive hunters gather candidates with a deadchat poll (#75485)

## About The Pull Request

Fugitive Hunter spawning now works a lot more like it does for Pirates.

Rather than just using the spawners, it collects candidates from a ghost
poll, and leaves the remaining spawners to be used if any are left.
## Why It's Good For The Game

The only way this event gathered candidates was through the
notify_ghosts that hunter spawners threw on Initialize(). This easily
flies under the radar (and I think also stopped working after
lazyloading was implemented??), contributing to how infrequently hunter
rolls are taken.

The hunters are an important part of fugitives as a whole, so making
sure they're properly filled out is good.

Closes #74625.
## Changelog
🆑
qol: Fugitive hunters now get a deadchat poll and notify deadchat
properly.
/🆑

* Fugitive hunters gather candidates with a deadchat poll

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-06-03 18:33:37 -07:00
SkyratBot
54011a20b9 [MIRROR] Replaces the syndicate corpse Legions can drop with one without a MODSuit [MDB IGNORE] (#21517)
* Replaces the syndicate corpse Legions can drop with one without a MODSuit (#75700)

## About The Pull Request
This is part of a pass I'm working on doing where I go through and
remove instances of antag gear outside of their normal context. This is
mostly going to involve replacing space/Lavaland ruin gear with
something close to the same power level but not distinctly something
only antags should be able to get. I want to keep ruins rewarding but I
don't want explicit antag gear to be something you can obtain without
needing an uplink.

The first part of this is me removing the MODSuit from the syndicate
operative corpse. The new one drops a turtleneck, a syndicate gas mask,
and gripper gloves.

## Why It's Good For The Game
It's my opinion that antag gear should probably stay in antag hands
unless you manage to kill one or steal an uplink. The main impetus for
this was a discussion I had a while back about how blood red hardsuits
used to _just_ be an antag thing. I kind of miss that general feeling of
paranoia that came from seeing someone wearing it, as opposed to seeing
it these days and just thinking "Yeah, it's probably someone who got it
from space".

In this specific instance, Syndicate MODSuits are pretty strong anyway
and, regardless of the low odds of getting one, I really don't think it
should be available as loot off a fairly easy-to-kill mob.

## Changelog
🆑
balance: Syndicate corpses dropped from killing a Legion no longer come
with a MODSuit.
/🆑

* Replaces the syndicate corpse Legions can drop with one without a MODSuit

---------

Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
2023-05-31 23:13:13 +12:00
SkyratBot
eadc497581 [MIRROR] Frees free golems [MDB IGNORE] (#21112)
* Frees free golems (#75249)

## About The Pull Request

The autolathe free golem shells created on the free golem ruin now
create free golems rather than servant golems.
On the backend, this was done by delegating the responsbility for what
to do with the "owner" to the spawned subtype.

Now the three golem ghost spawners are:
- Default, which creates a normal free golem.
- Adamantine, the "leaders" on the free golem ruin, who get special
vocal cords.
- Servant, which enslaves itself to whoever finished building the shell.

Previously the servant subtype did not do anything at all, but now it
holds all of the relevant behaviour and the other two simply don't care
who their creator was.

## Why It's Good For The Game

Makes item does what it was supposed to, not sure how long it has been
broken but it has been a while.
Makes raiding free golem ruin for autolathe design create free rather
than loyal golems, which could backfire.
Free golems constructed in the ruin by other free golems are no longer
forced into a hierarchy, which can be a good or bad thing depending on
the temperament of whoever made them but might reduce the incidence of
one guy ordering everyone else to tide cargo.

* Frees free golems

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-05-14 15:56:57 -07:00
SkyratBot
7d784fae45 [MIRROR] Removes ELITE SYNDICATE MODSUIT from Space Ruin [MDB IGNORE] (#21003)
* Removes ELITE SYNDICATE MODSUIT from Space Ruin (#75213)

## About The Pull Request

- Removes an ELITE SYNDICATE MODSUIT SPAWN from infested_frigate.dmm
- Removes a Combat Defibrillator from infested_frigate.dmm
- Removes Dart Pistol from infested_frigate.dmm

## Why It's Good For The Game

We will never learn. Space Loot should not be put in control of easily
cheesable simplemobs, and we shouldn't be straight up putting NUKIE
STUFF in Space

## Changelog

🆑 Melbert
del: You can't get an Elite Syndie Modsuit (or combat defib, or dart
pistol) from Space Ruins
/🆑

* Removes ELITE SYNDICATE MODSUIT from Space Ruin

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-09 03:57:51 +01:00
SkyratBot
aac6045ba8 [MIRROR] Golem Rework [MDB IGNORE] (#21001)
* Golem Rework

* SECT 9

* ok

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-09 03:56:30 +01:00
SkyratBot
f1fef9b0c3 [MIRROR] Demotes Psyker Pirates to Bounty Hunter Duty [MDB IGNORE] (#20951)
* Demotes Psyker Pirates to Bounty Hunter Duty (#75031)

This PR demotes the Psyker-gang from a pirate team to a fugitive hunting
team. For more information on Psyker pirates, please refer to #71650.

Stuff this also does in the process:
- Gives fugitive hunters their own subfolder in the fugitives antagonist
folder, moves some of their stuff into hunter-specific files rather than
interlacing it with the rest of the fugitive code.
- Moves the hunter backstories to defines, to make reading things easier
while I made this change.
- Exhaustively moves everything related to psykers from being
pirate-oriented to hunter-oriented (typepaths, locations where stuff is
defined, etc. There should be nothing left behind related to psykers in
anything pirate related). (Tell me if I missed anything somehow).

They still get their ship (they even get their own custom
psyker-friendly prisoner capsule). They still have a bunch of lethally
chambered firearms. They're the same gunrunning nutcases they were
before, just as bounty hunters.

To assist with basic tasks such as "getting to the station" or "figuring
out who the fuck we're supposed to be kidnapping", the psykers have
"acquired" a Seer to assist them. They can _try_ to coordinate the
psykers and lead them through situations where their impairments put
them at too great a disadvantage. If you're one of the psykers, make
sure to keep this guy alive at all costs!

Why are they called Shikaris instead of hunters? Mariam-Webster says
it's a Hindi word for some kind of hunter/tracker, and it sounded like
something a bunch of space-junkies would call themselves because they
think it sounds cool.

They now also come with a slightly different motivation, now that they
can't directly threaten the crew for money. Psyker hunters now arrive
tasked with a dirty kidnapping job, payment rendered in GORE.
## Why It's Good For The Game

Psykers aren't up to the challenge of being pirates. They're bogged down
by a number of fundamental issues that render them unable to do anything
expected of pirates. As it currently stands, they present about as much
threat as you would expect from three blind junkies with guns.

Removing them wholesale would be kind of lame. They can function as a
bunch of chaotic-neutral gun-toting space-maniacs, but for the purposes
of gameplay, keeping them as pirates would be a waste of their talents.

Moving them to a lower-stakes role not only moves them to a niche they
are more capable of filling, but gives players a more lax environment to
get a grip on playing psyker without being overwhelmed.

Giving them a seeing-eye role should bring a more unique dynamic to how
psykers are played (that is, some semblance of organization rather than
blind flailing), and should help get over the mechanical hurdles of
being a psyker until better solutions can be made. It shouldn't be too
big of an impact on balance considering the psyker gang only has three
spawns, while most hunter packs have 4+.

* Demotes Psyker Pirates to Bounty Hunter Duty

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-05-06 17:34:31 +01:00
SkyratBot
82d61c476b [MIRROR] Adds a game log for enslaving [MDB IGNORE] (#20853)
* Adds a game log for enslaving (#75038)

## About The Pull Request

A mob being enslaved to another is now logged in game logs. This hits
sentience potions, guardians, and Golems. This helps admins know through
logs who made/used what.

## Why It's Good For The Game

I was told that it's pretty hard to tell who made Golems because this
type of info isn't logged, so you can't check it post-round. This should
help admins with that.

## Changelog

🆑
admin: Enslaving mobs is now logged in game.log
/🆑

* Adds a game log for enslaving

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-05-02 15:48:24 -04:00
SkyratBot
2a206070cc [MIRROR] Adds a prisoner transport space ruin [MDB IGNORE] (#20771)
* Adds a prisoner transport space ruin (#74418)

* Adds a prisoner transport space ruin

---------

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-04-26 21:23:58 +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
132e5eccf5 [MIRROR] Lavaland Monster Sprite Update [MDB IGNORE] (#20364)
* Lavaland Monster Sprite Update (#74299)

Updates most Lavaland mob sprites, merges some icon files and adjusts
the pathing.
## About The Pull Request

Updates Most Lavaland Mob Sprites with work provided by Sheets.
Merges, splits, and moves a few icon files and icons to adjust for the
new icons.
Repaths the dmi locations and pixel shifts for the adjusted sprites.

Examples:

![image](https://user-images.githubusercontent.com/28636915/228048074-2971537a-04b9-435c-b323-b5717ca20bdc.png)

![image](https://user-images.githubusercontent.com/28636915/228048092-8570a869-41d1-4229-971b-da96d852d397.png)

![image](https://user-images.githubusercontent.com/28636915/228048113-28809a4f-07cf-4487-a70e-b1e348c3affc.png)

## Why It's Good For The Game

Better quality sprites are better to look at.
Putting sprites that are the same type in the same file is much saner.

## Changelog
🆑
imageadd: added new lavaland sprites, moved some sprites to a new
location, adjusted pixel shift for the updated sprites, adjusted the
name of some sprites.
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>

* Lavaland Monster Sprite Update

---------

Co-authored-by: Mey-Ha-Zah <tomboxallghss@gmail.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
2023-04-06 02:08:39 +01:00
SkyratBot
b6601a2405 [MIRROR] March into Mapness: Meateor [MDB IGNORE] (#20233)
* March into Mapness: Meateor (#74070)

* March into Mapness: Meateor

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-04-01 05:39:55 -04: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
ba96aedf6d [MIRROR] Adds The Sturdy Shako (HoS Hat) [MDB IGNORE] (#20123)
* Adds The Sturdy Shako (HoS Hat) (#74277)

## About The Pull Request

Adds a new craftable HoS shako, made from the standard peaked cap and
some plasteel and gold.

![shako](https://user-images.githubusercontent.com/5479091/227799392-ad2ea145-5c58-45d7-8763-a76e9323ec09.png)

Moves the HoS cap into a subtype `/obj/item/clothing/head/hats/hos/cap`
to avoid catching the beret in the crafting recipe, the base type
`/obj/item/clothing/head/hats/hos` is now a generic subtype which should
never exist.

(Yes there's a TF2 reference included with the hat)

## Why It's Good For The Game

Adds an additional level of style for an HoS willing to put a little
effort into gathering the required materials. As it is crafted as a
one-to-one trade with another headgear there is no additional spare
headgear introduced.

## Changelog
🆑
add: The Nanotrasen Costuming Department has released specifications for
how to convert the Head of Security's cap into a shako.
/🆑

---------

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

* Adds The Sturdy Shako (HoS Hat)

---------

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
2023-03-29 22:25:53 +01:00
SkyratBot
dde8fa19e6 [MIRROR] Traveller's rest and prey pod fixes [MDB IGNORE] (#20121)
* Traveller's rest and prey pod fixes (#74279)

## About The Pull Request

- Traveller's rest had two airlock cyclelinks that did not work, as one
of them was on a windoor, so I have removed them. Not playerfacing.
- The mob spawner spawned without clothes and runtiming, as instead of
an outfit, it had the roboticist's jumpsuit added. I have made a new
outfit and used that in a new spawner. Might be too specific of a
spawner though.
- I have also added a dedicated roboticist spawner, which uses a full
outfit. I originally wanted to use this one, but I realized, making this
spawn with robotics ID and gear is a pretty big balance change, so I
elected not to use that, but I have added it anyways, as it should be
useful in the future (and I have already made the sprite).

### Mapping March

Ckey to receive rewards: N/A

## Why It's Good For The Game

Less warnings during initialization.

## Changelog

🆑
fix: the roboticist in the prey pod now has clothes as intended
/🆑

* Traveller's rest and prey pod fixes

---------

Co-authored-by: Profakos <profakos@gmail.com>
2023-03-29 22:25:10 +01:00
SkyratBot
09e8da1fc6 [MIRROR] Fixes infinite ghost role spawners not being infinite [MDB IGNORE] (#19973)
* Fixes infinite ghost role spawners not being infinite (#74090)

## About The Pull Request
I love it when we add something and we have like three PRs around the
same time touching the same code and none of it conflicts, it's awesome,
believe me!

Adds the `!infinite_use` to the other check that checked the uses left,
to ensure that it still allows infinite spawners to remain infinite.

## Why It's Good For The Game
Code that works is always good for the game.

## Changelog

🆑 GoldenAlpharex
fix: Ghost role spawners that are set to have infinite uses no longer
run out of uses.
/🆑

* Fixes infinite ghost role spawners not being infinite

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-03-19 07:59:18 -07:00
SkyratBot
241d71f6fe [MIRROR] Fixes ghost role spawners not allowing you to spawn as more than one ghost role per round [MDB IGNORE] (#19839) 2023-03-13 21:14:47 -07:00
SkyratBot
484a9a32d9 [MIRROR] Fixes the issues with ghost role spawners being able to spawn userless bodies [MDB IGNORE] (#19817)
* Fixes the issues with ghost role spawners being able to spawn userless bodies

* Fixes da conflict yo

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-03-13 12:09:19 -04:00
Bloop
6d36e7cd5d [MODULAR] Fixes syndicate ghost roles not spawning with codespeak language, & an assortment of language related fixes/improvements (#19311)
* Fixes syndicate ghost roles not spawning with codespeak language

* Fixes related NRI issues as well while we're at it

* Fixes a couple issue and adds the new naming scheme

* Phonetic alphabet numbers, fixes trailing space in formatting

* change to NATO numbers rather than phonetic

* final quality sweep

* moved this into the proper place

* Removes the no longer in use 'rank' var

* fixes a runtime

* Update modular_skyrat/master_files/code/modules/mob_spawn/mob_spawn.dm

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

* Fixes a mistake

* refactor outfit paths

* Doc

* Fixes ashwalkers sometimes spawning without language

* Removes the need for post_transfer_prefs for languages and fixes language prefs not being applied correctly due to a bug

Fixes another bug - the innate language (common) was always being applied when a new mob was spawned on the station, but interestingly it works fine for ghost roles.

My solution to ensure that things are always set up correctly is to use the proc 'adjust_language_to_prefs' to do just that, and call it at the highest level after a mob spawns.

This fixes the bug that was making it so that even if you deselected common from language prefs you'd still get it no matter what. Which honestly I am still fuzzy on the precise cause of because of how much coupling there is between mind code, language holders, and spawning new mobs.  The logic of this code is absolutely mental and rather than try to weave things into functions it seems best to just do this instead. Less prone to breakage that way.

* Update modular_skyrat/master_files/code/modules/client/preferences/middleware/languages.dm

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

* Suggestions

* A more fitting description for this var

* Modifies language perk tooltips to better fit the codebase, refactors do_not_sanitize into a whitelist instead that can be configured for species

The Ashwalker tooltip inaccurately listed common as a language they were able to speak. Also slightly changed the wording of the rest of the tooltips to reflect the fact it is possible to disable a species' native tongue via prefs.

Refactored the 'do_not_sanitize' var to use a whitelist instead, allowing for more reliable sanitizing and also more configuration for new species to have such features.

* rephrasing

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-03-10 19:56:28 +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
480745ce05 [MIRROR] Basic Mob Spiders III: Sgt. Araneus is no longer a bat [MDB IGNORE] (#19315)
* Basic Mob Spiders III: Sgt. Araneus is no longer a bat

* spooky scary spider

* Revert "spooky scary spider"

This reverts commit 7bcca7750390c7ba6aaa08760886eda524f600f8.

* resolve conflicts

* resolve conflicts

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

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

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

* fixes

* wew

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:47:03 +00:00
SkyratBot
c338382a18 [MIRROR] Fixes runtime in golem body swap, Fixes some hard deletes assocaited with golems and mind masters [MDB IGNORE] (#19400)
Fixes runtime in golem body swap, Fixes some hard deletes assocaited with golems and mind masters

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 02:40:37 +00:00
SkyratBot
6267035649 [MIRROR] Fixes pirates and starfury assailants transferring minds [MDB IGNORE] (#19724)
* Fixes pirates and starfury assailants transferring minds (#73833)

## About The Pull Request

Same issue as before, these skipped the spawn step and snowflaked their
own creation process.

So I split off the create part of attack ghost so these could share.

Fixes #73823 , may fix also #73822 but I don't *think* it will, whatever
changed spawners a few months ago is a little sus

## Why It's Good For The Game

Changeling pirate bad

## Changelog

🆑 Melbert
fix: Fixes pirates and starfury assailants keeping minds of past lives
/🆑

* Fixes pirates and starfury assailants transferring minds

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-03-08 11:36:36 +00:00
SkyratBot
16a0754cc2 [MIRROR] Allows mob spawners to be infinite [MDB IGNORE] (#19648)
* Allows mob spawners to be infinite (#73726)

## About The Pull Request

Gives a more 'proper' way for mob spawners to be infinite than just "set
a very large number".

## Why It's Good For The Game

Useful for admins

## Changelog
not really player facing

* Allows mob spawners to be infinite

---------

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-03-04 12:57:33 +00:00
lessthanthree
021c9d546e [MANUAL MIRROR] Buff scythes, goats, and plantbgone vs PLANT biotypes (#19215)
Buff scythes, goats, and plantbgone vs PLANT biotypes (#72889)

This buffs scythes, goats, and plantbgone vs PLANT biotypes:

- Scythes now deal x1.5 damage to venus flytraps (3 hits to kill)
- Scythes now target the flower bud vines
- Goats now target flower bud vines and deal 15 damage to PLANT biotypes
- Goats have a eating sound whenever they bite PLANT biotypes
- Plantbgone now does 2 dmg per unit to PLANT biotypes (10 dmg per
spray)
- Plantbgone now has a 75% chance to remove weeds and deals large damage
to flower buds
- Weed control crates now come with a pair of leather gloves
- Golems are immune to thorn effects
- Any kind of thick glove material will prevent thorn effects when
attacking
- Flower buds will now take x4 damage from fire and sharp weapons
(unless they have fire trait)
- Regular scythes are now a sharp object

Also this fixes a few runtimes with spacevines and nulls. The bane
element now accepts `mob_biotypes` bitflags as an argument.

Before my changes:

- Plant-b-gone was doing 0.4 dmg per unit to PLANT biotypes (2 dmg per
spray)
- Scythes took 5 hits to kill venus flytraps
- Goats only affected podpeople
- Flower bud vines were being ignored by weed killing code
- Plantbgone only had a 50% chance to remove weeds (and this was very
inconsistent due to RNG)
- Botanical gloves and thick gloves didn't protect from thorns
- Golems were getting pierced by thorns despite having pierce immunity
- Flower buds were not taking the x4 damage like they should have been
- Regular scythes were not a sharp object, but other scythes
(chaplain's, megafauna loot) were sharp

This makes the weed killer crate more effective since people were
complaining about it being worthless vs vines and flower buds. These
changes give people more options to respond to threats vs plants.

🆑
add: Add a pair of leather gloves to weed control crate
balance: Mobs with the PLANT biotypes (venus flytraps, pod people,
killer tomatoes) are now much weaker vs scythes, goats, and plantbgone.
balance: Plantbgone is now more effective at destroying weeds.
balance: Regular scythes are now a sharp object
fix: Fixed scythes, goats, and plantbgone not affecting flower bud
vines.
fix: Thick and botanical gloves not protecting from thorns
fix: Golems not having pierce immunity from thorns
fix: Runtime where vines tried to spread into null turf
fix: Runtime where null vines that were destroyed were trying to spread
to nearby turfs
soundadd: Add eat food sound when goats eat plants
code: Improved goat targeting code
code: The bane element now accepts `mob_biotypes` bitflags as an
argument.
/🆑

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-03-03 18:37:34 +00:00
SkyratBot
34ad67a4fc [MIRROR] Updates policy to better warn players for any existing antagonist policy [MDB IGNORE] (#19341)
* Updates policy to better warn players for any existing antagonist policy

* Update job.dm

* Update job.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-03-01 17:10:54 -08:00
SkyratBot
bb9b68a88d [MIRROR] Basic Mob Spiders I: Ability refactor [MDB IGNORE] (#19200)
* Basic Mob Spiders I: Ability refactor

* Update tgstation.dme

* Update tgstation.dme

* Update tgstation.dme

* Update tgstation.dme

* Update tgstation.dme

* Update tgstation.dme

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
Co-authored-by: KathrinBailey <kat892@outlook.com>
2023-02-22 18:49:39 +00:00
SkyratBot
86261577ae [MIRROR] Fixes ghost roles keeping antag datums [MDB IGNORE] (#19484)
* Fixes ghost roles keeping antag datums (#73568)

## About The Pull Request

I made it so mob spawners transfer existing minds because of golem
shells but ghosts have minds on occasion.

Disassociates mind before spawning from ghosts.

## Why It's Good For The Game

Wizard golems Fixes #73577

## Changelog

🆑 Melbert
fix: Ghost roles from spawners keeping antag datums
/🆑

* Fixes ghost roles keeping antag datums

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-02-21 19:06:23 -08:00
SkyratBot
be45c18c96 [MIRROR] Don't print a misleading message when not picking a spider. [MDB IGNORE] (#19429)
* Don't print a misleading message when not picking a spider. (#73483)

## About The Pull Request

Fixes #73468
The admin message in `mob_spawn/ghost_role/attack_ghost` was warning
admins any time a ghost role spawner did not create a mob, however
clicking a spider egg opens a radial menu. Neglecting to choose one of
the options (and closing the menu) does not return a mob, and was
implying that some kind of error occurred when this is actually expected
behaviour.

Also as noted in the comments this probably needn't message admins in
the first place, we now log it as a crash instead.

## Why It's Good For The Game

We shouldn't print a log message in admin chat for expected behaviour.
Logging changes will help diagnose if this was masking an _actual_ bug.

## Changelog

🆑
fix: Clicking a spider egg and then closing the radial menu won't print
a message in admin channel informing admins that the egg didn't spawn
anything.
/🆑

* Don't print a misleading message when not picking a spider.

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-02-18 19:25:12 -08:00
SkyratBot
10358e3bf4 [MIRROR] Fixes ghost roles trying to spawn people when there /should/ be zero uses left [MDB IGNORE] (#19265)
* Fixes ghost roles trying to spawn people when there /should/ be zero uses left

* uhh ok

---------

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-02-12 22:19:28 -08:00
lessthanthree
4999bdfd19 [MANUAL MIRROR] Better groups for antagonists (#18839)
* Better groups for antagonists (#72576)

Better categorizes antagonists into groups for the orbit UI, admin
traitor panel.
Permanently hostile antags were intermixed in the "Alive" section, and
it was sometimes tough to see what's going on.
To do this, many minor antags needed new antag datums which were added
with fluff objectives as a bonus.

Group Name | Antags
--- | ---
Syndicate | Nukies, battlecruiser crew, lone op
Extradimensional Abominations | Nightmare, morph, pyro
slime
Spaceborne Leviathans | Space dragon, (spawned) carps
Invasive Overgrowth | Venus human traps
Arachnid Infestation | Spiders
Eldritch Horrors | Cult constructs, revenant

( = New antag datum, proper orbit category, new objective text)

<details>
<summary>Screenshots (outdated)</summary>

Antags get more tooltip info
![Screenshot 2023-01-08
173344](https://user-images.githubusercontent.com/42397676/211233179-d0e9229c-0f2e-4cd3-838b-fc0c5255ec9c.png)

Populating space dragon + carps (now leviathans)
![Screenshot 2023-01-08
235526](https://user-images.githubusercontent.com/42397676/211267252-2a86f8bc-4b4a-4ad6-81ed-f6b2e72d8fc0.png)

Detail to distinguish job & rank
![Screenshot 2023-01-08
233608](https://user-images.githubusercontent.com/42397676/211267334-60cabefc-b768-4a8e-8d4b-74b3d4fd45b1.png)

New categories in action
![Screenshot 2023-01-09
131003](https://user-images.githubusercontent.com/42397676/211408962-2e3c3cb9-f08e-4e27-a765-6485fe5064b0.png)

Organized Traitor Panel

![Screenshot_20230109_113453](https://user-images.githubusercontent.com/42397676/211392793-a9e6c170-60de-46bc-b0b6-02d74d45e42d.png)

</details>

Better UI, observer experience, admin panel.
It's now very obvious when something is hostile from the orbit panel.

🆑
qol: The orbit menu now sorts antagonists into groups more effectively.
Some get new named groups.
admin: Traitor panel should have slightly more sane categories.
add: Many minor antagonists now have "objectives".
refactor: Refactors code in several antag datums.
/🆑

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>

* Fixes the compile issues

* Also puts the drifting contractor in the syndicate group in the antag panel

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-02-03 19:57:20 -05:00