From 456a64f8fdfba3513c4b071e90feec6727741fda Mon Sep 17 00:00:00 2001 From: phil235 Date: Sat, 14 Mar 2015 23:40:57 +0100 Subject: [PATCH] slime from carbon to simple animal --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 4 +- code/__HELPERS/unsorted.dm | 2 +- code/_onclick/other_mobs.dm | 4 +- code/datums/diseases/transformation.dm | 2 +- code/datums/mind.dm | 2 +- code/game/machinery/computer/shuttle.dm | 2 +- code/game/machinery/doors/windowdoor.dm | 2 +- code/game/machinery/telecomms/logbrowser.dm | 2 +- .../mecha/equipment/tools/medical_tools.dm | 2 +- code/game/mecha/mecha.dm | 2 +- code/game/objects/buckling.dm | 2 +- code/game/objects/items.dm | 2 +- code/game/objects/items/devices/scanners.dm | 2 +- .../items/weapons/implants/implantchair.dm | 2 +- code/game/objects/structures/grille.dm | 2 +- code/game/objects/structures/window.dm | 2 +- code/game/verbs/suicide.dm | 19 -- code/modules/admin/topic.dm | 2 +- code/modules/awaymissions/corpse.dm | 4 +- code/modules/events/anomaly_pyro.dm | 2 +- .../kitchen machinery/processor.dm | 4 +- .../living/carbon/alien/humanoid/humanoid.dm | 2 +- .../mob/living/carbon/alien/larva/larva.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 28 --- .../mob/living/carbon/carbon_defense.dm | 2 +- code/modules/mob/living/carbon/death.dm | 1 - .../mob/living/carbon/human/human_defense.dm | 2 +- .../mob/living/carbon/human/species_types.dm | 2 +- .../mob/living/carbon/monkey/monkey.dm | 2 +- .../mob/living/carbon/slime/examine.dm | 31 --- code/modules/mob/living/carbon/slime/login.dm | 4 - .../mob/living/carbon/slime/update_icons.dm | 4 - code/modules/mob/living/death.dm | 1 + code/modules/mob/living/living.dm | 29 ++- code/modules/mob/living/living_defense.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 2 +- .../living/simple_animal/friendly/slime.dm | 35 --- .../mob/living/simple_animal/simple_animal.dm | 8 +- .../{carbon => simple_animal}/slime/death.dm | 6 +- .../{carbon => simple_animal}/slime/emote.dm | 2 +- .../{carbon => simple_animal}/slime/life.dm | 44 ++-- .../mob/living/simple_animal/slime/login.dm | 4 + .../{carbon => simple_animal}/slime/powers.dm | 20 +- .../{carbon => simple_animal}/slime/say.dm | 6 +- .../{carbon => simple_animal}/slime/slime.dm | 207 +++++++++++------- .../slime/subtypes.dm | 2 +- .../simple_animal/slime/update_icons.dm | 4 + code/modules/mob/mob_helpers.dm | 2 +- code/modules/mob/transform_procs.dm | 6 +- code/modules/projectiles/projectile/magic.dm | 4 +- .../Chemistry-Reagents/Chemistry-Reagents.dm | 4 +- .../Consumable-Reagents/Food-Reagents.dm | 14 +- code/modules/reagents/Chemistry-Recipes.dm | 4 +- code/modules/surgery/core_removal.dm | 4 +- tgstation.dme | 20 +- 56 files changed, 265 insertions(+), 314 deletions(-) delete mode 100644 code/modules/mob/living/carbon/slime/examine.dm delete mode 100644 code/modules/mob/living/carbon/slime/login.dm delete mode 100644 code/modules/mob/living/carbon/slime/update_icons.dm delete mode 100644 code/modules/mob/living/simple_animal/friendly/slime.dm rename code/modules/mob/living/{carbon => simple_animal}/slime/death.dm (75%) rename code/modules/mob/living/{carbon => simple_animal}/slime/emote.dm (97%) rename code/modules/mob/living/{carbon => simple_animal}/slime/life.dm (90%) create mode 100644 code/modules/mob/living/simple_animal/slime/login.dm rename code/modules/mob/living/{carbon => simple_animal}/slime/powers.dm (90%) rename code/modules/mob/living/{carbon => simple_animal}/slime/say.dm (65%) rename code/modules/mob/living/{carbon => simple_animal}/slime/slime.dm (82%) rename code/modules/mob/living/{carbon => simple_animal}/slime/subtypes.dm (95%) create mode 100644 code/modules/mob/living/simple_animal/slime/update_icons.dm 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"