Commit Graph

324 Commits

Author SHA1 Message Date
SkyratBot
565af6876b [MIRROR] Makes dog a basic mob [MDB IGNORE] [MDB IGNORE] (#17930)
* Makes dog a basic mob [MDB IGNORE]

* conflict

* map updatepaths

* minor banana spider improvement

* unnecessary SR edit, minor path stuff

* chadian, borgi

* tram conflict

* fixes after testing

Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-12-12 16:45:23 -05:00
SkyratBot
a43afbd7e8 [MIRROR] [FUCK] Linters work again, V3 [MDB IGNORE] (#17950)
* [FUCK] Linters work again, V3

* i don't think these are all of them

* heehhooo there go the fucking m aps!

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2022-12-11 20:10:27 -05:00
SkyratBot
14b5fd6134 [MIRROR] Allows for offloaded tests to be focused [MDB IGNORE] (#17977)
* Allows for offloaded tests to be focused (#71719)

Focusing a test through TEST_FOCUS allows you to only run that one test.
It's very useful for developing. However, we have a bunch of offloaded
tests in `#ifdef UNIT_TESTS` that would not be focused. This changes it
so that those tests will now only run if either no test is focused, or
if their specific "focus only" test is focused.

This is done through a `PERFORM_ALL_TESTS` macro that replaces the
`#ifdef UNIT_TESTS`. This is completely free because `if (FALSE)`
constant folds.

Hide whitespace mode recommended.

* Allows for offloaded tests to be focused

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-12-09 03:52:12 +00:00
SkyratBot
13e3929ba1 [MIRROR] Food icon unit test [MDB IGNORE] (#17979)
* Food icon unit test (#71765)

I'm tired of #71736 happening

Closes #71743

![image](https://user-images.githubusercontent.com/6209658/205794116-bd87a14f-c3db-460e-8c1d-438fe9284e04.png)

* Food icon unit test

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-12-09 03:51:05 +00:00
SkyratBot
d141f8d6c3 [MIRROR] Atmospheric machineries now interact with each other directly, rather than going through a radio layer -- saves about 0.4s of init time [MDB IGNORE] (#17881)
* Atmospheric machineries now interact with each other directly, rather than going through a radio layer -- saves about 0.4s of init time

* updatescript maps

* Merge conflicts

* Tarkon atmos

* tick file

* that file was supposed to be removed

* tarkon cringe

* tarkon tweaks after testing

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-08 16:39:24 -05:00
SkyratBot
7835d891e4 [MIRROR] Flatten mech/combat and mech/medical [MDB IGNORE] (#17946)
* Flatten mech/combat and mech/medical (#71494)

## About The Pull Request

The only thing mech combat has is the reload helper that should be on
mech proper anyway and the medical subtype isnt even defined outside of
ody code

Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>

* Flatten mech/combat and mech/medical

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
2022-12-08 07:52:21 -08:00
SkyratBot
fba9e99fac [MIRROR] turns axolotls into basic mobs [MDB IGNORE] (#17982)
* turns axolotls into basic mobs (#71778)

## About The Pull Request
Changes axolotls from simple mobs to basic mobs. I'm not well versed on
the differences between simple and basic mobs but it looks like axolotls
are still working as before. Their idle movement may be slightly
different compared to before and now they don't move away while you're
pulling them.
## Why It's Good For The Game
Basic mobs are better for AI and probably some other stuff as well and
there's the freeze thing also.
## Changelog
🆑
code: turned axolotls into basic mobs, their idle movement may be
slightly different and they won't move while you're pulling them anymore
/🆑

* turns axolotls into basic mobs

Co-authored-by: kawoppi <94711066+kawoppi@users.noreply.github.com>
2022-12-08 15:17:46 +00:00
theOOZ
54f7aad37c MOD Hardlight (Refactors how sprite accessories handle MODs) (#17372)
* initial test

* continued cleanup

* hide mutant part refactor

* slight oopsie

* ux

* more ux

* even more ux

* mask

* mod stuff

* almost done with the code

* 🤠

* fixes

* time for art

* fixes

* forgor

* optimize

* more optimizing

* better rendering

* hardlight tex

* another tex

* file name change

* oopsie with the names

* better colors

* transparency edit

* Revert "transparency edit"

This reverts commit 2c8700ec64e469283d685003997e1413fc4a2bce.

* technically TM ready

* review

thank you!

* small

* test

* Revert "test"

This reverts commit 6abda60fc3a82a19a43e323371afff0dd6cccc16.

* the lizard incident

* Revert "the lizard incident"

This reverts commit 5951a3b0eb324a73538f9ca95ef5caeedd10e0cf.

* updates the liz screenshot cuz apparently i fixed something

* art done

* is_hidden ear fix

* write it better

* extra streamlining

* adds two more mod_themes

* a fix and texture tweak
2022-12-07 13:31:50 -05:00
SkyratBot
2b800b9a23 [MIRROR] Removes tablets (not PDAs) entirely. [MDB IGNORE] (#17880)
* Removes tablets (not PDAs) entirely.

* contractor changes

* map changes

* Update assistant.dm

* conflicts

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-12-07 01:07:02 +00:00
SkyratBot
6756631e75 [MIRROR] The Mining vendor now works like the Chef produce console (has to go through Cargo) [MDB IGNORE] (#17852) 2022-12-01 14:34:56 -08:00
SkyratBot
7fbcd4901b [MIRROR] New Station Trait: Cybernetic Revolution + Body Purist Quirk [MDB IGNORE] (#17472)
* New Station Trait: Cybernetic Revolution + Body Purist Quirk

* Mirror!

* A hidden lint!

* Properly fixes this, and ensures that it has no impact on the game should it ever be bussed in for whatever reason

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-12-01 17:09:54 -05:00
SkyratBot
810fef5fde [MIRROR] This kills the deep fried foods holder. Refactors deep frying to just make the thing edible but still functional. [MDB IGNORE] (#17848)
* This kills the deep fried foods holder. Refactors deep frying to just make the thing edible but still functional. (#71551)

## About The Pull Request

Refactors deepfrying, removing the gross Deep Fried Foods Holder Object
and replacing it with the edible component.

Now, deep frying a food will simply make the item edible directly. This
means it's still functional and doesn't become a dead item.

This follows the same method that grilling uses when applying its
effects. Tweaks grilling a bit so they line up better. Also, silver
foods can make grilled items.

![image](https://user-images.githubusercontent.com/51863163/204105022-ee66889b-f843-4dc2-b0dc-5f1eb5ba19c3.png)

I swear this is unrelated to the other 2 fried foods related PRs. I
started this a few weeks ago.

## Why It's Good For The Game

Tangibly better code (doesn't have to copy a million vars! Less
abusable!) at the price of removing a soulful piece of code. Also means
that deep frying an item doesn't irreversibly make it unusable / dead.
This is sad, but... damn the holder object sucks.

Unfortunate side effect is that anything that overrides `attack` to not
send signal will *not* be edible when deepfried. Maybe this encourages
better signal use?

Either that or fried foods can override `pre_attack` to hook directly
into eating. I can do that as well.

## Changelog

🆑 Melbert
refactor: Refactored deep fried foods. Deep fried foods are still
""usable"" as their normal item, but are just edible.
qol: Silver Slime stuff can spawn grilled as well as fried.
/🆑

* This kills the deep fried foods holder. Refactors deep frying to just make the thing edible but still functional.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-12-01 01:11:20 +00:00
SkyratBot
4508a1cbf5 [MIRROR] Fixes dragons not dropping their consumed mobs on despawn [MDB IGNORE] (#17792)
* Fixes dragons not dropping their consumed mobs on despawn (#71537)

## About The Pull Request

This was fixed a while back, but was accidentally reverted / regressed
due to a refactor

Basically, the dragon needs to be killed before being deleted, being
killed will drop all of their stuff and handle "dragon is dead" events,
then it can be fully deleted and removed as expected

Unit tests it, since this is a regression

Fixes #71536

## Why It's Good For The Game

Having a lot of mobs deleted is kinda really bad

## Changelog

🆑 Melbert
fix: Fixes dragon despawn deleting all the people they consumed
/🆑

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

* Fixes dragons not dropping their consumed mobs on despawn

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-12-01 01:01:42 +00:00
SkyratBot
2127bb5c61 [MIRROR] Unit Tests use a consistent human subtype [MDB IGNORE] (#17772)
* Unit Tests use a consistent human subtype

* sr dummy

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-28 13:50:05 -05:00
SkyratBot
3f5f271988 [MIRROR] Strange Reagent correctly revives station pets, (and humans), correctly again. [MDB IGNORE] (#17723)
* Strange Reagent correctly revives station pets, (and humans), correctly again.

* Update code/modules/mob/living/carbon/carbon_update_icons.dm

* centaur shitcode

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-28 12:24:54 -05:00
SkyratBot
1132a363ae [MIRROR] Revert "Unit tests radio, saymode, and language prefix keys" [MDB IGNORE] (#17793)
* Revert "Unit tests radio, saymode, and language prefix keys" (#71474)

Reverts tgstation/tgstation#71328 (@ Zonespace27 )

Departmental shorthand (.h/:h) is a convenience alias that should apply
to all jobs and all race types and all classifications. ITS SUPPOSE TO
FUCKING CONFLICT.

if you are ai and not in a holopad, it should go to binary.

if you are ai and in a holopad, it should go to the holopad.

if you are borg it should go to binary

if you are xeno it should go to alien

Removing it from the AI over a stupid need to made universal broad
reaching rules that can be declared upon the code was stupid.

This entire unittest is needlessly overboard and over generic putting
"rules" that are not backed up by logic on the codebase in a way that
hinders making good UX, not help.

The datumized saymode system not being able to handle this complexity
when the old hardcoded system could is a problem with the datumized
saymode system and not the fucking :h shortcut for holopad.

🆑 Common fucking sense
fix: The changes to Mafia and holopad say prefixes was reverted.
spellcheck: Mafia changeling say prefix has no longer been changed to
.1, and has been returned to .j
spellcheck: AI Holopad say has no longer been changed to .2, and has
been returned to .h
/🆑

* Revert "Unit tests radio, saymode, and language prefix keys"

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2022-11-28 06:30:50 +00:00
SkyratBot
a101d66658 [MIRROR] Allows Fully Heal to be passed a series of flags, fixes Adminordrazine being horrible [MDB IGNORE] (#17535)
* Allows Fully Heal to be passed a series of flags, fixes Adminordrazine being horrible

* Apply suggestions from code review

* few more flag bits

* our shit

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-11-28 00:09:31 +00:00
SkyratBot
257feb1be7 [MIRROR] More horrible 515 proc compatibility. [MDB IGNORE] (#17671)
* More horrible 515 proc compatibility.

* Feex

* Hopefully we're done now

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-11-27 14:46:36 -08:00
SkyratBot
9b980f9612 [MIRROR] Remove explicit runtime check in monkey business test [MDB IGNORE] (#17767)
* Remove explicit runtime check in monkey business test (#71513)

I knew this was redundant at first but kept it anyway because I thought
it was fine.

However, for some code I'm writing to make issues for flaky tests, this
is going to be an issue. I'm making sure it can intelligently create
collated issues for multiple failures (rather than generating an issue
for every individual shapeshift failure, for instance), but also a more
obviously titled issue if it's only one failure. With this assertion, it
always guarantees multiple failures, and would make issues harder to
read.

To be clear, runtimes during a test ALWAYS mean failure. This check was
never necessary, I just didn't mind it.

* Remove explicit runtime check in monkey business test

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-27 07:57:55 -08:00
SkyratBot
78c1b9f456 [MIRROR] [MDB Ignore] Unit Tests for Invalid Space Turfs (Area Bullshit Edition) [MDB IGNORE] (#17626)
* [MDB Ignore] Unit Tests for Invalid Space Turfs (Area Bullshit Edition)

* should probably make tests pass

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2022-11-25 16:29:20 -05:00
Zephyr
136875a120 JSON Savefile port (#17607)
* JSON Savefiles | Player Saves use JSON

* few fixups

* yeah this will need a migration in the future to use a different tree for skyrat stuff

* this can be null

* forgot to sanitize these ones

* TM st

* get it working

* Update code/modules/client/preferences_savefile.dm

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

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-11-24 20:55:17 -05:00
Halcyon
15908b1183 The xeno hybrid refurbishing. (#17450)
* bump

* screenshot

* changes the hollywood typepath to net instead

* scnrteeshot
2022-11-22 15:36:25 -08:00
SkyratBot
93a9440a70 [MIRROR] Unit tests radio, saymode, and language prefix keys [MDB IGNORE] (#17650)
* Unit tests radio, saymode, and language prefix keys (#71328)

## About The Pull Request
This PR unit tests radio/saymode prefixes together, and language
prefixes on their own, for any possible overlaps and duplicates

Moved mafia saymode key to :1 and holopad key to :2, we're running out
of radio keys and i'm too afraid to move to 2-letter

## Why It's Good For The Game
1. Unit tests are good
2. https://github.com/tgstation/tgstation/pull/71326 this is bad

🆑
spellcheck: Mafia changeling say prefix is now :1, and holopad say is
now :2
/🆑

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

* Unit tests radio, saymode, and language prefix keys

* guild now uses :p

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-11-22 13:43:51 -05:00
SkyratBot
ab86901244 [MIRROR] Adds more logging to shapeshift test failure [MDB IGNORE] (#17624)
* Adds more logging to shapeshift test failure (#71384)

Maybe will help us find the source of the spontaneous test failure.

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

* Adds more logging to shapeshift test failure

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2022-11-22 10:35:52 -05:00
SkyratBot
b4fd13b16b [MIRROR] Improve the naming of the element argument hash index selector [MDB IGNORE] (#17588)
* Improve the naming of the element argument hash index selector (#71319)

So confusing name

* Improve the naming of the element argument hash index selector

* sr sync

Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-21 16:27:40 -05:00
SkyratBot
03d42cb507 [MIRROR] Unit Tests Overstuffing Reagent Containers with more than their defined volume [MDB IGNORE] (#17578)
* Unit Tests Overstuffing Reagent Containers with more than their defined volume (#71327)

## About The Pull Request

Simple Unit Test that seeks to ensure that we don't put too much of a
reagent in a container when the container doesn't have enough volume to
accept all of it. Nothing bad would happen, but it's just silly really.

I also fixed all of the instances that this was broken in.
## Why It's Good For The Game

Prevents buggy regressions, such as those found in #71206.

```txt
[2022-11-18 03:32:30.736]     FAILURE #1: Canned Laughter (/obj/item/reagent_containers/cup/soda_cans/canned_laughter) has 50 units of reagents, but only 30 units of space. at code/modules/unit_tests/container_sanity.dm:21
 -     FAILURE #2: T-Borg's tonic water (/obj/item/reagent_containers/cup/soda_cans/tonic) has 50 units of reagents, but only 30 units of space. at code/modules/unit_tests/container_sanity.dm:21
 -     FAILURE #3: The soda water (/obj/item/reagent_containers/cup/soda_cans/sodawater) has 50 units of reagents, but only 30 units of space. at code/modules/unit_tests/container_sanity.dm:21
```
## Changelog

🆑
fix: Canned Laughter, T-Borg's Tonic Water, and Soda Water cans should
all come with the expected marketed 50 units of goodness, rather than
cheaping out on materials for only 30 units of can volume.
/🆑

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

* Unit Tests Overstuffing Reagent Containers with more than their defined volume

* fix SR containers

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-21 16:24:49 -05:00
SkyratBot
67d547f539 [MIRROR] Better Seed Extractor UI [MDB IGNORE] (#17581)
* Better Seed Extractor UI (#71204)

## About The Pull Request

Added icons to the seed extractor, indicators that show the stat value
relative to maximum possible value, tooltips to the stats, list of
traits and reagents.

![image](https://user-images.githubusercontent.com/3625094/201560469-7d44122b-7abd-4c3d-a76d-79fd26d36cb7.png)

There is also an ability to sort and filter the table now:

https://user-images.githubusercontent.com/3625094/201498368-9d620f99-28d3-4197-b73e-cd65d8285334.mp4

And an ability to scrap unneeded seeds:

https://user-images.githubusercontent.com/3625094/202563846-420f395b-d4a0-4ebc-88a9-df74c9c8ca1c.mp4

## Why It's Good For The Game

It wasn't very informative with just numbers, especially if you don't
know is it 5 out of 10 or 5 out of 100.

## Changelog

🆑
qol: new seed extractor UI
/🆑

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>

* Better Seed Extractor UI

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: tattle <66640614+dragomagol@ users.noreply.github.com>
2022-11-20 00:34:23 +00:00
SkyratBot
b6f1945793 [MIRROR] Fixes horrible CI times [MDB IGNORE] (#17511)
* Fixes horrible CI times (#71295)

## About The Pull Request
Ok so like, I was using an assoc list in the unit test to map turfs to
their tracked area parent.

This was foolish because unless the test fails we will be doing this for
EVERY TURF IN THE GAME.

Assoc lists are red black tress, so insert time, more then just the list
expansion cost, also just scales with the amount of keys, since we need
to binary search them all to ensure we don't already exist.

This is really slow, and was costing us like actually 300 seconds or
something.

I've switched to storing this information in just the turf. It should
bring this down to like 6 seconds instead of 6 minutes.

Remember, assoc lists are dumb for high scales kids

* Fixes horrible CI times

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-11-16 21:47:42 -05:00
SkyratBot
24eb8217c0 [MIRROR] Builds logic that manages turfs contained inside an area [MDB IGNORE] (#17379)
* Builds logic that manages turfs contained inside an area

* Mirror Conflict

* Modular!

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-16 14:42:22 -05:00
SkyratBot
68e8eee1fc [MIRROR] Refactors Rabbits to be a Basic Mob [MDB IGNORE] (#17499)
* Refactors Rabbits to be a Basic Mob (#71205)

## About The Pull Request

Back in #64175, I reworked rabbits such that their base behavior was
just a cute fluffy snuggle monster, and not have the "easter" variant be
the default. Now that we're transitioning everything from simple_animal
to basic, I figured now was the time to shift that over too.

Pretty much everything should be the same as it was before, I even took
some time to add behavior to some elements to allow it to work (let me
know if I should handle it a different way) but rabbits as a
simple_animal and rabbits as a basic mob should now not be very
distinguishable (beyond the fact that they only speak via subtrees).

I also got rid of the single-letter icon_states in the DMI and
accomodated the code to fix because I finally got irritated enough to do
something about that.
## Why It's Good For The Game

Although I didn't really have any pressing urge to add more complex AI
behavior to rabbits than just pretty much re-implementing what they had
as a simple_animal, this is an excellent first-step to allowing much
more extensible behaviors to these fuzzy creatures.

Also, it takes three more mobs off "the frozen list". Whoopie!
## Changelog
🆑
fix: Dead Black Space Rabbits should now properly have a sprite.
/🆑

The UpdatePaths is useless for the maps we have on our repository
(holodecks use a spawner code-side), but I'm going to be nice to
downstreams who need it.

* Refactors Rabbits to be a Basic Mob

* Fixed the CI and the rabbit on VoidRaptor

* Oops, forgot to remove it from here too

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-11-16 11:57:50 -05:00
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot
5c54f74b9c [MIRROR] /mob/living/simple_animal is now frozen. Add a unit test to block all new simple_animal subtypes. [MDB IGNORE] (#17057)
* /mob/living/simple_animal is now frozen. Add a unit test to block all new simple_animal subtypes. (#70669)

* Add a unit test to block all new simple_animal subtypes

* Remove TEST_FOCUS

* Just To Be Sure

* /mob/living/simple_animal is now frozen. Add a unit test to block all new simple_animal subtypes.

* Whitelist! Begin!

* Really

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2022-11-14 23:49:17 -05:00
SkyratBot
4b6c93f6b9 [MIRROR] Easy's Super Omega "unarmed strike based species var moved to limbs" refractor, unarmed strike striking with specific body parts rather than it just being flavor, and brain based attacking limb selection extra chunky edition. And also bodypart traits. [MDB IGNORE] (#17306)
* Easy's Super Omega  "unarmed strike based species var moved to limbs" refractor, unarmed strike striking with specific body parts rather than it just being flavor, and brain based attacking limb selection extra chunky edition. And also bodypart traits.

* Removed all the conflicts, and started converting all the arms and legs to the proper typepaths

* Actually makes the game compile :)

* Makes the maps compile too!

* Early mirror of #71143 because it's more relevant to us

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-11-11 11:44:49 -05:00
SkyratBot
0c6a40910d [MIRROR] Save 0.4s by shaving off a lot of smaller init costs [MDB IGNORE] (#17382)
* Save 0.4s by shaving off a lot of smaller init costs

* update modular

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-11-09 14:52:58 +00:00
SkyratBot
2582117684 [MIRROR] NtOS Emojipedia - PDA Emoji Messaging For All [MDB IGNORE] (#17402)
* NtOS Emojipedia - PDA Emoji Messaging For All (#70829)

An Emojipedia app has been added to tablets, given to Mimes and Curators by default, allowing anyone to know all emojis. Additionally, emojis can be used in tablets by every job now.

* NtOS Emojipedia - PDA Emoji Messaging For All

* update emoji list to be valid

* animated emojis

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-06 21:53:25 -05:00
SkyratBot
f4088dd158 [MIRROR] Refactors how duplicate handling with traitor objectives work. Adds a 'can_generate_objective' function. Adds a limit to kidnapping objectives [MDB IGNORE] (#17214)
* Refactors how duplicate handling with traitor objectives work. Adds a 'can_generate_objective' function. Adds a limit to kidnapping objectives (#70758)

* Refactored how duplicates are handled in traitor objective code. This will fix destroy heirloom and eyesnatching objectives from only ever being available once.
* Fixed destroy heirloom and eyesnatching objectives never generating
* Kidnapping objective can only be taken a maximum of 3 times within 15 minutes. This puts it in line with the assassinate and eyesnatching objectives.

* Refactors how duplicate handling with traitor objectives work. Adds a 'can_generate_objective' function. Adds a limit to kidnapping objectives

* update kill pet and smuggling

* smug

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-29 18:25:46 -04:00
SkyratBot
b2aec95405 [MIRROR] Monkey Business Unit Test [MDB IGNORE] (#17186)
* Monkey Business Unit Test (#70722)

* monkeying around

* 🤷

* haha oops

Co-authored-by: san7890 <34697715+san7890@ users.noreply.github.com>

* I'm an idiot

* redo this and add a blackboard to allow targeting monkies

* I'm smart

* requested changes

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

* a few fixups

* Update code/modules/unit_tests/_unit_tests.dm

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

* Nits

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

* Monkey Business Unit Test

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: san7890 <34697715+san7890@ users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-10-28 21:57:59 -04:00
SkyratBot
62c02030e3 [MIRROR] Convert mouse and rat to basic mobs [MDB IGNORE] (#17215)
* Convert mouse and rat to basic mobs

* run the UpdatePaths script you borb

* packs and nests

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-28 21:27:47 -04:00
SkyratBot
ffb2324b0c [MIRROR] Adds unit test for items that can be equipped to suit storage slots that are missing sprites [MDB IGNORE] (#17195)
* Adds unit test for items that can be equipped to suit storage slots that are missing sprites (#70643)

* Adds unit test for items that can be equipped to suit storage slots that are missing sprites

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-26 22:03:07 -04:00
SkyratBot
6a2a51a1d3 [MIRROR] sets pdas to use the pda worn icon again [MDB IGNORE] (#17181)
* sets pdas to use the pda worn icon again

* screeeeeenshooootss

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-26 17:36:27 -04:00
ShizCalev
c93bdc30b6 Removes redundant skyrat inhands unit test edit (#17089) 2022-10-22 12:51:42 -04:00
SkyratBot
8cad7a1e9a [MIRROR] Made regenerate_organs() reset external organs as well. [MDB IGNORE] (#16974)
* Made regenerate_organs() reset external organs as well. (#70427)

* Made regenerate_organs() reset external organs as well.

* monkey-fix

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-22 12:27:29 -04:00
SkyratBot
7522903c16 [MIRROR] Seven Billion Hour Wait Time - Or, Expanded Job Config (TOML time) [MDB IGNORE] (#16962)
* Seven Billion Hour Wait Time - Or, Expanded Job Config (TOML time)

* conflict

* update modular

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-10-22 08:11:56 -07:00
SkyratBot
c99bd442c3 [MIRROR] Inhand unit test modularity support p2 [MDB IGNORE] (#17051)
* Inhand unit test modularity support p2 (#70497)

* Inhand unit test modularity support p2

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-21 10:43:37 +01:00
SkyratBot
cd6af92f8d [MIRROR] Changing species now maintains Brain traumas, Cybernetic implants, Liver traits, organ damage, and Heretic Living Heart [MDB IGNORE] (#17049)
* Changing species now maintains Brain traumas, Cybernetic implants, Liver traits, organ damage, and Heretic Living Heart (#70530)

About The Pull Request

    Implements additional code in before_organ_replacement in additional places, to better maintain cohesion when species changes take place.
        Brain traumas will now carry over on species change
        Having synthetic / cybernetic organs will now carry over on species change
        Liver job traits will also carry over on species change
        Organ damage will, in most cases, carry over on species change (only if the new organ is identical to the old)
        The heretic's Living Heart will attempt to carry over to species change, if it's valid
            Some species will still not, as it will attempt to give heart -> liver or something and be invalid

    Heretic Living Heart is now a cooldown action. Still not really content with the current state of it, it could use some improvements.

Fixes #42308
Fixes #35539
Fixes #69574

Why It's Good For The Game

Removes a lot of exploits involving using forced species change to get rid of stuff like quirks / permanent brain traumas and similar.

* Changing species now maintains Brain traumas, Cybernetic implants, Liver traits, organ damage, and Heretic Living Heart

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-10-21 10:43:09 +01:00
SkyratBot
7c9e26bb85 [MIRROR] Fixes Some Incredulously Fucked Up Recycler Behavior [MDB IGNORE] (#17018)
* Fixes Some Incredulously Fucked Up Recycler Behavior (#70638)

* test one

Hey there!

Did you know that if you toss someone into a recycled emagger, that we delete _all_ of that mob's contents? You probably didn't because this shit is broken broken. Like, ow.

That's because we manually moved an item to nullspace, which caused a _slew_ of odd behavior in the Destroy chain for `obj/item` since it moves it to nullspace at a very specific point in time and makes all of it's assumptions on when you move the thing to nullspace. If it's in nullspace before you call qdel, you would shit out the ass with hanging references stuck on the mob (like `w_uniform` pointing to something in nullspace, like the image above).

All fixed now, though.

* I FUCKING LOVE UNIT TESTS

THIS SHIT WILL NEVER BREAK AGAIN!!!

* i blanked

my guy hasn't moved for twenty minutes

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

* wrong documentation

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

* Fixes Some Incredulously Fucked Up Recycler Behavior

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2022-10-20 00:02:23 -04:00
SkyratBot
612568daa0 [MIRROR] Swaps sleep() to use SECONDS define [MDB IGNORE] (#16973)
* Swaps sleep() to use SECONDS define

* merge conflicts and skyrat modules

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-19 19:43:24 -04:00
SkyratBot
59dc5c36b7 [MIRROR] Cleans up the fallout from plane cube [MDB IGNORE] (#17003)
* Cleans up the fallout from plane cube (#70235)

* Cleans up the fallout from plane cube

Alright.
Makes cleaning bubbles respect planes
Adds support for updating overlays on move, fixing an issue with pointing at items
Adds better error messages for failing to provide args for mutable_appearance()
Fixes a bug where string overlays were not respecting insertion order

* Adds documentation for offset spokesman and offset_const

* Better stack trace

* Removes some redundant uses of cached MAs

At this scale, attempting to cache MAs like this has 0 impact on anything
And just makes things more messy then they need to be

* ensures fullscreen objects START offset, so things are always proper

* ensures chatmessages always have the right offset

* fixes compile

* whoops, the above lighting plane should actually be ABOVE the lighting plane

* fixes compile, also cleans up the fire overlay a tad

* Adds a unit test for plane masters that are shrunk by multiz being double shrunk

This is slightly hacky because of how I'm handing the plane master
group, but it's not THAT bad, and gives me some real good coverage

* Properly targets the seethrough plane at the game world plate. This fixes unit tests, and also just makes more sense

* whoops

* oh

* adds datum support for allocate(), cleans up a harddel from testing

* Makes camera chunks index at 1, and also makes them support non powers of two sizes, since that was unneeded

* fixes runtime in allocate

* Cleans up the fallout from plane cube

* liquid tweaks

* oop

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-19 19:43:05 -04:00
SkyratBot
db53ea0839 [MIRROR] Collect log lines in unit tests [MDB IGNORE] (#16887)
* Collect log lines in unit tests (#70362)

* Collect log lines in unit tests

* Collect log lines in unit tests

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-10-16 12:29:48 +01:00
SkyratBot
1cab3858f6 [MIRROR] Unit Tests Mice Biting Wires (bonus proc cleanup) [MDB IGNORE] (#16858)
* Unit Tests Mice Biting Wires (bonus proc cleanup) (#70488)

* Unit Tests Mice Biting Wires (bonus proc cleanup)

Co-authored-by: san7890 <the@san7890.com>
2022-10-14 14:48:20 -04:00