Merge branch 'master' of git://github.com/Baystation12/Baystation12

This commit is contained in:
Mister Fox
2011-12-20 06:43:08 -05:00
55 changed files with 785 additions and 207 deletions

View File

@@ -427,7 +427,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_if_possible(new /obj/item/clothing/under/det(M), M.slot_w_uniform)
M.equip_if_possible(new /obj/item/clothing/shoes/black(M), M.slot_shoes)
M.equip_if_possible(new /obj/item/clothing/suit/det_suit(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/suit/storage/det_suit(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/glasses/thermal/monocle(M), M.slot_glasses)
M.equip_if_possible(new /obj/item/clothing/head/det_hat(M), M.slot_head)
@@ -438,7 +438,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if ("tournament chef") //Steven Seagal FTW
M.equip_if_possible(new /obj/item/clothing/under/rank/chef(M), M.slot_w_uniform)
M.equip_if_possible(new /obj/item/clothing/suit/chef(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/suit/storage/chef(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/shoes/black(M), M.slot_shoes)
M.equip_if_possible(new /obj/item/clothing/head/chefhat(M), M.slot_head)
@@ -501,7 +501,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_if_possible(new /obj/item/clothing/head/chaplain_hood(M), M.slot_head)
M.equip_if_possible(new /obj/item/device/radio/headset(M), M.slot_ears)
M.equip_if_possible(new /obj/item/clothing/glasses/thermal/monocle(M), M.slot_glasses)
M.equip_if_possible(new /obj/item/clothing/suit/chaplain_hoodie(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/suit/storage/chaplain_hoodie(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/weapon/reagent_containers/food/snacks/grown/banana(M), M.slot_l_store)
M.equip_if_possible(new /obj/item/weapon/bikehorn(M), M.slot_r_store)
@@ -524,7 +524,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_if_possible(new /obj/item/clothing/head/helmet/welding(M), M.slot_head)
M.equip_if_possible(new /obj/item/device/radio/headset(M), M.slot_ears)
M.equip_if_possible(new /obj/item/clothing/glasses/thermal/monocle(M), M.slot_glasses)
M.equip_if_possible(new /obj/item/clothing/suit/apron(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/suit/storage/apron(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/weapon/kitchenknife(M), M.slot_l_store)
M.equip_if_possible(new /obj/item/weapon/scalpel(M), M.slot_r_store)
@@ -542,7 +542,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_if_possible(new /obj/item/clothing/gloves/black(M), M.slot_gloves)
M.equip_if_possible(new /obj/item/device/radio/headset(M), M.slot_ears)
M.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(M), M.slot_glasses)
M.equip_if_possible(new /obj/item/clothing/suit/wcoat(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/suit/storage/wcoat(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/weapon/melee/energy/sword(M), M.slot_l_store)
M.equip_if_possible(new /obj/item/weapon/cloaking_device(M), M.slot_r_store)

View File

@@ -55,6 +55,21 @@
item_state = "armor_reflec"
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/suit/storage/gearharness
name = "gear harness"
desc = "A simple security harness, used for storing small objects"
icon_state = "gearharness"
item_state = "gearharness"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
/obj/item/clothing/suit/storage/armourrigvest
name = "armour rig vest"
desc = "An important looking armoured vest, outfitted with pockets."
icon_state = "armourrigvest"
item_state = "armourrigvest"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
flags = FPRINT | TABLEPASS | ONESIZEFITSALL

View File

@@ -6,7 +6,7 @@
armor = list(melee = 50, bullet = 5, laser = 25,energy = 10, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/suit/det_suit
/obj/item/clothing/suit/storage/det_suit
name = "coat"
desc = "An 18th-century multi-purpose trenchcoat. Someone who wears this means serious business."
icon_state = "detective"

View File

@@ -1,5 +1,5 @@
/obj/item/clothing/suit/labcoat
/obj/item/clothing/suit/storage/labcoat
name = "labcoat"
desc = "A suit that protects against minor chemical spills."
icon_state = "labcoat_open"
@@ -10,34 +10,34 @@
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
/obj/item/clothing/suit/labcoat/cmo
/obj/item/clothing/suit/storage/labcoat/cmo
name = "chief medical officer's labcoat"
desc = "Bluer than the standard model."
icon_state = "labcoat_cmo_open"
item_state = "labcoat_cmo"
/obj/item/clothing/suit/labcoat/mad
/obj/item/clothing/suit/storage/labcoat/mad
name = "The Mad's labcoat"
desc = "It makes you look capable of konking someone on the noggin and shooting them into space."
icon_state = "labgreen_open"
item_state = "labgreen"
/obj/item/clothing/suit/labcoat/genetics
/obj/item/clothing/suit/storage/labcoat/genetics
name = "Geneticist Labcoat"
desc = "A suit that protects against minor chemical spills. Has a blue stripe on the shoulder."
icon_state = "labcoat_gen_open"
/obj/item/clothing/suit/labcoat/chemist
/obj/item/clothing/suit/storage/labcoat/chemist
name = "Chemist Labcoat"
desc = "A suit that protects against minor chemical spills. Has an orange stripe on the shoulder."
icon_state = "labcoat_chem_open"
/obj/item/clothing/suit/labcoat/virologist
/obj/item/clothing/suit/storage/labcoat/virologist
name = "Virologist Labcoat"
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a green stripe on the shoulder."
icon_state = "labcoat_vir_open"
/obj/item/clothing/suit/labcoat/science
/obj/item/clothing/suit/storage/labcoat/science
name = "Scientist Labcoat"
desc = "A suit that protects against minor chemical spills. Has a purple stripe on the shoulder."
icon_state = "labcoat_tox_open"

View File

@@ -6,7 +6,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
/obj/item/clothing/suit/wcoat
/obj/item/clothing/suit/storage/wcoat
name = "waistcoat"
desc = "For some classy, murderous fun."
icon_state = "vest"
@@ -14,18 +14,18 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/suit/apron
/obj/item/clothing/suit/storage/apron
name = "apron"
desc = "A basic blue apron."
desc = "A basic blue apron. It has a large pocket you can store things in."
icon_state = "apron"
item_state = "apron"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
allowed = list (/obj/item/weapon/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/nutrient,/obj/item/weapon/minihoe)
/obj/item/clothing/suit/chef
/obj/item/clothing/suit/storage/chef
name = "Chef's apron"
desc = "An apron used by a high class chef."
desc = "An apron used by a high class chef. Has a few pockets for nic-naks."
icon_state = "chef"
item_state = "chef"
gas_transfer_coefficient = 0.90
@@ -36,7 +36,7 @@
allowed = list (/obj/item/weapon/kitchenknife,/obj/item/weapon/butch)
/obj/item/clothing/suit/chef/classic
/obj/item/clothing/suit/storage/chef/classic
name = "A classic chef's apron."
desc = "A basic, dull, white chef's apron."
icon_state = "apronchef"
@@ -68,7 +68,7 @@
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy)
/obj/item/clothing/suit/captunic
/obj/item/clothing/suit/storage/captunic
name = "captain's parade tunic"
desc = "Worn by a Captain to show their class."
icon_state = "captunic"
@@ -84,7 +84,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
/obj/item/clothing/suit/chaplain_hoodie
/obj/item/clothing/suit/storage/chaplain_hoodie
name = "chaplain hoodie"
desc = "This suit says to you 'hush'!"
icon_state = "chaplain_hoodie"

View File

@@ -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)

View File

@@ -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

View File

@@ -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)
@@ -928,9 +960,9 @@
if (wear_suit)
if (wear_suit.blood_DNA)
var/icon/stain_icon = null
if (istype(wear_suit, /obj/item/clothing/suit/armor/vest || /obj/item/clothing/suit/wcoat))
if (istype(wear_suit, /obj/item/clothing/suit/armor/vest || /obj/item/clothing/suit/storage/wcoat))
stain_icon = icon('blood.dmi', "armorblood[!lying ? "" : "2"]")
else if (istype(wear_suit, /obj/item/clothing/suit/det_suit || /obj/item/clothing/suit/labcoat))
else if (istype(wear_suit, /obj/item/clothing/suit/storage/det_suit || /obj/item/clothing/suit/storage/labcoat))
stain_icon = icon('blood.dmi', "coatblood[!lying ? "" : "2"]")
else
stain_icon = icon('blood.dmi', "suitblood[!lying ? "" : "2"]")
@@ -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 )))

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -809,6 +809,8 @@
else
gibs(loc, viruses)
sleep(15)
for(var/obj/item/I in src.contents)
I.loc = get_turf(src)
del(src)
/*
@@ -844,6 +846,8 @@ Dusting robots does not eject the MMI, so it's a bit more powerful than gib() /N
sleep(15)
if(isrobot(src)&&src:mmi)//Is a robot and it has an mmi.
del(src:mmi)//Delete the MMI first so that it won't go popping out.
for(var/obj/item/I in src.contents)
I.loc = get_turf(src)
del(src)
/*

View File

@@ -9,7 +9,7 @@
special_check(var/mob/living/carbon/human/M)
/* if(ishuman(M))
if(istype(M.w_uniform, /obj/item/clothing/under/det) && istype(M.head, /obj/item/clothing/head/det_hat) && istype(M.wear_suit, /obj/item/clothing/suit/det_suit))
if(istype(M.w_uniform, /obj/item/clothing/under/det) && istype(M.head, /obj/item/clothing/head/det_hat) && istype(M.wear_suit, /obj/item/clothing/suit/storage/det_suit))
return 1
M << "\red You just don't feel cool enough to use this gun looking like that."
return 0 */