From 33bd2e4e03704479e9a5cd0369b4571a02b59589 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 13 Sep 2019 16:23:36 -0400 Subject: [PATCH] More Protean Tweaks --- .../station/protean_vr/protean_powers.dm | 6 +- .../station/protean_vr/protean_species.dm | 70 +++++++++++-------- 2 files changed, 45 insertions(+), 31 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm index 3b7f99c8e71..4172a4be3b6 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm @@ -200,7 +200,7 @@ var/obj/item/stack/material/matstack = held var/substance = matstack.material.name - var/list/edible_materials = list("steel", "plasteel", "diamond", "mhydrogen") //Can't eat all materials, just useful ones. + var/list/edible_materials = list(MAT_STEEL, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_METALHYDROGEN) //Can't eat all materials, just useful ones. var allowed = FALSE for(var/material in edible_materials) if(material == substance) allowed = TRUE @@ -298,14 +298,14 @@ //Sizing up if(cost > 0) - if(refactory.use_stored_material("steel",cost)) + if(refactory.use_stored_material(MAT_STEEL,cost)) user.resize(size_factor) else to_chat(user,"That size change would cost [cost] steel, which you don't have.") //Sizing down (or not at all) else if(cost <= 0) cost = abs(cost) - var/actually_added = refactory.add_stored_material("steel",cost) + var/actually_added = refactory.add_stored_material(MAT_STEEL,cost) user.resize(size_factor) if(actually_added != cost) to_chat(user,"Unfortunately, [cost-actually_added] steel was lost due to lack of storage space.") diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm index 4235dc4692a..d549153cd7c 100755 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_species.dm @@ -1,5 +1,5 @@ #define DAM_SCALE_FACTOR 0.01 -#define METAL_PER_TICK 150 +#define METAL_PER_TICK 100 /datum/species/protean name = SPECIES_PROTEAN name_plural = "Proteans" @@ -30,9 +30,10 @@ blood_volume = 0 min_age = 18 max_age = 200 - brute_mod = 1.25 - burn_mod = 1.25 + brute_mod = 1 + burn_mod = 1.4 oxy_mod = 0 + item_slowdown_mod = 1.33 cold_level_1 = 280 //Default 260 - Lower is better cold_level_2 = 220 //Default 200 @@ -58,8 +59,6 @@ siemens_coefficient = 1.5 //Very bad zappy times rarity_value = 5 - darksight = 3 // Equivalent to the minor trait - has_organ = list( O_BRAIN = /obj/item/organ/internal/mmi_holder/posibrain/nano, O_ORCH = /obj/item/organ/internal/nano/orchestrator, @@ -160,7 +159,7 @@ return rgb(80,80,80,230) /datum/species/protean/handle_death(var/mob/living/carbon/human/H) - to_chat(H,"You died as a Protean. Please sit out of the round for at least 30 minutes before respawning, to represent the time it would take to ship a new-you to the station.") + to_chat(H,"You died as a Protean. Please sit out of the round for at least 60 minutes before respawning, to represent the time it would take to ship a new-you to the station.") spawn(1) //This spawn is here so that if the protean_blob calls qdel, it doesn't try to gib the humanform. if(H) H.gib() @@ -174,16 +173,20 @@ if(refactory && !(refactory.status & ORGAN_DEAD)) //MHydrogen adds speeeeeed - if(refactory.get_stored_material("mhydrogen") >= METAL_PER_TICK) + if(refactory.get_stored_material(MAT_METALHYDROGEN) >= METAL_PER_TICK) H.add_modifier(/datum/modifier/protean/mhydrogen, origin = refactory) - //Plasteel adds brute armor - if(refactory.get_stored_material("plasteel") >= METAL_PER_TICK) - H.add_modifier(/datum/modifier/protean/plasteel, origin = refactory) + //Uranium adds brute armor + if(refactory.get_stored_material(MAT_URANIUM) >= METAL_PER_TICK) + H.add_modifier(/datum/modifier/protean/uranium, origin = refactory) - //Diamond adds burn armor - if(refactory.get_stored_material("diamond") >= METAL_PER_TICK) - H.add_modifier(/datum/modifier/protean/diamond, origin = refactory) + //Gold adds burn armor + if(refactory.get_stored_material(MAT_GOLD) >= METAL_PER_TICK) + H.add_modifier(/datum/modifier/protean/gold, origin = refactory) + + //Silver adds darksight + if(refactory.get_stored_material(MAT_SILVER) >= METAL_PER_TICK) + H.add_modifier(/datum/modifier/protean/silver, origin = refactory) return ..() @@ -245,31 +248,42 @@ on_created_text = "You feel yourself accelerate, the metallic hydrogen increasing your speed temporarily." on_expired_text = "Your refactory finishes consuming the metallic hydrogen, and you return to normal speed." - material_name = "mhydrogen" + material_name = MAT_METALHYDROGEN slowdown = -1 -/datum/modifier/protean/plasteel - name = "Protean Effect - Plasteel" - desc = "You're affected by the presence of plasteel." +/datum/modifier/protean/uranium + name = "Protean Effect - Uranium" + desc = "You're affected by the presence of uranium." - on_created_text = "You feel yourself become nearly impervious to physical attacks as plasteel nanites are made." - on_expired_text = "Your refactory finishes consuming the plasteel, and you return to your normal nanites." + on_created_text = "You feel yourself become nearly impervious to physical attacks as uranium is incorporated in your nanites." + on_expired_text = "Your refactory finishes consuming the uranium, and you return to your normal nanites." - material_name = "plasteel" + material_name = MAT_URANIUM - incoming_brute_damage_percent = 0.5 + incoming_brute_damage_percent = 0.8 -/datum/modifier/protean/diamond - name = "Protean Effect - Diamond" - desc = "You're affected by the presence of diamond." +/datum/modifier/protean/gold + name = "Protean Effect - Gold" + desc = "You're affected by the presence of gold." on_created_text = "You feel yourself become more reflective, able to resist heat and fire better for a time." - on_expired_text = "Your refactory finishes consuming the diamond, and you return to your normal nanites." + on_expired_text = "Your refactory finishes consuming the gold, and you return to your normal nanites." - material_name = "diamond" + material_name = MAT_GOLD - incoming_fire_damage_percent = 0.2 + incoming_fire_damage_percent = 0.8 + +/datum/modifier/protean/silver + name = "Protean Effect - Silver" + desc = "You're affected by the presence of silver." + + on_created_text = "Your optical senses are improved for a time, allowing you to see better in the dark." + on_expired_text = "Your refactory finishes consuming the silver, and your eyes dullen." + + material_name = MAT_SILVER + + darksight = 7 /datum/modifier/protean/steel name = "Protean Effect - Steel" @@ -278,7 +292,7 @@ on_created_text = "You feel new nanites being produced from your stockpile of steel, healing you slowly." on_expired_text = "Your steel supply has either run out, or is no longer needed, and your healing stops." - material_name = "steel" + material_name = MAT_STEEL /datum/modifier/protean/steel/tick() ..()