Files
2016-03-06 20:52:14 +01:00

234 lines
6.7 KiB
Plaintext

/datum/bioEffect/glowy
name = "Glowy"
desc = "Endows the subject with bioluminescent skin. Color and intensity may vary by subject."
id = "glowy"
probability = 99
effectType = effectTypePower
blockCount = 3
blockGaps = 1
msgGain = "Your skin begins to glow softly."
msgLose = "Your glow fades away."
var/datum/light/light
New()
..()
light = new /datum/light/point
light.set_color(rand(1,10) / 10, rand(1,10) / 10, rand(1,10) / 10)
light.set_brightness(0.7)
OnAdd()
light.attach(owner)
light.enable()
OnRemove()
light.disable()
light.detach()
/datum/bioEffect/horns
name = "Cranial Keratin Formation"
desc = "Enables the growth of a compacted keratin formation on the subject's head."
id = "horns"
effectType = effectTypePower
probability = 99
msgGain = "A pair of horns erupt from your head."
msgLose = "Your horns crumble away into nothing."
OnAdd()
if (ishuman(owner))
overlay_image = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "horns", layer = MOB_LAYER)
..()
/datum/bioEffect/particles
name = "Dermal Glitter"
desc = "Causes the subject's skin to shine and gleam."
id = "shiny"
effectType = effectTypePower
probability = 66
msgGain = "Your skin looks all blinged out."
msgLose = "Your skin fades to a more normal state."
var/system_path = /datum/particleSystem/sparkles
OnAdd()
if (!particleMaster.CheckSystemExists(system_path, owner))
particleMaster.SpawnSystem(new system_path(owner))
OnRemove()
if (!particleMaster.CheckSystemExists(system_path, owner))
particleMaster.RemoveSystem(system_path, owner)
/datum/bioEffect/color_changer
name = "Melanin Suppressor"
desc = "Shuts down all melanin production in the subject's body."
id = "albinism"
effectType = effectTypePower
probability = 99
var/eye_color_to_use = "#FF0000"
var/color_to_use = "#FFFFFF"
var/skintone_to_use = 35
var/holder_eyes = null
var/holder_hair = null
var/holder_det1 = null
var/holder_det2 = null
var/holder_skin = null
OnAdd()
if (!istype(owner,/mob/living/carbon/human/))
return
var/mob/living/carbon/human/H = owner
if (!H.bioHolder)
return
var/datum/bioHolder/B = H.bioHolder
if (!B.mobAppearance)
return
var/datum/appearanceHolder/AH = H.bioHolder.mobAppearance
holder_eyes = AH.e_color
holder_hair = AH.customization_first_color
holder_det1 = AH.customization_second_color
holder_det2 = AH.customization_third_color
holder_skin = AH.s_tone
AH.e_color = eye_color_to_use
AH.s_tone = skintone_to_use
AH.customization_first_color = color_to_use
AH.customization_second_color = color_to_use
AH.customization_third_color = color_to_use
H.update_face()
H.update_body()
OnRemove()
if (!istype(owner,/mob/living/carbon/human/))
return
var/mob/living/carbon/human/H = owner
if (!H.bioHolder)
return
var/datum/bioHolder/B = H.bioHolder
if (!B.mobAppearance)
return
var/datum/appearanceHolder/AH = H.bioHolder.mobAppearance
AH.e_color = holder_eyes
AH.s_tone = holder_skin
AH.customization_first_color = holder_hair
AH.customization_second_color = holder_det1
AH.customization_third_color = holder_det2
H.update_face()
H.update_body()
/datum/bioEffect/color_changer/black
name = "Melanin Stimulator"
desc = "Overstimulates the subject's melanin glands."
id = "melanism"
effectType = effectTypePower
probability = 99
eye_color_to_use = "#572E0B"
color_to_use = "#000000"
skintone_to_use = -185
/datum/bioEffect/stinky
name = "Apocrine Enhancement"
desc = "Increases the amount of natural body substances produced from the subject's apocrine glands."
id = "stinky"
probability = 99
effectType = effectTypeDisability
isBad = 1
msgGain = "You feel sweaty."
msgLose = "You feel much more hygenic."
var/personalized_stink = "Wow, it stinks in here!"
New()
..()
src.personalized_stink = stinkString()
if (prob(5))
src.variant = 2
OnLife()
if (prob(10))
for(var/mob/living/carbon/C in view(6,get_turf(owner)))
if (C == owner)
continue
if (src.variant == 2)
boutput(C, "<span style=\"color:red\">[src.personalized_stink]</span>")
else
boutput(C, "<span style=\"color:red\">[stinkString()]</span>")
/datum/bioEffect/drunk
name = "Ethanol Production"
desc = "Encourages growth of ethanol-producing symbiotic fungus in the subject's body."
id = "drunk"
msgGain = "You feel drunk!"
msgLose = "You feel sober."
probability = 99
var/ethanol_threshold = 80
var/add_per_tick = 1
OnLife()
var/mob/living/L = owner
if (L.stat == 2)
return
if (L.reagents && L.reagents.get_reagent_amount("ethanol") < ethanol_threshold)
L.reagents.add_reagent("ethanol",add_per_tick)
/datum/bioEffect/bee
name = "Apidae Metabolism"
desc = {"Human worker clone batch #92 may contain inactive space bee DNA.
If you do not have the authorization level to know that SS13 is staffed with clones, please forget this entire message."}
id = "bee"
msgGain = "You feel buzzed"
msgLose = "You lose your buzz."
probability = 99
/datum/bioEffect/chime_snaps
name = "Dactyl Crystallization"
desc = "The subject's digits crystallize and, when struck together, emit a pleasant noise."
id = "chime_snaps"
effectType = effectTypePower
probability = 99
msgGain = "Your fingers and toes turn transparent and crystalline."
msgLose = "Your fingers and toes return to normal."
/datum/bioEffect/aura
name = "Dermal Glow"
desc = "Causes the subject's skin to emit faint light patterns."
id = "aura"
effectType = effectTypePower
probability = 99
msgGain = "You start to emit a pulsing glow."
msgLose = "The glow in your skin fades."
var/ovl_sprite = null
var/color_hex = null
New()
..()
ovl_sprite = pick("aurapulse","aurapulse-fast","aurapulse-slow","aurapulse-offset")
color_hex = random_color_hex()
OnAdd()
if (ishuman(owner))
overlay_image = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = ovl_sprite, layer = MOB_LIMB_LAYER)
overlay_image.color = color_hex
..()
//////////////////////
// Combination Only //
//////////////////////
/datum/bioEffect/fire_aura
name = "Blazing Aura"
desc = "Causes the subject's skin to emit harmless false fire."
id = "aura_fire"
effectType = effectTypePower
occur_in_genepools = 0
msgGain = "You burst into flames!"
msgLose = "Your skin stops emitting fire."
var/ovl_sprite = null
var/color_hex = null
New()
..()
color_hex = random_color_hex()
OnAdd()
if (ishuman(owner))
overlay_image = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "fireaura", layer = MOB_LIMB_LAYER)
overlay_image.color = color_hex
..()