mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-26 10:03:45 +00:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -253,6 +253,13 @@ var/datum/cameranet/cameranet = new()
|
||||
..()
|
||||
eyeobj.ai = src
|
||||
|
||||
/mob/living/silicon/ai/death(gibbed)
|
||||
if(client && client.eye == eyeobj)
|
||||
for(var/datum/camerachunk/c in eyeobj.visibleCameraChunks)
|
||||
c.remove(eyeobj)
|
||||
client.eye = src
|
||||
return ..(gibbed)
|
||||
|
||||
/mob/living/silicon/ai/verb/freelook()
|
||||
set category = "AI Commands"
|
||||
set name = "freelook"
|
||||
|
||||
@@ -625,7 +625,8 @@ datum/mind
|
||||
var/mob/living/carbon/human/H = current
|
||||
del(H.belt)
|
||||
del(H.back)
|
||||
del(H.ears)
|
||||
del(H.l_ear)
|
||||
del(H.r_ear)
|
||||
del(H.gloves)
|
||||
del(H.head)
|
||||
del(H.shoes)
|
||||
|
||||
@@ -4,10 +4,59 @@
|
||||
name = "ears"
|
||||
w_class = 1.0
|
||||
throwforce = 2
|
||||
var/twoeared = 0
|
||||
|
||||
/obj/item/clothing/ears/attack_hand(mob/user as mob)
|
||||
if (!user) return
|
||||
|
||||
if (src.loc != user || !istype(user,/mob/living/carbon/human))
|
||||
..()
|
||||
return
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.l_ear != src && H.r_ear != src)
|
||||
..()
|
||||
return
|
||||
|
||||
if(!canremove)
|
||||
return
|
||||
|
||||
var/obj/item/clothing/ears/O
|
||||
if(twoeared)
|
||||
O = (H.l_ear == src ? H.r_ear : H.l_ear)
|
||||
user.u_equip(O)
|
||||
if(!istype(src,/obj/item/clothing/ears/offear))
|
||||
del(O)
|
||||
O = src
|
||||
else
|
||||
O = src
|
||||
|
||||
user.u_equip(src)
|
||||
|
||||
if (O)
|
||||
user.put_in_hand(O)
|
||||
O.add_fingerprint(user)
|
||||
|
||||
if(istype(src,/obj/item/clothing/ears/offear))
|
||||
del(src)
|
||||
|
||||
/obj/item/clothing/ears/offear
|
||||
name = "Other ear"
|
||||
w_class = 5.0
|
||||
icon = 'screen1_old.dmi'
|
||||
icon_state = "block"
|
||||
twoeared = 1
|
||||
|
||||
New(var/obj/O)
|
||||
name = O.name
|
||||
desc = O.desc
|
||||
icon = O.icon
|
||||
icon_state = O.icon_state
|
||||
dir = O.dir
|
||||
|
||||
/obj/item/clothing/ears/earmuffs
|
||||
name = "earmuffs"
|
||||
desc = "Protects your hearing from loud noises, and quiet ones as well."
|
||||
icon_state = "earmuffs"
|
||||
protective_temperature = 500
|
||||
item_state = "earmuffs"
|
||||
item_state = "earmuffs"
|
||||
twoeared = 1
|
||||
@@ -1185,7 +1185,8 @@ proc/listclearnulls(list/list)
|
||||
|
||||
if(hasvar(src,"back")) if(src:back) items += src:back
|
||||
if(hasvar(src,"belt")) if(src:belt) items += src:belt
|
||||
if(hasvar(src,"ears")) if(src:ears) items += src:ears
|
||||
if(hasvar(src,"l_ear")) if(src:l_ear) items += src:l_ear
|
||||
if(hasvar(src,"r_ear")) if(src:r_ear) items += src:r_ear
|
||||
if(hasvar(src,"glasses")) if(src:glasses) items += src:glasses
|
||||
if(hasvar(src,"gloves")) if(src:gloves) items += src:gloves
|
||||
if(hasvar(src,"head")) if(src:head) items += src:head
|
||||
|
||||
@@ -113,8 +113,11 @@ proc/countJob(rank)
|
||||
src.wear_id = W
|
||||
equipped = 1
|
||||
if(slot_ears)
|
||||
if(!src.ears)
|
||||
src.ears = W
|
||||
if(!src.l_ear)
|
||||
src.l_ear = W
|
||||
equipped = 1
|
||||
else if(!src.r_ear)
|
||||
src.r_ear = W
|
||||
equipped = 1
|
||||
if(slot_glasses)
|
||||
if(!src.glasses)
|
||||
|
||||
@@ -230,8 +230,11 @@
|
||||
if (!R && traitor_mob.w_uniform && istype(traitor_mob.belt, /obj/item/device/radio))
|
||||
R = traitor_mob.belt
|
||||
loc = "on your belt"
|
||||
if (!R && istype(traitor_mob.ears, /obj/item/device/radio))
|
||||
R = traitor_mob.ears
|
||||
if (!R && istype(traitor_mob.l_ear, /obj/item/device/radio))
|
||||
R = traitor_mob.l_ear
|
||||
loc = "on your head"
|
||||
if (!R && istype(traitor_mob.r_ear, /obj/item/device/radio))
|
||||
R = traitor_mob.r_ear
|
||||
loc = "on your head"
|
||||
if (!R)
|
||||
traitor_mob << "Unfortunately, the Syndicate wasn't able to get you a radio."
|
||||
|
||||
@@ -14,8 +14,9 @@
|
||||
#define ui_hstore1 "SOUTH+1,5"
|
||||
#define ui_resist "EAST+1,SOUTH-1"
|
||||
#define ui_gloves "SOUTH,5"
|
||||
#define ui_glasses "SOUTH,7"
|
||||
#define ui_ears "SOUTH,6"
|
||||
#define ui_glasses "SOUTH+1,6"
|
||||
#define ui_lear "SOUTH,7"
|
||||
#define ui_rear "SOUTH,6"
|
||||
#define ui_head "SOUTH+1,2"
|
||||
#define ui_shoes "SOUTH,4"
|
||||
#define ui_belt "SOUTH-1,3"
|
||||
@@ -56,7 +57,8 @@ obj/hud/New(var/type = 0)
|
||||
if(show_otherinventory)
|
||||
if(mymob:shoes) mymob:shoes:screen_loc = ui_shoes
|
||||
if(mymob:gloves) mymob:gloves:screen_loc = ui_gloves
|
||||
if(mymob:ears) mymob:ears:screen_loc = ui_ears
|
||||
if(mymob:l_ear) mymob:l_ear:screen_loc = ui_lear
|
||||
if(mymob:r_ear) mymob:r_ear:screen_loc = ui_rear
|
||||
if(mymob:s_store) mymob:s_store:screen_loc = ui_sstore1
|
||||
if(mymob:glasses) mymob:glasses:screen_loc = ui_glasses
|
||||
if(mymob:h_store) mymob:h_store:screen_loc = ui_hstore1
|
||||
@@ -64,7 +66,8 @@ obj/hud/New(var/type = 0)
|
||||
if(istype(mymob, /mob/living/carbon/human))
|
||||
if(mymob:shoes) mymob:shoes:screen_loc = null
|
||||
if(mymob:gloves) mymob:gloves:screen_loc = null
|
||||
if(mymob:ears) mymob:ears:screen_loc = null
|
||||
if(mymob:l_ear) mymob:l_ear:screen_loc = null
|
||||
if(mymob:r_ear) mymob:r_ear:screen_loc = null
|
||||
if(mymob:s_store) mymob:s_store:screen_loc = null
|
||||
if(mymob:glasses) mymob:glasses:screen_loc = null
|
||||
if(mymob:h_store) mymob:h_store:screen_loc = null
|
||||
|
||||
@@ -225,7 +225,9 @@ var/global/datum/controller/occupations/job_master
|
||||
H.Robotize()
|
||||
return 1
|
||||
|
||||
H.equip_if_possible(new /obj/item/device/radio/headset(H), H.slot_ears)
|
||||
// make sure we don't already have one on 1 ear :p
|
||||
if(!istype(H.r_ear,/obj/item/device/radio/headset) && !istype(H.l_ear,/obj/item/device/radio/headset))
|
||||
H.equip_if_possible(new /obj/item/device/radio/headset(H), H.slot_ears)
|
||||
var/obj/item/weapon/storage/backpack/BPK = new/obj/item/weapon/storage/backpack(H)
|
||||
H.equip_if_possible(BPK, H.slot_back,1)
|
||||
H.equip_if_possible(new /obj/item/weapon/storage/box(H.back), H.slot_in_backpack)
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
dat += {"
|
||||
<A href='?src=\ref[src];search=1'>Search Records</A>
|
||||
<BR><A href='?src=\ref[src];screen=2'>List Records</A>
|
||||
<BR><A href='?src=\ref[src];search_dna=1'>Search DNA</A>
|
||||
<BR>
|
||||
<BR><A href='?src=\ref[src];screen=5'>Virus Database</A>
|
||||
<BR><A href='?src=\ref[src];screen=6'>Medbot Tracking</A>
|
||||
@@ -404,6 +405,24 @@
|
||||
P.name = "paper- 'Medical Record'"
|
||||
src.printing = null
|
||||
|
||||
if (href_list["search_dna"])
|
||||
var/t1 = input("Search String: (DNA)", "Medical records", null, null) as text
|
||||
if ((!( t1 ) || usr.stat || !( authenticated ) || usr.restrained() || (!in_range(src, usr)) && (!istype(usr, /mob/living/silicon))))
|
||||
return
|
||||
active1 = null
|
||||
active2 = null
|
||||
t1 = lowertext(t1)
|
||||
for(var/datum/data/record/R in data_core.medical)
|
||||
if (lowertext(R.fields["b_dna"]) == t1)
|
||||
active2 = R
|
||||
if (!( active2 ))
|
||||
temp = text("Could not locate record [].", t1)
|
||||
else
|
||||
for(var/datum/data/record/E in data_core.general)
|
||||
if ((E.fields["name"] == active2.fields["name"] || E.fields["id"] == active2.fields["id"]))
|
||||
active1 = E
|
||||
screen = 4
|
||||
|
||||
src.add_fingerprint(usr)
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
for(var/mob/living/carbon/M in ohearers(6, chassis))
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(istype(H.ears, /obj/item/clothing/ears/earmuffs))
|
||||
if(istype(H.l_ear, /obj/item/clothing/ears/earmuffs) || istype(H.r_ear, /obj/item/clothing/ears/earmuffs))
|
||||
continue
|
||||
M << "<font color='red' size='7'>HONK</font>"
|
||||
if(!M.sleeping_willingly)
|
||||
|
||||
@@ -161,7 +161,7 @@ FLASHBANG
|
||||
if(iscarbon(M))
|
||||
eye_safety = M.eyecheck()
|
||||
if(ishuman(M))
|
||||
if(istype(M:ears, /obj/item/clothing/ears/earmuffs))
|
||||
if(istype(M:l_ear, /obj/item/clothing/ears/earmuffs) || istype(M:r_ear, /obj/item/clothing/ears/earmuffs))
|
||||
ear_safety += 2
|
||||
if(M.mutations & HULK)
|
||||
ear_safety += 1
|
||||
|
||||
@@ -30,8 +30,11 @@
|
||||
else
|
||||
usr << "\blue [src.name] has a \icon[src.wear_suit] [src.wear_suit.name] on."
|
||||
|
||||
if (src.ears)
|
||||
usr << "\blue [src.name] has a \icon[src.ears] [src.ears.name] by [t_his] mouth."
|
||||
if (src.l_ear)
|
||||
usr << "\blue [src.name] has a \icon[src.l_ear] [src.l_ear.name] by [t_his] mouth."
|
||||
|
||||
if (src.r_ear)
|
||||
usr << "\blue [src.name] has a \icon[src.r_ear] [src.r_ear.name] by [t_his] mouth."
|
||||
|
||||
if (src.wear_mask)
|
||||
if (src.wear_mask.blood_DNA)
|
||||
|
||||
@@ -271,10 +271,20 @@
|
||||
src.other += using
|
||||
|
||||
using = new src.h_type( src )
|
||||
using.name = "ears"
|
||||
using.name = "l_ear"
|
||||
using.dir = EAST
|
||||
using.icon = ui_style
|
||||
using.icon_state = "ears"
|
||||
using.screen_loc = ui_ears
|
||||
using.screen_loc = ui_lear
|
||||
using.layer = 19
|
||||
src.other += using
|
||||
|
||||
using = new src.h_type( src )
|
||||
using.name = "r_ear"
|
||||
using.dir = WEST
|
||||
using.icon = ui_style
|
||||
using.icon_state = "ears"
|
||||
using.screen_loc = ui_rear
|
||||
using.layer = 19
|
||||
src.other += using
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@
|
||||
var/obj/item/clothing/gloves/gloves = null
|
||||
var/obj/item/clothing/glasses/glasses = null
|
||||
var/obj/item/clothing/head/head = null
|
||||
var/obj/item/clothing/ears/ears = null
|
||||
var/obj/item/clothing/ears/l_ear = null
|
||||
var/obj/item/clothing/ears/r_ear = null
|
||||
var/obj/item/weapon/card/id/wear_id = null
|
||||
var/obj/item/weapon/r_store = null
|
||||
var/obj/item/weapon/l_store = null
|
||||
@@ -252,7 +253,7 @@
|
||||
b_loss = b_loss/1.5
|
||||
f_loss = f_loss/1.5
|
||||
|
||||
if (!istype(ears, /obj/item/clothing/ears/earmuffs))
|
||||
if (!istype(l_ear, /obj/item/clothing/ears/earmuffs) && !istype(r_ear, /obj/item/clothing/ears/earmuffs))
|
||||
ear_damage += 30
|
||||
ear_deaf += 120
|
||||
|
||||
@@ -260,7 +261,7 @@
|
||||
b_loss += 30
|
||||
if (!prob(getarmor(null, "bomb")))
|
||||
b_loss = b_loss/2
|
||||
if (!istype(ears, /obj/item/clothing/ears/earmuffs))
|
||||
if (!istype(l_ear, /obj/item/clothing/ears/earmuffs) && !istype(r_ear, /obj/item/clothing/ears/earmuffs))
|
||||
ear_damage += 15
|
||||
ear_deaf += 60
|
||||
if (prob(50) && !shielded)
|
||||
@@ -363,8 +364,10 @@
|
||||
del(face_standing)
|
||||
del(face_lying)
|
||||
|
||||
else if (W == ears)
|
||||
ears = null
|
||||
else if (W == l_ear)
|
||||
l_ear = null
|
||||
else if (W == r_ear)
|
||||
r_ear = null
|
||||
else if (W == shoes)
|
||||
shoes = null
|
||||
else if (W == belt)
|
||||
@@ -523,15 +526,41 @@
|
||||
if(istype(W,/obj/item/clothing/head/kitty))
|
||||
W.update_icon(src)
|
||||
W.equipped(src, text)
|
||||
if("ears")
|
||||
if (ears)
|
||||
if("l_ear")
|
||||
if (l_ear)
|
||||
if (emptyHand)
|
||||
ears.DblClick()
|
||||
l_ear.DblClick()
|
||||
return
|
||||
if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) ))
|
||||
else if(emptyHand)
|
||||
return
|
||||
if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) ) && W.w_class != 1)
|
||||
return
|
||||
if(istype(W,/obj/item/clothing/ears) && W:twoeared && r_ear)
|
||||
return
|
||||
u_equip(W)
|
||||
ears = W
|
||||
l_ear = W
|
||||
if(istype(W,/obj/item/clothing/ears) && W:twoeared)
|
||||
var/obj/item/clothing/ears/offear/O = new(W)
|
||||
O.loc = src
|
||||
equip_if_possible(O, slot_ears)
|
||||
W.equipped(src, text)
|
||||
if("r_ear")
|
||||
if (r_ear)
|
||||
if (emptyHand)
|
||||
r_ear.DblClick()
|
||||
return
|
||||
else if(emptyHand)
|
||||
return
|
||||
if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) ) && W.w_class != 1)
|
||||
return
|
||||
if(istype(W,/obj/item/clothing/ears) && W:twoeared && l_ear)
|
||||
return
|
||||
u_equip(W)
|
||||
r_ear = W
|
||||
if(istype(W,/obj/item/clothing/ears) && W:twoeared)
|
||||
var/obj/item/clothing/ears/offear/O = new(W)
|
||||
O.loc = src
|
||||
equip_if_possible(O, slot_ears)
|
||||
W.equipped(src, text)
|
||||
if("i_clothing")
|
||||
if (w_uniform)
|
||||
@@ -865,8 +894,11 @@
|
||||
var/t1 = glasses.icon_state
|
||||
overlays += image("icon" = 'eyes.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
// Ears
|
||||
if (ears)
|
||||
var/t1 = ears.icon_state
|
||||
if (l_ear)
|
||||
var/t1 = l_ear.icon_state
|
||||
overlays += image("icon" = 'ears.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
if (r_ear)
|
||||
var/t1 = r_ear.icon_state
|
||||
overlays += image("icon" = 'ears.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
// Shoes
|
||||
if (shoes)
|
||||
@@ -1413,11 +1445,16 @@
|
||||
message = text("\red <B>[] fails to take off \a [] from []'s body!</B>", source, target.glasses, target)
|
||||
else
|
||||
message = text("\red <B>[] is trying to take off the [] from []'s eyes!</B>", source, target.glasses, target)
|
||||
if("ears")
|
||||
if(istype(target.ears, /obj/item/clothing)&&!target.ears:canremove)
|
||||
message = text("\red <B>[] fails to take off \a [] from []'s body!</B>", source, target.ears, target)
|
||||
if("l_ear")
|
||||
if(istype(target.l_ear, /obj/item/clothing)&&!target.l_ear:canremove)
|
||||
message = text("\red <B>[] fails to take off \a [] from []'s body!</B>", source, target.l_ear, target)
|
||||
else
|
||||
message = text("\red <B>[] is trying to take off the [] from []'s ears!</B>", source, target.ears, target)
|
||||
message = text("\red <B>[] is trying to take off the [] from []'s left ear!</B>", source, target.l_ear, target)
|
||||
if("r_ear")
|
||||
if(istype(target.r_ear, /obj/item/clothing)&&!target.r_ear:canremove)
|
||||
message = text("\red <B>[] fails to take off \a [] from []'s body!</B>", source, target.r_ear, target)
|
||||
else
|
||||
message = text("\red <B>[] is trying to take off the [] from []'s right ear!</B>", source, target.r_ear, target)
|
||||
if("head")
|
||||
if(istype(target.head, /obj/item/clothing)&&!target.head:canremove)
|
||||
message = text("\red <B>[] fails to take off \a [] from []'s body!</B>", source, target.head, target)
|
||||
@@ -1643,12 +1680,19 @@ It can still be worn/put on as normal.
|
||||
item.layer = 20
|
||||
target.head = item
|
||||
item.loc = target
|
||||
if("ears")
|
||||
if (target.ears)
|
||||
if(istype(target.ears, /obj/item/clothing)&& !target.ears:canremove)
|
||||
if("l_ear")
|
||||
if (target.l_ear)
|
||||
if(istype(target.l_ear, /obj/item/clothing)&& !target.l_ear:canremove)
|
||||
return
|
||||
var/obj/item/W = target.ears
|
||||
var/obj/item/W = target.l_ear
|
||||
target.u_equip(W)
|
||||
|
||||
if(istype(W,/obj/item/clothing/ears/offear))
|
||||
W = target.r_ear
|
||||
if(istype(W, /obj/item/clothing/ears) && W:twoeared)
|
||||
if (target.client)
|
||||
target.client.screen -= target.r_ear
|
||||
target.u_equip(target.r_ear)
|
||||
if (target.client)
|
||||
target.client.screen -= W
|
||||
if (W)
|
||||
@@ -1657,18 +1701,53 @@ It can still be worn/put on as normal.
|
||||
W.layer = initial(W.layer)
|
||||
W.add_fingerprint(source)
|
||||
else
|
||||
if (istype(item, /obj/item/clothing/ears))
|
||||
if (istype(item, /obj/item/clothing/ears) || istype(item, /obj/item/device/radio/headset) || item.w_class == 1)
|
||||
source.drop_item()
|
||||
loc = target
|
||||
item.layer = 20
|
||||
target.ears = item
|
||||
item.loc = target
|
||||
else if (istype(item, /obj/item/device/radio/headset))
|
||||
if(istype(item, /obj/item/clothing/ears) && item:twoeared && target.r_ear)
|
||||
loc = target.loc
|
||||
else
|
||||
loc = target
|
||||
item.layer = 20
|
||||
target.l_ear = item
|
||||
item.loc = target
|
||||
if(istype(item, /obj/item/clothing/ears) && item:twoeared)
|
||||
var/obj/item/clothing/ears/offear/O = new(item)
|
||||
O.loc = target
|
||||
target.equip_if_possible(O, target.slot_ears)
|
||||
if("r_ear")
|
||||
if (target.r_ear)
|
||||
if(istype(target.r_ear, /obj/item/clothing)&& !target.r_ear:canremove)
|
||||
return
|
||||
var/obj/item/W = target.r_ear
|
||||
target.u_equip(W)
|
||||
|
||||
if(istype(W,/obj/item/clothing/ears/offear))
|
||||
W = target.l_ear
|
||||
if(istype(W, /obj/item/clothing/ears) && W:twoeared)
|
||||
if (target.client)
|
||||
target.client.screen -= target.r_ear
|
||||
target.u_equip(target.l_ear)
|
||||
if (target.client)
|
||||
target.client.screen -= W
|
||||
if (W)
|
||||
W.loc = target.loc
|
||||
W.dropped(target)
|
||||
W.layer = initial(W.layer)
|
||||
W.add_fingerprint(source)
|
||||
else
|
||||
if (istype(item, /obj/item/clothing/ears) || istype(item, /obj/item/device/radio/headset) || item.w_class == 1)
|
||||
source.drop_item()
|
||||
loc = target
|
||||
item.layer = 20
|
||||
target.ears = item
|
||||
item.loc = target
|
||||
if(istype(item, /obj/item/clothing/ears) && item:twoeared && target.r_ear)
|
||||
loc = target.loc
|
||||
else
|
||||
loc = target
|
||||
item.layer = 20
|
||||
target.r_ear = item
|
||||
item.loc = target
|
||||
if(istype(item, /obj/item/clothing/ears) && item:twoeared)
|
||||
var/obj/item/clothing/ears/offear/O = new/obj/item/clothing/ears/offear(item)
|
||||
O.loc = target
|
||||
target.equip_if_possible(O, target.slot_ears)
|
||||
if("shoes")
|
||||
if (target.shoes)
|
||||
if(istype(target.shoes, /obj/item/clothing)&& !target.shoes:canremove)
|
||||
@@ -1975,7 +2054,8 @@ It can still be worn/put on as normal.
|
||||
<BR><B>Right Hand:</B> <A href='?src=\ref[src];item=r_hand'>[(r_hand ? r_hand : "Nothing")]</A>
|
||||
<BR><B>Gloves:</B> <A href='?src=\ref[src];item=gloves'>[(gloves ? gloves : "Nothing")]</A>
|
||||
<BR><B>Eyes:</B> <A href='?src=\ref[src];item=eyes'>[(glasses ? glasses : "Nothing")]</A>
|
||||
<BR><B>Ears:</B> <A href='?src=\ref[src];item=ears'>[(ears ? ears : "Nothing")]</A>
|
||||
<BR><B>Left Ear:</B> <A href='?src=\ref[src];item=l_ear'>[(l_ear ? l_ear : "Nothing")]</A>
|
||||
<BR><B>Right Ear:</B> <A href='?src=\ref[src];item=r_ear'>[(r_ear ? r_ear : "Nothing")]</A>
|
||||
<BR><B>Head:</B> <A href='?src=\ref[src];item=head'>[(head ? head : "Nothing")]</A>
|
||||
<BR><B>Shoes:</B> <A href='?src=\ref[src];item=shoes'>[(shoes ? shoes : "Nothing")]</A>
|
||||
<BR><B>Belt:</B> <A href='?src=\ref[src];item=belt'>[(belt ? belt : "Nothing")]</A>
|
||||
@@ -2199,7 +2279,7 @@ It can still be worn/put on as normal.
|
||||
|
||||
|
||||
/mob/living/carbon/human/abiotic(var/full_body = 0)
|
||||
if(full_body && ((src.l_hand && !( src.l_hand.abstract )) || (src.r_hand && !( src.r_hand.abstract )) || (src.back || src.wear_mask || src.head || src.shoes || src.w_uniform || src.wear_suit || src.glasses || src.ears || src.gloves)))
|
||||
if(full_body && ((src.l_hand && !( src.l_hand.abstract )) || (src.r_hand && !( src.r_hand.abstract )) || (src.back || src.wear_mask || src.head || src.shoes || src.w_uniform || src.wear_suit || src.glasses || src.l_ear || src.r_ear || src.gloves)))
|
||||
return 1
|
||||
|
||||
if((src.l_hand && !( src.l_hand.abstract )) || (src.r_hand && !( src.r_hand.abstract )))
|
||||
|
||||
@@ -551,9 +551,12 @@
|
||||
if(glasses)
|
||||
if(glasses.protective_temperature > temp)
|
||||
fire_prot += (glasses.protective_temperature/10)
|
||||
if(ears)
|
||||
if(ears.protective_temperature > temp)
|
||||
fire_prot += (ears.protective_temperature/10)
|
||||
if(l_ear)
|
||||
if(l_ear.protective_temperature > temp)
|
||||
fire_prot += (l_ear.protective_temperature/10)
|
||||
if(r_ear)
|
||||
if(r_ear.protective_temperature > temp)
|
||||
fire_prot += (r_ear.protective_temperature/10)
|
||||
if(wear_suit)
|
||||
if(wear_suit.protective_temperature > temp)
|
||||
fire_prot += (wear_suit.protective_temperature/10)
|
||||
@@ -730,7 +733,7 @@
|
||||
|
||||
if ((sdisabilities & 1 || istype(glasses, /obj/item/clothing/glasses/blindfold)))
|
||||
blinded = 1
|
||||
if ((sdisabilities & 4 || istype(ears, /obj/item/clothing/ears/earmuffs)))
|
||||
if ((sdisabilities & 4 || istype(l_ear, /obj/item/clothing/ears/earmuffs) || istype(r_ear, /obj/item/clothing/ears/earmuffs)))
|
||||
ear_deaf = 1
|
||||
|
||||
if (eye_blurry > 0)
|
||||
|
||||
@@ -248,10 +248,19 @@
|
||||
src.other += using
|
||||
|
||||
using = new src.h_type( src )
|
||||
using.name = "ears"
|
||||
using.name = "left ear"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "ears"
|
||||
using.screen_loc = ui_ears
|
||||
using.screen_loc = ui_lear
|
||||
using.layer = 19
|
||||
using.overlays += blocked
|
||||
src.other += using
|
||||
|
||||
using = new src.h_type( src )
|
||||
using.name = "right ear"
|
||||
using.icon = ui_style
|
||||
using.icon_state = "ears"
|
||||
using.screen_loc = ui_rear
|
||||
using.layer = 19
|
||||
using.overlays += blocked
|
||||
src.other += using
|
||||
|
||||
@@ -3,8 +3,12 @@
|
||||
if (issilicon(src)) return 1
|
||||
if (!ishuman(src)) return
|
||||
var/mob/living/carbon/human/H = src
|
||||
if (H.ears)
|
||||
var/obj/item/device/radio/headset/dongle = H.ears
|
||||
if (H.l_ear || H.r_ear)
|
||||
var/obj/item/device/radio/headset/dongle
|
||||
if(istype(H.l_ear,/obj/item/device/radio/headset))
|
||||
dongle = H.l_ear
|
||||
else
|
||||
dongle = H.r_ear
|
||||
if(!istype(dongle)) return
|
||||
if(dongle.translate_binary) return 1
|
||||
|
||||
@@ -12,8 +16,12 @@
|
||||
if (isalien(src)) return 1
|
||||
if (!ishuman(src)) return
|
||||
var/mob/living/carbon/human/H = src
|
||||
if (H.ears)
|
||||
var/obj/item/device/radio/headset/dongle = H.ears
|
||||
if (H.l_ear || H.r_ear)
|
||||
var/obj/item/device/radio/headset/dongle
|
||||
if(istype(H.l_ear,/obj/item/device/radio/headset))
|
||||
dongle = H.l_ear
|
||||
else
|
||||
dongle = H.r_ear
|
||||
if(!istype(dongle)) return
|
||||
if(dongle.translate_hive) return 1
|
||||
|
||||
@@ -75,8 +83,8 @@
|
||||
var/channel_prefix = copytext(message, 1, 3)
|
||||
|
||||
var/list/keys = list(
|
||||
":r" = "right hand",
|
||||
":l" = "left hand",
|
||||
":r" = "right ear",
|
||||
":l" = "left ear",
|
||||
":i" = "intercom",
|
||||
":h" = "department",
|
||||
":c" = "Command",
|
||||
@@ -156,33 +164,39 @@
|
||||
|
||||
switch (message_mode)
|
||||
if ("headset")
|
||||
if (src:ears)
|
||||
src:ears.talk_into(src, message)
|
||||
used_radios += src:ears
|
||||
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
||||
src:l_ear.talk_into(src, message)
|
||||
used_radios += src:l_ear
|
||||
else if (src:r_ear)
|
||||
src:r_ear.talk_into(src, message)
|
||||
used_radios += src:r_ear
|
||||
|
||||
message_range = 1
|
||||
italics = 1
|
||||
|
||||
if ("secure headset")
|
||||
if (src:ears)
|
||||
src:ears.talk_into(src, message, 1)
|
||||
used_radios += src:ears
|
||||
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
||||
src:l_ear.talk_into(src, message, 1)
|
||||
used_radios += src:l_ear
|
||||
else if (src:r_ear)
|
||||
src:r_ear.talk_into(src, message, 1)
|
||||
used_radios += src:r_ear
|
||||
|
||||
message_range = 1
|
||||
italics = 1
|
||||
|
||||
if ("right hand")
|
||||
if (r_hand)
|
||||
r_hand.talk_into(src, message)
|
||||
used_radios += src:r_hand
|
||||
if ("right ear")
|
||||
if (src:r_ear)
|
||||
src:r_ear.talk_into(src, message)
|
||||
used_radios += src:r_ear
|
||||
|
||||
message_range = 1
|
||||
italics = 1
|
||||
|
||||
if ("left hand")
|
||||
if (l_hand)
|
||||
l_hand.talk_into(src, message)
|
||||
used_radios += src:l_hand
|
||||
if ("left ear")
|
||||
if (src:l_ear)
|
||||
src:l_ear.talk_into(src, message)
|
||||
used_radios += src:l_ear
|
||||
|
||||
message_range = 1
|
||||
italics = 1
|
||||
@@ -213,9 +227,12 @@
|
||||
return
|
||||
|
||||
if ("department")
|
||||
if (src:ears)
|
||||
src:ears.talk_into(src, message, message_mode)
|
||||
used_radios += src:ears
|
||||
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
||||
src:l_ear.talk_into(src, message, message_mode)
|
||||
used_radios += src:l_ear
|
||||
else if (src:r_ear)
|
||||
src:r_ear.talk_into(src, message, message_mode)
|
||||
used_radios += src:r_ear
|
||||
message_range = 1
|
||||
italics = 1
|
||||
if ("pAI")
|
||||
@@ -234,9 +251,12 @@
|
||||
else
|
||||
//world << "SPECIAL HEADSETS"
|
||||
if (message_mode in radiochannels)
|
||||
if (src:ears)
|
||||
src:ears.talk_into(src, message, message_mode)
|
||||
used_radios += src:ears
|
||||
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
||||
src:l_ear.talk_into(src, message, message_mode)
|
||||
used_radios += src:l_ear
|
||||
else if (src:r_ear)
|
||||
src:r_ear.talk_into(src, message, message_mode)
|
||||
used_radios += src:r_ear
|
||||
message_range = 1
|
||||
italics = 1
|
||||
/////SPECIAL HEADSETS END
|
||||
|
||||
Reference in New Issue
Block a user