Adds a new abductor themed shuttle to the game, available for 8k
credits! The shuttle is only unlocked after alien technology has been
researched!
The shuttle offers some unique items and layout compared to others
currently available. Two singular entrances with the brig in the back
means security needs to walk prisoners to the brig area to secure them.
Unique unlock mechanism encourages either bringing alien tech back from
Lavaland or stealing some from an abductor.
A few unique items aboard, including alien tools, the experimental
cloner, and a void core can provide interesting opportunity if utilized
in the window of time that the shuttle is on station.
VTEC is currently broken (as in, completely non functional) and, quite
frankly, it wouldn't be very healthy for the game if it weren't. A -2
speedmod is no joke. What's more fun than no damage slowdown borg?
That's right, one with a movespeed -2 modifier.
* Makes the abductor healing gland more interesting
* Implant rejection
* .
* no vomit for blood regen
* Update code/modules/antagonists/abductor/equipment/glands/heal.dm
Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
* Document datum, area,atom and some of the mob code
* Update
* Documented mob_helpers poorly
* Brief treatise on mob movement iself
* sdfasdf
* Add title to treaties
* Move readme file for say
* more say stuff for mobs
* Document login and status procs
* Add some goddan links like a boss
* Document some atom vars
Bodies can now be cremated (dusted) by setting them on fire while their limbs are at maximum damage.
The process goes like this:
Body needs to be on fire
Chest needs to have maximum damage
At this point, limbs with maximum damage will start to slowly burn off (or detach, if augmented). Burnt off limbs are deleted, detached limbs will remain.
When no limbs are left, the head is eligible to burn off, same rules as above.
When nothing is left, the body will (still gradually) dust, dropping any equipped items (that managed to survive the fire).
Every limb has a cremation counter that ticks up if the limb is at max damage and on fire, and is reduced when the limb is healed. Past a certain threshold, the cremation counter causes the limb to burn off and get deleted or detached.
Extra change: Damage from fire is now applied evenly across the body instead of picking a random limb, to make burning people for cremation more consistent. Without this change, damage tended to plateau after most limbs reached max damage.
Fixes#44755
Why It's Good For The Game
A slow but effective way to dispose of corpses if you have time and access to fire. Makes sense to be able to burn off the evidence, after all.
It's also an extra way to kill off people with NODEATH if you dont have dismemberment tools, as they can be tossed into a fire until they become ash. So flooding the station with plasmafire is now an appropriate response to a zombie invasion.
You can now actually dispose of bodies in lava, instead of leaving a permanent ever-burning husk.
It's worth noting that unless done intentionally or literally swimming in plasmafire, this won't happen randomly.
Changelog
cl
add: Bodies can now be manually cremated by setting them on fire while their limbs are fully damaged.
add: Cremation causes limbs to gradually burn off into ash; once none are left, the body is destroyed.
tweak: Fire damage is now evenly distributed instead of applied to a random limb every tick.
/cl
If you came here thinking this was some game feature then you are in the wrong place. Here is where I ramble about code.
This adds /datum/element as a sort of sibling to components. Only one of each type gets instanced and they do not get tied directly to any particular thing like a component does. Basically they're a very lightweight component for doing simple functionality that doesn't have much state.
Originally this concept came about as a kind of component that could be shared between many parents to reduce some resource costs. Doing this would allow us to componentize more behaviors that are a part of too many things to be viable to have a whole component for every single one. For example a component on every space turf would be entirely unviable. With elements it's much more reasonable.
This implements a prety bare framework and a couple components are migrated to it. It's ready to be used but I fully expect I'm going to need to refine how it works for all the usecases we'll want it for.
Also: this fixes the qdeleted signal. This signal isn't even possible because after qdel is done there's nothing to receive a signal anyway. I've changed it to a qdeling signal instead. I need it to work for some elements to know when to clean themselves up.
Adds a preference for jumpsuit/jumpskirt into the game. Currently runs
a jumpskirt for all occupations on spawn except for miner, since they
have their special lavaland suit, and no skirt variant I could find.
Doesn't remove skirts from lockers/machines yet since I am not 100% as
to whether that should be done (clothes are available generically for
the sake of changing outfits/recovering clothes after a whoops with
some pyrotechnics).
Gives palliative care to an oldass bug that needs to die.
Because this bug is old as fuck, someone in the comments mentions this
being bad for drones. Drones have since had a custom message added,
but this PR doesn't change it since the drone proc doesn't call the
parent.
* Adds adjustLiverLoss & getLiverLoss procs to carbon
* Adds trophazole
Adds trophazole, a brute healer that makes doctors take a more holistic approach to heal, It is highly reagent efficient by converting nutriment to healing peptides. Creates an avenue for cooperation between kitchen and medbay.
* Adds rhigoxane
Rhigoxane is a chilly burn healer that works best in a spray bottle and is capable of extinguishing fires.
* Adds thializid
This tox healer has great potential and mixability, balanced by requiring the doctor to take note of the patients liver health as well as using proper dilution and an iv pole; that wont fit in a powergamers pocket.
* Charcoal + trans_to changes
Makes charcoal only work when ingested, and adds a new proc in reagent holder, lets trans_to react the transferred reagents if a method is chosen.
* Medical + Syndicate spray bottles
Medical spray bottles have been added to techweb under the biotech node for medical vapor application, alt click to change their skin.
Two suspicious spray bottles have been added as expensive contraband items in the chemdrobe. They have one extra spray range and a random suspicious skin from a pool of 8.
The large spray bottle and the space cleaner bottle also have new icons.
In addition trophazole and MMF have new colors.
* Adds chempacks
the IV medicine bag, or chem pack is the blood pack analogue for chems, it is easy to fill like a beaker but can also be permanently sealed to prevent spillage and mitigate tampering. It can be renamed with a pen. Both the new chem pack and the old blood pack have been added to the medical lathe and biotech node.
* Adds recipes to thializid and trophazole
Also fixes the rhigoxane recipe
* Medsprays are now medigels + fixes
chem packs can now be stored in the smartfridge and chem bag.
Medsprays were renamed medigels to reduce confusion. Calling them medical sprays made no sense since they apply chems through the patch method.
The lore for the new medigels is that they spray a thick gel onto the skin that dries into a film.
* minor fixes + mint frosting
I have tried to fix the problems people have pointed out. And the peptides now taste like mint frosting.
* Readds my cleaner sprites
* Adds liver damage to thializid + adds on_transfer proc
Thializid has a liver cost, the cost is worse if you have already sustained liver damage. Fixes weirdness by moving the reagent conversion effects from reaction_mob to on_transfer
* Fixes chem bag examine
The chem bag examine now werks, also fixed a typo in the description.
* Adds a clumsy check to sealing the chem pack
* Makes kelo, bicard and anti-tox unmixable.
I have retained the tricord recipe for now in case someone manages to collect all 3 through non-dispenser means. Think of it like collecting all the dragon balls but lame.
* Makes damp rag apply on_transfer effects
* glass and food now work with trophazole
glasses and food now call the on_transfer proc via trans_to
* Another round of fixes
Replaces 0/1 values with TRUE/FALSE where appropriate. Removes the debug printout from the spray bottle reskin. Replaces one instance of L.damage with C.GetLiverLoss().
* Rhigoxane recipe is now COOLER
200k was too warm since cryostylane cools down so much by itself upon mixing.
Now the chemist has to choose between adding oxygen for instant cooling or using the heater/cooler to conserve energy.
* Removes the seal() proc and moves its guts into AltClick
* Item_state switching moved to reskin_obj
* Fixes missing medical sprayer left inhand
the sprayer_med_yellow inhand sprite now has the correct name.
* Fixes inhand updating
* Update code/modules/mob/living/carbon/damage_procs.dm
Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
* Update code/modules/mob/living/carbon/damage_procs.dm
Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
* Tries to add typecache
* Moves the typecache and makes it static
- Added mime envirosuits, nothing special here.
- Added clown envirosuits, which release space lube when they
extinguish the clown.
- Removes code that theoretically limits plasmamen from being clowns
and mimes, but actually doesn't.
- I guess the roles now spawning with these suits is kind of notable.
- Reverts unlisted changes to the grey detective suit from #44776.
About The Pull Request
So organ damage is a thing now associated with general object of organ, meaning all organs inherit a damage variable, failing boolean, healing variable, and maxHealth variable. The proc applyOrganDamage takes in the damage and organ path, applying damage/healing to said organ. While an organ is in use, it heals a small amount over time (granted the organ is not failing), with this fraction being set by the healing variable.
This also reworks preexisting organ damage systems to function more so on the universal organ damage system, the liver specifically. So much code exists in regards to eyes/blindness and ears/deafness that I'll need to go ahead and take a longer time combing through the code to get everything that can reasonably be tied to those two organs and their level of damage reworked to function off of the organ damage system, as opposed to just a trait add/remove system.
Lastly, this slightly reworks scanners, since now you need to check for every organ in the body. Since organs are stored as "the [organ]" with the method I used to get them, the phrasing on the medical scanner was changed to make more sense given it now has to say something along the lines of "severe/minor damage detected within [the organ]". I'll likely add another proc if I cannot find a way to get the organ's max health during this operation, since a static number determining minor/severe damage does not work when an organ's max health is less than the typical 100 points (as is the case with eyes).
Why It's Good For The Game
Every organ can be damaged, though not every damaged organ does anything right now. Damaged livers do the same thing as they did previously, and damaged eyes develop varying levels of vision impairments. The benefits to this PR are more for future coding projects than it is for the game currently, with no foreseeable changes to the way it's played currently.
Changelog
cl
code: Universal Organ Damage variables and procs
/cl
Removes the get_organ_target proc because I'm to lazy to fully
refactor laser eyes. It is embarrassing that we have a proc like this
in the code. Also makes mob code less cursed, one proc at the time.
Fixes a bug with human where sometimes the armor from the wrong
bodypart gets used when they get attacked.
Bugs bad. Also, armor code is highly cursed.
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.
Some lists, including global lists, are given types so that L[i].foo expressions can be checked.
Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.
Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.
Return type syntax is currently roughly:
<typepath> | <paramname>([_])*(.type)?
* vomi/tg/oose
* fuck
* cleaning up icons
* action button time
* seperating if checks
* makes goose hungry
* untested
* last change
* new additions
* qucikfix
* fug
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* fugg
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* fix the fucky wuckies
* ninja spent a full hour of their life spoonfeednig me on how to make an untyped proc
* FUCKING INDENTS
* whoever made that comment in turf.dm is a buffoon
* does more things
* adds return things
* appease ninja
* makes maintainers happy
* last fix maybe
* adds more fun
* makes more maintainers happy
* balance
* it can now be loose
* goose_satiated
* fuck
* ok maybe 170 is too much for a max
* Update code/modules/mob/living/simple_animal/hostile/goose.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/modules/mob/living/simple_animal/hostile/goose.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/modules/mob/living/simple_animal/hostile/goose.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/modules/mob/living/simple_animal/hostile/goose.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* Update code/modules/mob/living/simple_animal/hostile/goose.dm
Co-Authored-By: spookydonut <github@spooksoftware.com>
* woops
* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"
This reverts commit 9f45c26721550d5991240b82dcddf01be81ccd3b.
* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"
This reverts commit 0fe63392f608114a4f82e59644dd4b46599032ff.
* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"
This reverts commit 4117e196b8093ad0a966d54dff43887d623c8f74.
* Revert "Update code/modules/mob/living/simple_animal/hostile/goose.dm"
This reverts commit 8bfbb977cba7bb1eda83532bc8a3865373e4f019.
* Update code/modules/mob/living/simple_animal/hostile/goose.dm
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* Update code/modules/mob/living/simple_animal/hostile/goose.dm
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* Update goose.dm
* i hope this doesnt cause more merge conflicts
* Revert "i hope this doesnt cause more merge conflicts"
This reverts commit 842e1a8a851c45c1d94fb0720d0995a5dd2c7083.
* test
* ok maybe this time
* please god work this time
* please god work this time
* FATHER INTO YOUR HANDS I COMMEND MY SPIRIT
* shortening typecheck
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* does
* WHY HAVE YOU FORSAKEN ME
* IN YOUR EYES FORSAKEN ME
* IN YOUR THOUGHTS FORSAKEN ME
* as it turns out getting the turf twice wasnt necessary
About The Pull Request
Same premise as #44712 but using a simple regex replace and also on the client side
Closes#44712
I was gonna PR it to #44712 but half way through I realized I had already replaced nearly all of bobbah's changes, and after I was finished the branches shared nothing.
Why It's Good For The Game
The delta is way smaller and simpler
Should solve the DoS concerns without needing a limit on bad chats because it's not a loop it's on the client side
Changelog
cl JJRcop and Bobbahbrown
tweak: When attempting to say a blocked word in character you will be notified which ones were blocked.
/cl
About The Pull Request
Stuff that should logically require you to actually be metabolizing the reagent now requires a liver, or the reagent to not need one.
Some reagents have been granted self consuming status, like holy water, since their effects are not tied to the metabolism.
Fixes#44650Fixes#43024 since there should be no real way to mitigate the constant toxin damage now
Why It's Good For The Game
Less exploits with livers, more consistency in mechanics.
Changelog
cl XDTM
fix: Viral healing symptoms that are tied to reagents now also require a functioning liver to work.
tweak: Holy water, Pyrosium, Cryostilane, Napalm and Phlogiston no longer need a liver to have their effects.
/cl