Xenobio Requested Things (and more) (#8108)

Slimes are now content after growing into adults or reproducing, meaning they won't attack humanoids for a while afterwards.
The slime scanner has been tweaked to be a bit nicer.
Slightly reduced the damage slimes do.
Clicking a delivery chute with a held animal, such as a monkey, will now automatically deposit them into it.
This commit is contained in:
Geeves
2020-02-11 20:56:38 +01:00
committed by GitHub
parent fe5b4184c1
commit 2737497d9f
18 changed files with 111 additions and 63 deletions
+29 -24
View File
@@ -464,36 +464,41 @@ BREATH ANALYZER
throw_range = 7
matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20)
/obj/item/device/slime_scanner/attack(mob/living/M as mob, mob/living/user as mob)
if (!isslime(M))
to_chat(user, "<B>This device can only scan slimes!</B>")
/obj/item/device/slime_scanner/attack(mob/living/M, mob/living/user)
if(!isslime(M))
to_chat(user, span("warning", "This device can only scan slimes!"))
return
var/mob/living/carbon/slime/T = M
user.show_message("Slime scan results:")
user.show_message(text("[T.colour] [] slime", T.is_adult ? "adult" : "baby"))
user.show_message(text("Nutrition: [T.nutrition]/[]", T.get_max_nutrition()))
if (T.nutrition < T.get_starve_nutrition())
user.show_message("<span class='alert'>Warning: slime is starving!</span>")
to_chat(user, span("notice", "**************************"))
to_chat(user, span("notice", "Slime scan results:"))
to_chat(user, span("notice", capitalize_first_letters("[T.colour] [T.is_adult ? "adult" : "baby"] slime")))
to_chat(user, span("notice", "Health: [T.health]"))
to_chat(user, span("notice", "Nutrition: [T.nutrition]/[T.get_max_nutrition()]"))
if(T.nutrition < T.get_starve_nutrition())
to_chat(user, span("alert", "Warning: slime is starving!"))
else if (T.nutrition < T.get_hunger_nutrition())
user.show_message("<span class='warning'>Warning: slime is hungry</span>")
user.show_message("Electric change strength: [T.powerlevel]")
user.show_message("Health: [T.health]")
if (T.slime_mutation[4] == T.colour)
user.show_message("This slime does not evolve any further")
to_chat(user, span("warning", "Warning: slime is hungry!"))
to_chat(user, span("notice", "Electric charge strength: [T.powerlevel]"))
to_chat(user, span("notice", "Growth progress: [T.amount_grown]/10"))
if(T.cores > 1)
to_chat(user, span("warning", "Anomalous number of slime cores detected."))
else if(!T.cores)
to_chat(user, span("warning", "No slime cores detected."))
to_chat(user, span("notice", "Genetic Information:"))
if(T.slime_mutation[4] == T.colour)
to_chat(user, span("warning", "This slime cannot evolve any further."))
else
if (T.slime_mutation[3] == T.slime_mutation[4])
if (T.slime_mutation[2] == T.slime_mutation[1])
user.show_message(text("Possible mutation: []", T.slime_mutation[3]))
user.show_message("Genetic destability: [T.mutation_chance/2]% chance of mutation on splitting")
if(T.slime_mutation[3] == T.slime_mutation[4])
if(T.slime_mutation[2] == T.slime_mutation[1])
to_chat(user, span("notice", "Possible mutation: [T.slime_mutation[3]]"))
to_chat(user, span("notice", "Instability: [T.mutation_chance/2]% chance of mutation upon reproduction."))
else
user.show_message(text("Possible mutations: [], [], [] (x2)", T.slime_mutation[1], T.slime_mutation[2], T.slime_mutation[3]))
user.show_message("Genetic destability: [T.mutation_chance]% chance of mutation on splitting")
to_chat(user, span("notice", "Possible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]] (x2)"))
to_chat(user, span("notice", "Instability: [T.mutation_chance]% chance of mutation upon reproduction."))
else
user.show_message(text("Possible mutations: [], [], [], []", T.slime_mutation[1], T.slime_mutation[2], T.slime_mutation[3], T.slime_mutation[4]))
user.show_message("Genetic destability: [T.mutation_chance]% chance of mutation on splitting")
if (T.cores > 1)
user.show_message("Anomalious slime core amount detected")
user.show_message("Growth progress: [T.amount_grown]/10")
to_chat(user, span("notice", "Possible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]], [T.slime_mutation[4]]"))
to_chat(user, span("notice", "Instability: [T.mutation_chance]% chance of mutation upon reproduction."))
to_chat(user, span("notice", "**************************"))
/obj/item/device/price_scanner