Commit Graph

181 Commits

Author SHA1 Message Date
SkyratBot
6d08ad8984 [MIRROR] Machines can now be pried open multiple times and maintain their initial densities [MDB IGNORE] (#20044)
* Machines can now be pried open multiple times and maintain their initial densities (#74163)

## About The Pull Request
These changes fix how machines are pried open with crowbars. Currently,
most machines can be pried open, but many of them have no method for
being closed again. This means they can be pried once, and then never
again (as their internal logic has them stuck in an "open" state).

Additionally, the densities of these machines is also inconsistent, as
density is tied to the procs for opening/closing machines (open =
non-dense, closed = dense). Thus, these new changes allow desired
densities to be passed to `open_machine()` and `close_machine()`, as
well as `default_pry_open()`, meaning that atypical machine densities
can be maintained (e.g. machines that should remain dense when open, or
non-dense when closed).

I've also added a `close_after_pry` boolean parameter to the
`default_pry_open()` proc, which determines whether to immediately close
a machine after opening it. This is useful for machines that don't
really have a use case for remaining open, often lacking a sprite to
represent this state as well.
* Note: Opening and immediately closing machines with this boolean will
still drop their contents onto the floor, but will now immediately
"close" in their logic, allowing for further prying attempts in the
future.

It's worth noting that this implements default density values for these
procs, which match the existing behavior for machines, so as to
(hopefully) not disrupt existing or expected machine behavior.

Two caveats to these changes currently exist:
1. On machines that immediately close after prying, the prying action
can now be spammed to the chat with repeated clicking. I'm uncertain if
this needs some sort of spam protection or if it's fine as is.
2. I've only been able to manually test this code. I'd love to write
unit tests for it, as it affects a lot of different machines, but don't
know where to begin with DM Unit Testing (or which files would be good
examples to reference in the code base).
* Note: I did manually test each and every machine that calls
`default_pry_open()` and they all seem to be working correctly. (Except
for `obj/machinery/plumbing/sender`, but that doesn't seem to need
prying, as it has no contents to drop, only reagents.)

As always, let me know if any improvements/changes should be made.

This closes #26833.

## Why It's Good For The Game
These changes allow crowbar prying to correctly occur multiple times on
any machine, which is intended behavior. It prevents player confusion
that could occur when a machine couldn't be pried open a second time
during a shift, even though it had previously been pried before, forcing
players to question themselves. (Are they missing something? Did they
perform the action a different way last time? Is the machine actually
still powered on instead of off? Etc.)

These changes also maintain the correct density for machines after
prying, preventing scenarios where a machine might behave differently
once it had been pried open. (An example of this was being able to walk
through a smartfridge after prying it open.) Additionally, players are
no longer required to know/use workarounds (such as machine disassembly)
to retrieve a powered-off machine's contents.

Overall, these changes improve consistency around machines, creating
more scenarios where they behave as players would expect.

## Changelog
🆑
fix: machines can now be pried open more than once.
fix: machines now have the correct density when pried open.
/🆑

---------

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

* Machines can now be pried open multiple times and maintain their initial densities

* wew

---------

Co-authored-by: Antonio Tosti <5588048+atosti@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 02:36:29 +01:00
SkyratBot
552ae21e61 [MIRROR] Dump ejected implant contents onto our turf, not inside our mob [MDB IGNORE] (#19996)
* Dump ejected implant contents onto our turf, not inside our mob (#74120)

## About The Pull Request

Fixes #74119
This was probably a victim of the storage refactor.
When removing items, it was dumping them _inside the mob_ rather than on
the floor, additionally it was putting mob blood on every item already
inside the mob rather than on the items being dumped for some reason?
Now it doesn't do that.

## Why It's Good For The Game

Removing a storage implant from someone should dump the items, not trap
them in your body.

## Changelog

🆑
fix: Removing a storage implant from someone will dump the items on the
ground rather than inside the mob.
/🆑

* Dump ejected implant contents onto our turf, not inside our mob

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-25 01:08:56 -07:00
SkyratBot
cba0f20e0a [MIRROR] [no GBP] non-organic human species can be implanted [MDB IGNORE] (#19976) 2023-03-20 09:03:44 -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
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
f8f2abb11f [MIRROR] Refactor, improve, and rename canUseTopic to be can_perform_action [MDB IGNORE] (#19391)
* Refactor, improve, and rename canUseTopic to be can_perform_action

* updoot

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

https://github.com/tgstation/tgstation/pull/72876

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:19:25 +00:00
SkyratBot
a2cb8c5c0c [MIRROR] Completely removes do_mob and do_after_mob [MDB IGNORE] (#19126)
* Completely removes do_mob and do_after_mob

* update modular

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-02-19 19:19:50 +00:00
SkyratBot
8500d62b79 [MIRROR] Abductor scientist self-retrieve failure/runtime fix [MDB IGNORE] (#19179)
* Abductor scientist self-retrieve failure/runtime fix (#73172)

## About The Pull Request

Since the abductor outfit/implant would load before the abductor ship
(and it's teleport pad) when first generating a team, a runtime would
occur when trying to link the pad to the implant. Another would occur
every time you attempted to retrieve yourself (as the linked pad would
be null), preventing recall and completely neutering an abductor team's
most important maneuver.

Now, using the implant will perform the linking process again if no
linked pad is found, and provides the owner with a warning if (by some
great calamity) they genuinely have no pad to teleport back to. This
solves the issue of the implant sometimes not linking to a pad properly
on initialize, and makes them way less prone to breaking.

Apparently this has been broken for a while, presumably since the
abductor ship was made into a lazyloading template.
## Why It's Good For The Game

The funny silly grey men get to torture the poor hapless crew once
again.
## Changelog
🆑
fix: abductor scientist's retrieval implants will now properly recall
the owner, and inform them upon recall failure.
/🆑

* Abductor scientist self-retrieve failure/runtime fix

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-02-08 02:11:13 +00:00
nevimer
3bf999a59b Manual Mirror: Fix storage implant stacking not working (#69291) (#18982)
Fix storage implant stacking not working (#69291)

(cherry picked from commit 1ff1b4e43f)

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
2023-01-28 20:20:13 +00:00
SkyratBot
5c6c91144c [MIRROR] Changes the missing food icon test to cover ALL /obj's [MDB IGNORE] (#18139)
* Changes the missing food icon test to cover ALL /obj's

* Update implant.dm

* Hopefully fixes all the failing integration tests!

* Fixes more missing icons

* Even more icon fixes

* Hopefully that was all of them

* Okay now SURELY that's all of them

* I'm tired of this shit man

* Hopefully that's all, for real this time!

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-12-28 19:30:05 -05:00
SkyratBot
04102bcdd7 [MIRROR] Nukies Update 6: Interdyne is here for you! Medical Supplies and Atropine! [MDB IGNORE] (#17785)
* Nukies Update 6: Interdyne is here for you! Medical Supplies and Atropine!

* Update medkit.dm

* our uses

* adds it to opfor, too

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-11-27 15:17:31 -08: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
b5bd312379 [MIRROR] Add investigate_deaths [MDB IGNORE] (#17424)
* Add investigate_deaths

* merge changes other than giant_spider which deps on tg/70848

* gib

* dust

* death

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-11-11 14:44:33 -05:00
SkyratBot
4741dc4ac9 [MIRROR] Fix halloweens races [MDB IGNORE] (#17270)
* Fix halloweens races

* update modular

* Apply suggestions from code review

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-10-31 18:00:11 +00:00
SkyratBot
1ce77983df [MIRROR] canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE [MDB IGNORE] (#16586)
* canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE

* etes

* eyes

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-02 15:54:46 +01:00
SkyratBot
1e416342ea [MIRROR] [IDB IGNORE] Renames the inhand/misc folder to inhand/items [MDB IGNORE] (#15956)
* [IDB IGNORE] Renames the inhand/misc folder to inhand/items (#69573)

Also adds balloons to inhand/items

* [IDB IGNORE] Renames the inhand/misc folder to inhand/items

* update modular

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 15:29:47 +01:00
SkyratBot
8afdefb125 [MIRROR] Shadowpeople's healing is from their brain, splits up surgery.dmi [MDB IGNORE] (#16003)
* Shadowpeople's healing is from their brain, splits up surgery.dmi (#69543)

About The Pull Request

    Shadowpeople
        brain now holds their healing properties.
            while possible to extract the brain and put them in another species, the burn-in-light downside really makes it a lot more worth it to just stay a shadowperson and enjoy their other benefits than to swap.
        Now use burning eyes from nightmares instead of an unsprited nightvision granting eyeball.
    surgery.dmi split up
        surgery_ui.dmi holds zone selection ui things for research
        surgery_tools.dmi holds surgical tools
        /organs folder holds organs.dmi, and species specific organ files for flies and shadowpeople
            flies don't put in their random organs because of dmi memes, all their UNIQUE organs will be in the .dmi

Why It's Good For The Game

moving behavior onto the organ moves us closer to species as a blueprint, not species as something that magically grants immutable bonuses.
surgery.dmi is poorly described, holds many different things, and conflicts often because of it.
Changelog

cl
add: Shadowpeople now heal from their brains! Their brain-tumor-thingy!
code: split up surgery.dmi
/cl

* Shadowpeople's healing is from their brain, splits up surgery.dmi

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2022-09-04 13:30:33 +01:00
SkyratBot
471760e96a [MIRROR] Fixes storage mass transfer being generally broken, adds mass transferring onto griddles [MDB IGNORE] (#15729)
* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles  (#69084)

* - Fixes storage mass transfer
- Brings some sanity to storage procs
- Implements a griddle feature that never was

* Uncomment this

* Right-click attack fix

* Scoop fix

* Smartfridges use silent

* Restores some lost checks

* Fixes storage implants

* Fixes storage mass transfer being generally broken, adds mass transferring onto griddles

* update modular

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-03 18:01:54 +01:00
SkyratBot
1b7f17f107 [MIRROR] [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1) [MDB IGNORE] (#15801)
* [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1)

* Fixes all the conflicts and all of our modular files using core icon files with broken paths

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-08-28 15:11:04 -04:00
SkyratBot
a8c10d1659 [MIRROR] Converts a shitload of istypes to their more concise macros [MDB IGNORE] (#15702)
Converts a shitload of istypes to their more concise macros

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-27 16:23:44 -04:00
SkyratBot
6016cf97b4 [MIRROR] individual LOG_GAME [MDB IGNORE] (#15401)
* individual LOG_GAME

* e

* Update teleporter.dm

Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-08-08 01:11:55 +01:00
magatsuchi
4f9df17cb1 [FIXED MIRROR] Tsu's Brand Spanking New Storage: or, How I Learned to Refactor For Skyrat (#14868)
* Tsu's Brand Spanking New Storage: or, How I Learned To Pass Github Copilot As My Own Code

* Delete storage.dm

* yippee

* shit

* holy shit i am stupid

* more fixes

* fuck

* woops
2022-07-17 21:16:59 -04:00
SkyratBot
c68fea7cba [MIRROR] Completely removes proc_holders from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code. [MDB IGNORE] (#14666)
* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.

* our changes

* yes

* 0

* Update blackmesa.dmm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-07-01 20:33:30 +01:00
SkyratBot
afa5821b48 [MIRROR] Fat Armsky no longer deletes people by standing on boxes. [MDB IGNORE] (#14318)
* Fat Armsky no longer deletes people by standing on boxes. (#67300)

* Securitrons no longer runtime error and delete a player getting stunned through a cardboard box.

* Fat Armsky no longer deletes people by standing on boxes.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2022-06-15 12:12:59 +01:00
SkyratBot
58dda534db Syringes and injectors icons (#66722) (#13371)
New sprites for the implanter and DNA injector!

Co-authored-by: PestoVerde322 <75247747+PestoVerde322@users.noreply.github.com>
2022-05-06 14:59:18 +01:00
SkyratBot
f0d9592385 [MIRROR] Pens require gravity to write [MDB IGNORE] (#13184)
* Pens require gravity to write (#66310)

* TO BE CONTINUED

* Add zero gravity writing restrictions for pens

* Fix gravity check for writing

* Fix writing instrument var declaration

* Fix pen and crayon can_write proc

* Fix lenting issues with code docs

* Remove deprecated code

* Change code comment

* Add literacy checks and writing checks to items

* Remove deprecated code

* Remove deprecated code

* Remove deprecated code

* Remove duplicate code

* Fix grammar for space pens.

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

* Trigger Build

* Optimize proc order for pen gravity

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

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

* Pens require gravity to write

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
2022-04-27 21:03:45 -07:00
SkyratBot
0643491da9 [MIRROR] Fixed progression traitor uplinks suddenly changing owners [MDB IGNORE] (#11596)
* Fixed progression traitor uplinks suddenly changing owners (#64928)

They could change if someone implanted themselves with an uplink from an uplink that didn't belong to them.

* Fixed progression traitor uplinks suddenly changing owners

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2022-02-19 06:13:19 -05:00
SkyratBot
b5f186508e [MIRROR] Re-adds species uplink items (and some minor fixes) [MDB IGNORE] (#11165)
* Re-adds species uplink items (and some minor fixes) (#64460)

* Re-adds species uplink items (and some minor fixes)

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-01-31 11:09:22 +00:00
SkyratBot
c33061765b [MIRROR] [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety [MDB IGNORE] (#10620)
* [MDB IGNORE] BIDDLE TRAITORS - Adds progression traitors. Refactors uplink code in its entirety

* updates and fixes

* ffff

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 03:25:38 +00:00
SkyratBot
b398858a2b [MIRROR] Various suicide_act() things [MDB IGNORE] (#10552)
* Various suicide_act() things (#63808)

* Various suicide_act() things

Co-authored-by: DragonTrance <dylan661993@gmail.com>
2022-01-09 22:04:10 -05:00
SkyratBot
f64e20590a [MIRROR] TGUI input box conversions 2 [MDB IGNORE] (#10089)
* TGUI input box conversions 2 (#63395)

More text inputs converted to tgui, TGUI text and number input now more sanely handles ENTER key being pressed, you can now press anywhere in the window to enter the input. TGUI text input now considers placeholder text for the default valid state. IE, if there is default text you can press enter immediately without having to rewrite it just to recheck validity. Fixes: useSharedState => useLocalState. not only was sharedstate not needed but it opened up the ui to vulnerabilities

* TGUI input box conversions 2

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2021-12-15 23:57:40 +00:00
SkyratBot
b7164873d4 [MIRROR] Speeds up the preference menu, significantly. Adds object pooling, other stuff too [MDB IGNORE] (#9962)
* Speeds up the preference menu, significantly. Adds object pooling, other stuff too

* First fixes

* Feex

* Quick fix for the unit test to shut up

* Fixing the runtime with randomly-colored jumpsuits

* Fixes that one hard del

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-12-10 02:22:41 +00:00
SkyratBot
7954d664a8 [MIRROR] removes double spaces before symbols [MDB IGNORE] (#9117)
* removes double spaces before symbols (#62397)

This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.

* removes double spaces before symbols

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-10-29 04:14:00 +01:00
SkyratBot
0b4421bdb8 [MIRROR] Fixes microbomb implants blowing you up anyway on popup close & doubleclicking the action button [MDB IGNORE] (#9016)
* Fixes microbomb implants blowing you up anyway on popup close & doubleclicking the action button (#62301)

Title, this probably indeed was a problem for the macrobomb as well. didn't test.
doubleclicking the action button pointed out by @ Ghommie

* Fixes microbomb implants blowing you up anyway on popup close & doubleclicking the action button

Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
2021-10-24 15:04:58 -04:00
SkyratBot
f24d8a532d [MIRROR] Small implant code cleanup. [MDB IGNORE] (#8971)
* Small implant code cleanup. (#62226)

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

* Small implant code cleanup.

* Update mortis.dm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-23 00:46:43 +01:00
SkyratBot
c23bd1cb8c [MIRROR] every case of initialize that should have mapload, does (#8374)
* every case of initialize that should have mapload, does

* E

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-24 23:07:53 +01:00
SkyratBot
39ecb0a174 [MIRROR] Radically improves explosion logging. (#8255)
* Radically improves explosion logging.

* Update eldritch_effects.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-19 22:25:20 +01:00
SkyratBot
6e34600cd5 [MIRROR] restore removed individual logs and place them under LOG_VICTIM category (#8043)
* restore removed individual logs and place them under LOG_VICTIM category (#61256)

it turns out that admins use the removed information in #61179 for faster live in-round logging, I've restored that information under a LOG_VICTIM category that should not interfere with mind-reading and ling absorb text

* restore removed individual logs and place them under LOG_VICTIM category

Co-authored-by: Couls <coul422@gmail.com>
2021-09-07 19:54:33 +01:00
SkyratBot
40cb513cfd [MIRROR] Mindshielding now sends a signal, and is dealt by the antagonist (#7573)
* Mindshielding now sends a signal, and is dealt by the antagonist (#60850)

Mindshielding people isn't hardcoded to the mindshield's implanting anymore, instead sending a signal, which I find better in the long run (especially for downstreams).

* Mindshielding now sends a signal, and is dealt by the antagonist

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-08-15 23:44:03 +01:00
SkyratBot
9f7d93f3f3 [MIRROR] Remove nanites (#7210)
* Remove nanites

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-29 00:45:17 +01:00
SkyratBot
a14347bb06 [MIRROR] Dissecting Biddle Traitors: Toned down traitor flavor + antag info tgui (#7084)
* Dissecting Biddle Traitors: Toned down traitor flavor + antag info tgui

* Mirror!

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-28 20:42:33 +01:00
SkyratBot
314abe26fd [MIRROR] DMdoc's implant_clown.dm (#7022)
* DMdoc's implant_clown.dm (#60268)

* DMdoc's implant_clown.dm

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
2021-07-20 14:24:33 +02:00
SkyratBot
c1163dff19 [MIRROR] EVEN MORE HARDDEL FIXES (#7017)
* EVEN MORE HARDDEL FIXES (#60228)

Fixes a ton of harddels, sourced from #59996
I think this brings us down to like, ~100 per round from ~200, with only like 20 of those being proper hell failures. I've seen harddel profiles below 1 second of total cost. Feeling good.

See you on the other side

Makes the cryopod control computer into a weakref, never trust bee code
Converts brig door timer internal lists to weakrefs
Fixes a harddel caused by qdeling a motion sensitive camera after it had left its source area, jesus christ why didn't we do this already holy shit
Converts the radio implant ref held by the antenna mutation to weakrefs because it isn't reliably cleaned up, makes the radio implant actually qdel its fucking radio
Removes the target var from the throwing datum, it does literally nothing and just exists to cause harddels, mostly for the singularity
 Fixes a cable harddel sourced from things that try to enter blueprints after smoothing, but before roundstart. IE, shuttles. Removes shuttles from the blueprints
Fixes emmisive blockers being added post qdel
Removes some manual ghosting from cryopods, I initially did this for harddel reasons, but I figured out a better fix for that. I'm now doing it because it's got this really strange logic for like "re-entering the game" that doesn't actually link to what the ghostize proc does. We should remove this at some point
Fixes robot hud objects harddeling due to hanging refs
Fixes buildmode related hanging refs, I'm coming for you admin team
Fixes a few instances of trying to add the forensics component post qdel, hhhhhhhhhhh
Fixes some split personality harddels/weirdness
Replaces a use of disconnect_duct with an init qdel hint, I suspect there's more issues with duct harddels, I've seen some odd logs about ahhh the area_contents list, but we can worry about that later
Makes teleporter targets into weakrefs, properly types them as /atom
Makes frequency devices into weakrefs
Makes cameras remove themselves from camera nets on Destroy
Makes tgui ui datums implement destroy, this means if I ever see one hang a ref to user or whatever, I know there's an error with calling close() properly. I've seen this harddel once, but not after this change so I assume there was some error with close(). IDK maybe this is a papering over? Would have to ask @ stylemistake
I've seen logs of beartraps being in world post del, putting a return there just in case. The same is true of nerf darts, but I haven't really looked into that yet
Makes a shoe's ref to untying alerts a weakref, yes this is needed.
Moves clearing client_in_contents to the Login of the new mob. This prevents doing things like ghosting someone before a mob qdel causing harddels
Fixes a harddel set sourced from adding a status effect to a qdeleted thing. Is this an error? I'm honestly not sure.
Converts bsa code to weakrefs
Converts the partner var of heat exchangers to weakrefs
Converts camera assemblies to weakrefs
Fixes some dumb behavior with ammo casings and assuming you'll be on a turf post Destroy parent call
Fixes? merger related harddels, you were never cleared from your own members list, so origin objects would end up making a new list, creating harddels. Potential input from @ ninjanomnom about the logic
Chasms store a static list of "falling atoms", which only exists for chasms that go somewhere else. This list wasn't being cleared of qdeleted objects, which is what happens when you fall in most chasms. Fixes this, and converts the list to weakrefs.
Fixes some runtimes in both sheet code, and the weather listener element. This is here because runtime spam made testing more of a pain, didn't think it needed its own pr
Fixes colorful reagent harddels sourced from reagents that were qdel'd before roundstart. I'm only like 50% sure this actually got it, but the issue may have been solved by #60174, so eh
Turns the nuke op antag datum's ref to the war button into a weakref
Fixes some holopad code that was not nulling refs all the time
Converts camera bugs to weakrefs, this was the result of the bug being "reworked" like 6 years back without taking the existing ref clearing into account. Whole item needs a redo, but this'll do for now.
Ensures that the both pulling and pullee refs are cleared on Destroy
The crew monitor held all users in a non clearing list, makes that list a weakref because I hate everything

Oh and I removed all sources of gas_mixture qdeletion, I'm kinda unsure on this since it's not technically supported, but any harddels from it might? indicate something going wrong with like, gas passing logic. I'd like @ MrStonedOne's thoughts, since I trust him to call me an idiot if I'm wrong.

<!-- Please add a short description of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding. -->

## Why it's not good for the game

I crashed sybil like 10 times to get this data, I'm gonna put it to good use. Don't think you're safe sybilites, I'm coming for you.

* EVEN MORE HARDDEL FIXES

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-07-20 12:59:41 +02:00
SkyratBot
844bcb311a [MIRROR] Fixes tracking implants that cannot be used as teleporter beacons erroneously being described as usable as teleporter beacons in the implant pad. (#6992)
* Fixes tracking implants that cannot be used as teleporter beacons erroneously being described as usable as teleporter beacons in the implant pad. (#60269)

* Fixes tracking implants that cannot be used as teleporter beacons erroneously being described as usable as teleporter beacons in the implant pad.

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
2021-07-19 15:43:33 +02:00
SkyratBot
f391687a50 [MIRROR] Improves implantcase.dm (#6964)
* Improves implantcase.dm

* Mirror!

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-19 19:59:17 +12:00
SkyratBot
99333fdfcc [MIRROR] Replace a number of New() overrides with Initialize() (#6945)
* Replace a number of New() overrides with Initialize() (#60223)

* Replace a number of New() overrides with Initialize()

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-07-19 16:55:01 +12:00
SkyratBot
7fa8c7e87c [MIRROR] Cleans up and dmdoc's implant.dm (#6959)
* Cleans up and dmdoc's implant.dm (#60179)

Mostly variable names and dmdoc. Behavior unchanged.

Co-authored-by: Your mother <mothmilk666666666666@ tfwno.gf>
Co-authored-by: coiax <yellowbounder@ gmail.com>

* Cleans up and dmdoc's implant.dm

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
Co-authored-by: Your mother <mothmilk666666666666@ tfwno.gf>
Co-authored-by: coiax <yellowbounder@ gmail.com>
2021-07-16 20:34:59 +01:00
SkyratBot
dde153d345 [MIRROR] Cleans up and DMdoc's implanter.dm (#6878)
* Cleans up and DMdoc's implanter.dm

* Update implanter.dm

Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-12 21:59:13 +01:00
SkyratBot
de665b204b [MIRROR] Large cardboard box icon fix (#6691)
* Large cardboard box icon fix (#59938)

* cardboard box fix

* Large cardboard box icon fix

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2021-07-03 22:25:55 +01:00
SkyratBot
671873f250 [MIRROR] Uplink implants now inherit the uplink flags of the uplink they were bought from (#6639)
* Change uplink implants to inherit the uplink flags of the uplink they were bought from (#59735)

Uplinks implants bought from uplinks inherit the uplink flags of the uplink they were bought from.

This fixes an undocumented bug where by purchasing an uplink implant, nuke ops would be able to get things they normally can't.

Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@ users.noreply.github.com>

* Uplink implants now inherit the uplink flags of the uplink they were bought from

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@ users.noreply.github.com>
2021-07-01 22:59:21 +01:00