Commit Graph
465 Commits
Author SHA1 Message Date
Roxy e28e9fbdba Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025 2025-10-23 17:38:23 -04:00
b6f901d7f8 Adds an option to have four eyes + Multitool changing Robotic Eye Color (#4005)
## About The Pull Request

Adds a new customization option via preferences, quad eyes!
> Gives the character four eyes with the option of setting the offset up
/ down.

Also gives the multitool the ability to change the eye color(s) (yes
both of them, separately)
## Why It's Good For The Game

Customization is good. Looks neat.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>

+0 offset


![image](https://github.com/user-attachments/assets/03125f56-db87-4d3c-9c9f-632b69d905a5)


![image](https://github.com/user-attachments/assets/fe4b2f6f-669e-4885-94c5-1767c207091b)


![image](https://github.com/user-attachments/assets/e626c52c-d804-4f63-9b88-90cdc0f78fa9)


![image](https://github.com/user-attachments/assets/b38026a0-dc7b-48c8-a508-2755048c7d12)


![image](https://github.com/user-attachments/assets/430f97b3-22f6-43f5-a0f1-5c228dbbdad2)


![image](https://github.com/user-attachments/assets/a87ff58c-f3b6-4ffd-959f-76fa04ffc17d)


![image](https://github.com/user-attachments/assets/5a834225-cef6-4a0b-ab59-f1984c6fb0f4)

</details>

## Changelog
🆑
add: Added new customization option to give a character four eyes.
add: Added the option to change robotic eye colors using a multitool.
/🆑

---------

Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
Co-authored-by: xPokee <catmc8565@gmail.com>
2025-10-23 02:24:20 +03:00
GhomandGitHub ca2cc70322 Organ damage refactor/cleanup (#93436)
## About The Pull Request
So, my original goal was just a refactor for the emissive overlays of
eyes, as a way to implement the specular emissive introduced by smartkar
some time ago, but somehow I found myself dragged into a bigger refactor
or cleanup of organ damage, thresholds, failures. One of the main
problem was that there were no procs called when a organ suffered enough
damage to fail or when recovering from failure. It'd just enable or
disable a bitflag, leaving it up to subtypes to decide how to tackle
organ failure their own ways: diverse, funky and sometimes incompatible.
More often than not relying on their very own "update_thingamajig" kinda
procs that run whenever the organ takes damage, rather than just when
the threshold is reached (low, high, failure. There are however a couple
organs with their own quirky thresholds, I let those slide).

There's also a bit of old code, especially for ears, with the
`AdjustEarDamage` and temporary deafness both predating the framework
for organ damage as far as I know. It really needed a coat of fresh
paint.

Oh, there were also more than a handful of organs that still heavily
relied on some ORGAN_TRAIT source instead of the `organ_traits` list and
the two add/remove procs `add_organ_trait` or `remove_organ_trait`. This
include organs that lose or gain specific traits when failing et
viceversa.

~~Lastly, felinids (and the halloween ghost species) having reflective
eyes. It's just a nod to the tapetum lucidum that animals with night
vision often have (including cats), which is why their eyes are a bit
brighter in the dark. Felinids however, do not have night vision (nor do
ghosts). This is merely cosmetic.~~ Cut out for the time being due to
issues with the specular emissive...

## Why It's Good For The Game
Refactoring / cleaning up old organ code.

## Changelog

🆑
refactor: Refactored organ damage code a little. Hopefully there won't
be issues (otherwise report them).
/🆑
2025-10-21 16:52:28 -05:00
Roxy e2f813e182 Merge branch 'master' into upstream-15-10-2025 2025-10-17 22:19:34 -04:00
CursorandGitHub 5055fbe77d Ports colourable Umbrellas from Monkey, makes the rain hiding a trait (#4803)
## About The Pull Request
Title.
## Why It's Good For The Game
It's colourable, trait can be used for more. Shaded vamp funny.

- [x] Port basic stuff.

- [x] Weather stuff.
- [x] Vampire stuff.


## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog
🆑 Absolucy, Constellado, theselfish, Arturlang
add: Umbrellas are now gags colourable!
add: Umbrellas protect vampires from the sun.
/🆑
2025-10-16 16:06:41 -07:00
Roxy d14e538393 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025 2025-10-15 19:34:41 -04:00
EnterTheJakeandGitHub a2c7c8e57b Heretic Antagonist Full Overhaul. (#92119)
## About The Pull Request

Heretic has received a complete overhaul. This PR touches nearly every
aspect of the antagonist. For readability's sake, not every change is
going to be listed in this pull request.

For the full list of changes please refer to the design doc:
https://hackmd.io/@BiST8PJVRjiwVPY86U3bLQ/B11HyChz1g.

Code by Me, @Xander3359 and @Arturlang 

TGUI by @Arturlang 

Sprites by OrcaCora and GregorDM

Writing bits by @necromanceranne 

### Core changes

- Cross-pathing has been removed. Main knowledge spells are now
exclusive to their path (for the most part).

- For every main knowledge unlocked (save for the robes and the blade
upgrade), Heretics can choose one option from a draft of 3 random side
knowledges (this is a free point).

- Heretics can now purchase side knowledges from a new tab, the
"Knowledge Shop". Side-knowledges have been divided by tier (Stealth,
Defense, Summons, Combat and Main). Tiers are unlocked as you progress
toward your main path.

- Heretics now gain the grasp and mark upgrade immediately, but their
main knowledge choices cost twice as much (except for the first spell,
the robes and the blade upgrade).

- Path specific robes have been introduced! They come with their own set
of quirks.

- Each Path has received a passive ability. This passive is upgraded
when you first create your robes, and again when you complete the Ritual
of Knowledge.

- Paths have been rebalanced as a result of the removal of cross-path
progression. Cosmic and Moon paths have received soft reworks.

- Upon unlocking the path 2nd level or reaching a total of 8 points
worth of knowledge, Heretics will lose the ability to blade break (and
the limit on blades all together).

- Ascension now automatically calls the shuttle with no possibility of a
recall.

- Late join Heretic has been removed.

### New UI 
<img width="750" height="635" alt="moon path ui"
src="https://github.com/user-attachments/assets/184ef783-5c9c-48a1-a2f7-4807ca93e990"
/>


### Knowledge shop

<img width="787" height="669" alt="Knowledge shop"
src="https://github.com/user-attachments/assets/3dc89b84-8c70-4d47-b612-54396e3ea6e7"
/>




### Quality of life //General balance changes

- Heretics will now gain X-ray vision for a few seconds when nearby an
eldritch essence (this effect has a cooldown).

- Ritual of knowledge now requires 1 uncommon item instead of 2. You may
now use a stunprod instead of a baton to complete the ritual. Beartraps
have been removed from the list of possible reagents.

- The maximum number of possible sacrifices required to ascend has been
reduced from 6 to 5 while the minimum has been upped to 4.

- Codex Cicatrix no longer requires a special pen to be made.

### Passive abilities

- Heretics now start with a passive ability. You can find what it does
on the path info tab after a path has been selected, and what they gain
when upgraded.

- Crafting your first set of Eldritch robes will bump your passive to
level 2.

- Unlocking the 2nd level will subsequently unlock your "Ritual Of
Knowledge"

- Completing the ritual of knowledge or ascending will net you the final
level.

### Path Specific Robes

- Armorer's Ritual is no longer a side knowledge. Each path will have
their own unique version of the ritual. This is placed after the 2nd
spell in the tree.

- Robes can no longer be destroyed by fire and acid, grant t4 flash
protection (Moth Heretics stay winning) and protection against basic
syringes, to bring them on par with other antagonist's armor sets.

- The recipe to craft the robes is now a set of armor/vest, a mask (any
mask will do now, not just gas masks), plus the unique reagent required
for the blades (Plasma for Cosmic, Trash For Rust, match for Ash and so
on)

- Wearing the robes as a non-heretic may yield some unfortunate
side-effects.

### Moon Path Rework

Moon path  rework.

Moon Heretics gain immunity to brain traumas and slowly regenerate brain
health. Equipping the moon amulette channels its effects through the
moon blade; making it unblockable and cause sanity damage instead of
brute. Ring leader's Rise now summons an army of harmless clones that
explode when attacked; the explosion briefly stuns non-heretics and
cause sanity and brain damage to them. Moon blade can also now be used
when pacified and Moon spells are no longer blocked by regular anti
magic, only mind magic protection.


**Cosmic Path Rework**

Cosmic path has received the biggest batch of changes alongside Moon.
The path has been dead last in ascension and pickrate (less than 5%) for
almost 2 years. It did gain some popularity over the last few months,
reaching the highest ascension rate in the game (12%) while mantaining a
relatively low pickrate.

Cosmic sits in a weird spot, where pretty much every knowledge
surrounding the path is either mediocre or, in the case of the
ascension, dysfunctional. Yet it has maintained a smidge of relevancy
due to how quickly Cosmic heretics can capture and sacrifice targets
thanks to Star Touch.

As a result, the best course of action would be to rebalance the
entirety of the kit; granting the heretic more tools to manipulate space
and dictate the flow of a fight, while lessening their ability to end a
confrontation by instantly sleeping their opponents.

lastly The Star Gazer is now ghost controlled ; And they shoot lazers!

<img width="636" height="451" alt="gazer gag 3"
src="https://github.com/user-attachments/assets/601d6881-c042-4e42-8ce6-ac90cd27848b"
/>


## Why It's Good For The Game


### Ok...but why do we want this?

Again, if you want my full reasoning, please check my doc
https://hackmd.io/@BiST8PJVRjiwVPY86U3bLQ/B11HyChz1g.

To keep it short and concise; Heretic is too complex and unintuitive for
its own good. Too impenetrable for new players and too abusable for
experienced players. This can be chalked up to a lot of poor design
decisions. But ultimately, what I believe being the biggest contributor
to the current status of Heretic is the ability to move into different
paths, also known as "Cross-Pathing".

### Cross Pathing my beloathed.

Cross-pathing, while cool in theory, overcomplicates the antagonist and
overloads them with power. Players dealing with the heretic are
incapable of working out what a given heretic can do. This also leads to
late game heretics having 3 rows Worth of action buttons and virtually
no weakness.

Over the last year, I've often received the understandable but also kind
of unfair accusations of making Heretic too powerful without a clear aim
or purpose.

My goal with the paths I've reworked over the last year (Rust,Void and
Blade) wasn't necessarily to just make them stronger (although that was
also part of the goal, as they were paths that were underperforming),
but for them to have more interactions with the sandbox and to better
live up to the fantasy presented to the player.

If an harbringer of frost gets countered by a cup of coffee, we probably
messed something up.


Unfortunately, the current incarnation of Heretic doesn't really allow
for surgical balance changes to specific paths. Every time a knowledge
gets buffed, we make every path that can easily tap onto that knowledge
stronger by default. It doesn't take a genius to understand why this
system is ultimately unsustainable.

### Blade Breaking

I feel that after a heretic has reached the near peak of their power,
they no longer need the ability to instantly escape any encounter. Check
my doc for my full reasoning.

## Less versatile, more specialized paths.

By removing cross-pathing, we remove a huge maintainability burden from
the antagonist. Paths can now be designed around clearer strengths and
weaknesses. They become easier to balance and less of an headache to
understand for everyone.

It also means we can give paths some needed quality of life quirks
without having to worry how such a change might have a knock-on effect
for other paths.

Ash heretics can finally let loose without dying by their own flames.
Cosmic Heretic can go to space without having to carry a modsuit. Moon
Heretic can use their abilities without fear of one random trauma
ruining their day, and so on.

### What a horrible night to have a curse...., wait how do I curse
people again?

As of right now the heretic tree has quite a hefty amount of trinkets
that pretty much never see use.

Partly because the tree itself is a nightmare to navigate. And partly
because why would anyone set up an elaborate plan or scheme when they
can unleash 2 rows of spell in the span of bunch of seconds.

Heretics mostly gravitate towards powers that push them towards greater,
more potent combat strength. If it doesn't contribute to killing people
quicker, it isn't worth doing for most. And given the opportunity cost
associated for taking those powers, they will remain that way so long as
there are better choices to be poached.

The new draft system encourages Heretics to play more with the tools at
their disposal. If you want to go for a specific combo from the side
path options, you may now do so by tapping into the knowledge shop.

Yes, the shop does include a few knowledges from the other paths. But
these are limited to 1 per path, are very expensive and can only be
unlocked very late into the shift.

## Drip Of the Mansus

The iconic heretic robe is actually sequestered to a side path that is
most easily access by only two paths at a time. Since heretic paths are
being made to be much more specialized, the most obvious way in which
this can be showcased is through an easily
identifiable outfit.

By using the robes, we can both telegraph WHAT heretic you are looking
at, and just how much power they've accumulated and when it is
reasonable to take the kid gloves off and treat them as a genuine
threat. If a heretic is in their
robes, that heretic is now a significantly more prominent danger to the
station.

It also serves as a useful means for gating some of the more powerful
effects of a heretic's path behind the robes, AND enable options for
disarming them of that power should they be captured without making it
something endemic to their mob.

A major problem with heretics is a lack of certainty as to how powerful
they have become. A heretics robes is one of the milestones to help
players dealing with heretics identify that.

### Will this be 100% fair and balanced?

This is a massive overhaul to a pretty complex and bloated antagonist.
I've done my best to show the changes to several maintainers and other
members of the community for their feedback. But at some point we'll
have to see how this behave in the environment to get a feel if
something is over or undertuned. (that's my way of saying, yes this is
likely gonna require a testmerge or two).

What I will say is that I'm not trying to change the core identity of
Heretic.

Heretics should have the upperhand in single encounters early on, be
able to joust a small group of players after they unlock their final
spell, and end the round when they ascend. They're a progression
antagonist. They should retain their payoff as well as pose a danger as
they grow stronger.

But if more players feel like they are more reliably able to play the
antagonist in more varied and interesting ways, rather than the
antagonist largely existing as a measuring stick for 'robustness' due to
its elitist design philosophy, then the rework has been a success. There
should be something for
everyone in the antagonist, as is true for all of our antagonist roles.
2025-10-15 22:34:51 +00:00
MrMelbertandGitHub dd8af45715 Fix soup pots being unreachable (#93377)
## About The Pull Request

Caused by #93165 

I'm not sure but I think this was just missing a check for
`TRAIT_SKIP_BASIC_REACH_CHECK`, because soup pots are given that trait

## Changelog

🆑 Melbert
fix: You can interact with soup pots on stoves again
/🆑
2025-10-11 00:16:15 +02:00
MrMelbertandGitHub 0800c75540 Artifically spawned mobs have a vastly reduced penalty for death moodlet (#93348)
## About The Pull Request

Closes #93285

Mood event from the death of a mob spawned "artificially" is 75% weaker,
lasts 80% the duration, and don't compound

An artificial monkey's death will now result 
- -8 * 0.25 * 0.5 = floor(1) = 1 strength moodlet for the average crew
member
   - ...Lasting 30 seconds (unless refreshed)
- -8 * 0.25 * 1.5 = floor(3) = 3 strength moodlet for animal friends
   - ...Lasting 1.5 minutes (unless refreshed)
- -8 * 0.25 = floor(2) = 2 strength moodlet for compassionate crew
members
   - ...Lasting 1 minute (unless refreshed)

Artifical spawning includes
- Moneky Cube
- Xenobiology Console
- "Life" reaction
- Summoned rats
- Spawner grenades
- Cult ghosts

Lemmie know if I'm missing any obvious spawns 

## Why It's Good For The Game

While funny it was not my intention to have Xenobiology / Genetics /
Virology nuke your mood.

## Changelog

🆑 Melbert
balance: Death of artifical mobs (such as monkey cube monkeys) result in
a 75% weaker, 80% shorter moodlet that does not compound with more
deaths.
/🆑
2025-10-11 00:14:54 +02:00
dieandGitHub 0204ab8fdd Canreach refactor (#93165)
## About The Pull Request
ports https://github.com/DaedalusDock/daedalusdock/pull/1144
ports https://github.com/DaedalusDock/daedalusdock/pull/1147

full credit to @Kapu1178 for the juice

instead of `reacher.CanReach(target)` we now do
`target.CanBeReachedBy(reacher)`, this allows us to give special
behavior to atoms which we want to reach, which is exactly what I need
for a feature I'm working on.
## Why It's Good For The Game
allows us to be more flexible with reachability
## Changelog
🆑
refactor: refactored how reaching items works, report any oddities with
being unable to reach something you should be able to!
/🆑
2025-10-07 20:28:59 +02:00
xPokee 5e629dff04 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-10-03 07:05:54 -04:00
MrMelbertandGitHub 44acefa73f More things use trait huds over raw hud management (#93084) 2025-10-02 21:36:40 +02:00
3ea7b03369 Accentuate the positive with **Personality**: A (soft) mood rework (#92941)
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-10-02 19:00:13 +00:00
MrMelbertandGitHub 4684abceb0 Refactor reagent container + all subtypes to interaction chain 2 electric boogaloo (#92763) 2025-09-27 18:26:45 +00:00
necromanceranneandGitHub 097c2e52cd TRAIT_HARDLY_WOUNDED and TRAIT_EASILY_WOUNDED now decrease and increase the max considered damage for wounds by 50%, rather than adjusting the considered damage itself. (#92993) 2025-09-24 18:13:08 +02:00
xPokee b308ee9d78 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-24 10:13:01 -04:00
SmArtKarandGitHub 7601d66a96 Refactors immerse element to use alpha filters instead of static overlays (#93038)
## About The Pull Request
Immerse element now uses an alpha filter rather than a vis_contents
object, which allows them to be much more smooth and seamless. There's
no longer a visible contour on fully opaque liquids, nor a janky effect
when you move in a liquid. This also fixes the broken fluid animation,
so now it actually has a bit of a wave to it.

<img width="179" height="183" alt="dreamseeker_PDjP1zyMRl"
src="https://github.com/user-attachments/assets/7c1bbefe-0e97-456e-a303-c34e6a1a238a"
/>
<img width="177" height="180" alt="dreamseeker_hGjKOyBL8f"
src="https://github.com/user-attachments/assets/6c3bc33f-a22c-452a-beb0-9dd44b080a7c"
/>

<img width="152" height="162" alt="dreamseeker_Et3eRd3NF6"
src="https://github.com/user-attachments/assets/1478aaba-d345-44de-8baa-9d0da0bc9d1c"
/>
<img width="185" height="182" alt="dreamseeker_5Iok1lUni2"
src="https://github.com/user-attachments/assets/4ac5fea4-24a7-46c2-b475-4445a43493b4"
/>

The code is immensely cursed in some places, ideally this should not
have to use vis_contents whatsoever but BYOND seems to be intent on
causing memory leaks whenever you try to set mutable's render_target to
an interpolated string, so I'm using a VIS_HIDE object as a relay for
the filter for the time being.
I've ended up changing some mob pixel_y offsets to pixel_z (as they
should've been from the start) to account for this (the logic is being
that pixel_y is "physical" position on the turf, while pixel_z is how
high above the turf something is)

## Why It's Good For The Game

The effect is less jank and looks cool.

## Changelog
🆑
refactor: Refactors immerse element to use alpha filters instead of
static overlays. It should look much prettier now.
/🆑
2025-09-21 15:01:40 +02:00
nevimer 1ec637eb1f Merge branch 'pr/xPokee/4698' 2025-09-19 17:32:41 -04:00
Dani GloreandGitHub 0f849a23f2 Add: Isotropic Stability Quirk (Radiation Resistance) (#4424)
## About The Pull Request

This PR is a paid commission which adds a new quirk named "Isotropic
Stability", which provides radiation resistance.

Isotropic Stability prevents many of the side effects of radiation from
progressing normally, including mutations, collapsing, vomiting,
paralysis/weakness, and hair loss. The probability for burn splotches is
reduced down to 25%. Toxin damage is increased to 10, but only increases
from continued exposure to dangerous radiation, and the initial 10
points of toxin damage received from becoming irradiated is retained.

<img width="466" height="99" alt="image"
src="https://github.com/user-attachments/assets/72527b09-a41f-45de-a4f8-ed5bed386408"
/>

### Quirk Changes to Radiation Effects

Documented here is a list of the default effects for irradiation, and
the tweaks added by the quirk.
Side Effect|Default|With Quirk
-|-|-
Toxins|2 every 25sec| 10 every 25sec when near radiation.
Burns|11 every 30-60sec|-75% probability added
Hair Loss|7.5% probability every 2sec|None
Vomiting|0.5% probability every 2sec|None
Collapse|0.5% probability every 2sec|None
Mutation|0.5% probability every 2sec|None

### Granular Change List
- Created
`modular_zubbers/code/datums/quirks/positive_quirks/isotropic_stability/isotropic_stability.dm`
with `/datum/quirk/isotropic_stability`.
- Created
`modular_zubbers/code/datums/quirks/positive_quirks/isotropic_stability/irradiated_override.dm`
- Added variable `exposed_to_danger` which is `TRUE` if the mob was
recently exposed to irradiating levels of radiation.
- Added override `/datum/component/irradiated/InheritComponent()` which
sets `exposed_to_danger` to `TRUE` when the mob becomes irradiated more
than once.
- Added `TRAIT_RAD_RESISTANCE`
- Added define to
`code/__DEFINES/~~bubber_defines/traits/declarations.dm`
  - Added global to `code/_globalvars/traits/_traits.dm`
  - Added global to `code/_globalvars/traits/admin_tooling.dm`
- Edited `code/datums/components/irradiated.dm`
  - Added define `RADIATION_TOX_DAMAGE_FROM_QUIRK`
- Added conditional to `/datum/component/irradiated/Initialize()` to
return early if the mob has `TRAIT_IRRADIATED`. Prevents
double-whammies.
- Added conditional to `/datum/component/irradiated/Destroy()` to return
early if the parent mob lacks the component.
- Added conditional to `/datum/component/irradiated/process()` to call
`process_tox_damage()` and return early if the mob has
`TRAIT_RAD_RESISTANCE` and `exposed_to_danger` is `TRUE`. Bypasses
`species.handle_radiation()`, which prevents irradiation from causing
hair loss, vomiting, mutation, and collapsing.
- Added conditional to
`/datum/component/irradiated/proc/process_tox_damage()` to apply 10
toxin damage if the mob has `TRAIT_RAD_RESISTANCE`.
- Added conditional to
`/datum/component/irradiated/proc/give_burn_splotches()` for a 75%
chance to return early if the mob has `TRAIT_RAD_RESISTANCE`.

## Why It's Good For The Game

The quirk allows radiation to be slightly less inconvenient and adds
randomness to its lethality.

Users of the Isotropic Stability quirk have reduced side effects of
becoming irradiated, however active dangerous radiation sources will
still metabolize into toxin damage, and burns may occur more randomly.

The quirk provides a unique and impactful effect which reminds me of
"Ghouls" from Fallout games. Players could design species which are
similarly resistant to radiation, and perform slightly differently in
roles that expose them to dangerous levels of radiation.

Additionally, because of the reduction in side effects, radioactive
foods/drinks such as Nuka Cola are substantially less detrimental to
drink for users of this quirk. Toxin damage from being irradiated will
still increase, but only as long as such substances are in their blood.

## Proof Of Testing

<details>
<summary>Screenshots/Videos</summary>

<img width="466" height="99" alt="image"
src="https://github.com/user-attachments/assets/c7e66b54-5f03-4a3a-918b-9937628f55cc"
/>
<img width="172" height="163" alt="image"
src="https://github.com/user-attachments/assets/0082b9ab-e331-4227-b719-24e2a7649fe4"
/>
<img width="554" height="65" alt="Screenshot 2025-08-10 174648"
src="https://github.com/user-attachments/assets/e72a980e-f66e-4374-af7c-ebdb1aae0072"
/>
<img width="251" height="208" alt="Screenshot 2025-08-10 174424"
src="https://github.com/user-attachments/assets/e3453314-1417-4a4a-91b8-48be700b09e2"
/>

</details>

## Changelog

🆑
add: Added new Isotropic Stability quirk.
/🆑
2025-09-18 18:11:36 -04:00
xPokee 9b282a850e Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-17 11:45:44 -04:00
GhomandGitHub 8e741b7e57 fillets that you cut from fish will now inherit the name of the fish they were cut from (#92895) 2025-09-16 20:41:27 +02:00
GhomandGitHub 76b933fd4b Underwater basketweaving recipes are hidden unless you've the skillchip (#92979)
## About The Pull Request
The recipes are locked behind a particular skillchip anyway. We might as
well just use the framework for learnable recipes instead of relying on
a particular trait with no other use to it. This also prevents these
recipes from showing in the menu even if the requirements aren't met.

## Why It's Good For The Game
See above.

## Changelog

🆑
refactor: Underwater basketweaving refactored so it doesn't show in the
crafting menu unless you've the skillchip active.
/🆑
2025-09-15 16:41:01 -07:00
RusselNotSCPandGitHub 72580ce0bb Adds Various Classic Cocktails (#92955)
## About The Pull Request
TL;DR: "What do you mean we didn't have an old fashioned in the game
before?"

This adds a bunch of different classic cocktails to the game that I
always felt were rather odd holes in the lineup of drinks that
bartenders could make, as well as a few less classic ones 'cause why
not. Adds thirteen new alcoholic drinks and one non alcoholic one.
Mechanically relevant drinks include the Blue Blazer and Hot Toddy which
warm you up like coffee, Bitters and Soda which settles upset stomachs,
and the Suffering Bastard which, in it's role as a hangover cure, calms
nausea, prevents headaches, and very slowly heals brain damage, giving a
way to heal chip brain damage that doesn't require chemistry or surgery.

Full list here: https://hackmd.io/@0lHAWBNkSXixU4v6xxYS_w/SkjlmIbsgx

<img width="439" height="435" alt="drinks"
src="https://github.com/user-attachments/assets/406ca285-63af-49d4-b0e8-176edb251291"
/>


PS This is basically my first real project and also my first time
spriting for anything, so I would really appreciate any advice or
reccomendations.
## Why It's Good For The Game
More variety for service is always nice, but also many of these drinks
are extremely commonly ordered in real world bars. Adding them here
fills some weird gaps in the bar's line up, allows people to order more
drinks that they personally like, and decreases the amount of awkward
interactions in which people order a drink that they're familiar with
and then get confused when a partender somehow can't give them an
daiquiri despite having everything to make it.
## Changelog
🆑
add: You can now make 15 new classic (and some less classic) cocktails.
Includes old standards like the Old Fashioned, Daiquiri, Ramos Gin Fizz,
and more!
/🆑
2025-09-14 21:17:27 -04:00
JPandGitHub d32aab653a Fixes new Dragon borg text offset, and wide borgs offset [Bounty] (#4616)
## About The Pull Request

Dragon borgs, due to their sprite being bigger than any other sprite
included, used to have their text offset to the side and appear from
their waist, not only that, but they also missed the TRAIT_R_TALL trait,
that even shorter borgs like NiKa had.

<img width="404" height="231" alt="image"
src="https://github.com/user-attachments/assets/4eadd8be-5178-4465-8772-65e84cfa78f6"
/>

This PR adds a new trait exclusive to the Dragon that should fit any
other borgs that are made the same size (If there's more made of the
same size, considering how these sprites are the only exception so far.)
this trait also has a higher height, so the text appears properly above
their head, and contains the properties of the wide trait (Since it's
made for 64x64 sprites).

<img width="244" height="230" alt="image"
src="https://github.com/user-attachments/assets/0629befc-8bfa-4db5-b1b6-12e6d07f32f8"
/>

On the process of the PR, I also managed to centre the text of the borgs
that used TRAIT_R_WIDE, so when they speak their messages won't appear
offset to the side of where they're standing.

<img width="231" height="131" alt="image"
src="https://github.com/user-attachments/assets/ccfe2fda-9e8a-41bc-a357-84febdfa2010"
/>
<img width="161" height="139" alt="image"
src="https://github.com/user-attachments/assets/0d36ef41-7590-4b63-a655-ea2701406654"
/>
## Why It's Good For The Game

No more offset texts! Now the messages appear where they should.
## Proof Of Testing
This one's only mostly included to demonstrate that I did not break the
TRAIT_R_TALL text offsets, the rest of the proof is on the screenshots
in the description.
<details>
<summary>Screenshots/Videos</summary>
<img width="144" height="132" alt="image"
src="https://github.com/user-attachments/assets/db4fc09e-9c58-44f1-9d64-ab4c2790075d"
/>
<img width="423" height="90" alt="image"
src="https://github.com/user-attachments/assets/1e7bae8c-b08a-46ce-9009-b600cb942c77"
/>

</details>

## Changelog
🆑
fix: fixed wide borgs text offset
fix: fixed "Dragon" borg text offset
/🆑
2025-09-14 06:13:03 -04:00
MrMelbertandGitHub 7c0973ccf4 Refactors names and voices / potted plants no longer conceal voice (just appearance) / honorifics show on examine (#92781)
## About The Pull Request

Closes #92778
Closes #86829

<img width="347" height="39" alt="image"
src="https://github.com/user-attachments/assets/c50bd1ff-8c00-47a7-a31a-617fae2adc5b"
/>

1. Splits `TRAIT_UNKNOWN` into `TRAIT_UNKNOWN_APPEARANCE` and
`TRAIT_UNKNOWN_VOICE`

2. Renames some stuff like `getvoice` and `getspecialvoice`

3. Gets rid some crummy signals around `get_visible_name` and
`get_voice`

4. Heads now apply the disfigured trait when relevant (rather than
snowflake checking for damage amount)

5. Ling voice refactored into using special voice (it was only used by a
viro symptom anyways; I don't anticipate this overlap being problematic)

6. Mask voice changer refactored into a trait

## Why It's Good For The Game

Potted plants shouldn't have magical voice concealing powers -
especially not over radio, but not over in person either. It's a damn
plant

So I addressed this by refactoring our face and voice system. Overall
things should be a lot cleaner and easier to use.

## Changelog

🆑 Melbert
refactor: Refactored a lot of code relating to human face and voice, ie,
what shows up in examine and in say. Report anything odd when examining
people, with ID cards, when talking over radio, or when disguised
refcator: Refactored how you get disfigured when your head's super
damaged
refactor: Refactored ling mimic voice and traitor voice changer
del: Potted plants no longer hide voice. They still hide appearance,
though
qol: Honorifics now show in examine / in world, rather than only when
speaking.
/🆑
2025-09-12 17:11:06 +02:00
xPokee 939f2fc9ac Merge branch 'master' of https://github.com/tgstation/tgstation into xpokee-test-upstream-sync 2025-09-10 14:12:16 -04:00
Xander3359andGitHub c82a39217a Converts some afterattack to interaction (#92762)
<!-- 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
Converts the following into item interaction:
- porta_turret
- porta_turret_cover
- plating/foam (Foam plating)
- plate
~cup (and mortar subtype)~
- Recharger
<!-- 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
Conversion from afterattack to interaction
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

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

🆑
refactor: change some attack procs to use item interaction
/🆑

<!-- 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. -->
2025-09-07 09:30:50 +02:00
nevimer b348b617a3 Merge branch 'master' of https://github.com/tgstation/tgstation into pupstream-2025-09-07
# Conflicts:
#	README.md
#	code/__DEFINES/admin.dm
#	code/__DEFINES/melee.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/economy.dm
#	code/datums/components/crafting/crafting.dm
#	code/datums/elements/crusher_loot.dm
#	code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
#	code/modules/clothing/suits/_suits.dm
#	code/modules/escape_menu/leave_body.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/mining/equipment/mineral_scanner.dm
#	code/modules/mob/living/living.dm
#	code/modules/plumbing/plumbers/pill_press.dm
#	tgui/packages/tgui/interfaces/Vending.tsx
2025-09-07 00:37:52 -04:00
f8511ea227 You can install B.O.R.I.S. in circuits with MMI components (+other MMI component changes) (#92002)
## About The Pull Request

This PR adds the ability to install a B.O.R.I.S. in a circuit that
contains an MMI component. These circuits can then be remotely connected
to by an AI by clicking on them or anything they are inside of. To
indicate that a circuit allows remote AI connection, an indicator is
given to the circuit and anything containing it.

Additionally:
- Refactors the MMI component to use `item_interaction`, since it was
pertinent.
- You cannot insert an MMI/B.O.R.I.S. into a locked circuit.
- You can no longer hotswap MMIs/B.O.R.I.S.es - you must manually eject
the inserted one.

Let me know what changelog labels I should use for the hotswap removal
and the prevention of insertion into locked circuits.

## Why It's Good For The Game

If you can put an MMI or posibrain in a circuit, why not allow an AI to
use it using a B.O.R.I.S.?

## Changelog

🆑
add: B.O.R.I.S.es can be installed inside of integrated circuits with
MMI components, allowing an AI to remotely interface with them the same
way an MMI or posibrain could.
refactor: The MMI component now uses item interaction behavior for
inserting MMIs/B.O.R.I.S.es.
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2025-09-03 23:25:50 -07:00
nevimer c9956892db Merge remote-tracking branch 'origin/master' into pupstream-08-19-keepsha
# Conflicts:
#	_maps/map_files/BoxStation/BoxStation.dmm
#	code/_globalvars/lists/flavor_misc.dm
2025-09-03 21:03:51 -04:00
mcbalaamandGitHub d40bb5ddd2 H.A.U.L. gauntlets and package wrapper QOL (#92427)
## About The Pull Request

- Wrapping a crate with package wrapping while pulling it will now
automatically make you grab it
- You can now open the crate while dragging it with the H.A.U.L.
gauntlets if you're the one who's pulling it. Also applies to other
items (including MOD modules) that have the component


https://github.com/user-attachments/assets/7b4743c8-855d-4274-89ca-b0507f6d3e0e

## Why It's Good For The Game

QOL for cargo technicians - having to constantly grab and let go of
crates is very annoying
2025-09-02 21:32:47 -05:00
Ben10OmintrixandGitHub db9e3cf9dd red raptors are now able to attack while ridden (#92455)
## About The Pull Request
red raptors will now be able to retaliate against mobs adjacent to it
while ridden.

## Why It's Good For The Game
red raptors dont have much use compared to its colleagues. this gives it
a bit of a unique purpose and makes it a viable option to have out on
the field

## Changelog
🆑
balance: red raptors are now able to attack while ridden
/🆑
2025-08-26 10:33:46 +10:00
1246cac695 Muridae Traits (Or in other words, that mouse pun PR that you hate) (#4410)
## About The Pull Request

This adds the neutral quirk "Muridae Traits" which is a tongue based
speech quirk. In addition to changing the mob's say_mod, this also has
speech_args to encourage our mice to embrace their punny nature. When
giving an item to another mob, there will also be another pun as well as
a mood_event. Additionally, it also gives the mob_holder FACTION_RATS,
which makes mice in maintenance not afraid of the mob.

Finally, this makes a minor change to the rat infusion by commenting out
eye_color_left and eye_color_right, so that the mob sprite is
unaffected.

## Why It's Good For The Game
<img width="343" height="367" alt="image"
src="https://github.com/user-attachments/assets/a766e636-01c9-45a8-aec0-97872755507a"
/>
<br>
<img width="1010" height="722" alt="Untitled"
src="https://github.com/user-attachments/assets/f83a9316-04ed-41dd-8c01-ad3369709110"
/>


## Proof Of Testing

<img width="430" height="168" alt="image"
src="https://github.com/user-attachments/assets/cf2b8b48-0eeb-4975-bf03-8ac43fbb572c"
/>
<br>
[Food Showcase](https://www.youtube.com/watch?v=RNQZ-Rj5JnQ)

## Changelog

🆑
add: Added neutral quirk: Muridae Traits
/🆑

---------

Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2025-08-21 19:01:28 -07:00
MrMelbertandnevimer 5f35bdee00 [MDB Ignore] Re-add hop console second ID slot (#92157)
## About The Pull Request

<img width="491" height="301" alt="image"
src="https://github.com/user-attachments/assets/a3b5b19f-edf5-4de9-9201-9cbfab9e8827"
/>

Mod computers with the access changing software installed have a
secondary ID slot once again. This ID slot doesn't contribute to access.
You can insert IDs into the slot with right click and remove them with
alt-right click.

Also removes the "New IDs and you" memo paper.

Also tweaks PDA on_deconstruct so contents are dropped on when they're
deconstructed with assembly.

Fixes #92151

## Why It's Good For The Game

Changing IDs is very unnecessarily clunky with the one slot. Insert hop
id, log in, remove hop id, insert crew id, change access, remove crew
id, log out.

We had it right back when we had two slots. Insert hop ID, insert crew
id, log in. It just works.

This also allows for mobile HoPs to change access without necessitating
removing their ID from their PDA.

Other changes:

The "New IDs and you" memo is very old. They haven't been new for 4
years now. I don't think anyone reads it and they served their purpose.

I found it odd that, if your PDA was melted or blown up, it would delete
your ID. If this is a hold-over from old PDA behavior feel free to let
me know but otherwise it seems sensible that it'd spit out the contents
as you would expect.

## Changelog

🆑 Melbert
qol: The access changing software (the HoP console) now has ID two slots
again (one for the HoP's id and one for the ID being changed). You can
insert IDs in the secondary slot via the UI or right click, and remove
them via the UI or alt-right click.
qol: If your PDA is destroyed via acid or bombs, your ID (and similar
contents such as disks) are spit out instead of being deleted
del: Deletes the "New IDs and you" memo in the HoP's office. They
haven't been new for 4 years.
fix: Engineering sub-tab in the access changing software no longer looks
messed up
fix: Fix reversed alt-click logic for mod pcs
/🆑
# Conflicts:
#	code/modules/modular_computers/computers/item/computer.dm
2025-08-19 22:32:57 -04:00
MrMelbertandGitHub 5df4de3f71 [MDB Ignore] Re-add hop console second ID slot (#92157)
## About The Pull Request

<img width="491" height="301" alt="image"
src="https://github.com/user-attachments/assets/a3b5b19f-edf5-4de9-9201-9cbfab9e8827"
/>

Mod computers with the access changing software installed have a
secondary ID slot once again. This ID slot doesn't contribute to access.
You can insert IDs into the slot with right click and remove them with
alt-right click.

Also removes the "New IDs and you" memo paper. 

Also tweaks PDA on_deconstruct so contents are dropped on when they're
deconstructed with assembly.

Fixes #92151

## Why It's Good For The Game

Changing IDs is very unnecessarily clunky with the one slot. Insert hop
id, log in, remove hop id, insert crew id, change access, remove crew
id, log out.

We had it right back when we had two slots. Insert hop ID, insert crew
id, log in. It just works.

This also allows for mobile HoPs to change access without necessitating
removing their ID from their PDA.

Other changes: 

The "New IDs and you" memo is very old. They haven't been new for 4
years now. I don't think anyone reads it and they served their purpose.

I found it odd that, if your PDA was melted or blown up, it would delete
your ID. If this is a hold-over from old PDA behavior feel free to let
me know but otherwise it seems sensible that it'd spit out the contents
as you would expect.

## Changelog

🆑 Melbert
qol: The access changing software (the HoP console) now has ID two slots
again (one for the HoP's id and one for the ID being changed). You can
insert IDs in the secondary slot via the UI or right click, and remove
them via the UI or alt-right click.
qol: If your PDA is destroyed via acid or bombs, your ID (and similar
contents such as disks) are spit out instead of being deleted
del: Deletes the "New IDs and you" memo in the HoP's office. They
haven't been new for 4 years.
fix: Engineering sub-tab in the access changing software no longer looks
messed up
fix: Fix reversed alt-click logic for mod pcs
/🆑
2025-08-11 19:08:18 +00:00
Ghomandnevimer a058207247 replaces the health variable for fishes with integrity (#92192)
## About The Pull Request
Because fish is an item, it inherits the use of integrity from objects,
however it also has its own health variable. For consistency, ~~damaging
its integrity should also lower its health and healing it should also
recover its integrity. Fish has a max integrity that's double its
health.
I've also renamed `adjust_health` to `set_health` since it doesn't
adjust the health by the provided value but sets it to said value.~~
I've scrapped the latter to instead use integrity.

## Why It's Good For The Game
A small bit of consistency. If you shoot a fish with a laser gun,
wouldn't it die?

(cherry picked from commit 940d73aeae)
2025-08-08 15:29:14 -04:00
GhomandGitHub 940d73aeae replaces the health variable for fishes with integrity (#92192)
## About The Pull Request
Because fish is an item, it inherits the use of integrity from objects,
however it also has its own health variable. For consistency, ~~damaging
its integrity should also lower its health and healing it should also
recover its integrity. Fish has a max integrity that's double its
health.
I've also renamed `adjust_health` to `set_health` since it doesn't
adjust the health by the provided value but sets it to said value.~~
I've scrapped the latter to instead use integrity.

## Why It's Good For The Game
A small bit of consistency. If you shoot a fish with a laser gun,
wouldn't it die?
2025-08-04 22:30:53 -05:00
SmArtKarandRoxy ad3493ea32 Fixes fire arrow ritual not appearing, and certain nullrods not being considered valid for dispelling/conversion purposes (#92375)
We have multiple "nullrods" which aren't actually ``/obj/item/nullrod``
subtypes, which causes runtimes when selecting them, which prevented the
signal from being sent out and the global variable from being assigned.
Additionally, we have multiple interactions which directly typecheck for
the nullrod item, which blocked multiple interactions (dispelling
heretic runes, rends, haunted items, psyker revolver and cult blade
conversion), which I fixed by instead converting those interactions to
check for ``TRAIT_NULLROD_ITEM`` which is assigned to all nullrods and
non-nullrod weapons spawned from the nullrod.
- Closes #77373

🆑
fix: Fixed fire arrow ritual not being accessible
fix: Fixed certain nullrod types not being usable for certain holy and
unholy interactions
/🆑
2025-08-04 20:53:37 -04:00
SmArtKarandGitHub 8bd66b1d21 Fixes fire arrow ritual not appearing, and certain nullrods not being considered valid for dispelling/conversion purposes (#92375)
## About The Pull Request

We have multiple "nullrods" which aren't actually ``/obj/item/nullrod``
subtypes, which causes runtimes when selecting them, which prevented the
signal from being sent out and the global variable from being assigned.
Additionally, we have multiple interactions which directly typecheck for
the nullrod item, which blocked multiple interactions (dispelling
heretic runes, rends, haunted items, psyker revolver and cult blade
conversion), which I fixed by instead converting those interactions to
check for ``TRAIT_NULLROD_ITEM`` which is assigned to all nullrods and
non-nullrod weapons spawned from the nullrod.
- Closes #77373

## Changelog
🆑
fix: Fixed fire arrow ritual not being accessible
fix: Fixed certain nullrod types not being usable for certain holy and
unholy interactions
/🆑
2025-08-01 02:52:51 +02:00
SmArtKarandRoxy 077262c0f9 Changes to crusher trophies and mining AOE, adds a new raptor-sourced trophy (#92241)
## About The Pull Request

- Rebuke effect (from god's eye and lobstrocity claw trophy) now works
on basicmobs, increasing the cooldown on their ranged attacks just like
it does for simplemobs.
- Bileworm spewlet trophy shots no longer hit your allied mobs, as
previously this would cause you to constantly hit your own
raptor/minebots/NODE drones, making it actively detrimental in some
situations. Its shots now deals brute damage instead of burn, as
otherwise its damage was reduced by 70% due to innate projectile
resistance of lavaland mobs, making it deal measely 6 damage every 10
seconds.
- MOD sphere module bombs now properly aggro lavaland mobs, as
previously they only worked on simplemobs (also fixed a direct
assignment to the blackboard in legionnaire spine code).
- They also no longer deal damage to minebots and NODE drones.
- Afterimages from the ice demon and their trophy can now be passed
through, although hostile AI would attempt to avoid doing so. This way
the trophy should no longer be an active detriment to players, and
demons themselves should be less jank to fight.

And if you're a heartless enough bastard, you can kill and butcher your
raptor to get a new raptor feather crusher trophy, which allows your
destabilizer shots to phase through your allied mobs similarly to
passthrough mods for PKA.

<img width="174" height="125" alt="Aseprite_3Olcd7oyVJ"
src="https://github.com/user-attachments/assets/99d7eebb-e36d-428b-aa48-f1261a173ca1"
/>

## Why It's Good For The Game

These changes should make vent defense more bearable, as right now its
very easy to accidentally damage and kill your own drone due to them
being hit by all AOEs in miner arsenal.
- Rebuke - should probably work on basicmobs as only remaining
simplemobs on lavaland are megafauna
- Bileworm spewlet - its a joke of a trophy at 6 damage as it has a 10
second cooldown, and it hitting your allies made vent defense much
harder than it should've been
- Sphere changes - should make bombs not kill your NODE/mining drones,
aggro helps prevent cheese.
- Afterimages - the trophy can end up bodyblocking you, this change
should make it less of a pain in the ass to use the trophy and to fight
the demons themselves.
- Raptor feather - useful for vent defense when you're using minebots or
have dismounted your raptor, right now its a pain for reasons mentioned
above

## Changelog
🆑
add: Added a raptor feather crusher trophy which makes your crusher
shots go through your allied mobs.
balance: Rebuke effect from lobster claw trophy and the eye of god now
applies to basicmob attacks
balance: Bileworm spewlet's damage is no longer reduced by 70% when
hitting lavaland fauna, and it no longer can hit allied mobs
balance: Sphere MODule bombs no longer hit NODE drones and minebots
balance: Ice demon/ice demon cube afterimages can now be walked through
by players
fix: Sphere MODule bombs now aggro basicmobs hit by their explosions
/🆑
2025-07-30 17:37:42 -04:00
SmArtKarandGitHub 5a263b77a3 Changes to crusher trophies and mining AOE, adds a new raptor-sourced trophy (#92241)
## About The Pull Request

- Rebuke effect (from god's eye and lobstrocity claw trophy) now works
on basicmobs, increasing the cooldown on their ranged attacks just like
it does for simplemobs.
- Bileworm spewlet trophy shots no longer hit your allied mobs, as
previously this would cause you to constantly hit your own
raptor/minebots/NODE drones, making it actively detrimental in some
situations. Its shots now deals brute damage instead of burn, as
otherwise its damage was reduced by 70% due to innate projectile
resistance of lavaland mobs, making it deal measely 6 damage every 10
seconds.
- MOD sphere module bombs now properly aggro lavaland mobs, as
previously they only worked on simplemobs (also fixed a direct
assignment to the blackboard in legionnaire spine code).
- They also no longer deal damage to minebots and NODE drones.
- Afterimages from the ice demon and their trophy can now be passed
through, although hostile AI would attempt to avoid doing so. This way
the trophy should no longer be an active detriment to players, and
demons themselves should be less jank to fight.

And if you're a heartless enough bastard, you can kill and butcher your
raptor to get a new raptor feather crusher trophy, which allows your
destabilizer shots to phase through your allied mobs similarly to
passthrough mods for PKA.

<img width="174" height="125" alt="Aseprite_3Olcd7oyVJ"
src="https://github.com/user-attachments/assets/99d7eebb-e36d-428b-aa48-f1261a173ca1"
/>

## Why It's Good For The Game

These changes should make vent defense more bearable, as right now its
very easy to accidentally damage and kill your own drone due to them
being hit by all AOEs in miner arsenal.
- Rebuke - should probably work on basicmobs as only remaining
simplemobs on lavaland are megafauna
- Bileworm spewlet - its a joke of a trophy at 6 damage as it has a 10
second cooldown, and it hitting your allies made vent defense much
harder than it should've been
- Sphere changes - should make bombs not kill your NODE/mining drones,
aggro helps prevent cheese.
- Afterimages - the trophy can end up bodyblocking you, this change
should make it less of a pain in the ass to use the trophy and to fight
the demons themselves.
- Raptor feather - useful for vent defense when you're using minebots or
have dismounted your raptor, right now its a pain for reasons mentioned
above

## Changelog
🆑
add: Added a raptor feather crusher trophy which makes your crusher
shots go through your allied mobs.
balance: Rebuke effect from lobster claw trophy and the eye of god now
applies to basicmob attacks
balance: Bileworm spewlet's damage is no longer reduced by 70% when
hitting lavaland fauna, and it no longer can hit allied mobs
balance: Sphere MODule bombs no longer hit NODE drones and minebots
balance: Ice demon/ice demon cube afterimages can now be walked through
by players
fix: Sphere MODule bombs now aggro basicmobs hit by their explosions
/🆑
2025-07-28 17:24:19 +10:00
Time-GreenandRoxy 1d980ae50d Three Recovered Crew QoL's (#91983)
Three quality of life additions for recovered crew:
1. Jumpsuits are spawned in the crate, and no longer in the lockbox
2. Formaldehyde will no longer metabolize during the "soul pending" fase
so you don't have to constantly re-up them with it
3. Gives them 200cr starting money instead of 100. Also get a headset in
their lockbox now

## Why It's Good For The Game
1. This lets the reviver know what job they can expect to have, and make
more informed choices about which organs, implants and surgeries are
most beneficial to them. They can still change their mind, but it's
something I've always missed having and can help to tailor the
experience a bit
2. This is just annoying. Trying to revive them and not realizing the
formaldehyde is gone, and then realizing absolutely everything decayed,
is super fucking ass.
3. They get barely any starting gear, so some more money to help them
buy gear is really needed. The headset is just there to make it easier
to communicate with the department head or the HoP, it just gets you
going faster.
2025-07-19 20:29:26 -04:00
Time-GreenandGitHub fe17cd1b96 Three Recovered Crew QoL's (#91983)
Three quality of life additions for recovered crew:
1. Jumpsuits are spawned in the crate, and no longer in the lockbox
2. Formaldehyde will no longer metabolize during the "soul pending" fase
so you don't have to constantly re-up them with it
3. Gives them 200cr starting money instead of 100. Also get a headset in
their lockbox now

## Why It's Good For The Game
1. This lets the reviver know what job they can expect to have, and make
more informed choices about which organs, implants and surgeries are
most beneficial to them. They can still change their mind, but it's
something I've always missed having and can help to tailor the
experience a bit
2. This is just annoying. Trying to revive them and not realizing the
formaldehyde is gone, and then realizing absolutely everything decayed,
is super fucking ass.
3. They get barely any starting gear, so some more money to help them
buy gear is really needed. The headset is just there to make it easier
to communicate with the department head or the HoP, it just gets you
going faster.
2025-07-15 14:56:34 +00:00
43aa3d40d8 Platforms (#91559)
![image](https://github.com/user-attachments/assets/32a5f39a-59b8-46c3-8418-1a089379d6a4)

This PR adds "platforms" to the game, a port of the window frames from
the Wallening branch but with no windows attached.
You can craft them with two stacks of many kinds of materials.
Functionally they're basically just tables for standing on and act as a
decorative tool allowing you to make raised areas like stages.
Largely as far as I can tell I _think_ these were sprited by @Krysonism
although it's a little hard to check if there's any that were done by
someone else.

You can walk directly from tables to platforms (and crates) and vice
versa. You can also tableslam people onto them.

This PR also comes with "steps" (AKA small stairs)
You can use steps to walk onto platforms (or tables, or crates) without
needing to do the climbing action first.

![dreamseeker_umhbakZ4lE](https://github.com/user-attachments/assets/675e815b-8901-49d2-81b1-64ef7a56cd31)
If you try to run through them the wrong way you will trip.
Right now they only come in "Iron" flavour. Maybe one day someone will
sprite some wooden ones, or other varieties.

Basically the intention is to use them to build a little stage or altar
or maze or something. They don't have a lot of non-decorative purpose.

Don't be alarmed by the touched files list. It's mostly sprites and
there's barely even any code in this PR. It's almost entirely elements
and boilerplate.

Mappers keep asking me to add these.
Salvages some sprites from the Wallening project which we can still use.
You can make a really really big multitile pizza.

🆑 Jacquerel, Smartkar, sprites by Kryson
add: Added "platforms", or "half-walls" which are a kind of decorative
block similar to tables which you can walk around on.
add: You can walk freely between tables, platforms, and crates that
happen to be near tables or platforms.
add: You can construct iron steps to traverse tables and platforms
without needing to climb on, but try not to trip over them.
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2025-07-11 18:07:40 -04:00
5573612a43 Adds .38 Flare, which is a lethal laser bullet casing available for printing with Advanced Beam Weaponry. Adjust ammo material values. (#91726)
## About The Pull Request


![image](https://github.com/user-attachments/assets/1332d28c-8d5f-41b7-a614-b74027210145)

Adds the .38 Flare. It does 20 damage. This round highlights the target
for 2 minutes, and projectiles hitting the target always hit the limb
that the shooter was aiming at. Your shot has effectively perfect limb
accuracy, no matter how far the bullet needs to travel. This also
affects other projectiles hitting the target that aren't the .38 Flare.

To indicate whether or not a round in a magazine is either lead or
laser, I've borrowed the implementation of ammo overlays from the C-20r
toy magazines Now each bullet in the speedloaders for .38 can be a
distinct type visibly. Might be interesting if anyone wants to add
additional unique appearances for some of the other .38 rounds.

Reduces the overall cost of a lot of the ammunition in the sec and
autolathe, such as loose bullets. Also reduces the material quantity
within bullet casings.

## Why It's Good For The Game

> .38 Flare

By popular demand, I've come up with a new idea. And that idea...is an
anti-bullet deviation tool. Most players are probably not conscious of
bullet deviation. But if you're familiar with the mechanic, it's why
sometimes your shots may hit into an arm or a leg even though you were
aiming at the head.

The way this works is that over the course of a bullets flight, it
increases in inaccuracy and the pobability of drifting into a limb. From
my last estimate, shooting somewhere around 5 tiles away will usually
result in bullet drift.

While affected by the flare shot, that does not happen. You shoot at the
head, you hit the head.

To put it into perspective; you could consider bullet deviation a form
of damage loss (its a bit more complicated than this and there are
instances where it is positive), and this projectile eliminates that
problem for everyone shooting the target.

> Ammo cost

Some of these were pretty excessive for the cost, and a notable example
of this include the .357 loose casings, .310 Surplus loose casings, and
most shotgun shells. These should go down to roughly below 3/5th of a
sheet of metal when printed from a fully upgraded lathe.

Meanwhile, a single bullet casing was like a sheet of metal each, which
didn't seem right to me. So they're now by default one fifth of a sheet
of metal on recycle.

## Changelog
🆑
add: .38 Flare, a laser bullet! Available in both .38 speedloader and
BR-38 magazine once Advanced Beam Weaponry is researched.
add: .38 Flare highlights the target in an outline and makes sure your
bullets never accidentally hit any limb except the one you are aiming
at. Never accidentally hit someone in the arm when you were going for a
headshot.
balance: Reduces the printing costs of several ammunition types from the
autolathe and security lathe. Reduces the overall material contents of
said printed ammo/magazines. If you find a material dupe, let a coder
know.
/🆑

---------

Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2025-07-11 18:04:51 -04:00
necromanceranneandRoxy 84b8636d69 Adds the ability for felinids to bite on purpose. This is an action button toggle. (#91955) 2025-07-11 17:59:02 -04:00
Y0SH1M4S73RandRoxy 4ab083dcd0 Adds the self-surgery skillchip as a fairly rare black market item (#91606)
## About The Pull Request

This PR adds a skillchip that allows the user to perform normal
surgeries on themselves, albeit with a 1.5x speed penalty and a flat 33%
increase to the probability of screwing up each step. You can find this
skillchip occasionally on the black market. It is also contraband, and
can be detected by n-spect scanners.

## Why It's Good For The Game

Provides a risky alternate means of obtaining surgical intervention,
such as if you either can't trust anybody else to do surgery on you or
can't be trusted to have certain surgeries done on you.

## Changelog

🆑
add: The Centcom Department of Import Control has become aware of the
use of highly-illegal and medically dubious self-surgery skillchips
aboard company stations. We suspect they are being sold to the station
through the black market.
/🆑
2025-07-11 17:37:20 -04:00
7146a6bb10 Platforms (#91559)
## About The Pull Request


![image](https://github.com/user-attachments/assets/32a5f39a-59b8-46c3-8418-1a089379d6a4)

This PR adds "platforms" to the game, a port of the window frames from
the Wallening branch but with no windows attached.
You can craft them with two stacks of many kinds of materials.
Functionally they're basically just tables for standing on and act as a
decorative tool allowing you to make raised areas like stages.
Largely as far as I can tell I _think_ these were sprited by @Krysonism
although it's a little hard to check if there's any that were done by
someone else.

You can walk directly from tables to platforms (and crates) and vice
versa. You can also tableslam people onto them.

This PR also comes with "steps" (AKA small stairs)
You can use steps to walk onto platforms (or tables, or crates) without
needing to do the climbing action first.

![dreamseeker_umhbakZ4lE](https://github.com/user-attachments/assets/675e815b-8901-49d2-81b1-64ef7a56cd31)
If you try to run through them the wrong way you will trip.
Right now they only come in "Iron" flavour. Maybe one day someone will
sprite some wooden ones, or other varieties.

Basically the intention is to use them to build a little stage or altar
or maze or something. They don't have a lot of non-decorative purpose.

Don't be alarmed by the touched files list. It's mostly sprites and
there's barely even any code in this PR. It's almost entirely elements
and boilerplate.

## Why It's Good For The Game

Mappers keep asking me to add these.
Salvages some sprites from the Wallening project which we can still use.
You can make a really really big multitile pizza.

## Changelog

🆑 Jacquerel, Smartkar, sprites by Kryson
add: Added "platforms", or "half-walls" which are a kind of decorative
block similar to tables which you can walk around on.
add: You can walk freely between tables, platforms, and crates that
happen to be near tables or platforms.
add: You can construct iron steps to traverse tables and platforms
without needing to climb on, but try not to trip over them.
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2025-07-11 07:21:02 +00:00
8f15d0ea2c Adds .38 Flare, which is a lethal laser bullet casing available for printing with Advanced Beam Weaponry. Adjust ammo material values. (#91726)
## About The Pull Request


![image](https://github.com/user-attachments/assets/1332d28c-8d5f-41b7-a614-b74027210145)

Adds the .38 Flare. It does 20 damage. This round highlights the target
for 2 minutes, and projectiles hitting the target always hit the limb
that the shooter was aiming at. Your shot has effectively perfect limb
accuracy, no matter how far the bullet needs to travel. This also
affects other projectiles hitting the target that aren't the .38 Flare.

To indicate whether or not a round in a magazine is either lead or
laser, I've borrowed the implementation of ammo overlays from the C-20r
toy magazines Now each bullet in the speedloaders for .38 can be a
distinct type visibly. Might be interesting if anyone wants to add
additional unique appearances for some of the other .38 rounds.

Reduces the overall cost of a lot of the ammunition in the sec and
autolathe, such as loose bullets. Also reduces the material quantity
within bullet casings.

## Why It's Good For The Game

> .38 Flare

By popular demand, I've come up with a new idea. And that idea...is an
anti-bullet deviation tool. Most players are probably not conscious of
bullet deviation. But if you're familiar with the mechanic, it's why
sometimes your shots may hit into an arm or a leg even though you were
aiming at the head.

The way this works is that over the course of a bullets flight, it
increases in inaccuracy and the pobability of drifting into a limb. From
my last estimate, shooting somewhere around 5 tiles away will usually
result in bullet drift.

While affected by the flare shot, that does not happen. You shoot at the
head, you hit the head.

To put it into perspective; you could consider bullet deviation a form
of damage loss (its a bit more complicated than this and there are
instances where it is positive), and this projectile eliminates that
problem for everyone shooting the target.

> Ammo cost

Some of these were pretty excessive for the cost, and a notable example
of this include the .357 loose casings, .310 Surplus loose casings, and
most shotgun shells. These should go down to roughly below 3/5th of a
sheet of metal when printed from a fully upgraded lathe.

Meanwhile, a single bullet casing was like a sheet of metal each, which
didn't seem right to me. So they're now by default one fifth of a sheet
of metal on recycle.

## Changelog
🆑
add: .38 Flare, a laser bullet! Available in both .38 speedloader and
BR-38 magazine once Advanced Beam Weaponry is researched.
add: .38 Flare highlights the target in an outline and makes sure your
bullets never accidentally hit any limb except the one you are aiming
at. Never accidentally hit someone in the arm when you were going for a
headshot.
balance: Reduces the printing costs of several ammunition types from the
autolathe and security lathe. Reduces the overall material contents of
said printed ammo/magazines. If you find a material dupe, let a coder
know.
/🆑

---------

Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2025-07-09 17:11:23 +00:00
necromanceranneandGitHub 6d0910c396 Adds the ability for felinids to bite on purpose. This is an action button toggle. (#91955) 2025-07-07 14:51:20 -04:00