Commit Graph

679 Commits

Author SHA1 Message Date
Y0SH1M4S73R
93d03dc6bb [Alternative to #6407] Makes mutant bodyparts and mutcolors into editable genetic traits (#6750)
* Makes mutant bodyparts and mutcolors into editable genetic traits (plus a whole shitload of otherwise out of scope code improvements because I just HAD to touch old code)

* Mirror

* genetically-editable mutant bodyparts and colors - skyrat edition

Co-authored-by: Funce <funce.973@gmail.com>
2021-07-08 16:04:19 +01:00
Gandalf
778a589555 Removes a lot of redundant non-modular changes and maybe fixes cleanbots (#6615)
* oof

* Update _ai_controller.dm

* no need for this anymore
2021-06-30 21:50:50 +02:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
192544cf01 [MIRROR] Starlight condensation fixes (#6030)
* Starlight condensation fixes (#59091)

Changes the criteria for starlight condensation to heal you to reflect glass (and transparent) tiles (although at the weakened rate) and multi-z stations as well as on lavaland and unroofed structures in space.

* Starlight condensation fixes

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
2021-05-30 00:53:22 +01:00
Matthew J
aac40d2ed3 [TM-ONLY][DNM] Attempts to remove all instances where a list is accessed with a '?' (#5932)
* I hate TGUI even if its better than what we had before

* this is why linters exist

* you need to be a Head or the Warden to get items

* does this please you linter?

* foundation

* basic interactions

* yea I can spell okay?

* linters please leave me alone

* begone debug code

* if you are dead, no interacting

* linters leave me alone

* linters are stealing my soul

* forgot to do this

* sound framework, probably wont work though

* max length, and interaction cooldowns

* message can now be a list and minor code improve

* I am a slave and linters are my master

* fix improper static reference

* add json loading/saving functionality

* default for message is now a list

* jsonize def interactions; implement requirements

* bad

* bug fix; CtrlShiftClick to interact

* minor qol fix

* fix CtrlShiftClick and remove debug code

* haha docker has security measures

* this was painful

* why are you in this branch

* begone

* bruh

* begone

Co-authored-by: Matthew <matthew@tfaluc.com>
Co-authored-by: Matthew J <GoldenKeyboard@users.noreply.github.com>
2021-05-25 16:26:39 +01:00
SkyratBot
01a2d62e9e [MIRROR] Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#5586)
* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more) (#58882)

* Kills BOTH /poison paths by turning poisonous into an element. (+fantasty prefix, sanity on attackingtarget signal, and more)

* AAAAAAAA

* Update spellbook.dm

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-10 15:12:34 +01:00
SkyratBot
1ad10582db [MIRROR] The shivering symptom now actually chills you like it says it does instead of heating you up (#5342)
* The shivering symptom now actually chills you like it says it does instead of heating you up (#58181)

* ice ice baby

* broader species compatibility

* are you HAPPY NOW?

* should make the code compile

* Apply suggestions from code review

Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>

* The shivering symptom now actually chills you like it says it does instead of heating you up

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
2021-04-30 13:03:48 +01:00
SkyratBot
bd3105ebf6 [MIRROR] Buff the hallucination symptom's stats. (#5313)
* Buff the hallucination symptom's stats (#58770)

* Buff the hallucination symptom's stats.

Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
2021-04-29 13:52:57 +01:00
SkyratBot
5b8a38af3a [MIRROR] Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#5244)
* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that. (#58015)

* Adds explosion SFX to the blastcannon and explosive compressor

- Extracts the explosion SFX and screenshake proc from the SSexplosions explosion handling proc and lets the explosive compressor and blastcannon use it.

* Miscellaneous changes

- Adds defines for the internal explosion arglist keys
- Reverses the values of the explosion severity defines
- Changes almost everything that uses `/proc/explosion` to use named arguments

- Removes a whole bunch of argname = 0 in explosion calls.

* Removes named callback arguments.

* Changes the explosion signals to just use the arguments list

Adds a simple framework to let objects respond to explosions occurring inside of them.

Changes a whole bunch of explosions to use the object being exploded as the origin of the explosion rather than the turf the object is on.

Makes the explosive compressor and blastcannon actually use the TTVs they are given.

Adds support for things responding to internal explosions.
Less snowflake code for the explosive compressor and blastcannon calculating bomb range.*
Less confusing explosion severity defines.
Less opaque explosion arguments

*does not guarantee that the solution to letting them actually use the TTV is any less snowflake.

* Makes the explosive compressor and blastcannon actually use the TTVs they're given + the explosion changes to support that.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-04-27 01:53:17 +01:00
SkyratBot
2a36b0851c [MIRROR] fixes transformation code runtiming (maybe fixes monkey fever???) (#5215)
* fixes transformation code runtiming (maybe fixes monkey fever???) (#58642)

transformation code didnt check if the lists with strings had anything in them, causing a runtime from pick()

* fixes transformation code runtiming (maybe fixes monkey fever???)

Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-04-26 12:01:14 +01:00
SkyratBot
2ab15aecb5 [MIRROR] Remove all gamemodes except Dynamic (#5173)
* Remove all gamemodes except Dynamic

* qaaaaaaaa

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-04-25 21:20:30 +01:00
Gandalf
b32b65fbe3 Mutants - HNZ1 - A medical and scientific adventure! (#4664)
* aaa

* AAAAAAAA

* aaa

* aaaaa

* aaa

* Update zombie_cure.dm

* Update zombie_techweb.dm

* Update zombie_cure.dm

* Update zombie_cure.dm

* a

* THEY ARE MUTANTS, NOT ZOMBIES

* aaaaa

* aaaa

* Update mutant_event.dm

* aaaaa

* aaaa

* Update mutant_cure.dm

* Update mutant_cure.dm

* aaaaaaaaaaaa

* Update mutant_parts_greyscale.dmi

* aaaa

* Create research2.dmm

* 0

* Update mutant_datum.dm

* Update research2.dmm

* aaaa

* Update mutant_datum.dm

* aaaa

* aaaa

* Update mutant_cure.dm

* Update mutant_cure.dm

* Update mutant_cure.dm

* Update mutant_datum.dm
2021-04-10 18:32:09 +01:00
SkyratBot
e6f3daa309 [MIRROR] Moves code managing mobs getting shocked from disease code to mob status code (#4739)
* Moves code managing mobs getting shocked from disease code to mob status code (#58202)

* Moves code managing mobs getting shocked from disease code to mob status code

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-04-08 14:17:56 +01:00
SkyratBot
cdfbf86d07 [MIRROR] Gibs/Dead bodies no longer produce miasma (#4444)
* Gibs/Dead bodies no longer produce miasma (#57957)

* Gibs/Dead bodies no longer produce miasma

Miasma production as it is now is too little over too long a time span, and it just ends up spreading across the
station and having little effect. My goal here is to remove a source of uninteresting gas from the station's
air, and make corpses and gib piles more infectious.
I've placed the cap on disease payout at a strength of 7, so there's a slight chance of a positive disease, but
I think it's counteracted by the danger presented by just infecting yourself till you get what you want.

I've rewriten the rot component to just run a percent chance to infect someone with a disease based on the type
of rot, and moved almost all of its behavior to signals. There's one portion I can't rewrite without making
significant changes to how I handle atmos sensitivity, so that'll come later.

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Gibs/Dead bodies no longer produce miasma

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-03-27 14:20:55 +00:00
Yawet330
e7d29c854e [NONMODULAR]Brings Noc regen in line with starlight and fleshmend (#3739)
* Brings Noc regen in line with starlight and fleshmend

* man im dumb
2021-03-01 22:30:12 +00:00
SkyratBot
5bfe96c630 [MIRROR] Fixes virology stat bonuses and fixes narcolepsy (#3675)
* Fixes stat bonuses and narcolepsy (#57178)

* Fixes virology stat bonuses and fixes narcolepsy

Co-authored-by: Redmoogle <dakotamew@gmail.com>
2021-02-26 14:17:46 +00:00
SkyratBot
d0dc199815 [MIRROR] /mob/living/proc/Life(delta_time) (#3509)
* /mob/living/proc/Life(delta_time)

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:55:52 +00:00
SkyratBot
18eca27569 [MIRROR] update_appearance (#3508)
* update_appearance

* a

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:08:09 +00:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
24454a93fe [MIRROR] Refactor ventcrawling flag into traits (#3178)
* Refactor ventcrawling flag into traits (#56620)

Instead of using var/ventcrawling on `/mob/living`, it is now instead
two traits. It functions in exactly the same way.

This now ensures that manipulation of ventcrawling will not clash with
any other manipulation, such as a proposed genetics ability to give
people ventcrawling, versus abductor organs.

---

Intended to be a pure refactor, no functionality should change.

* Refactor ventcrawling flag into traits

* Update true_changeling.dm

* Update true_changeling.dm

Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-08 23:37:21 +00:00
SkyratBot
36be3d463a [MIRROR] Fix viruses not working on human subtypes (#3104)
* Fix viruses not working on human subtypes (#56585)

* Fix viruses not working on human subtypes

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-02-05 21:24:59 +00:00
SkyratBot
e890b1282b [MIRROR] Replaces intents with combat mode (#3063)
* Replaces intents with combat mode

* updates

* a

* Update living_defense.dm

* https://github.com/tgstation/tgstation/pull/56638/files

* gunsafety!

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-05 16:58:16 +01:00
SkyratBot
d7f054b035 [MIRROR] Refactors monkeys into a species (#2379)
* Refactors monkeys into a species

* aaa

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-31 21:08:07 +01:00
SkyratBot
5f1a7a9385 [MIRROR] Sound Environments - Adds reverb and echos to rooms (#2067)
* Sound Environments - Adds reverb and echos to rooms

* Update sound.dm

* Update sound.dm

* Update datum_traitor.dm

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2020-12-07 10:35:36 +00:00
SkyratBot
9f13d3755b [MIRROR] Fever Chills cap rework (#2060)
* Fixed caps (#55330)

The cap on fever and chills should not be absolute temp of the mob but amount of change.
This lowers the amount of change a small fever will hit you with.

* Fever Chills cap rework

Co-authored-by: NightRed <nightred@gmail.com>
2020-12-06 20:54:53 +00:00
SkyratBot
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00
SkyratBot
bd1512ae29 [MIRROR] Adds 3 periods to the game (#1946)
* Adds 3 periods to the game (#55243)

Fixes a single typo

* Adds 3 periods to the game

Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
2020-11-30 04:37:54 +00:00
SkyratBot
a25041431b [MIRROR] Humans have more complicated body temperatures (#1825)
* Humans have more complicated body temperatures (#54550)

This changes how carbon/humans stabilize body temperature, and changes how damage and wounds are applied based on temperature.

Humans now have a core body temperature along with body temperature. The core temperature is used for natural stabilization and what viruses like fever and shivers target by raising or lowing the core temperature of the mob.
The standard body temperature still exists and acts exactly the same for most items at this time but is now treated as surface temperature in humans.

Damage from body temperature for humans is now based on the core temperature instead of body temperature now.
Humans will now receive burn wounds when the body (surface) temperature is to high for to long.

This causes you to see alerts for the area temperature before you take damage in most cases improving visibility of dangerous situations.

* Humans have more complicated body temperatures

Co-authored-by: NightRed <nightred@gmail.com>
2020-11-25 13:56:04 +01:00
SkyratBot
1c065882f7 [MIRROR] [ready] Reverts metabolism on stomachs, keep them as important to eating (#1690)
* Reverts metabolism on stomachs, keep them as important to eating (#54632)

* [ready] Reverts metabolism on stomachs, keep them as important to eating

* Merge branch 'master' into upstream-merge-54632

* Update food_reagents.dm

* Update alcohol_reagents.dm

Co-authored-by: NightRed <nightred@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-15 06:47:17 +01:00
SkyratBot
52d6f77f47 [MIRROR] Change cure and fix cure text for Gluttony's Blessing (#1583)
* Change cure and fix cure text for Gluttony's Blessing (#54822)

Changes the Gluttony's Blessing cure to Nothing, and fixes the cure text.

When you use a med scanner on someone with Gluttony's Blessing, the possible cure is a little funky.

It turns out the reason for this is that the cure_text for Gluttony's Blessing is just /datum/reagent/consumable/nothing, not even in quotes. The actual cure for Gluttony's Blessing is Adminordazine, so essentially, there is no cure.

* Change cure and fix cure text for Gluttony's Blessing

Co-authored-by: alphanerdd <60521518+alphanerdd@users.noreply.github.com>
2020-11-06 19:37:43 +00:00
SkyratBot
b8d9874c27 [MIRROR] Converts all A && A.B into A?.B (#1292)
* 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.

* Converts all A && A.B into A?.B

Co-authored-by: ZeWaka <zewakagamer@gmail.com>
2020-10-13 23:19:25 +02:00
SkyratBot
b0215f179a [MIRROR] Takes some lessons from Jimmy Neutron (#1269)
* sodium chloride is now called salt (#54328)

* Takes some lessons from Jimmy Neutron

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-10-12 23:18:45 +02:00
SkyratBot
970a2b03d6 [MIRROR] Mobility refactor: no more update_mobility() (#1233)
* Mobility refactor: no more update_mobility()

* Update robot.dm

Fixes robots.

* megadumb

* Update robot.dm

* weh

* Update gunpoint_datum.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-10 02:31:35 +02:00
SkyratBot
5efc96ab80 [MIRROR] Makes some things that rely on atmos adjacency more sane/faster. (#1108)
* Makes some things that rely on atmos adjacency more sane/faster. (#54096)

* Replaces some CANATMOSPASS calls with a new define that checks if the turfs are in each others atmos adjacent list, as that's the same info that they want.

* Makes some things that rely on atmos adjacency more sane/faster.

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-10-01 21:32:19 +01:00
SkyratBot
415043fb3f [MIRROR] Removes an unneeded piece of virology RNG (#919)
* Removes an unneeded piece of virology RNG (#53879)

* Removes an unneeded piece of virology RNG

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
2020-09-23 02:13:04 +01:00
SkyratBot
c6007727cd Many issue fixes for stomachs and chem interactions (#53440) (#671)
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

Co-authored-by: NightRed <nightred@gmail.com>
2020-09-07 04:10:16 +02:00
Useroth
caa6b81048 Cleans up extinguish_mob and prevents perpetual fire (#53252) (#685)
Co-authored-by: NightRed <nightred@gmail.com>
2020-09-07 03:40:42 +02:00
SkyratBot
ec09510459 Bools and returns super-pr (#53221) (#565)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-30 05:12:59 +02:00
SkyratBot
12cd35c594 Crit status refactor (#53117) (#500)
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-25 00:11:20 +02:00
SkyratBot
3bd294f26f [MIRROR] Defines damage flags. (Hopefully without 50+ commits) (#491)
* Defines damage flags. (#53158)

* Defines damage flags. (Hopefully without 50+ commits)

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-08-24 22:52:31 +02:00
SkyratBot
7f3a2027cc [MIRROR] Polling ghost candidates now uses real names (#480)
* Polling ghost candidates now uses real names (#53122)

* Polling ghost candidates now uses real names

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-23 20:43:25 +02:00
SkyratBot
0bafb62a25 [MIRROR] Various virus fixes (#462)
* Various virus fixes (#52899)

* virus fixes

* weird parent call

* Various virus fixes

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-21 21:31:01 +01:00
SkyratBot
4561501cd5 [MIRROR] Fix broken span class tag in mutations and other locations. (#444)
* Fix broken span class tag in mutations and other locations. (#53064)

* Fix broken span class tag in mutations and other locations.

Co-authored-by: msgerbs <msgerbs@users.noreply.github.com>
2020-08-20 19:04:53 -04:00
SkyratBot
e65a48e91f [MIRROR] Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#430)
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)

Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl

* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-19 20:17:28 -04:00
SkyratBot
a00c65aad6 [MIRROR] Lazylists some /mob and /living stuff (#238)
* Lazylists some /mob and /living stuff (#52750)

* lazy

* Apply suggestions from code review

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Rohesie <rohesie@gmail.com>

* Lazylists some /mob and /living stuff

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-07 18:44:40 +01:00
SkyratBot
ee324ab3c2 [MIRROR] Cleanup up all instances of using var/ definitions in proc parameters. (#240)
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)

* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.

* Cleanup up all instances of using var/ definitions in proc parameters.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-07 18:26:21 +01:00
SkyratBot
c5c00fc6ff [MIRROR] Confusion will no longer continue to confuse after being cured (#213)
* Confusion will no longer continue to confuse after being cured (#52286)

* Confusion will no longer continue to confuse after being cured

* Grammar comment fix

* Move to status effect

* Remove test per request

* Make confusion a status effect, confusion curing now completely neuters the confusion

* set_confusion changes, get_confusion

* Fix confusion going down twice per tick

* Change strength = to proc

* Move procs to status_procs

* Confusion will no longer continue to confuse after being cured

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-06 01:02:19 +01:00
ShizCalev
50ee44a045 Fixes coma runtime 2020-07-19 04:41:23 -04:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
Ryll Ryll
20fd4822f2 Simplifies ear damage, allows empaths to properly spot deafness (#51436)
About The Pull Request

Ears currently behave strangely compared to other organs, especially their most closely related sensory organ, eyes. They only assign a deafness trait for quirks, mutations, and clothing (which prevents empaths from noticing hearing damage deafness), have lots of unnecessary procs for dealing/assessing damage, and several audible events check istype() for earmuffs specifically for whether a mob can hear something.

This cuts down on all of that. I removed most ear related procs from mobs, tied deafness explicitly to TRAIT_DEAF (and added a new source for hearing damage), and generally neatened up related code. As a direct result, empaths can now detect deafness from hearing damage, as I assume was intended. I also fixed a bug with examining with med HUD's or as an observer not showing a person's quirks, though I'm not sure people will really care about the info with med HUDs. Also, full revives/regenerating organs now remove all damage from existing organs rather than only trying to replace missing ones

In addition, Inacusiate and Sensory Restoration no longer instantly cure all hearing damage when applied, they now rapidly decrease both ear damage and deafness each tick. This isn't really a fix, but I figured I'd throw it in since I think cobby wanted to move away from instant fix microdose chems, and I punted the restoreEars() procs anyway

Fixes: #51435
Fixes: #48974
Why It's Good For The Game

Brings ears in line with how other organs operate, makes them easier to understand, and restores (what I assume to be) intended functionality for the empath quirk and medhud/observer examines
Changelog

cl Ryll/Shaps
fix: Empaths are able to detect deafness derived from hearing damage
tweak: Inacusiate and Sensory Restoration no longer instantly heal all hearing damage when applied, instead rapidly removing both ear damage and deafness.
fix: MedHUDs and observers now display quirks as intended on examine
/cl
2020-06-19 10:51:06 +12:00