Commit Graph

1273 Commits

Author SHA1 Message Date
Capsandi
484f8f2d5f [READY]Removes Nitryl burn damage and adds Nitryl decomposition reaction (#53821)
This PR removes the burn damage you accumulate when breathing nitryl and adds a reaction to breakdown nitryl into its components(excluding bz) when in contact with oxygen under 600k. This produces small amounts of heat.

Nitryl, as it stands, is barely made or used due to the constant damage you take from breathing it, which causes damage slowdown after less than a minute of use. By making nitryl unsafe or unable to breathe with oxygen present, users must turn to pluoxium while using it in tanks, or hyper-nobilium when filling a room with it. BZ is not refunded if you waste your nitryl.
You now burp while breathing nitryl instead of gasping because it no longer directly harms you.
Breathing nitryl will cause lung damage proportional to the amount you are breathing at a rate proportional to the amount you are breathing when it makes up more than 10% of your breath.
2020-10-24 14:16:15 -07:00
Ghom
b6099da14b Merges species/var/list/default_features with species/var/list/mutant_bodyparts. (#54525)
default_features and mutant_bodyparts have been used ambivelently since a long time, so I'm merging the two together and replacing relevant 'in' list access operations with '[ ]' for performance while I'm at it.
2020-10-23 14:05:31 -03:00
Fikou
500608ac6d removes hexane (#54437)
removes hexane gas from video game

(the ability to hear dchat got removed like half a day ago) (Lemons note, it's been more then half a day)

it will speed up atmos a bit with less reactions, the reagent from the gas does the same things as halon + bz and the reaction from it is pretty similar to halon, they are both gases that exist to stop fires, i dont think we need both
2020-10-19 11:41:25 -07:00
zxaber
2fdf13f218 Activate Held Object and Drop hotkeys (Z and Q by default) now activate and store arm implant tools (#53893)
* Self_attack for arms if the hand is empty

* Oops

* Light runtime fix

This is not my runtime, but I will fix it all the same

* return better good

* How about a variable name that actually fits

* asdf
2020-10-16 20:44:22 -04:00
Ghilker
ec64b37e4b hexane refractor and rework (#54263)
Hexane no longer grant the ability to hear dchat (yep it was a bad idea) (Lemon's note: I am very dumb)
Hexane now gives the resist heat trait to fight fires better but can give you a lot of hallucinations
2020-10-16 01:36:03 -07:00
ZeWaka
9629feed35 Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
2020-10-13 16:43:53 -03:00
Rohesie
af65c90125 Mobility refactor: no more update_mobility() (#54183)
This is a pretty big change all around. The gist of it is that it moves the mobility_flags into traits or variables that can track the sources, and to which we can append code to react to the events, be it via signals or via on_event-like procs.

For example, MOBILITY_STAND could mean, depending on context, that the mob is either already standing or that it may be able to stand, and thus is lying down.

There was a lot of snowflakery and redefinitions on top of redefinitions, so this is bound to create bugs I'm willing to fix as I learn them.

The end-goal is for every living mob to use the same mobility system, for the traits to mean the same among them, and for no place to just mass-change settings without a way to trace it, such as with mobility_flags = NONE and mobility_flags = ALL

Fixes AIs being able to strip nearby people. They've lost their hands usage.
2020-10-09 16:04:30 -07:00
ArcaneDefence
b344d2e822 Fixes NOBLOOD species having hearts (#54239) 2020-10-09 01:45:50 -03:00
spookydonut
2a0eac8772 Fix some potential sleeps as detected by SpacemanDMM improvements (#54230)
overrides weren't detected by should not sleep, i think i've mostly 
fixed that with SpaceManiac/SpacemanDMM#214

Some of these are wacky but overall this pr is harmless

signals shouldnt sleep even in weird 1 in a million situations or due 
to other people adding bad code

overrides of changeling can_sting() use alert() and input() and that's 
just too fucked for me to fix in this pr
2020-10-08 17:06:19 -07:00
NightRed
79b5759383 Corrects path error in blood filter surgery (#54168) 2020-10-04 14:19:24 -07:00
Qustinnus
3c145788d0 Fixes monkeycube size and organ callback and microwaves (#54095)
* fixes

* dumb runtime

* fixes eggs
2020-10-01 15:24:42 -04:00
Qustinnus
eca964db35 Ports soup, snacks, icecream, salads and meat to newfood (#54028)
Ports soup, snacks, icecream, salads and meat to newfood
2020-09-29 20:36:27 -07:00
Rohesie
3cc7733f34 Moblity refactor: hands blocked and restrained edition. (#53981)
Splits the restrained() proc into component traits: TRAIT_HANDS_BLOCKED for the general inability to use hands and TRAIT_RESTRAINED for the more specific condition that permits arrests.
    Code moved away from the update_mobility() proc so it doesn't have to wait for an update, instead changing based on events. The idea is to eventually kill that proc.
    Wrapper proc added for setting the handcuffed value so we can react to the event of it changing.
    Kills the RestrainedClickOn() proc. That is now just an UnarmedAttack(), in where the ability to use hands can be checked. Monkeys keep their bite attack and humans their self-examine.
2020-09-29 11:23:43 +01:00
wesoda25
23eca95c3d Scales ethereal power capacity and interactions upwards (#53984)
Basically, all ethereal charge capacity and interactions have been scaled upwards by 20x.

Power wise, ethereals now hold up to 3000, with the max safe threshold being 2000. For reference, upgraded powercells can hold 2500, with high capacity holding 10K).

All appropriate values have been tweaked to match this change. There shouldn't be ANY sort of noticeable difference in game, aside from power sources depleting faster, and a few values which I decided to tweak for balance reasons. They are: power cell draining time is 1.5 seconds longer, and light draining time is 0.5 shorter. Also, draining cells has less of a punishment multiplier upon the cell now, (originally, the the cell lost 33x as much as you received. now its 12x). (to avoid returning to this in why its good, I did this because now that ethereals are capable of holding more, I can afford to have less of a punishment, while still maintaining a reasonable level of punishment).

Also some minor code and grammar improvements.
2020-09-29 06:24:12 -03:00
NightRed
509f04b17a Clears up issues moods and alerts on gain of NOBREATH (#53908)
Fixes up the gain of the NOBREATH trait to clear breath related moods and alerts.
Added a godmode fix up for humans also.
2020-09-24 14:59:13 -03:00
Tad Hardesty
f80836d00d Fix broken dmdoc crosslinks (#53896)
- Backtick-escape code samples which contain `[]` syntax.
- Fix all crosslinks to nonexistent symbols.
- Somewhat improve docs for qdel defines, research defines, dynamic mode, and others.
- Remove unused bloodcrawling defines.

Some crosslinks to defined but undocumented symbols remain. For BYOND builtins, a future dmdoc version may link those symbols to their entries in the DM reference. Other symbols could be documented by a future PR.

New "file" crosslinks as used in `research.dm` are slated for release in a future dmdoc version.
2020-09-23 03:47:44 -03:00
Ryll Ryll
105107bb41 Fixes scars sticking around after a limb is dismembered (#53763)
During dismemberment from wounds, some scars would stick around even though the limb was no longer attached to the person. This was because I removed the scars from the person before removing the wounds, which itself would create more scars that would still be tied to the victim's scars. This fixes that, and tidies up some related code as well. Notably, you can now see which types of wounds a detached limb is suffering from by sight. Also, I have no clue what happened before when you attached a limb with existing wounds to someone, but I've made sure it applies the wounds to the person where they left off.

I also realized I made an order of operations error in the self-treatment for broken bones (with the bone gel and surgical tape) on the bone gel step, which made failing these treatments and briefly passing out/wasting a use of the gel 38 percentage points more likely than intended. This corrects that, so the base is 25%/45% failure for severe/critical blunt wounds. It also raises the bonuses to succeeding you get from painkillers a bit since you're going through a lot of trouble for all this already.
2020-09-23 02:48:11 -03:00
TiviPlus
ff1631b7b9 Fully removes devil and affiliated shitcode (#53612)
Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.
2020-09-23 00:46:21 +01:00
Ghilker
5d83a52bb6 Healium is too powerful we need to nerf it! (#53766)
Healium was too stronk, nerfed it to behave like a good gas.
Added coughing and euphoria mood if breathed in small quantities to alert the player.
Sleep if it is 3 moles in the air for 3 to 5 seconds
Sleep you if is more than 6 moles and it heals you while knocked down.
Lowered the amount of healing done

Edit: It doesnt knock you out, it makes you sleep now, since the knockdown effect was so strong that people wouldn't wake up
2020-09-21 00:17:58 -07:00
Timberpoes
9a814a9e8c Skeletons and other bloodless creatures no longer suffer repeated heart attacks. (#53838)
Added simple code guards at the start of the two remaining peices of code that are responsible from spamming heart attack messages to early return if the owner doesn't actually use their heart.
2020-09-20 06:49:34 -03:00
Ghilker
29c0ed1b00 Remove bad reference from atmos (#53781)
Change the name from Cyrion B to Zauker due to the easy connection the bad groups in the past

Not getting a repo ban is good
2020-09-17 13:51:15 -07:00
Jared-Fogle
8505c4e4cf Fix surgery initiation runtime. (#53697)
* Feex

* More feex

* Wingfeex feex
2020-09-16 03:08:21 -07:00
Qustinnus
2c8489af26 s-s-s-spaghetti to newfood (#53574)
🆑 Qustinnus
code: Moves spaghetti to new food
fix: Fixes some more size problems on food
fix: Fixes organs having wrong params
/🆑

fixes #53482 fixes #53572
2020-09-16 02:49:06 +01:00
Timberpoes
c07d14a1fc Wingfeex feex 2020-09-14 02:06:27 +01:00
Timberpoes
9fc2a37d3f More feex 2020-09-14 01:52:02 +01:00
Timberpoes
e361b0adf9 Feex 2020-09-14 01:48:47 +01:00
Tad Hardesty
899a9e04cb Fix some missing Initialize hints (#53566)
* Fix some missing initialize hints

* Whitelist /mob/dview not calling /atom/Initialize()

* Better idea
2020-09-13 20:34:12 +08:00
Wallemations
11073f55ec Fixes some issues with sign language & makes some things more clear (#53610)
Changes the name of the recipe for the gloves to make them more clear
Adds a note in the tongue file to make sure it's clear you SHOULDN'T SEE THAT TONGUE.
Adds a unique chat message for mimes who use sign language, to make it clearer you can't cheese as a mime
Adds a unique slurring verb for drunkards
Removes the ability for sign languagers to use megaphones, which I forgot existed in the game. 
Punctuation removal now replaces all punctuation used with periods rather than with blank space, to reduce run-on sentences.
2020-09-12 18:57:49 -07:00
NightRed
6197be5bf3 Organ removal ends metabolizing reagents in the organ (#53619)
If an organ contains reagents it will end metabolizing them on removal.
2020-09-12 01:45:46 +01:00
Rohesie
457a3bb414 limb disabled refactor (#53374)
Fixes #53219
    Nukes is_disabled()
    Turns several variable value changes into events.
    bodypart_disabled turned into a boolean value.
    BODYPART_DISABLED_WOUND turned into TRAIT_DISABLED_BY_WOUND. Not the cleanest thing out there, but it works.
    Cleans some code and reduces number of updates, as only the extremities have a disabled effect.
2020-09-11 17:59:09 +01:00
Jared-Fogle
55adfd3804 Fix seeing surgeries while blind (#53500)
Fixes #53295.
2020-09-11 00:28:02 +01:00
LemonInTheDark
9e25e97370 Merge pull request #53013 from Ghilker/reactions-go-BRRRR
The scope of this PR is to add new and interesting stuff to the atmos crew and to bring more people to it both old and new.
This PR adds 5 new gases, a bunch of reactions (i'm still working on this but suggestions are useful), new recipes and items to the atmosians arsenal. These gases have high utility for everyone, atmosians will find them useful to do their job both as firefighters and air maintenance.
FINAL GAS NAMES (will change only if a maintainer ask about it)

Healium
Proto Nitrate
Cyrion B
Halon
Hexane

reactions avaiable in this PR: https://drive.google.com/file/d/1e6DZlBaKSCNdCADKnrH3F3aDWvl0iZr4/view

What the PR add:
-Healium: a red gas, stronger than n2o if breathed, with healing properties
-Proto Nitrate: a green inert gas if breathed but with different reactions with various gases at high temperatures
-Cyrion B: a black deadly gas if breathed that decompones very fast if exposed to N2 even at minimal amounts
-Halon: a light blue gas that when used in a fire it will suck up the O2 and will help cool the room, helping fighting the fire
-Hexane: a purple gas that has the ability to filter from the air plasma and n2o, useful to clean distro from the harmful gases quickly
-Healium Crystal: a reddish crystal that when broken will explode cooling the room and removing the plasma from the air (act like a grenade)
-Proto Nitrate Crystal: a greenish crystal that when broken will explode refilling a space with O2 and N2
-Cyrion B Crystal: a blackish crystal that when broken will explode dealing damage around it
-Metallic hydrogen recipe addition (atmosian armor and fireaxe)
-Statue of an elder atmosian (for bragging rights)
-Supermatter Interactions
-More gas interactions (Roinnel have multiple and different interactions)
-New RPD device: the pressure valve, a device that allow gas flow in a pipenet if the input pressure is higher than the set pressure it's getting atomized
-Fusion is a bit "easier" to start (minor changes to the math so that the instability is more reasonable)
-pluox can be also made without using rads
-cyrion-b bounty
-all 5 gases can be sold to cargo

More stuff needs to be added (like the SM interactions(added) and probably more reactions and breathe reactions)
Please leave suggestions and feedbacks as it helps improve the PR

Atmos desperately need more content and need to be proactive in the making of its tools, with this PR is a start to more atmos content

🆑
add: hydrogen + rads = trit
add: 5 new gases
add: Healium : made from Bz + Freon + cold, it knocks people down but have healing properties
add: Proto Nitrate : made from pluox and H2 + heat, it has different reaction with a bunch of other gases
add: Cyrion B : made from hypernoblium + stimulum around 0°C, it has heavy damage if breathed but is decomposed rapidly by N2
add: Halon : made from bz + trit + cold, it reacts with O2 at high temperature removing it and cooling the air, helping putting out fires
add: Hexane : made from bz + H2 + cold, it reacts with plasma and n2o and removes them from the air mix, filtering them.
tweak: stimulum no longer require plasma
add: canister sprites, gas sprites
add: crystal from gases formation and reaction
add: new metallic hydrogen recipes
add: elder atmosian statue
add: supermatter interactions
tweak: minor changes to fusion math to make it "easier" to start
add : pluoxium can be also made without using rads (not removing the rad production one) (this also produces a minimal amount of h2)
tweak: lowered hypernoblium min temperature of reaction
tweak: metallic hydrogen production more common
add: cyrion-b bounty
add: all 5 gases are up to selling
/🆑
2020-09-10 03:00:51 -07:00
ATH1909
36e0206849 da dadadada da da, dada da da, dada da da, da (#53405) 2020-09-08 20:20:57 -07:00
LemonInTheDark
834c87b2c9 Merge pull request #52907 from Wallemations/master
This pull request adds the neutral quirk "Tongue Tied", which relegates the user to sign language, along with both the positive and negative effects this can have. After some thought, I had decided to make it neutral due to the overall impact its effects can have.
Effects include:

    Having one hand full causes your speech to be obscured. Having both hands full makes you unable to speak at all. This also applies to the removal of said limbs.
    Obviously using your hands would hinder speech over radio, so to get around this, Nanotrasen have developed a special kind of glove for those with this speech impediment! Don't lose them though, or you'll have to create new ones.
    The deaf can understand you, and you're "immune" to being mute as long as you can sign! Of course, good luck communicating with anyone who's blind.
    Punctuation? In my visual-based language? Hell no, you better learn to read people's faces. When someone's eyebrows are raised, they are surprised/exclaiming, whilst lowering ones eyebrows indicates they are asking a question. Just like real Sign Language!

Awards players who pick it for being more aware & efficient with their inventory, whilst punishing them for carrying items in their hands 24/7. It further opens these players to new communication options & challenges, whilst giving people who go against them new hurdles & weaknesses to exploit.
2020-09-08 14:05:51 -07:00
Donkie
53b212ddf2 Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)
* Process procs now properly use deltatime when implementing rates, timers and probabilities

* Review fixes

* Geiger counters cleanup

Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now

* Moved SS*_DT defines to subsystems.dm

* Rebase fix

* Redefined the SS*_DT defines to use the subsystem wait vars

* Implemented suggested changes by @AnturK

* Commented /datum/proc/process about the deltatime stuff

* Send delta_time as a process parameter instead of the defines

Also DTfied acid_processing

* Dtfied new acid component
2020-09-08 10:24:05 +02:00
Wallemations
3779dfe2a3 Merge branch 'master' into master 2020-09-07 21:42:22 -04:00
Wallemations
044665b656 removes uneeded else & changes deaf_message 2020-09-07 21:36:33 -04:00
Wallemations
51770d773d swaps findtext for variables 2020-09-07 18:46:16 -04:00
Jared-Fogle
4c358cd25f Performing a head transplant will now properly preserve the appearance. (#53494) 2020-09-07 17:56:16 -03:00
Wallemations
0640963280 uses variables for punctuation checks 2020-09-06 18:07:27 -04:00
Ryll Ryll
8fd1c42d9e Zombies can be decapped again, un-nerfs esword/armblade/etc wounding power, improvised cauterization tweaks (#53349)
#53117 introduced a few minor bugs with the health system, in this case, zombies being un-decappable due to an oversight in the head/chest dismember requiring full death rather than either full crit or death. As zombies (or anything with TRAIT_NODEATH) can only reach hard crit and not death, this meant they couldn't be decapped/disemboweled. This fixes that. It also fixes krokodil addict zombies being unwoundable due to not having flesh or bone traits.

Next up, I originally set really high negative wound bonuses for high damage weapons like eswords and armblades since they already had high damage and dismember power by themselves. Now that dismembering is tied to wounding power (and I have a better sense of balance values), these harsh nerfs are no longer needed or wanted, and you can actually dismember people worth a damn with an esword again. I also punched up the wounding power of a few other weapons like saws and scalpels to less awful (but still not optimal) against armor.

Attacks currently have an 80% chance to hit the limb you're aiming at, which can make destroying a limb a complete pain even if the target is already down and out. As such, attacks against prone targets now have a 90% chance to hit the targeted limb, cutting the miss rate in half.

Lastly, trying to cauterize bleeding wounds with improvised tools (anything hot that isn't a cautery) is now slightly less efficient than a real cautery and requires an aggro grab on the patient to apply. No more trying to cauterize the person you just attacked with an esword because you were on help intent!
2020-09-06 01:37:45 -03:00
NightRed
97d969dfca Many issue fixes for stomachs and chem interactions (#53440)
This changes the has_reagent check to work with stomachs.
Several supporting procs have been added to fully support this behavior.
end_metabolization will work as expected again
expose is working with INGEST items again
on_mob_add working as intended
on_mob_life has been reviewed and worked over.

Health Analyzers now show stomach contents, same with the medical kiosk.

Included the unit test to validate reagent checks.
Unit tests for the new procs on mob
2020-09-05 21:57:30 -03:00
Wallemations
49e789c7a9 Merge remote-tracking branch 'tgstation_full/master' 2020-09-04 21:02:37 -04:00
Wallemations
f00a2250d6 adds ability to set organs as unremovable 2020-09-04 20:44:08 -04:00
Emmanuel S
4286263a5c Replace two instances of "peice" with "piece" (#53431) 2020-09-03 20:30:15 -07:00
NightRed
4e2dda164f Makes the stomach important part of eating (#53228)
This puts food you eat in to the stomach.
If you do not have a stomach you can not eat, if you try to swallow anything you will spew it out.

Changes to surgeries:

    Stomach pump can now be done on the living, and pushes out the reagents in the stomach.
    Blood filter is a new tool and cleans the reagents out of the body.

This also makes it so that reagents that do not metabolize can accumulate in the stomach reducing how much food you can eat.
2020-09-03 17:02:23 -03:00
Ghilke
396012aec2 Merge master + remove travis error 2020-09-01 14:38:51 +02:00
Jared-Fogle
96b00fd23e The searing tool now starts as a cautery (#53303)
The experimental searing tool (both a cautery and a drill) now starts as a cautery, rather than the drill.
2020-09-01 05:15:28 -03:00
Ghilke
afc12176a9 merge master 2020-08-30 12:10:30 +02:00
Wallemations
ae71b992dc fixes punctuation removal 2020-08-29 03:35:15 -04:00