Commit Graph

510 Commits

Author SHA1 Message Date
carlarctg 15717dda7a Gives borg tools unused sprites (#45939)
* where's the get good button

>adds some borgtools
>fills empty tool pixels with 254 transparency pixels

* tool stuff

* fixes icon

* repoked

* cobbdescus part 123/X: cobbtool cobbmove cobbreview
2019-08-17 23:48:26 -07:00
nemvar 11318bfc3c Arm implants now support more than two hands. (#45843)
* Adds multiple hand support to arm implants

* Kills those nasty static lists.

* Update inventory.dm
2019-08-16 20:56:25 +02:00
nemvar 8918a88612 Makes organ decay a lot nicer. (#45845)
* Gets rid of double processing memes.

* fixes the organ box thing

* Makes everything just a tad more performant

* even more performant

* Gets rid of the double processing on SSobj for body eggs

* forgot the brackets

* Also removes double processing memes from the shadowling armblade

* Removes the istype check for MMIs.
2019-08-15 21:52:07 -07:00
Fikou 205dda301a fixies (#45886) 2019-08-13 17:19:49 -07:00
kingofkosmos c3ea51908d Adds "you" to local visible_messages (#45631)
* adds "you" to some combat visible_messages.

* more you-messages and attack verbs to present tense.

* small fixes

* more additions and small fixes

* few message tweaks

* Fixes a typo and few other wordings.
2019-08-06 02:15:34 -07:00
nemvar ea70deb828 List of contents (#45476)
About The Pull Request

-You know require medical access to change the medical records with the hud
-Medical/Sec HUD examine now relies on a trait instead of istype checks.
-Removed a shitload of excessive nesting
Why It's Good For The Game

This isn't a full refactor, just a small attempt to make this code slightly more sane and more friendly to work with. I do not intend to fix all the problems this piece of code has (ohh, there are so many of them) with this PR.
Changelog

cl
balance: You now require medical access to change the medical records with a medHUD.
/cl
2019-08-03 14:49:36 +12:00
RandolfTheMeh 48fbc073e5 [TMC] Defib Rework, Organ Damage Effects (#45104)
* Brain damage works on organ damage procs, some defib reworks

* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again

* Cleans up reused global

* Organ damage procs on living and living/carbon

* Changes brain damage procs again

* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.

* Damage and failure effects for the appendix, ears, and some touchups on the stomach

* Committing changes so I don't lose them

* Organs now cease decaying in the proper containers

* Organ Fridges

* Reverts map changes

* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime

* Actually fixes merge conflict

* Smartfridge tweaks

* Think I figured out map merger

* Evidently not

* Still runtiming with glass shards even after I remove the map changes?

* Fixes runtime error with brain_item

* Runtime fix on living/carbon/life

* Cleaning up old PR code

* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were

* Wrong math operation used

* Brains in MMIs no longer decay

* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts

* Removes misleading comment

* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss

* Removes random spaces, scanners check brain damage severity now

* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it

* List change

* Runs off of an index instead of using cut

* Brains can be put into organ fridges

* Fixes minor type, hotfix for cloning problem

* Removes pointless check

* Demon hearts no longer decay

* Nightmare hearts no longer decay

* Removes istype() check on process, sets can_decompose instead

* Condenses organ damage report

* Removes organ failure messages

* Less organ damage spam, implements organ threshold messages instead

* Brain damage messages go to owner, not source

* Self-examine shows damaged organs

* Minor code cleanup, adds autodoc comments to the new procs

* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.

* Merged the booleans into a set of flags

* Healthy living improves organ healing rates

* dunno why this didn't update

* my actions have consequences

* Sets ORGAN_SYNTHETIC for overlooked robotics organs

* Doubles heart decay time

* 3 minute heart decay

* Lobectomy/Coronary_Bypass heal more

* removes hivemind spells from the changes
2019-07-29 02:18:22 -07:00
oranges 51744f7dbe autodoc organ helpers (#45464) 2019-07-26 03:01:22 -07:00
XDTM a5296e434c Makes undeads and androids have no metabolism (#44846)
About The Pull Request

Added two new traits, TRAIT_NOMETABOLISM and TRAIT_TOXIMMUNE. Does what it says on the tin, making livers not process reagents at all (except liverless reagents) and gives immunity to toxin damage. Species with NOMETABOLISM spawn with no liver (NOLIVER is now redundant and has been removed). This trait also prevents liver failure damage, for obvious reasons.

These traits have been given by default to androids (artificial, they were already immune to chemical healing anyway), zombies (who have their own regeneration) and skeletons (milk still works).

Other changes:

    Species' handle_reagents proc now fires before checking for metabolization, so species can process chems even when liverless.
    Removed the calcium healer trait, making it into a species handle_reagents check for each affected species (skeletons, plasmamen, bone golems). Skeletons now also heal burn damage from milk, since it's one of the few forms of healing they have available.

Note:
These traits should logically be applied to plasmamen and golems, but i intentionally left them out for now since it would be a significant balance shift, and there should be a proper alternative way of healing them first.
Why It's Good For The Game

Balances the significant benefits of being undead with a significant negative: being immune to chemical healing. Since zombies don't really rely on it and androids were already heal-immune, this mostly affects liches, and i believe it should be fine: considering that the main point of the spell is the resurrection mechanism, the space, gas, pierce, and heat/cold immunity they also gain should be counterbalanced by having a harder time recovering from injuries.

There is also a silver lining to having this trait: poison immunity. Effectively this is a buff to androids and zombies, the latter especially because they can no longer process mutation toxins. While this tactic is creative, it also trivializes a very expensive investment of TC. I might still add a liverless way to apply mutation toxins later on, but zombies shouldn't be effectively one-shot by a syringe gun.
Changelog

cl
add: Androids, skeletons and zombies no longer metabolize reagents. As such they no longer benefit from healing reagents, nor are affected by poisons and toxins.
add: These species are now also immune to any other form of toxin damage.
tweak: Milk now also heals burn damage for skeletons.
/cl
2019-07-15 09:07:26 +12:00
XDTM 95981ea926 Makes the abductor healing gland more interesting (#44903)
* 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>
2019-07-12 02:25:31 -07:00
AnturK e6ef17efc1 Fixes slime lungs runtime. 2019-07-08 11:17:01 +02:00
RandolfTheMeh e9dab4c665 Universal Organ Damage system (#44710)
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
2019-07-05 09:40:30 +12:00
ShizCalev 6e44bd3a93 Merge pull request #44796 from kingofkosmos/addswarningspans
Adds warning-spans
2019-07-02 00:47:43 -04:00
XDTM d70c43c5f1 Checks for metabolization on some has_reagent (#44653)
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 #44650
Fixes #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
2019-06-29 21:08:38 +12:00
kingofkosmos c969f6d3eb Merge branch 'master' into addswarningspans 2019-06-27 15:12:54 +03:00
kingofkosmos fb9731492c * extra spaces removed from "span class = '" --> "span class='"
* warning-spans added to cases of "You need..."
2019-06-25 21:03:25 +03:00
imsxz 23f0289934 is that bacteria i smell? (#44641) 2019-06-24 19:52:43 -04:00
nemvar f2ff96683b Fixes CNS rebooter. (#44630)
* welp

* h

* fixes

* slightly prettier

* accounts for stun reduction
2019-06-21 15:14:28 -04:00
vuonojenmustaturska 8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
YPOQ c6c133a6f4 Fixes livers not being damaged by toxins (#44611)
* Fixes livers not being damaged by toxins

* Swaps amount checks for readability
2019-06-19 13:41:43 -04:00
Fel 99c915f6e4 Fixes every issue in the slimes milestone. (#44450)
* Fixes every open issue in the slimes milestone.

* Fixes The Fixes

* Fixes even more fixes.
2019-06-14 09:46:19 -04:00
nemvar ce479edd1a Ethereal stomach take 2 (#44336)
* Take 2

* Merge conflict begone

* Renames it

* Stupid borgs.
2019-06-10 00:29:37 +02:00
Emmett Gaines 45ec62931d Finally removes the signal redirect component (#44251) 2019-06-09 17:25:50 -04:00
vuonojenmustaturska 2d74a86353 [READY] Cleans up saycode by removing random hook stubs and using a signal where relevant (#44320)
About The Pull Request

This PR removes speech message and span hooks from dna, mutations, pierrot throat disease, species, tongues, masks, hats, held items, brain traumas and a carbon proc overload handling tonguelessness.

Tonguelessness is now handled by tongue removal registering for the speech signal and the hook being deregistered by having a tongue put in.

Also cleans up some /atom/movable/proc/get_spans() overloads that called the empty parent or overloaded the parent to do the exact same thing as the parent proc did.

Also cleans up calls to radio.talk_into() where the caller would often, as a result of copypasta, provide the proc with fresh copies of the proc's default values for proc args, and makes say_quote() better by giving it a default spans value so that none of the callers have to provide the same default one.
Why It's Good For The Game
Changelog

cl Naksu
code: Cleaned up saycode
/cl

* start with this

* oh man this looks so good

* hats are dead

* /obj/item/proc/speechModification is dead

* brain traumas and get_held_item_speechspans() are dead

* these should be static

* unfortunately we still need this

* /mob/living/carbon/treat_message(message) is kill

* clean up get_spans()

* dunk get_spans, modifies_speech for brain traumas, some superfluous static stuff

* move stuff around

* return values
2019-06-06 18:35:06 +12:00
vuonojenmustaturska 6a106bc877 Remove reagent ids and use typepaths where applicable (#44166)
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
2019-05-31 21:57:26 +12:00
vuonojenmustaturska 9d00b8bc1c ree 2019-05-10 22:49:04 +03:00
Naksu f0a8e91ac9 abductor training 2019-05-09 12:53:33 +03:00
vuonojenmustaturska fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
Fikou c2a4f9ee5d Diagnostic HUD eyes (#43806)
* diagnostic hud

* Update autosurgeon.dm

* Update scientist.dm

* Update security.dm

* Update medical_designs.dm

* Update all_nodes.dm

* Update scientist.dm

* Update security.dm

* Update autosurgeon.dm

* Update autosurgeon.dm
2019-05-04 13:42:38 -04:00
tralezab 576606d1c4 zombies can eat brains (#43705)
zombies can eat brains (claw zombies will need some help!)
2019-04-26 12:20:09 -04:00
Time-Green 35738909fc Fixes some inconsistencies in genetics (#43583)
* Adds chromosome interactions with more mutations

* Makes upgrades affect printing cooldown

* Fixes a runtime with monkey dna and human eyes
2019-04-16 21:32:30 +12:00
Militaires d7975071af Snails now utilize glasses offset system (#43225) 2019-03-21 12:32:12 -07:00
Time-Green c731285891 New snail sprite and fixes (#43132)
* snail sprite update and fixes

* fixes snail cure

* Fixes blood
2019-03-20 11:03:14 -04:00
Militaires ae9d2e0b2d Fix cursed hearts maintaining red filter even when removed (#43183) 2019-03-19 22:15:08 -07:00
Tad Hardesty 745dbdbbf1 Fix a use of src in a global proc, some kwargs (#43154) 2019-03-19 12:05:34 -04:00
Tad Hardesty 197a311fd9 Fix some proc overrides missing their parent's kwargs 2019-03-11 21:15:26 -07:00
ShizCalev b16b33f8d8 unfucks cyber organs (#43042)
* unfucks cyber organs

* false
2019-03-06 21:15:57 +01:00
Time-Green ad1dd38655 Adds snailpeople as a rare genetic meltdown effect (#42889)
Meant to be part of #42864 , but got a little big so I'll add it to wichever gets merged last.
[Snailcrawl demonstration](https://youtu.be/IL7WFpfRo4c)

PROS

- Gets snailcrawl, wich makes them greatly faster and gives them a lube trail

- Their blood is spacelube

- They get a cool armored nodrop snail shell

- They don't slip

CONS

- Very slow

- Punch is pathetic

- Tttaaalllkkk llliiikkkeee ttthhhiiisss

- Extremely vulnerable to salt

- Can't wear glasses

Adds gastrolisis, wich is pretty much [this](https://www.youtube.com/watch?v=lFbPi8o0OEU) spongebob episode where they slowly turn into snails

You can also get gastrolisis by random_reagent_id, so maintpills and botany

🆑
add: Adds snailpeople as a rare genetics accident.
sprite: Snailshell sprites by nickvr628
/🆑
Snailshell sprites by @nickvr628

Why: It's a silly gimmicky race and it's a rare occurence. Also extremely highly requested for some reason
2019-03-02 09:40:56 +13:00
ShizCalev 05f2ac7317 Cleans up (mostly) defunt crit_fail var (#42908) 2019-03-01 13:45:30 +01:00
Tad Hardesty 5fb918ebe4 Fix some variables with 'list' in the wrong place 2019-02-21 19:32:53 -08:00
coiax 881e8c1ab9 Refactors NODROP flag into TRAIT_NODROP (#42109)
* Refactors NODROP flag into TRAIT_NODROP

🆑 coiax
fix: Anti-drop implants can no longer be used to drop objects that they
were not responsible for sticking to a person's hand.
fix: Backfiring with a Barnyard spellbook will now play a spooky horse sound.
refactor: Refactors the way that "NODROP" items work to a new system,
there should be no change in functionality.
/🆑

Various items in the codebase were doing weird hoop jumps in order to
preserve the nodrop flag's state when it also wanted to change it, so I
moved it to a trait system.

I may have gone overboard with the type of unique trait sources, but
those can be changed later. My long term plan is make a general "CURSED"
nodrop origin, which means you can unlock cursed items by being hit with
a bolt of door opening or something. But that's for another PR, this has
no functionality changes, apart from some slightly modified descriptions
on cursed masks.

- Removed a bunch of redundant voice changing code for all the voice
changing animal masks, used two new clothing flags for this purpose.
- Also refactored a bit the animal masks, making new cursed subtypes that play
the sound when created.

* Drop location
2019-01-17 15:24:30 -05:00
Qustinnus e1d360ff05 [ready] Golem DLC pass 2018 (Adds new golem types) (#41951)
* Bronze golem

* adds creation

ad

* removes shit adds shit

* temp

* fff

* bone, leather and cardboard

* fff

* boneyard

* temp

* ahahahha dumb moron

* adds durathread golem sprites

* reee

* ass

* Auto stash before merge of "golemgang" and "origin/golemgang"

* fix

* uuh

* d

doned

* remove dupe
2019-01-16 13:42:20 -05:00
granpawalton f686f43a9c definitely not xenos but our original black aliens now have a liver to process reagents 2019-01-06 02:35:55 -06:00
coiax 36c225813c Abductor tongue fixes and tweaks (#42072)
🆑 coiax
fix: Abductors created by abductor mutation toxin will be able to talk
to themselves and to other abductors.
tweak: Abductor tongues now have distinct "channels". A person with an
abductor tongue will be able to attune another tongue to the same
channel as their own.
tweak: Speaking on the abductor channel will always use your mob's
"real name".
add: Abductor teams can now purchase additional superlingual matricies
from their abductor console.
/🆑

Essentially, non-antagonist abductors couldn't hear themselves or each
other because of special case handling when the tongue was present
inside someone with the abductor species, in order so mothership teams
could hear only their team.

Now: All abductor speech is only heard by people with the same
"mothership" var as the speech originator. People can attack_self() with
the tongues to attune them to their channel, in case mothership teams
want to buy additional tongues, attune them to their team, and put them
in their abductee victims. It also means that if you kill the Agent,
stick his tongue in your mouth, you'll be able to talk to the Scientist.

Mobs with abductor training (or observers) can identify which channel the tongue is
attuned to.

I also marked the items in the abductor shop that cost two credits.
2018-12-28 21:20:05 +11:00
coiax 8c8ee67e23 Robotics can print cybernetic organs (also new upgraded cybernetic heart) (#41753)
🆑 coiax
add: Robotics can print cybernetic hearts, lungs and livers at their exofabricators (along
with their upgraded versions).
add: Added upgraded cybernetic heart, just like the regular cybernetic heart,
that doses you with epinephrine when unconscious. But the upgraded version generates a new
dose after five minutes.
/🆑

Robotics should be able to upgrade people with cybernetic organs. Medical want the organs
to save people's lives, Robotics want the organs for augmentation giggles.

Also, there was an upgraded cyberlungs and cyberliver, so I just made an upgraded
cybernetic heart as well.
2018-12-12 21:47:27 -05:00
swindly 6bc49cdd1b adds radial menu to arm-mounted implants 2018-12-06 13:27:00 -05:00
ShizCalev 9997f956b0 Fixes ODing on crank/other chems, viruses, and other things damaging/healing robotic limbs. (#41593)
cl ShizCalev
fix: Fixed chem OD's causing damage to robotic limbs.
fix: Fixed wood golems repairing robotic limbs every tick of life()
fix: Fixed vampires repairing robotic limbs every tick of life()...
fix: Fixed shadowpeople healing robotic limbs every tick of life()
fix: Fixed poppeople healing robotic limbs every tick of life()
fix: Fixed adjustBruteLoss and adjustFireLoss not properly discriminating for limb status types.
tweak: Fixed bibles healing robotic limbs, because your false deity can't fix SCIENCE.
fix: Fixed the Starlight Condensation, Nocturnal Regeneration, Tissue Hydration, Regenerative Coma, and Radioactive Resonance virus symptoms repairing robotic limbs.
/cl

Gonna be away the next two weeks, so if there's anything major after today just go ahead and close it and I'll fix it when I get back.
2018-12-02 20:12:22 +13:00
Qustinnus b9f5dbac6b Adds a new race: Ethereal (also adds wrappers for nutrition adjustment) (#40995)
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl

Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.

They have the following specifications:

    They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
    They do burn punch damage instead of blunt.
    They are weaker to blunt; especially when low on charge
    They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
    They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
2018-11-29 10:09:56 +13:00
xmikey555 31386f8f93 Pirate language (#41489)
cl
add: Added pirate language, equip a pirate hat to speak it.
/cl

I haven't made a PR here since #23676 but this is pretty simple, it just adds "pirate language" (language only spoken/readable by fellow piratespeakers that looks like pirate slang to others), and makes the pirate hat (yes, the one obtainable from the autodrobe) grant/remove the language.

also i have no experience in dream maker so i'm at least 87% sure i flubbed something up

thanks to qustinnus for helping me out
2018-11-27 14:31:57 +13:00
Jordan Brown d89f7f9cac Merge pull request #41547 2018-11-18 10:57:47 -05:00