diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 1f04267e5a..08fbcbb91a 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1256,6 +1256,18 @@ if(!item) return FALSE //Grab processing has a chance of returning null + // Help intent + Adjacent = pass item to other + if(a_intent == I_HELP && Adjacent(target) && isitem(item) && ishuman(target)) + var/obj/item/I = item + var/mob/living/carbon/human/H = target + if(H.in_throw_mode && H.a_intent == I_HELP && unEquip(I)) + H.put_in_hands(I) // If this fails it will just end up on the floor, but that's fitting for things like dionaea. + visible_message(span_filter_notice(span_bold("[src]") + " hands \the [H] \a [I]."), span_notice("You give \the [target] \a [I].")) + else + to_chat(src, span_notice("You offer \the [I] to \the [target].")) + do_give(H) + return TRUE + drop_from_inventory(item) if(!item || QDELETED(item)) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 2ceae66796..02b0ed53e6 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1138,6 +1138,19 @@ in_throw_mode = 1 if(throw_icon && !issilicon(src)) // Silicon use this for something else. Do not overwrite their HUD icon throw_icon.icon_state = "act_throw_on" + +/mob/verb/spacebar_throw_on() + set name = ".throwon" + set hidden = TRUE + set instant = TRUE + throw_mode_on() + +/mob/verb/spacebar_throw_off() + set name = ".throwoff" + set hidden = TRUE + set instant = TRUE + throw_mode_off() + /mob/proc/isSynthetic() return 0 diff --git a/code/modules/tgui/modules/appearance_changer.dm b/code/modules/tgui/modules/appearance_changer.dm index 34c1235935..b1b1eaffd2 100644 --- a/code/modules/tgui/modules/appearance_changer.dm +++ b/code/modules/tgui/modules/appearance_changer.dm @@ -767,13 +767,11 @@ data["digitigrade"] = owner.digitigrade data["blood_reagent"] = owner.dna.blood_reagents data["blood_color"] = owner.dna.blood_color - // CHOMPEnable Start data["species_sound"] = owner.species.species_sounds //TODO: RAISE UP FROM CHOMP - // CHOMPEnable End // Are these needed? It seems to be only used if above is unset?? - //data["species_sounds_gendered"] = owner.species.gender_specific_species_sounds - //data["species_sounds_female"] = owner.species.species_sounds_female - //data["species_sounds_male"] = owner.species.species_sounds_male + data["species_sounds_gendered"] = owner.species.gender_specific_species_sounds + data["species_sounds_female"] = owner.species.species_sounds_female + data["species_sounds_male"] = owner.species.species_sounds_male // flavor if(!owner.flavor_texts.len) owner.flavor_texts["general"] = ""