[Ready]Minor Slime Update: slimepeople get the slime language, slimes speak slime instead of common
This commit is contained in:
@@ -701,9 +701,9 @@
|
||||
language_holder = new initial_language_holder(src)
|
||||
return language_holder
|
||||
|
||||
/atom/movable/proc/grant_language(datum/language/dt)
|
||||
var/datum/language_holder/H = get_language_holder()
|
||||
H.grant_language(dt)
|
||||
/atom/movable/proc/grant_language(datum/language/dt, body = FALSE)
|
||||
var/datum/language_holder/H = get_language_holder(!body)
|
||||
H.grant_language(dt, body)
|
||||
|
||||
/atom/movable/proc/grant_all_languages(omnitongue=FALSE)
|
||||
var/datum/language_holder/H = get_language_holder()
|
||||
@@ -713,9 +713,9 @@
|
||||
var/datum/language_holder/H = get_language_holder()
|
||||
. = H.get_random_understood_language()
|
||||
|
||||
/atom/movable/proc/remove_language(datum/language/dt)
|
||||
var/datum/language_holder/H = get_language_holder()
|
||||
H.remove_language(dt)
|
||||
/atom/movable/proc/remove_language(datum/language/dt, body = FALSE)
|
||||
var/datum/language_holder/H = get_language_holder(!body)
|
||||
H.remove_language(dt, body)
|
||||
|
||||
/atom/movable/proc/remove_all_languages()
|
||||
var/datum/language_holder/H = get_language_holder()
|
||||
|
||||
@@ -31,8 +31,11 @@
|
||||
copy.omnitongue = src.omnitongue
|
||||
return copy
|
||||
|
||||
/datum/language_holder/proc/grant_language(datum/language/dt)
|
||||
languages[dt] = TRUE
|
||||
/datum/language_holder/proc/grant_language(datum/language/dt, shadow = FALSE)
|
||||
if(shadow)
|
||||
shadow_languages[dt] = TRUE
|
||||
else
|
||||
languages[dt] = TRUE
|
||||
|
||||
/datum/language_holder/proc/grant_all_languages(omnitongue=FALSE)
|
||||
for(var/la in GLOB.all_languages)
|
||||
@@ -47,8 +50,11 @@
|
||||
possible += dt
|
||||
. = safepick(possible)
|
||||
|
||||
/datum/language_holder/proc/remove_language(datum/language/dt)
|
||||
languages -= dt
|
||||
/datum/language_holder/proc/remove_language(datum/language/dt, shadow = FALSE)
|
||||
if(shadow)
|
||||
shadow_languages -= dt
|
||||
else
|
||||
languages -= dt
|
||||
|
||||
/datum/language_holder/proc/remove_all_languages()
|
||||
languages.Cut()
|
||||
@@ -120,6 +126,7 @@
|
||||
|
||||
/datum/language_holder/slime
|
||||
languages = list(/datum/language/common, /datum/language/slime)
|
||||
only_speaks_language = /datum/language/slime
|
||||
|
||||
/datum/language_holder/lightbringer
|
||||
// TODO change to a lightbringer specific sign language
|
||||
|
||||
@@ -14,10 +14,13 @@
|
||||
/datum/species/jelly/on_species_loss(mob/living/carbon/C)
|
||||
if(regenerate_limbs)
|
||||
regenerate_limbs.Remove(C)
|
||||
C.remove_language(/datum/language/slime, TRUE)
|
||||
C.faction -= "slime"
|
||||
..()
|
||||
|
||||
/datum/species/jelly/on_species_gain(mob/living/carbon/C, datum/species/old_species)
|
||||
..()
|
||||
C.grant_language(/datum/language/slime, TRUE)
|
||||
if(ishuman(C))
|
||||
regenerate_limbs = new
|
||||
regenerate_limbs.Grant(C)
|
||||
@@ -101,7 +104,7 @@
|
||||
name = "Slimeperson"
|
||||
id = "slime"
|
||||
default_color = "00FFFF"
|
||||
species_traits = list(SPECIES_ORGANIC,MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD,VIRUSIMMUNE, TOXINLOVER)
|
||||
species_traits = list(SPECIES_ORGANIC,MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD,TOXINLOVER)
|
||||
say_mod = "says"
|
||||
hair_color = "mutcolor"
|
||||
hair_alpha = 150
|
||||
@@ -137,8 +140,24 @@
|
||||
bodies = list(C)
|
||||
else
|
||||
bodies |= C
|
||||
<<<<<<< HEAD
|
||||
|
||||
C.faction |= "slime"
|
||||
=======
|
||||
|
||||
/datum/species/jelly/slime/spec_death(gibbed, mob/living/carbon/human/H)
|
||||
if(slime_split)
|
||||
var/datum/mind/M
|
||||
for(var/mob/living/L in bodies)
|
||||
if(L.mind && L.mind.active)
|
||||
M = L.mind
|
||||
if(!M || M != H.mind)
|
||||
return
|
||||
var/list/available_bodies = (bodies - H)
|
||||
if(!LAZYLEN(available_bodies))
|
||||
return
|
||||
swap_body.swap_to_dupe(M, pick(available_bodies))
|
||||
>>>>>>> f4847c2... [Ready]Minor Slime Update: slimepeople get the slime language, slimes speak slime instead of common (#33773)
|
||||
|
||||
//If you're cloned you get your body pool back
|
||||
/datum/species/jelly/slime/copy_properties_from(datum/species/jelly/slime/old_species)
|
||||
|
||||
Reference in New Issue
Block a user