Fixes Runtime When Creating new Humans

It runtimed because when there was
/mob/living/carbon/human/vulpkanin/New(var/new_loc)
>>>>>var/obj/item/organ/external/head/H = get_organ("head")
>>>>>H.h_style = "Bald"
>>>>>..(new_loc, "Vulpkanin")

in human/human.dm, it'd error out because the mob doesn't have those
organs at this point-- so I just moved the definition of what hair/head
accessory styles these basic default mobs get to the species definition,
where it'll accomplish the same thing as it used to while still using
the head-hair system appropriately
This commit is contained in:
KasparoVy
2016-04-30 20:15:53 -04:00
parent f95655419c
commit a39cf233af
4 changed files with 29 additions and 31 deletions
+9 -30
View File
@@ -74,46 +74,30 @@
status_flags = GODMODE|CANPUSH
/mob/living/carbon/human/skrell/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Skrell Male Tentacles"
..(new_loc, "Skrell")
/mob/living/carbon/human/tajaran/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.ha_style = "Tajaran Ears"
..(new_loc, "Tajaran")
/mob/living/carbon/human/vulpkanin/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Bald"
..(new_loc, "Vulpkanin")
/mob/living/carbon/human/unathi/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Unathi Horns"
..(new_loc, "Unathi")
/mob/living/carbon/human/vox/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Short Vox Quills"
..(new_loc, "Vox")
/mob/living/carbon/human/voxarmalis/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Bald"
..(new_loc, "Vox Armalis")
/mob/living/carbon/human/skeleton/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Bald"
..(new_loc, "Skeleton")
/mob/living/carbon/human/kidan/New(var/new_loc)
..(new_loc, "Kidan")
/mob/living/carbon/human/plasma/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Bald"
..(new_loc, "Plasmaman")
/mob/living/carbon/human/slime/New(var/new_loc)
@@ -129,38 +113,24 @@
..(new_loc, "Human")
/mob/living/carbon/human/diona/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Bald"
..(new_loc, "Diona")
/mob/living/carbon/human/machine/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Blue IPC Screen"
..(new_loc, "Machine")
/mob/living/carbon/human/shadow/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Bald"
..(new_loc, "Shadow")
/mob/living/carbon/human/golem/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Bald"
..(new_loc, "Golem")
/mob/living/carbon/human/wryn/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Antennae"
..(new_loc, "Wryn")
/mob/living/carbon/human/nucleation/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Nucleation Crystals"
..(new_loc, "Nucleation")
/mob/living/carbon/human/drask/New(var/new_loc)
var/obj/item/organ/external/head/H = get_organ("head")
H.h_style = "Bald"
..(new_loc, "Drask")
/mob/living/carbon/human/monkey/New(var/new_loc)
@@ -1520,6 +1490,15 @@
species.create_organs(src)
//Handle default hair/head accessories for created mobs.
var/obj/item/organ/external/head/H = get_organ("head")
if(species.default_hair)
H.h_style = species.default_hair
if(species.default_fhair)
H.f_style = species.default_fhair
if(species.default_headacc)
H.ha_style = species.default_headacc
if(!dna)
dna = new /datum/dna(null)
dna.species = species.name
@@ -45,6 +45,8 @@
base_color = "#704300"
flesh_color = "#704300"
blood_color = "#FFFF99"
//Default styles for created mobs.
default_hair = "Antennae"
/datum/species/wryn/handle_death(var/mob/living/carbon/human/H)
@@ -98,6 +100,9 @@
flags = IS_WHITELISTED | NO_BREATHE | NO_BLOOD | NO_PAIN | HAS_LIPS | NO_SCAN
dietflags = DIET_OMNI //still human at their core, so they maintain their eating habits and diet
//Default styles for created mobs.
default_hair = "Nucleation Crystals"
reagent_tag = PROCESS_ORG
has_organ = list(
"heart" = /obj/item/organ/internal/heart,
@@ -118,6 +118,11 @@
var/male_scream_sound = 'sound/goonstation/voice/male_scream.ogg'
var/female_scream_sound = 'sound/goonstation/voice/female_scream.ogg'
//Default hair/headacc style vars.
var/default_hair = "Bald" //Default hair style for newly created humans unless otherwise set.
var/default_fhair = "Shaved" //Default facial hair style for newly created humans unless otherwise set.
var/default_headacc = "None" //Default head accessory style for newly created humans unless otherwise set.
// Determines the organs that the species spawns with and
var/list/has_organ = list( // which required-organ checks are conducted.
"heart" = /obj/item/organ/internal/heart,
@@ -158,7 +163,6 @@
/datum/species/proc/create_organs(var/mob/living/carbon/human/H) //Handles creation of mob organs.
for(var/obj/item/organ/internal/iorgan in H.internal_organs)
if(iorgan in H.internal_organs)
qdel(iorgan)
@@ -55,6 +55,8 @@
flesh_color = "#34AF10"
reagent_tag = PROCESS_ORG
base_color = "#066000"
//Default styles for created mobs.
default_hair = "Unathi Horns"
allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/lizard, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken,
/mob/living/simple_animal/crab, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot, /mob/living/simple_animal/tribble)
@@ -109,6 +111,8 @@
reagent_tag = PROCESS_ORG
flesh_color = "#AFA59E"
base_color = "#333333"
//Default styles for created mobs.
default_headacc = "Tajaran Ears"
allowed_consumed_mobs = list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/chick, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/parrot,
/mob/living/simple_animal/tribble)
@@ -189,6 +193,8 @@
dietflags = DIET_HERB
flesh_color = "#8CD7A3"
blood_color = "#1D2CBF"
//Default styles for created mobs.
default_hair = "Skrell Male Tentacles"
reagent_tag = PROCESS_ORG
suicide_messages = list(
@@ -251,6 +257,8 @@
blood_color = "#2299FC"
flesh_color = "#808D11"
//Default styles for created mobs.
default_hair = "Short Vox Quills"
reagent_tag = PROCESS_ORG
scream_verb = "shrieks"
@@ -751,6 +759,8 @@
dietflags = 0 //IPCs can't eat, so no diet
blood_color = "#1F181F"
flesh_color = "#AAAAAA"
//Default styles for created mobs.
default_hair = "Blue IPC Screen"
virus_immune = 1
can_revive_by_healing = 1
reagent_tag = PROCESS_SYN