fixes mam tail wag

fixes digi leg spawning
fixes ash drake range nomming
fixes spawner in alien nest
This commit is contained in:
Poojawa
2018-09-20 01:56:46 -05:00
parent a927920c78
commit 01a7624ec2
8 changed files with 74 additions and 39 deletions

View File

@@ -73,7 +73,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/skin_tone = "caucasian1" //Skin color
var/eye_color = "000" //Eye color
var/datum/species/pref_species = new /datum/species/human() //Mutant race
var/list/features = list("mcolor" = "FFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs", "moth_wings" = "Plain")
var/list/features = list("mcolor" = "FFF",
"tail_lizard" = "Smooth", "tail_human" = "None",
"snout" = "Round", "horns" = "None", "ears" = "None",
"wings" = "None", "frills" = "None", "spines" = "None",
"body_markings" = "None", "legs" = "Normal Legs", "moth_wings" = "Plain")
var/list/custom_names = list()
var/prefered_security_department = SEC_DEPT_RANDOM
@@ -2058,6 +2062,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else if("xenotail" in pref_species.default_features)
character.dna.species.mutant_bodyparts |= "xenotail"
if(("legs" in pref_species.default_features) && character.dna.features["legs"] == "Digitigrade Legs")
pref_species.species_traits += DIGITIGRADE
character.Digitigrade_Leg_Swap(TRUE)
if(DIGITIGRADE in pref_species.species_traits)
character.Digitigrade_Leg_Swap(FALSE)
if(icon_updates)
character.update_body()
character.update_hair()

View File

@@ -4,14 +4,14 @@
id = "lizard"
say_mod = "hisses"
default_color = "00FF00"
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR,FACEHAIR)
species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,LIPS)
inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID, MOB_REPTILE)
mutant_bodyparts = list("tail_lizard", "snout", "spines", "horns", "frills", "body_markings", "legs", "taur")
mutanttongue = /obj/item/organ/tongue/lizard
mutanttail = /obj/item/organ/tail/lizard
coldmod = 1.5
heatmod = 0.67
default_features = list("mcolor" = "0F0","mcolor2" = "0F0","mcolor3" = "0F0", "tail_lizard" = "Smooth", "snout" = "Round", "horns" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs", "taur" = "None")
default_features = list("mcolor" = "0F0", "mcolor2" = "0F0", "mcolor3" = "0F0", "tail_lizard" = "Smooth", "snout" = "Round", "horns" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs", "taur" = "None")
attack_verb = "slash"
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
@@ -70,6 +70,19 @@
mutant_bodyparts |= "spines"
H.update_body()
/datum/species/lizard/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Digitigrade Legs")
species_traits += DIGITIGRADE
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(FALSE)
return ..()
/datum/species/lizard/on_species_loss(mob/living/carbon/human/C, datum/species/new_species)
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Normal Legs")
species_traits -= DIGITIGRADE
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(TRUE)
/*
Lizard subspecies: ASHWALKERS
*/

View File

@@ -82,16 +82,24 @@
var/mob/living/L = target
if(L.stat != DEAD)
if(vore_active == TRUE && L.devourable == TRUE)
dragon_feeding(src,L)
if(L.Adjacent(targets_from))
dragon_feeding(src,L)
else if(!client && ranged && ranged_cooldown <= world.time)
OpenFire()
if(L.loc == src.contents)
L = null
LoseTarget()
return 0
else if(!client && ranged && ranged_cooldown <= world.time)
OpenFire()
else if(L.stat >= SOFT_CRIT)
if(vore_active == TRUE && L.devourable == TRUE)
dragon_feeding(src,L)
if(L.Adjacent(targets_from))
dragon_feeding(src,L)
if(L.loc == src.contents)
L = null
LoseTarget()
return 0
else
devour(L)