Makes Xenobiology Simpler. Removes Slimes (#12398)

This commit is contained in:
Fox McCloud
2019-09-24 19:17:33 -04:00
committed by variableundefined
parent 69e3a08a06
commit cb8529cdb8
81 changed files with 1774 additions and 1903 deletions
+1 -1
View File
@@ -471,7 +471,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d
to_chat(user, "<span class='danger'>You're going to need to remove that mask/helmet/glasses first!</span>")
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!
to_chat(user, "<span class='warning'>You cannot locate any eyes on this creature!</span>")
return
+30 -23
View File
@@ -547,39 +547,46 @@ proc/healthscan(mob/user, mob/living/M, mode = 1, upgraded = FALSE)
throw_range = 7
materials = list(MAT_METAL=30, MAT_GLASS=20)
/obj/item/slime_scanner/attack(mob/living/M as mob, mob/living/user as mob)
slime_scan(M, user)
/proc/slime_scan(mob/living/carbon/slime/M, mob/living/user)
if(!isslime(M))
user.show_message("<span class='warning'>This device can only scan slimes!</span>", 1)
/obj/item/slime_scanner/attack(mob/living/M, mob/living/user)
if(user.incapacitated() || user.eye_blind)
return
var/mob/living/carbon/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)
if(!isslime(M))
to_chat(user, "<span class='warning'>This device can only scan slimes!</span>")
return
var/mob/living/simple_animal/slime/T = M
slime_scan(T, user)
/proc/slime_scan(mob/living/simple_animal/slime/T, mob/living/user)
to_chat(user, "========================")
to_chat(user, "<b>Slime scan results:</b>")
to_chat(user, "<span class='notice'>[T.colour] [T.is_adult ? "adult" : "baby"] slime</span>")
to_chat(user, "Nutrition: [T.nutrition]/[T.get_max_nutrition()]")
if(T.nutrition < T.get_starve_nutrition())
user.show_message("<span class='warning'>Warning: slime is starving!</span>", 1)
to_chat(user, "<span class='warning'>Warning: slime is starving!</span>")
else if(T.nutrition < T.get_hunger_nutrition())
user.show_message("<span class='warning'>Warning: slime is hungry</span>", 1)
user.show_message("Electric change strength: [T.powerlevel]", 1)
user.show_message("Health: [T.health]", 1)
to_chat(user, "<span class='warning'>Warning: slime is hungry</span>")
to_chat(user, "Electric change strength: [T.powerlevel]")
to_chat(user, "Health: [round(T.health/T.maxHealth,0.01)*100]%")
if(T.slime_mutation[4] == T.colour)
user.show_message("This slime does not evolve any further.", 1)
to_chat(user, "This slime does not 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("Possible mutation: [T.slime_mutation[3]]", 1)
user.show_message("Genetic destability: [T.mutation_chance/2]% chance of mutation on splitting", 1)
to_chat(user, "Possible mutation: [T.slime_mutation[3]]")
to_chat(user, "Genetic destability: [T.mutation_chance/2] % chance of mutation on splitting")
else
user.show_message("Possible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]] (x2)", 1)
user.show_message("Genetic destability: [T.mutation_chance]% chance of mutation on splitting", 1)
to_chat(user, "Possible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]] (x2)")
to_chat(user, "Genetic destability: [T.mutation_chance] % chance of mutation on splitting")
else
user.show_message("Possible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]], [T.slime_mutation[4]]", 1)
user.show_message("Genetic destability: [T.mutation_chance]% chance of mutation on splitting", 1)
to_chat(user, "Possible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]], [T.slime_mutation[4]]")
to_chat(user, "Genetic destability: [T.mutation_chance] % chance of mutation on splitting")
if(T.cores > 1)
user.show_message("Anomalous slime core amount detected", 1)
user.show_message("Growth progress: [T.amount_grown]/10", 1)
to_chat(user, "Multiple cores detected")
to_chat(user, "Growth progress: [T.amount_grown]/[SLIME_EVOLUTION_THRESHOLD]")
if(T.effectmod)
to_chat(user, "<span class='notice'>Core mutation in progress: [T.effectmod]</span>")
to_chat(user, "<span class='notice'>Progress in core mutation: [T.applied] / [SLIME_EXTRACT_CROSSING_REQUIRED]</span>")
to_chat(user, "========================")
/obj/item/bodyanalyzer
name = "handheld body analyzer"
@@ -79,7 +79,7 @@
return
var/mob/M = G.affecting
if(M.has_buckled_mobs())
to_chat(usr, "[M] will not fit into [src] because [M.p_they()] [M.p_have()] a slime latched onto [M.p_their()] head.")
to_chat(user, "[M] will not fit into [src] because [M.p_they()] [M.p_have()] a slime latched onto [M.p_their()] head.")
return
if(put_mob(M))
qdel(G)
@@ -85,6 +85,9 @@
if(user && user.buckled)
user.buckled.unbuckle_mob(user, force = TRUE)
if(user && user.has_buckled_mobs())
user.unbuckle_all_mobs(force = TRUE)
var/list/tempL = L
var/attempt = null
var/success = 0
+2 -2
View File
@@ -126,10 +126,10 @@
if(. && !play_soundeffect)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
/obj/attack_slime(mob/living/carbon/slime/user)
/obj/attack_slime(mob/living/simple_animal/slime/user)
if(!user.is_adult)
return
attack_generic(user, rand(10, 15), "melee", 1)
attack_generic(user, rand(10, 15), BRUTE, "melee", 1)
/obj/mech_melee_attack(obj/mecha/M)
M.do_attack_animation(src)
@@ -105,7 +105,7 @@
continue
if(istype(M, /mob/living/simple_animal/bot/mulebot))
continue
if(M.buckled || M.anchored)
if(M.buckled || M.anchored || M.has_buckled_mobs())
continue
M.forceMove(src)
+1 -1
View File
@@ -90,7 +90,7 @@
attack_generic(M, M.melee_damage_upper)
/obj/structure/inflatable/attack_slime(mob/user as mob)
var/mob/living/carbon/slime/S = user
var/mob/living/simple_animal/slime/S = user
if(!S.is_adult)
return
attack_generic(user, rand(10, 15))
+3 -3
View File
@@ -108,7 +108,7 @@
/obj/structure/mirror/attack_slime(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
var/mob/living/carbon/slime/S = user
var/mob/living/simple_animal/slime/S = user
if(!S.is_adult)
return
user.do_attack_animation(src)
@@ -153,7 +153,7 @@
H.dna.real_name = newname
if(H.mind)
H.mind.name = newname
if(newname)
curse(user)
@@ -197,7 +197,7 @@
if(voice_choice)
curse(user)
/obj/structure/mirror/magic/on_ui_close(mob/user)
curse(user)