mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-18 13:04:45 +00:00
## About The Pull Request Due to a mental breakdown caused by unfathomable abomination that is icons folder, I swore to myself to one day clean it. Today is kind of that day. Been at it for around 6, you gotta understand I need a rest. I tracked most changes in descriptions of commits if you are looking for details. ## Why It's Good For The Game Saner spriters make better sprites. And also, just helps keep track of things. ## Changelog 🆑 image: added sprites for different variants of scrolls. image: modified couple posters with ghost pixels. /🆑 --------- Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
44 lines
1.6 KiB
Plaintext
44 lines
1.6 KiB
Plaintext
/datum/mutation/human/radioactive
|
|
name = "Radioactivity"
|
|
desc = "A volatile mutation that causes the host to sent out deadly beta radiation. This affects both the hosts and their surroundings."
|
|
quality = NEGATIVE
|
|
text_gain_indication = "<span class='warning'>You can feel it in your bones!</span>"
|
|
instability = 5
|
|
difficulty = 8
|
|
power_coeff = 1
|
|
/// Weakref to our radiation emitter component
|
|
var/datum/weakref/radioactivity_source_ref
|
|
|
|
/datum/mutation/human/radioactive/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut)
|
|
. = ..()
|
|
if(!(type in visual_indicators))
|
|
visual_indicators[type] = list(mutable_appearance('icons/mob/effects/genetics.dmi', "radiation", -MUTATIONS_LAYER))
|
|
|
|
/datum/mutation/human/radioactive/get_visual_indicator()
|
|
return visual_indicators[type][1]
|
|
|
|
/datum/mutation/human/radioactive/on_acquiring(mob/living/carbon/human/acquirer)
|
|
. = ..()
|
|
var/datum/component/radioactive_emitter/radioactivity_source = make_radioactive(acquirer)
|
|
radioactivity_source_ref = WEAKREF(radioactivity_source)
|
|
|
|
/datum/mutation/human/radioactive/modify()
|
|
. = ..()
|
|
make_radioactive(owner)
|
|
|
|
/**
|
|
* Makes the passed mob radioactive, or if they're already radioactive,
|
|
* update their radioactivity to the newly set values
|
|
*/
|
|
/datum/mutation/human/radioactive/proc/make_radioactive(mob/living/carbon/human/who)
|
|
return who.AddComponent(
|
|
/datum/component/radioactive_emitter, \
|
|
cooldown_time = 5 SECONDS, \
|
|
range = 1 * (GET_MUTATION_POWER(src) * 2), \
|
|
threshold = RAD_MEDIUM_INSULATION, \
|
|
)
|
|
|
|
/datum/mutation/human/radioactive/on_losing(mob/living/carbon/human/owner)
|
|
QDEL_NULL(radioactivity_source_ref)
|
|
return ..()
|