diff --git a/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm b/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm index 2fb72161a2a..3fe97cded4e 100644 --- a/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm +++ b/code/modules/awaymissions/mission_code/ghost_role_spawners/golems.dm @@ -19,6 +19,7 @@ /obj/item/stack/sheet/metal = /datum/species/golem, /obj/item/stack/sheet/glass = /datum/species/golem/glass, /obj/item/stack/sheet/plasteel = /datum/species/golem/plasteel, + /obj/item/stack/ore/glass = /datum/species/golem/sand, /obj/item/stack/sheet/mineral/sandstone = /datum/species/golem/sand, /obj/item/stack/sheet/mineral/plasma = /datum/species/golem/plasma, /obj/item/stack/sheet/mineral/diamond = /datum/species/golem/diamond, diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm index 3dfc01f0e27..fa6ae40b0cb 100644 --- a/code/modules/mob/living/carbon/human/species/golem.dm +++ b/code/modules/mob/living/carbon/human/species/golem.dm @@ -2,11 +2,10 @@ name = "Golem" name_plural = "Golems" - icobase = 'icons/mob/human_races/golems/r_golem.dmi' - deform = 'icons/mob/human_races/golems/r_golem.dmi' + icobase = 'icons/mob/human_races/r_golem.dmi' + deform = 'icons/mob/human_races/r_golem.dmi' species_traits = list(NO_BREATHE, NO_BLOOD, RADIMMUNE, VIRUSIMMUNE, NOGUNS) - bodyflags = HAS_SKIN_COLOR brute_mod = 0.45 //55% damage reduction burn_mod = 0.45 tox_mod = 0.45 @@ -50,9 +49,9 @@ "is crumbling into dust!", "is smashing their body apart!") - var/golem_colour = "aaa" + var/golem_colour = rgb(170, 170, 170) var/info_text = "As an Iron Golem, you don't have any special traits." - var/random_eligible = TRUE //If false, the golem subtype can't be made through golem mutation toxin + var/random_eligible = TRUE var/prefix = "Iron" var/list/special_names = list("Tarkus") var/human_surname_chance = 3 @@ -120,7 +119,7 @@ "adamantine_resonator" = /obj/item/organ/internal/adamantine_resonator, "vocal_cords" = /obj/item/organ/internal/vocal_cords/adamantine ) - golem_colour = "4ed" + golem_colour = rgb(68, 238, 221) info_text = "As an Adamantine Golem, you possess special vocal cords allowing you to \"resonate\" messages to all golems." prefix = "Adamantine" special_names = null @@ -129,7 +128,7 @@ /datum/species/golem/plasma name = "Plasma Golem" skinned_type = /obj/item/stack/ore/plasma - golem_colour = "a3d" + golem_colour = rgb(170, 51, 221) //Can burn and takes damage from heat heat_level_1 = 360 heat_level_2 = 400 @@ -188,7 +187,7 @@ //Harder to hurt /datum/species/golem/diamond name = "Diamond Golem" - golem_colour = "0ff" + golem_colour = rgb(0, 255, 255) brute_mod = 0.3 //70% damage reduction up from 55% burn_mod = 0.3 tox_mod = 0.3 @@ -200,7 +199,7 @@ //Faster but softer and less armoured /datum/species/golem/gold name = "Gold Golem" - golem_colour = "cc0" + golem_colour = rgb(204, 204, 0) slowdown = 2 brute_mod = 0.75 //25% damage reduction down from 55% burn_mod = 0.75 @@ -213,7 +212,7 @@ //Heavier, thus higher chance of stunning when punching /datum/species/golem/silver name = "Silver Golem" - golem_colour = "cc0" + golem_colour = rgb(221, 221, 221) punchstunthreshold = 9 //60% chance, from 40% skinned_type = /obj/item/stack/ore/silver info_text = "As a Silver Golem, your attacks have a higher chance of stunning." @@ -223,7 +222,7 @@ //Harder to stun, deals more damage, but it's even slower /datum/species/golem/plasteel name = "Plasteel Golem" - golem_colour = "bbb" + golem_colour = rgb(187, 187, 187) stun_mod = 0.4 punchdamagelow = 12 punchdamagehigh = 21 @@ -243,7 +242,7 @@ //Add ashstorm resistance if we ever port lavaland /datum/species/golem/titanium name = "Titanium Golem" - golem_colour = "fff" + golem_colour = rgb(255, 255, 255) skinned_type = /obj/item/stack/ore/titanium info_text = "As a Titanium Golem, you are resistant to burn damage." burn_mod = 0.3 @@ -254,7 +253,7 @@ //Add ashstorm and lava resistance if we ever port lavaland /datum/species/golem/plastitanium name = "Plastitanium Golem" - golem_colour = "888" + golem_colour = rgb(136, 136, 136) skinned_type = /obj/item/stack/ore/titanium info_text = "As a Plastitanium Golem, you are very resistant to burn damage." burn_mod = 0.15 @@ -264,7 +263,7 @@ //Fast and regenerates... but can only speak like an abductor /datum/species/golem/alloy name = "Alien Alloy Golem" - golem_colour = "333" + golem_colour = rgb(51, 51, 51) skinned_type = /obj/item/stack/sheet/mineral/abductor language = "Golem Mindlink" default_language = "Golem Mindlink" @@ -293,7 +292,7 @@ //Regenerates like dionas, less resistant /datum/species/golem/wood name = "Wood Golem" - golem_colour = "9E704B" + golem_colour = rgb(158, 112, 75) skinned_type = /obj/item/stack/sheet/wood //Can burn and take damage from heat brute_mod = 0.7 //30% damage reduction down from 55% @@ -336,7 +335,7 @@ //Radioactive /datum/species/golem/uranium name = "Uranium Golem" - golem_colour = "7f0" + golem_colour = rgb(119, 255, 0) skinned_type = /obj/item/stack/ore/uranium info_text = "As an Uranium Golem, you emit radiation. It won't harm fellow golems, but organic lifeforms will be affected." prefix = "Uranium" @@ -355,7 +354,7 @@ name = "Plastic Golem" prefix = "Plastic" special_names = null - golem_colour = "fff" + golem_colour = rgb(255, 255, 255) skinned_type = /obj/item/stack/sheet/plastic info_text = "As a Plastic Golem, you are capable of ventcrawling if you're naked." @@ -370,7 +369,7 @@ //Immune to physical bullets and resistant to brute, but very vulnerable to burn damage. Dusts on death. /datum/species/golem/sand name = "Sand Golem" - golem_colour = "ffdc8f" + golem_colour = rgb(255, 220, 143) skinned_type = /obj/item/stack/ore/glass //this is sand brute_mod = 0.25 burn_mod = 3 @@ -402,7 +401,7 @@ //Reflects lasers and resistant to burn damage, but very vulnerable to brute damage. Shatters on death. /datum/species/golem/glass name = "Glass Golem" - golem_colour = "5a96b4aa" //transparent body + golem_colour = rgb(90, 150, 180) skinned_type = /obj/item/shard brute_mod = 3 //very fragile burn_mod = 0.25 @@ -447,7 +446,7 @@ //Teleports when hit or when it wants to /datum/species/golem/bluespace name = "Bluespace Golem" - golem_colour = "33f" + golem_colour = rgb(51, 51, 255) skinned_type = /obj/item/stack/ore/bluespace_crystal info_text = "As a Bluespace Golem, you are spatially unstable: You will teleport when hit, and you can teleport manually at a long distance." prefix = "Bluespace" @@ -571,8 +570,7 @@ //honk /datum/species/golem/bananium name = "Bananium Golem" - golem_colour = "ff0" - //say_mod = "honks" + golem_colour = rgb(255, 255, 0) punchdamagelow = 0 punchdamagehigh = 0 punchstunthreshold = 1 //Harmless and can't stun @@ -598,7 +596,8 @@ H.equip_to_slot_or_del(new /obj/item/bikehorn(H), slot_l_store) /datum/species/golem/bananium/get_random_name() - var/golem_name = pick(GLOB.clown_names) + var/clown_name = pick(GLOB.clown_names) + var/golem_name = "[prefix] [clown_name]" return golem_name /datum/species/golem/bananium/spec_attack_hand(mob/living/carbon/human/M, mob/living/carbon/human/H, datum/martial_art/attacker_style) @@ -654,13 +653,14 @@ name = "Tranquillite Golem" prefix = "Tranquillite" special_names = null - golem_colour = "fff" + golem_colour = rgb(255, 255, 255) skinned_type = /obj/item/stack/ore/tranquillite info_text = "As a Tranquillite Golem, you are capable of creating invisible walls, and can regenerate by drinking your bottle of Nothing." unarmed_type = /datum/unarmed_attack/golem/tranquillite /datum/species/golem/tranquillite/get_random_name() - var/golem_name = pick(GLOB.mime_names) + var/mime_name = pick(GLOB.mime_names) + var/golem_name = "[prefix] [mime_name]" return golem_name /datum/species/golem/tranquillite/on_species_gain(mob/living/carbon/human/H) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 1d7dc2869eb..ff93cd54b80 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -222,6 +222,10 @@ var/global/list/damage_icon_parts = list() base_icon.Blend(temp, ICON_OVERLAY) if(!skeleton) + if(isgolem(src)) + var/datum/species/golem/G = src.dna.species + if(G.golem_colour) + base_icon.ColorTone(G.golem_colour) if(husk) base_icon.ColorTone(husk_color_mod) else if(hulk) @@ -239,6 +243,7 @@ var/global/list/damage_icon_parts = list() var/mutable_appearance/new_base = mutable_appearance(base_icon, layer = -LIMBS_LAYER) human_icon_cache[icon_key] = new_base standing += new_base + //END CACHED ICON GENERATION. overlays_standing[LIMBS_LAYER] = standing diff --git a/icons/mob/human_races/golems/r_golem.dmi b/icons/mob/human_races/golems/r_golem.dmi deleted file mode 100644 index 4ff5ed71000..00000000000 Binary files a/icons/mob/human_races/golems/r_golem.dmi and /dev/null differ diff --git a/icons/mob/human_races/golems/oldgolem.dmi b/icons/mob/human_races/r_golem.dmi similarity index 100% rename from icons/mob/human_races/golems/oldgolem.dmi rename to icons/mob/human_races/r_golem.dmi