diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 0e721d87c87..ad4a06304fe 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -56,9 +56,6 @@ var/global/list/undershirt_t = list("White Shirt", "White Tank top", "Black shir var/global/list/undershirt_list = undershirt_t //Backpacks var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Alt") - //Slime Colors -var/global/slime_colorh = list("grey", "gold", "silver", "metal", "purple", "darkpurple", "orange", "yellow", "red", "blue", "darkblue", "pink", "green", "lightpink", "black", "oil", "adamantine") - ////////////////////////// diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index d7b995cdf2c..d99a17e7ab5 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -179,9 +179,6 @@ proc/get_id_photo(var/mob/living/carbon/human/H) facial_s.Blend(rgb(H.r_facial, H.g_facial, H.b_facial), ICON_ADD) eyes_s.Blend(facial_s, ICON_OVERLAY) - if(H.species.bloodflags & BLOOD_SLIME) - var/icon/blendingslime = new/icon("icon" = 'icons/effects/slimemutant.dmi', "icon_state" = "[H.slime_color]_slime_[H.gender]_s") - preview_icon.Blend(blendingslime, ICON_OVERLAY) var/icon/clothes_s = null switch(H.mind.assigned_role) diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm index 26cc5bac14a..d32de91c2a6 100644 --- a/code/modules/mob/living/carbon/human/species/golem.dm +++ b/code/modules/mob/living/carbon/human/species/golem.dm @@ -10,7 +10,6 @@ blood_color = "#515573" flesh_color = "#137E8F" - brute_mod = 0.8 has_organ = list( "brain" = /obj/item/organ/brain/golem @@ -22,4 +21,80 @@ H.mind.special_role = "Golem" H.real_name = "adamantine golem ([rand(1, 1000)])" H.name = H.real_name - ..() \ No newline at end of file + H.equip_to_slot_or_del(new /obj/item/clothing/under/golem(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/golem(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/golem(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/golem(H), slot_wear_mask) + H.equip_to_slot_or_del(new /obj/item/clothing/gloves/golem(H), slot_gloves) + ..() + + +////////Adamantine Golem stuff I dunno where else to put it + +/obj/item/clothing/under/golem + name = "adamantine skin" + desc = "a golem's skin" + icon_state = "golem" + item_state = "golem" + _color = "golem" + has_sensor = 0 + flags = ABSTRACT | NODROP + armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) + +/obj/item/clothing/suit/golem + name = "adamantine shell" + desc = "a golem's thick outter shell" + icon_state = "golem" + item_state = "golem" + w_class = 4//bulky item + gas_transfer_coefficient = 0.90 + permeability_coefficient = 0.50 + body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS|HEAD + slowdown = 1.0 + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + flags = ONESIZEFITSALL | STOPSPRESSUREDMAGE | ABSTRACT | NODROP + heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS | HEAD + max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE + cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS | HEAD + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE + armor = list(melee = 80, bullet = 20, laser = 20, energy = 10, bomb = 0, bio = 0, rad = 0) + +/obj/item/clothing/shoes/golem + name = "golem's feet" + desc = "sturdy adamantine feet" + icon_state = "golem" + item_state = "golem" + flags = NOSLIP | ABSTRACT | MASKINTERNALS | MASKCOVERSMOUTH | NODROP + slowdown = SHOES_SLOWDOWN+1 + + +/obj/item/clothing/mask/gas/golem + name = "golem's face" + desc = "the imposing face of an adamantine golem" + icon_state = "golem" + item_state = "golem" + siemens_coefficient = 0 + unacidable = 1 + flags = ABSTRACT | NODROP + + +/obj/item/clothing/gloves/golem + name = "golem's hands" + desc = "strong adamantine hands" + icon_state = "golem" + item_state = null + siemens_coefficient = 0 + flags = ABSTRACT | NODROP + + +/obj/item/clothing/head/space/golem + icon_state = "golem" + item_state = "dermal" + _color = "dermal" + name = "golem's head" + desc = "a golem's head" + unacidable = 1 + flags = STOPSPRESSUREDMAGE | ABSTRACT | NODROP + heat_protection = HEAD + max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE + armor = list(melee = 80, bullet = 20, laser = 20, energy = 10, bomb = 0, bio = 0, rad = 0) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species/shadow.dm b/code/modules/mob/living/carbon/human/species/shadow.dm index 269ce2b1f58..35335193c41 100644 --- a/code/modules/mob/living/carbon/human/species/shadow.dm +++ b/code/modules/mob/living/carbon/human/species/shadow.dm @@ -13,13 +13,11 @@ flesh_color = "#AAAAAA" has_organ = list( - "brain" = /obj/item/organ/brain/slime + "brain" = /obj/item/organ/brain ) flags = NO_BLOOD | NO_BREATHE | NO_SCAN bodyflags = FEET_NOSLIP /datum/species/shadow/handle_death(var/mob/living/carbon/human/H) - spawn(1) - new /obj/effect/decal/cleanable/ash(H.loc) - del(H) \ No newline at end of file + H.dust() \ No newline at end of file diff --git a/code/modules/mob/living/carbon/metroid/life.dm b/code/modules/mob/living/carbon/metroid/life.dm index 70ee12dd44c..55b6f5c4d69 100644 --- a/code/modules/mob/living/carbon/metroid/life.dm +++ b/code/modules/mob/living/carbon/metroid/life.dm @@ -345,7 +345,7 @@ if(issilicon(L) && (rabid || attacked)) // They can't eat silicons, but they can glomp them in defence targets += L // Possible target found! - if(istype(L, /mob/living/carbon/human) && dna) //Ignore slime(wo)men + if(istype(L, /mob/living/carbon/human)) //Ignore slime(wo)men var/mob/living/carbon/human/H = L if(H.species.name == "Slime People") continue diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index 2798cd96c87..c2c7f678a72 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -963,105 +963,4 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75 O << "\red You are not eligable." return ghosts.Add(O) - O << "\blue You are signed up to be a golem." - -//////////////////////////////Old shit from metroids/RoRos, and the old cores, would not take much work to re-add them//////////////////////// - -/* -// Basically this slime Core catalyzes reactions that normally wouldn't happen anywhere -/obj/item/slime_core - name = "slime extract" - desc = "Goo extracted from a slime. Legends claim these to have \"magical powers\"." - icon = 'icons/mob/slimes.dmi' - icon_state = "slime extract" - force = 1.0 - w_class = 1.0 - throwforce = 1.0 - throw_speed = 2 - throw_range = 6 - origin_tech = "biotech=4" - var/POWERFLAG = 0 // sshhhhhhh - var/Flush = 30 - var/Uses = 5 // uses before it goes inert - -/obj/item/slime_core/New() - ..() - create_reagents(100) - POWERFLAG = rand(1,10) - Uses = rand(7, 25) - //flags |= NOREACT -/* - spawn() - Life() - - proc/Life() - while(src) - sleep(25) - Flush-- - if(Flush <= 0) - reagents.clear_reagents() - Flush = 30 -*/ - - - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime - name = "slime egg" - desc = "A small, gelatinous egg." - icon = 'icons/mob/mob.dmi' - icon_state = "slime egg-growing" - bitesize = 12 - origin_tech = "biotech=4" - var/grown = 0 - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/New() - ..() - reagents.add_reagent("nutriment", 4) - reagents.add_reagent("slimejelly", 1) - spawn(rand(1200,1500))//the egg takes a while to "ripen" - Grow() - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Grow() - grown = 1 - icon_state = "slime egg-grown" - processing_objects.Add(src) - return - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/proc/Hatch() - processing_objects.Remove(src) - var/turf/T = get_turf(src) - src.visible_message(" The [name] pulsates and quivers!") - spawn(rand(50,100)) - src.visible_message(" The [name] bursts open!") - new/mob/living/carbon/slime(T) - del(src) - - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/process() - var/turf/location = get_turf(src) - var/datum/gas_mixture/environment = location.return_air() - if (environment.toxins > MOLES_PLASMA_VISIBLE)//plasma exposure causes the egg to hatch - src.Hatch() - -/obj/item/weapon/reagent_containers/food/snacks/egg/slime/attackby(obj/item/weapon/W as obj, mob/user as mob, params) - if(istype( W, /obj/item/toy/crayon )) - return - else - ..() -*/ - -/obj/item/slime_color - name = "slimeperson color selector" - desc = "Allows you to change your slimeperson color, once." - icon = 'icons/obj/device.dmi' - icon_state = "t-ray0" - force = 1.0 - w_class = 1.0 - throwforce = 1.0 - throw_speed = 3 - throw_range = 6 - origin_tech = "biotech=4" - _color = "grey" - var/Uses = 1 // uses before it goes inert - var/list/slimecolor = list("grey","gold","silver","metal","purple","darkpurple","orange","yellow","red","blue","darkblue","pink","green","lightpink","black","oil","adamantine") - + O << "\blue You are signed up to be a golem." \ No newline at end of file diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 506be488ea0..127557cd3b5 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -210,7 +210,8 @@ proc/wabbajack(mob/living/M) new_mob.universal_speak = 1 if("human") new_mob = new /mob/living/carbon/human/human(M.loc) - + var/mob/living/carbon/human/H = new_mob + H.set_species(pick(all_species)) var/datum/preferences/A = new() //Randomize appearance for the human A.copy_to(new_mob)