diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index b8171f59e0..0dc5b34b60 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -762,7 +762,7 @@ //Clear the access reqs, disable the safeties, and open up all paintjobs. user << "You run the sequencer across the interface, corrupting the operating protocols." departments = list("Engineering","Mining","Medical","Security","Atmos","^%###^%$") - species -= "Teshari" // Until someone feels like making sprites for them/they are common enough to justify inclusion in the station cyclers. + species = list("Human","Tajara","Skrell","Unathi", "Teshari") emagged = 1 safeties = 0 diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index fdf9206058..ad9b9e8f8c 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -7,14 +7,13 @@ matter = list(DEFAULT_WALL_MATERIAL = 75) subspace_transmission = 1 canhear_range = 0 // can't hear headsets from very far away - slot_flags = SLOT_EARS + sprite_sheets = list("Teshari" = 'icons/mob/species/seromi/ears.dmi') + var/translate_binary = 0 var/translate_hive = 0 var/obj/item/device/encryptionkey/keyslot1 = null var/obj/item/device/encryptionkey/keyslot2 = null -// maxf = 1489 - var/ks1type = /obj/item/device/encryptionkey var/ks2type = null diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 0254ad8a77..78da7f8b52 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -189,37 +189,6 @@ update_clothing_icon() -/////////////////////////////////////////////////////////////////////// -//Glasses -/* -SEE_SELF // can see self, no matter what -SEE_MOBS // can see all mobs, no matter what -SEE_OBJS // can see all objs, no matter what -SEE_TURFS // can see all turfs (and areas), no matter what -SEE_PIXELS// if an object is located on an unlit area, but some of its pixels are - // in a lit area (via pixel_x,y or smooth movement), can see those pixels -BLIND // can't see anything - -/obj/item/clothing/glasses - name = "glasses" - icon = 'icons/obj/clothing/glasses.dmi' - w_class = 2.0 - body_parts_covered = EYES - slot_flags = SLOT_EYES - var/vision_flags = 0 - var/darkness_view = 0//Base human is 2 - var/see_invisible = -1 - sprite_sheets = list( - "Vox" = 'icons/mob/species/vox/eyes.dmi', - "Teshari" = 'icons/mob/species/seromi/eyes.dmi', - ) - -/obj/item/clothing/glasses/update_clothing_icon() - if (ismob(src.loc)) - var/mob/M = src.loc - M.update_inv_glasses() -*/ -/////////////////////////////////////////////////////////////////////// //Gloves /obj/item/clothing/gloves name = "gloves" @@ -584,7 +553,7 @@ BLIND // can't see anything else rolled_down = -1 if(H) update_clothing_icon() - + /obj/item/clothing/under/proc/update_rollsleeves_status() var/mob/living/carbon/human/H if(istype(src.loc, /mob/living/carbon/human)) @@ -767,7 +736,7 @@ BLIND // can't see anything item_state_slots[slot_w_uniform_str] = "[worn_state]" usr << "You roll up your [src]." update_clothing_icon() - + /obj/item/clothing/under/verb/rollsleeves() set name = "Roll Up Sleeves" set category = "Object" diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 60cbad098b..2f2dad608b 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -1,3 +1,15 @@ +/////////////////////////////////////////////////////////////////////// +//Glasses +/* +SEE_SELF // can see self, no matter what +SEE_MOBS // can see all mobs, no matter what +SEE_OBJS // can see all objs, no matter what +SEE_TURFS // can see all turfs (and areas), no matter what +SEE_PIXELS// if an object is located on an unlit area, but some of its pixels are + // in a lit area (via pixel_x,y or smooth movement), can see those pixels +BLIND // can't see anything +*/ +/////////////////////////////////////////////////////////////////////// /obj/item/clothing/glasses name = "glasses" @@ -13,7 +25,12 @@ var/active = 1 var/activation_sound = 'sound/items/goggles_charge.ogg' var/obj/screen/overlay = null - + + sprite_sheets = list( + "Vox" = 'icons/mob/species/vox/eyes.dmi', + "Teshari" = 'icons/mob/species/seromi/eyes.dmi' + ) + /obj/item/clothing/glasses/update_clothing_icon() if (ismob(src.loc)) var/mob/M = src.loc @@ -89,7 +106,7 @@ item_state = "eyepatch" body_parts_covered = 0 var/eye = null - + /obj/item/clothing/glasses/eyepatch/verb/switcheye() set name = "Switch Eyepatch" set category = "Object" diff --git a/code/modules/clothing/under/xenos/seromi.dm b/code/modules/clothing/under/xenos/seromi.dm index d0c565ac10..e4cc060502 100644 --- a/code/modules/clothing/under/xenos/seromi.dm +++ b/code/modules/clothing/under/xenos/seromi.dm @@ -5,6 +5,7 @@ icon_state = "seromi_grey" worn_state = "seromi_grey" species_restricted = list("Teshari") + body_parts_covered = 0 // It's a thin piece of cloth with a neck hole. /obj/item/clothing/under/seromi/white name = "small white smock" diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm index 300c48ee4c..6887ef1fba 100644 --- a/code/modules/detectivework/tools/rag.dm +++ b/code/modules/detectivework/tools/rag.dm @@ -143,7 +143,7 @@ return if(!on_fire && istype(A) && (src in user)) - if(A.is_open_container()) + if(A.is_open_container() && !(A in user)) remove_contents(user, A) else if(!ismob(A)) //mobs are handled in attack() - this prevents us from wiping down people while smothering them. wipe_down(A, user) diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index 212f2219ad..15c3dc321e 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -98,7 +98,7 @@ var/list/holder_mob_icon_cache = list() /mob/living/MouseDrop(var/atom/over_object) var/mob/living/carbon/human/H = over_object - if(holder_type && istype(H) && !H.lying && !issmall(H) && Adjacent(H)) + if(holder_type && istype(H) && !H.lying && !issmall(H) && Adjacent(H) && (src.a_intent == I_HELP && H.a_intent == I_HELP)) get_scooped(H, (usr == src)) return return ..() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index f7f1ba7486..a0636f453f 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1357,13 +1357,6 @@ return 1 return 0 -/mob/living/carbon/human/MouseDrop(var/atom/over_object) - var/mob/living/carbon/human/H = over_object - if(holder_type && a_intent == I_HELP && istype(H) && H == usr && H.a_intent == I_HELP && !issmall(H) && Adjacent(H)) - get_scooped(H) - return - return ..() - //Puts the item into our active hand if possible. returns 1 on success. /mob/living/carbon/human/put_in_active_hand(var/obj/item/W) return (hand ? put_in_l_hand(W) : put_in_r_hand(W)) diff --git a/code/modules/mob/living/carbon/human/species/station/seromi.dm b/code/modules/mob/living/carbon/human/species/station/seromi.dm index 3928ed9f01..40fd5c63b8 100644 --- a/code/modules/mob/living/carbon/human/species/station/seromi.dm +++ b/code/modules/mob/living/carbon/human/species/station/seromi.dm @@ -111,3 +111,7 @@ return SEE_SELF|SEE_MOBS else return SEE_SELF + +/datum/species/teshari/equip_survival_gear(var/mob/living/carbon/human/H) + ..() + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes) \ No newline at end of file diff --git a/code/modules/projectiles/targeting/targeting_overlay.dm b/code/modules/projectiles/targeting/targeting_overlay.dm index 48eebf083a..7a6fdcc0ca 100644 --- a/code/modules/projectiles/targeting/targeting_overlay.dm +++ b/code/modules/projectiles/targeting/targeting_overlay.dm @@ -115,6 +115,8 @@ obj/aiming_overlay/proc/update_aiming_deferred() if(!(aiming_with in owner) || (istype(owner, /mob/living/carbon/human) && (owner.l_hand != aiming_with && owner.r_hand != aiming_with))) owner << "You must keep hold of your weapon!" + else if(owner.eye_blind) + owner << "You are blind and cannot see your target!" else if(!aiming_at || !istype(aiming_at.loc, /turf)) owner << "You have lost sight of your target!" else if(owner.incapacitated() || owner.lying || owner.restrained()) diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index eb76325832..70ac20ae87 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -247,7 +247,8 @@ if(user.client) user.client.screen -= O P.wrapped = O - O.loc = P + O.forceMove(P) + P.w_class = O.w_class var/i = round(O.w_class) if(i in list(1,2,3,4,5)) P.icon_state = "deliverycrate[i]" diff --git a/icons/mob/holder_complex.dmi b/icons/mob/holder_complex.dmi index 0c0235da02..b067bec14f 100644 Binary files a/icons/mob/holder_complex.dmi and b/icons/mob/holder_complex.dmi differ diff --git a/icons/mob/species/seromi/head.dmi b/icons/mob/species/seromi/head.dmi index 54be1e831d..a931fc2d1f 100644 Binary files a/icons/mob/species/seromi/head.dmi and b/icons/mob/species/seromi/head.dmi differ diff --git a/icons/mob/species/seromi/suit.dmi b/icons/mob/species/seromi/suit.dmi index 970a9686cc..ae60d147da 100644 Binary files a/icons/mob/species/seromi/suit.dmi and b/icons/mob/species/seromi/suit.dmi differ