Commit Graph

470 Commits

Author SHA1 Message Date
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
81Denton 0bfe0cc80f Improves Uplink descriptions + formatting (#41565)
* Improves Uplink descriptions + formatting

* ree

* linebreaks

* misc fixes
2018-11-18 10:26:09 -05:00
ShizCalev 013a44eed6 resettispaghetti 2018-11-16 13:56:02 -05:00
nicbn fdc3cdfa8e Adds NO_BREATH check before calling lungs check_breath (#41526) 2018-11-16 07:25:20 -05:00
ninjanomnom f5bad18e93 Converts jetpack speed modifications to the new system 2018-11-14 04:04:56 -05:00
Mickyan 62af355b88 miasma warning 2018-11-10 16:39:03 +01:00
Mickyan c0ac8d514f Adds new moodlets, psychotropic drugs (#41207)
cl Mickyan
add: Added various new moodlets
add: Most notably, the Laughter chemical and breathing small quantities of N2O can improve mood
add: Psicodine: a new chemical that can restore sanity levels to normal and temporarily suppress phobias
add: Happiness: a homemade drug that supposedly gives a feeling of total bliss and.. emptiness? That can't be healthy... watch out for side effects.
fix: The suffocation moodlet now triggers correctly
fix: The drunk moodlet now clears as soon as the drunkenness wears off
/cl

Fixes #41170

List of new moodlets:
Jittery
Vomiting, vomiting all over yourself (gross)
Painful medicine application (silver sulfazine/styptic powder/syntflesh) - very short duration
Chemical euphoria (breathing N2O)
Laughter/Superlaughter reactions
Happiness drug related reactions

Psicodine: keeps your sanity at least above neutral level and suppresses phobias as long as it's in your system. Also available from pill bottles at the medivend at a premium.

Happiness: loosely inspired by Joy from LISA, very addictive, does minor brain damage, withdrawal makes you slowly go insane and overdose makes your mood jump all over the place. Also suppresses phobias. Good if you need a very quick and powerful boost but not very practical for keeping your mood up for long periods.
2018-11-04 15:01:05 +13:00
MMMiracles c89b619bd9 Penguins now waddle + waddle organ (#40989)
* and he waddled away, waddle waddle

* waddle ears + initialize

* ninjanomnom fixes + meat

* taste stuff change

webbit
2018-10-18 16:29:59 -04:00
AnturK ba0ea6f366 Fixes anti stun implant nonsense (#40963) 2018-10-17 14:20:07 -04:00
ShizCalev 6cfcc40e66 Fixes admin revives not restoring mutant organs 2018-10-11 07:12:35 -04:00
kevinz000 3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
ShizCalev b12afcce60 Allow toxins to be truly silent yet deadly (#40748)
Certain toxins will no longer notify the mob of their presence with the "You
feel a dull pain in your abdomen" message, which allowed some stealthy (and
some nonharmful) toxins to be easily detected.
2018-10-07 21:01:57 -07:00
Fear The Flash ec63499747 [Ready To Review] Cyber Organs provide small benefits (#40164)
* Cyber organs are no longer trash

* removes research points (will do another PR 💯)

* removes that define

* Update liver.dm

* 🖨️ and 📄
2018-09-14 12:01:44 +02:00
Denton 08e9704807 Reduces liver failure damage, makes it more obvious 2018-09-09 16:39:26 +02:00
Shdorsh 9c68b78c3c [READY] Making corpses rot and create miasma (#39735)
* Adding miasma gastype

* make miasma roll small chance of infecting and corpses rot

* Add dry air sterilization to clear miasma

* make air alarm scrub out miasma automatically

* Storing corpse in morgue/coffin doesn't create miasma

* Added more ways to block miasma and a small notice

* fixing some errors in the rot proc, since I accidentally copied the old bugged version

* Code improvement, now waiting for Travis

* Added more effects to high miasma concentration

* Added delay to miasma production

As a result, miasma production goes up and partial pressure was unachievable back then, so I lowered it for all the effects.

* Formaldehyde stops decay

Also still trying to manage that miasma side effect stuff

* fulfilling some reviews

* Well done Travis

It's 9 in the morning, but I wanna see this through first

* beginning of miasma canister

* Added miasma canister

* Added miasma canister art

* add odor moodlets

* adding moodlets to miasma

* simplifying reagent check

* fixing indentation

* fixing an indentation problem

* Adding miasma tile effect

* adding miasma tile effect

* Deleting file in false placement

* changing miasma partial pressure for carbons

* added effects to lungs

* fixed a few errors

* Update lungs.dm

* Making miasma effect slightly prettier

I am not a pixel artist, but at least I try

* Raising miasma inhibiting temperature to -10°C

Yes, you can now store bodies in the cool room.

* making sure air alarm is set for miasma

since it is a common waste product, air alarms should start with scrubbers having miasma set to scrub

* setting scrubbers to scrub miasma on start

finally found this little setting

* lowered formaldehyde amount needed

* reaction fix

* rebalanced the reaction

Now happens quicker and doesn't produce that much heat.

* remove timeout to stench moods

* Update life.dm

* making mood stop with low/no miasma

AND waiting for travis

* fixing variable naming error

* fixing send signal for lungs

* fixing send signal for carbon

* fixing moodlet

this subsystem sure works in mysterious ways

* fixing lung moodlets

smell u l8r

* removing the 2 ifs

and looking if all moodlets are given to owner, not src

* Trying to balance the sterilization reaction

No more accelerated superburn. This heats *slowly*, as it was supposed to.

* Update vent_scrubber.dm

* improved the disease generation

the random disease's new proc seems more efficient, so let's go with it

* charred corpses don't produce miasma

there's nothing organic any saprophyte could possibly benefit from a carbonized carbon. also, replaced the disease proc, since there's better

* adding disgust system

* rebalancing

looking at the thresholds made me think that it was set too low, see negligible

* Slowing down the bubbling

can we plz move on?

* restoring old scrubber functionality

* mistakenly believed deleting this would only delete my changes in the code

here's the old functionality

* Update and rename vent_scrubber to vent_scrubber.dm

* restituting the spacing

* adding water vapor check

* changed miasma's specific heat to 20

no toxins memes

* lowered threshold, due to near-unachievability of pressure

* lowered threshold, due to near-unachievability of pressure

* there's never going to be a canister onstation

unless it's debugging or adminbus, so you'll need this little bit more
2018-09-05 20:19:54 -04:00
Emmett Gaines 0943e56e08 Adds the signal origin as the first arg to all signals (#39861)
* Adds the signal origin as the first arg to all signals

* Fixes some storage and nanite procs
2018-08-28 18:28:29 +03:00
Garen Crownguard 291583440f screwdriver_act signal (#39877) 2018-08-27 05:56:45 -04:00
Qustinnus b3eccaadc3 Makes some improvements to mood code (#39750)
removes useless mood events subtypes
fixes mood event timers not resetting when they get triggered again
removes the depression overlay which makes our fruit happy
2018-08-19 14:58:07 -07:00
Patrick Chieppe 2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02:00
kevinz000 48ece11504 Felinid/catpeople are now their own human subspecies (#39513)
* Catpeople are nyow a species

* Fixes a runtime

* Fixes the issues with being forced ears when you chose none

* Neko --> Felinid

* P2

* Update

* Working this time I promise
2018-08-08 20:56:46 +03:00
Emmett Gaines 418ea4fa2a Fixes redirect component transfers (#39290) 2018-07-24 21:03:53 +02:00
Grandmother of 50 90a1b8c363 Mood Code Improvements [Merge-Ready?] (#39075)
fix: having higher sanity is no longer punished by making you enter crit faster
balance: you can have 100 mood instead of 99 before it starts slowly decreasing


Remember higher sanity is BETTER

You want crit_modifier (now crit_threshold) to be LOW so you can stay in fights more (you go into crit at 5hp vs 0hp).

Why: Proc overhead, puts the load on mood, proper abstraction of mood component, values > defines, etc.
2018-07-20 11:33:00 +12:00
Qustinnus 284f90a3ab Makes some requested changes to mood (#38851)
cl Floyd
del: removed beauty / dirtyness
balance: Mood no longer gives you hallucinations, instead makes you go into crit sooner
/cl

oranges requested these changes, i havn't coded in DM for a while so I might have made some mistakes
2018-07-08 13:50:54 +12:00
FrozenGuy5 dfb0a09058 Fixes nitryl gas not applying its effects. 2018-07-02 23:13:29 +01:00
XDTM 162a2539b6 Changes the nutriment implant pump organ slot (#38801) 2018-07-01 13:56:36 -07:00
ShizCalev f338f09207 Cleanup & corrections 2018-06-20 21:57:17 -04:00
ShizCalev ff532a4ca4 Spellchecks TGStation 2018-06-19 18:57:44 -04:00
ninjanomnom d483ff3ef0 Regexes
`([^_\.])SendSignal\((.+?)\)` -> `\1SEND_SIGNAL(src, \2)`
`([\.\w]+?)\.SendSignal\((.+?)\)` -> `SEND_SIGNAL(\1, \2)`
2018-06-13 19:19:23 -04:00
vuonojenmustaturska c65a99f130 Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171)
* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs
2018-06-01 11:36:31 +02:00
ShizCalev c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
vuonojenmustaturska d335a0fd05 Make typecache checks twice as fast, stop using single-type typecaches where appropriate (#38075) 2018-05-28 16:31:30 -07:00
vuonojenmustaturska 1eccbcca18 Adds an EMP protection component, allowing ANYTHING to be protected from EMP (#37671)
The component is initialized with any combination of three flags, EMP_PROTECT_SELF protects against effects that target the object itself, EMP_PROTECT_WIRES protects against wires being messed with similar to the NO_EMP_WIRES_1 flag which this PR removes, EMP_PROTECT_CONTENTS protects against things that are inside the object like organs, internal "non-virtual" power cells and the like

This enables (but doesn't introduce) new mechanics such as adding EMP shielding at runtime to any atom, or taking it away.
2018-05-22 11:38:02 +12:00
Nich b011d24fe1 Replace nauseous with nauseated (#37927) 2018-05-21 01:05:57 -07:00
XDTM aa782fffd2 [s] Hallucinations 4.0 (#37423)
No ingame changelog cause these are supposed to fool people.

Changes:

    Hallucinations now pick from a single weighted list, instead of being separated in tiers. The more obvious a hallucinations, the less likely it is to appear.
    Hallucination is now a contantly ticking down variable. 1 hallucination = 2 seconds duration. Hallucinating effects have been rebalanced to fit this.
    Hallucinations have a random cooldown ranging from 10 to 60 seconds. The status will still tick down in the meantime.
    The Sounds hallucinations has been split in three: realistic sounds (likely), weird sounds (rare), and station messages (i.e. the shuttle arrived, blob warning, etc.)(also rare).
    The Bolts hallucination now stops you from bumping doors open. You can still click them to open them.
    Removed the singulo hallucination. It's pretty much impossible to make it realistic enough, and it's too widely known to scare someone. It's an annoyance and a definite tell that you're hallucinating.
    Removed the xeno attack for the same reasons. It was kept in the code to serve as a pseudotemplate for hallucination mobs.
    Removed the fake attacker hallucination. Trying to replicate full attack and defense code as well as managing icon generation with blacklists and all is just not worth it. It would never be realistic enough.
    RDS hallucinations have been either rolled into normal ones or removed (the OOC ones). No reason to keep them separate, aside from throwing off the hallucination odds (which has resulted in complaints about the cult victory warning being too common).
    Added/edited a lot of strings for the text-based hallucinations. I could definitely use a few more for the message hallucination, i got writer's block there.
2018-05-10 09:15:46 +12:00
Armhulen d4413fafcb Plasmamen organs GET sprites! (#37595)
* DONE

* initial

* Removes random slashes
2018-05-02 22:20:15 -04:00
vuonojenmustaturska 3eb30b16f3 Replaces HEALS_EARS_2 with a component, adds a wearertargeting parent component for future use (#37530)
code: HEALS_EARS_2 is removed in favor of the earhealing component

code: wearertargeting component is available to subtype for components that want to target the wearer of an item rather than the item itself
2018-04-30 10:32:59 +12:00
AnturK 62c932207c Fixes autosurgeon icon (#37402)
* Fixes autosurgeon icon

* Duh
2018-04-24 16:02:57 -05:00
Fox McCloud 057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
kevinz000 62a6825ad6 args 2018-04-14 13:50:00 -07:00
Dax Dupont 3efe335958 Liver fixes (#37175)
* Rebalances lethality and adds a traitcheck

* Moves borg reagent to other_reagents since these shouldn't do damage at all and are hardly toxins

* Lower it more because this is probably gonna hurt a lot real fast

* Naku's suggestion

derp

Thanks cobby

readds this check

almost nerfed cybernetic livers oops

Aaaaaa
2018-04-13 20:39:47 +03:00
Winterous f26f7ef7dd Forcing the human liver to actually do its job v2 (#37032)
* Update liver.dm

* Update liver.dm

* Update liver.dm
2018-04-11 17:33:12 +03:00