Commit Graph

2544 Commits

Author SHA1 Message Date
SkyratBot
6980bfd465 [MIRROR] Fixes surgeries runtiming constantly when having the surgery initator open, fixes some surgeries missing sounds (#26411)
* Fixes surgeries runtiming constantly when having the surgery initator open, fixes some surgeries missing sounds (#81307)

## About The Pull Request

Fixes #79318

- See the issue for more information. I fixed the runtimes as expected,
and then removed `SURGERY_REQUIRE_LIMB` from some surgeries which don't
actually require a limb, such as implant removal, dissection, and living
revival. I could've easily missed some, and as a result some surgeries
are lost to the void and unselectable, but from what I could tell in
testing it seems... fine.

- Adds `SHOULD_CALL_PARENT` to surgery `can_start`. Cleans up some
surgery `can_start` overrides.

- Adds missing sounds to puncture repair surgery.

## Changelog

🆑 Melbert
fix: Fixed Puncture Repair surgery not having surgical sounds
fix: Fixed Surgery Initiator potentially showing invalid surgeries
/🆑

* Fixes surgeries runtiming constantly when having the surgery initator open, fixes some surgeries missing sounds

* Fixeed

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-02-08 21:54:06 +01:00
SkyratBot
33d1b9aa0f [MIRROR] Fix null in blood brother checking (#26386)
* Fix null in blood brother checking

* fixes

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: jjpark-kb <mccorvey.norman@gmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-02-08 21:19:39 +01:00
SkyratBot
bbec726a08 [MIRROR] Restore non-functional ash mark ability (#26397)
* Restore non-functional ash mark ability (#81320)

## About The Pull Request

Apparently, ash mark is supposed to replenish mansus grasp cooldown by
75% when triggered, but this is neither reflected by the research
description, nor functional ingame. This edit makes it work, and adds
the effect to the description.

Additionally, that same block of code was present in moon mark research
also. I removed that because I assume it is intended to be an ash-only
feature, and moon only had it because of copy-pasting.

And since we're at it, I also reworded the mark description to be more
clear about the mark only transferring to a single heathen at a time.
## Why It's Good For The Game

I don't think we should have code which does not work. The options are
to either remove it, or make it work, and the latter is more fun.
## Changelog
🆑
fix: ash mark now properly lowers the cooldown of mansus grasp when
triggered
/🆑

* Restore non-functional ash mark ability

---------

Co-authored-by: ViktorKoL <44502667+ViktorKoL@users.noreply.github.com>
2024-02-07 21:17:12 -05:00
SkyratBot
96e927ee78 [MIRROR] Regenerative Materia Blobs No Longer Drug Non-Carbons (#26393)
* Regenerative Materia Blobs No Longer Drug Non-Carbons (#81318)

## About The Pull Request

Fixes #79841

This PR fixes the bug where cyborgs could get high from being attacked
by regenerative materia blobs by adding a requirement that the target is
a carbon before applying the drug effect to them.

## Why It's Good For The Game

This isn't believed to be intentional (its marked as a bug) and applying
the drugginess effect to non-carbons has shown in the past to cause some
issues (ex. cyborgs which have the high effect for much much longer than
intended were it applied to a carbon)

## Changelog

🆑
fix: Regenerative Materia blobs can no longer drug non-carbons.
/🆑

* Regenerative Materia Blobs No Longer Drug Non-Carbons

---------

Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
2024-02-07 14:41:43 -05:00
SkyratBot
2b017c12c1 [MIRROR] Science Xenos no longer turn the roundend report all bold (#26381)
* Science Xenos no longer turn the roundend report all bold (#81311)

## About The Pull Request

Fixes the 2% xeno's roundend report from turning the rest of the report
into bold letters.

## Why It's Good For The Game

look it's not all bold anymore

![image](https://github.com/tgstation/tgstation/assets/53777086/5b46dc02-5fb5-4d16-aedf-fc1c11aad045)

## Changelog

🆑
fix: Science Xenos no longer turn the entire roundend report into bold
letters.
/🆑

* Science Xenos no longer turn the roundend report all bold

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-02-07 13:28:46 -05:00
SkyratBot
0ac1027456 [MIRROR] Gives paradox clone their own ghost polling icon (#26374)
* Gives paradox clone their own ghost polling icon (#81229)

## About The Pull Request

Currently all ghost roles, when polling for players, shows a syndicate
poster. This is lame as hell, especially since most of the roles aren't
even Syndicate aligned.
This adds support to have your own icons for it, and adds one for the
Paradox clone since I already had an idea for it.

## Why It's Good For The Game

Paradox clones are not syndicate aligned and it does not make sense to
portray that to players, this looks much better, and hopefully soon
other antags will follow suite.

![image](https://github.com/tgstation/tgstation/assets/53777086/b6016ff1-9914-42a8-bd9f-e72ba5539e11)

## Changelog

🆑
add: Paradox clones now have a bluespace stream instead of a syndicate
poster as their ghost poll icon.
/🆑

* Gives paradox clone their own ghost polling icon

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-02-07 13:25:37 -05:00
SkyratBot
fc1d410e60 [MIRROR] Fixes some irregularities in heretic research tree (#26370)
* Fixes some irregularities in heretic research tree (#81302)

## About The Pull Request

Once again, I fix a few errors in the heretic research tree:

- the lunar path no longer unlocks its sidepaths and reroll one research
before every other path, and this side knowledge in turn no longer
unlocks the earlier knowledge of the moon path
- blood siphon no longer unlocks apetra vulnera in addition to its
proper main path nodes
- ashen ritual now unlocks the nightwatcher's rebirth, instead of
unlocking the lonely ritual
- lunar blade upgrade is no longer cheaper than those of the other paths
- burglar's finesse now costs 1 point like other knowledge of its level
## Why It's Good For The Game

Heretic tree should not be irregular for no reason, I think. If any of
those quirks were intentional, please let me know.
## Changelog
🆑
fix: smoothed out a few asymmetries in the heretic research tree
/🆑

* Fixes some irregularities in heretic research tree

---------

Co-authored-by: ViktorKoL <44502667+ViktorKoL@users.noreply.github.com>
2024-02-07 13:10:13 -05:00
SkyratBot
825fc0cbf0 [MIRROR] You can no longer convert objective targets to your blood brother team (#26364)
* You can no longer convert objective targets to your blood brother team (#81305)

## About The Pull Request

You can no longer convert your objective targets to your blood brother
team.

This means the usual "commit violence against this user" objectives, but
also includes protect objectives and should (theoretically) prevent you
from converting targets from other conflicting objectives such as
mutiny/sacrifice/obsession targets.
## Why It's Good For The Game

This kind of fucks up the whole antagonist on a conceptual level. Pick
ANYONE else please!
## Changelog
🆑 Rhials
fix: You can no longer convert assassination targets to your blood
brother team.
/🆑

* You can no longer convert objective targets to your blood brother team

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
2024-02-07 12:53:47 -05:00
SkyratBot
537d12261d [MIRROR] [FIX] Removes accidental? RR from contractor GBJ (#26348)
* [FIX] Removes accidental? RR from contractor GBJ (#81286)

## About The Pull Request
fixes #80963
previously if the place you got sent from was uninhabitable you'd just
be left for dead. if you were already dead, you might never find out
why.
Now, even if the location you got sent from is fucked, you'll just get
zapped with the heart attack gun and blasted off there anyway.

## Why It's Good For The Game

RRing people to off-map Z-levels with no way of escape is not intended
for contractor afaik.

## Changelog

🆑
fix: fixes contractor abduction RRing people in the offmap hideout
without any feedback. You might not like how it turns out, but your body
will get back to the station now.
/🆑

* [FIX] Removes accidental? RR from contractor GBJ

---------

Co-authored-by: Higgin <cdonny11@yahoo.com>
2024-02-05 21:17:24 +01:00
SkyratBot
e7ddceed73 [MIRROR] Lowers contractor baton cost. Baton can only be bought by roundstart traitors, while midroll/latejoin traitors cannot buy a baton (They must buy the contractor kit for one). (#26344)
* Lowers contractor baton cost. Baton can only be bought by roundstart traitors, while midroll/latejoin traitors cannot buy a baton (They must buy the contractor kit for one). (#81204)

## About The Pull Request
Contractor baton 12 -> 7 TC
Mid/latejoin traitors can no longer buy a baton (They must buy the
contractor kit)
Fix midroll/latejoin traitors having access to roundstart traitor shop.
## Why It's Good For The Game

![image](https://github.com/tgstation/tgstation/assets/66163761/61d1c243-72bd-43e1-b404-666da06d1c4e)

![image](https://github.com/tgstation/tgstation/assets/66163761/1d58c782-925e-446b-8fe4-8fbfc32774e7)
## Changelog
🆑
balance: Contractor baton costs 7 TC (down from 12 TC)
balance: Midroll/Latejoin traitors can no longer buy the baton, they
must buy the whole kit
fix: Midroll/Latejoin traitors no longer have access to roundstart
traitor exclusive items
/🆑

* Lowers contractor baton cost. Baton can only be bought by roundstart traitors, while midroll/latejoin traitors cannot buy a baton (They must buy the contractor kit for one).

---------

Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com>
2024-02-04 08:00:15 -05:00
SkyratBot
bd9d2ca175 [MIRROR] Fixes Cult voting for a leader (#26312)
* Fixes Cult voting for a leader (#81169)

## About The Pull Request

With the recent changes to polling, it seems like it didn't properly
poll cultists, I fixed that and fixed other issues with it (such as it
telling players that they are signing up to BE a cult leader, when they
arent).

Also fixed the button to put yourself forward as cult leader, it
properly removes and gives itself when necessary.

## Why It's Good For The Game

Cult button works again how cool is that

Closes https://github.com/tgstation/tgstation/issues/80620

## Changelog

🆑
fix: Cultists can now vote for a Cult leader again.
/🆑

* Fixes Cult voting for a leader

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-01-31 21:49:45 +01:00
SkyratBot
4b9d464181 [MIRROR] Cult pylons won't convert floorless floors (#26297)
* Cult pylons won't convert floorless floors (#81171)

## About The Pull Request

Cult pylons read from our existing list of "turfs which don't count as
floor despite being open turfs" instead of having its own one, which did
not include openspace turfs.
This prevents it from "papering over" things like stairwells and sealing
people inside their base.

![image](https://github.com/tgstation/tgstation/assets/7483112/f91ad4a3-8546-4861-9098-31817ea30821)

## Why It's Good For The Game

It's not supposed to do that, and fixing it this way is futureproof to a
greater degree.

## Changelog

🆑
fix: Cult pylons will no longer cover up "open space" (or water) with
cult floors
/🆑

* Cult pylons won't convert floorless floors

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-01-31 21:29:36 +01:00
SkyratBot
dd24a61847 [MIRROR] Kidnapping traitor objective properly returns victim (#26234)
* Kidnapping traitor objective properly returns victim (#81081)

## About The Pull Request
Fixes #81022
The original idea was for kidnapping victims to be returned to the same
area they were kidnapped from (dropoff_area), but this was always a
typepath to an area and not a datum reference (and was set to null
immediately after kidnapping with ungenerate_objective()) and it always
fell back to the get_safe_random_station_turf() method. This worked fine
until #80644 attempted to optimize it, causing a runtime and returning
early.

This removes the code to return them to the same area and instead just
uses get_safe_random_station_turf(), runtime-free.
## Why It's Good For The Game
Kidnapping victims now actually return to the station after 3 minutes
with their stuff. I think returning to a random area is cooler than the
same area they were sent from anyways, I can imagine a traitor just
waiting it out if they wanted them dead and unable to snitch.
## Changelog
🆑
fix: Kidnapping traitor objective now properly returns the victim to the
station with their items
/🆑

* Kidnapping traitor objective properly returns victim

---------

Co-authored-by: Isratosh <Isratosh@hotmail.com>
2024-01-25 09:35:55 -05:00
SkyratBot
d6f58bda31 [MIRROR] Fixes contractor support unit (#26220)
* Fixes contractor support unit (#81054)

## About The Pull Request

This does what I suggested on
https://github.com/tgstation/tgstation/pull/79884 and some more fixes
that I found while messing around.
This was a big oversight when I was adding contractor originally,
uplinks were reworked entirely and I didn't take it into account
properly, this hopefully will fix those.
I also gave contractor support units their own flavor and removed their
uplink section since they do not get one, so they aren't an "MI13 agent"
or anything, they work solely for this one guy.

There were reports that people being contracted didn't send them back
with their equipment but I haven't been able to replicate that bug and I
do not see an issue report on it so I am going to assume that for now it
is fine.

## Why It's Good For The Game

Closes https://github.com/tgstation/tgstation/issues/79883
Contractor support units now properly work as intended and don't feel
like a buggy mess.

## Changelog

🆑
fix: Contractor support units now don't have flavortext telling them
they work for someone else but their agent.
fix: Contractor support units now comes in an antag spawner (like
syndicate monkey, nukie borgs/reinforcements).
fix: Syndicate monkeys now get their monkey antag datum.
/🆑

* Fixes contractor support unit

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-01-25 09:28:51 -05:00
SkyratBot
ab5a4d0f99 [MIRROR] split area.contained_turfs up by zlevel, make init 10 seconds faster (#26161)
* split area.contained_turfs up by zlevel, make init 10 seconds faster (#80941)

## About The Pull Request

Situation: areas have a list of all turfs in their area.

Problem: `/area/space` is an area and has a 6 to 7 digit count of turfs
that has to be traversed for every turf we need to remove from it. This
can take multiple byond ticks just to preform this action for a single
space rune

Solution: split the list by zlevel, and only search the right zlevel
list when removing turfs from areas.

replaces `area.get_contained_turfs()` with a few new procs:

* `get_highest_zlevel()` - returns the highest zlevel the area contains
turfs in. useful for use with `get_turfs_by_zlevel`
* `get_turfs_by_zlevel(zlevel)` - returns a list of turfs in the area in
a given zlevel. Useful for code that only cares about a specific zlevel
or changes behavior based on zlevel like lighting init.
* `get_turfs_from_all_zlevels()` - the replacement for
`get_contained_turfs()`, renamed as such so anybody copying/cargo
culting code gets a hint that a zlevel specific version might exist.
Still used in for loops that type checked so byond would do that all at
once
* `get_zlevel_turf_lists()` - returns the area's zlevel lists of lists
but only for non-empty zlevels. very useful for for loops.

The area contents unit test has been rewritten to ensure any improper
data triggers failures or runtimes by not having it use the helpers
above (some of which ensure a list is always returned) and access the
lists directly.

* split area.contained_turfs up by zlevel, make init 10 seconds faster

* eeyes

* Update area_spawn_subsystem.dm

* Unshits turf contain code slightly (#81023)

Literally just implements my reviews from #80941 
I am frankly a smidge pissed that the pr was merged without them being
handled. No code is worth merging past known issues, and if the author
is just gonna dip then that's life.
I don't like privileging mso on stuff like this, especially because
frankly I'm kinda mad at him rn but also because when a pr is made the
onus on finishing it falls to the person who made it.

Should not need to clean up after someone as a maintainer, and shouldn't
normalize doing it. I'm not like mad at zypher directly mind he offered
to do this too, just the idea he was espousing here.

---------

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2024-01-21 03:34:23 +00:00
SkyratBot
3793e86082 [MIRROR] Fix heretic rune layering by using pixel_z (#26186)
* Fix heretic rune layering by using pixel_z (#80990)

## About The Pull Request

Fix items layering above heretic runes by making it use pixel_z rather
than pixel_y.

![image](https://github.com/tgstation/tgstation/assets/51863163/302d60df-cf4e-4a0d-b00e-7d6e42fb741a)

## Changelog

🆑 Melbert
fix: Items and mobs no longer hide behind big runes (heretic, cult,
wizard)
/🆑

* Fix heretic rune layering by using pixel_z

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-20 13:53:34 -05:00
SkyratBot
9ae61af837 [MIRROR] [NO GBP] Fixes lunatics not having an objective and occasionally not getting their amulettes (#26185)
* [NO GBP] Fixes lunatics not having an objective and occasionally not getting their amulettes (#80981)

## About The Pull Request
Lunatics now have an objective and it properly displays.
Lunatics now get a moonlight amulette on the ground if their hand are
full.
## Why It's Good For The Game
Lunatics had no idea who their master was except for their flavor text.
This made it kinda confusing. This was worsened when they didnt have the
identifying amulette.
## Changelog
🆑
fix: Lunatics spawned from moon ascension now actually have an objective
to assist their ringleader
fix: Lunatics now get a moonlight amulette on the ground if they have
full hands
/🆑

---------

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

* [NO GBP] Fixes lunatics not having an objective and occasionally not getting their amulettes

---------

Co-authored-by: Rex9001 <120136161+Rex9001@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2024-01-20 13:53:05 -05:00
SkyratBot
cd085ace35 [MIRROR] Fixes clown ops getting their codes (#26181)
* Fixes clown ops getting their codes (#80992)

## About The Pull Request

Nukies were using ``get_machines_by_type`` in ``assign_nuke`` to get the
nuke and set its code, which doesn't work for clown ops because they use
a subtype. This fixes it by replacing it with
``get_machines_by_type_and_subtypes`` instead.
while I was messing with clown op code I also made it a little bit less
copy paste

![image](https://github.com/tgstation/tgstation/assets/53777086/2db9e859-8d53-4704-a110-7f8a5f33ee0f)

## Why It's Good For The Game

Clown ops now get a code to their nuke rather than it staying as
'ADMIN', pretty cool!

Closes https://github.com/tgstation/tgstation/issues/78306

## Changelog

🆑 Momo8289, Pepsilawn, Sinsinins, JohnFulpWillard
fix: Clown ops now get a code set for their nuke.
/🆑

* Fixes clown ops getting their codes

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-01-20 13:50:32 -05:00
SkyratBot
ac9877bfd7 [MIRROR] lock heretics can gain relentless heartbeat again [MDB IGNORE] (#26141)
* lock heretics can gain relentless heartbeat again (#80962)

## About The Pull Request

Allows the relentless heartbeat spell to be unlocked after purchasing
burglars fineness.

## Why It's Good For The Game

It lets me have a chance at winning when my targets are more robust than
I am.

Also fixes https://github.com/tgstation/tgstation/issues/80961

## Changelog

🆑
fix: Lock heretics may once again access 'the relentless heartbeat'
after purchasing 'burglars fineness'.
/🆑

* lock heretics can gain relentless heartbeat again

---------

Co-authored-by: the-orange-cow <76538214+the-orange-cow@users.noreply.github.com>
2024-01-16 21:56:20 -05:00
SkyratBot
1aa3346817 [MIRROR] Eldritch paining cleanup [MDB IGNORE] (#26123)
* Eldritch paining cleanup (#80903)

## About The Pull Request

- Don't apply `connect_range` if we don't have a trauma. We early return
anyways, might as well save the effort.
- Fixes a few messages being unspanned. Changes a few messages to use
hypnophrase span rather than warning span, so it sticks out more.
- Fixes faulty assumption that only carbons are examining.
- Fixes the chat messages for examine_effects happening before the
examine block, not after, by adding a short timer in examine before they
are invoked.

## Changelog

🆑 Melbert
fix: Fixes some eldritch painting messages having no chat span
fix: Fixes eldritch painting messages triggering before the examine,
making it hard to see
fix: Fix beauty eldritch painting doing nothing to heretics who examine
it
/🆑

* Eldritch paining cleanup

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-15 17:40:59 +00:00
SkyratBot
77844f8e24 [MIRROR] Fixes round event controller pirate spawns [MDB IGNORE] (#26115)
* Fixes round event controller pirate spawns (#80936)

## About The Pull Request

Free GBP, I think?

It only spawns in space, but it only spawns on a planet... hold up
that's never.
## Why It's Good For The Game

Bugfix good.
## Changelog
🆑
fix: Fixed round event controller pirate spawns.
/🆑

Co-authored-by: RikuLeinonenVuoksi <riku.leinonen@ vuoksi.fi>

* Fixes round event controller pirate spawns

---------

Co-authored-by: RikuTheKiller <88713943+RikuTheKiller@users.noreply.github.com>
Co-authored-by: RikuLeinonenVuoksi <riku.leinonen@ vuoksi.fi>
2024-01-14 14:24:16 +00:00
SkyratBot
5d6bc6a599 [MIRROR] Fixes two minute grand ritual things [MDB IGNORE] (#26113)
* Fixes two minute grand ritual things (#80940)

## About The Pull Request

- Fixes formatting for a message.
   - Just needed a space.
- Fixes anomalies spawned by grand rituals not working
   - Classic passing of new kwargs to an atom not being functional.

## Changelog

🆑 Melbert
fix: Anomalies spawned by grand ritual runes sound act more like
anomalies
/🆑

* Fixes two minute grand ritual things

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-14 14:23:59 +00:00
SkyratBot
6f4038295e [MIRROR] Headslug Eggs Work Again + More Consistent Timing [MDB IGNORE] (#26106)
* Headslug Eggs Work Again + More Consistent Timing (#80916)

## About The Pull Request

This PR makes changeling eggs work again. Apparently at some point, they
stopped working entirely, as they never properly got added as an organ
to the victim's body (ironically because we were doing TOO MUCH work,
not too little). This PR also changes how changeling eggs keep track of
time until they hatch in order to make it more consistent.

## Why It's Good For The Game

Changeling eggs should work, right? Also, making the egg timer not
completely reliant on a passed in magic number and the whimsies of
Life() being proc'd when it should be consistently for 4 minutes should
make the egg feel more reliable to use.

## Changelog
🆑
fix: Changeling eggs laid by headslugs work again
fix: Changeling egg incubation times should feel much more consistent,
hatching after 4 minutes
/🆑

* Headslug Eggs Work Again + More Consistent Timing

---------

Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
2024-01-14 06:35:07 +01:00
SkyratBot
5fe5ed9d42 [MIRROR] Adds sanity checks to /obj/projectile/moon_parade [MDB IGNORE] (#26092)
* Adds sanity checks to `/obj/projectile/moon_parade` (#80826)

## About The Pull Request

Ensures `/obj/projectile/moon_parade` is actually handing living mobs
when hitting things.

![image](https://github.com/tgstation/tgstation/assets/51863163/4a0a1c33-8fc0-43ae-9d3d-29f5334a61d6)

![image](https://github.com/tgstation/tgstation/assets/51863163/463ad14a-d460-4f28-a08b-f591a019aacd)

## Changelog

🆑 Melbert
fix: Lunar Parade has the potential to break less.
/🆑

* Adds sanity checks to `/obj/projectile/moon_parade`

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-12 03:57:22 +01:00
SkyratBot
23fc35e32f [MIRROR] Nightmare's Light Eater Gets "Critical Hits" (See Inside) [MDB IGNORE] (#26089)
* Nightmare's Light Eater Gets "Critical Hits" (See Inside) (#80670)

## About The Pull Request

This PR adds a new mechanic for Nightmare, which I've dubbed "critical
strikes". If Nightmare stays in jaunt for 15 seconds, its light eater
will get a red glow in the inventory, along with a balloon alert which
says, "critical strike ready". Visually, it looks like this:

![image](https://github.com/tgstation/tgstation/assets/47086570/1510e98b-9a8c-41e6-8575-ef8826be198a)
If Nightmare hits a mob with the light eater in this state, one of four
things will happen:

- If its a carbon that isn't a hulk, the carbon will be stunned for 1
second, dropping their items in the process
- If its a cyborg, the cyborg will be stunned for 2 seconds (twice the
health, twice the fear factor required)
- If its a simple/basic mob or a hulk, the mob will take double damage
from the strike (50 as opposed to 25)
- If the target is dead, you'll note how you wasted the critical strike,
but had fun doing it

While the stun itself is not very long, it will cause crew to drop their
held items and be unable to act for a short duration, which should be
useful for ambushing lone wolves and causing more prepared crew to have
to scramble to get their gear off the floor when caught.

If the Nightmare uses the critical strike, it will go away and require
Nightmare to stay in jaunt for 15 more seconds in order to regain it.
Manifesting while your critical strike is recharging will also stop and
reset the timer.

## Why It's Good For The Game

Nightmare is simple, gory fun, and there's nothing wrong with that.
However, Nightmare performs poorly in any scenario where someone has
some basic gear, since it lacks the ability to use stun batons, has no
armor, and has no stun resistance itself, which means how much a
Nightmare can actually do tends to be very little. While some buff
proposals seek to add complexity to playing the role, I think this one
is clean and simple to use while effectively buffing their proficiency
in 1v1 combat (perfect for an ambush playstyle), giving players a reason
to be afraid of going up against or getting caught out by the Nightmare
alone.

## Changelog
🆑
balance: Nightmare's Light Eater can now stun targets under certain
conditions.
/🆑

* Nightmare's Light Eater Gets "Critical Hits" (See Inside)

---------

Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
2024-01-12 03:40:41 +01:00
SkyratBot
da540120b8 [MIRROR] Fixes weird use of repeat_string to try to loop over something in Ringleader's Rise spell [MDB IGNORE] (#26081)
* Fixes weird use of `repeat_string` to try to loop over something in Ringleader's Rise spell (#80899)

## About The Pull Request

`repeat_string` is made to repeat... strings, hallucination datums are
not strings. I assumed they were just trying to iterate instead.

![image](https://github.com/tgstation/tgstation/assets/51863163/ee58d6eb-bf3c-43b9-bfae-955aa1c125d7)

## Changelog

🆑 Melbert
fix: Fix Ringleader's Rise not causing as many hallucinations as
expected
/🆑

* Fixes weird use of `repeat_string` to try to loop over something in Ringleader's Rise spell

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-12 03:12:06 +01:00
SkyratBot
3deb177b16 [MIRROR] FIxes being unable to heal constructs with certain cult spells [MDB IGNORE] (#26075)
* FIxes being unable to heal constructs with certain cult spells (#80901)

## About The Pull Request

These calls never got updated from when they were made basic.

Also I'd love to just use `adjustBruteLoss(-amt)` for these but basic
mob damage is a bit cringe (it would allow you to exceed health cap and
also it would apply brute modifiers)

## Changelog

🆑 Melbert
fix: Fixes some cult spells being unable to heal constructs (blood rites
particularly)
/🆑

* FIxes being unable to heal constructs with certain cult spells

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-12 03:05:13 +01:00
SkyratBot
7d7eb193bb [MIRROR] Changes how Cultists obtain the bastard sword. Instead of sacrificing Heretics, you now sacrifice Null Rods, with a caveat. [MDB IGNORE] (#26066)
* Changes how Cultists obtain the bastard sword. Instead of sacrificing Heretics, you now sacrifice Null Rods, with a caveat.  (#80583)

## About The Pull Request

Merry Christmas, I bring Chaplain code.

This PR reworks how cultists obtain the bloody bastard sword.

Instead of sacrificing a Heretic, you gain the bastard sword by
sacrificing a Null Rod that has been used by a holy person to spill
cultist blood.

You can also sacrifice a Null Rod to turn it into a cult blade it if
hasn't spilled any blood, as a means of destroying it.

- Putting a Null Rod over an Offer rune with
   - 0 or 1 cultist crits / kills will transform it into ritual dagger.
   - 2 cultist crits / kills will transform it into longsword.
- 3 or more cultist crits / kills will transform it into the bastard
sword.

This effect does not apply to special null rod types like the Bow or
Scythe implant.

Heretics retain their innate cult stun resistance, and are still
un-convertable.

## Why It's Good For The Game

- Allowing the Cult to get multiple of these things is horrible.
   - This puts a soft-cap on it to 1 under most circumstances.
- This makes obtaining the sword less incredibly easy.
- Heretics require a lot more time and effort to get equipped to pose a
passing chance fighting cultists. As a consequence, it's dead easy to
obtain: `I try to convert a guy 10 minutes into the round, they glow
green, I stab them to death with my dagger. They can do nothing to
defend themself. Free sword.`
- Instead, we put it behind the chaplain, who more often than not is
protected by security.
- Additionally, we put it behind the requirements that the chaplain is
*robust*: a chaplain that has been killing cultists actively.
- This also serves as a "comeback" mechanic, as if a chaplain has been
ripping and tearing through your ranks, but you manage to take them
down, you are rewarded with a strong weapon.

Honestly I would prefer if we straight up removed the sword (or... maybe
nerfed it) but improve, don't remove etc.

## Changelog

🆑 Melbert
balance: Blood cultists can now convert a Null Rod into a cult weapon on
an offer rune. The strength of the weapon it is converted into depends
on how many cultists the Chaplain crit / killed with it. At five or
more, it will turn into a Bastard Sword. Note, sacrificing someone
holding a Null Rod will automatically convert it after they are gibbed.
balance: Heretics no longer produce a Bastard Sword upon cult
conversion. They are still immune to cult stun and cannot be converted
by blood cultists.
/🆑

* Changes how Cultists obtain the bastard sword. Instead of sacrificing Heretics, you now sacrifice Null Rods, with a caveat.

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-10 06:34:30 -05:00
SkyratBot
2b4963047e [MIRROR] More heretic path fixes [MDB IGNORE] (#26061)
* More heretic path fixes (#80855)

## About The Pull Request

Fixes Lionhunter Rifle being inaccessible to all paths but Rust and
Blade.

Fixes certain key lock knowledges being inverted.

## Changelog

🆑 Melbert
fix: Lionhunter Rifle is now available at the same point as Mawed
Crucible, making it available to all paths again.
fix: Lock knowledge now goes the correct order. Mark -> Ritual -> Unique
item, rather than backwards.
/🆑

* More heretic path fixes

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-10 06:30:53 -05:00
SkyratBot
b882448457 [MIRROR] Fix the Codex Cicatrix transmutation not working as intended [MDB IGNORE] (#26057)
* Fix the Codex Cicatrix transmutation not working as intended (#80862)

## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/78739, caused by
broken logic in
`/datum/heretic_knowledge/codex_cicatrix/recipe_snowflake_check`.

This is my fix at
https://github.com/Monkestation/Monkestation2.0/pull/881 ported
upstream.

## Why It's Good For The Game

Because it's very inconvenient when the game says you can use X to craft
Y, when in reality it doesn't work due to a bug.

## Changelog
🆑
fix: Fixed the Codex Cicatrix always requiring a dead body, despite the
description saying leather or a hide would work too.
/🆑

* Fix the Codex Cicatrix transmutation not working as intended

---------

Co-authored-by: Lucy <lucy@absolucy.moe>
2024-01-10 06:27:30 -05:00
SkyratBot
8705e531e1 [MIRROR] Replace natural beheading with cranial fissures (splitting your skull) [MDB IGNORE] (#26020)
* Replace natural beheading with cranial fissures (splitting your skull) (#80703)

## About The Pull Request

Replaces natural beheading (doing a lot of damage to the head) with
cranial fissures, which split your skull in half.

![dreamseeker_2023-12-31T19-38-16](https://github.com/tgstation/tgstation/assets/35135081/f84dc479-6156-45b7-bb23-4e4ec7378f6b)

While you have this wound, your eyes can be pulled out of your head with
bare hands, and slipping will spill your brain out of your head.

Removes beheading objective from traitor.

Zombies can be beheaded all the same.

Any other way of beheading, such as surgery or amputation shears, is
still possible.

Closes #80439

## Why It's Good For The Game

I've enjoyed seeing the results of the test merge to remove natural
beheading. At 947 beheadings in a week, 1 in every 7 deaths resulted in
a beheading. This makes it significantly easier to remove people from
rounds as the brain is generally critical to actually reviving someone.
While round removal is fine, it should be something that is
intentionally performed with enough effort. Mass round removals ought to
require a significant amount of effort. There are plenty of ways to
round remove someone, but it ought not be an incidental choice.

The effects of beheading removal have shown some interesting anecdotal
highlights (nothing here is backed up with stats, so take it with a
grain of salt):
1. As a whole, people did not really replace it with anything. The
biggest alternative has been lighting people on fire, but this has not
been done at a significant enough scale at all to be a noteworthy
problem, and is still fixable with enough effort.
2. Cult and rev rounds have played out far more interestingly. In one
round I was adminning a head of staff who intended to behead every
revolutionary they saw, but because they didn't, the back and forth
continues. I've also had opportunities to revive head revs that I am
skeptical would've been available to me otherwise.

Complete removal of beheading was not chosen as it does not feel right
for a repeated fire axe to the head to do basically nothing. The current
implementation is intended to be something that is just not useful
enough to do on everyone you see, but is still appreciably an effect.

## Changelog
🆑
balance: Instead of too much damage to the head beheading someone, it
will now split their skull in half. While their skull is open, you can
rip out their eyes with your hands. and they will spill their brain out
of their head if they slip.
balance: The Path of Blades ascension will accept either a beheaded
person, or someone with their skull split open.
del: Removed the beheading objectives from traitor.
/🆑

* Replace natural beheading with cranial fissures (splitting your skull)

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2024-01-06 14:30:08 +00:00
SkyratBot
238a056763 [MIRROR] [NO GBP] Fixes path of moon and path of lock sidepaths, replaces brains with other organs [MDB IGNORE] (#25991)
* [NO GBP] Fixes path of moon and path of lock sidepaths, replaces brains with other organs (#80730)

## About The Pull Request

This pull request makes the paths as follows:
Rust<>Cosmic<>Ash<>Moon<>Lock<>Flesh
This means flesh and ash are no longer adjacent and their old sidepaths
is now between moon and ash
Apetra Vulnera has been moved up one tier and is now unlocked at
caretakers refuge/stalker for lock/flesh.
## Why It's Good For The Game
Heretic paths should actually fit with each other and this ensures that
it does. As for the removal of brains from certain rituals it is a very
difficult organ to obtain as opposed to the rest of the bunch and we are
moving towards a direction of making brains even harder to obtain so
this ensures those rituals still stay relevant.
## Changelog
🆑
qol: Path of moon and lock now actually fit in the heretic tree
balance: Certain path of moon rituals that needed brains now use easier
to obtain organs
/🆑

* [NO GBP] Fixes path of moon and path of lock sidepaths, replaces brains with other organs

---------

Co-authored-by: Rex9001 <120136161+Rex9001@users.noreply.github.com>
2024-01-04 19:42:35 +00:00
SkyratBot
fcda05b6df [MIRROR] [NO GBP] fixes moon heretic ascension [MDB IGNORE] (#25981)
* [NO GBP] fixes moon heretic ascension (#80738)

## About The Pull Request
The ascension didnt produce any lunatics because it fails to find
everyone and so a z-level check failed causing no people to turn into
lunatics
## Why It's Good For The Game
The bug causes the ascension to not work
## Changelog
🆑
fix: the moon heretic ascension now produces lunatics again
/🆑

---------

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

* [NO GBP] fixes moon heretic ascension

---------

Co-authored-by: Rex9001 <120136161+Rex9001@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2024-01-04 19:19:08 +00:00
SkyratBot
76dc205306 [MIRROR] Fix blobbernaut attack runtime on non-living mobs [MDB IGNORE] (#25972)
* Fix blobbernaut attack runtime on non-living mobs (#80740)

## About The Pull Request

Despite being cast to a living, this argument had no guarantee of being
one.

## Changelog

🆑 Melbert
fix: Fixed runtime from blobbernauts attacking non-living things
/🆑

* Fix blobbernaut attack runtime on non-living mobs

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-04 17:00:40 +00:00
SkyratBot
c41dd0e2f4 [MIRROR] Saves some free lag by removing some in area (in world) loops [MDB IGNORE] (#25977)
* Saves some free lag by removing some in area (in world) loops (#80644)

## About The Pull Request

Goes through and changes some `in area` / `in a` loops to use
`get_contained_turfs` to cut down on `in_world` loops. Saves some free
lag.

## Changelog

🆑 Melbert
fix: Some things which affect everything in an area are less laggy, the
"all lights are broken" station trait especially
/🆑

* Saves some free lag by removing some in area (in world) loops

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-04 16:59:25 +00:00
SkyratBot
c3bb222d26 [MIRROR] Some Processing improvements [MDB IGNORE] (#25944)
* Some Processing improvements (#80693)

## About The Pull Request
Got the idea from #80682. A lot of parent procs don't do anything, some
are just formatted in a bad way, and others early return and do no ops,
it's bad in general but this should give us a head start.

Some good overhead saved here

* Some Processing improvements

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2024-01-01 23:42:38 +00:00
SkyratBot
328096d192 [MIRROR] Heretic DLC: Path of Moon [MDB IGNORE] (#25938)
* Heretic DLC: Path of Moon (#79536)

## About The Pull Request
This pull request adds a new path.
The cross path is between ash and lock.

Credit to Fury McFlurry for the following sprites:
 ring_leader_effect

The path goes as follows:
 Moonlight Troupe
 Grasp of Lunacy
 Smile of the moon
 > Sidepaths:
    Mind Gate
    Ashen Eyes

 Mark of Moon
 Ritual of Knowledge
 Lunar Parade
 Moonlight Amulette
 > Sidepaths:
   Curse of Paralasys
   Unfathomable Curio
   Unsealed Arts

Moonlight blade
Ringleaders Rise
> Sidepaths:
   Ashen Ritual

 Last Act

Moonlight Troupe:
The first knowledge of path of moon, lets you make Lunar Blades with 2
iron and a knife

Grasp of Lunacy:
The grasp of this path hides your name for 15 seconds after use, but
more importantly it causes the person hit with the grasp
 to hallucinate everyone as indistinct human like figures.

Smile of the Moon:
A pointed spell that causes temporary blinding, muting, deafening and
confusing on the person its targeted at, these effects
 last longer the less sanity your victim has.

https://github.com/tgstation/tgstation/assets/120136161/db7cfaaa-8fe2-4f20-aa78-c17c17be4d63

Mindgate:
Lock-Moon. This spell causes you and your victim brain damage, the
victim also suffers a short amount of hallucinations
 and also 20 oxyloss.

https://github.com/tgstation/tgstation/assets/120136161/11d15acd-11d0-4e7d-a180-6481b18e9fd9

Mark of Moon:
When applied this paths mark pacifies the victim and they remain
pacifist until attacked or until the mark is detonated, when
 detonated the victim is left confused.

https://github.com/tgstation/tgstation/assets/120136161/41e601b5-76d4-4765-8b49-ada7de09feb7

Lunar Parade:
A spell that sends out a projectile that causes people hit by it to
follow the projectile whilst being unable to move. The
projectile also bounces around and is really useful to get people off
your back during chases.

https://github.com/tgstation/tgstation/assets/120136161/cddc8390-e8aa-4d68-b1a5-ab181e941a9b

Unfathomable Curio:
Transmute 3 rods, a brain and a belt into an Unfathomable Curio a belt
that can hold blades and items for rituals. Whilst worn
will also veil the heretic, allowing them to take 1 hit without
suffering damage, this veil will recharge quickly outside of
combat. If examined the examiner suffers brain damage and temporary
brain damage, and if a non-heretic uses it once the shield is damaged
the non-heretic user suffers massive brain damage and a permanent
uncurbable brain trauma. Lock-moon

Unsealed Arts:
Allows you to transmute a canvas and an additional item to create a
piece of art, these paintings have different effects depending on the
additional item added. Lock-moon
Possible paintings:
    The sister and He Who Wept:
    Additional atoms: Eyes.
When a non-heretic looks at the painting they will begin to hallucinate
everyone as heretics.

   The First Desire:
   Additional atoms: Any bodypart.
Increases the hunger of non-heretics, when examined drops an organ or
body part at the painting.

   Great chaparral over rolling hills:
   Additional atoms: Any grown food.
Spreads kudzu when placed, when examined grants a flower to the heretic.

   Lady out of gates:
   Additional atoms: Gloves.
Causes non-heretics to scratch themselves until they remove their
jumpsuit, when examined removes all your mutations.

    Climb over the rusted mountain:
    Additional atoms: Trash.
Causes non-heretics to rust the floor they walk on and when examined
gives you a cool moodlet

These effects are mitigated for a few minutes when a non-heretic
suffering an effect examines the painting that caused the
effect. Except for great chapparal which spawns kudzu at their feet, and
Lady out of gates which gives them a random negative mutation.

https://github.com/tgstation/tgstation/assets/120136161/1d1bdd2f-cda5-4430-b3af-4742f98a59a8

https://github.com/tgstation/tgstation/assets/120136161/4e843ae4-9786-4e9b-8681-582713f4c789

Moonlight Amulette:
Allows the heretic to transmute 2 sheets of glass, a pair of eyes, a
brain and a tie. If the amulette is used on someone with low
sanity they go berserk attacking everyone if their sanity isnt low
enough it decreases their mood. Optionally you can add a
 poppy in the ritual to further decrease their mood on hit.

https://github.com/tgstation/tgstation/assets/120136161/ab820b3f-e7e6-407a-9a1a-93d49c0d7387

Moonlight Blade:
Causes the heretics blades to do brain and sanity damage whilst causing
hallucinations. The blades also cause giggling and
 laughter on hit.

Ringleaders Rise:
An AoE spell that deals more brain damage the lower the sanity of the
victim, also causes hallucinations that last longer the
lower the sanity of the victim. If the victims sanity is low enoughit
causes them to go insane, the spell then halves their sanity.
This spell is on a longer cooldown and is more meant to be used as a
payoff or an instigator for a fight. The AoE area is 7 tiles

https://github.com/tgstation/tgstation/assets/120136161/4de85ba2-448a-485c-b739-77fcce86c0cb

Last Act:
The ascension lowers the cooldown of all the heretics spells by 33% and
increases the AoE range of Ringleaders Rise. The main
effect of this ascension is a passive sanity drain and hallucination
aura, if you have low sanity in the aura you will start to suffer
brain damage and if you reach the bottom you gain an aura of
hallucinations thus spreading the moon heretics influence
further. Not only that but roughly 1/5th of the crew will rise in
support of you becoming mini-heretics called acolytes that will attempt
to obey your commands!

I had videos showing off everything but they were too big for github
sadly so I will have to think of some other way to showcase all this
stuff.

This pr also adds a new optional atoms system which means that you can
have rituals that can be improved by adding additional atoms, like for
example moonlight amulette.

Feel free to give some suggestions for further ascension effects.
## Why It's Good For The Game

I feel like heretic is really missing a playstyle around insanity and
this slots neatly in to feel that gap. For being an eldritch antag of
horrors there is surprisingly little interaction with the sanity system
and I feel like this makes up for it, heretic is also missing some
distractions which is where the paintings can really shine and the
hallucinations which breed paranoia.

## Changelog
🆑
add: A new heretic path opens up! Gaze up at the great sky for the path
of the moon opens and the lie shall be slain in pursuit of ultimate
truth!
fix: Fixes the syndicate delusion not working
/🆑

---------

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

* Heretic DLC: Path of Moon

---------

Co-authored-by: Rex9001 <120136161+Rex9001@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2024-01-01 15:27:44 +00:00
SkyratBot
e6bd089ef7 [MIRROR] Refactors Crystal Warp Theme datum to use Dimensional Theme datum [MDB IGNORE] (#25934)
* Refactors Crystal Warp Theme datum to use Dimensional Theme datum (#80661)

## About The Pull Request

`/datum/crystal_warp_theme` and `/datum/dimension_theme` both do very
similar, if not identical behaviors, so we can combine them pretty
painlessly.

## Why It's Good For The Game

This gives the crystal more options for themes to pick from, and the
dimensional anomaly more wacky themes to pick from.

## Changelog

🆑 Melbert
refactor: Refactored the area transformation colossus crystal effect to
use the same system dimensional anomalies use. That means the colossus
crystal now has access to some dimensional themes (bamboo, plasma,
glass) and the dimensional anomaly now has access to some colossus
themes (jungle, alien).
/🆑

* Refactors Crystal Warp Theme datum to use Dimensional Theme datum

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-12-31 15:43:40 -05:00
SkyratBot
8eeca186df [MIRROR] Cleans up some extra args in Destroy() [MDB IGNORE] (#25907)
* Cleans up some extra args in Destroy() (#80642)

## About The Pull Request

After https://github.com/tgstation/tgstation/pull/80628, these shouldn't
be needed anymore right?

## Why It's Good For The Game

Cleans up some vestigial code

## Changelog
EDIT: Not player-facing.

* Cleans up some extra args in Destroy()

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2023-12-30 01:21:26 -05:00
SkyratBot
067188d366 [MIRROR] Micro-optimize qdel by only permitting one parameter [MDB IGNORE] (#25889)
* Micro-optimize qdel by only permitting one parameter (#80628)

Productionizes #80615.

The core optimization is this:

```patch
-	var/hint = to_delete.Destroy(arglist(args.Copy(2))) // Let our friend know they're about to get fucked up.
+	var/hint = to_delete.Destroy(force) // Let our friend know they're about to get fucked up.
```

We avoid a heap allocation in the form of copying the args over to a new
list. A/B testing shows this results in 33% better overtime, and in a
real round shaving off a full second of self time and 0.4 seconds of
overtime--both of these would be doubled in the event this is merged as
the new proc was only being run 50% of the time.

* Micro-optimize qdel by only permitting one parameter

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-12-29 14:41:12 +00:00
SkyratBot
d5e4188d21 [MIRROR] Spellchecks let's -> lets [MDB IGNORE] (#25877)
* Spellchecks let's -> lets (#80612)

## About The Pull Request

This is a spellcheck pr

## Changelog

🆑
spellcheck: changes some let's to lets
/🆑

* Spellchecks let's -> lets

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-12-28 07:48:23 -08:00
SkyratBot
fd2e346683 [MIRROR] Fixes throwing hard del [MDB IGNORE] (#25846)
* Fixes throwing hard del (#80551)

## About The Pull Request

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

## Why It's Good For The Game

Less CI failures

## Changelog

🆑
fix: fixes a hard del with thrown items
/🆑

* Fixes throwing hard del

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-12-25 12:15:06 +00:00
SkyratBot
922ec66ee7 [MIRROR] Better Ghost Selection [MDB IGNORE] (#25789)
* Better Ghost Selection

* yes

* oldcode updates and compat

---------

Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-12-25 00:11:10 +00:00
SkyratBot
218fcdb8d5 [MIRROR] adds head of staff job flag [MDB IGNORE] (#25705)
* adds head of staff job flag

* Update jobs.dm

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-12-24 23:05:59 +00:00
SkyratBot
d21f0a63f5 [MIRROR] Remove /datum/game_mode, we SSdynamic now [again] [MDB IGNORE] (#25371)
* Remove /datum/game_mode, we SSdynamic now [again]

* Modular

* OLD CODE + repath

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-12-24 22:57:35 +00:00
SkyratBot
49daf536b5 [MIRROR] [BOUNTY] Re-adds Contractors [MDB IGNORE] (#25094)
* [BOUNTY] Re-adds Contractors

* I hate copy pasted overrides so much. BEGONE

* Fixes the merge conflict. It's still not gonna work, too many proc redefinition

* The sheer amount of overrides

* This is hell

* remove modular copy of spawn_contractor_partner

* part 2 of spawn_contractor_partner oops

* un-duplicate create_contracts proc

* Remove duplicate contract generate and finish_enter

* something to make the linter stop crying

* Receiving

* removes our contractor stuff in favour of parity

* Update SyndicateContractor.tsx

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-12-24 22:00:55 +00:00
SkyratBot
b79167c173 [MIRROR] Organ movement refactor *Un-nullspaces your organs* [MDB IGNORE] (#25530)
* Organ movement refactor *Un-nullspaces your organs*

* Fix conflicts

I checked the conflicts on the two weird conflicts and no previous TG pr touches them i assume its just github being github because those shoulden't be conflicts *shrug

* Fix #1 uhh...this is going to be a long one

* Fix #2 Modular Movement Flags

* Fix #3 It builds now

* Fix #4 Oh god it builds now, I missed some things

* Fix #5 No more Runtimesplosion Now time for Synths

* Update nightmare_organs.dm

* on_mob_insert

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

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

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

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

* bro the fucking brain does not go into the chest.

* seriously? undocumented code causing shit. if it breaks ghouls, so be it.

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com>
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-12-24 19:06:09 +00:00
SkyratBot
b072ecd91f [MIRROR] Deviant Crew antag panel category, Obsessed crew now shown in orbit menu, Paradox Clone orbit tab is now white [MDB IGNORE] (#25803)
* Deviant Crew antag panel category, Obsessed crew now shown in orbit menu, Paradox Clone orbit tab is now white (#80450)

## About The Pull Request

This rounds up the "Other" (Brainwashed, Hypnotised, Wizard Revenge, and
Obsession) antagonist category into the new "Deviant Crew" category.
This tab is white!

Obsessed crew are now displayed in the orbit panel (no other antagonists
in this group are though).

The Spacetime Aberrations (Paradox Clone) group has also been changed to
be white.

Here's how that looks:

![image](https://github.com/tgstation/tgstation/assets/28870487/415b8cbb-7ac3-4e24-9f74-466480c2aab0)
## Why It's Good For The Game

As was the case with paradox clones, observers can already discern when
a player is obsessed. It shouldn't be a pain to observe these guys,
especially when they're a more RP oriented antag that are (usually)
deserving of the audience.

I made paradox clones and obsessed the same color because they're both
in the broader spectrum of "fucked up crew".

Also converts common text entries to a single define. That is good
coding practice I think.
## Changelog
🆑 Rhials
qol: Obsessed crewmembers are now displayed in the orbit panel.
qol: The Paradox Clone orbit menu tab is now white. Neat!
/🆑

* Deviant Crew antag panel category, Obsessed crew now shown in orbit menu, Paradox Clone orbit tab is now white

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
2023-12-23 19:25:28 -05:00
SkyratBot
c908e1111b [MIRROR] Allows ai's to eject from mech domination [MDB IGNORE] (#25804)
* Allows ai's to eject from mech domination (#80357)

## About The Pull Request
Lets ais eject from dominated mechs

If this is too strong at 30 I'd be happy to bump it or apply some other
restrictions
## Why It's Good For The Game
They have a big eject button which is essentially bait at the moment, it
does nothing.

I think its fine to let combat upgraded ai's and malfunctional ai's to
use this mech domination ability more freely, because how it usually
goes is malf ai dominates mech, everyone sees occupants of mech get
tossed out and the ai is promptly killed. I don't think this is fun or
healthy for an ability which is pretty expensive and the only other way
I see it used is an ai just trying to live for a few moments more by
shunting into a cargo mech, from which they can't do a whole lot and
simply exist until the crew figure them out.

TLDR: For a very expensive ability it does not provide a lot of benefit
and is easily dispatched by the crew.
## Changelog
🆑
balance: Ai's using the mech domination ability can now eject from the
mech
/🆑

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>

* Allows ai's to eject from mech domination

---------

Co-authored-by: Rex9001 <120136161+Rex9001@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
2023-12-23 19:25:19 -05:00
SkyratBot
9a3fb5c5c1 [MIRROR] FOV is Dead (Long Live FOV) [MDB IGNORE] (#25600)
* FOV is Dead (Long Live FOV)

* Update _megafauna.dm

* Update _vehicle.dm

* FOV Hotfix: Actually offsets gameplane render relays

* removes redundant visual_shadow

* removes GAME_PLANE_UPPER references

* Update mob_movement.dm

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-12-23 17:47:07 +00:00