Commit Graph

699 Commits

Author SHA1 Message Date
GuillaumePrata 94dece8e5a Moves backpacks into their own DMI and "standardize" some names (#70220)
I wanted to touch a backpack sprite and got mad with everything being on the same dmi file sooo...
Creates a dmi for backpacks because we had everything shoved on the same back.dmi or storage.dmi which is a headache to work with.

I tried to standardize the name between backpacks, satchels and duffels and some minor clarity while I was there, stuff like:
securitypack -> backpack-security
satchel-sec -> satchel-security
brokenpack -> bag_of_holding-inert

Also made a new obj icon file for the ethereal backpack, it had it's own file for the mob worn icon so now both icons have their own dmi.
Probably should rename it to "species" if we ever add more species/lore related backpacks but that is a future issue.

I didn't touch the inhand dmis or "standardize" their name, they are well split enough and just to avoid making a zillion changes on the same PR.
I might look into it if this PR is merged.
2022-10-01 09:43:45 -07:00
John Willard 243231eb48 Properly checks flags with & instead of == (#70130)
* Makes flags properly check themselves

Byond ref: https://www.byond.com/docs/ref/#/operator/&
Basically, flags should use & instead of ==
We can have more than 1 slot on any item, so it's preferred that we do this instead. Even if it doesn't immediately fix any problems, it's something that should be the standard anyways to prevent it from ever being a problem.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-09-27 21:51:45 +00:00
LemonInTheDark 72a5b79555 Removes overlay queuing, saves 6/7 seconds of initialize. Lightly modifies stat tracking macros (#69696)
* Removes overlay queuing, saves 6/7 seconds of initialize. Lightly modifies stat tracking macros

So we have this overlay queuing system right? It's build with the assumption
that the "add to overlay list" operation is real expensive, and is
thus useful to queue removals or additions.

It turns out that it just isn't, at least during init. In my testing the
operation of queuing took LONGER then the actual overlay add/remove did.

That's ignoring the cost of the subsystem's work.

I've also modified part of the stat tracking macro, since it took a good
bit of cpu time, and didn't seem to well, do anything. So far as I can
tell it always evaluates to 1
2022-09-26 08:46:46 -07:00
John Willard ca229574f6 Removes AI and Charge parts from tablets, adds support for more later. (#70012)
* Removes recharger tablet parts

Removes 'advanced' tablet subtypes that we used before PDAs were added, in some jobs.
Replaces Roboticist's advanced tablet mail with a laptop
Moves the notepad's note var from the tablet, to the note app
Moves modular computer's defines into their own file

Machine computers now directly use power from the machine they're in, while the rest uses power cells.
Silicon tablets don't use power at all.

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-09-22 20:58:20 -07:00
axietheaxolotl 2fea0a5947 SECURITY RESPRITE - DARE. (#69948)
Brand new sec sprites. Done by yours truly. Revival of #68024.

Resprited Items:

Security Jumpsuit
Security Skirt
Warden Jumpsuit
Warden Skirt
HoS Jumpsuit
HoS Skirt
HoS Formal Uniforms
Armour Vest
Security Winter Coat
Warden Jacket
HoS Coat
HoS Parade Coats
HoS Wintercoat
Security Belt
2022-09-18 23:27:08 -07:00
Imaginos16 0671297bb1 Captain 2.0: Midnight Blue Edition! (#69842)
imageadd: Resprites all of the captain's clothes!
2022-09-13 01:26:31 -04:00
san7890 42ec99a1b4 Preset Boxes File De-concatenation (#69753)
* Preset Boxes File De-concatenation

Hey there,

We had one file that was like eighteen-hundred (1800) lines full of just... box presets. There was no rhyme or reason to where anything was in the list, it just sorta got to the point where new features were found near the bottom with zero grouping. So, let's de-concatenate this massive file and give it some proper grouping.

While I was in the area, I did some file cleanup, using `snake_case` instead of whatever the fuck some vars were, alphabetizing and cleaning up lists to have trailing commas, that sorta stuff. Let me know if I broke something somewhere.

* documentations, var improvement

* adds some documentation, clears up some variables
2022-09-08 09:15:58 -04:00
MrMelbert 39fec22107 Adds an examine hint to explorer gas masks (#69646)
* Gives examine text to unfolded gas masks that folded ones fit in bags.
2022-09-05 23:22:19 -04:00
Yaroslav Nurkov 670aa7c4a0 Cucumber Fever (#69639)
About The Pull Request

Not without the help of my friend spriter, I added cucumbers, their seeds, the cultivation itself, so that they could be pickled and washed with a brine jar. I also added a Danish hot dog because it required cucumbers (perhaps that was the end goal), changed a couple of recipes to include cucumbers or pickles. Cucumbers have been added to both cargo orders and bounty cubes, as well as for the food order console

I think the Cucumber Update deserves its plush toy.

gg18b4b2cab0
Why It's Good For The Game

I think more food and drink... would add quite a nice role playing experience, and additional gameplay for hydroponics.
Changelog

cl Vishenka0704 and Ying-The-Pando
add: Cucumbers and pickles
add: Danish hot dog
balance: add cucumbers in dishes where they need
qol: add to bounty cubes, orders - new vegetables
/cl
2022-09-04 09:10:48 +12:00
Mickyan 9f2372ea77 Adds Ethereal Fashion (#69494)
Added two new ethereal themed pieces of clothing, and a new curator bundle: Ethereal Trail Warden
2022-09-03 02:10:58 -03:00
tattle fd9f50c552 [IDB IGNORE] Renames the inhand/misc folder to inhand/items (#69573)
Also adds balloons to inhand/items
2022-09-01 03:29:10 +02:00
MidoriWroth 7354466b42 Food Expansion 4! The great salad update and more (#69355)
About The Pull Request

This is my fourth food expansion PR, adding and changing quite a few things.
This PR will:

    Add 7 different types of salads
    Add a new ingredient supply beacon box called 'Salads', which includes ingredients used for the salad recipes
    Give cherry jelly its own container, and allow jelly to be ordered from the produce console
    Make cherry jelly actually nourish you when consumed
    Add paçoca, a Brazilian peanut candy requested by @GuillaumePrata
    Add mashed potatoes
    Add shepherds pie
    Add Cullen skink
2022-08-24 21:16:12 -07:00
Tim 14afa4509e Fix chaplain's not being able to pick their bible cover while illiterate or blind (#69249)
* Fix chaplain's bible cover menu not working while blind/illiterate.
2022-08-24 23:03:05 -04:00
tattle d91390a447 [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1) (#69416)
Moves singulo and supermatter dmis into obj/engine, renamed from obj/tesla_engine
Moves Halloween, Christmas, and misc holiday items to obj/holiday
Moves lollipops to obj/food
Moves crates, closets, and storage to obj/storage
Moves assemblies to obj/assemblies
Renames decals.dmi to signs.dmi ...because they're signs and not decals
Moves statues, cutouts, instruments, art supplies, and crayons to obj/art
Moves balloons, plushes, toys, cards, dice, the hourglass, and TCG to obj/toys
Moves guns, swords, shields to obj/weapons
2022-08-24 20:49:35 -03:00
MrMelbert ec1c311664 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
2022-08-20 17:35:11 -04:00
Seth Scherer f1a363c825 Converts a shitload of istypes to their more concise macros (#69260)
* Converts a lot of istypes() to use their istype macro helpers.
2022-08-18 22:08:44 -04:00
Kapu1178 2eccf3cea0 Cleans up update_icons, makes the update_icon_updates_onmob element bespoke, updates CODEOWNERS (#69179)
* I just realised this is all one commit.

* hail marry

* fix.

* FIXES IT FOR REAL

* Update code/datums/elements/update_icon_updates_onmob.dm
2022-08-16 13:50:21 -04:00
necromanceranne 096abfabd0 Fixes bibbles holding normal sized items, cleans up an unused proc (#69163) 2022-08-13 13:46:10 -04:00
Imaginos16 c7e5ca401c Improved Medical Tools and Medkits by Onule! (#69109)
imageadd: Completely resprites all medkits!
imageadd: Completely resprites all medical tools!
2022-08-12 16:56:58 -04:00
John Willard 4a274a6e4b [MDB IGNORE] Refactors drinks and fixes a lot of food problems (#69081)
* Makes condiments their own subtype, fixes geese, prepares for merging

* Fixes geese checking drink type instead of edible foodtype to eat gross food.
* Renames foodtype var on drinks to drink_types to prevent above from happening again because it KEEPS HAPPENING. DRINKS AREN'T FOOD!
* Makes Condiments their own subtype of reagent_containers because they don't make any use of being a subtype of food, at all.
* Starts moving things from food to /food/drink subtype in preparation for merging /food/drink with /drink

* fully removes Food subtype

* /reagent_containers/drinks are now /reagent_containers/cup - This is so it's no longer confused with eachother.
* /food/drinks is now /reagent_containers/cup/drinks, so we can keep their special abilities.
* Fixes a LOT of errors with food, which are STILL checking the reagent_containers, despite ACTUAL food being refactored away from it a long time ago.

This doesn't compile yet, but I do want to make sure my progress is well tracked.

* remove copypaste code, changes soda cans

* Removes most copy paste code between the two drinks, moving most stuff to parent whenever needed.
* Made soda cans their own subtype since they didn't share anything with glass bottles anyways.
* Fixes more problems with food/drinks, especially with geese. Geese really were just broken this whole time and no one said a word...
* Removes a snowflake signal, now that both drink types share a common one.
* Adds everything to the .dme

Currently my goal is to get this all compiling, then remove isGlass var by making glass be all glass ones only.

* Moves all icons into a single drinks dmi

I'm not that great at icon stuff, hopefully I didn't forget/break anything.

* Turns juices into their own subtype

This allows us to let them check for type in molotov, to both get rid of a use of isGlass, and so non-glass non-cartons don't show up as 'carton'.

* fixes compile issues, adds updatepaths

* a better updatepaths

* updates the damn maps now

* properly names the updatepath

* how did that get there

* i suck at handling merge conflicts

* how am i this bad

* code improvement and soda fix

* more fixes

* Don't be a timer

Ports from old food bottles to trans the reagents, rather than add a timer to.

* Merge conflicts and fixes bottle smashing

* Bottle smashing is now consistently functional regardless of how much liquid they have in them, when before it would spill first, then smash on the second hit.

* runs updatepaths again
2022-08-12 15:24:14 -04:00
Seth Scherer 34b4034777 Replaces the mood component with a mood datum (#68592)
About The Pull Request

Mood was abusing signals and get component pretty badly, so I redid it as a datum to stop this.
Why It's Good For The CODEBASE

Better code pratices, also gives admins easier tools to manage mood
Changelog

cl
admin: Added two new procs into the VV dropdown menu to add and remove mood events from living mobs.
/cl
2022-08-12 08:59:20 +12:00
MrMelbert 92dc954ab5 Fixes 118(give or take) cases of mapload not being passed to initilaize (#69107)
fixes 114 cases of mapload not being passed to initilaize
2022-08-11 10:22:33 -04:00
Imaginos16 6b3586226f Medical Resprite Two - Making This Right (#69047)
imageadd: Resprites the entire medical department (again)!
2022-08-07 21:58:17 -04:00
MrMelbert 59cc93b364 Removes the "proximity crew pinpointer" (the ones parameds spawn with), paramedic PDAs start with the lifeline app instead (#68993)
* Parameds start with the Lifeline tablet app instead of a proximity pinpointer, with a Calomel bottle replacing their now empty medical belt slot.
2022-08-07 19:50:31 -04:00
Coffee 51e8af55eb Converts most storage item chat messages to balloon alerts (#68700)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-08-03 07:53:39 -07:00
Timberpoes 786ac5c855 [MDB Ignore][Bounty][Complete Refactor] Papercode Redux: Too Many Damn Files <Map Conflict Edition> (#68612)
Papercode refactor
2022-08-02 19:27:42 +02:00
magatsuchi 0bb21efbd4 organ boxes now have a storage type (#68722)
* Organ boxes now have a storage type and, because of it, will once again prevent organ decay to organs stored inside of it.
2022-07-29 19:57:06 -04:00
Twaticus f0a78409d8 [MDB Ignore]Suit DMI split p1: Mob icons (#68417)
Co-authored-by: TWAT <twaticus.tg@gmail.com>
2022-07-17 01:18:20 -07:00
Tristrian 938aa7df13 The mining wardrobe has now an "explorer" duffelbag instead of a normal one. (#68425) 2022-07-17 01:11:32 -07:00
Kylerace fe7513d282 addresses reviews on the tram pr made after merge, fixes diagonal movement bugs (#68033) 2022-07-16 21:44:41 -07:00
Fikou 71835a7c1c Nukie Rework Part 2: Nuclear Operative starting gear rework (#68401)
Replaces the nuke op Makarov with the Ansem, a clandestine pistol firing 10mm rounds which do more damage. Ammo costs more.
Replaces the nuke op survival knife with the energy dagger, as well as giving it a soft light, light armor penetration and a light wound bonus.
Replaces the diamond drill in their closet with an entrenching tool, which swaps between crowbar, pickaxe and shovel modes.
Gives the nuke op survival box the syndie box design, as well as a crowbar, screwdriver and mini welder.
Removes the nuke op leader's Krav Maga gloves.
Updates the esword and edagger sprites with ones i had lying around from 2019, they are more consistent.
Moves pistol sprites a bit up to center them.
2022-07-16 19:25:52 -04:00
Tim e20d703852 Fix rolling paper pack spawning empty (#68368)
* Fix rolling paper pack now spawning with contents

* Remove deprecated max_slot code
2022-07-13 22:01:03 -05:00
magatsuchi 07544ecf01 fixes safes acting strangely (#68358)
woops

Co-authored-by: magatsuchi <lockyfocus@gmail.com>
2022-07-13 13:58:53 -05:00
magatsuchi 8fc0183260 [NO GBP] changes box storage limit to 2 instead of 4 (#68298)
fun ruined
2022-07-10 21:33:34 -05:00
magatsuchi 7d0f393f5d Tsu's Brand Spanking New Storage: or, How I Learned To Pass Github Copilot As My Own Code (#67478)
Currently, storage works as a subtype of /datum/component, utilizing GetComponent() and signals to operate. While this is a pretty good idea in theory, the execution was pretty trash, and we end up with alot of GetComponent() snowflake code (something that shouldn't even need to be used frankly), and a heaping load of scattered procs that lead into one another, and procs that don't get utilized properly.

Instead, this PR adds atom_storage and proc/create_storage(. . .) to every atom, allowing for the possibility of storage on quite frankly anything. Not only does this entirely remove the need for signals, but it heavily squashes down the number of needed procs in total (removing snowflake signal procs that just lead to one another), reducing overall proc overhead and improving performance.
2022-07-08 18:13:18 -07:00
Salex08 258d553b68 Crew starts with the right amount of breathing mask again (#68153)
removes unnecessary codepiece
2022-07-03 21:14:10 +02:00
GuillaumePrata 966b711e15 Removes the superfluous breathing mask from the survival box of clown/mime + New mime hugbox. (#67621)
* Base box changes

* Mime box + breathing mas removal

* Mime hugbox back in

* Fishing is back
2022-07-01 22:29:46 +01:00
MrMelbert f8f3dbed98 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. (#67083)
* destroy proc holder pt1
- change proc_holder/spell to action/cooldown/spell
- docs all the spell vars, renames some of them
- removes some useless vars
- start with pointed spells, as they're easy

* kill proc_holder pt2
- kill a buncha vars and replace it with flags
- convert a ton over
- general code improvements

* kill proc_holders pt3
- convert a good few more spells
- rename some signals
- handle statpanel
- better docs

* kiill proc_holder pt4:
- restructure the file system of action.dm, separating a good amount of item actions and miscellaneous garbage into files where they belong slightly better. Also splits off item actions, cooldown actions, innate actions, etc. into their own files, overlal making it much better to work with
- converts touch attacks to actions
- converts blood crawl, jaunt subtype

* kills proc_holder pt5
- clears up some icon issues so all the currently converted pages don't have errors
- shapeshift
- some more action cleanup

* kills proc_holder pt5.5:
- some documentation
- reworks feedback to prevent oversight with teleports and stuff

* kills proc_holder pt6:
- converted cult spells
- converted magic missile
- converted mime spells
- chipped away at the errors
- removed some vars which were too general, replaced them with more locally applicable vars. for example "range" which could mean "projectile range" or "aoe radius" or whatever - instead of having a broad net which everyone applies to in a confusing matter, instead lets each spell delegate on their own.
- merged magic/spell and magic/aoe, as the comment intended
- more unified behavior for spell levelling

* kill proc_holders pt 6.5:
- replacing a buncha old proc_holders that have been updated to reduce some errors. sub 900 baby

* kills proc_holder pt 6.75:
- minor fixes

* kills proc_holder pt7:
- cuts down on some errors
- refactors some wiz events

* kills proc_holder pt 7.5:
- malf ranged modules
- some minor errors

* kills proc_holder pt 7.75:
- mor eminor error handling, cleaning up changes

* kill proc_holder pt8:
- refactors spell book
- refactors spell implant
- some more minor error fixing

* kill proc_holder pt 8.5:
- scan ability

* Adds some robust documentation

* kill proc_holder pt9:
- converts some / most mutations over

* kill proc_holder pt10:
- sort out all the granters
- refactor them slightly
- fix some compile errors

* Some set-unset sanity - going to need to test removing Share()

* Removes transfer actions. It doesn't seem to do anything.
- Transfer_actions was called when current = new_character so locially speaking the early return in Grant() should cause it to NOOP. Test this in the future though

* Removes sharing from actions, docs actions better

* Some better documentation for spell and spell components

* Kills proc_holder pt11:
- Finally finishes ALL THE SPELLS IN THE SPELL FOLDER
- Fixes some more errors

* kills proc_holder pt11.5:
- minor error fixing and sanity

* Method of sharing actions. Can be improved  in the future, needs testing

* Implements a way to update the stat panel entry for a spell. Also gets rid of VV stuff, as you can update the bigflags directly in VV now.

* Curse of madness bug I put in.

* kills proc_holder pt12:
- sub 500 errors!
- converts cytology mobs
- converts and refactors spiders slightly
- some minor fixing around the place as usual

* kill proc_holder pt13
- Finishes heretic spells
- Sub 300 errors!
- some touch refactoring to account for mansus grasp

* kills proc_holder pt14:
- revenant
- minor bugfixing for heretic stuff

* kills proc_holder pt14.5:
- some missed stuff for revenant + heretic

* kills proc_holder pt15:
- alien abilities
- more minor fixing
- sub 100 errors. The end is nigh

* kill proc_holder pt16? 17:
- Finishes cult spells
- sub 50 errors!
- refactors the way charge works
- renames / moves some signals

* kills proc_holder pt final:
- sdql spells
- no more errors!

* Bugfixes round 1

* Various bugfixing
- documentation done
- give spell works
- can cast spell gives feedback conditionally
- is available takes into account casting ability

* Some accidental reversions + fixes

* Unit tests

* Completely refactors jaunting
- All bloodcrawling is now handled on the action itself instead of across various living procs
- slaughter demons have their own blood crawls
- jaunting dummies don't have side effects on destroy() anymore

* Wizard spell logging and even more refactoring
2022-07-01 02:01:02 -04:00
Sebbe9123 d6fa504c2b Ert medic belts (#67916)
* Adds belt

* Adds belt to ERT medic
2022-06-28 10:22:05 -04:00
Coffee 940f8348f8 Fixes regenerative core implants not functioning (#67961)
* Repaths regen_core

* updates var names

* updates var name
2022-06-26 20:20:53 -04:00
ghost sheep fa6afa2cdf Rapid Lighting Device fits on a toolbelt (#67892)
Rapid Light Dispenser fits on a toolbelt
2022-06-23 17:32:53 -05:00
MrMelbert 42266c38e8 Cursed Dufflebag is now less picky + no longer permanently applies you with pacifism even after being removed + causes less wounding (#67687)
Cursed Duffelbag is less picky, now. Instead of snowflaking for only burnt food, it will take any item with /toxin reagents within it.
	/badfood (in burnt recipes) are considered toxins, so it still works.
The damage from the duffelbag now has a wounding penalty.
	A negative penalty to wounding, but no penalty to bare wounding.
If the attached mob is dead, it now deals significantly less damage, and doesn't heal the dufflebag.
The dufflebag now uses visible messages to convey it's eating to people nearby, instead of just to_chats.
Fixes the cursed duffelbag cursing the mob to gain pacifism and clumsiness permanently.
	dropdel causes items to be qdeleted before the drop signal is sent so it never uncursed the mob.

Why It's Good For The Game

Cursed Duffelbag is less picky now.

Burnt food is surprisingly a little less common now-a-days, due to food changes / decomposition / etc.
This led to it being much easier to literally acid the dufflebag off instead of engage with it's mechanic, which is pretty lame.

By allowing any toxin type to be used, it greatly opens up more options to get it removed.

The damage from the duffelbag now has a wounding penalty.

Dufflebag's damage had no wounding modifier, meaning it was surefire guaranteed to break your ribs, which was incredibly debilitating.

Now, it can still break your ribs if you have very little chest protection, but it's much much less likely if you're wearing equipment.

If the attached mob is dead, it now deals significantly less damage.

Makes it a bit easier to treat people who are afflicted with a dufflebag. Reviving people with a cursed dufflebag would constantly result in them being damaged greatly beyond the defib threshold. Just annoying.

The dufflebag now uses visible messages to convey it's eating to people nearby, instead of just to_chats.

Mostly QoL. Some people would be confused why someone's being damaged from seemingly nowhere.

Fixes the cursed duffelbag cursing the mob to gain pacifism and clumsiness permanently.

Bugfeex. Sue me.
2022-06-18 17:49:03 -07:00
bob-b-b c59da63de2 Fixes infiltrator toolbox not fitting all suit parts (#67793)
Fixes #67770

People buying the infiltrator kit couldn't put all the suit parts back into the case after taking them out
2022-06-16 16:23:45 +01:00
alphanerdd 10edec8933 Fixes donk pocket box description, big microwave in shambles. (#67759)
* Donk Co. Exposed

donk pocket boxes no longer lie, big microwave is in shambles

* Update code/game/objects/items/storage/boxes.dm

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-06-15 02:02:20 -04:00
robbertapir ff2b244c78 Allows regal rats to heal by eating all types of cheese (#67680)
Co-authored-by: robbertapir <robbertapir@airmail.cc>
2022-06-12 17:31:18 -07:00
Pandarsenic c2008de72f Small player-facing text improvements (2 pill bottles, 1 recycler note) (#67452)
Nothing special, honestly - exactly what it sounds like.

Two grammar fixes to pill bottles (missing spaces).
A little grammar tuning on a note I'm pretty sure literally nobody ever reads, at any point, ever.

Just words fixes now but we might as well get them while we're here
2022-06-06 14:01:29 -07:00
itseasytosee 878e3b8d37 Implements a Demolition Modifier variable to items, affects damage vs structures and robots. (#66967)
Adds a modifier variable which can be used to increase or decrease a given items damage to structures, machinery, vehicles, and robots (including cyborgs, simple-bots, and anything else with the MOB_ROBOTIC biotype)
2022-06-06 15:29:57 -05:00
EOBGames ad07e02316 The Great Species Food Rebalance, Part One: Nutriment, Chemical Recipes, Cargo Orders, Baking Times, Oh My! (#67227)
the great rebalance, part one

A comprehensive rebalance of food, including cooking times, nutriment values, crafting recipes, and cargo orders
2022-06-05 20:17:07 +02:00
Wallem 12204f2943 GAGS-ifies ties, and removes inherent ties from some outfits. (#67053)
Removes the inherent ties from most civilian outfits with a single-color tie baked into them.
2022-05-30 22:02:25 -07:00
Kapu1178 6d470992cb This tail refactor turned into an organ refactor. Funny how that works. (#67017)
* Fuck you (refactors ur tails)

* Errors

* Wow. Pain.

* Fixes up probably everything

* finish up here

* Fixes hard del maybe

* original owner hard del

* garbage collection runtime

* suck my peen byond

* Mapped tails

* motherfucker.

* motherrfucker. again.

* Whooopppppsie

* yeah bad idea

* Turns out external organs literally just sat in nullspace forever if their parent was deleted, and didnt Remove() themselves, causing harddels.

* So anyways I repathed all organs

* Fixes

* really.

* unit test... test

* unit test-test but it passes linters this time because im a moh-ron

* I've lost track of what im doing at this point

* Hopefully fixes hard del?

* meh

* Update code/datums/dna.dm

* things n stuff

* repath from master pull
2022-05-30 21:18:34 -07:00