[MIRROR] Adds special lung sprites for smoker quirk [MDB IGNORE] (#23555)

* Adds special lung sprites for smoker quirk (#78119)

## About The Pull Request
What it says on the tin, adds special sprites for ethereal, plasmaman,
and regular lungs for if you use the smoker quirk.

Top is normal lungs, bottom is lungs if you use the smoker quirk

![smokerlungs](https://github.com/tgstation/tgstation/assets/58376695/eeb95ab6-3f99-4f64-8cfb-6d9ded0b9413)

Adds some cool flavor and a visual difference between regular and smoker
lungs. Previously, smoker lungs looked identical to normal ones but had
less health and healed slower.
## Why It's Good For The Game
Details are nice, and it was weird there was no visual difference before
since realistically, smoking constantly makes your lungs very visually
different and deteriorate over time.
## Changelog
🆑
image: adds special sprites for lungs when you use the smoker quirk
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Adds special lung sprites for smoker quirk

---------

Co-authored-by: die_amond <58376695+dieamond13@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
This commit is contained in:
SkyratBot
2023-09-07 03:09:42 +02:00
committed by GitHub
parent 465b16f20f
commit 41e2ef5fcc
3 changed files with 42 additions and 5 deletions
@@ -1118,10 +1118,19 @@
. = ..()
quirk_holder.add_mob_memory(/datum/memory/key/quirk_smoker, protagonist = quirk_holder, preferred_brand = initial(drug_container_type.name))
// smoker lungs have 25% less health and healing
var/obj/item/organ/internal/lungs/smoker_lungs = quirk_holder.get_organ_slot(ORGAN_SLOT_LUNGS)
if(smoker_lungs && IS_ORGANIC_ORGAN(smoker_lungs)) // robotic lungs aren't affected
smoker_lungs.maxHealth = smoker_lungs.maxHealth * 0.75
smoker_lungs.healing_factor = smoker_lungs.healing_factor * 0.75
var/mob/living/carbon/carbon_holder = quirk_holder
var/obj/item/organ/internal/lungs/smoker_lungs = null
var/obj/item/organ/internal/lungs/old_lungs = carbon_holder.get_organ_slot(ORGAN_SLOT_LUNGS)
if(old_lungs && IS_ORGANIC_ORGAN(old_lungs))
if(isplasmaman(carbon_holder))
smoker_lungs = /obj/item/organ/internal/lungs/plasmaman/plasmaman_smoker
else if(isethereal(carbon_holder))
smoker_lungs = /obj/item/organ/internal/lungs/ethereal/ethereal_smoker
else
smoker_lungs = /obj/item/organ/internal/lungs/smoker_lungs
if(!isnull(smoker_lungs))
smoker_lungs = new smoker_lungs
smoker_lungs.Insert(carbon_holder, special = TRUE, drop_if_replaced = FALSE)
/datum/quirk/item_quirk/junkie/smoker/process(seconds_per_tick)
. = ..()