mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-22 19:46:36 +01:00
Merge pull request #4365 from Neerti/11/27/2017_wild_slimes
Adds a Wild Slime type for future surface-things.
This commit is contained in:
@@ -4,7 +4,10 @@
|
||||
return
|
||||
|
||||
if(!gibbed && is_adult)
|
||||
var/mob/living/simple_animal/slime/S = make_new_slime()
|
||||
var/death_type = type_on_death
|
||||
if(!death_type)
|
||||
death_type = src.type
|
||||
var/mob/living/simple_animal/slime/S = make_new_slime(death_type)
|
||||
S.rabid = TRUE
|
||||
step_away(S, src)
|
||||
is_adult = FALSE
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/mob/living/simple_animal/slime
|
||||
name = "baby slime"
|
||||
name = "slime"
|
||||
desc = "The most basic of slimes. The grey slime has no remarkable qualities, however it remains one of the most useful colors for scientists."
|
||||
icon = 'icons/mob/slime2.dmi'
|
||||
icon_state = "grey baby slime"
|
||||
@@ -84,6 +84,7 @@
|
||||
/mob/living/simple_animal/slime/blue,
|
||||
/mob/living/simple_animal/slime/purple
|
||||
)
|
||||
var/type_on_death = null // Set this if you want dying slimes to split into a specific type and not their type.
|
||||
|
||||
var/reagent_injected = null // Some slimes inject reagents on attack. This tells the game what reagent to use.
|
||||
var/injection_amount = 5 // This determines how much.
|
||||
@@ -123,7 +124,7 @@
|
||||
/mob/living/simple_animal/slime/proc/update_name()
|
||||
if(docile) // Docile slimes are generally named, so we shouldn't mess with it.
|
||||
return
|
||||
name = "[slime_color] [is_adult ? "adult" : "baby"] slime ([number])"
|
||||
name = "[slime_color] [is_adult ? "adult" : "baby"] [initial(name)] ([number])"
|
||||
real_name = name
|
||||
|
||||
/mob/living/simple_animal/slime/update_icon()
|
||||
@@ -338,8 +339,10 @@
|
||||
to_chat(src, "<span class='notice'>I am not old enough to reproduce yet...</span>")
|
||||
|
||||
// Used for reproducing and dying.
|
||||
/mob/living/simple_animal/slime/proc/make_new_slime()
|
||||
/mob/living/simple_animal/slime/proc/make_new_slime(var/desired_type)
|
||||
var/t = src.type
|
||||
if(desired_type)
|
||||
t = desired_type
|
||||
if(prob(mutation_chance / 10))
|
||||
t = /mob/living/simple_animal/slime/rainbow
|
||||
|
||||
|
||||
@@ -209,6 +209,26 @@
|
||||
/mob/living/simple_animal/slime/dark_blue/get_cold_protection()
|
||||
return 1 // This slime is immune to cold.
|
||||
|
||||
// Surfave variant
|
||||
/mob/living/simple_animal/slime/dark_blue/wild
|
||||
name = "wild slime"
|
||||
desc = "The result of slimes escaping containment from some xenobiology lab. The slime makes other entities near it feel much colder, \
|
||||
and it is more resilient to the cold. These qualities have made this color of slime able to thrive on a harsh, cold world and is able to rival \
|
||||
the ferocity of other apex predators in this region of Sif. As such, it is a very invasive species."
|
||||
description_info = "This slime makes other entities near it feel much colder, and is more resilient to the cold. It also has learned advanced combat tactics from \
|
||||
having to endure the harsh world outside its lab. Note that processing this large slime will give six cores."
|
||||
icon_scale = 2
|
||||
optimal_combat = TRUE // Gotta be sharp to survive out there.
|
||||
rabid = TRUE
|
||||
cores = 6
|
||||
maxHealth = 150 // Base health
|
||||
maxHealth_adult = 250
|
||||
type_on_death = /mob/living/simple_animal/slime/dark_blue // Otherwise infinite slimes might occur.
|
||||
pixel_y = -10 // Since the base sprite isn't centered properly, the pixel auto-adjustment needs some help.
|
||||
|
||||
/mob/living/simple_animal/slime/dark_blue/wild/New()
|
||||
..()
|
||||
make_adult()
|
||||
|
||||
/mob/living/simple_animal/slime/silver
|
||||
desc = "This slime is shiny, and can deflect lasers or other energy weapons directed at it."
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
dead_mob_list += src
|
||||
else
|
||||
living_mob_list += src
|
||||
update_transform() // Some mobs may start bigger or smaller than normal.
|
||||
..()
|
||||
|
||||
/mob/proc/show_message(msg, type, alt, alt_type)//Message, type of message (1 or 2), alternative message, alt message type (1 or 2)
|
||||
|
||||
Reference in New Issue
Block a user