Commit Graph

14591 Commits

Author SHA1 Message Date
SkyratBot ee5a40cb2b [MIRROR] Minor Gravity Fixes [MDB IGNORE] (#20127)
* Minor Gravity Fixes (#74285)

## About The Pull Request

Fixes forced gravity not updating a mob (trait was added too early,
before hook signals are registered)
Fixes spawning a mob in space not causing floats (default grav was 0, so
== null was wrong)
Runs shake_everyone() (Our gravity gen reaction hook) AFTER gravity
changes, ensuring mobs hook into it

## Why It's Good For The Game

Closes #74271
Closes #74272 (Caused by being in nograv but not floating)
Closes #74274
## Changelog
🆑
fix: Fixes a bunch of minor gravity bugs, report em if you see more
yeah?
/🆑

* Minor Gravity Fixes

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-03-29 22:27:00 +01:00
SkyratBot 79bb4facfc [MIRROR] Removes networks from the game [MDB IGNORE] (#20083)
* Removes networks from the game (#74142)

## About The Pull Request

This is a continuation of
https://github.com/tgstation/tgstation/pull/74085 - I announced in the
comments there that this would be my next PR, and this is it.

Removes SSnetwork, ``/datum/ntnet``,
``/datum/component/ntnet_interface``, ``var/network_root_id``, the
network unit test, and a lot of other things related to networks.

- NTNet circuits now check for an Ntnet relay, and uses signals to
operate.
- Logs in Wirecarp is now only for PDA and Ntnet Relay things, so you
can no longer see what ruins exist using it (why should Wirecarp know
that Oldstation spawned? The flavor is that they dont know its there).
- Removed it from MULEbots entirely, I don't think it even did anything
for them? Botkeeper seems to work without it, so it's possibly there
from pre-tgui PDAs.
- Moves assigning random names to a base proc instead of being tied to
network, this is things like random-naming scrubbers/vents. The behavior
hasn't changed at all.
- Makes Ntos work for consoles when relays are down, as the comments
said they're supposed to (because they're wired). I think this was an
accidental change on my part, so this is a revert of that.

## Why It's Good For The Game

Ntnet is ancient code that hasn't given us much that we can't do with
already existing alternatives, we've been slowly moving away from it for
init times, and though a large portion of that was limited to airlocks,
I still don't think this is a system worth keeping around.
It's way too complex to expect feature coders to do anything with it,
and too old with better alternatives for anyone to want to improve any
of it.

## Changelog

🆑
fix: Computers are now properly connected to Ethernet, and can use Ntos
when Relays are down.
refactor: Removes Ntnet and Ntnet interfaces, which was only used by
Ntnet circuits (which now directly checks for a Relay to work) and
MULEbots, which did nothing with it.
balance: Wirecarp no longer tells you what ruins spawned in a round,
instead it's limited to PDA logs, and tells you the source too. This
means the RD can catch someone running illegal programs if they don't
make any attempt at hiding it.
qol: Wirecarp logs is now set to save 300 at once, instead of 100 and
being increased to 300 by the RD during the round. This is pretty
insignificant, since there's no reason to NOT want as many logs as
possible.
/🆑

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>

* Removes networks from the game

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
2023-03-27 03:28:18 +01:00
SkyratBot 43fde4181e [MIRROR] Saves roughly 20% off living/Life(), makes gravity event based [MDB IGNORE] (#20074)
Saves roughly 20% off living/Life(), makes gravity event based

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 03:28:03 +01:00
SkyratBot 2f291c7ea1 [MIRROR] Reworks blood deficiency backend, & some adjustments to slime blood deficiency [MDB IGNORE] (#20037)
* Reworks blood deficiency backend, & some adjustments to slime blood deficiency

* Update jellypeople.dm

* e

* wew

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

Co-Authored-By: san7890 <the@san7890.com>

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

I was looking over https://github.com/tgstation/tgstation/pull/74143 one
last time as I tend to do with merged PR's and noticed a couple of
nitpicky comment formatting things that will grate on me. Sorry about
this @san7890

Edit: Then even worse I found a bug. Roundstart species with blood
deficiency should now get the appropriate blood pack mail goodies sent
to them. I had completely forgotten about ethereals. Code is a bit
cleaner too.

Fixes bug, dmdoc formatting

🆑
fix: fixed blood deficiency quirk sending the wrong blood pack to
roundstart species who have exotic blood
/🆑

Co-Authored-By: san7890 <the@san7890.com>

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

Followup to #74189

What it says on the tin. This is the last time I will ping you on a
blood-deficiency related PR, I swear! @san7890

About lizards--they have a special bloodtype that isn't compatible with
the generic O- that gets sent to everyone else, which I am just now
realizing.

I also realized that there is never a situation when `on_species_loss`
gets called without `on_species_gain` so there is no reason to call
`update_mail_goodies` in each of those. I deleted the extra proc calls
in `on_species_loss` to save on performance.

Also cleans up some single letter vars in the lizard species file.

Fixes an oversight, cleans up some code.

🆑
qol: lizards with blood deficiency now receive the type 'L' blood packs
instead of an unhelpful type 'O-' one.
/🆑

Co-Authored-By: san7890 <the@san7890.com>

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
2023-03-27 03:27:08 +01:00
SkyratBot 6e029611ac [MIRROR] Implements AddTraits and RemoveTraits procs for adding/removing multiple traits + swag unit test [MDB IGNORE] (#19959)
* Implements AddTraits and RemoveTraits procs for adding/removing multiple traits + swag unit test

* MISSED MIRROR https://github.com/tgstation/tgstation/pull/71606

* Update modules_supply.dm

* Update tgstation.dme

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 03:26:52 +01:00
SkyratBot 493498b022 [MIRROR] Fixes cliented brainmobs being sent to the gem room when their amputated head is reattached to a body. [MDB IGNORE] (#20069) 2023-03-26 18:03:33 -07:00
SkyratBot 96be018eb1 [MIRROR] Refactors Suiciding Variable Into Trait [MDB IGNORE] (#20017)
* Refactors Suiciding Variable Into Trait

* suicide

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

MISSED IRROR

* better suicide handling

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 02:03:05 +01:00
SkyratBot 8a9768cce5 515 DEPENDANCY UPDATES (#19873)
* Experiment flag for not caching ref on 515

* Update vv_outfit.dm

* MANUAL MIRROR https://github.com/tgstation/tgstation/pull/72657

* MANUAL MIRROR https://github.com/tgstation/tgstation/pull/73788

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-26 23:35:04 +01:00
SkyratBot d4c8a4ed9e [MIRROR] Resolves mutant species keeping old organs they shouldn't have [MDB IGNORE] (#19958)
* Resolves mutant species keeping old organs they shouldn't have (#73728)

## About The Pull Request

regenerate organs never removed invalid organs when regenerating
## Why It's Good For The Game

Fixes https://github.com/tgstation/tgstation/issues/73640
adds a unit test to prevent regressions in the future

## Changelog
🆑
fix: Plasmamen don't have hearts, again
/🆑

* Resolves mutant species keeping old organs they shouldn't have

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

* Now everything should pass, yes, even appendixes for synths

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
2023-03-26 13:28:28 -04:00
SkyratBot 2728bbe9a9 [MIRROR] Polishes some side sources of light and color [MDB IGNORE] (#19860)
* Polishes some side sources of light and color (#73936)

## About The Pull Request

[Circuit Floor
Polish](https://github.com/tgstation/tgstation/commit/6b0ee9813271f693ceb44ad42277c36ef2e71268)

Circuit floors glow! but it looks like crap cause it's dim and the
colors are washed out.
I'd like to make them look nicer. Let's make them more intense and
longer range, and change the colors over to more vivid replacements.

While I'm here, these should really use power and turn on and off based
off that.
Simple enough to do, just need to hook into a signal (and add a setter
for turf area, which cleans up other code too).

[Desklamp
Upgrade](https://github.com/tgstation/tgstation/commit/8506b13b9c97bf740c3e97db04450555387dd126)

Desklamps look bad. They're fullwhite, have a way too large
range.Crummy.
Let's lower their lightrange from 5 to 3.5, and make the ornate ones
warmer, and the more utilitarian ones cooler. The clown one can be
yellow because it's funny

I'm renaming a color define here so I'm touching more files then you'd
expect

[Brightens
Niknacks](https://github.com/tgstation/tgstation/pull/73936/commits/835bae28e9eb9946be53c9f5dac0a0a39f15ef21)

Increases the light range of request consoles, status displays,
newscasters, and air alarms (keycard machines too, when they're awaiting
input at least)
Increases the brightness of air alarms, I think they should be on par
with apcs, should be able to tell when they're good/bad.
Increases the brightness of vending machines (I want them to light up
the tiles around them very lightly, I think it's a vibe)

Fixes a bug with ai status displays where they'd display an emissive
even if they didn't have anything on their screen, looking stupid.
This was decently easy but required a define. Looked really bad tho

## Why It's Good For The Game

Pretty

<details>
<summary>
Circuit Floors
</summary>

Old

![image](https://user-images.githubusercontent.com/58055496/224534470-c6eac5f5-5de6-40e9-897d-3212b8796d81.png)

![image](https://user-images.githubusercontent.com/58055496/224534477-ad412ad9-f7c4-44ae-ad75-a1a2c9bd17be.png)

New

![image](https://user-images.githubusercontent.com/58055496/224534486-b7b408a3-546c-4f90-aa9f-0e58bf8128ad.png)

![image](https://user-images.githubusercontent.com/58055496/224534496-626458f7-ab63-429c-a5db-eae9c784d06a.png)
</details>

<details>
<summary>
Desk Lights
</summary>

Old

![image](https://user-images.githubusercontent.com/58055496/224534513-9868b0b8-bc73-4b45-b986-8445078a8653.png)

![image](https://user-images.githubusercontent.com/58055496/224534518-bbbc8c6d-b59e-4f28-a31c-6c6a7e2c2885.png)

New

![image](https://user-images.githubusercontent.com/58055496/224534529-7988f440-03be-42ef-894c-b9e77f577ae5.png)

![image](https://user-images.githubusercontent.com/58055496/224534532-c3f2c6bf-c925-4a59-a8f9-10bb955a9942.png)
</details>

The niknack changes are more minor so I'm not gonna grab photos for
them. I can if you'd like but I don't think it's necessary. Mostly a
vibes in dark spaces sorta thing

## Changelog

🆑
add: I made circuit floors brighter and more vivid.
add: Made air alarms, vending machines, newscasters, request consoles,
status displays and keycard machines slightly "brighter" (larger light
range, tho I did make air alarms a bit brighter too)
add: Tweaked desklamps. Lower range, and each type gets its own coloring
instead of just fullwhite.
fix: AI displays are no longer always emissive, they'll stop doing it if
they aren't displaying anything. Hopefully this'll look nicer
/🆑

* Polishes some side sources of light and color

* yellow

* Update dance_machine.dm

* Merge branch 'upstream-merge-73936' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-merge-73936

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-26 01:39:17 -07:00
SkyratBot dbb6c5fba4 [MIRROR] Adds non-clothing item equipping others feedback messages [MDB IGNORE] (#19881)
* Adds non-clothing item equipping others feedback messages (#73982)

## About The Pull Request
Things like pens weren't giving any feedback messages when you put them
on someone else, and I ran into this while working on another PR so I've
dealt with that

Renames `worn_dangerous` to `show_visible_message` as it was only used
to confirm if there would be visible messages or not
The `DANGEROUS_OBJECT` clothing flag is a trait now, so it can be put on
non-clothing items too
Removing non-clothing items from someone has been unchanged.

## Why It's Good For The Game
People should be able to identify that someone is putting something on
them, and recognize what that is if they pay attention.
This means that a player cannot reverse pickpocket a grenade onto
someone else without giving any indication of doing so

## Changelog

🆑
balance: Putting a non-clothing item onto someone else creates a visible
message the same way a clothing item would.
/🆑

* Adds non-clothing item equipping others feedback messages

---------

Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
2023-03-25 23:28:13 -07:00
RatFromTheJungle 8a49595c9f [MISSED MIRROR] Changes the hypno flash to work on unconscious people #73025 (#20077)
Update carbon.dm
2023-03-25 23:25:51 -07:00
SkyratBot 7fe3ebcaf7 [MIRROR] Fixes Ice Slipping, Refactors noslip mechanics, Allows magboots to prevent slip slides (but not the slip itself) [MDB IGNORE] (#19874)
* Fixes Ice Slipping, Refactors noslip mechanics, Allows magboots to prevent slip slides (but not the slip itself)

* Update snail.dm

* NOSLIP

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-25 23:22:58 -07:00
SkyratBot f54d999047 [MIRROR] Bioscrambler scrambles your organs again [MDB IGNORE] (#20042)
* Bioscrambler scrambles your organs again

* Update _organ.dm

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-25 02:17:34 -07:00
SkyratBot 1210dfb9ef [MIRROR] Adds wire brush to janivend and janiborg. Also adds ability to put it in janibelt. [MDB IGNORE] (#20012)
* Adds wire brush to janivend and janiborg. Also adds ability to put it in janibelt.

* merge conflicts

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-25 01:28:55 -07:00
SkyratBot d96c138031 [MIRROR] Ethereals now correctly list "LE" as their blood type in medical records. [MDB IGNORE] (#20062)
* Ethereals now correctly list "LE" as their blood type in medical records. (#74209)

## About The Pull Request
Fixes #74208

One line change woo yea. How did we have this in place for vampires but
not ethereals? That's wild. Yeah yeah, I tested it. Everything is nice
and shiny, all works good.
## Why It's Good For The Game
So it turns out ethereals do not have AB- and what I just did is called
"malpractice".
## Changelog
🆑
fix: The intern who was recording Etheral crewmembers' bloodtypes as
random human bloodtypes has been replaced with an intern who has seen
the example made of the previous one.
/🆑

* Ethereals now correctly list "LE" as their blood type in medical records.

---------

Co-authored-by: Vladin Heir <44104681+VladinXXV@users.noreply.github.com>
2023-03-25 01:02:08 -07:00
RatFromTheJungle 9cfb03f2f4 [MISSED MIRROR] "Viscerators no longer feature active camouflage (bugfix) #72826" (#20060)
Update syndicate.dm
2023-03-24 16:50:11 -07:00
SkyratBot 0d2ba72250 [MIRROR] Replaces internal_organs with organs [MDB IGNORE] (#19871)
* Replaces internal_organs with organs

* Makes all of the necessary internal_organs -> organs in our files to compile

And it seems to work too!

---------

Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-03-24 13:27:48 -04:00
SkyratBot 73f96f1a3e [MIRROR] refactors emote visuals [MDB IGNORE] (#19289)
* refactors emote visuals

* emotes

* Now it works, let's gooooo

---------

Co-authored-by: kawoppi <94711066+kawoppi@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-03-24 13:26:17 -04:00
SkyratBot 6a2703a7fb [MIRROR] Fixes the arguments of bodypart_overlay's color_image() and its lack of early returns in subtypes [MDB IGNORE] (#19761)
* Fixes the arguments of bodypart_overlay's color_image() and its lack of early returns in subtypes

* Basically also adds https://github.com/tgstation/tgstation/pull/72992

* Whoops, this could've been bad actually

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-03-24 13:25:54 -04:00
Useroth c76182a977 [TESTMERGE CANDIDATE] [SEMI-MODULAR] AI and hologram QoL stuff + misc bugfixes (#19248)
* Standarized silicon examine stuff.

* There we actually go

* Fuck, finally.

* Let's do something to amend the double-messages

* fixing a dumb copypaste

* How dumb of me

* Amendments

* oh well, this should take care of some runtimes

* this too

* Okay now it should compile

* Oh well, might as well do this too

* Dear got, subtler is full of spaghetti. Even before I touched it. It legitimately deserves a fucking rewrite.

* one way to resolve a conflict

* ordered tgstation.dme correctly now

* fiiiixed
2023-03-24 11:27:18 -04:00
SkyratBot 3178cf2fcc [MIRROR] NODISMEMBER mobs are no longer miraculously immune to the flesh heretic worm [MDB IGNORE] (#20008)
* NODISMEMBER mobs are no longer miraculously immune to the flesh heretic worm (#74141)

When the NODISMEMBER trait check was passed, it would return without
calling the rest of AttackingTarget and not actually follow through with
dealing the damage. Now, the early return calls parent and completes
normally.

* NODISMEMBER mobs are no longer miraculously immune to the flesh heretic worm

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-03-22 00:47:03 -07:00
SkyratBot d5a6379d86 [MIRROR] Tram signal process/destination improvements [MDB IGNORE] (#19990)
* Tram signal process/destination improvements (#74072)

## About The Pull Request

- Tram crossing signals now call process() much less often
- Tram crossing signals don't turn amber/red needlessly
- Tram destination landmarks are more generic to accommodate future
maps, like Birdshot
- Renames to_where and from_where, because those vars didn't always
match tram position to/from

## Why It's Good For The Game

Tram works better, uses less processing

## Changelog

🆑 LT3
code: Tram crossing signal/platform logic improvements
/🆑

* Tram signal process/destination improvements

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-03-20 02:01:19 +00:00
SkyratBot 60f88f8466 [MIRROR] Fix not being able to read in full bright areas [MDB IGNORE] (#19978)
* Fix not being able to read in full bright areas (#73843)

## About The Pull Request
Fixes #73830
Fixes #74107

There seems to be a problem when the map template reloads for full
bright areas, but only for thunderdome specifically. Very strange and my
fix feels like a band-aid but it's a niche bug report.

Also deleted an area that was not used anywhere in the codebase.

## Why It's Good For The Game
Silly bug go bye bye.

## Changelog
🆑
fix: Fix not being able to read in full bright areas
/🆑

* Fix not being able to read in full bright areas

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
2023-03-19 17:09:46 -07:00
SkyratBot f377043351 [MIRROR] Fixes "melty humans" [MDB IGNORE] (#19969)
* Fixes "melty humans" (#74076)

## About The Pull Request

Fixes #73154

Includes human height in icon render key.

The logic here is that if two mobs share the same icon render key they
probably grab the same icon and thus a tall person would grab a "short
person icon".

## Why It's Good For The Game

Melty bad

## Changelog

🆑 Melbert
fix: Fixes rare human arm melting condition
/🆑

* Fixes "melty humans"

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-03-18 21:59:51 -07:00
Hatterhat 669d17934b [MODULAR, PROBABLY-ISH] fixes funny grab interactions (headslams/suplexes/dislocations) (#19960)
* works on my machine

* goodbye lmb interactions!

* should? be fine

* Update code/__DEFINES/~skyrat_defines/combat.dm

* whoops

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-03-19 03:58:38 +00:00
SkyratBot 957f051f2a [MIRROR] Fix explosive holoparasite plant bomb runtime [MDB IGNORE] (#19913)
* Fix explosive holoparasite plant bomb runtime (#74012)

## About The Pull Request

If you planted a bomb as an explosive holopara it would do a stack_trace
cause it was using RegisterSignal instead of RegisterSignals
So, literally just changed RegisterSignal to RegisterSignals

## Why It's Good For The Game

Fixes #73854

## Changelog
🆑
fix: Explosive holoparasites no longer runtime if they plant bombs
/🆑

* Fix explosive holoparasite plant bomb runtime

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-03-18 03:26:55 -07:00
SkyratBot c03fc1ffd0 [MIRROR] Fixes some incorrect uses of rand() [MDB IGNORE] (#19910)
* Fixes some incorrect uses of `rand()` (#74032)

## About The Pull Request

`Rand` only takes integers

![image](https://user-images.githubusercontent.com/51863163/225454770-bdb70aca-ed43-4c17-a943-2ec99720b53d.png)

![image](https://user-images.githubusercontent.com/51863163/225454784-8f9cc053-8e7d-46fd-b6b2-42efb0751d5e.png)

## Why It's Good For The Game

Less misleading code

## Changelog

🆑 Melbert
fix: Lead batteries now start partially drained as intended.
/🆑

* Fixes some incorrect uses of `rand()`

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-03-18 03:26:13 -07:00
SkyratBot 3378d5b831 [MIRROR] Fix borg synthesizers getting stuck on the status panel [MDB IGNORE] (#19923)
* Fix borg synthesizers getting stuck on the status panel (#74017)

## About The Pull Request

Unregisters status panel signal if the robot model item is deleting

## Why It's Good For The Game

Fixes #73594

## Changelog

🆑
fix: Borg synthesizers will no longer remain on the status panel if a
borg changes modules
/🆑

* Fix borg synthesizers getting stuck on the status panel

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-03-18 03:19:04 -07:00
SkyratBot 408f0e9c5a [MIRROR] Audits usage of isanimal() vs isanimal_or_basic_mob() [MDB IGNORE] (#19938)
* Audits usage of isanimal() vs isanimal_or_basic_mob() (#74029)

## About The Pull Request

There's a couple of open issues which fix places where only simple
animals were considered, but they are doing it piecemeal.
I decided to just go through every instance of `isanimal` or
`subtypesof(mob/living/simple_animal)` I could find, identify which
should also affect basic mobs, and fix them.

I left out the two others which are already in PR, I'm not stealing your
GBP.

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

## Why It's Good For The Game

Consistency, mostly.
As far as I can tell all of these things _should_ have effected basic
mobs, but didn't.
This fixes a fair number of bugs but also they're bugs that nobody
noticed or reported.

There are a couple of places I did not update which will need updating
in future. These are:
- Dextrousness checks, because basic mobs don't have that yet.
- The Charge cooldown action, because frankly I couldn't tell what it
was trying to do.

alright here goes

## Changelog

🆑
fix: Carp will once again be healed from being near carp rifts
fix: Sepia slime cores and the rewind camera now work on Ian
fix: Sapient ridden carp (or cows) can throw off their riders by shoving
them, or by performing the spin emote.
fix: Giant Spider AI will be disabled by the timestop spell
fix: Ian can eat envirochow
fix: Mice, Frogs, and Cockroaches will no longer set off bear traps
fix: You can put a macrobomb implant into Cayenne (or Ian)
fix: Ian will now recognise that being squeezed by a cyborg is a nice
hug
fix: The player panel will tell admins if you're currently a corgi
fix: The staff of storms deals massive damage to Bileworms and Giant
Spiders
fix: Ian will whimper if forced to scream
fix: Slimes can consume space carp
fix: Mice can be captured in xenoballs
fix: You can use pacifying potions on Giant Spiders
fix: Sgt Araneus can be fitted with a xenobiological radio implant
fix: Sapient corgis no longer count as living players for the purpose of
highlander escape objectives
fix: The random sentience event can now target corgis and sergeant
araneus
add: The random sentience event can target a wider array of farm animals
fix: Petsplosion wizard event can target corgis
add: Petsplosion wizard event will now target farm animals and
mothroaches
fix: The colossus possession crystal can now actually possess the
cockroach it spawns, does not kill you instantly upon ending possession
/🆑

* Audits usage of isanimal() vs isanimal_or_basic_mob()

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-18 03:15:31 -07:00
SkyratBot 6a75ebc943 [MIRROR] Player-controlled Regal Rats now lick or scratch based on their combat mode [MDB IGNORE] (#19941)
* Player-controlled Regal Rats now lick or scratch based on their combat mode (#74040)

## About The Pull Request
This updates Regal Rats to now check for a user's combat mode when
determining whether to lick or scratch a living target (Lick = combat
off, and Scratch = combat on). It also Closes #68621.

Additionally, it allows for player movement during the licking
interaction to properly cancel that action. Previously, it would attempt
a lick, the player would cancel it, and then the player would attack
their target instead (this was due to an oversight in the code).

Edit: It now also prevents NPC Regal rats from licking entirely, and
fixes their logic so that they move on to a new target after completing
a kill.

## Why It's Good For The Game
It allows players to control what their Regal rat does according to
their combat mode, which matches the behavior for other
player-controlled creatures (such as humans). Plus, this allows Regal
rats control over when to harm living creatures, making them much less
vulnerable than they were before.

Edit: As for NPC Regal rats, it allows them to be a bit more dangerous,
since they'll now only attack creatures that are alive. Moreover,
removing the ability to lick from NPCs helps avoid the strange scenario
where players could belong to a faction which is led by an NPC. (How can
one serve a King that lacks a sentient mind? Spacemen aren't ready for
that type of philosophical dilemma.)

## Changelog
🆑
fix: Player-controlled Regal Rats now lick or claw based on their combat
mode.
fix: NPC Regal rats now properly claw at enemies, moving on to new
targets after completing kills.
/🆑

---------

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

* Player-controlled Regal Rats now lick or scratch based on their combat mode

---------

Co-authored-by: Antonio Tosti <5588048+atosti@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-03-18 03:13:17 -07:00
SkyratBot 96fee5b64b [MIRROR] Admins can now customize the wisdom cow event. [MDB IGNORE] (#19953)
* Admins can now customize the wisdom cow event. (#74045)

## About The Pull Request

Gives admins the ability to customize the spawn location of the cow and
the wisdom that it grants.
## Why It's Good For The Game

Wisdom cows lack any sort of customization at present, this allows
admins to set what type of wisdom which is granted which may be thematic
for events and adding positional spawn support for them is a pretty easy
addition.
## Changelog
🆑
admin: Admins can now customize the wisdom cow event.
/🆑

* Admins can now customize the wisdom cow event.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-03-18 03:08:36 -07:00
SkyratBot bc38ec63e9 [MIRROR] Cleans up ..() usage in organs' Insert() and Remove() [MDB IGNORE] (#19948)
* Cleans up `..()` usage in organs' `Insert()` and `Remove()` (#74055)

## About The Pull Request
fumbled around while investigating #74047 and turns out there's other
organs that have the same issue as the reported alien organs in that
issue. went around and replaced parent calls where applicable
(cursed/demonic hearts, flashlight eyes, alien organs, abductor glands)

## Why It's Good For The Game
Fixes #74047
Considerably less ghost internal organs, hopefully less unreported jank
on removing organs

## Changelog
🆑
fix: fixed a few internal organs acting wonky on inserting/removing
(some xenomorph organs, abductor glands, flashlight eyes, demon/cursed
hearts)
/🆑

* Cleans up `..()` usage in organs' `Insert()` and `Remove()`

---------

Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
2023-03-18 02:35:04 +00:00
GoldenAlpharex 702c3e2ce6 Total refactor of the way we handle and draw mutant_bodyparts (+ missed mirrors that motivated me to do this) (#19635)
* Splits mutant_bodyparts.dmi into several subfiles. (#71408)

Splits the `mutant_bodyparts.dmi` file up, as was suggested, but not
implemented, in #69302.

The following new files were created in the `icons\mob\species` folder,
containing the listed sprites:

- `lizard\lizard_misc.dmi`: Snouts, horns, frills, and body markings.
Anything I didn't feel needed an entire file to itself.
- `lizard\lizard_spines.dmi`: Lizard spines, both animated and not.
- `lizard\lizard_tails.dmi`: Lizard tails, both animated and not.
- `human\cat_features.dmi`: Felinid ears and tails.
- `monkey\monkey_tail.dmi`: The monkey tail.
- `mush_cap.dmi`: The lone mushperson cap, so easily forgotten.

Additionally, I moved `wings.dmi` from `mob\clothing` to `mob\species`.
I'm not sure what it was doing there.

`mutant_bodyparts.dmi` was something of a mess, with parts from four
different species thrown together haphazardly. It probably made sense in
earlier days when "mutant humans" were few and far between, but
splitting it up makes it more intuitive to find these sprites, and
brings it in line with other species - namely, moths. It also means that
any future sprites of these types added will not bloat an oversized file
even more.

Moving the wings file to the species folder just makes sense, because
wings are not a type of clothing.
🆑
refactor: Removed mutant_bodyparts.dmi and distributed its sprites in a
more sensible and granular manner.
/🆑

* External Organ Rework: new bodypart_overlay system (#72734)

Bodypart overlays are now drawn by the new /datum/bodypart_overlay
datum.

External organs no longer draw anything and instead add a special
/datum/bodypart_overlay/mutant to the bodypart, which draws everything

Makes it way easier to add custom overlays to limbs, since the whole
system is now modularized and external organs are just one
implementation of it

I haven't moved anything but external organs to this new system, I'll
move eyes, bodymarkings, hair, lipstick etc to this later

New pipeline is as follows:
- External organ added to limb
- External organ adds /datum/bodypart_overlay/mutant to limb to
bodypart_overlays
- Limb updates its icon, looks for all /datum/bodypart_overlay in
bodypart_overlays
- Very cool new overlay on your limb!

closes #71820

🆑
refactor: External organs have been near-completely refactored.
admin: Admin-spawned external organs will load with a random icon and
color
fix: fixes angel wings not working for non-humans (it was so fucking
broken)
fix: fixes external organs being invisible if they werent initialized
with a human
/🆑

External organs are cool but are pretty limited in some ways. Making
stuff like synthetic organs is kinda fucked. I tried and it was dogshit.
Now you can just give an icon state and icon and you're good (using
/datum/bodypart_accessory/simple)

Stuff like eyes, cat ears and hair seem like good choices for extorgans,
but don't quite work for it because their icons work a lot differently.
This solves for it completely since any organ (or object or whatever)
can add it's own icon to a bodypart.

Want to add an iron plate to someones head? Go ahead. Want a heart to
stick out of someones chest? No problem.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Makes the whole thing compile, although it most likely doesn't work

* Whoopsie daisy

* Now it's starting to work

* ok monkey

* Fixes tails some more

* Moth wings should be wings not moth wings

* Podpeople hair, yeah.

* Okay no more handle_mutant_bodyparts()

* Removed an useless variable from is_hidden()

* Fixes some more can_draw_on_bodypart (I'm gonna have to fix it upstream too)

* Removes the second useless argument of is_hidden()

* No, cat tails are no longer allowed to be snowflake

* Removes some useless variables from humans

* Whoops I forgot to commit this one

* How did I miss this one?

* Okay, yeah, tails and some other stuff show up now. Pod people hair too. Just many of them don't. Good enough for today.

* Okay so after a lot of pain and suffering, many mutant_bodyparts are now functional

* Everything works, except for ears, some of the taur layering, and moth markings (which never worked it seems)

* Alright skintones seem to work rather well now(?)

* Okay, my bad, now they do

* Moth markings can't be selected and won't be added anymore (since they're broken and integrated into the regular markings system anyway)

* Spines are no longer just matching the color of the limb they're attached to

* Moves taur organ and bodypart_overlay out of the sprite_accessory file for taurs, and fixes the taur rendering

* Linters moment

* Alright, spines are working and overlaying properly now

They just need to have a FRONT overlay for the /tg/ ones if we want them to display above the lizard tails, we already have that for vox spines thankfully.

* Disables moth_markings for good

* Fixes some rendering bugs

* Makes ears work (almost, rest of the code has MODsuit stuff in it too :( )

* Made the MODsuit overlays work :)

* Fixed horns and spines

* Fixes all of the screenshot tests

* Removes the Body Markings option from Appearances, use Augments+ instead (because that one works and is just better)

* Bye bye handle_mutant_bodyparts(), I won't miss you :)

* Forgot to take this out, whoops

* Fixes the moth antennae being unticked

* Removes some commented code in a modular file

* Fixes part of the create_and_destroy unit test

* Fixes a pretty big issue that caused some sprite_accessories to be removed from the global list because of the alter_form action (deep copies ftw)

* Fixes the runtimes related to pod_hair

* Gives the vox a better look in the prefs menu

* Fixes the appearance of functional wings

* Makes synths able to access their robotic wings

* Podpeople don't cause runtimes during CI anymore

* Fixes the random appearance of locked functional wings

* Fixed cat and lizard tails using the /tg/ sprites (we have slightly modified ones)

* Fixes the coloring on multi-colored sprites

* Fixes the code for the screenshot of the mammal screenshots and preview, so it has a tail

* Fixes the screenshot tests for a few species

* Fixes tails going invisible when wagging

* Fixes a runtime with horns

* Fixes showing/hiding mutant bodyparts not working at all

* (Hopefully) fully fixes all the issues related to extra and extra2-related icon_states.

* Fixes synth stuff and starts working on pod hair again

* I DID IT PODPEOPLE HAVE HAIR AGAIN

* Fixes the podpeople hair showing up on more than just podpeople

* Fixes the IPC screens showing up on species outside of synthetics

* Fixes a runtime in the pod_hair and the synth_screen's apply_to_human

* Updates the screenshots for podpeople and synths

* Fixes an issue with a certain type of organs

* Fixes another runtime, whoops

* Fixes the markings from /tg/'s Body Markings not being available in our markings system

* Re-adds support for taur-variants of certain mutant bodyparts

* Hopefully fixes a few more runtimes

* Adds some debug variable in the code for now, likely to be removed later if really necessary. This will make my life easier.

* Whoops, that needed to be backwards. :clown:

* Fixes the top snouts not rendering at all

* Fixes the issues where bodytypes weren't handled properly, and thus snouts were getting squished

* Fixes the weird placement of the Xeno Head Emissives in the prefs menu

* Removes a no-longer-necessary override of post_set_preference() in the limbs_and_markings middleware

* Reverts an unnecessary SKYRAT EDIT inside of commented out code

* No longer creates a new body every time we change prefs in the prefs menu, we reusing now lads

I know there's commented out code but I'm going to remove that in another commit

* Removed some more dead code.

* Fixes jellyfish ears being all white

* Fixes plasmaman limbs not displaying because I accidentally hardcoded the limb_id for all augments to "robotic"

---------

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-03-16 13:07:24 +00:00
SkyratBot 763c0c5eb7 [MIRROR] Reworks trashbags slightly [MDB IGNORE] (#19864)
* Reworks trashbags slightly

* fex

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-03-15 18:38:27 -07:00
SkyratBot 6cf1c0ff8a [MIRROR] Fixes slimepeople not being affected by blood deficiency quirk [MDB IGNORE] (#19867)
* Fixes slimepeople not being affected by blood deficiency quirk (#73866)

## About The Pull Request

Slimepeople were not being affected by the blood deficiency quirk due to
having `TRAIT_NOBLOOD`:

https://github.com/tgstation/tgstation/blob/0426f7ddbaa91439c7278189101f5db9c7f2ed95/code/datums/quirks/negative_quirks.dm#L73-L74

Additionally, the rate at which slimes regenerate blood is not the same
as the rate for humans.
I added a new species var, `blood_deficiency_drain_rate`, to allow for
variable drain rates that can be customized on a species basis.

Currently the only species with varying regen rates seem to be
slimepeople and vampires. In the case of vampires, they already lost
blood over time but it will now just happen slightly faster.

One thing to note for posterity: as a side effect of this, slimes with
this trait will have a pretty impressive appetite due to this:

https://github.com/tgstation/tgstation/blob/afe6ecc353eef0db92a23dd1928768651071d11e/code/modules/mob/living/carbon/human/species_types/jellypeople.dm#L63-L66

If you find some way to keep your blood volume higher than
`BLOOD_VOLUME_NORMAL` then you can prevent the nutrition loss entirely.
Easier said than done though! Could lead to some interesting
shenanigans.

Fixes https://github.com/Skyrat-SS13/Skyrat-tg/issues/15447

## Why It's Good For The Game

Fixes a quirk being broken for some species. Code changes to allow for
better handling of such cases as variable species blood regen rates in
the future.

## Changelog

🆑
fix: slimepeople and vampires are now affected by the blood deficiency
quirk
/🆑

* Fixes slimepeople not being affected by blood deficiency quirk

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-03-15 00:51:27 +00:00
SkyratBot 4e42b7fb04 [MIRROR] Re-implements Physical and Mental statuses in crewmember Medical Records [MDB IGNORE] (#19832)
* Re-implements Physical and Mental statuses in crewmember Medical Records

* wew

---------

Co-authored-by: Antonio Tosti <5588048+atosti@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-15 00:47:21 +00:00
SkyratBot 42dd487728 [MIRROR] Station Trait: Spider Infestation [MDB IGNORE] (#19813)
* Station Trait: Spider Infestation (#73893)

## About The Pull Request

Hate having your cables eaten by mice? Nanotrasen have heard your
complaints and settled on a natural, _organic_, and eco-friendly
solution.

When this station trait is active, roundstart and event mouse spawns
have a chance to instead be replaced with duct spiders (both will exist,
it doesn't remove mice).
Duct spiders are largely harmless to humans, actively hunt other
maintenance creatures (such as mice), and have only one _tiny_ downside.

![image](https://user-images.githubusercontent.com/7483112/224345781-2627be98-67f2-4cab-ac40-c6c9b35ea909.png)

These mobs can also sometimes be spawned by a minor scrubber clog event.

As a side note, all spider basic mobs with AI (except Araneus) will now
try to automatically fill a small area around them with webs.

Also I made it so that mobs will ignore their random_walking behaviour
if they're engaged in a `do_after`, just in case.

## Why It's Good For The Game

Adds a little bit of variety to things which can slightly annoy you in
maintenance.
Spiders will automatically make places they live in look like spiders
live there.

## Changelog

🆑
add: A station trait which sometimes populates maintenance with small
spiders. You can wear them as a hat if you wanted to have a spider on
your head for some reason.
add: Spider mobs will automatically start webbing up their environment.
/🆑

* Station Trait: Spider Infestation

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-13 02:00:22 +00:00
SkyratBot 4912b160a8 [MIRROR] Removes bad nodamage var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage [MDB IGNORE] (#19768)
* Removes bad `nodamage` var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage

* wew

* Update drinks.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-11 04:19:58 +00:00
Bloop 6d36e7cd5d [MODULAR] Fixes syndicate ghost roles not spawning with codespeak language, & an assortment of language related fixes/improvements (#19311)
* Fixes syndicate ghost roles not spawning with codespeak language

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

* Fixes a couple issue and adds the new naming scheme

* Phonetic alphabet numbers, fixes trailing space in formatting

* change to NATO numbers rather than phonetic

* final quality sweep

* moved this into the proper place

* Removes the no longer in use 'rank' var

* fixes a runtime

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

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

* Fixes a mistake

* refactor outfit paths

* Doc

* Fixes ashwalkers sometimes spawning without language

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

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

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

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

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

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

* Suggestions

* A more fitting description for this var

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

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

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

* rephrasing

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-03-10 19:56:28 +00:00
Dani Glore cc3459ed86 Add: More Monkey Clothes (#19164)
* Change monkey clothing DMI path to skyrat file

* Add supports_variations_flags = CLOTHING_MONKEY_VARIATION to several uniforms

* Correct colors of util_eng and add missing util_com

* Adding missing security_white and security_blue sprites, updated utility uniforms

* Add missing waiter sprites

* Changing color jumpsuit typepath

* Add conditional for greyscale_config_worn_monkey

* Add worn_icon_monkey support to changelings

* Add GAGS for monkeys to /obj/item/update_greyscale()

* Add greyscale_configs for monkey jumpsuits

* Add worn_icon_monkey and greyscale_config_worn_monkey vars to /obj/item

* Add get_custom_worn_icon and set_custom_worn_icon for monkey species

* Add monkey support to prison jumpsuit

* Adding missing placeholder sprite for adjusted monkey jumpsuit, added missing overlay icon for monkey prison jumpsuit

* Add monkey greyscale_config to /obj/item/clothing/under/color

* Adding adjusted jumpsuit sprite and prison jumpsuit sprite overlay

* Remove BODYTYPE_CUSTOM Monkey hacks

* Relocating override

* Moving overrides to proper locations

* Adding missing CLOTHING_MONKEY_VARIATION bitflag to definitions list

* Relocating overrides to better files, adding missing sprite accessory for adjusted jumpsuit

* Adding custom_worn_icons override var to /datum/species/monkey

* Resetting redsec uniform supports_variations_flags to whats expected

* Relocating more overrides to appropriate folders
2023-03-10 18:05:09 +00:00
Gandalf 0d030f5cbc [MANUAL MIRROR] [MIRROR] https://github.com/tgstation/tgstation/pull/72290 (#19753)
* Turns miming into a trait instead of an unsightly mind boolean (#72290)

https://github.com/tgstation/tgstation/pull/72254 turned to be wildly
unpopular so i'm simplifying it and keeping only the important, code
backend stuff

makes the code gooder, makes mobs without a mind capable of miming (if
that becomes necessary for whatever reason)

Not player facing

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

* Update scream_emote.dm

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2023-03-10 06:42:19 +00:00
SkyratBot 3af2663e7c [MIRROR] Makes "forced" opening and closing of doors way more sane [MDB IGNORE] (#19706)
* Makes "forced" opening and closing of doors way more sane

* Update airlock.dm

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:41:59 +00:00
SkyratBot d2acbc97d7 [MIRROR] Lowers nightvision threshold to work for mesons, fixes not being able to examine stuff lit by overlay lights [MDB IGNORE] (#19704)
Lowers nightvision threshold to work for mesons, fixes not being able to examine stuff lit by overlay lights

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:41:52 +00:00
SkyratBot fa7538b5dc [MIRROR] Adds the "Law panel", a control center for admins interacting with silicon laws [MDB IGNORE] (#19655)
* Adds the "Law panel", a control center for admins interacting with silicon laws

* Update admin_verbs.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:10:46 +00:00
SkyratBot d240a2a0af [MIRROR] Brings the monkey back down (body horror edition/addition.) [MDB IGNORE] (#19572)
* Brings the monkey back down (body horror edition/addition.) (#73325)

## About The Pull Request
Let me paint you a story.
A long time ago monkeys once rested their feet on the floor, this was a
time of bliss and peace. But sometime around the horrors of making
monkeys subtypes of humans did an atrocity occur.

![image](https://user-images.githubusercontent.com/55666666/217657059-5c960ab4-c3de-493c-ac12-28de99b43d7f.png)
**The monkeys were moved up.**
I thought this was bad, and alot of people on the forum tended to agree
with me

![image](https://user-images.githubusercontent.com/55666666/217657707-120354c7-b1a5-4d93-8813-8e10e142bd92.png)
This was do to some purpose of adjusting them so it could be easier to
fit item sprites onto them instead of preforming the hours of work
refractoring to make the heights of the items dynamic and adjustable. A
simple pixel shift may have sufficed, but you see, such a change would
NEVER allow the frankensteining of monkey and human features together.
This is that refractor.

In essence, the following is now true.
A top_offset can now be generated for a human based on a varible on
their chest and legs. By default, and as is true with human legs and
chests, this variable is ZERO by default. Monkey legs and chest have
NEGATIVE values proportionate and onto how much smaller their sprite is
compared to humans. Other bodyparts, as well as any other accociated
overlays, or clothing will automatically be offset to this axis. THIS
MEANS THAT MONKEYS ARE ON THE FLOOR. But is means something else too.
Something more freakish,

![image](https://user-images.githubusercontent.com/55666666/217659439-bc0b1a35-76c8-4490-b869-770180605822.png)
**What abominable monsters**, unreachable by players as long as we can't
stitch monkeys and humans together (oh but just wait until the feature
freeze ends)
Oh but you might be thinking, if legs can make a mob go down.
can it make a mob

**go**
**up??**

**OH NO**

![image](https://user-images.githubusercontent.com/55666666/217707042-0d53022f-d93a-4262-a5ce-ef15a99eb897.png)

![image](https://user-images.githubusercontent.com/55666666/217707060-779f5901-ab90-4a64-9ca7-0b147e24f099.png)

![image](https://user-images.githubusercontent.com/55666666/217707821-23d7457c-5881-40ae-8d9d-c9fbd645aba6.png)

These lads are stepping, and have been implemented solely for proof of
concept as a way to flex the system I have created and remain
inaccessible without admin intervention.

But really, when all is said and done, all this PR does in terms of
player facing changes is move the monkey back down.

![image](https://user-images.githubusercontent.com/55666666/217708365-b6922a6d-08d0-4267-8713-4f8dac29038e.png)
Oh and fixed monkey husked which have been broken for who knows how
long.

![image](https://user-images.githubusercontent.com/55666666/217708464-5a9b6f89-4223-4ae5-a21e-3a274a9f8db8.png)
## Why It's Good For The Game
The monkey is restored to its original position. Tools now exist to have
legs and torsos of varying heights. Monkey Husking is fixed.
## Changelog
🆑 itseasytosee
fix: Monkeys ues the proper husk sprites.
imageadd: The monkey has been moved back down to its lower, more
submissive position.
refactor: Your bodyparts are now dynamically rendered at a height
relevant to the length of your legs and torso, what does this mean for
you? Not much to be honest, but you might see a monkey pop up a bit if
you cut its legs off.
admin: The Tallboy is here
/🆑

---------

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

* Brings the monkey back down (body horror edition/addition.)

* Update species.dm

* Delete infuser_entries.dm

---------

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:08:55 +00:00
SkyratBot ca0e0983c7 [MIRROR] Refactor mob spawner component so that it is independent [MDB IGNORE] (#19560)
Refactor mob spawner component so that it is independent

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:08:35 +00:00
SkyratBot 37953d4bcf [MIRROR] Makes Lesser Form into one ability & unit tests it [MDB IGNORE] (#19521)
* Makes Lesser Form into one ability & unit tests it

* Update headcrab.dm

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:08:19 +00:00
SkyratBot 93fc6f2a81 [MIRROR] Most actions cannot be used while incapacitated [MDB IGNORE] (#19469)
Most actions cannot be used while incapacitated

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 05:30:59 +00:00
SkyratBot b517146f4d [MIRROR] Fixes another case of broken huds on z level work (Also a runtime for ghosts) [MDB IGNORE] (#19447)
* Fixes another case of broken huds on z level work (Also a runtime for ghosts)

* Update mob.dm

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 05:25:41 +00:00