diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm
index d54c10c66f8..e4cf985977c 100644
--- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm
+++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm
@@ -5148,7 +5148,7 @@
"bVf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology)
"bVg" = (/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology)
"bVh" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology)
-"bVi" = (/mob/living/carbon/slime,/turf/simulated/floor/engine,/area/toxins/xenobiology)
+"bVi" = (/mob/living/simple_animal/slime,/turf/simulated/floor/engine,/area/toxins/xenobiology)
"bVj" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/poddoor/preopen{id = "xenobio2"; name = "containment blast door"},/turf/simulated/floor/engine,/area/toxins/xenobiology)
"bVk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor/preopen{id = "xenobio7"; name = "containment blast door"},/turf/simulated/floor/engine,/area/toxins/xenobiology)
"bVl" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/toxins/misc_lab)
@@ -6468,7 +6468,7 @@
"cuA" = (/obj/structure/sign/directions/medical{dir = 4; icon_state = "direction_med"; pixel_x = 32; pixel_y = -24; tag = "icon-direction_med (EAST)"},/obj/structure/sign/directions/science{dir = 4; icon_state = "direction_sci"; pixel_x = 32; pixel_y = -32; tag = "icon-direction_sci (EAST)"},/obj/structure/sign/directions/engineering{pixel_x = 32; pixel_y = -40},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"cuB" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/sign/directions/engineering{pixel_x = -32; pixel_y = -40},/obj/structure/sign/directions/medical{dir = 4; icon_state = "direction_med"; pixel_x = -32; pixel_y = -24; tag = "icon-direction_med (EAST)"},/obj/structure/sign/directions/evac{dir = 4; icon_state = "direction_evac"; pixel_x = -32; pixel_y = -32; tag = "icon-direction_evac (EAST)"},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
"cuD" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera{c_tag = "Custodial Closet"},/obj/structure/stool/bed/chair/janicart,/turf/simulated/floor/plasteel,/area/janitor)
-
+
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index f3b61f94ba4..3abd1211ee4 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -506,7 +506,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
moblist.Add(M)
for(var/mob/living/carbon/monkey/M in sortmob)
moblist.Add(M)
- for(var/mob/living/carbon/slime/M in sortmob)
+ for(var/mob/living/simple_animal/slime/M in sortmob)
moblist.Add(M)
for(var/mob/living/simple_animal/M in sortmob)
moblist.Add(M)
diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm
index b6060e3d3f7..515f0368ec6 100644
--- a/code/_onclick/other_mobs.dm
+++ b/code/_onclick/other_mobs.dm
@@ -117,11 +117,11 @@
Slimes
Nothing happening here
*/
-/mob/living/carbon/slime/UnarmedAttack(var/atom/A)
+/mob/living/simple_animal/slime/UnarmedAttack(var/atom/A)
A.attack_slime(src)
/atom/proc/attack_slime(mob/user as mob)
return
-/mob/living/carbon/slime/RestrainedClickOn(var/atom/A)
+/mob/living/simple_animal/slime/RestrainedClickOn(var/atom/A)
return
/*
diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm
index 2aaea111eb1..c8eda50e5a4 100644
--- a/code/datums/diseases/transformation.dm
+++ b/code/datums/diseases/transformation.dm
@@ -189,7 +189,7 @@
stage3 = list("Your limbs are getting oozy.", "Your skin begins to peel away.")
stage4 = list("You are turning into a slime.")
stage5 = list("You have become a slime.")
- new_form = /mob/living/carbon/slime
+ new_form = /mob/living/simple_animal/slime
/datum/disease/transformation/slime/stage_act()
..()
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 9f8acdd9c52..761bff2ca6c 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -1334,7 +1334,7 @@
..()
//slime
-/mob/living/carbon/slime/mind_initialize()
+/mob/living/simple_animal/slime/mind_initialize()
..()
mind.special_role = "slime"
mind.assigned_role = "slime"
diff --git a/code/game/machinery/computer/shuttle.dm b/code/game/machinery/computer/shuttle.dm
index 73be97cc324..814bf42382a 100644
--- a/code/game/machinery/computer/shuttle.dm
+++ b/code/game/machinery/computer/shuttle.dm
@@ -92,7 +92,7 @@
else if(istype(A, /mob/living)) // You Shall Not Pass!
var/mob/living/M = A
- if(!M.lying && !istype(M, /mob/living/carbon/monkey) && !istype(M, /mob/living/carbon/slime)) //If your not laying down, or a small creature, no pass.
+ if(!M.lying && !istype(M, /mob/living/carbon/monkey) && !istype(M, /mob/living/simple_animal/slime)) //If your not laying down, or a small creature, no pass.
return 0
return ..()
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index d9a02cecbfa..8880b6eafdd 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -233,7 +233,7 @@
attack_generic(M, M.melee_damage_upper)
-/obj/machinery/door/window/attack_slime(mob/living/carbon/slime/user as mob)
+/obj/machinery/door/window/attack_slime(mob/living/simple_animal/slime/user as mob)
user.do_attack_animation(src)
if(!user.is_adult)
return
diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm
index 829af0c35d1..b7ebd4314ac 100644
--- a/code/game/machinery/telecomms/logbrowser.dm
+++ b/code/game/machinery/telecomms/logbrowser.dm
@@ -75,7 +75,7 @@
var/list/humans = typesof(/mob/living/carbon/human, /mob/living/carbon/brain)
var/list/monkeys = typesof(/mob/living/carbon/monkey)
var/list/silicons = typesof(/mob/living/silicon)
- var/list/slimes = typesof(/mob/living/carbon/slime)
+ var/list/slimes = typesof(/mob/living/simple_animal/slime)
var/list/animals = typesof(/mob/living/simple_animal)
if(mobtype in humans)
diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm
index fb01666acf5..e4dd14fd485 100644
--- a/code/game/mecha/equipment/tools/medical_tools.dm
+++ b/code/game/mecha/equipment/tools/medical_tools.dm
@@ -47,7 +47,7 @@
if(occupant)
occupant_message("The sleeper is already occupied")
return
- for(var/mob/living/carbon/slime/M in range(1,target))
+ for(var/mob/living/simple_animal/slime/M in range(1,target))
if(M.Victim == target)
occupant_message("[target] will not fit into the sleeper because they have a slime latched onto their head.")
return
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 3594f1d0e4a..4c768ff6722 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -947,7 +947,7 @@ obj/mecha/proc/can_use(mob/user)
user << "Access denied."
src.log_append_to_last("Permission denied.")
return
- for(var/mob/living/carbon/slime/S in range(1,user))
+ for(var/mob/living/simple_animal/slime/S in range(1,user))
if(S.Victim == user)
user << "You're too busy getting your life sucked out of you."
return
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index 78933650b03..6fa7f816840 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -34,7 +34,7 @@
if(!can_buckle || !istype(M) || (M.loc != loc) || M.buckled || (buckle_requires_restraints && !M.restrained()))
return 0
- if (istype(M, /mob/living/carbon/slime) || istype(M, /mob/living/simple_animal/slime))
+ if (istype(M, /mob/living/simple_animal/slime) || istype(M, /mob/living/simple_animal/slime))
return 0
M.buckled = src
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index cf8461e8b75..d5b7dc79037 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -328,7 +328,7 @@
user << "You're going to need to remove that mask/helmet/glasses first."
return
- if(istype(M, /mob/living/carbon/alien) || istype(M, /mob/living/carbon/slime))//Aliens don't have eyes./N slimes also don't have eyes!
+ if(istype(M, /mob/living/carbon/alien) || istype(M, /mob/living/simple_animal/slime))//Aliens don't have eyes./N slimes also don't have eyes!
user << "You cannot locate any eyes on this creature!"
return
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 833cf976128..73f8efae0f3 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -381,7 +381,7 @@ MASS SPECTROMETER
if (!isslime(M))
user.show_message("This device can only scan slimes!", 1)
return
- var/mob/living/carbon/slime/T = M
+ var/mob/living/simple_animal/slime/T = M
user.show_message("Slime scan results:", 1)
user.show_message(text("[T.colour] [] slime", T.is_adult ? "adult" : "baby"), 1)
user.show_message(text("Nutrition: [T.nutrition]/[]", T.get_max_nutrition()), 1)
diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm
index 8b31a4f662a..dbee45843d5 100644
--- a/code/game/objects/items/weapons/implants/implantchair.dm
+++ b/code/game/objects/items/weapons/implants/implantchair.dm
@@ -77,7 +77,7 @@
if(istype(G, /obj/item/weapon/grab))
if(!ismob(G:affecting))
return
- for(var/mob/living/carbon/slime/M in range(1,G:affecting))
+ for(var/mob/living/simple_animal/slime/M in range(1,G:affecting))
if(M.Victim == G:affecting)
usr << "[G:affecting:name] will not fit into the [src.name] because they have a slime latched onto their head."
return
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index 211b3ec3491..03df21e80a9 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -63,7 +63,7 @@
healthcheck()
return
-/obj/structure/grille/attack_slime(mob/living/carbon/slime/user as mob)
+/obj/structure/grille/attack_slime(mob/living/simple_animal/slime/user as mob)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
if(!user.is_adult) return
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index a38bcadf6e0..42be0f87cec 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -172,7 +172,7 @@
attack_generic(M, M.melee_damage_upper)
update_nearby_icons()
-/obj/structure/window/attack_slime(mob/living/carbon/slime/user as mob)
+/obj/structure/window/attack_slime(mob/living/simple_animal/slime/user as mob)
user.do_attack_animation(src)
if(!user.is_adult)
return
diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm
index f743889fcf9..7fc2486a184 100644
--- a/code/game/verbs/suicide.dm
+++ b/code/game/verbs/suicide.dm
@@ -150,25 +150,6 @@
adjustOxyLoss(max(175 - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
updatehealth()
-
-/mob/living/carbon/slime/verb/suicide()
- set hidden = 1
- if(!canSuicide())
- return
- var/confirm = alert("Are you sure you want to commit suicide?", "Confirm Suicide", "Yes", "No")
- if(!canSuicide())
- return
- if(confirm == "Yes")
- suiciding = 1
- visible_message("[src] is growing dull and lifeless. It looks like it's lost the will to live.", \
- "[src] is growing dull and lifeless. It looks like it's lost the will to live.")
- setOxyLoss(100)
- adjustBruteLoss(100 - getBruteLoss())
- setToxLoss(100)
- setCloneLoss(100)
-
- updatehealth()
-
/mob/living/simple_animal/verb/suicide()
set hidden = 1
if(!canSuicide())
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index ddb5f5c3868..b5c694343eb 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -250,7 +250,7 @@
if("sentinel") M.change_mob_type( /mob/living/carbon/alien/humanoid/sentinel , null, null, delmob )
if("larva") M.change_mob_type( /mob/living/carbon/alien/larva , null, null, delmob )
if("human") M.change_mob_type( /mob/living/carbon/human , null, null, delmob )
- if("slime") M.change_mob_type( /mob/living/carbon/slime , null, null, delmob )
+ if("slime") M.change_mob_type( /mob/living/simple_animal/slime , null, null, delmob )
if("monkey") M.change_mob_type( /mob/living/carbon/monkey , null, null, delmob )
if("robot") M.change_mob_type( /mob/living/silicon/robot , null, null, delmob )
if("cat") M.change_mob_type( /mob/living/simple_animal/cat , null, null, delmob )
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index 703962ae3ba..59693e1ce0e 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -105,10 +105,10 @@
icon_state = "grey baby slime" //sets the icon in the map editor
/obj/effect/landmark/corpse/slimeCorpse/createCorpse() //proc creates a dead slime
- var/A = locate(/mob/living/carbon/slime/) in loc //variable A looks for a slime at the location of the landmark
+ var/A = locate(/mob/living/simple_animal/slime/) in loc //variable A looks for a slime at the location of the landmark
if(A) //if variable A is true
return //stop executing the proc
- var/mob/living/carbon/slime/M = new(src.loc) //variable M is a new slime at the location of the landmark
+ var/mob/living/simple_animal/slime/M = new(src.loc) //variable M is a new slime at the location of the landmark
M.colour = src.mobcolour //slime colour is set by landmark's mobcolour var
M.adjustToxLoss(9001) //kills the slime, death() doesn't update its icon correctly
qdel(src)
diff --git a/code/modules/events/anomaly_pyro.dm b/code/modules/events/anomaly_pyro.dm
index 237e59a1d48..9f5feea38e1 100644
--- a/code/modules/events/anomaly_pyro.dm
+++ b/code/modules/events/anomaly_pyro.dm
@@ -30,7 +30,7 @@
if(newAnomaly.loc)
explosion(get_turf(newAnomaly), -1,0,3, flame_range = 4)
- var/mob/living/carbon/slime/S = new/mob/living/carbon/slime(get_turf(newAnomaly))
+ var/mob/living/simple_animal/slime/S = new/mob/living/simple_animal/slime(get_turf(newAnomaly))
S.colour = pick("red", "orange")
qdel(newAnomaly)
\ No newline at end of file
diff --git a/code/modules/food&drinks/kitchen machinery/processor.dm b/code/modules/food&drinks/kitchen machinery/processor.dm
index 1a3be0f8587..f34053de43c 100644
--- a/code/modules/food&drinks/kitchen machinery/processor.dm
+++ b/code/modules/food&drinks/kitchen machinery/processor.dm
@@ -53,7 +53,7 @@
/datum/food_processor_process/mob/slime/process(loc, what)
- var/mob/living/carbon/slime/S = what
+ var/mob/living/simple_animal/slime/S = what
var/C = S.cores
if(S.stat != DEAD)
S.loc = loc
@@ -64,7 +64,7 @@
feedback_add_details("slime_core_harvested","[replacetext(S.colour," ","_")]")
..()
-/datum/food_processor_process/mob/slime/input = /mob/living/carbon/slime
+/datum/food_processor_process/mob/slime/input = /mob/living/simple_animal/slime
/datum/food_processor_process/mob/slime/output = null
/datum/food_processor_process/mob/monkey/process(loc, what)
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index 50f8ed4b4a1..39228e2eaac 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -28,7 +28,7 @@
if(l_store) l_store.emp_act(severity)
..()
-/mob/living/carbon/alien/humanoid/attack_slime(mob/living/carbon/slime/M as mob)
+/mob/living/carbon/alien/humanoid/attack_slime(mob/living/simple_animal/slime/M as mob)
..()
var/damage = rand(5, 35)
if(M.is_adult)
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index 6bdcbb4307d..59116a12a28 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -38,7 +38,7 @@
/mob/living/carbon/alien/larva/attack_ui(slot_id)
return
-/mob/living/carbon/alien/larva/attack_slime(mob/living/carbon/slime/M as mob)
+/mob/living/carbon/alien/larva/attack_slime(mob/living/simple_animal/slime/M as mob)
..()
var/damage = rand(5, 35)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index a9b1f519542..9223abf649b 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -276,34 +276,6 @@
legcuffed = null
update_inv_legcuffed(0)
-
-/mob/living/carbon/proc/get_temperature(var/datum/gas_mixture/environment)
- var/loc_temp = T0C
- if(istype(loc, /obj/mecha))
- var/obj/mecha/M = loc
- loc_temp = M.return_temperature()
-
- else if(istype(loc, /obj/structure/transit_tube_pod))
- loc_temp = environment.temperature
-
- else if(istype(get_turf(src), /turf/space))
- var/turf/heat_turf = get_turf(src)
- loc_temp = heat_turf.temperature
-
- else if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell))
- var/obj/machinery/atmospherics/unary/cryo_cell/C = loc
-
- if(C.air_contents.total_moles() < 10)
- loc_temp = environment.temperature
- else
- loc_temp = C.air_contents.temperature
-
- else
- loc_temp = environment.temperature
-
- return loc_temp
-
-
/mob/living/carbon/show_inv(mob/user)
user.set_machine(src)
var/dat = {"
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index 6e6516ccd0f..d2741d8ffea 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -65,7 +65,7 @@
return 0
-/mob/living/carbon/attack_slime(mob/living/carbon/slime/M)
+/mob/living/carbon/attack_slime(mob/living/simple_animal/slime/M)
if(..())
var/power = M.powerlevel + rand(0,3)
Weaken(power)
diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm
index 7994f95978a..2cef64b3c89 100644
--- a/code/modules/mob/living/carbon/death.dm
+++ b/code/modules/mob/living/carbon/death.dm
@@ -1,5 +1,4 @@
/mob/living/carbon/death(gibbed)
- eye_blind = max(eye_blind, 1)
silent = 0
med_hud_set_health()
med_hud_set_status()
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 0748e9d3747..2806784e41c 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -398,7 +398,7 @@ emp_act
updatehealth()
-/mob/living/carbon/human/attack_slime(mob/living/carbon/slime/M as mob)
+/mob/living/carbon/human/attack_slime(mob/living/simple_animal/slime/M as mob)
..()
var/damage = rand(1, 3)
diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm
index f88fde9ee1b..1d1de70648c 100644
--- a/code/modules/mob/living/carbon/human/species_types.dm
+++ b/code/modules/mob/living/carbon/human/species_types.dm
@@ -157,7 +157,7 @@
specflags = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD)
hair_color = "mutcolor"
hair_alpha = 150
- ignored_by = list(/mob/living/carbon/slime)
+ ignored_by = list(/mob/living/simple_animal/slime)
meat = /obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/slime
exotic_blood = /datum/reagent/toxin/slimejelly
var/recently_changed = 1
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 6519cd2b39a..233a8872a21 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -159,7 +159,7 @@
updatehealth()
-/mob/living/carbon/monkey/attack_slime(mob/living/carbon/slime/M as mob)
+/mob/living/carbon/monkey/attack_slime(mob/living/simple_animal/slime/M as mob)
..()
var/damage = rand(1, 3)
diff --git a/code/modules/mob/living/carbon/slime/examine.dm b/code/modules/mob/living/carbon/slime/examine.dm
deleted file mode 100644
index 609addde9f5..00000000000
--- a/code/modules/mob/living/carbon/slime/examine.dm
+++ /dev/null
@@ -1,31 +0,0 @@
-/mob/living/carbon/slime/examine(mob/user)
-
- var/msg = "*---------*\nThis is \icon[src] \a [src]!\n"
- if (src.stat == DEAD)
- msg += "It is limp and unresponsive.\n"
- else
- if (src.getBruteLoss())
- msg += ""
- if (src.getBruteLoss() < 40)
- msg += "It has some punctures in its flesh!"
- else
- msg += "It has severe punctures and tears in its flesh!"
- msg += "\n"
-
- switch(powerlevel)
-
- if(2 to 3)
- msg += "It is flickering gently with a little electrical activity.\n"
-
- if(4 to 5)
- msg += "It is glowing gently with moderate levels of electrical activity.\n"
-
- if(6 to 9)
- msg += "It is glowing brightly with high levels of electrical activity.\n"
-
- if(10)
- msg += "It is radiating with massive levels of electrical activity!\n"
-
- msg += "*---------*"
- user << msg
- return
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/slime/login.dm b/code/modules/mob/living/carbon/slime/login.dm
deleted file mode 100644
index d3ac320f2f4..00000000000
--- a/code/modules/mob/living/carbon/slime/login.dm
+++ /dev/null
@@ -1,4 +0,0 @@
-/mob/living/carbon/slime/Login()
- ..()
- update_hud()
- return
diff --git a/code/modules/mob/living/carbon/slime/update_icons.dm b/code/modules/mob/living/carbon/slime/update_icons.dm
deleted file mode 100644
index 3edf65b6f83..00000000000
--- a/code/modules/mob/living/carbon/slime/update_icons.dm
+++ /dev/null
@@ -1,4 +0,0 @@
-//no special icon processing
-
-/mob/living/carbon/slime/update_transform() //They're slimes, they don't lie down.
- return
\ No newline at end of file
diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm
index 9b0accbe230..a41939c595d 100644
--- a/code/modules/mob/living/death.dm
+++ b/code/modules/mob/living/death.dm
@@ -32,6 +32,7 @@
flick(flick_name, animate)
/mob/living/death(gibbed)
+ eye_blind = max(eye_blind, 1)
timeofdeath = world.time
living_mob_list -= src
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 66350b14641..13de3a36afa 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -96,7 +96,7 @@ Sorry Giacom. Please don't be mad :(
M.loc = oldloc
M.LAssailant = src
- for(var/mob/living/carbon/slime/slime in view(1,M))
+ for(var/mob/living/simple_animal/slime/slime in view(1,M))
if(slime.Victim == M)
slime.UpdateFeed()
@@ -546,7 +546,7 @@ Sorry Giacom. Please don't be mad :(
s_active.close(src)
if(update_slimes)
- for(var/mob/living/carbon/slime/M in view(1,src))
+ for(var/mob/living/simple_animal/slime/M in view(1,src))
M.UpdateFeed(src)
/mob/living/proc/makeTrail(var/turf/T, var/mob/living/M)
@@ -866,3 +866,28 @@ Sorry Giacom. Please don't be mad :(
animate(pixel_x = initial(pixel_x) , pixel_y = initial(pixel_y) , time = 2)
floating = 0 // If we were without gravity, the bouncing animation got stopped, so we make sure to restart it in next life().
+/mob/living/proc/get_temperature(var/datum/gas_mixture/environment)
+ var/loc_temp = T0C
+ if(istype(loc, /obj/mecha))
+ var/obj/mecha/M = loc
+ loc_temp = M.return_temperature()
+
+ else if(istype(loc, /obj/structure/transit_tube_pod))
+ loc_temp = environment.temperature
+
+ else if(istype(get_turf(src), /turf/space))
+ var/turf/heat_turf = get_turf(src)
+ loc_temp = heat_turf.temperature
+
+ else if(istype(loc, /obj/machinery/atmospherics/unary/cryo_cell))
+ var/obj/machinery/atmospherics/unary/cryo_cell/C = loc
+
+ if(C.air_contents.total_moles() < 10)
+ loc_temp = environment.temperature
+ else
+ loc_temp = C.air_contents.temperature
+
+ else
+ loc_temp = environment.temperature
+
+ return loc_temp
\ No newline at end of file
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index 812d9705c4f..01a9c8b3efa 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -162,7 +162,7 @@ proc/vol_by_throwforce_and_or_w_class(var/obj/item/I)
visible_message("[user] has grabbed [src] passively!")
-/mob/living/attack_slime(mob/living/carbon/slime/M as mob)
+/mob/living/attack_slime(mob/living/simple_animal/slime/M as mob)
if (!ticker)
M << "You cannot attack people before the game has started."
return
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 1b3b9fbe187..05ba0479602 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -783,6 +783,6 @@ var/list/ai_list = list()
set_autosay()
-/mob/living/silicon/ai/attack_slime(mob/living/carbon/slime/user)
+/mob/living/silicon/ai/attack_slime(mob/living/simple_animal/slime/user)
return
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 9b0ada14b2b..ec825b9cc30 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -636,7 +636,7 @@
-/mob/living/silicon/robot/attack_slime(mob/living/carbon/slime/M as mob)
+/mob/living/silicon/robot/attack_slime(mob/living/simple_animal/slime/M as mob)
if(..()) //successful slime shock
flick("noise", flash)
var/stunprob = M.powerlevel * 7 + 10
diff --git a/code/modules/mob/living/simple_animal/friendly/slime.dm b/code/modules/mob/living/simple_animal/friendly/slime.dm
deleted file mode 100644
index eed4bc24848..00000000000
--- a/code/modules/mob/living/simple_animal/friendly/slime.dm
+++ /dev/null
@@ -1,35 +0,0 @@
-/mob/living/simple_animal/slime
- name = "pet slime"
- desc = "A lovable, domesticated slime."
- icon = 'icons/mob/slimes.dmi'
- icon_state = "grey baby slime"
- icon_living = "grey baby slime"
- icon_dead = "grey baby slime dead"
- speak_emote = list("chirps")
- health = 100
- maxHealth = 100
- response_help = "pets"
- response_disarm = "shoos"
- response_harm = "stomps on"
- emote_see = list("jiggles", "bounces in place")
- ventcrawler = 2
- var/colour = "grey"
-
-/mob/living/simple_animal/slime/adult
- health = 200
- maxHealth = 200
- icon_state = "grey adult slime"
- icon_living = "grey adult slime"
-
-/mob/living/simple_animal/slime/adult/New()
- ..()
- overlays += "aslime-:33"
-
-/mob/living/simple_animal/slime/adult/death(gibbed)
- for(var/i = 0, i<=1, i++)
- var/mob/living/simple_animal/slime/S1 = new /mob/living/simple_animal/slime (src.loc)
- S1.icon_state = "[colour] baby slime"
- S1.icon_living = "[colour] baby slime"
- S1.icon_dead = "[colour] baby slime dead"
- S1.colour = "[colour]"
- qdel(src)
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 85c019a9b0a..ab1601b2bd2 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -148,13 +148,13 @@
emote("me", 2, pick(emote_hear))
-/mob/living/simple_animal/handle_environment()
+/mob/living/simple_animal/handle_environment(datum/gas_mixture/environment)
var/atmos_suitable = 1
var/atom/A = src.loc
if(isturf(A))
var/turf/T = A
- var/areatemp = T.temperature
+ var/areatemp = get_temperature(environment)
if( abs(areatemp - bodytemperature) > 40 )
var/diff = areatemp - bodytemperature
diff = diff / 5
@@ -266,7 +266,7 @@
adjustBruteLoss(harm_intent_damage)
add_logs(M, src, "attacked", admin=0)
updatehealth()
- return
+ return 1
/mob/living/simple_animal/attack_paw(mob/living/carbon/monkey/M as mob)
if(..()) //successful monkey bite.
@@ -297,7 +297,7 @@
L.amount_grown = min(L.amount_grown + damage, L.max_grown)
attack_threshold_check(damage)
-/mob/living/simple_animal/attack_slime(mob/living/carbon/slime/M as mob)
+/mob/living/simple_animal/attack_slime(mob/living/simple_animal/slime/M as mob)
..()
var/damage = rand(1, 3)
diff --git a/code/modules/mob/living/carbon/slime/death.dm b/code/modules/mob/living/simple_animal/slime/death.dm
similarity index 75%
rename from code/modules/mob/living/carbon/slime/death.dm
rename to code/modules/mob/living/simple_animal/slime/death.dm
index ecf01af344b..894479322e4 100644
--- a/code/modules/mob/living/carbon/slime/death.dm
+++ b/code/modules/mob/living/simple_animal/slime/death.dm
@@ -1,9 +1,9 @@
-/mob/living/carbon/slime/death(gibbed)
+/mob/living/simple_animal/slime/death(gibbed)
if(stat == DEAD)
return
if(!gibbed)
if(is_adult)
- var/mob/living/carbon/slime/M = new /mob/living/carbon/slime(loc)
+ var/mob/living/simple_animal/slime/M = new /mob/living/simple_animal/slime(loc)
M.colour = colour
M.rabid = 1
is_adult = 0
@@ -28,6 +28,6 @@
return ..(gibbed)
-/mob/living/carbon/slime/gib()
+/mob/living/simple_animal/slime/gib()
death(1)
qdel(src)
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/slime/emote.dm b/code/modules/mob/living/simple_animal/slime/emote.dm
similarity index 97%
rename from code/modules/mob/living/carbon/slime/emote.dm
rename to code/modules/mob/living/simple_animal/slime/emote.dm
index d8d70595333..99c52b326ff 100644
--- a/code/modules/mob/living/carbon/slime/emote.dm
+++ b/code/modules/mob/living/simple_animal/slime/emote.dm
@@ -1,4 +1,4 @@
-/mob/living/carbon/slime/emote(var/act)
+/mob/living/simple_animal/slime/emote(var/act)
if (findtext(act, "-", 1, null))
diff --git a/code/modules/mob/living/carbon/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm
similarity index 90%
rename from code/modules/mob/living/carbon/slime/life.dm
rename to code/modules/mob/living/simple_animal/slime/life.dm
index f15fd5196a7..76217699b78 100644
--- a/code/modules/mob/living/carbon/slime/life.dm
+++ b/code/modules/mob/living/simple_animal/slime/life.dm
@@ -1,11 +1,11 @@
-/mob/living/carbon/slime
+/mob/living/simple_animal/slime
var/AIproc = 0 // determines if the AI loop is activated
var/Atkcool = 0 // attack cooldown
var/Tempstun = 0 // temporary temperature stuns
var/Discipline = 0 // if a slime has been hit with a freeze gun, or wrestled/attacked off a human, they become disciplined and don't attack anymore for a while
var/SStun = 0 // stun variable
-/mob/living/carbon/slime/Life()
+/mob/living/simple_animal/slime/Life()
set invisibility = 0
set background = BACKGROUND_ENABLED
@@ -17,10 +17,10 @@
if (!ckey)
handle_speech_and_mood()
-/mob/living/carbon/slime/handle_breathing()
+/mob/living/simple_animal/slime/handle_breathing()
return
-/mob/living/carbon/slime/proc/AIprocess() // the master AI process
+/mob/living/simple_animal/slime/proc/AIprocess() // the master AI process
if(AIproc || stat == DEAD || client) return
@@ -45,7 +45,7 @@
break
if(Target)
- for(var/mob/living/carbon/slime/M in view(1,Target))
+ for(var/mob/living/simple_animal/slime/M in view(1,Target))
if(M.Victim == Target)
Target = null
AIproc = 0
@@ -99,7 +99,7 @@
AIproc = 0
-/mob/living/carbon/slime/handle_environment(datum/gas_mixture/environment)
+/mob/living/simple_animal/slime/handle_environment(datum/gas_mixture/environment)
if(!environment)
adjustToxLoss(rand(10,20))
return
@@ -131,7 +131,7 @@
return //TODO: DEFERRED
-/mob/living/carbon/slime/proc/adjust_body_temperature(current, loc_temp, boost)
+/mob/living/simple_animal/slime/proc/adjust_body_temperature(current, loc_temp, boost)
var/temperature = current
var/difference = abs(current-loc_temp) //get difference
var/increments// = difference/10 //find how many increments apart they are
@@ -148,7 +148,7 @@
temp_change = (temperature - current)
return temp_change
-/mob/living/carbon/slime/handle_chemicals_in_body()
+/mob/living/simple_animal/slime/handle_chemicals_in_body()
if(reagents) reagents.metabolize(src)
@@ -163,13 +163,13 @@
return //TODO: DEFERRED
-/mob/living/carbon/slime/handle_mutations_and_radiation()
+/mob/living/simple_animal/slime/handle_mutations_and_radiation()
return
-/mob/living/carbon/slime/handle_regular_hud_updates()
+/mob/living/simple_animal/slime/handle_regular_hud_updates()
return
-/mob/living/carbon/slime/handle_regular_status_updates()
+/mob/living/simple_animal/slime/handle_regular_status_updates()
if(is_adult)
health = 200 - (getOxyLoss() + getToxLoss() + getFireLoss() + getBruteLoss() + getCloneLoss())
@@ -232,7 +232,7 @@
return 1
-/mob/living/carbon/slime/proc/handle_nutrition()
+/mob/living/simple_animal/slime/proc/handle_nutrition()
if(prob(15))
nutrition -= 1 + is_adult
@@ -252,7 +252,7 @@
else
Evolve()
-/mob/living/carbon/slime/proc/add_nutrition(var/nutrition_to_add = 0, var/lastnut = 0)
+/mob/living/simple_animal/slime/proc/add_nutrition(var/nutrition_to_add = 0, var/lastnut = 0)
nutrition = min((nutrition + nutrition_to_add), get_max_nutrition())
if(nutrition >= (lastnut + 50))
if(prob(80))
@@ -264,7 +264,7 @@
-/mob/living/carbon/slime/proc/handle_targets()
+/mob/living/simple_animal/slime/proc/handle_targets()
if(Tempstun)
if(!Victim) // not while they're eating!
canmove = 0
@@ -332,7 +332,7 @@
if(!L.canmove) // Only one slime can latch on at a time.
var/notarget = 0
- for(var/mob/living/carbon/slime/M in view(1,L))
+ for(var/mob/living/simple_animal/slime/M in view(1,L))
if(M.Victim == L)
notarget = 1
if(notarget)
@@ -381,7 +381,7 @@
spawn()
AIprocess()
-/mob/living/carbon/slime/proc/handle_speech_and_mood()
+/mob/living/simple_animal/slime/proc/handle_speech_and_mood()
//Mood starts here
var/newmood = ""
if (rabid || attacked) newmood = "angry"
@@ -538,23 +538,23 @@
phrases += "[M]... feed me..."
say (pick(phrases))
-/mob/living/carbon/slime/proc/get_max_nutrition() // Can't go above it
+/mob/living/simple_animal/slime/proc/get_max_nutrition() // Can't go above it
if (is_adult) return 1200
else return 1000
-/mob/living/carbon/slime/proc/get_grow_nutrition() // Above it we grow, below it we can eat
+/mob/living/simple_animal/slime/proc/get_grow_nutrition() // Above it we grow, below it we can eat
if (is_adult) return 1000
else return 800
-/mob/living/carbon/slime/proc/get_hunger_nutrition() // Below it we will always eat
+/mob/living/simple_animal/slime/proc/get_hunger_nutrition() // Below it we will always eat
if (is_adult) return 600
else return 500
-/mob/living/carbon/slime/proc/get_starve_nutrition() // Below it we will eat before everything else
- if (is_adult) return 300
+/mob/living/simple_animal/slime/proc/get_starve_nutrition() // Below it we will eat before everything else
+ if(is_adult) return 300
else return 200
-/mob/living/carbon/slime/proc/will_hunt(var/hunger = -1) // Check for being stopped from feeding and chasing
+/mob/living/simple_animal/slime/proc/will_hunt(var/hunger = -1) // Check for being stopped from feeding and chasing
if (hunger == 2 || rabid || attacked) return 1
if (Leader) return 0
if (holding_still) return 0
diff --git a/code/modules/mob/living/simple_animal/slime/login.dm b/code/modules/mob/living/simple_animal/slime/login.dm
new file mode 100644
index 00000000000..8fffb30ded6
--- /dev/null
+++ b/code/modules/mob/living/simple_animal/slime/login.dm
@@ -0,0 +1,4 @@
+/mob/living/simple_animal/slime/Login()
+ ..()
+ update_hud()
+ return
diff --git a/code/modules/mob/living/carbon/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm
similarity index 90%
rename from code/modules/mob/living/carbon/slime/powers.dm
rename to code/modules/mob/living/simple_animal/slime/powers.dm
index ef91582c3ec..52728e3012e 100644
--- a/code/modules/mob/living/carbon/slime/powers.dm
+++ b/code/modules/mob/living/simple_animal/slime/powers.dm
@@ -1,4 +1,4 @@
-/mob/living/carbon/slime/verb/Feed()
+/mob/living/simple_animal/slime/verb/Feed()
set category = "Slime"
set desc = "This will let you feed on any valid creature in the surrounding area. This should also be used to halt the feeding process."
if(Victim)
@@ -11,7 +11,7 @@
var/list/choices = list()
for(var/mob/living/C in view(1,src))
- if(C!=src && !istype(C,/mob/living/carbon/slime) && Adjacent(C))
+ if(C!=src && !istype(C,/mob/living/simple_animal/slime) && Adjacent(C))
choices += C
var/mob/living/M = input(src,"Who do you wish to feed on?") in null|choices
@@ -30,7 +30,7 @@
src << "This subject does not have a strong enough life energy..."
return 0
- for(var/mob/living/carbon/slime/met in view())
+ for(var/mob/living/simple_animal/slime/met in view())
if(met.Victim == M && met != src)
src << "The [met.name] is already feeding on this subject..."
return 0
@@ -42,7 +42,7 @@
return 1
-/mob/living/carbon/slime/proc/Feedon(var/mob/living/M)
+/mob/living/simple_animal/slime/proc/Feedon(var/mob/living/M)
Victim = M
src.loc = M.loc
canmove = 0
@@ -155,18 +155,18 @@
Victim = null
-/mob/living/carbon/slime/proc/Feedstop()
+/mob/living/simple_animal/slime/proc/Feedstop()
if(Victim)
if(Victim.client) Victim << "[src] has let go of your head!"
Victim = null
-/mob/living/carbon/slime/proc/UpdateFeed(var/mob/M)
+/mob/living/simple_animal/slime/proc/UpdateFeed(var/mob/M)
if(Victim)
if(Victim == M)
loc = M.loc // simple "attach to head" effect!
-/mob/living/carbon/slime/verb/Evolve()
+/mob/living/simple_animal/slime/verb/Evolve()
set category = "Slime"
set desc = "This will let you evolve from baby to adult slime."
@@ -185,7 +185,7 @@
else
src << "I have already evolved..."
-/mob/living/carbon/slime/verb/Reproduce()
+/mob/living/simple_animal/slime/verb/Reproduce()
set category = "Slime"
set desc = "This will make you split into four Slimes."
@@ -203,7 +203,7 @@
var/new_nutrition = round(nutrition * 0.9)
var/new_powerlevel = round(powerlevel / 4)
for(var/i=1,i<=4,i++)
- var/mob/living/carbon/slime/M = new /mob/living/carbon/slime/(loc)
+ var/mob/living/simple_animal/slime/M = new /mob/living/simple_animal/slime/(loc)
if(prob(mutation_chance))
M.colour = slime_mutation[rand(1,4)]
else
@@ -215,7 +215,7 @@
babies += M
feedback_add_details("slime_babies_born","slimebirth_[replacetext(M.colour," ","_")]")
- var/mob/living/carbon/slime/new_slime = pick(babies)
+ var/mob/living/simple_animal/slime/new_slime = pick(babies)
new_slime.a_intent = "harm"
new_slime.languages = languages
if(src.mind)
diff --git a/code/modules/mob/living/carbon/slime/say.dm b/code/modules/mob/living/simple_animal/slime/say.dm
similarity index 65%
rename from code/modules/mob/living/carbon/slime/say.dm
rename to code/modules/mob/living/simple_animal/slime/say.dm
index b7049020653..d4de87b04e8 100644
--- a/code/modules/mob/living/carbon/slime/say.dm
+++ b/code/modules/mob/living/simple_animal/slime/say.dm
@@ -1,7 +1,7 @@
-/mob/living/carbon/slime/say(var/message)
+/mob/living/simple_animal/slime/say(var/message)
..()
-/mob/living/carbon/slime/say_quote(var/text)
+/mob/living/simple_animal/slime/say_quote(var/text)
var/ending = copytext(text, length(text))
if (ending == "?")
@@ -11,7 +11,7 @@
return "telepathically chirps, \"[text]\"";
-/mob/living/carbon/slime/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq)
+/mob/living/simple_animal/slime/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq)
if(speaker != src && !radio_freq)
if (speaker in Friends)
speech_buffer = list()
diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm
similarity index 82%
rename from code/modules/mob/living/carbon/slime/slime.dm
rename to code/modules/mob/living/simple_animal/slime/slime.dm
index aa3af4b45ec..45b908af267 100644
--- a/code/modules/mob/living/carbon/slime/slime.dm
+++ b/code/modules/mob/living/simple_animal/slime/slime.dm
@@ -1,4 +1,4 @@
-/mob/living/carbon/slime
+/mob/living/simple_animal/slime
name = "baby slime"
icon = 'icons/mob/slimes.dmi'
icon_state = "grey baby slime"
@@ -9,6 +9,15 @@
languages = SLIME | HUMAN
faction = list("slime")
+ harm_intent_damage = 5
+ icon_living = "grey baby slime"
+ icon_dead = "grey baby slime dead"
+ response_help = "pets"
+ response_disarm = "shoos"
+ response_harm = "stomps on"
+ emote_see = list("jiggles", "bounces in place")
+ speak_emote = list("chirps")
+
layer = 5
maxHealth = 150
@@ -54,7 +63,36 @@
var/coretype = /obj/item/slime_extract/grey
var/list/slime_mutation[4]
-/mob/living/carbon/slime/New()
+/*
+/mob/living/simple_animal/slime //repath it to slime/pet???
+ name = "pet slime"
+ desc = "A lovable, domesticated slime."
+ health = 100
+ maxHealth = 100
+ icon = 'icons/mob/slimes.dmi'
+*/
+
+/mob/living/simple_animal/slime/adult
+ health = 200
+ maxHealth = 200
+ icon_state = "grey adult slime"
+ icon_living = "grey adult slime"
+/*
+/mob/living/simple_animal/slime/adult/New()
+ ..()
+ overlays += "aslime-:33"
+
+/mob/living/simple_animal/slime/adult/death(gibbed)
+ for(var/i = 0, i<=1, i++)
+ var/mob/living/simple_animal/slime/S1 = new /mob/living/simple_animal/slime (src.loc)
+ S1.icon_state = "[colour] baby slime"
+ S1.icon_living = "[colour] baby slime"
+ S1.icon_dead = "[colour] baby slime dead"
+ S1.colour = "[colour]"
+ qdel(src)
+*/
+
+/mob/living/simple_animal/slime/New()
create_reagents(100)
spawn (0)
number = rand(1, 1000)
@@ -67,14 +105,14 @@
coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]")
..()
-/mob/living/carbon/slime/regenerate_icons()
+/mob/living/simple_animal/slime/regenerate_icons()
icon_state = "[colour] [is_adult ? "adult" : "baby"] slime"
overlays.len = 0
if (mood)
overlays += image('icons/mob/slimes.dmi', icon_state = "aslime-[mood]")
..()
-/mob/living/carbon/slime/movement_delay()
+/mob/living/simple_animal/slime/movement_delay()
if (bodytemperature >= 330.23) // 135 F
return -1 // slimes become supercharged at high temperatures
@@ -98,7 +136,7 @@
return tally + config.slime_delay
-/mob/living/carbon/slime/ObjBump(obj/O)
+/mob/living/simple_animal/slime/ObjBump(obj/O)
if(!client && powerlevel > 0)
var/probab = 10
switch(powerlevel)
@@ -117,17 +155,17 @@
spawn(45)
Atkcool = 0
-/mob/living/carbon/slime/MobBump(mob/M)
+/mob/living/simple_animal/slime/MobBump(mob/M)
if(istype(M, /mob/living/carbon/human)) //pushing humans
if(is_adult && prob(10)) //only if we're adult, and 10% of the time
return 0
else
return 1
-/mob/living/carbon/slime/Process_Spacemove(var/movement_dir = 0)
+/mob/living/simple_animal/slime/Process_Spacemove(var/movement_dir = 0)
return 2
-/mob/living/carbon/slime/Stat()
+/mob/living/simple_animal/slime/Stat()
..()
if(statpanel("Status"))
@@ -145,20 +183,20 @@
stat(null,"Power Level: [powerlevel]")
-/mob/living/carbon/slime/adjustFireLoss(amount)
+/mob/living/simple_animal/slime/adjustFireLoss(amount)
..(-abs(amount)) // Heals them
return
-/mob/living/carbon/slime/bullet_act(var/obj/item/projectile/Proj)
+/mob/living/simple_animal/slime/bullet_act(var/obj/item/projectile/Proj)
attacked += 10
..(Proj)
return 0
-/mob/living/carbon/slime/emp_act(severity)
+/mob/living/simple_animal/slime/emp_act(severity)
powerlevel = 0 // oh no, the power!
..()
-/mob/living/carbon/slime/ex_act(severity, target)
+/mob/living/simple_animal/slime/ex_act(severity, target)
..()
switch (severity)
@@ -175,23 +213,23 @@
updatehealth()
-/mob/living/carbon/slime/MouseDrop(var/atom/movable/A as mob|obj)
+/mob/living/simple_animal/slime/MouseDrop(var/atom/movable/A as mob|obj)
if(isliving(A) && A != src && usr == src)
var/mob/living/Food = A
if(Food.Adjacent(src) && !stat && Food.stat != DEAD) //messy
Feedon(Food)
..()
-/mob/living/carbon/slime/unEquip(obj/item/W as obj)
+/mob/living/simple_animal/slime/unEquip(obj/item/W as obj)
return
-/mob/living/carbon/slime/start_pulling(var/atom/movable/AM)
+/mob/living/simple_animal/slime/start_pulling(var/atom/movable/AM)
return
-/mob/living/carbon/slime/attack_ui(slot)
+/mob/living/simple_animal/slime/attack_ui(slot)
return
-/mob/living/carbon/slime/attack_slime(mob/living/carbon/slime/M as mob)
+/mob/living/simple_animal/slime/attack_slime(mob/living/simple_animal/slime/M as mob)
..()
if(src.Victim)
src.Victim = null
@@ -208,14 +246,14 @@
M.updatehealth()
return
-/mob/living/carbon/slime/attack_animal(mob/living/simple_animal/M as mob)
+/mob/living/simple_animal/slime/attack_animal(mob/living/simple_animal/M as mob)
if(..())
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
attacked += 10
adjustBruteLoss(damage)
updatehealth()
-/mob/living/carbon/slime/attack_paw(mob/living/carbon/monkey/M as mob)
+/mob/living/simple_animal/slime/attack_paw(mob/living/carbon/monkey/M as mob)
if(..()) //successful monkey bite.
if(stat != DEAD)
attacked += 10
@@ -223,7 +261,7 @@
updatehealth()
return
-/mob/living/carbon/slime/attack_larva(mob/living/carbon/alien/larva/L as mob)
+/mob/living/simple_animal/slime/attack_larva(mob/living/carbon/alien/larva/L as mob)
if(..()) //successful larva bite.
var/damage = rand(1, 3)
if(stat != DEAD)
@@ -231,7 +269,7 @@
adjustBruteLoss(damage)
updatehealth()
-/mob/living/carbon/slime/attack_hulk(mob/living/carbon/human/user)
+/mob/living/simple_animal/slime/attack_hulk(mob/living/carbon/human/user)
if(user.a_intent == "harm")
adjustBruteLoss(5)
if(Victim || Target)
@@ -246,7 +284,7 @@
step_away(src,user,15)
-/mob/living/carbon/slime/attack_hand(mob/living/carbon/human/M as mob)
+/mob/living/simple_animal/slime/attack_hand(mob/living/carbon/human/M as mob)
if(Victim)
if(Victim == M)
if(prob(60))
@@ -270,8 +308,6 @@
anchored = 0
step_away(src,M)
- return
-
else
M.do_attack_animation(src)
if(prob(30))
@@ -299,37 +335,13 @@
anchored = 0
step_away(src,M)
- return
-
- if(..()) //To allow surgery to return properly.
return
- switch(M.a_intent)
- if("help")
- help_shake_act(M)
- if("grab")
- grabbedby(M)
- else
- M.do_attack_animation(src)
- var/damage = rand(1, 9)
- attacked += 10
- if (prob(90))
- playsound(loc, "punch", 25, 1, -1)
- add_logs(M, src, "attacked", admin=0)
- visible_message("[M] has punched [src]!", \
- "[M] has punched [src]!")
- if (stat != DEAD)
- adjustBruteLoss(damage)
- updatehealth()
- else
- playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
- visible_message("[M] has attempted to punch [src]!")
- return
+ if(..()) //successful attack
+ attacked += 10
-
-
-/mob/living/carbon/slime/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
+/mob/living/simple_animal/slime/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
if(..()) //if harm or disarm intent.
if (M.a_intent == "harm")
@@ -369,7 +381,7 @@
anchored = 0
if(prob(80) && !client)
Discipline++
- if(!istype(src, /mob/living/carbon/slime))
+ if(!istype(src, /mob/living/simple_animal/slime))
if(Discipline == 1)
attacked = 0
@@ -393,7 +405,7 @@
updatehealth()
return
-/mob/living/carbon/slime/attackby(obj/item/W, mob/living/user, params)
+/mob/living/simple_animal/slime/attackby(obj/item/W, mob/living/user, params)
if(istype(W,/obj/item/stack/sheet/mineral/plasma)) //Let's you feed slimes plasma.
if (user in Friends)
++Friends[user]
@@ -464,16 +476,13 @@
canmove = 1
..()
-/mob/living/carbon/slime/restrained()
+/mob/living/simple_animal/slime/restrained()
return 0
-/mob/living/carbon/slime/show_inv(mob/user)
+/mob/living/simple_animal/slime/show_inv(mob/user)
return
-/mob/living/carbon/slime/toggle_throw_mode()
- return
-
-/mob/living/carbon/slime/proc/apply_water()
+/mob/living/simple_animal/slime/proc/apply_water()
adjustToxLoss(rand(15,20))
if (!client)
if (Target) // Like cats
@@ -495,18 +504,18 @@
var/Uses = 1 // uses before it goes inert
var/enhanced = 0 //has it been enhanced before?
- attackby(obj/item/O as obj, mob/user as mob)
- if(istype(O, /obj/item/weapon/slimesteroid2))
- if(enhanced == 1)
- user << " This extract has already been enhanced!"
- return ..()
- if(Uses == 0)
- user << " You can't enhance a used extract!"
- return ..()
- user <<"You apply the enhancer. It now has triple the amount of uses."
- Uses = 3
- enhanced = 1
- qdel(O)
+/obj/item/slime_extract/attackby(obj/item/O as obj, mob/user as mob)
+ if(istype(O, /obj/item/weapon/slimesteroid2))
+ if(enhanced == 1)
+ user << " This extract has already been enhanced!"
+ return ..()
+ if(Uses == 0)
+ user << " You can't enhance a used extract!"
+ return ..()
+ user <<"You apply the enhancer. It now has triple the amount of uses."
+ Uses = 3
+ enhanced = 1
+ qdel(O)
/obj/item/slime_extract/New()
..()
@@ -608,8 +617,8 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle19"
- attack(mob/living/carbon/slime/M as mob, mob/user as mob)
- if(!istype(M, /mob/living/carbon/slime))//If target is not a slime.
+ attack(mob/living/simple_animal/slime/M as mob, mob/user as mob)
+ if(!istype(M, /mob/living/simple_animal/slime))//If target is not a slime.
user << " The potion only works on baby slimes!"
return ..()
if(M.is_adult) //Can't tame adults
@@ -642,8 +651,8 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle19"
-/obj/item/weapon/slimepotion2/attack(mob/living/carbon/slime/M as mob, mob/user as mob)
- if(!istype(M, /mob/living/carbon/slime/))//If target is not a slime.
+/obj/item/weapon/slimepotion2/attack(mob/living/simple_animal/slime/M as mob, mob/user as mob)
+ if(!istype(M, /mob/living/simple_animal/slime/))//If target is not a slime.
user << " The potion only works on slimes!"
return ..()
if(M.stat)
@@ -674,8 +683,8 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle16"
- attack(mob/living/carbon/slime/M as mob, mob/user as mob)
- if(!istype(M, /mob/living/carbon/slime))//If target is not a slime.
+ attack(mob/living/simple_animal/slime/M as mob, mob/user as mob)
+ if(!istype(M, /mob/living/simple_animal/slime))//If target is not a slime.
user << " The steroid only works on baby slimes!"
return ..()
if(M.is_adult) //Can't tame adults
@@ -819,22 +828,54 @@
G << "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. Serve [user], and assist them in completing their goals at any cost."
qdel(src)
-/mob/living/carbon/slime/getTrail()
+/mob/living/simple_animal/slime/getTrail()
return null
-/mob/living/carbon/slime/slip(var/s_amount, var/w_amount, var/obj/O, var/lube)
+/mob/living/simple_animal/slime/slip(var/s_amount, var/w_amount, var/obj/O, var/lube)
if(lube>=2)
return 0
.=..()
-/mob/living/carbon/slime/stripPanelUnequip(obj/item/what, mob/who)
+/mob/living/simple_animal/slime/stripPanelUnequip(obj/item/what, mob/who)
src << "You don't have the dexterity to do this!"
return
-/mob/living/carbon/slime/stripPanelEquip(obj/item/what, mob/who)
+/mob/living/simple_animal/slime/stripPanelEquip(obj/item/what, mob/who)
src << "You don't have the dexterity to do this!"
return
+/mob/living/simple_animal/slime/examine(mob/user)
+
+ var/msg = "*---------*\nThis is \icon[src] \a [src]!\n"
+ if (src.stat == DEAD)
+ msg += "It is limp and unresponsive.\n"
+ else
+ if (src.getBruteLoss())
+ msg += ""
+ if (src.getBruteLoss() < 40)
+ msg += "It has some punctures in its flesh!"
+ else
+ msg += "It has severe punctures and tears in its flesh!"
+ msg += "\n"
+
+ switch(powerlevel)
+
+ if(2 to 3)
+ msg += "It is flickering gently with a little electrical activity.\n"
+
+ if(4 to 5)
+ msg += "It is glowing gently with moderate levels of electrical activity.\n"
+
+ if(6 to 9)
+ msg += "It is glowing brightly with high levels of electrical activity.\n"
+
+ if(10)
+ msg += "It is radiating with massive levels of electrical activity!\n"
+
+ msg += "*---------*"
+ user << msg
+ return
+
//////////////////////////////Old shit from metroids/RoRos, and the old cores, would not take much work to re-add them////////////////////////
@@ -904,7 +945,7 @@
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)
+ new/mob/living/simple_animal/slime(T)
qdel(src)
@@ -919,4 +960,4 @@
return
else
..()
-*/
+*/
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/slime/subtypes.dm b/code/modules/mob/living/simple_animal/slime/subtypes.dm
similarity index 95%
rename from code/modules/mob/living/carbon/slime/subtypes.dm
rename to code/modules/mob/living/simple_animal/slime/subtypes.dm
index 35d38e31a48..55a6eee734d 100644
--- a/code/modules/mob/living/carbon/slime/subtypes.dm
+++ b/code/modules/mob/living/simple_animal/slime/subtypes.dm
@@ -1,4 +1,4 @@
-proc/mutation_table(var/colour)
+/mob/living/simple_animal/slime/proc/mutation_table(var/colour)
var/list/slime_mutation[4]
switch(colour)
//Tier 1
diff --git a/code/modules/mob/living/simple_animal/slime/update_icons.dm b/code/modules/mob/living/simple_animal/slime/update_icons.dm
new file mode 100644
index 00000000000..14525b1e8a0
--- /dev/null
+++ b/code/modules/mob/living/simple_animal/slime/update_icons.dm
@@ -0,0 +1,4 @@
+//no special icon processing
+
+/mob/living/simple_animal/slime/update_transform() //They're slimes, they don't lie down.
+ return
\ No newline at end of file
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 6db29529209..370c070d1df 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -31,7 +31,7 @@
return 0
/proc/isslime(A)
- if(istype(A, /mob/living/carbon/slime))
+ if(istype(A, /mob/living/simple_animal/slime))
return 1
return 0
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index 00cbe4f88c1..e0c25efac08 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -373,18 +373,18 @@
for(var/t in organs)
qdel(t)
- var/mob/living/carbon/slime/new_slime
+ var/mob/living/simple_animal/slime/new_slime
if(reproduce)
var/number = pick(14;2,3,4) //reproduce (has a small chance of producing 3 or 4 offspring)
var/list/babies = list()
for(var/i=1,i<=number,i++)
- var/mob/living/carbon/slime/M = new/mob/living/carbon/slime(loc)
+ var/mob/living/simple_animal/slime/M = new/mob/living/simple_animal/slime(loc)
M.nutrition = round(nutrition/number)
step_away(M,src)
babies += M
new_slime = pick(babies)
else
- new_slime = new /mob/living/carbon/slime(loc)
+ new_slime = new /mob/living/simple_animal/slime(loc)
new_slime.a_intent = "harm"
new_slime.key = key
diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm
index 845f914ac15..0586ab881db 100644
--- a/code/modules/projectiles/projectile/magic.dm
+++ b/code/modules/projectiles/projectile/magic.dm
@@ -164,9 +164,9 @@ proc/wabbajack(mob/living/M)
else
new_mob.languages |= HUMAN
if("slime")
- new_mob = new /mob/living/carbon/slime(M.loc)
+ new_mob = new /mob/living/simple_animal/slime(M.loc)
if(prob(50))
- var/mob/living/carbon/slime/Slime = new_mob
+ var/mob/living/simple_animal/slime/Slime = new_mob
Slime.is_adult = 1
new_mob.languages |= HUMAN
if("xeno")
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
index 79a43aa5d05..5442dee8963 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
@@ -251,7 +251,7 @@ datum/reagent/water/reaction_turf(var/turf/simulated/T, var/volume)
if(volume >= 10)
T.MakeSlippery()
- for(var/mob/living/carbon/slime/M in T)
+ for(var/mob/living/simple_animal/slime/M in T)
M.apply_water()
var/hotspot = (locate(/obj/effect/hotspot) in T)
@@ -685,7 +685,7 @@ datum/reagent/space_cleaner/reaction_turf(var/turf/T, var/volume)
for(var/obj/effect/decal/cleanable/C in T)
qdel(C)
- for(var/mob/living/carbon/slime/M in T)
+ for(var/mob/living/simple_animal/slime/M in T)
M.adjustToxLoss(rand(5,10))
if(istype(T, /turf/simulated/floor))
var/turf/simulated/floor/F = T
diff --git a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
index 994ef10178d..0fdbe462320 100644
--- a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
@@ -102,15 +102,15 @@ datum/reagent/consumable/capsaicin/on_mob_life(var/mob/living/M as mob)
M.bodytemperature += 5 * TEMPERATURE_DAMAGE_COEFFICIENT
if(holder.has_reagent("frostoil"))
holder.remove_reagent("frostoil", 5)
- if(istype(M, /mob/living/carbon/slime))
+ if(istype(M, /mob/living/simple_animal/slime))
M.bodytemperature += rand(5,20)
if(15 to 25)
M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT
- if(istype(M, /mob/living/carbon/slime))
+ if(istype(M, /mob/living/simple_animal/slime))
M.bodytemperature += rand(10,20)
if(25 to INFINITY)
M.bodytemperature += 15 * TEMPERATURE_DAMAGE_COEFFICIENT
- if(istype(M, /mob/living/carbon/slime))
+ if(istype(M, /mob/living/simple_animal/slime))
M.bodytemperature += rand(15,20)
data++
..()
@@ -203,17 +203,17 @@ datum/reagent/consumable/frostoil/on_mob_life(var/mob/living/M as mob)
M.bodytemperature -= 10 * TEMPERATURE_DAMAGE_COEFFICIENT
if(holder.has_reagent("capsaicin"))
holder.remove_reagent("capsaicin", 5)
- if(istype(M, /mob/living/carbon/slime))
+ if(istype(M, /mob/living/simple_animal/slime))
M.bodytemperature -= rand(5,20)
if(15 to 25)
M.bodytemperature -= 15 * TEMPERATURE_DAMAGE_COEFFICIENT
- if(istype(M, /mob/living/carbon/slime))
+ if(istype(M, /mob/living/simple_animal/slime))
M.bodytemperature -= rand(10,20)
if(25 to INFINITY)
M.bodytemperature -= 20 * TEMPERATURE_DAMAGE_COEFFICIENT
if(prob(1))
M.emote("shiver")
- if(istype(M, /mob/living/carbon/slime))
+ if(istype(M, /mob/living/simple_animal/slime))
M.bodytemperature -= rand(15,20)
data++
..()
@@ -221,7 +221,7 @@ datum/reagent/consumable/frostoil/on_mob_life(var/mob/living/M as mob)
datum/reagent/consumable/frostoil/reaction_turf(var/turf/simulated/T, var/volume)
if(volume >= 5)
- for(var/mob/living/carbon/slime/M in T)
+ for(var/mob/living/simple_animal/slime/M in T)
M.adjustToxLoss(rand(15,30))
//if(istype(T))
// T.atmos_spawn_air(SPAWN_COLD)
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 2e52dc0ba70..b6028a7bedd 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -530,7 +530,7 @@ datum/chemical_reaction/pestkiller
feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("Infused with plasma, the core begins to quiver and grow, and soon a new baby slime emerges from it!"), 1)
- var/mob/living/carbon/slime/S = new /mob/living/carbon/slime
+ var/mob/living/simple_animal/slime/S = new /mob/living/simple_animal/slime
S.loc = get_turf(holder.my_atom)
/datum/chemical_reaction/slimeinaprov
@@ -854,7 +854,7 @@ datum/chemical_reaction/pestkiller
required_other = 1
/datum/chemical_reaction/slimebloodlust/on_reaction(var/datum/reagents/holder)
feedback_add_details("slime_cores_used","[replacetext(name," ","_")]")
- for(var/mob/living/carbon/slime/slime in viewers(get_turf(holder.my_atom), null))
+ for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(holder.my_atom), null))
slime.rabid = 1
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("The [slime] is driven into a frenzy!"), 1)
diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm
index 0064b7d1541..2f8dff6988f 100644
--- a/code/modules/surgery/core_removal.dm
+++ b/code/modules/surgery/core_removal.dm
@@ -1,7 +1,7 @@
/datum/surgery/core_removal
name = "core removal"
steps = list(/datum/surgery_step/incise, /datum/surgery_step/incise, /datum/surgery_step/extract_core)
- species = list(/mob/living/carbon/slime)
+ species = list(/mob/living/simple_animal/slime)
target_must_be_dead = 1
@@ -14,7 +14,7 @@
user.visible_message("[user] begins to extract a core from [target].")
/datum/surgery_step/extract_core/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- var/mob/living/carbon/slime/slime = target
+ var/mob/living/simple_animal/slime/slime = target
if(slime.cores > 0)
slime.cores--
user.visible_message("[user] successfully extracts a core from [target]!")
diff --git a/tgstation.dme b/tgstation.dme
index a923cd4885f..7ea25b17c4a 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1127,16 +1127,6 @@
#include "code\modules\mob\living\carbon\monkey\monkey.dm"
#include "code\modules\mob\living\carbon\monkey\say.dm"
#include "code\modules\mob\living\carbon\monkey\update_icons.dm"
-#include "code\modules\mob\living\carbon\slime\death.dm"
-#include "code\modules\mob\living\carbon\slime\emote.dm"
-#include "code\modules\mob\living\carbon\slime\examine.dm"
-#include "code\modules\mob\living\carbon\slime\life.dm"
-#include "code\modules\mob\living\carbon\slime\login.dm"
-#include "code\modules\mob\living\carbon\slime\powers.dm"
-#include "code\modules\mob\living\carbon\slime\say.dm"
-#include "code\modules\mob\living\carbon\slime\slime.dm"
-#include "code\modules\mob\living\carbon\slime\subtypes.dm"
-#include "code\modules\mob\living\carbon\slime\update_icons.dm"
#include "code\modules\mob\living\silicon\death.dm"
#include "code\modules\mob\living\silicon\laws.dm"
#include "code\modules\mob\living\silicon\login.dm"
@@ -1188,7 +1178,6 @@
#include "code\modules\mob\living\simple_animal\friendly\lizard.dm"
#include "code\modules\mob\living\simple_animal\friendly\mouse.dm"
#include "code\modules\mob\living\simple_animal\friendly\pug.dm"
-#include "code\modules\mob\living\simple_animal\friendly\slime.dm"
#include "code\modules\mob\living\simple_animal\friendly\drone\_drone.dm"
#include "code\modules\mob\living\simple_animal\friendly\drone\drones_as_items.dm"
#include "code\modules\mob\living\simple_animal\friendly\drone\extra_drone_types.dm"
@@ -1219,6 +1208,15 @@
#include "code\modules\mob\living\simple_animal\hostile\retaliate\bat.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm"
+#include "code\modules\mob\living\simple_animal\slime\death.dm"
+#include "code\modules\mob\living\simple_animal\slime\emote.dm"
+#include "code\modules\mob\living\simple_animal\slime\life.dm"
+#include "code\modules\mob\living\simple_animal\slime\login.dm"
+#include "code\modules\mob\living\simple_animal\slime\powers.dm"
+#include "code\modules\mob\living\simple_animal\slime\say.dm"
+#include "code\modules\mob\living\simple_animal\slime\slime.dm"
+#include "code\modules\mob\living\simple_animal\slime\subtypes.dm"
+#include "code\modules\mob\living\simple_animal\slime\update_icons.dm"
#include "code\modules\mob\new_player\login.dm"
#include "code\modules\mob\new_player\logout.dm"
#include "code\modules\mob\new_player\new_player.dm"