further conversion

This commit is contained in:
Fox McCloud
2018-07-18 01:13:24 -04:00
parent d512b362ed
commit 7440dad57e
58 changed files with 177 additions and 176 deletions
@@ -84,12 +84,12 @@ I'm using this for Stat to give it a more nifty interface to work with
if(container)
var/obj/item/mmi/M = container
if(istype(M) && M.held_brain)
return M.held_brain.dna.get_species_name()
return M.held_brain.dna.species.name
else
return "Artificial Life"
if(istype(loc, /obj/item/organ/internal/brain))
var/obj/item/organ/internal/brain/B = loc
return B.dna.get_species_name()
return B.dna.species.name
/mob/living/carbon/brain/Stat()
..()
+27 -15
View File
@@ -29,29 +29,36 @@
switch(act)
//Cooldown-inducing emotes
if("ping", "pings", "buzz", "buzzes", "beep", "beeps", "yes", "no", "buzz2")
if(dna.species.name == "Machine") //Only Machines can beep, ping, and buzz, yes, no, and make a silly sad trombone noise.
var/found_machine_head = FALSE
if(ismachine(src)) //Only Machines can beep, ping, and buzz, yes, no, and make a silly sad trombone noise.
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm
else //Everyone else fails, skip the emote attempt
return
else
var/obj/item/organ/external/head/H = get_organ("head") // If you have a robotic head, you can make beep-boop noises
if(H && H.is_robotic())
on_CD = handle_emote_CD()
found_machine_head = TRUE
if(!found_machine_head) //Everyone else fails, skip the emote attempt
return //Everyone else fails, skip the emote attempt
if("drone","drones","hum","hums","rumble","rumbles")
if(get_species() == "Drask") //Only Drask can make whale noises
if(isdrask(src)) //Only Drask can make whale noises
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm
else
return
if("howl", "howls")
if(get_species() == "Vulpkanin") //Only Vulpkanin can howl
if(isvulpkanin(src)) //Only Vulpkanin can howl
on_CD = handle_emote_CD(100)
else
return
if("growl", "growls")
if(get_species() == "Vulpkanin") //Only Vulpkanin can growl
if(isvulpkanin(src)) //Only Vulpkanin can growl
on_CD = handle_emote_CD()
else
return
if("squish", "squishes")
var/found_slime_bodypart = 0
if(get_species() == "Slime People") //Only Slime People can squish
if(isslimeperson(src)) //Only Slime People can squish
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm'
found_slime_bodypart = 1
else
@@ -65,31 +72,31 @@
return
if("clack", "clacks")
if(get_species() == "Kidan") //Only Kidan can clack and rightfully so.
if(iskidan(src)) //Only Kidan can clack and rightfully so.
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm'
else //Everyone else fails, skip the emote attempt
return
if("click", "clicks")
if(get_species() == "Kidan") //Only Kidan can click and rightfully so.
if(iskidan(src)) //Only Kidan can click and rightfully so.
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm'
else //Everyone else fails, skip the emote attempt
return
if("creaks", "creak")
if(get_species() == "Diona") //Only Dionas can Creaks.
if(isdiona(src)) //Only Dionas can Creaks.
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm'
else //Everyone else fails, skip the emote attempt
return
if("hiss", "hisses")
if(get_species() == "Unathi") //Only Unathi can hiss.
if(isunathi(src)) //Only Unathi can hiss.
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm'
else //Everyone else fails, skip the emote attempt
return
if("quill", "quills")
if(get_species() == "Vox") //Only Vox can rustle their quills.
if(isvox(src)) //Only Vox can rustle their quills.
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm'
else //Everyone else fails, skip the emote attempt
return
@@ -891,8 +898,6 @@
+ " wag(s), wave(s), whimper(s), wink(s), yawn(s), quill(s)"
switch(dna.species.name)
if("Machine")
emotelist += "\nMachine specific emotes :- beep(s)-(none)/mob, buzz(es)-none/mob, no-(none)/mob, ping(s)-(none)/mob, yes-(none)/mob, buzz2-(none)/mob"
if("Drask")
emotelist += "\nDrask specific emotes :- drone(s)-(none)/mob, hum(s)-(none)/mob, rumble(s)-(none)/mob"
if("Kidan")
@@ -906,7 +911,14 @@
if("Diona")
emotelist += "\nDiona specific emotes :- creak(s)"
if (dna.species.name == "Slime People")
if(dna.species.name == "Machine")
emotelist += "\nMachine specific emotes :- beep(s)-(none)/mob, buzz(es)-none/mob, no-(none)/mob, ping(s)-(none)/mob, yes-(none)/mob, buzz2-(none)/mob"
else
var/obj/item/organ/external/head/H = get_organ("head") // If you have a robotic head, you can make beep-boop noises
if(H && H.is_robotic())
emotelist += "\nRobotic head specific emotes :- beep(s)-(none)/mob, buzz(es)-none/mob, no-(none)/mob, ping(s)-(none)/mob, yes-(none)/mob, buzz2-(none)/mob"
if(dna.species.name == "Slime People")
emotelist += "\nSlime people specific emotes :- squish(es)-(none)/mob"
else
for(var/obj/item/organ/external/L in bodyparts) // if your limbs are squishy you can squish too!
@@ -29,14 +29,12 @@
msg += "[bicon(icon(icon, dir=SOUTH))] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated
msg += "<EM>[name]</EM>"
var/list/nospecies = list("Abductor", "Shadowling", "Neara", "Monkey", "Stok", "Farwa", "Wolpin") //species that won't show their race no matter what
var/displayed_species = get_species()
var/displayed_species = dna.species.name
for(var/obj/item/clothing/C in src) //Disguise checks
if(C == src.head || C == src.wear_suit || C == src.wear_mask || C == src.w_uniform || C == src.belt || C == src.back)
if(C.species_disguise)
displayed_species = C.species_disguise
if(skipjumpsuit && skipface || (displayed_species in nospecies)) //either obscured or on the nospecies list
if(skipjumpsuit && skipface || (NO_EXAMINE in dna.species.species_traits)) //either obscured or on the nospecies list
msg += "!\n" //omit the species when examining
else if(displayed_species == "Slime People") //snowflakey because Slime People are defined as a plural
msg += ", a slime person!\n"
@@ -1035,10 +1035,6 @@
/mob/living/carbon/human/proc/check_dna()
dna.check_integrity(src)
return
/mob/living/carbon/human/get_species()
return dna.species.name
/mob/living/carbon/human/proc/play_xylophone()
if(!src.xylophone)
@@ -1172,7 +1168,7 @@
surgeries.Cut() //End all surgeries.
update_revive()
if(dna.species.name != "Skeleton" && (SKELETON in mutations))
if(!isskeleton(src) && (SKELETON in mutations))
mutations.Remove(SKELETON)
if(NOCLONE in mutations)
mutations.Remove(NOCLONE)
@@ -1821,14 +1817,14 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
/mob/living/carbon/human/forceFed(var/obj/item/reagent_containers/food/toEat, mob/user, fullness)
if(!check_has_mouth())
if(!((istype(toEat, /obj/item/reagent_containers/food/drinks) && (get_species() == "Machine"))))
if(!((istype(toEat, /obj/item/reagent_containers/food/drinks) && (ismachine(src)))))
to_chat(user, "Where do you intend to put \the [toEat]? \The [src] doesn't have a mouth!")
return 0
return ..()
/mob/living/carbon/human/selfDrink(var/obj/item/reagent_containers/food/drinks/toDrink)
if(!check_has_mouth())
if(!get_species() == "Machine")
if(!ismachine(src))
to_chat(src, "Where do you intend to put \the [src]? You don't have a mouth!")
return 0
else
@@ -16,7 +16,7 @@
"eyes" = /obj/item/organ/internal/eyes/abductor //3 darksight.
)
species_traits = list(NO_BLOOD, NO_BREATHE, VIRUSIMMUNE, NOGUNS)
species_traits = list(NO_BLOOD, NO_BREATHE, VIRUSIMMUNE, NOGUNS, NO_EXAMINE)
oxy_mod = 0
@@ -11,6 +11,7 @@
path = /mob/living/carbon/human/monkey
language = null
default_language = "Chimpanzee"
species_traits = list(NO_EXAMINE)
greater_form = /datum/species/human
is_small = 1
has_fine_manipulation = 0
@@ -627,13 +627,13 @@
#undef SLIMEPERSON_ICON_UPDATE_PERIOD
#undef SLIMEPERSON_BLOOD_SCALING_FACTOR
/mob/living/carbon/human/proc/toggle_recolor(var/silent = 0)
var/datum/species/slime/S = all_species[get_species()]
if(!istype(S))
/mob/living/carbon/human/proc/toggle_recolor(silent = FALSE)
if(!isslimeperson(src))
if(!silent)
to_chat(src, "You're not a slime person!")
return
var/datum/species/slime/S = dna.species
if(src in S.recolor_list)
S.recolor_list -= src
if(!silent)
@@ -448,7 +448,7 @@ var/global/list/damage_icon_parts = list()
if(head_organ.h_style && !(head && (head.flags & BLOCKHEADHAIR) && !(isSynthetic())))
var/datum/sprite_accessory/hair/hair_style = hair_styles_full_list[head_organ.h_style]
//if(!src.get_int_organ(/obj/item/organ/internal/brain) && src.get_species() != "Machine" )//make it obvious we have NO BRAIN
//if(!src.get_int_organ(/obj/item/organ/internal/brain) && !ismachine(src))//make it obvious we have NO BRAIN
// hair_standing.Blend(debrained_s, ICON_OVERLAY)
if(hair_style && hair_style.species_allowed)
if((head_organ.dna.species.name in hair_style.species_allowed) || (head_organ.dna.species.bodyflags & ALL_RPARTS)) //If the head's species is in the list of allowed species for the hairstyle, or the head's species is one flagged to have bodies comprised wholly of cybernetics...
+1 -1
View File
@@ -337,7 +337,7 @@
if(istype(L, /mob/living/carbon/human)) //Ignore slime(wo)men
var/mob/living/carbon/human/H = L
if(H.dna.species.name == "Slime People")
if(isslimeperson(H))
continue
if(!L.canmove) // Only one slime can latch on at a time.
@@ -54,7 +54,7 @@
/mob/living/simple_animal/diona/attack_hand(mob/living/carbon/human/M)
//Let people pick the little buggers up.
if(M.a_intent == INTENT_HELP)
if(M.dna.species && M.dna.species.name == "Diona")
if(isdiona(M))
to_chat(M, "You feel your being twine with that of [src] as it merges with your biomass.")
to_chat(src, "You feel your being twine with that of [M] as you merge with its biomass.")
verbs += /mob/living/simple_animal/diona/proc/split
@@ -82,7 +82,7 @@
if(ishuman(C))
var/mob/living/carbon/human/D = C
if(D.dna.species && D.dna.species.name == "Diona")
if(isdiona(D))
choices += C
var/mob/living/M = input(src,"Who do you wish to merge with?") in null|choices
-3
View File
@@ -1080,9 +1080,6 @@ var/list/slot_equipment_priority = list( \
/mob/proc/activate_hand(selhand)
return
/mob/proc/get_species()
return ""
/mob/dead/observer/verb/respawn()
set name = "Respawn as NPC"
set category = "Ghost"
+3 -3
View File
@@ -16,9 +16,9 @@
return 0
/mob/living/carbon/human/isSynthetic()
if(get_species() == "Machine")
return 1
return 0
if(ismachine(src))
return TRUE
return FALSE
/mob/proc/get_screen_colour()
-13
View File
@@ -591,19 +591,6 @@
if(!S) return 1
return is_alien_whitelisted(src, S.name) || !config.usealienwhitelist || !(IS_WHITELISTED in S.species_traits)
/mob/new_player/get_species()
var/datum/species/chosen_species
if(client.prefs.species)
chosen_species = all_species[client.prefs.species]
if(!chosen_species)
return "Human"
if(is_species_whitelisted(chosen_species) || has_admin_rights())
return chosen_species.name
return "Human"
/mob/new_player/get_gender()
if(!client || !client.prefs) ..()
return client.prefs.gender