Commit Graph

15674 Commits

Author SHA1 Message Date
SkyratBot
61ec10c3e0 [MIRROR] grep's for "recieve" typos (#27826)
* grep's for "recieve" typos (#83369)

Just spellchecking some common mistakes.

* Missed these.

---------

Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-05-23 23:38:14 +02:00
SkyratBot
abcd2a4403 [MIRROR] Fix species var/hair_color not being used for, well, hair color (#27016)
* Fix species `var/hair_color` not being used for, well, hair color

* Update jellypeople.dm

* Update mushpeople.dm

* Fixing pr

* Fixed screenshots

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-05-23 21:32:21 +02:00
SpaceLoveSs13
f47c7dc815 Merge pull request #27828 from Skyrat-SS13/upstream-merge-83146
[MIRROR] adds a new fish to lava and plasma rivers
2024-05-23 23:05:46 +05:30
SpaceLoveSs13
e7aaf463c2 Merge pull request #27822 from Skyrat-SS13/upstream-merge-83384
[MIRROR] jps movement can read accesses from the access component
2024-05-23 22:58:55 +05:30
SpaceLoveSs13
5cfad9601d Merge pull request #27821 from Skyrat-SS13/upstream-merge-83267
[MIRROR] Legion mob nerfs
2024-05-23 22:58:45 +05:30
SpaceLoveSs13
b817404a26 Merge pull request #27363 from Skyrat-SS13/upstream-merge-82672
[MIRROR] Fix height settings double-applying offsets / some human icon gen cleanup I guess
2024-05-23 22:18:19 +05:30
NullDagaf
0479ed8980 Merge branch 'master' into bubber_smelly 2024-05-23 16:06:33 +00:00
NullFag
87d4b85204 Merge branch 'master' into bubber_smelly 2024-05-23 17:59:52 +02:00
SpaceLoveSs13
f70b18e3f8 Update _species.dm 2024-05-23 18:10:47 +05:30
SpaceLoveSs13
a5429e8fb4 Merge branch 'master' into upstream-merge-82672 2024-05-23 17:15:26 +05:30
Ben10Omintrix
2ecff6862d adds a new fish to lava and plasma rivers (#83146)
## About The Pull Request
this pr adds a new fish to lavaland and icebox, the lavaloop! i noticed
neither has any exclusive fish so im trying to add one of my own. u can
find this fish by using reinforced rods on lava or plasmarivers. this
fish is also lobstrosity's favorite delicacy as you will now often see
AI controlled lobstrosities fishing for it in lava and then eating it.

![fished](https://github.com/tgstation/tgstation/assets/138636438/03cd4095-940d-4cc0-8d1e-2064cae1921d)

because of its body's curvature and razor sharp spikes, this fish can
also be used as a make-shift boomerang weapon against mining mobs,
although it comes with some new mechanics. u can increase the damage it
does to mobs by winding up ur throw. when the bar reaches purple, this
indicates maximum damage. however, if it goes over the purple, it will
react violently and explode your arm off, so you have to time it just
right to get the best damage possible. On icebox, instead of dealing raw
damage, fish will freeze mobs depending on how long you charged ur
throw. charging it for too long will cause the fish to freeze you
instead

https://github.com/tgstation/tgstation/assets/138636438/c8ac3696-3705-45b0-bc43-c5b81d75cb1b

while its nowhere near as effective as using PKA's or crushers, it can
be a useful tool for hermits and ashwalkers.
## Why It's Good For The Game
having lobstrosities fish and hunt for it makes lavaland feel more like
an ecosystem with a food chain. also i think tossing fish at eldritch
horrors is a funny way to fight them

## Changelog
🆑
add: adds a new fish to lava and plasma rivers, the lava loop
/🆑
2024-05-23 01:14:52 -04:00
vinylspiders
ae3a8acb8e * Turns mush cap into an extorgan
* Trimming the fat

* Trimming the fat

* Update mushpeople.dm

* Adds colorblindness as a mild brain trauma (#76527)

What the title says.
The brain trauma makes the whole screen monochrome until cured.

![image](https://github.com/tgstation/tgstation/assets/82850673/442d24a8-6625-454c-bc28-64b786b03f49)

I feel like the current pool for mild brain traumas is quite lame, this
helps spice it up a bit with something that is quite annoying and
distracting but not game breaking (as mild brain traumas should
generally be).

🆑
add: Added colorblindness as a mild brain trauma.
/🆑

---------

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

* Fix species `var/hair_color` not being used for, well, hair color (#82168)

`var/hair_color` for species was intended to be used as a "this species
uses this type of hair color thing"

But at some point that got completely lost and now it's only used for
sprite accessories

This fixes that. That means Slimepeople now have properly slimey hair.
And Ethereals are less snowflake once more.

🆑 Melbert
fix: Fixed Slimepeople's hair not matching their slimey colors.
/🆑

* Revert "Fix species `var/hair_color` not being used for, well, hair color (#82168)"

This reverts commit c4cb756.

* Revert "Adds colorblindness as a mild brain trauma (#76527)"

This reverts commit eb815f5.

* Update _species.dm

* unused var

* Caps list..

* Update mushpeople.dm

* Update mushpeople.dm

* Update mushpeople.dm

* Update mushpeople.dm

* Update mushpeople.dm

* Attempts to fix CI errors

* Update cap.dm

* Update _external_organ.dm

* Update monkey.dm

* Revert "Update monkey.dm"

This reverts commit 29f54c8.

* Revert "Update _external_organ.dm"

This reverts commit 8de5ea7.

* Update _external_organ.dm

* Revert "Update _external_organ.dm"

This reverts commit 644cc56.

* Fix CI maybe?

* Update cap.dm

* Update DNA.dm

* Some cleanup/updating to upstream

* Update global_lists.dm

* Mush

* Update mushpeople.dm

* Hopefully the last fix

* Doing this differently

* Update organ.dm

* Update organ.dm

* Update organ.dm

* Update organ.dm

* Update organ.dm

* OK

* Update organ.dm

* Update podpeople.dm

* maybe

* Hm

* Hm

* Will this break things?

* Revert "Will this break things?"

This reverts commit bd288c6.

* Test

* Update organ.dm

* Update organ.dm

* Revert "Update organ.dm"

This reverts commit ca77ff9.

* Update organ.dm

* .

* .

* .

* Update snail.dm

* Monkeys now use height offset (and monkey tail works) (#81598)

This PR adds the ability for monkeys to wear any jumpsuit in the game,
and adds support for them to wear things like coats, gloves, and shoes
(though this cannot be obtained in-game and is solely achieved through
admins, which I also improved a bit upon by adding a defined bitfield
for no equip flags).

This reverts a lot of changes from
tgstation/tgstation#73325 - We no longer check
height from limbs and such to bring sprites down, instead monkeys now
work more similarly to humans, so the entire PR was made irrelevant, and
I didn't really want to leave around dead code for the sake of having a
human with longer legs.

I've now also added support for Dwarfism, which makes monkeys look even
smaller. Very minor change but at least now the mutation doesn't feel
like it does literally nothing to monkeys (since they can already walk
over tables).

Here's a few examples of how it can appear in game (purely for
demonstration, as it is currently intentionally made impossible to
obtain in-game, though if someone wants to change that post-this PR now
that support is added, feel free):

Tails have been broken for a while now, the only reason you see them
in-game is because they are baked into the monkey sprites. This fixes
that, which means humans can now get monkey tails implanted into them
(hell yeah) and monkeys can have their tails removed (also hell yeah)

* Removes unneeded files

* Revert "Removes unneeded files"

This reverts commit 6469d37.

* .

* ok

* Update tails.dm

* Update monkey.dm

* Fix monkey screenshot test

* Update species.dm

* Update reinf_walls.dm

* Maintenance

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Mal <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: vinylspiders <13398309+vinylspiders@users.noreply.github.com>
2024-05-23 02:37:43 +02:00
Ben10Omintrix
4aec21e180 jps movement can read accesses from the access component (#83384)
## About The Pull Request
jps movement can read accesses from the access component

## Why It's Good For The Game
i cant think of any mobs that need this now but it will be useful in the
future

## Changelog
🆑
/🆑
2024-05-22 19:07:15 -04:00
Jacquerel
8c4c8fbf01 Legion mob nerfs (#83267)
## About The Pull Request

This PR does a handful of things to make the hostile "Legion" mob less
dangerous.
Firstly: They will spawn extra mobs half as often.
Secondly: Those mobs have the "attack forecast" component also used by
Goliaths and some other mining mobs.

Also now Legions can't spawn skulls while they're inside pipes or bags,
because that doesn't make any sense.

## Why It's Good For The Game

When converted to basic mobs these guys became _far_ more deadly than
they were supposed to be, to the point where even approaching a Legion
tendril was basically suicide.
This was compounded by an issue which would sometimes cause 33% more
Legions to be present at the tendril than were supposed to spawn there,
but they'd still be fairly scary with just 3 of them.

There were a couple of causes of this which this PR does something to
address:
- Simple mob AI was simply a lot more sluggish than Basic Mobs. Legions
now react faster and more reliably _actually_ spawn skulls at every
available opportunity whereas previously despite having the same
cooldown they wouldn't always bother.
- Similarly, the skulls themselves were slower to pick a target and
slower to attack, whereas Basic Mob skulls will melee you the instant
they detect that you are in range.
- This also means three (or four with the spawner bug) Legions dropping
adds on you the second they see _you_, with no guarantee that you have
yet seen them. The damage starts to become quite hard to avoid, and 4x
Legion skulls (with another four spawning in two seconds) dealing 12
damage each would crit you very quickly.
- Our click CD means it's not even possible to punch four skulls in two
seconds even if you managed to time it perfectly.

So to solve this: Spawn fewer of them, they do less damage, and you can
step away from their attacks (this gets pretty hard when you're
surrounded, but that is by design).

Eventually I am probably going to play like 20 rounds of miner, look at
all of the mining mobs we have on each map, and then completely redraw
what their roles are in a way that probably changes what this mob does
quite significantly... but I'm not going to do it yet. This should do
for now.

## Changelog

🆑
balance: The melee attacks from small mobs spawned by Legions can now be
dodged.
balance: Legions spawn their mobs less often.
fix: Legions cannot spawn mobs while inside pipes or closets.
/🆑
2024-05-22 18:46:54 -04:00
SpaceLoveSs13
c61718f4be Merge pull request #27786 from Skyrat-SS13/upstream-merge-83305
[MIRROR] Advanced Health Analysers can detect certain organs
2024-05-22 17:33:16 +05:30
SpaceLoveSs13
8577fd3178 Merge pull request #27814 from Skyrat-SS13/upstream-merge-83269
[MIRROR] Research Directors are now strong (the Athletics trait, that is). Suplexing a rod is an incredible workout.
2024-05-22 08:47:23 +05:30
SpaceLoveSs13
7526072534 Merge pull request #27800 from Skyrat-SS13/upstream-merge-83350
[MIRROR] Corrects player-facing instances of "recieve"
2024-05-22 08:41:35 +05:30
SpaceLoveSs13
17216fd902 Merge pull request #27795 from Skyrat-SS13/upstream-merge-83340
[MIRROR] [No GBP] Slime people will not be eaten be slimes
2024-05-22 08:40:16 +05:30
necromanceranne
25d68e6884 Research Directors are now strong (the Athletics trait, that is). Suplexing a rod is an incredible workout. (#83269)
## About The Pull Request

Grants the Research Director TRAIT_STRENGTH via their skill chip. This
trait is only relevant to athletics-related activities. They still need
to actually do the workout before they see any results.

Fitness bros will overestimate the RD's power level due to their ability
to suplex an immovable rod.

Suplexing a rod grants an incredible amount of athletics skill,
increased by how many people the rod has taken out. The frequency of
this happening is bound to be pretty small, but it's a nice in-round
reward for accomplishing the task (and maybe blowing up a department as
a result), and also potentially a large number of casualties on top of
that.

## Why It's Good For The Game

The athletics changes didn't acknowledge that there is already someone
on the station that is, for some reason, unnaturally stronger than
everyone else. The Research Director. So now, fitness bros think they're
naturally swole. Mind over matter, I guess?

I just think it'd be funny if by suplexing the rod once, you gain
incredible physical power and then need to take a nap because boy that
sure was an explosive amount of strength you had to apply. Since this
only happens with looping rods, I don't imagine it will disrupt fitness
as a skill too much.

## Changelog
🆑
add: The Research Director is now actually strong.
add: Fitness bros will determine the Research Director to be stronger
than they actually are, without even working out. How does he do it?
balance: Suplexing a rod grants a large burst of athletics experience.
add: The more sentient casualties of the rod, the more experience
suplexing that rod grants. Absorb the souls of the weak and feeble.
/🆑
2024-05-21 17:54:07 -04:00
Horatio22
6b57e1cce9 Corrects player-facing instances of "recieve" (#83350)
## About The Pull Request

Changes all player-facing instances of "recieve" to the correct spelling
"receive". There are still a handful of instances in the code, but this
PR doesn't mess with those.
## Why It's Good For The Game

It's important to speel things correctly.

## Changelog
🆑
spellcheck: Correctly spells "received."
/🆑
2024-05-21 00:12:36 -04:00
Profakos
f0cc389329 [No GBP] Slime people will not be eaten be slimes (#83340)
## About The Pull Request

This PR readds a missing faction check that got lost during basic mob
conversion. Partially at least, previous, it ensured that
FACTION_NEUTRAL was a one way faction, protecting slimes from other
things, while keeping all the other factions via a check that fully
reimplemented `faction_check` in a less efficient way. Rather then
reimplementing this behaviour, I have just made them check for the
FACTION_SLIME, similarly how regal rats skip converting already
converted frogs and cockroaches.

So in short, slimes once again will not attack slime people, but
everything else is fair game once they get hungry (except for people who
are in their friend list).

I am not fully happy with this solution, but I would rather not make a
new list by subtracting FACTION_NEUTRAL every time they check someone.

## Why It's Good For The Game

One of the unique features of slime people was that slimes consider them
friends and family. This PR brings this back this feature I forgot to
reimplement.

Fixes #83324

## Changelog

🆑
fix: Slimes will no longer consider feeding upon slime people
/🆑
2024-05-20 12:13:30 -04:00
nikothedude
bbd6c02050 Minor raptor spellchecking (#83339)
## About The Pull Request

Spellchecks a few things in raptor code.
## Why It's Good For The Game

typos and bad grammar are bad surprisingly
## Changelog
🆑
spellcheck: Improved the grammar/spelling of a few raptor descriptions
/🆑
2024-05-20 12:08:13 -04:00
SkyratBot
e396dda558 [MIRROR] Ore vents now have countermeasures against walling them off from all sides. (#27790)
* Ore vents now have countermeasures against walling them off from all sides. (#83295)

## About The Pull Request

This PR fixes some balance and practicality issues with the spawner
component that has affected vent mining and the associated wave defense.

* The turf_peel() proc now checks to see if it's pulling no turf from
the inside or outside of it's peel, in which case it now has a default
case where it returns it's center turf instead.
* As a consequence of this, the center turf is where mobs will spawn if
an ore vent is unable to find any space where it can spawn any new
hostile mobs.

Upon testing this, it worked fairly well, but ultimately node drones
were capable of tanking enough hits for long enough that typically they
could still survive a small vent's onslaught. As a precaution, I've made
two additional changes.

* Node drones have had their maximum health dropped slightly, from 500
health to 300 health.
* As a secondary precaution, if a spawner using the turf peel method
cannot spawn correctly, it will send a signal, which ore vents are now
registered to. When called on an ore vent, it has new behavior to clear
the offending nearby turfs and create a pathway to allow nearby mobs to
get access to the vent.
* (**This is an explosion**.)

## Why It's Good For The Game

Fixes an unreported on the repo but repeatedly pinged issue regarding
ore vent waves where players could often wall off or blockoff an ore
vent in such a way that it allows vents to be functionally immortal by
quickly walling off the vent using sandstone doors. This should help to
prevent players cheesing the intended gameplay mechanic, as well as keep
up the challenge to arcmining wave defense without some additional
nuance.

I may have gone a little overboard with the health tweaks as well, but
considering that even with the explosions, I was able to survive the
repeated explosions on the vent, I think this should work quite well all
things considered. Still, open to feedback there.

## Changelog

🆑
balance: Ore vents, if blocked off from all four sides while being
defended, now cause a mild gas explosion, resulting in a mild dissuasive
explosion.
fix: NODE drones spawned from ore vent defense have lower maximum
health.
/🆑

* Ore vents now have countermeasures against walling them off from all sides.

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2024-05-20 06:36:50 -04:00
SkyratBot
0e7559e69a [MIRROR] Adds logging for Legion Tumour interactions (#27772)
* Adds logging for Legion Tumour interactions (#83302)

## About The Pull Request

Adds logs to three events:
- Receiving a Legion Tumour organ (logs victim).
- Being transformed by having a Legion Tumour organ for too long (logs
victim).
- A Critically Wounded person being clicked with a Legion Tumour and
turned into a Legion (logs attacker and victim).

## Why It's Good For The Game

It hasn't happened _often_ but I've seen these various interactions
confuse admins (or players) every so often and it's good to log things
that aren't obvious (and many things which are).
This usually comes up in the case of someone getting one from a
Bioscrambler and then later experiencing a surprise transformation.

## Changelog

🆑
admin: Various bad things that can happen as a result of Legion organs
are now logged
/🆑

* Adds logging for Legion Tumour interactions

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-05-20 06:26:21 -04:00
SkyratBot
233f6d24d7 [MIRROR] carps now properly stop floating when you kill them (#27770)
* carps now properly stop floating when you kill them (#83293)

## About The Pull Request
they forced their movement type to FLYING when all this stuff is
supposed to be handled by the simple flying element, so even though they
would lose the flying trait they would keep doing the flying animation
and had movement type flying (would go over chasms and shit)
as a side note - ground movement probably shouldnt exist (nothing really
checks for it and you get goofy shit like GROUND|FLYING all the time)
but i cant be assed to remove it because of how it interacts with speed
modifiers

## Why It's Good For The Game
Got damned!

## Changelog
🆑
fix: carps now properly stop floating when you kill them
/🆑

* carps now properly stop floating when you kill them

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2024-05-20 06:25:16 -04:00
SkyratBot
b59d9c8cd4 [MIRROR] *Me invoked via verb defaults to visible | audible, rather than just audible (#27767)
* `*Me` invoked via verb defaults to visible | audible, rather than just audible (#83283)

## About The Pull Request

`*me` emotes invoked via the verb (or TGUI say) now default to visible |
audible, rather than just audible

Also adds a description on how to set your `*me` emotes to the verb.
(Doesn't work for TGUI say unfortunately)

## Why It's Good For The Game

I don't know why these are set to audible by default, that's just kinda
weird considering 95% of custom emotes are not audible

Both is best of both worlds, ensures deaf and blind people can see their
own custom emotes at the very least.

## Changelog

🆑 Melbert
qol: Custom emotes now default to both visible and audible rather than
just audible
qol: Invoking the custom emote verb now explains how to set your custom
emote to visible or audible
/🆑

* `*Me` invoked via verb defaults to visible | audible, rather than just audible

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-05-20 06:24:09 -04:00
SkyratBot
ffd24e42a3 [MIRROR] [no gbp] raptors with the playful trait now play with their owners (#27766)
* [no gbp] raptors with the playful trait now play with their owners (#83294)

## About The Pull Request
i forgot to add this behavior to playful raptors, currently this trait
does nothing. raptors will now play with their owners and tease them if
they are nearby

## Why It's Good For The Game
adds more personality to raptors with the playful trait. also this
behavior can now be given to any other tameable mobs

## Changelog
🆑
fix: playful raptors now correctly play with owners
/🆑

* [no gbp] raptors with the playful trait now play with their owners

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2024-05-20 06:22:01 -04:00
Jacquerel
9107d1c572 Advanced Health Analysers can detect certain organs 2024-05-20 03:18:57 -04:00
SkyratBot
b5a28d6e68 [MIRROR] Changes how lube crawling works and fixes a bug with snails (#27744)
Changes how lube crawling works and fixes a bug with snails (#83238)

This partially reverts https://github.com/tgstation/tgstation/pull/76336
- Just for slimepeople since it's the only one that felt important to be
tied to species.
Snails are currently pretty fast when they are crawling around, but on
top of that they are also able to get their legs replaced to become 3x
faster than normal humans while resting. It's a little silly, and I
thought I should fix it.

I also changed the element itself to be easier for admins to edit,
giving them control over time and wet flags, and made it work a little
better.
Instead of being hardcoded to listen to carbons and to register every
step to check if they are resting, calling add/remove movespeed modifier
every single time they move, we are told whether they have to be
resting, and update when they get up/lie down. This has an extra bonus
that admins can control whether or not they want to make simple/basic
animals have to rest to lube things (like cats).

Closes https://github.com/tgstation/tgstation/issues/78417
Makes the lube spitting element that (primarily) snails use into a more
general thing that can be used by admins or other contributors that want
to make things wet thing as they walk for some time.
Also no insanely fast snails anymore.

🆑
fix: Snails no longer move at normal speed while resting.
fix: Snails can no longer get insane speed from getting their legs
replaced.
fix: Humans don't become immensely slow when getting a Snail leg.
admin: lube walking element is now much easier to mess with to fit
however you want to use it for.
/🆑

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-05-18 18:34:28 +02:00
SkyratBot
61c379045c [MIRROR] lavaland raptors (#27746)
lavaland raptors (#82537)

adds raptors to lavaland. these are creatures that have been created
through countless xenobiological experiments by nanotrasen to breed an
animal that can withstand the harsh conditions of lavaland and aid
miners. theres now a new ranch miners can access bottom right to the
mining base

![ranch](https://github.com/tgstation/tgstation/assets/138636438/20d9e358-15a5-48e2-aee3-9364ca139e43)
this ranch starts somewhat empty as most raptors have escaped
containment and are now scattered all across lavaland, u can find them
and return them to ur ranch.

in order to tame a raptor, u first need to prove to it that ur a capable
master. when u try to ride it, a little minigame prompt will pop up

![minigame](https://github.com/tgstation/tgstation/assets/138636438/dcc13102-7100-40c8-ae7a-089cd4daf868)
in this game, the bird's icon rapidly changes direction and u have to
quickly click the arrow thats OPPOSITE to the direction its facing
several times before the direction changes. if you fail 3 times itll
knock you off and run away, however if u win it will deem u a suitable
master and listen to your orders.

There's many different breeds of raptors you can find across lavaland,
all with different capabilities:
red raptors: these excel at combat and can be very useful for dealing
with lavaland mobs or defending the node drone
yellow raptors: are very speedy mounts, theyll get u from point A to
point B in record time
green raptors: they are the tankiest type of raptor and are very good
miners. while mounted, they will clear any rock walls in their path
purple raptors: can store items in them. they have a decent storage size
allowing players to carry more items across trips
white raptors: are able to heal other injured raptors. having one in ur
party would be very useful as they can nurse the combat raptors back to
full health when they need it
blue raptors: produce very nutritious milk with healing capabilities.
having 1 or 2 of these back at ur ranch would be very useful
black raptors: by far the rarest breed, its very unlikely that ull be
able to get one of these, but in the case u do, they have the combat
capabilities of the red raptor, speed of the yellow raptor, and
tankiness of the green raptor.

Breeding different colored raptors together can net u an entirely new
colored raptor. each breed has atleast 1 guaranteed combination of
parents that it will result out of.

you will also need to maintain a good friendship bond with ur raptors,
this is done by feeding them, grooming them, and petting them. u can see
the strength of ur bond by SHIFT clicking them. more hearts indicate a
stronger bond

![hearts](https://github.com/tgstation/tgstation/assets/138636438/5662c5a7-2df3-4f98-99f4-a11faa17b569)
having higher friendship bonds means ur raptors will perform better in
combat, and in the case of blue raptors, they will produce more milk.
Maintaining friendship bonds with baby raptors and keeping them happy
will also encourage them to grow faster

U can also analyze raptors using the new raptor-dex device available at
ur ranch

![pokedex](https://github.com/tgstation/tgstation/assets/138636438/82b92c0c-b7db-4a0d-997e-384a69c0ecbe)
the inherit modifiers indicate how strong this raptor's offspring will
be. raptors inherit attack and health stats from both their parents,
breeding raptors with higher inherit modifiers means the offspring will
be stronger.

raptors will also inherit some traits from their parents that will
change how they will act around u and around other raptors, some of them
being:
Playful: raptors will play with their masters and tease them
motherly: raptors will care for baby raptors, this will encourage baby
raptors to grow quicker
depressed: means its hard to keep this raptor happy and friendship bonds
will deteriorate faster if not given enough care.
coward: makes them flee combat if severly injured, ditching u to the
wolves
trouble maker: makes them attack other raptors at the ranch. however,
trouble maker raptors will not attack other trouble maker raptors,
instead they will form posses and bully raptors together. it might be a
good idea to isolate them from the other raptors

raptors primarily consume ores. to feed raptors, you need to place ore
into the food troughs at the ranch. they are too civilized to eat ores
off the ground or directly from ur hand, they will only eat it if its in
their trough

![trough](https://github.com/tgstation/tgstation/assets/138636438/70723cc7-5743-4ace-9955-4307879e7a83)

beautiful raptor sprites by spessmenart! (rest are codersprites)

adds a new layer to lavaland mobs, and gives miners new interesting
tools and ways to tackle the challenges of lavaland.

🆑 sheets, spacemenart, ben10omintrix, goofball, infrared baron, aofie
add: adds lavaland raptors and the raptor ranch
/🆑

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
2024-05-18 11:40:59 -04:00
SkyratBot
64113507e4 [MIRROR] Fixes energy lost as heat for some machines (#27697)
Fixes energy lost as heat for some machines (#83205)

By fixes i mean the energy lost as heat is now directly proportional to
the amount of power these machines draw from the grid via
`charge_cell()` proc. The machines affected are as follows
- Cell charger
- Mechbay charger
- Recharge stations + cyborg charging fix(Fixes #82626)

The idea is simple. As the cell nears its charging completion it draws
less power from the grid to complete that last mile (for e.g. if the
cell is 0% charged the cell charger attempts to draw 100% of the cells
max charge from the grid but if the cell is already 99% charged it will
only attempt to draw 1% of the required power from the grid) and so it
only makes sense that the heat energy lost is also less & vice versa.

In other words the heat energy lost is directly proportional to the
amount of work done (via `charge_cell()` proc) so you get conservation
of energy & bug fixes which especially benifits borgs & mod suits at the
recharge station as it will attempt to first pump in whatever energy is
available from the grid and then compute energy lost as heat from it &
not the other way around.

For borgs we attempt to first charge its modules & then charge the cell
so you get an fully charged cell at the end

🆑
fix: cell chargers, mechbay port chargers & recharge stations heat lost
is directly proportional to energy drawn from the grid to charge their
respective cells
fix: cyborgs should charge more frequently & to their max capacity at
recharge stations
/🆑

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2024-05-18 16:17:14 +02:00
SkyratBot
655045d8a4 [MIRROR] Adds Minecarts (#27748)
* Adds Minecarts (#83175)

## About The Pull Request

Designed for use in #83163 , not implemented anywhere else currently.

Mining cars (existing crate reskin) now have a hefty drag slowdown.
Click-dragging them onto a minecart rail (new), however, will negate
this slowdown, allowing you to drag them at nearly full speed.
This also gives you the opportunity to give them a bump to push them
down the tracks at a decent pace.

https://github.com/tgstation/tgstation/assets/51863163/293adbfb-e2bd-49ba-beef-c998c388ecf0

Other notes:
- Running a cable underneath a minecart (underfloor allowed) will power
the rail, keeping its momentum, or boosting it slightly if it falls
below certain thresholds.
- If the minecart comes to an abrupt stop with a decent amount of speed,
it will chuck all of its contents ahead a few tiles.
- Break rails also exist, and stop the cart instantly (and with no
contents chucking) when powered with cable.
- The cart does hurt people who are standing in the way if it's moving
with moderate speed.
- And it also hurts people lying on the tracks.
- You can buckle yourself onto a (closed) minecart to ride it. Someone
else has to give you a push though.

## Why It's Good For The Game

I was struggling to come up with a method of bulk transferring items for
the linked PR that didn't seem too contrived (bluespace BS, pods),
wouldn't require work refactoring an existing system (transit tubes),
and wasn't a tram, and I realized we have mine carts but no rails.

So I added rails and made the minecarts work on the rails. This gives a
method of shipping items from point A to point B that fits well in
certain settings, such as the lower areas of Icebox, or maybe in space
ruins.

I also think it would be fun to give miners some tools to construct
rails, to let them ship boulders back to the station via railway rather
than using teleportation.

## Changelog

🆑 Melbert
add: Adds Minecarts, (possibly admin only depending on when this PR is
merged in relation to the Icebox Bar PR)
/🆑

* Adds Minecarts

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-05-18 02:17:24 +02:00
SkyratBot
7c78418b8a [MIRROR] Updates to orbit ui [READY] (#27742)
* Updates to orbit ui [READY] (#83186)

## About The Pull Request
Pretty big orbit ui refactor.
Check changelog for full list of features.

<details>
<summary>screenshots</summary>

In game
![Screenshot 2024-05-15
133935](https://github.com/tgstation/tgstation/assets/42397676/60c2fc95-9fc5-4417-8477-d6fdae589100)

Sort by department
![Screenshot 2024-05-15
133951](https://github.com/tgstation/tgstation/assets/42397676/96114884-3c10-4b03-a042-c19b25485bf3)

Did you know ninjas had a hud icon that hasn't worked for four years?

![image](https://github.com/tgstation/tgstation/assets/42397676/74f1414e-df57-4586-8cfd-0a154b560b83)

Criticals

![image](https://github.com/tgstation/tgstation/assets/42397676/b6ed9b94-bab3-4878-9a18-345efad9b92d)

Orbit blade

https://github.com/tgstation/tgstation/assets/42397676/99681548-bfb3-4895-9c95-3b650df71107

</details>

## Why It's Good For The Game
Some QoL for the orbit menu, giving more info on where action is and
isn't.
Removes more of the uselocalstate hook which is deprecated anyways
## Changelog
🆑
fix: Fixed an issue preventing space ninjas from having a hud icon
add: ORBIT UI CHANGES:
add: AFK players are greyed out.
add: Living NPCs now display health.
add: Icons displayed are now based on hud icons, which includes icons
for player-visible antagonists
add: You can now sort by job department (click health icon)
add: Round ending "critical" items will be listed at the top.
add: Click the settings button to expand for more info
add: Your current orbit target is highlighted.
/🆑

* Updates to orbit ui [READY]

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2024-05-18 01:31:31 +02:00
SkyratBot
1131ce10ba [MIRROR] Parse_zone audit + minor misc cleanup (#27735)
* Parse_zone audit + minor misc cleanup (#83154)

## About The Pull Request

Does a audit on all uses of parse_zone, replacing most instances of it
with a new living-level proc that refers to the bodypart in that zone if
it exists.

In other cases, removes parse_zone entirely because the bodypart is
already confirmed to exist, so we just use plaintext_zone.

Also cleans up some single letter vars.
## Why It's Good For The Game

In the doc of ```plaintext_zone```, its said it ```Should be used for
parsing non-instantiated bodyparts```. 99% of the code ignores the
possibility of a bodypart existing, and so uses parse_zone when
plaintext_zone could be accessed instead.
## Changelog
🆑
code: Most instances of parse_zone now refer to the limb's
plaintext_zone var
/🆑

---------

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

* Parse_zone audit + minor misc cleanup

---------

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2024-05-18 01:27:23 +02:00
EnterTheJake
d8c8b79c44 Rust Heretic rework: THE PUKENING. (#83006)
## About The Pull Request
Turf rusting is now based on knowledge instead of RNG; toxic damage on
spells has been replaced with disgust; rust walkers are a bit easier to
summon and show up early in the tree.

Rust ascension spread has been massively increased and immunities while
on Rust have been updated.
## Why It's Good For The Game

This is a massive list of changes, but the tl:dr is Rust heretic design
is pretty barebones and dated in its current state. I'm going to try my
best to explain why that is and why it needs to change.

###  RNG on rusting is bad

**Problem** : quite a lot of turfs cannot be rusted, and reinforced
turfs rusting is tied to RNG, the emergency shuttle floors are also
unrustable, making an ascended heretic not threatening at all to an
escaping crew.

**Solution**: Heretic rusting prowess is now tied to knowledge
progression; reinf wall rusting is no longer tied to RNG; the emergency
shuttle is now rustable if you have accrued enough knowledge.

**Explanation** : I've been adopting the code from a previous PR that
sadly didn't make the light of day.

Link: https://github.com/tgstation/tgstation/pull/65361

The goal is to have Heretic rusting be more consistent, so that if you
ascend the shuttle is no longer a safe refuge.

**Grasp Of Rust**: Basic floors and walls.
**Mark Of Rust**: Reinf floors and walls (takes 3 applications of rust
to fully destroy).
**Toxic Blade** Titanium and Plastitanium( still takes 3 applications of
rust to destroy).
**Ascension**: almost everything save for admin walls, glass, and
silver.

### A territorial antagonist with no tools to defend its turf

**Problem**: Rust heretic is forced into a territorial playstyle, but
it's heavily diminished by rusted turfs not having any negative effect
on the crew whatsoever, Toxic damage on plume and blade is also kind of
bad and has no synergy with the rest of the kit.

Lastly, while fitting to the theme of Rust; mark detonation destroying
clothes and items can end up being more harmful to the heretic, as
destroying a secoff's flashbang will result in you getting stunned and
killed.

**Solution**: Rusted floors are no longer safe for the crew; walking
over Rust will add a small buildup of disgust, silicons will receive
ticking damage, Toxic damage on Rust skills has been replaced with
disgust buildup and a chem purge effect to prevent the crew from
cheesing the debuff with sol dry.

**Explaination** "The goal behind this change is to prevent the crew to
just be able to walk willy nilly into an eldritchly decayed area without
repercussions, plus I feel like disgust is a fitting debuff for Rusties
for a number of reasons.

1) Lore wise, your goal is to turn the entire station into a garbage
dump.

2) It fits for fighting a territorial antagonist, it's not immediately
threatening on its own, but if you overstay your welcome, it has dire
consequences.

3) We don't really do much with disgust as a status effect, far as i
know, this'll be the first iteration of it being used for an antagonist
toolset.

4) It gives reason to the crew to act hostile towards the Heretic, as
you are essentially making their work area inhabitable.

I've also Slightly increased the healing on leeching walk and gave it
some minor temperature regulation (you won't be able to outtemp space
cold).

### Rust Walkers

**Problem**: Rust walkers might as well not exist in their current
state; they are one of the latest heretic unlocks, and the recipe for
summoning one is INSANE now that you cannot decapitate mobs anymore.

**Solution**: Rust walkers pop up a bit earlier in the tree; the ritual
to summon them has more reasonable reagents (wires, pools of vomit, iron
sheets) and they have increased health.

**Explanation**: : There is not a lot to add to this. without walkers,
Rust heretics are fairly slow at spreading rust, by making rust walkers
have reasonable summoning reagents, we ease that problem; lastly i've
slightly bumped their hp, as i felt 75 hp was a bit low.

### Underwhelming ascension

**Problem**: The spread rate from the ascension is downright ATROCIOUS
in its current state, i actually ran multiple tests on different maps,
on Metastation it can take up to 40 minutes for the rust to spread to
the entire station, considering an ascended heretic results in an
immediate shuttle call, it's unecceptable in its current form.

Solution: Rust spread is now a hybridization between old ascension and
Wizard tranformation ritual.

**Explanation**: The spread rate in its current form is painstakingly
slow and has a tendency to reach one corner of the map and compound on
itself, i've borrowed the code from the wizard final ritual
"transformation" and gave it my own spin so that given enough time it
will cover the station more or less evenly, it can now spread through
all z levels.

Video example: https://www.youtube.com/watch?v=jZ5zMrNM6Jw

I've also updated the immunities you gain on ascension to ignore
slowdown and stasis from Cryogelidia.

The whole point of rust ascension is to become immune to crowd control,
i've seen far too many ascended heretics die to a single bola or cryo
syringe, that's pretty lame so i fixed that.

Lastly, aggressive spread has had its radius reduced in exchange for the
spread being consistent now; cooldown is also halved when you ascend, to
better help the heretic go on the offensive.
2024-05-16 14:55:45 -04:00
SkyratBot
da778a7432 [MIRROR] parrots try to immitate voices (#27721)
* parrots try to immitate voices (#82773)

## About The Pull Request
whenever parrots repeat lines they will try to mimic the speaker's
voice. it wont sound exact but theyre trying their best

## Why It's Good For The Game
adds more detail and character to the line repeating feature

## Changelog
🆑
add: parrots will now try to immitate the speaker's voice
/🆑

* parrots try to immitate voices

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2024-05-16 06:33:48 +02:00
SkyratBot
262bc5936d [MIRROR] Bodybuilders can see each others' power levels. (#27684)
Bodybuilders can see each others' power levels. (#83088)

Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-05-16 06:22:01 +02:00
Afevis
ad9f717f61 Fixes minor runtime when borgs get qdeleted (#83221)
no need to worry about their eye overlay when they're being deleted.
```
[15:52:42] Runtime in code/modules/mob/living/silicon/robot/robot.dm, line 325: /list {len = 1}l.vars
proc name: on changed z level (/mob/living/silicon/robot/on_changed_z_level)
usr: *no key*/(Default Cyborg-955)
src: Default Cyborg-955 (/mob/living/silicon/robot)
src.loc: null
call stack:
Default Cyborg-955 (/mob/living/silicon/robot): on changed z level(the floor (120,88,2) (/turf/open/floor/iron), null, 0, null)
Default Cyborg-955 (/mob/living/silicon/robot): Moved(the floor (120,88,2) (/turf/open/floor/iron), 0, 1, null, 1)
Default Cyborg-955 (/mob/living/silicon/robot): Moved(the floor (120,88,2) (/turf/open/floor/iron), 0, 1, null, 1)
Default Cyborg-955 (/mob/living/silicon/robot): Moved(the floor (120,88,2) (/turf/open/floor/iron), 0, 1, null, 1)
Default Cyborg-955 (/mob/living/silicon/robot): doMove(null)
Default Cyborg-955 (/mob/living/silicon/robot): moveToNullspace()
Default Cyborg-955 (/mob/living/silicon/robot): Destroy(0)
Default Cyborg-955 (/mob/living/silicon/robot): Destroy(0)
Default Cyborg-955 (/mob/living/silicon/robot): Destroy(0)
Default Cyborg-955 (/mob/living/silicon/robot): Destroy(0)
Default Cyborg-955 (/mob/living/silicon/robot): Destroy(0)
qdel(Default Cyborg-955 (/mob/living/silicon/robot), 0)
/datum/callback (/datum/callback): Invoke()
world: push usr(Default Cyborg-955 (/mob/living/silicon/robot), /datum/callback (/datum/callback))
/datum/callback (/datum/callback): InvokeAsync()
Timer (/datum/controller/subsystem/timer): fire(0)
Timer (/datum/controller/subsystem/timer): ignite(0)
Master (/datum/controller/master): RunQueue()
Master (/datum/controller/master): Loop(2)
Master (/datum/controller/master): StartProcessing(0)
```
2024-05-14 20:45:17 -04:00
Useroth
41568c9b2a Fix height settings double-applying offsets / some human icon gen cleanup I guess (#82672) 2024-05-15 02:09:47 +02:00
SkyratBot
db8f4d3f70 [MIRROR] Allows status effects with alerts to display their duration (on the alert), adds it to a select handful (#27692)
* Allows status effects with alerts to display their duration (on the alert), adds it to a select handful (#83211)

## About The Pull Request

Plainly: Expands the status effect API so their alerts can showcase
duration remaining.

https://github.com/tgstation/tgstation/assets/51863163/02eaad84-ebb7-4af9-9895-977c6e71acc4

## Why It's Good For The Game

I figure there are some status effects out there which really want the
player to know how long the duration is.

And right now, for 95% of them, you have to code dive to find out. This
is rather punishing for players who... don't code dive.

At the same time, there are effects which *do* tell you how long they
last, which leaves it up to the player to intuit when it'll run out.
This can get a bit silly during lag, and again, punishes new players.

That's not to say I think every status effect should report how much
duration is left: **For very common effects, like sleeping, it should be
left up to the player to guess.** Otherwise we lose a lot of paranoia
and feeling of helplessness. (Also keep in mind this only applies to
status effects with alerts associated.)

Hence why I only added it, largely, to the more "gamified" buffs and
debuffs - Things from (generally) one or two sources and with a static
duration, (or things which already informed the player how long they
last).

Notable ones include Fleshmend, Convulsing (from emag defib), Regen
core.

## Changelog

🆑 Melbert
qol: Some alerts, such as Fleshmend's, show their remaining duration on
their icon.
/🆑

* Allows status effects with alerts to display their duration (on the alert), adds it to a select handful

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-05-15 01:34:35 +02:00
SkyratBot
1e9824f039 [MIRROR] Adds a period to the end of the wendigo deathrattle (#27679)
* Adds a period to the end of the wendigo deathrattle (#83185)

## About The Pull Request

Title
## Why It's Good For The Game

typos... BAD?????????
## Changelog
🆑
spellcheck: Added a period to the end of the wendigo deathrattle
/🆑

* Adds a period to the end of the wendigo deathrattle

---------

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
2024-05-15 01:05:21 +02:00
SkyratBot
b09a407e1d [MIRROR] Rat Kings can no longer create grime and miasma while ventcrawling (#27677)
* Rat Kings can no longer create grime and miasma while ventcrawling (#83176)

## About The Pull Request
Blocks Rat Kings from using "Rat King's Domain" (the spell that spawns
dirt/vomit/oil and creates miasma) while ventcrawling.

Also blocks Rat Kings from summoning mice while in pipes; as far as I
can tell, this is just an oversight, as it previously created a mouse
stuck inside of the pipe without the normal chat message.
## Why It's Good For The Game
Rat Kings are supposed to build a lair of filth, a rat king visiting
every department in the distro pipes while spamming motor oil is boring,
lame, lacks any contextual sense that a rat inside a pipe could dirty
the floor above it, and doesn't really have any counterplay besides
begging atmos to up the temperature (which they realistically probably
will never do because it's a rat king not a xeno or a ling).

Ling spells are blocked while crawling so there's precedent for it.
## Changelog
🆑 PapaMichael
fix: Rat Kings can no longer trap mice inside of pipes by creating them
while ventcrawling.
balance: Rat Kings can no longer create grime and miasma while
ventcrawling.
/🆑

* Rat Kings can no longer create grime and miasma while ventcrawling

---------

Co-authored-by: PapaMichael <papa.michael.1996@gmail.com>
2024-05-15 01:03:30 +02:00
NullFag
a1680f0edc bubber my behated 2024-05-12 13:06:16 +00:00
xXPawnStarrXx
f4d6a20ac1 Fixes toxin mold spiders suffocating (#27606)
* Update giant_spiders.dm

* Update code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm

Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>

---------

Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
2024-05-12 01:10:53 +02:00
SkyratBot
6ff8d2f368 [MIRROR] Chance to become crab on DNA meltdown (#27667)
* Chance to become crab on DNA meltdown (#82985)

## About The Pull Request

Sometimes when you get a nonlethal instability consequence you will now
become crab

## Why It's Good For The Game

You should be abel to reach teh peak of evolution when messing with your
genetics

## Changelog

🆑
add: Chance to become crab on nonlethal DNA meltdown
/🆑

* Chance to become crab on DNA meltdown

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2024-05-10 06:50:12 +02:00
SpaceLoveSs13
9f870ecf12 Merge branch 'master' into upstream-merge-83137 2024-05-09 19:37:30 +05:30
SpaceLoveSs13
7a9e479a1e Merge branch 'master' into upstream-merge-83137 2024-05-09 17:16:44 +05:30
SpaceLoveSs13
89ba7963d2 Update emote.dm 2024-05-09 17:16:35 +05:30
SpaceLoveSs13
d91b36e06f Merge branch 'master' into upstream-merge-83108 2024-05-09 17:13:57 +05:30
SpaceLoveSs13
ab40b1aa8a Update emote.dm 2024-05-09 16:14:04 +05:30