Fixes a monkey runtime and updates head reattachment surgery.

This commit is contained in:
Zuhayr
2015-04-04 20:03:54 -07:00
parent b197cb69fa
commit fa8ee58183
5 changed files with 19 additions and 14 deletions
@@ -21,7 +21,10 @@
set_species()
if(species)
name = species.get_random_name(gender)
real_name = species.get_random_name(gender)
name = real_name
if(mind)
mind.name = real_name
var/datum/reagents/R = new/datum/reagents(1000)
reagents = R
@@ -100,9 +100,9 @@
var/hit_zone = H.zone_sel.selecting
var/obj/item/organ/external/affecting = get_organ(hit_zone)
if(!affecting || affecting.status & ORGAN_DESTROYED)
if(affecting.is_stump() || !affecting || affecting.status & ORGAN_DESTROYED)
M << "<span class='danger'>They are missing that limb!</span>"
return
return 1
switch(src.a_intent)
if(I_HELP)
@@ -168,6 +168,10 @@
/datum/species/proc/get_random_name(var/gender)
var/datum/language/species_language = all_languages[language]
if(!species_language)
species_language = all_languages[default_language]
if(!species_language)
return "unknown"
return species_language.get_random_name(gender)
/datum/species/proc/create_organs(var/mob/living/carbon/human/H) //Handles creation of mob organs.
@@ -45,11 +45,8 @@
if(prob(1))
H.emote(pick("scratch","jump","roll","tail"))
/datum/species/monkey/handle_post_spawn(var/mob/living/carbon/human/H)
H.real_name = "[lowertext(name)] ([rand(100,999)])"
H.name = H.real_name
..()
/datum/species/monkey/get_random_name()
return "[lowertext(name)] ([rand(100,999)])"
/datum/species/monkey/tajaran
name = "Farwa"
+7 -6
View File
@@ -1,5 +1,6 @@
//This is an uguu head restoration surgery TOTALLY not yoinked from chinsky's limb reattacher
/datum/surgery_step/attach_head/
priority = 3 // Must be higher than /datum/surgery_step/internal
allowed_tools = list(/obj/item/organ/external/head = 100)
can_infect = 0
@@ -7,20 +8,20 @@
max_duration = 100
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
if(..())
var/obj/item/organ/external/head = target.get_organ(target_zone)
return !head && target_zone == "head"
var/obj/item/organ/external/head = target.get_organ(target_zone)
return isnull(head) && target_zone == "head" && !isnull(target.species.has_limbs["head"])
begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("[user] starts attaching [tool] to [target]'s reshaped neck.", \
"You start attaching [tool] to [target]'s reshaped neck.")
user.visible_message("[user] starts attaching [tool] to [target]'s neck.", \
"You start attaching [tool] to [target]'s neck.")
end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("\blue [user] has attached [target]'s head to the body.", \
"\blue You have attached [target]'s head to the body.")
var/obj/item/organ/external/head = tool
head.loc = target
user.drop_from_inventory(head)
head.replaced(target)
head.loc = target
head.status = 0
target.update_body()
target.updatehealth()