Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes humans unable to use vehicle gunner seat #6247

Merged
merged 8 commits into from
May 15, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -175,12 +175,12 @@
#define TRAIT_INFILTRATOR_SYNTH "t_infiltrator_synth"
/// Makes it impossible to strip the inventory of this mob.
#define TRAIT_UNSTRIPPABLE "t_unstrippable"
/// If the species can use objects.
#define TRAIT_OPPOSABLE_THUMBS "t_thumbs"

// HIVE TRAITS
/// If the Hive is a Xenonid Hive
#define TRAIT_XENONID "t_xenonid"
/// If the hive or xeno can use objects.
#define TRAIT_OPPOSABLE_THUMBS "t_thumbs"
/// If the Hive delays round end (this is overridden for some hives). Does not occur naturally. Must be applied in events.
#define TRAIT_NO_HIVE_DELAY "t_no_hive_delay"
/// If the Hive uses it's colors on the mobs. Does not occur naturally, excepting the Mutated hive.
Expand Down Expand Up @@ -348,6 +348,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_CANNOT_EAT" = TRAIT_CANNOT_EAT,
"TRAIT_VULTURE_USER" = TRAIT_VULTURE_USER,
"TRAIT_CLOAKED" = TRAIT_CLOAKED,
"TRAIT_OPPOSABLE_THUMBS" = TRAIT_OPPOSABLE_THUMBS,
),
// /mob/living/carbon/human = list(
// ),
Expand Down
1 change: 1 addition & 0 deletions code/game/objects/objs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,7 @@
if (M.mob_size <= MOB_SIZE_XENO)
if ((M.stat == DEAD && istype(src, /obj/structure/bed/roller) || HAS_TRAIT(M, TRAIT_OPPOSABLE_THUMBS)))
do_buckle(M, user)
return
if ((M.mob_size > MOB_SIZE_HUMAN))
to_chat(user, SPAN_WARNING("[M] is too big to buckle in."))
return
Expand Down
1 change: 1 addition & 0 deletions code/modules/mob/living/carbon/human/species/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@
primitive = /mob/living/carbon/human/monkey
unarmed_type = /datum/unarmed_attack/punch
flags = HAS_SKIN_TONE|HAS_LIPS|HAS_UNDERWEAR|HAS_HARDCRIT
mob_inherent_traits = list(TRAIT_OPPOSABLE_THUMBS)
mob_flags = KNOWS_TECHNOLOGY
uses_ethnicity = TRUE

Expand Down
1 change: 1 addition & 0 deletions code/modules/mob/living/carbon/human/species/monkey.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
pain_type = /datum/pain/monkey
unarmed_type = /datum/unarmed_attack/bite
secondary_unarmed_type = /datum/unarmed_attack
mob_inherent_traits = list(TRAIT_OPPOSABLE_THUMBS)
death_message = "lets out a faint chimper as it collapses and stops moving..."
knock_down_reduction = 0.5
stun_reduction = 0.5
Expand Down
12 changes: 6 additions & 6 deletions code/modules/mob/living/carbon/human/species/synthetic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
unarmed_type = /datum/unarmed_attack/punch/synthetic
pain_type = /datum/pain/synthetic
stamina_type = /datum/stamina/none
mob_inherent_traits = list(TRAIT_SUPER_STRONG)
mob_inherent_traits = list(TRAIT_OPPOSABLE_THUMBS, TRAIT_SUPER_STRONG)
rarity_value = 2
insulated = TRUE

Expand Down Expand Up @@ -62,7 +62,7 @@
/datum/species/synthetic/gen_one
name = SYNTH_GEN_ONE
uses_ethnicity = FALSE
mob_inherent_traits = list(TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES)
mob_inherent_traits = list(TRAIT_OPPOSABLE_THUMBS, TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES)

hair_color = "#000000"
icobase = 'icons/mob/humans/species/r_synthetic.dmi'
Expand All @@ -77,7 +77,7 @@
name_plural = "Colonial Synthetics"
uses_ethnicity = TRUE
burn_mod = 0.8
mob_inherent_traits = list(TRAIT_SUPER_STRONG)
mob_inherent_traits = list(TRAIT_OPPOSABLE_THUMBS, TRAIT_SUPER_STRONG)

pain_type = /datum/pain/synthetic/colonial
rarity_value = 1.5
Expand All @@ -97,7 +97,7 @@
/datum/species/synthetic/colonial/colonial_gen_one
name = SYNTH_COLONY_GEN_ONE
uses_ethnicity = FALSE
mob_inherent_traits = list(TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES)
mob_inherent_traits = list(TRAIT_OPPOSABLE_THUMBS, TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES)
//sets colonial_gen_one synth's hair to black
hair_color = "#000000"
//sets colonial_gen_one synth's icon to WJ sprite
Expand All @@ -109,7 +109,7 @@
name = SYNTH_COMBAT
name_plural = "Combat Synthetics"
uses_ethnicity = FALSE
mob_inherent_traits = list(TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES)
mob_inherent_traits = list(TRAIT_OPPOSABLE_THUMBS, TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES)

burn_mod = 0.6 //made for combat
total_health = 250 //made for combat
Expand All @@ -130,7 +130,7 @@
name = SYNTH_INFILTRATOR
name_plural = "Infiltrator Synthetics"
uses_ethnicity = TRUE
mob_inherent_traits = list(TRAIT_SUPER_STRONG, TRAIT_INFILTRATOR_SYNTH)
mob_inherent_traits = list(TRAIT_OPPOSABLE_THUMBS, TRAIT_SUPER_STRONG, TRAIT_INFILTRATOR_SYNTH)

bloodsplatter_type = /obj/effect/temp_visual/dir_setting/bloodsplatter/human

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
death_message = "violently gargles fluid and seizes up, the glow in their eyes dimming..."
uses_ethnicity = FALSE
burn_mod = 0.65 // made for hazardous environments, withstanding temperatures up to 1210 degrees
mob_inherent_traits = list(TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES, TRAIT_EMOTE_CD_EXEMPT, TRAIT_CANNOT_EAT, TRAIT_UNSTRIPPABLE)
mob_inherent_traits = list(TRAIT_OPPOSABLE_THUMBS, TRAIT_SUPER_STRONG, TRAIT_INTENT_EYES, TRAIT_EMOTE_CD_EXEMPT, TRAIT_CANNOT_EAT, TRAIT_UNSTRIPPABLE)

slowdown = 0.45
hair_color = "#000000"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
uses_ethnicity = TRUE
flags = IS_WHITELISTED|HAS_SKIN_COLOR|NO_CLONE_LOSS|NO_POISON|NO_NEURO|SPECIAL_BONEBREAK|NO_SHRAPNEL|HAS_HARDCRIT
mob_inherent_traits = list(
TRAIT_OPPOSABLE_THUMBS,
TRAIT_YAUTJA_TECH,
TRAIT_SUPER_STRONG,
TRAIT_FOREIGN_BIO,
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/species/zombie.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
stamina_type = /datum/stamina/none
death_message = "seizes up and falls limp..."
flags = NO_BREATHE|NO_CLONE_LOSS|NO_POISON|NO_NEURO|NO_SHRAPNEL
mob_inherent_traits = list(TRAIT_FOREIGN_BIO)
mob_inherent_traits = list(TRAIT_OPPOSABLE_THUMBS, TRAIT_FOREIGN_BIO)
brute_mod = 0.6 //Minor bullet resistance
burn_mod = 0.8 //Lowered burn damage since it would 1-shot zombies from 2 to 0.8.
speech_chance = 5
Expand Down
5 changes: 3 additions & 2 deletions code/modules/vehicles/interior/interactable/seats.dm
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,9 @@
to_chat(user, SPAN_WARNING("You are unable to use heavy weaponry."))
return

if(!HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
return
if(!HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
return

for(var/obj/item/I in user.contents) //prevents shooting while zoomed in, but zoom can still be activated and used without shooting
if(I.zoom)
I.zoom(user)
Expand Down
Loading