diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm new file mode 100644 index 00000000000..5900c9b9a57 --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_species.dm @@ -0,0 +1,72 @@ +// These may have some say.dm bugs regarding understanding common, +// might be worth adapting the bugs into a feature and using these +// subtypes as a basis for non-common-speaking alien foreigners. ~ Z + +/mob/living/carbon/human/species/monkey + race = "Monkey" + +/mob/living/carbon/human/species/monkey/farwa + race = "Farwa" + +/mob/living/carbon/human/species/monkey/naera + race = "Naera" + +/mob/living/carbon/human/species/monkey/stok + race = "Stok" + +/mob/living/carbon/human/species/monkey/yiren + race = "Yiren" + +/mob/living/carbon/human/species/synthetic + race = "Synthetic" + +/mob/living/carbon/human/species/early_synthetic + race = "Early Synthetic" + +/mob/living/carbon/human/species/moth + race = "Moth" + +/datum/species/moth/handle_post_spawn(mob/living/carbon/human/H) + . = ..() + H.moth_wings = pick(GLOB.moth_wings_list - "Burnt Off") + +/mob/living/carbon/human/species/vatgrown + race = "Vat-Grown Human" + +/mob/living/carbon/human/species/sectoid + race = "Sectoid" + +/mob/living/carbon/human/species/vatborn + race = "Vatborn" + +/mob/living/carbon/human/species/skeleton + race = "Skeleton" + +/mob/living/carbon/human/species/zombie + race = "Strong zombie" + +/mob/living/carbon/human/species/zombie/Initialize(mapload) + . = ..() + var/datum/outfit/outfit = pick(GLOB.survivor_outfits) + outfit = new outfit() + INVOKE_ASYNC(outfit, TYPE_PROC_REF(/datum/outfit, equip), src) + a_intent = INTENT_HARM + +/mob/living/carbon/human/species/robot + race = "Combat Robot" + bubble_icon = "robot" + +/mob/living/carbon/human/species/robot/alpharii + race = "Hammerhead Combat Robot" + +/mob/living/carbon/human/species/robot/charlit + race = "Chilvaris Combat Robot" + +/mob/living/carbon/human/species/robot/deltad + race = "Ratcher Combat Robot" + +/mob/living/carbon/human/species/robot/bravada + race = "Sterling Combat Robot" + +/mob/living/carbon/human/species/necoarc + race = "Neco Arc" diff --git a/code/modules/mob/living/carbon/human/species/early_synthetic.dm b/code/modules/mob/living/carbon/human/species/early_synthetic.dm index 948c7bc2d2a..ae3f7adba84 100644 --- a/code/modules/mob/living/carbon/human/species/early_synthetic.dm +++ b/code/modules/mob/living/carbon/human/species/early_synthetic.dm @@ -1,6 +1,3 @@ -/mob/living/carbon/human/species/early_synthetic - race = "Early Synthetic" - //It really should be just a subtype of synthetic /datum/species/early_synthetic // Worse at medical, better at engineering. Tougher in general than later synthetics. name = "Early Synthetic" diff --git a/code/modules/mob/living/carbon/human/species/monkey.dm b/code/modules/mob/living/carbon/human/species/monkey.dm index 74256c72fd8..edd1a509461 100644 --- a/code/modules/mob/living/carbon/human/species/monkey.dm +++ b/code/modules/mob/living/carbon/human/species/monkey.dm @@ -1,6 +1,3 @@ -/mob/living/carbon/human/species/monkey - race = "Monkey" - //todo: wound overlays are strange for monkeys and should likely use icon adding instead //im not about to cram in that refactor with a carbon -> species refactor though /datum/species/monkey @@ -52,25 +49,16 @@ /datum/species/monkey/random_name(gender,unique,lastname) return "[lowertext(name)] ([rand(1,999)])" -/mob/living/carbon/human/species/monkey/farwa - race = "Farwa" - /datum/species/monkey/tajara name = "Farwa" icobase = 'icons/mob/human_races/r_farwa.dmi' speech_verb_override = "mews" -/mob/living/carbon/human/species/monkey/naera - race = "Naera" - /datum/species/monkey/skrell name = "Naera" icobase = 'icons/mob/human_races/r_naera.dmi' speech_verb_override = "squiks" -/mob/living/carbon/human/species/monkey/stok - race = "Stok" - /datum/species/monkey/unathi name = "Stok" icobase = 'icons/mob/human_races/r_stok.dmi' @@ -83,6 +71,3 @@ cold_level_1 = ICE_COLONY_TEMPERATURE - 20 cold_level_2 = ICE_COLONY_TEMPERATURE - 40 cold_level_3 = ICE_COLONY_TEMPERATURE - 80 - -/mob/living/carbon/human/species/monkey/yiren - race = "Yiren" diff --git a/code/modules/mob/living/carbon/human/species/moth.dm b/code/modules/mob/living/carbon/human/species/moth.dm index b40fa1e5034..b19076f990f 100644 --- a/code/modules/mob/living/carbon/human/species/moth.dm +++ b/code/modules/mob/living/carbon/human/species/moth.dm @@ -1,10 +1,3 @@ -/mob/living/carbon/human/species/moth - race = "Moth" - -/datum/species/moth/handle_post_spawn(mob/living/carbon/human/H) - . = ..() - H.moth_wings = pick(GLOB.moth_wings_list - "Burnt Off") - /datum/species/moth name = "Moth" name_plural = "Moth" diff --git a/code/modules/mob/living/carbon/human/species/necoarc.dm b/code/modules/mob/living/carbon/human/species/necoarc.dm index c23e17ecacb..9d17a5792d3 100644 --- a/code/modules/mob/living/carbon/human/species/necoarc.dm +++ b/code/modules/mob/living/carbon/human/species/necoarc.dm @@ -1,6 +1,3 @@ -/mob/living/carbon/human/species/necoarc - race = "Neco Arc" - /datum/species/necoarc name = "Neco Arc" name_plural = "Neco Arc" diff --git a/code/modules/mob/living/carbon/human/species/robot.dm b/code/modules/mob/living/carbon/human/species/robot.dm index 6bfa4da99a6..fd304392c2d 100644 --- a/code/modules/mob/living/carbon/human/species/robot.dm +++ b/code/modules/mob/living/carbon/human/species/robot.dm @@ -1,7 +1,3 @@ -/mob/living/carbon/human/species/robot - race = "Combat Robot" - bubble_icon = "robot" - /datum/species/robot name = "Combat Robot" name_plural = "Combat Robots" @@ -91,36 +87,24 @@ . = GLOB.namepool[namepool].get_random_name() to_chat(prefs.parent, span_warning("You forgot to set your robot in your preferences. Please do so next time.")) -/mob/living/carbon/human/species/robot/alpharii - race = "Hammerhead Combat Robot" - /datum/species/robot/alpharii name = "Hammerhead Combat Robot" name_plural = "Hammerhead Combat Robots" icobase = 'icons/mob/human_races/r_robot_alpharii.dmi' joinable_roundstart = FALSE -/mob/living/carbon/human/species/robot/charlit - race = "Chilvaris Combat Robot" - /datum/species/robot/charlit name = "Chilvaris Combat Robot" name_plural = "Chilvaris Combat Robots" icobase = 'icons/mob/human_races/r_robot_charlit.dmi' joinable_roundstart = FALSE -/mob/living/carbon/human/species/robot/deltad - race = "Ratcher Combat Robot" - /datum/species/robot/deltad name = "Ratcher Combat Robot" name_plural = "Ratcher Combat Robots" icobase = 'icons/mob/human_races/r_robot_deltad.dmi' joinable_roundstart = FALSE -/mob/living/carbon/human/species/robot/bravada - race = "Sterling Combat Robot" - /datum/species/robot/bravada name = "Sterling Combat Robot" name_plural = "Sterling Combat Robots" diff --git a/code/modules/mob/living/carbon/human/species/sectoid.dm b/code/modules/mob/living/carbon/human/species/sectoid.dm index 994c494878b..93d51a370a6 100644 --- a/code/modules/mob/living/carbon/human/species/sectoid.dm +++ b/code/modules/mob/living/carbon/human/species/sectoid.dm @@ -1,6 +1,3 @@ -/mob/living/carbon/human/species/sectoid - race = "Sectoid" - /datum/species/sectoid name = "Sectoid" name_plural = "Sectoids" diff --git a/code/modules/mob/living/carbon/human/species/skeleton.dm b/code/modules/mob/living/carbon/human/species/skeleton.dm index 7c39a48385c..41e8bb88934 100644 --- a/code/modules/mob/living/carbon/human/species/skeleton.dm +++ b/code/modules/mob/living/carbon/human/species/skeleton.dm @@ -1,6 +1,3 @@ -/mob/living/carbon/human/species/skeleton - race = "Skeleton" - /datum/species/skeleton name = "Skeleton" name_plural = "skeletons" diff --git a/code/modules/mob/living/carbon/human/species/synthetic.dm b/code/modules/mob/living/carbon/human/species/synthetic.dm index 77bffe44b02..159d42dc09e 100644 --- a/code/modules/mob/living/carbon/human/species/synthetic.dm +++ b/code/modules/mob/living/carbon/human/species/synthetic.dm @@ -1,6 +1,3 @@ -/mob/living/carbon/human/species/synthetic - race = "Synthetic" - /datum/species/synthetic name = "Synthetic" name_plural = "Synthetics" diff --git a/code/modules/mob/living/carbon/human/species/vatborn.dm b/code/modules/mob/living/carbon/human/species/vatborn.dm index a0921e40742..f2fad9772c2 100644 --- a/code/modules/mob/living/carbon/human/species/vatborn.dm +++ b/code/modules/mob/living/carbon/human/species/vatborn.dm @@ -1,6 +1,3 @@ -/mob/living/carbon/human/species/vatborn - race = "Vatborn" - /datum/species/human/vatborn name = "Vatborn" name_plural = "Vatborns" diff --git a/code/modules/mob/living/carbon/human/species/vatgrown.dm b/code/modules/mob/living/carbon/human/species/vatgrown.dm index fb30cfda563..a1b0f36c80d 100644 --- a/code/modules/mob/living/carbon/human/species/vatgrown.dm +++ b/code/modules/mob/living/carbon/human/species/vatgrown.dm @@ -1,6 +1,3 @@ -/mob/living/carbon/human/species/vatgrown - race = "Vat-Grown Human" - /datum/species/human/vatgrown name = "Vat-Grown Human" name_plural = "Vat-Grown Humans" diff --git a/code/modules/mob/living/carbon/human/species/yautja.dm b/code/modules/mob/living/carbon/human/species/yautja.dm index 1b04282644a..349e42234ca 100644 --- a/code/modules/mob/living/carbon/human/species/yautja.dm +++ b/code/modules/mob/living/carbon/human/species/yautja.dm @@ -1,45 +1,3 @@ -/mob/living/carbon/human/species/yautja - chat_color = "#aa0000" - -/mob/living/carbon/human/species/yautja/get_paygrade() - if(client.clan_info) - return client.clan_info.item[2] <= GLOB.clan_ranks_ordered.len ? GLOB.clan_ranks_ordered[client.clan_info.item[2]] : GLOB.clan_ranks_ordered[1] - -/mob/living/carbon/human/species/yautja/hud_set_hunter() - . = ..() - - var/image/holder = hud_list[HUNTER_CLAN] - if(!holder) - return - - holder.icon_state = "predhud" - - if(client?.clan_info?.item?[4]) - var/datum/db_query/player_clan = SSdbcore.NewQuery("SELECT id, name, description, honor, color FROM [format_table_name("clan")] WHERE id = :clan_id", list("clan_id" = client.clan_info.item[4])) - player_clan.Execute() - if(player_clan.NextRow()) - holder.color = player_clan.item[5] - - hud_list[HUNTER_CLAN] = holder - -/mob/living/carbon/human/species/yautja/send_speech(message_raw, message_range = 6, obj/source = src, bubble_type = bubble_icon, list/spans, datum/language/message_language=null, message_mode) - . = ..() - playsound(loc, pick('sound/voice/predator/click1.ogg', 'sound/voice/predator/click2.ogg'), 25, 1) - -/mob/living/carbon/human/species/yautja/get_idcard(hand_first = TRUE) - . = ..() - if(!.) - var/obj/item/clothing/gloves/yautja/hunter/bracer = gloves - if(istype(bracer)) - . = bracer.embedded_id - return . - -/mob/living/carbon/human/species/yautja/get_reagent_tags() - return species?.reagent_tag - -/mob/living/carbon/human/species/yautja/can_be_operated_on(mob/user) - return TRUE - /datum/species/yautja name = "Yautja" name_plural = "Yautja" diff --git a/code/modules/mob/living/carbon/human/yautja.dm b/code/modules/mob/living/carbon/human/yautja.dm new file mode 100644 index 00000000000..770a2815169 --- /dev/null +++ b/code/modules/mob/living/carbon/human/yautja.dm @@ -0,0 +1,41 @@ +/mob/living/carbon/human/species/yautja + chat_color = "#aa0000" + +/mob/living/carbon/human/species/yautja/get_paygrade() + if(client.clan_info) + return client.clan_info.item[2] <= GLOB.clan_ranks_ordered.len ? GLOB.clan_ranks_ordered[client.clan_info.item[2]] : GLOB.clan_ranks_ordered[1] + +/mob/living/carbon/human/species/yautja/hud_set_hunter() + . = ..() + + var/image/holder = hud_list[HUNTER_CLAN] + if(!holder) + return + + holder.icon_state = "predhud" + + if(client?.clan_info?.item?[4]) + var/datum/db_query/player_clan = SSdbcore.NewQuery("SELECT id, name, description, honor, color FROM [format_table_name("clan")] WHERE id = :clan_id", list("clan_id" = client.clan_info.item[4])) + player_clan.Execute() + if(player_clan.NextRow()) + holder.color = player_clan.item[5] + + hud_list[HUNTER_CLAN] = holder + +/mob/living/carbon/human/species/yautja/send_speech(message_raw, message_range = 6, obj/source = src, bubble_type = bubble_icon, list/spans, datum/language/message_language=null, message_mode) + . = ..() + playsound(loc, pick('sound/voice/predator/click1.ogg', 'sound/voice/predator/click2.ogg'), 25, 1) + +/mob/living/carbon/human/species/yautja/get_idcard(hand_first = TRUE) + . = ..() + if(!.) + var/obj/item/clothing/gloves/yautja/hunter/bracer = gloves + if(istype(bracer)) + . = bracer.embedded_id + return . + +/mob/living/carbon/human/species/yautja/get_reagent_tags() + return species?.reagent_tag + +/mob/living/carbon/human/species/yautja/can_be_operated_on(mob/user) + return TRUE diff --git a/code/modules/mob/living/carbon/human/species/zombie.dm b/code/modules/mob/living/carbon/human/zombie.dm similarity index 96% rename from code/modules/mob/living/carbon/human/species/zombie.dm rename to code/modules/mob/living/carbon/human/zombie.dm index d71fb1df82c..ad4b1446a5d 100644 --- a/code/modules/mob/living/carbon/human/species/zombie.dm +++ b/code/modules/mob/living/carbon/human/zombie.dm @@ -1,13 +1,3 @@ -/mob/living/carbon/human/species/zombie - race = "Strong zombie" - -/mob/living/carbon/human/species/zombie/Initialize(mapload) - . = ..() - var/datum/outfit/outfit = pick(GLOB.survivor_outfits) - outfit = new outfit() - INVOKE_ASYNC(outfit, TYPE_PROC_REF(/datum/outfit, equip), src) - a_intent = INTENT_HARM - /datum/species/zombie name = "Zombie" name_plural = "Zombies" diff --git a/tgmc.dme b/tgmc.dme index 52f7fc8dd84..7221e98ba90 100644 --- a/tgmc.dme +++ b/tgmc.dme @@ -1628,6 +1628,7 @@ #include "code\modules\mob\living\carbon\human\human_defines.dm" #include "code\modules\mob\living\carbon\human\human_helpers.dm" #include "code\modules\mob\living\carbon\human\human_movement.dm" +#include "code\modules\mob\living\carbon\human\human_species.dm" #include "code\modules\mob\living\carbon\human\human_status_procs.dm" #include "code\modules\mob\living\carbon\human\inventory.dm" #include "code\modules\mob\living\carbon\human\life.dm" @@ -1635,6 +1636,8 @@ #include "code\modules\mob\living\carbon\human\logout.dm" #include "code\modules\mob\living\carbon\human\say.dm" #include "code\modules\mob\living\carbon\human\update_icons.dm" +#include "code\modules\mob\living\carbon\human\yautja.dm" +#include "code\modules\mob\living\carbon\human\zombie.dm" #include "code\modules\mob\living\carbon\human\emote\human.dm" #include "code\modules\mob\living\carbon\human\emote\necoarc.dm" #include "code\modules\mob\living\carbon\human\emote\robot.dm" @@ -1663,7 +1666,6 @@ #include "code\modules\mob\living\carbon\human\species\vatborn.dm" #include "code\modules\mob\living\carbon\human\species\vatgrown.dm" #include "code\modules\mob\living\carbon\human\species\yautja.dm" -#include "code\modules\mob\living\carbon\human\species\zombie.dm" #include "code\modules\mob\living\carbon\xenomorph\abilities.dm" #include "code\modules\mob\living\carbon\xenomorph\attack_alien.dm" #include "code\modules\mob\living\carbon\xenomorph\charge_crush.dm"