diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm index 9c7685d3d3..fa7dda8f57 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm @@ -26,6 +26,7 @@ cold_level_3 = 0 eyes = "vox_eyes_s" + gluttonous = 2 breath_type = "nitrogen" poison_type = "oxygen" diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 982a3dfe8a..cc53182440 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -108,7 +108,7 @@ var/slowdown = 0 // Passive movement speed malus (or boost, if negative) var/primitive_form // Lesser form, if any (ie. monkey for humans) var/greater_form // Greater form, if any, ie. human for monkeys. - var/gluttonous // Can eat some mobs. 1 for monkeys, 2 for people. + var/gluttonous // Can eat some mobs. 1 for mice, 2 for monkeys, 3 for people. var/rarity_value = 1 // Relative rarity/collector value for this species. // Determines the organs that the species spawns with and var/list/has_organ = list( // which required-organ checks are conducted. @@ -155,6 +155,11 @@ for(var/u_type in unarmed_types) unarmed_attacks += new u_type() + if(gluttonous) + if(!inherent_verbs) + inherent_verbs = list() + inherent_verbs |= /mob/living/carbon/human/proc/regurgitate + /datum/species/proc/get_station_variant() return name diff --git a/code/modules/mob/living/carbon/human/species/species_attack.dm b/code/modules/mob/living/carbon/human/species/species_attack.dm index 466b1bd2ab..afdb202f6a 100644 --- a/code/modules/mob/living/carbon/human/species/species_attack.dm +++ b/code/modules/mob/living/carbon/human/species/species_attack.dm @@ -2,7 +2,6 @@ attack_verb = list("bit", "chomped on") attack_sound = 'sound/weapons/bite.ogg' shredding = 0 - damage = 5 sharp = 1 edge = 1 @@ -11,7 +10,6 @@ attack_noun = list("tendril") eye_attack_text = "a tendril" eye_attack_text_victim = "a tendril" - damage = 5 /datum/unarmed_attack/claws attack_verb = list("scratched", "clawed", "slashed") @@ -20,7 +18,6 @@ eye_attack_text_victim = "sharp claws" attack_sound = 'sound/weapons/slice.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' - damage = 5 sharp = 1 edge = 1 @@ -57,18 +54,18 @@ /datum/unarmed_attack/claws/strong attack_verb = list("slashed") - damage = 10 + damage = 5 shredding = 1 /datum/unarmed_attack/bite/strong attack_verb = list("mauled") - damage = 15 + damage = 8 shredding = 1 /datum/unarmed_attack/slime_glomp attack_verb = list("glomped") attack_noun = list("body") - damage = 0 + damage = 2 /datum/unarmed_attack/slime_glomp/apply_effects() //Todo, maybe have a chance of causing an electrical shock? diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index b0d68f7118..abf187db1e 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -25,6 +25,8 @@ primitive_form = "Stok" darksight = 3 gluttonous = 1 + slowdown = 0.5 + brute_mod = 0.8 num_alternate_languages = 2 secondary_langs = list("Sinta'unathi") @@ -42,7 +44,7 @@ heat_level_2 = 480 //Default 400 heat_level_3 = 1100 //Default 1000 - spawn_flags = CAN_JOIN | IS_WHITELISTED + spawn_flags = CAN_JOIN | IS_WHITELISTED appearance_flags = HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR | HAS_EYE_COLOR flesh_color = "#34AF10" @@ -77,8 +79,10 @@ tail_animation = 'icons/mob/species/tajaran/tail.dmi' unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp) darksight = 8 - slowdown = -1 - brute_mod = 1.2 + slowdown = -0.5 + brute_mod = 1.15 + burn_mod = 1.15 + gluttonous = 1 num_alternate_languages = 2 secondary_langs = list("Siik'tajr") @@ -90,7 +94,7 @@ cold_level_1 = 200 //Default 260 cold_level_2 = 140 //Default 200 - cold_level_3 = 80 //Default 120 + cold_level_3 = 80 //Default 120 heat_level_1 = 330 //Default 360 heat_level_2 = 380 //Default 400 diff --git a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm index 02c7abe0cd..1c5e88ce59 100644 --- a/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm +++ b/code/modules/mob/living/carbon/human/species/xenomorphs/alien_species.dm @@ -11,7 +11,7 @@ has_fine_manipulation = 0 siemens_coefficient = 0 - gluttonous = 2 + gluttonous = 3 eyes = "blank_eyes" diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 8960d5128e..ed8e122b62 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -355,7 +355,7 @@ var/datum/unarmed_attack/attack = H.get_unarmed_attack(src, hit_zone) if(!attack) return - + if(state < GRAB_NECK) assailant << "You require a better grab to do this." return @@ -370,7 +370,7 @@ assailant.attack_log += text("\[[time_stamp()]\] Attacked [affecting.name]'s eyes using grab ([affecting.ckey])") affecting.attack_log += text("\[[time_stamp()]\] Had eyes attacked by [assailant.name]'s grab ([assailant.ckey])") msg_admin_attack("[key_name(assailant)] attacked [key_name(affecting)]'s eyes using a grab action.") - + attack.handle_eye_attack(assailant, affecting) else if(hit_zone != "head") if(state < GRAB_NECK) @@ -428,10 +428,24 @@ else var/mob/living/carbon/human/H = user if(istype(H) && H.species.gluttonous) - if(H.species.gluttonous == 2) + // Small animals (mice, lizards). + if(affecting.small) can_eat = 2 - else if(!ishuman(affecting) && !issmall(affecting) && (affecting.small || iscarbon(affecting))) - can_eat = 1 + else + if(H.species.gluttonous == 2) + // Diona nymphs, alien larvae. + if(iscarbon(affecting) && !ishuman(affecting)) + can_eat = 2 + // Monkeys. + else if(issmall(affecting)) + can_eat = 1 + else if(H.species.gluttonous == 3) + // Full-sized humans. + if(ishuman(affecting) && !issmall(affecting)) + can_eat = 1 + // Literally everything else. + else + can_eat = 2 if(can_eat) var/mob/living/carbon/attacker = user diff --git a/html/changelogs/zuhayr-species.yml b/html/changelogs/zuhayr-species.yml new file mode 100644 index 0000000000..5f80eb2cc7 --- /dev/null +++ b/html/changelogs/zuhayr-species.yml @@ -0,0 +1,8 @@ +author: Zuhayr +delete-after: True +changes: + - rscadd: "Unathi now have minor slowdown and 20% brute resist." + - rscadd: "Tajarans now have lower bonus speed and a flat 15% malus to brute and burn." + - rscadd: "Vox can now eat monkeys and small animals." + - rscadd: "Tajarans can now eat small animals." + - rscadd: "Unarmed attack damage has been lowered across the board."