## About The Pull Request
This adds a simple ritual that let's a heretic forsake their ascension
for immediate power - 5 knowledge points.
## Why It's Good For The Game
Heretic suffers from lack of gimmicks and it's not really because of
lack of tools that could support them, but rather due to heretics going
straight for ascension (who can blame them), this ritual allows a
heretic to restrict themself from ascending and in exchange gain a
sizeable amount of research points. Not only that, but this will also
help with people learning heretic, as it allows a new player to jump
immediately into heretic without the struggle of early game (the
struggle of early-game justifies late-game power, by rejecting late-game
power heretic gets a jump-start with points.)
## Changelog
🆑
add: Adds Feast of Owls ritual to heretic which allows one to forsake
their ascension in exchange for immediate power.
/🆑
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
## About The Pull Request
Adrenals now show the actual chemical cost it inquires and its correct
duration in its description in the action button and cellular emporium.
Also yeah I did kinda forgot to atomize this while working on the ling
balance changes, oopsies!
## Why It's Good For The Game
Misiformation in the description = new player bait = bad
## Changelog
🆑
fix: Repurposed Glands (Adrenals) now show their correct duration and
chemical cost in its description.
/🆑
## About The Pull Request
Fixes lunatics getting no obectives by adding the objective before the
info panel is generated. The ascended moon heretic now gets a Lunatic
Master antag datum so lunatics should no have an easier time seeing
their master at a glance. Lunatics should now also get their hud
properly
fixes https://github.com/tgstation/tgstation/issues/83959 and
https://github.com/tgstation/tgstation/issues/82835
## Why It's Good For The Game
All of these issues made moon ascension very buggy and now it should
play better.
## Changelog
🆑
fix: lunatics now get their hud properly
fix: lunatics now get objectives
qol: ascended moon heretics are now labelled as ringleaders and are
easier for lunatics to spot
/🆑
## About The Pull Request
Recently we allowed items held in your hands to catch fire if you catch
fire.
This makes sense but the code had a few oversights, then we reverted it.
This PR reintroduces the feature, but with a few refinements.
The basic feature is simple: If you are on fire then items you are
holding will also catch fire, in the same vein as items you are wearing
on your head or hands.
There are also a few caveats we forgot about the first time we added
this:
- If your gloves cannot catch fire, your held items will not catch fire
(because your hands aren't on fire).
- If you are extinguished, your held items will also be extinguished.
- Stopping, Dropping, and Rolling on top of any items will also
extinguish those items.
As part of this change, after an argument about whether or not this is
an oversight in coding-general, I've made the proc `get_equipped_items`
take a bitflag instead of a series of booleans as an argument and added
a new one for "include held items", so that we need no longer argue
about whether holding something counts as "equipping" it (in all other
parts of the game than this proc, it does). This is what gives the PR
most of its code footprint, don't be scared.
## Why It's Good For The Game
Items you are holding in your hands _should_ catch fire if everything
else on your person is on fire, and taking an item off of your body to
put it in your hands shouldn't protect it from fire, because those
things don't make intuitive sense.
If we want an item to be able to catch fire when worn, then it should do
so.
This might expose some issues where we were improperly setting the
flammability flags on items, but any weapon which will burn in your
hands now would also have burned if you were wearing it on your belt or
back, so making those issues more visible should be a bonus (we'll also
stop them from burning on your back or belt).
If you see someone holding a piece of paper that you really don't want
them to read you can now set them on fire to stop them from reading it,
whereas previously they would deftly hold the very flammable object out
of reach of their flaming body.
## Changelog
🆑
balance: Items held in your hands can catch fire.
balance: Items you are holding won't catch fire if your hands cannot
catch fire.
balance: When you stop being on fire so will items you are holding.
balance: If you roll around on your burning items they will stop being
on fire.
/🆑
## About The Pull Request
Being on fire will make the ling unable to use any ability that isn't
for getting out of danger or reviving themselves (Adrenals, Fakedeath,
Strained Muscles, Last Resort, Shriek, Defib Grasp and Biodegrade). And
no, there is no armblade nerf, it is fine as it is.
## Why It's Good For The Game
Changelings are really busted, as they are effectively immortal until
completely removed (which means finding a cremator/gibber/shuttle, and
by the time you get there most of the time they are already ready to
revive) which really limits counterplay. Goof and Jac's approach to
nerfing lings was a bit too much since it nerfed the armblade massively
as well, but I found that their approach about lings being weak to fire
was really good counterplay for lings (besides BZ (who even uses it?)).
We shouldnt just leave the guys that are almost immortal and spawn
multiple in a round with one single counterplay that relies on a
knowledge check.
## Changelog
🆑
balance: Certain changeling abilities won't work while on fire.
/🆑
## About The Pull Request

Adds Misha the bear to icebox HoS office, a snow bear with the same
health stats as Sgt. Araneus.
## Why It's Good For The Game
With how easy it is to break into the HoS office on icebox (you don't
need any space protection) it never made sense to keep a slow pet in the
office. The bear is fast and deals 15 damage, while also resistant to
cold.
I think it adds more depth that the HoS tamed a bear on icebox and
trained it. Also the bear fits the map.
## Changelog
🆑 grungussuss
add: Added Misha the bear to the HoS office on icebox.
/🆑
## About The Pull Request
I was wondering wh yi was stuck in place after casting a spell and then
eralized my poor cow got a star mark making it unable to pass thru my
cosmos. This fixes it so u can be a cowboy heretic
## Why It's Good For The Game
Presumably heretic on horse is cooler than heretic on not-horse
## Changelog
🆑
fix: Cosmos spells will no longer star mark your steed
/🆑
## About The Pull Request
Basically the title, Abductors can no longer teleport into NOTELEPORT
areas except for the abductor ship. This now also removes the
ABDUCTOR_PROOF bitflag and replaces it with a check for ai monitored
areas
fixes https://github.com/tgstation/tgstation/issues/83844
## Why It's Good For The Game
Abductors shouldnt kidnap people in centcom
## Changelog
🆑
fix: Abductors can no longer teleport into Centcom
remove: Brutally murders the ABDUCTOR_PROOF flag
/🆑
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Yes, I know preventing the nuke disk teleporting to the icebox syndicate
base (or possibly the wendigo arena) is removing soul. Please don't kill
me :(
## About The Pull Request
Adds some missing variables to instances of get_safe_turf() so they will
only teleport to the given z-level.
Replaces some instances of get_safe_turf() with
get_safe_random_station_turf().
## Why It's Good For The Game
First, the differences between get_safe_turf() and
get_safe_random_station_turf():
### get_safe_turf()
- gets a random safe turf on a z-level (usually any of the staiton
z-levels), not accounting for the /area/
- should be used if you don't care if it spawns on the station or not,
or if you need to specifically teleport to a z-level
- not very expensive performance wise
### get_safe_random_station_turf()
- gets a random safe turf that will always be a station area, ignoring
z-level.
- should be used if you NEED the turf to be on a station's area
- slightly more expensive performance wise than get_safe_turf, but still
very cheap
Some code was using get_safe_turf() when it should've been using
get_safe_random_station_turf(), and some code that should be using
get_safe_turf() were incorrectly using the zlevels arg instead of zlevel
arg (Yes, there is a difference), or didn't include it at all.
All the changes were made to my best judgement. If you're curious about
a change, please ask and I will explain why I did it.
## Changelog
🆑 BurgerBB
fix: Tweaks some instances of get_safe_turf so things like the nuclear
disk doesn't accidentally teleport to the Icebox Syndicate Base
/🆑
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
## About The Pull Request
`attack_atom`, while sensibly sounding, isn't called for most items,
because they can't be attacked.
## Changelog
🆑 Melbert
qol: Attack animations for cult spells on attackable objects (people,
airlocks)
fix: Fix cult spells on non-attackable objects (metal sheets, blood
decals)
/🆑
## About The Pull Request
I was looking at sounds (as you do) and I noticed this

These sounds don't exist
We have `portal_open_1`, not `portal_open1`.
This wasn't caught on compile because they used `""` and not `''`.
So I went through and audited a bunch of playsound uses that don't use
`''`. Only one error, fortunately
Likewise there was a ton of places running `get_sfx` pointlessly
(because `playsound` does it for you) so I clened that up.
However while auditing the portal stuff I noticed a few oddities, so I
cleaned it up a bit.
Also also I added the portal sounds to the wormholes event and gave it a
free ™️ optimization because it was an in-world loop
## Changelog
🆑 Melbert
sound: Portals made by portal guns now make sounds as expected
sound: Wormholes from the wormhole event now make sounds when formed
/🆑
## About The Pull Request
Same idea as #82656 but for ctrl click & ctrl shift click cause why not
- Does your signal & `can_perform_action()` checks using
`interaction_flags_click` flags before delegating the event down to
`ctrl_click()` proc.
- The one new change now is that `ctrl_click()` proc is now blocking,
meaning returning `CLICK_ACTION_SUCCESS` or `CLICK_ACTION_BLOCKING` will
stop the object from getting grabbed/pulled. So remember to return these
values if you want to stop the grab action or return `NONE` if you want
to process the click but still want the object to get grabbed as well
## Changelog
🆑
refactor: Ctrl click & Ctrl shift click has been refactored. Please
report bugs on GitHub
/🆑
## About The Pull Request
Mouse drag & drop has been refactored into its own attack chain. The
flowchart below summarizes it

Brief summary of each proc is as follows
**1. `atom/MouseDrop()`**
- It is now non overridable. No subtype should ever touch this proc
because it performs 2 basic checks
a) Measures the time between mouse down & mouse release. If its less
than `LENIENCY_TIME`(0.1 seconds) then the operation is not considered a
drag but a simple click
b) Measures the distance squared between the drag start & end point. If
its less than `LENIENCY_DISTANCE`(16 pixels screen space) then the drag
is considered too small and is discarded
- These 2 sanity checks for drag & drop are applied across all
operations without fail
**2. `atom/base_mouse_drop_handler()`**
- This is where atoms handle mouse drag & drop inside the world. Ideally
it is non overridable in most cases because it also performs 2 checks
- Is the dragged object & the drop target adjacent to the player?.
Screen elements always return true for this case
- Additional checks can be enforced by `can_perform_action()` done only
on the dragged object. It uses the combined flags of
`interaction_flags_mouse_drop` for both the dragged object & drop target
to determine if the operation is feasible.
We do this only on the dragged object because if both the dragged object
& drop target are adjacent to the player then `can_perform_action()`
will return the same results when done on either object so it makes no
difference.
Checks can be bypassed via the `IGNORE_MOUSE_DROP_CHECKS` which is used
by huds & screen elements or in case you want to implement your own
unique checks
**3. `atom/mouse_drop_dragged()`**
- Called on the object that is being dragged, drop target passed here as
well, subtypes do their stuff here
- `COMSIG_MOUSEDROP_ONTO` is sent afterwards. It does not require
subtypes to call their parent proc
**4. `atom/mouse_drop_receive()`**
- Called on the drop target that is receiving the dragged object,
subtypes do their stuff here
- `COMSIG_MOUSEDROPPED_ONTO` is sent afterwards. It does not require
subtypes to call their parent proc
## Why It's Good For The Game
Implements basic sanity checks across all drag & drop operations. Allows
us to reduce code like this
8c8311e624/code/game/machinery/dna_scanner.dm (L144-L145)
Into this
```
if(!iscarbon(target))
return
```
I'm tired of seeing this code pattern `!Adjacent(user) ||
!user.Adjacent(target)` copy pasted all over the place. Let's just write
that at the atom level & be done with it
## Changelog
🆑
refactor: Mouse drag & drop attack chain has been refactored. Report any
bugs on GitHub
fix: You cannot close the cryo tube on yourself with Alt click like
before
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
## About The Pull Request
Fixed cultists retaining their datum when ghouled, which resulted in
double antag.
## Why It's Good For The Game
Silly and weird and confusing and buggy.
## Changelog
🆑
balance: Corpses won't remain cultists when ghouled by a flesheretic
/🆑
## About The Pull Request
This pull request makes the Moon Smile spell a worse alpha strike by
lowering the minimum duration of most of the effects and making the
knockdown only occur if the targets sanity is low enough. Currently its
knocking down at less than 40 sanity though this threshold can be
lowered if desired.
## Why It's Good For The Game
In its current state this spell is wayyyy too strong for how quickly you
get it and I've heard a lot of frustration expressed about it. This PR
attempts to tackle this by decreasing the minimum duration of its
effects and locking the knockdown to lower sanity levels making it
better in extended combat like the intent of the ability always was.
## Changelog
🆑
balance: Moon Smile only does a knockdown if the targets sanity is low
enough and the minimum duration of its abilities have been decreased
/🆑
## About The Pull Request
Cult pylons will now slowly close bleeding wounds.
## Why It's Good For The Game
Pylons were never updated alongside wounds, so it's an EXTREMELY common
sight to see people dead or dying next to pylons purely from blood loss.
Even havign 4 pylons near isn't enough to help you up - it doesn't oxy
heal, so if you're in crit, you're fucked.
The blood cult should be able to deal with blood loss.
## Changelog
🆑
qol: Cult pylons slowly close bleeding wounds
refactor: allowed aura healing to clot wounds shut
/🆑
## About The Pull Request
- Afterattack is a very simple proc now: All it does is this, and all
it's used for is for having a convenient place to put effects an item
does after a successful attack (IE, the attack was not blocked)

- An overwhelming majority of afterattack implementations have been
moved to `interact_with_atom` or the new `ranged_interact_with_atom`
I have manually tested many of the refactored procs but there was 200+
so it's kinda hard
## Why It's Good For The Game
Afterattack is one of the worst parts of the attack chain, as it
simultaneously serves as a way of doing random interactions NOT AT ALL
related to attacks (despite the name) while ALSO serving as the defacto
way to do a ranged interaction with an item
This means careless coders (most of them) may throw stuff in afterattack
without realizing how wide reaching it is, which causes bugs. By making
two well defined, separate procs for handing adjacent vs ranged
interactions, it becomes WAY WAY WAY more easy to develop for.
If you want to do something when you click on something else and you're
adjacent, use `interact_with_atom`
If you want to do something when you click on something else and you're
not adjacent, use 'ranged_interact_with_atom`
This does result in some instances of boilerplate as shown here:

But I think it's acceptable, feel free to oppose if you don't I'm sure
we can think of another solution
~~Additionally it makes it easier to implement swing combat. That's a
bonus I guess~~
## Changelog
🆑 Melbert
refactor: Over 200 item interactions have been refactored to use a
newer, easier-to-use system. Report any oddities with using items on
other objects you may see (such as surgery, reagent containers like cups
and spray bottles, or construction devices), especially using something
at range (such as guns or chisels)
refactor: Item-On-Modsuit interactions have changed slightly. While on
combat mode, you will attempt to "use" the item on the suit instead of
inserting it into the suit's storage. This means being on combat mode
while the suit's panel is open will block you from inserting items
entirely via click (but other methods such as hotkey, clicking on the
storage boxes, and mousedrop will still work).
refactor: The detective's scanner will now be inserted into storage
items if clicked normally, and will scan the storage item if on combat
mode
/🆑
## About The Pull Request
- moved where the warlord spawner is, should make warlord be the first
pirate to spawn
- added propulsors to the ship
- crude helmet doesn't hide your hair anymore (it didn't fully cover
your head so it made you bald)
- shortsword sprite has its original colours (i was pranked with the
whole -100 DM file and in a desperate attempt, made the shortsword have
the same colours as the claymore)
- the message to pay the pirates is different (i used the same one as
tider pirates as placeholder)
- their helmets have flash protection (borgs knock them down too easily,
flashbangs will still knock them down because no bowman)

## Why It's Good For The Game
some things that i missed, plus the pirates are knocked over too easily
by borgs
## Changelog
🆑
qol: the first Medieval pirate to spawn will be the Warlord, warlord and
crude helmet have flash protection
fix: Medieval shuttle has actual engines now
fix: Shortsword has its original colours
fix: Crude helmet no longer makes you bald
/🆑
## About The Pull Request
https://github.com/tgstation/tgstation/assets/4081722/684da396-fb28-4022-9f46-0fc4feb34b7a
Changelings now do not like fire, as is tradition.
If they are on fire, they no longer generate chemicals until they put
the fire out.
If they are on fire, they no longer can use any changeling powers until
they put the fire out.
All changeling equippable items like armblades, shields, armor,
spacesuits, etc. are now flammable and super-duper vulnerable to flames.
The Armblade now costs 30 chemicals to equip, and has a DNA cost of 3,
compared to the previous 20 chemicals and 2 DNA cost.
The Armblade now shatters after enough uses in exactly the same way as
the Shield; extract genomes with Absorb to maximize your Armblade's
efficiency. for its' chemical cost.
Fixes items you're holding not catching on fire alongside the rest of
you when you light on fire.
Fixes the Changeling Shield having one more hit than it was supposed to.
## Why It's Good For The Game
Changeling has been in a relatively incredibly rough state ever since
someone walked up to this predominatly stealth and intrigue based
antagonist and went "lets turn it into a carbon copy of an early 2000s
action game I just played".

Since then, just about every changeling has been a loud changeling. The
stats speak for themselves; Changelings are no longer a stealth antag
and they're defined by having an undroppable e-sword, armor, and HP
regen they can use mid-fight. They're just loud beatsticks now instead
of the scary stealth antagonist they were years ago.
I'm expecting a lot of pushback from the adrenaline addicts who dislike
the concept of stealth, to which I say: too bad.
Giving Changelings a weak point in the form of fire is not only
thematically appropriate for the original inspiration for Changeling,
but also provides the crew a way to actually scare off changelings back
into hiding, and encourages more usage of fire-causing weapons. This is
going to shake up changelings, and
Nerfing the hell out of the Armblade is going to encourage changelings
to take stealthier approaches to combat, and utilize the rest of their
power assortment that isn't just focused around being a gigantic
unstoppable beatstick.
## Changelog
🆑
balance: Changelings now do not like fire, as is tradition.
balance: If they are on fire, they no longer generate chemicals until
they put the fire out.
balance: If they are on fire, they no longer can use any changeling
powers until they put the fire out.
balance: All changeling equippable items like armblades, shields, armor,
spacesuits, etc. are now flammable and super-duper vulnerable to flames.
balance: The Armblade now costs 30 chemicals to equip, and has a DNA
cost of 3, compared to the previous 20 chemicals and 2 DNA cost.
add: The Armblade now shatters after enough uses in exactly the same way
as the Shield; extract genomes with Absorb to maximize your Armblade's
efficiency. for its' chemical cost.
fix: Fixes items you're holding not catching on fire alongside the rest
of you when you light on fire.
fix: Fixes the Changeling Shield having one more hit than it was
supposed to.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request
Fixes antimagic, not preventing the disgust builtup from standing on
rusted tiles, makes rust walkers more expensive to summon.
## Why It's Good For The Game
I'm very happy with the end result of my Rust heretic rework; but they
came up a tad stronger than i wanted them to be.
Carlac already changed the Vomit stun to knockdown, but i wanted to add
a couple of things myself.
Having anti magic now makes you fully immune to the effects of rusted
tiles, not just the spells.
Rust walkers summoning ritual now requires titanium instead of iron
sheets.
As of right now, they are way too easy to spam, Titanium is a bit harder
to come by than iron so that'll do for now.
I was planning to set a limit to how many you can summon at the time,
but i'd rather wait a few months to see how rust behaves before i add
more nerfs.
## Changelog
🆑
balance: Rust walkers' summoning ritual now requires 5 sheets of
Titanium instead of Iron.
fix: Magic resistance grants complete immunity from the passive disgust
buildup from standing on Rusted turfs.
/🆑
## About The Pull Request
cult stun gets weaker with cult stage
at red eyes, stun lasts 9.6 seconds from 16 seconds by default
at halo, stun lasts 1.9 seconds
## Why It's Good For The Game
getting stinky handed in the middle of a fight with a halo cultist just
isnt really fun because then the cultist has like 16 seconds to beat you
to death
with this you may have a chance of getting back on your feet and showing
the narsie scum whos boss
## Changelog
🆑
balance: cult stun gets weaker when they get red eyes and later more
when they have halos
/🆑
## About The Pull Request
The following was made in response to a discussion overheard during the
coderbus roundtable.
Cult shades can no longer contribute to cultist rune invoking until
they've been released from their soulstone from over a minute. If placed
in a shell, they can properly invoke runes and assist you with
converts/summoning as normal.
This also moves around some files/code related to cultist antag datums.
Datum stuff is now in its own subfolder of the cultist folder in the
antagonists module.

I hated testing this.
## Why It's Good For The Game
This discourages the common practice of murdering and soulstoning
another player, then keeping them as a shade in their backpack used only
for invoking runes.
This is, of course, incredibly unfun for the player who has been shaded,
and encourages playing singleplayer cultist instead of with your
teammates as a team antagonist.
There are plenty of other ways to play singleplayer cultist. Create a
summon rune, or put your shade in a shell. Carrying them around in your
bag all round sucks.
## Changelog
🆑 Rhials
balance: cultist shades can no longer contribute to rune invocation
until they've been out of their soulstone for a minute. Put them in a
shell for God's sake!
code: sweeps up cultist antag datum code into its own subfolder.
code: cult shades now have their own antag datum.
fix: constructs now properly clear the cultist antag datum and transfer
the mind slightly earlier.
/🆑
Reverts tgstation/tgstation#82592
The point of the limit on blades is to punish heretics for handling them
carelessly, allowing them to undo that for free is lame.
Maybe someone can re-add this as a separate ritual which has its own
requirements, maybe a knowledge requirement.
🆑
del: Heretics can no longer return their stolen blades, that's the point
of the limit
/🆑
## About The Pull Request
1.
Because the reset timer was not done with `TIMER_UNIQUE|TIMER_OVERRIDE`,
this meant that you could pop the ability, wait 19 seconds, and then pop
it again. And now you had all the benefits of the ability without any of
the downsides, because the timers would not reset and instead run
simultaneously.
I fixed this by both adding the timer flags and by preventing usage of
the skill while you are under the effects of it. (Just in case.)
2.
With permission from Jacquerel, I bumped the chemical cost and dna cost
back up to similar numbers as before. I think the PR swung the hammer
way too far in that direction (You don't make it more spammable while
also making it better, you either do one or the other!)
## Changelog
🆑 Melbert
balance: Re-ups the cost of the new ling adrenal ability
fix: Patches an exploit with new ling adrenal ability
/🆑
## About The Pull Request
Fixes#83388 (Hair gradients are now part of dna, if just making a
snowflake check on paradox clones is a better way to do this I can do
that too)
Fixes#82238 (Hardcore random was not supposed to set your hair to
white)
Fixes paradox clones (and changelings) not having correct heterochromia
colors
Fixes#80557
## Why It's Good For The Game
Bugfixes; Paradox clones are supposed to at least be a copy of the
target player as they are roundstart, but right now for funkier
characters they are being outed for having the wrong hair gradient or
something, which feels bad. Hopefully this can bring us to a point where
medical and security records cant out the clone.
## Changelog
🆑 Seven
fix: Paradox clones (and changelings) now properly copy hair gradients
and heterochromia eye colors.
fix: Hardcore random no longer mistakenly makes your hair white, this
was not a feature.
/🆑
## About The Pull Request
Adrenaline Glands have been removed and replaced with Repurposed Glands.
This ability removes use of your arms in exchange for regenerating your
legs, breaking cuffs, giving you speed, damage slowdown immunity, and
regenerating and doubling your stamina temporarily.
It's probably a bit overtuned right now. I remembered how useless this
ability is and it made me mad.
## Why It's Good For The Game
I'm tired of AG being a completely useless noob trap that doesn't do
anything of value and isn't even accurate to its description or flavor.
Taking inspiration from Realignment, this turns it into what skoglol
tried and failed to turn it into: An escape plan that can't be used as
free stimulants.
## Changelog
🆑
balance: Reworks Adrenaline Glands into Repurposed Glands (Realingment).
Lose the use of your arms, but you can escape any situation!
/🆑
## About The Pull Request
`move_on_shuttle` was a variable that existed on `/mob` despite only
ever being used by cameras. This PR downgrades the variable to only
exist on `/mob/camera` types, but have the only thing that variable do
is add a trait that blocks movement on shuttles if not allowed. This
allows us to check the variable without casting to camera, which is what
some code was un-necessarily doing. This also retainst the ability to
add the trait later on to different mobs who we may not want to be on
shuttles that aren't `/mob/camera`.
## Why It's Good For The Game
There's no point for this variable to live on `/mob` if all it can do is
clog up the VV screen, especially if the current utilization for it is
only cameras. Let's move it off `/mob` and turn it into a trait so it
still has the similar utilization on a global level without typecasting
- as well as make it actually work since needless typecasting was
introducing a minor bug
## Changelog
Irrelevant.
---------
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
## About The Pull Request
Does as title says. Infected AI *could* be given a new sound effect but
I'll leave that to someone in the future.
Also removes the ability for Infected AIs to set their own custom
objectives
## Why It's Good For The Game
Getting Malf AI usually means you can ignore laws. AIs really should be
checking their Law 0 before deciding to do their own flavor of chaos but
Infected AI having the same sound effect is an unnecessary extra chance
to mix the two up.
## Changelog
🆑
qol: Traitor-created Infected AIs no longer hear the Malf AI antag sound
alert.
/🆑
---------
Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
## About The Pull Request
Completely removes sentient disease from the game
## Why It's Good For The Game
Sentient disease is a unique antag and seems fun on paper, but really
doesn't work that well.
Sentient disease is a pretty binary antagonist: you either get cured and
watch helplessly as you lose all your hosts, or you infect everyone and
wipe out the entire station. Its everything bad about conversion antags,
but there's not even any fighting.
I also don't think any amount of balancing can fix sentient disease. If
we make it harder to cure, the disease gets an easier station wipe, but
if we make it less lethal, it loses all ability to stop cure generation.
The core gameplay pitches the entire crew against one disease, and it's
merely a timer before either it gets cured or wipes out everyone
This is my latest sentient disease round, where I wiped out the entire
station. I only even greentexted because there was one guy on the escape
shuttle in crit that barely made it because they had the sense to take
spaceilline.

The removal of the virologist lets us balance viruses to be fairer
challenges to the player, but as long as sentient disease exists we'll
always have to balance viruses somewhat in favor of the enjoyment of the
disease blowing your head and making you spontaneously combust.
## Changelog
🆑
del: Removes sentient disease from the game
/🆑
Hopefully, once we get virology truly sorted out, we can readd sentient
disease, but this would require our diseases to have endgoals that
aren't focused around killing every person, being widespread while also
not being instantly curable. A reworked sentient disease would have to
be so different, it's better to leave it out, fix virology and then
consider if we can truly add a new sentient disease and have it be fun
and fair
## About The Pull Request
In my effort to make the /icons/ folder cleaner and more intuitive
instead of having to rely on recalling names of stuff and looking them
up in code to find them for poor sods such as myself, plus in spurt of
complusion to organize stuff, here goes. I've tracked all changes in
commit descriptions. A lot still to be done, but I know these waves go
over dozens of files making things slow, so went lighter on it.
Destroyed useless impostor files taking up space and cleaned a stray
pixel on my way.
## Why It's Good For The Game
Cleaner /icons/ file means saner spriters, less time spent. Stray pixels
and impostor files (ones which are copies of actually used ones
elsewhere) are not good.
## Changelog
🆑
image: Cleaned a single stray pixel in a single frame of a bite
telegraphing accidentaly found while re-organizing the files.
/🆑
## About The Pull Request
Fixes#83374Fixes#82445#81665 changed Narsie to transfer minds rather than assigning keys to
constructs.
This only works some amount of the time because observers don't have
minds.
Dying in certain ways (such as: when playing as a construct) also seems
to destroy the mind.
Now we transfer the mind if one exists, otherwise we assign the key
(which creates a mind).
## Changelog
🆑
fix: Ghosts can more reliably become a harvester.
/🆑
## About The Pull Request
Changes the description of the reinforcement beacon from "MI13 designed
one-use radio for calling immediate backup. Have no regards for safety
of whom it summons - they are all inferior clones from Interdyne's
genebanks anyway." back to what it used to be- "A single-use beacon
designed to quickly launch reinforcement operatives into the field."
## Why It's Good For The Game
This change was brought in a sprite PR that had no justification for its
code changes. I don't like this lore change, it seems needlessly "edgy",
and I designed the reinforcements to be flavorful workers from different
companies that are part of the Syndicate as you can see by all their
different random outfits, them being "inferior clones from genebanks" is
a weird contrast to that and doesn't sit well with me. And the random
MI13 drop is eh.
## Changelog
🆑
spellcheck: the nuke op reinforcement beacon no longer talks about
clones
/🆑
## About The Pull Request
Changes all instances of "amulette" to "amulet" (except for icon_state
instances of the misspelling).
## Why It's Good For The Game
Spelling
## Changelog
🆑
spellcheck: Corrects spelling of "amulette" to "amulet"
/🆑
## 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."
/🆑
## About The Pull Request
This PR makes certain organs appear in the output of the Advanced Health
Analyzer, even if they are at 100% health.

The organs this applies to are:
- Legion Tumours
- Heretic Organs which you get when you are sacrificed
- Abductor Organs (but it doesn't specify what they do)
It doesn't apply to xenomorph or changeling eggs, or romerol tumours, as
those are supposed to be "stealthy".
## Why It's Good For The Game
Basically I just saw someone ask for this to be possible and thought it
sounded like a reasonable idea; none of these three things are intended
to be particularly stealthy and it seemed like reasonably nice medical
quality of life not to have to do exploratory surgery to detect their
presence.
It should be reasonably obvious to a medical practitioner with the
correct tools that something is wrong here.
## Changelog
🆑
balance: Certain unhealthy organs can be detected via the advanced
health scanner
/🆑
## About The Pull Request
This PR makes a change to the Transform Sting ability to prevent you
from turning people into species that have unabsorbable DNA.
Now you may ask "Jacquerel, how do you even have a DNA profile of a
species with unabsorbable DNA in the first place?"
The answer is that we do not do any species checks when assigning
roundstart antagonists, or when admins try to make someone into a
Changeling.
The upshot of this is that while you can't copy the DNA of a plasmaman
and then wander around turning random people into plasmamen (instantly
setting them on fire and suffocating them), you can **start** the round
as a Plasmaman, apply _your own_ DNA to people, and have them experience
those consequences.
We _could_ change this so that people queueing as Plasmaman who also are
assigned to be Changelings use their forced human profile... but I think
that's more boring than this solution (and might lead to very slightly
more metagaming).
This way _also_ adds a little bit of protection for the cases of admins
giving the changeling antag datum to Golems, Monkeys, Skeletons,
Androids, or the like.
Just in case admins _want_ to turn people into burning skeletons with
transform sting, I have added a variable on the ability which you can
toggle to disable the check.
## Changelog
🆑
balance: If you can't absorb a species' DNA as a changeling, you also
can't use transform sting to turn someone into that species.
/🆑
## About The Pull Request
Fixes a typo on the description of Pulse of Entropy
## Why It's Good For The Game
When i made my pr to rework rust heretic, i kinda forgot to update the
description on the recipe for Pulse of Entropy to include the garbage
item, this fixes that.
## Changelog
🆑
spellcheck: Pulse of entropy description now displays the correct
reagents for the ritual
/🆑
## About The Pull Request
Changes the sprites on the action button for furious steel, and orbiting
knives for Blade Heretic in general.
## Why It's Good For The Game

Kitchen utensils are kind of a lame fit for an eldritch acolyte, now
they look like proper throwing knives.
## Changelog
🆑
Image: Blade Heretic Knives have been resprited into proper throwing
knives.
/🆑
## About The Pull Request
adds more machines to the malf AI overload ability blacklist: shuttle
consoles and gateway console
closes https://github.com/tgstation/tgstation/issues/83223
## Why It's Good For The Game
bug fix
## Changelog
🆑
fix: fixed malf AI being able to overload shuttle consoles and the
gateway control console
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Properly fixes#7617🆑 ShizCalev
fix: Malf AI can now override/overload closed turrets.
fix: Fixed a scenario in which a turret would have its covers closed
while still firing.
/🆑
cleaned up a dumb proc that was added at the machinery level for
literally only turret covers, and added support for fixing turrets in
the future (through atom_fix(), which is essentially unused at this
time.)
## About The Pull Request
It's very easy to get softlock if you try to use a codex as a focus for
Space Phase - you'll drop the codex, resulting in you having no focus,
and you can't re-cast Space Phase in order to exit the jaunt, requiring
admin intervention in order to escape.
This just makes it so you're ejected from the phase if you ever lose
your focus mid-cast, or if you lose consciousness (crit, dying, etc)
## Why It's Good For The Game
Because softlocks are bad and unfun.
## Changelog
🆑
fix: You will now be ejected from Space Phase if you lose your focus or
lose consciousness somehow during the jaunt.
/🆑
## 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.
## 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>
<!-- 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
Deletes the sleeper protocol objective

https://discord.com/channels/326822144233439242/326831214667235328/1239270421921005570
Removes the upper limit to sabotage telecomms/RND servers

https://discord.com/channels/326822144233439242/326831214667235328/1239269962707636375
<!-- 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
Removes a bad objective.
Removes a non-sensical upper limit to sabotage rnd/telecomms.
<!-- 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 it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑
del: Removes the sleeper protocol traitor objective
balance: RND server/Telecomms sabotage can now show up even later in the
round
/🆑
<!-- 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. -->