Wrist Slot (Wear watches with gloves!) (#10951)

This commit is contained in:
Wowzewow (Wezzy)
2021-02-01 11:12:37 +01:00
committed by GitHub
parent a9e6e0db73
commit f88fdd706d
64 changed files with 684 additions and 468 deletions
+1 -1
View File
@@ -217,7 +217,7 @@ STOCK_ITEM_COMMON(gloves, 3.3)
)
exclusion += typesof(/obj/item/clothing/gloves/rig)
exclusion += typesof(/obj/item/clothing/gloves/lightrig)
exclusion += typesof(/obj/item/clothing/gloves/watch)
exclusion += typesof(/obj/item/clothing/wrists/watch)
exclusion += typesof(/obj/item/clothing/gloves/fluff)
exclusion += typesof(/obj/item/clothing/gloves/ballistic)
allgloves -= exclusion
@@ -4,11 +4,6 @@
slot = slot_tie
sort_category = "Accessories"
/datum/gear/accessory/bracelet
display_name = "bracelet (colourable)"
path = /obj/item/clothing/accessory/bracelet
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
/datum/gear/accessory/suspenders
display_name = "suspenders"
path = /obj/item/clothing/accessory/suspenders
@@ -63,21 +63,6 @@
ringtype["ring, plastic"] = /obj/item/clothing/ring/material/plastic
gear_tweaks += new/datum/gear_tweak/path(ringtype)
/datum/gear/gloves/watch
display_name = "watch selection"
description = "A selection of watches."
path = /obj/item/clothing/gloves/watch
/datum/gear/gloves/watch/New()
..()
var/watchtype = list()
watchtype["watch"] = /obj/item/clothing/gloves/watch
watchtype["silver watch"] = /obj/item/clothing/gloves/watch/silver
watchtype["gold watch"] = /obj/item/clothing/gloves/watch/gold
watchtype["spy watch"] = /obj/item/clothing/gloves/watch/spy
watchtype["pocketwatch"] = /obj/item/pocketwatch
gear_tweaks += new/datum/gear_tweak/path(watchtype)
/datum/gear/gloves/circuitry
display_name = "gloves, circuitry (empty)"
path = /obj/item/clothing/gloves/circuitry
@@ -0,0 +1,31 @@
/datum/gear/wrists
display_name = "bracelet"
path = /obj/item/clothing/wrists/bracelet
cost = 1
slot = slot_wrists
sort_category = "Wristwear"
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
/datum/gear/wrists/beaded
display_name = "beaded bracelet"
path = /obj/item/clothing/wrists/beaded
/datum/gear/wrists/slap
display_name = "slap bracelet"
path = /obj/item/clothing/wrists/slap
/datum/gear/wrists/watch
display_name = "watch selection"
description = "A selection of watches."
path = /obj/item/clothing/wrists/watch
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION
/datum/gear/wrists/watch/New()
..()
var/watchtype = list()
watchtype["watch"] = /obj/item/clothing/wrists/watch
watchtype["silver watch"] = /obj/item/clothing/wrists/watch/silver
watchtype["gold watch"] = /obj/item/clothing/wrists/watch/gold
watchtype["spy watch"] = /obj/item/clothing/wrists/watch/spy
watchtype["pocketwatch"] = /obj/item/pocketwatch
gear_tweaks += new/datum/gear_tweak/path(watchtype)
@@ -30,36 +30,34 @@
crest["crest, ruby"] = /obj/item/clothing/head/crest/ruby
gear_tweaks += new/datum/gear_tweak/path(crest)
/datum/gear/gloves/armchains
/datum/gear/wrists/armchains
display_name = "golden deep armchains"
path = /obj/item/clothing/gloves/armchain
cost = 1
path = /obj/item/clothing/wrists/armchain
whitelisted = list(SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
sort_category = "Xenowear - IPC"
flags = GEAR_HAS_DESC_SELECTION
/datum/gear/gloves/armchains/New()
/datum/gear/wrists/armchains/New()
..()
var/armchains = list()
armchains["arm chains, cobalt"] = /obj/item/clothing/gloves/armchain
armchains["arm chains, emerald"] = /obj/item/clothing/gloves/armchain/emerald
armchains["arm chains, ruby"] = /obj/item/clothing/gloves/armchain/ruby
armchains["arm chains, cobalt"] = /obj/item/clothing/wrists/armchain
armchains["arm chains, emerald"] = /obj/item/clothing/wrists/armchain/emerald
armchains["arm chains, ruby"] = /obj/item/clothing/wrists/armchain/ruby
gear_tweaks += new/datum/gear_tweak/path(armchains)
/datum/gear/gloves/bracers
/datum/gear/wrists/bracers
display_name = "golden deep bracers"
path = /obj/item/clothing/gloves/goldbracer
cost = 1
path = /obj/item/clothing/wrists/goldbracer
whitelisted = list(SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
sort_category = "Xenowear - IPC"
flags = GEAR_HAS_DESC_SELECTION
/datum/gear/gloves/bracers/New()
/datum/gear/wrists/bracers/New()
..()
var/bracers = list()
bracers["arm chains, cobalt"] = /obj/item/clothing/gloves/goldbracer
bracers["arm chains, emerald"] = /obj/item/clothing/gloves/goldbracer/emerald
bracers["arm chains, ruby"] = /obj/item/clothing/gloves/goldbracer/ruby
bracers["arm chains, cobalt"] = /obj/item/clothing/wrists/goldbracer
bracers["arm chains, emerald"] = /obj/item/clothing/wrists/goldbracer/emerald
bracers["arm chains, ruby"] = /obj/item/clothing/wrists/goldbracer/ruby
gear_tweaks += new/datum/gear_tweak/path(bracers)
/datum/gear/ears/antennae
+3 -3
View File
@@ -335,7 +335,7 @@
slot_r_hand_str = 'icons/mob/items/clothing/righthand_gloves.dmi'
)
siemens_coefficient = 0.75
var/wired = 0
var/wired = FALSE
var/obj/item/cell/cell = 0
var/clipped = 0
var/fingerprint_chance = 0
@@ -372,7 +372,7 @@
/obj/item/clothing/gloves/attackby(obj/item/W, mob/user)
..()
if(W.iswirecutter() || istype(W, /obj/item/surgery/scalpel))
if (clipped)
if(clipped)
to_chat(user, SPAN_NOTICE("\The [src] have already been clipped!"))
update_icon()
return
@@ -1075,4 +1075,4 @@
gender = NEUTER
drop_sound = 'sound/items/drop/ring.ogg'
pickup_sound = 'sound/items/pickup/ring.ogg'
var/undergloves = 1
var/undergloves = TRUE
@@ -63,11 +63,11 @@
usr.unEquip(C)
switch(over_object.name)
if(BP_R_HAND)
if("right hand")
if(istype(src, /obj/item/clothing/ears))
C = check_two_ears(usr)
usr.put_in_r_hand(C)
if(BP_L_HAND)
if("left hand")
if(istype(src, /obj/item/clothing/ears))
C = check_two_ears(usr)
usr.put_in_l_hand(C)
@@ -127,170 +127,6 @@
name = "tajaran leather gloves"
species_restricted = list(BODYTYPE_TAJARA)
/obj/item/clothing/gloves/watch
name = "watch"
desc = "It's a GaussIo ZeitMeister, a finely tuned wristwatch encased in black plastic."
desc_fluff = "For those who want too much time on their wrists instead."
icon_state = "watch"
item_state = "watch"
w_class = ITEMSIZE_TINY
wired = 1
species_restricted = null
gender = NEUTER
body_parts_covered = null
fingerprint_chance = 100
var/flipped = 0
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/gloves/watch/silver
desc = "It's a GaussIo ZeitMeister, a finely tuned wristwatch encased in silver."
desc_fluff = "To unleash the telemarketer in you!"
icon_state = "watch_silver"
item_state = "watch_silver"
/obj/item/clothing/gloves/watch/gold
desc = "It's a GaussIo ZeitMeister, a finely tuned wristwatch encased in <b>REAL</b> faux gold."
desc_fluff = "Be the jerk-ass pawn shop owner you'll never be."
icon_state = "watch_gold"
item_state = "watch_gold"
/obj/item/clothing/gloves/watch/spy
desc = "It's a GENUINE Spy-Tech Invisi-watch! <b>WARNING</b> : Does not actually make you invisible."
desc_fluff = "Makes you want to wear a balaclava and smoke a cigarette."
icon_state = "watch_spy"
item_state = "watch_silver"
/obj/item/clothing/gloves/watch/spy/checktime()
to_chat(usr, "You check your watch. Unfortunately for you, it's not a real watch, dork.")
/obj/item/clothing/gloves/watch/examine(mob/user)
..()
if (get_dist(src, user) <= 1)
checktime()
/obj/item/clothing/gloves/watch/verb/checktime()
set category = "Object"
set name = "Check Time"
set src in usr
if(wired && !clipped)
to_chat(usr, "You check your watch, spotting a digital collection of numbers reading '[worldtime2text()]'. Today's date is '[time2text(world.time, "Month DD")]. [game_year]'.")
if (emergency_shuttle.get_status_panel_eta())
to_chat(usr, SPAN_WARNING("The shuttle's status is reported as: [emergency_shuttle.get_status_panel_eta()]."))
else if(wired && clipped)
to_chat(usr, "You check your watch, realising it's still open.")
else
to_chat(usr, "You check your watch as it dawns on you that it's broken.")
/obj/item/clothing/gloves/watch/verb/pointatwatch()
set category = "Object"
set name = "Point At Watch"
set src in usr
if(wired && !clipped)
usr.visible_message (SPAN_NOTICE("[usr] taps their foot on the floor, arrogantly pointing at the [src] on their wrist with a look of derision in their eyes."), SPAN_NOTICE("You point down at the [src], an arrogant look about your eyes."))
else if(wired && clipped)
usr.visible_message (SPAN_NOTICE("[usr] taps their foot on the floor, arrogantly pointing at the [src] on their wrist with a look of derision in their eyes, not noticing it's open."), SPAN_NOTICE("You point down at the [src], an arrogant look about your eyes."))
else
usr.visible_message (SPAN_NOTICE("[usr] taps their foot on the floor, arrogantly pointing at the [src] on their wrist with a look of derision in their eyes, not noticing it's broken."), SPAN_NOTICE("You point down at the [src], an arrogant look about your eyes."))
/obj/item/clothing/gloves/watch/verb/swapwrists()
set category = "Object"
set name = "Flip Watch Wrist"
set src in usr
if (usr.stat || usr.restrained())
return
src.flipped = !src.flipped
if(src.flipped)
src.item_state = "[item_state]_alt"
else
src.item_state = initial(item_state)
to_chat(usr, "You change \the [src] to be on your [src.flipped ? "left" : "right"] hand.")
update_clothing_icon()
/obj/item/clothing/gloves/watch/attackby(obj/item/W, mob/user)
if(W.isscrewdriver())
if (clipped) //Using clipped because adding a new var for something is dumb
user.visible_message(SPAN_NOTICE("[user] screws the cover of the [src] closed."), SPAN_NOTICE("You screw the cover of the [src] closed."))
clipped = 0
return
// playsound(src.loc, 'sound/items/wirecutter.ogg', 100, 1)
user.visible_message(SPAN_NOTICE("[user] unscrews the cover of the [src]."), SPAN_NOTICE("You unscrew the cover of the [src]."))
clipped = 1
return
if(wired)
return
if(W.iscoil())
var/obj/item/stack/cable_coil/C = W
if (!clipped)
to_chat(user, SPAN_NOTICE("The [src] is not open."))
return
if(wired)
to_chat(user, SPAN_NOTICE("The [src] are already wired."))
return
if(C.amount < 2)
to_chat(user, SPAN_NOTICE("There is not enough wire to cover the [src]."))
return
C.use(2)
wired = 1
to_chat(user, SPAN_NOTICE("You repair some wires in the [src]."))
return
/obj/item/clothing/gloves/watch/emp_act(severity)
if(prob(50/severity))
wired = 0
..()
/obj/item/clothing/gloves/armchain
name = "cobalt arm chains"
desc = "A set of luxurious chains intended to be wrapped around long, lanky arms. They don't seem particularly comfortable. They're encrusted with cobalt-blue gems, and made of <b>REAL</b> faux gold."
icon_state = "cobalt_armchains"
item_state = "cobalt_armchains"
siemens_coefficient = 1.0
fingerprint_chance = 100
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/gloves/armchain/emerald
name = "emerald arm chains"
desc = "A set of luxurious chains intended to be wrapped around long, lanky arms. They don't seem particularly comfortable. They're encrusted with emerald-green gems, and made of <b>REAL</b> faux gold."
icon_state = "emerald_armchains"
item_state = "emerald_armchains"
/obj/item/clothing/gloves/armchain/ruby
name = "ruby arm chains"
desc = "A set of luxurious chains intended to be wrapped around long, lanky arms. They don't seem particularly comfortable. They're encrusted with ruby-red gems, and made of <b>REAL</b> faux gold."
icon_state = "ruby_armchains"
item_state = "ruby_armchains"
/obj/item/clothing/gloves/goldbracer
name = "cobalt bracers"
desc = "A pair of sturdy and thick decorative bracers, seeming better for fashion than protection. They're encrusted with cobalt-blue gems, and made of <b>REAL</b> faux gold."
icon_state = "cobalt_bracers"
item_state = "cobalt_bracers"
siemens_coefficient = 1.0
fingerprint_chance = 100
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/gloves/goldbracer/emerald
name = "emerald bracers"
desc = "A pair of sturdy and thick decorative bracers, seeming better for fashion than protection. They're encrusted with emerald-green gems, and made of <b>REAL</b> faux gold."
icon_state = "emerald_bracers"
item_state = "emerald_bracers"
/obj/item/clothing/gloves/goldbracer/ruby
name = "ruby bracers"
desc = "A pair of sturdy and thick decorative bracers, seeming better for fashion than protection. They're encrusted with ruby-red gems, and made of <b>REAL</b> faux gold."
icon_state = "ruby_bracers"
item_state = "ruby_bracers"
/*
Forcegloves. They amplify force from melee hits as well as muck up disarm and stuff a little.
Has bits of code in item_attack.dm, stungloves.dm, human_attackhand, human_defense
@@ -42,7 +42,7 @@
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/device/suit_cooling_unit)
slowdown = 3
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
siemens_coefficient = 0.5
+4 -4
View File
@@ -149,7 +149,7 @@
allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency_oxygen)
slowdown = 1
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 100, rad = 100)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
siemens_coefficient = 0.35
@@ -557,7 +557,7 @@
w_class = ITEMSIZE_LARGE//bulky item
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/gun/energy,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency_oxygen)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
siemens_coefficient = 0
@@ -571,13 +571,13 @@
gas_transfer_coefficient = 0.90
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 3
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
siemens_coefficient = 0.1
pocket_slots = 3
/obj/item/clothing/suit/armor/tdome
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/armor/tdome/red
name = "thunderdome suit (red)"
+8 -8
View File
@@ -27,7 +27,7 @@
slowdown = 1.0
allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/pen,/obj/item/device/flashlight/pen)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
siemens_coefficient = 0.75
@@ -41,7 +41,7 @@
icon_state = "bio_general"
desc = "A suit that protects against biological contamination and beestings."
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
//Virology biosuit, green stripe
/obj/item/clothing/head/bio_hood/virology
@@ -50,7 +50,7 @@
/obj/item/clothing/suit/bio_suit/virology
icon_state = "bio_virology"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
//Security biosuit, grey with red stripe across the chest
/obj/item/clothing/head/bio_hood/security
@@ -59,7 +59,7 @@
/obj/item/clothing/suit/bio_suit/security
icon_state = "bio_security"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
//Janitor's biosuit, grey with purple arms
/obj/item/clothing/head/bio_hood/janitor
@@ -68,7 +68,7 @@
/obj/item/clothing/suit/bio_suit/janitor
icon_state = "bio_janitor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
//Scientist's biosuit, white with a pink-ish hue
@@ -78,13 +78,13 @@
/obj/item/clothing/suit/bio_suit/scientist
icon_state = "bio_scientist"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
//CMO's biosuit, blue stripe
/obj/item/clothing/suit/bio_suit/cmo
icon_state = "bio_cmo"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
/obj/item/clothing/head/bio_hood/cmo
icon_state = "bio_cmo"
@@ -96,4 +96,4 @@
desc = "It protected doctors from the Black Death, back then. You bet your arse it's gonna help you against viruses."
icon_state = "plaguedoctor"
item_state = "bio_suit"
flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL
+6 -6
View File
@@ -55,14 +55,14 @@
item_state = "death"
flags = CONDUCT
fire_resist = T0C+5200
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/justice
name = "justice suit"
desc = "This pretty much looks ridiculous."
icon_state = "justice"
item_state = "justice"
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS|LEGS|FEET
/obj/item/clothing/suit/judgerobe
@@ -89,7 +89,7 @@
desc = "A plastic replica of the syndicate space suit, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!"
w_class = ITEMSIZE_NORMAL
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS|LEGS|FEET
/obj/item/clothing/suit/imperium_monk
@@ -117,7 +117,7 @@
icon_state = "monkeysuit"
item_state = "monkeysuit"
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
siemens_coefficient = 1.5
@@ -154,7 +154,7 @@
icon_state = "straight_jacket"
item_state = "straight_jacket"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDEJUMPSUIT
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDEJUMPSUIT
/obj/item/clothing/suit/straight_jacket/equipped(var/mob/user, var/slot)
if (slot == slot_wear_suit)
@@ -189,7 +189,7 @@
icon_state = "xenos"
item_state = "xenos_helm"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
siemens_coefficient = 1.5
/obj/item/clothing/suit/storage/toggle/bomber
+1 -1
View File
@@ -21,7 +21,7 @@
siemens_coefficient = 0.5
allowed = list(/obj/item/device/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/extinguisher)
slowdown = 1.0
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
+1 -1
View File
@@ -79,7 +79,7 @@
icon_state = "raskarasuit"
item_state = "raskarasuit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDEWRISTS|HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
species_restricted = list(BODYTYPE_TAJARA)
desc_fluff = "Raskariim, commonly known as The Cult of Raskara are a prolific cult on Adhomai. The religion has been created on Adhomai but with the free commerce, a few human \
members have been recorded. While Raskara may seem like a single deity it is in fact split into three aspects, each one leading down a different path and seemingly every path \
@@ -575,15 +575,6 @@
slot_flags = SLOT_TIE
w_class = ITEMSIZE_TINY
/obj/item/clothing/accessory/bracelet
name = "bracelet"
desc = "A simple bracelet with a clasp."
icon_state = "bracelet"
w_class = ITEMSIZE_TINY
drop_sound = 'sound/items/drop/ring.ogg'
pickup_sound = 'sound/items/pickup/ring.ogg'
flippable = 1
/obj/item/clothing/accessory/sleevepatch
name = "sleeve patch"
desc = "An embroidered patch which can be attached to the shoulder sleeve of clothing."
+92
View File
@@ -0,0 +1,92 @@
/obj/item/clothing/wrists/watch
name = "watch"
desc = "It's a GaussIo ZeitMeister, a finely tuned wristwatch encased in black plastic."
desc_fluff = "For those who want too much time on their wrists instead."
icon_state = "watch"
item_state = "watch"
var/wired = TRUE
var/screwed = TRUE
/obj/item/clothing/wrists/watch/silver
desc = "It's a GaussIo ZeitMeister, a finely tuned wristwatch encased in silver."
desc_fluff = "To unleash the telemarketer in you!"
icon_state = "watch_silver"
item_state = "watch_silver"
/obj/item/clothing/wrists/watch/gold
desc = "It's a GaussIo ZeitMeister, a finely tuned wristwatch encased in <b>REAL</b> faux gold."
desc_fluff = "Be the jerk-ass pawn shop owner you'll never be."
icon_state = "watch_gold"
item_state = "watch_gold"
/obj/item/clothing/wrists/watch/spy
desc = "It's a GENUINE Spy-Tech Invisi-watch! <b>WARNING</b> : Does not actually make you invisible."
desc_fluff = "Makes you want to wear a balaclava and smoke a cigarette."
icon_state = "watch_spy"
item_state = "watch_silver"
/obj/item/clothing/wrists/watch/spy/checktime()
to_chat(usr, "You check your watch. Unfortunately for you, it's not a real watch, dork.")
/obj/item/clothing/wrists/watch/examine(mob/user)
..()
if (get_dist(src, user) <= 1)
checktime()
/obj/item/clothing/wrists/watch/verb/checktime()
set category = "Object"
set name = "Check Time"
set src in usr
if(wired && screwed)
to_chat(usr, "You check your watch, spotting a digital collection of numbers reading '[worldtime2text()]'. Today's date is '[time2text(world.time, "Month DD")]. [game_year]'.")
if (emergency_shuttle.get_status_panel_eta())
to_chat(usr, SPAN_WARNING("The shuttle's status is reported as: [emergency_shuttle.get_status_panel_eta()]."))
else if(wired && !screwed)
to_chat(usr, "You check your watch, realising it's still open.")
else
to_chat(usr, "You check your watch as it dawns on you that it's broken.")
/obj/item/clothing/wrists/watch/verb/pointatwatch()
set category = "Object"
set name = "Point At Watch"
set src in usr
if(wired && screwed)
usr.visible_message (SPAN_NOTICE("<b>[usr]</b> taps their foot on the floor, arrogantly pointing at the [src] on their wrist with a look of derision in their eyes"), SPAN_NOTICE("You point down at the [src] with an arrogant look about your eyes."))
else if(wired && !screwed)
usr.visible_message (SPAN_NOTICE("<b>[usr]</b> taps their foot on the floor, arrogantly pointing at the [src] on their wrist with a look of derision in their eyes, not noticing it's open."), SPAN_NOTICE("You point down at the [src] with an arrogant look about your eyes."))
else
usr.visible_message (SPAN_NOTICE("<b>[usr]</b> taps their foot on the floor, arrogantly pointing at the [src] on their wrist with a look of derision in their eyes, not noticing it's broken."), SPAN_NOTICE("You point down at the [src] with an arrogant look about your eyes."))
/obj/item/clothing/wrists/watch/attackby(obj/item/W, mob/user)
if(W.isscrewdriver())
user.visible_message(SPAN_NOTICE("<b>[user]</b> [screwed ? "unscrews" : "screws"] the cover of the [src] [screwed ? "open" : "closed"]."), SPAN_NOTICE("You [screwed ? "unscrews" : "screws"] the cover of the [src] [screwed ? "open" : "closed"]."))
playsound(src.loc, 'sound/items/screwdriver.ogg', 100, 1)
screwed = !screwed
return
if(wired)
return
if(W.iscoil())
var/obj/item/stack/cable_coil/C = W
if(screwed)
to_chat(user, SPAN_NOTICE("The [src] is not open."))
return
if(wired)
to_chat(user, SPAN_NOTICE("The [src] are already wired."))
return
if(C.amount < 2)
to_chat(user, SPAN_NOTICE("There is not enough wire to cover the [src]."))
return
C.use(2)
wired = TRUE
to_chat(user, SPAN_NOTICE("You repair some wires in the [src]."))
return
/obj/item/clothing/wrists/watch/emp_act(severity)
if(prob(50/severity))
wired = FALSE
..()
+105
View File
@@ -0,0 +1,105 @@
/obj/item/clothing/wrists
name = "wrists"
w_class = ITEMSIZE_TINY
icon = 'icons/obj/clothing/wrists.dmi'
item_icons = list(
slot_l_hand_str = 'icons/mob/items/clothing/lefthand_wrists.dmi',
slot_r_hand_str = 'icons/mob/items/clothing/righthand_wrists.dmi'
)
slot_flags = SLOT_WRISTS
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
siemens_coefficient = 1.0
var/flipped = 0
/obj/item/clothing/wrists/update_clothing_icon()
if (ismob(src.loc))
var/mob/M = src.loc
M.update_inv_wrists()
/obj/item/clothing/wrists/Initialize()
..()
update_flip_verb()
/obj/item/clothing/wrists/proc/update_flip_verb()
if((gender != PLURAL) && (flipped != -1)) // Check for plurality and whether it has a flipped icon.
verbs += /obj/item/clothing/wrists/watch/proc/swapwrists
/obj/item/clothing/wrists/watch/proc/swapwrists()
set category = "Object"
set name = "Flip Wristwear"
set src in usr
if(use_check_and_message(usr))
return 0
flipped = !flipped
if(("[initial(icon_state)]_flip") in icon_states(icon))
icon_state = "[initial(item_state)][flipped ? "_flip" : ""]"
item_state = "[initial(item_state)][flipped ? "_flip" : ""]"
to_chat(usr, "You change \the [src] to be on your [src.flipped ? "left" : "right"] wrist.")
if(equip_sound)
playsound(src, equip_sound, EQUIP_SOUND_VOLUME)
else
playsound(src, drop_sound, DROP_SOUND_VOLUME)
update_clothing_icon()
/obj/item/clothing/wrists/bracelet
name = "bracelet"
desc = "Made out of some synthetic polymer. Management encourages you to not ask questions."
icon_state = "bracelet"
item_state = "bracelet"
/obj/item/clothing/wrists/beaded
name = "beaded bracelet"
desc = "Made from loose beads with a center hole and connected by a piece of string or elastic band through said holes."
icon_state = "beaded"
item_state = "beaded"
/obj/item/clothing/wrists/slap
name = "slap bracelet"
desc = "Banned in schools! Popular with children and in poorly managed corporate events!"
equip_sound = 'sound/effects/snap.ogg'
icon_state = "slap"
item_state = "slap"
/obj/item/clothing/wrists/armchain
name = "cobalt arm chains"
desc = "A set of luxurious chains intended to be wrapped around long, lanky arms. They don't seem particularly comfortable. They're encrusted with cobalt-blue gems, and made of <b>REAL</b> faux gold."
icon_state = "cobalt_armchains"
item_state = "cobalt_armchains"
gender = PLURAL
flipped = -1
/obj/item/clothing/wrists/armchain/emerald
name = "emerald arm chains"
desc = "A set of luxurious chains intended to be wrapped around long, lanky arms. They don't seem particularly comfortable. They're encrusted with emerald-green gems, and made of <b>REAL</b> faux gold."
icon_state = "emerald_armchains"
item_state = "emerald_armchains"
/obj/item/clothing/wrists/armchain/ruby
name = "ruby arm chains"
desc = "A set of luxurious chains intended to be wrapped around long, lanky arms. They don't seem particularly comfortable. They're encrusted with ruby-red gems, and made of <b>REAL</b> faux gold."
icon_state = "ruby_armchains"
item_state = "ruby_armchains"
/obj/item/clothing/wrists/goldbracer
name = "cobalt bracers"
desc = "A pair of sturdy and thick decorative bracers, seeming better for fashion than protection. They're encrusted with cobalt-blue gems, and made of <b>REAL</b> faux gold."
icon_state = "cobalt_bracers"
item_state = "cobalt_bracers"
gender = PLURAL
flipped = -1
/obj/item/clothing/wrists/goldbracer/emerald
name = "emerald bracers"
desc = "A pair of sturdy and thick decorative bracers, seeming better for fashion than protection. They're encrusted with emerald-green gems, and made of <b>REAL</b> faux gold."
icon_state = "emerald_bracers"
item_state = "emerald_bracers"
/obj/item/clothing/wrists/goldbracer/ruby
name = "ruby bracers"
desc = "A pair of sturdy and thick decorative bracers, seeming better for fashion than protection. They're encrusted with ruby-red gems, and made of <b>REAL</b> faux gold."
icon_state = "ruby_bracers"
item_state = "ruby_bracers"
+1 -1
View File
@@ -451,7 +451,7 @@ All custom items with worn sprites must follow the contained sprite system: http
contained_sprite = TRUE
/obj/item/clothing/gloves/watch/fluff/rex_watch //Engraved Wristwatch - Rex Winters - tailson
/obj/item/clothing/wrists/watch/fluff/rex_watch //Engraved Wristwatch - Rex Winters - tailson
name = "engraved wristwatch"
desc = "A fine gold watch. On the inside is an engraving that reads \"Happy birthday dad, thinking of you always\"."
icon = 'icons/obj/custom_items/rex_watch.dmi'
@@ -262,10 +262,10 @@
)
gloves = list(
/obj/item/clothing/gloves/watch,
/obj/item/clothing/gloves/watch/silver,
/obj/item/clothing/gloves/watch/gold,
/obj/item/clothing/gloves/watch/spy
/obj/item/clothing/wrists/watch,
/obj/item/clothing/wrists/watch/silver,
/obj/item/clothing/wrists/watch/gold,
/obj/item/clothing/wrists/watch/spy
)
l_pocket = /obj/item/syndie/teleporter
+3 -7
View File
@@ -84,7 +84,8 @@ var/list/slot_equipment_priority = list( \
slot_s_store,\
slot_tie,\
slot_l_store,\
slot_r_store\
slot_r_store,\
slot_wrists\
)
//Checks if a given slot can be accessed at this time, either to equip or unequip I
@@ -272,7 +273,7 @@ var/list/slot_equipment_priority = list( \
/mob/proc/get_inventory_slot(obj/item/I)
var/slot = 0
for(var/s in slot_back to slot_tie) //kind of worries me
for(var/s in slot_first to slot_last) //kind of worries me
if(get_equipped_item(s) == I)
slot = s
break
@@ -397,11 +398,6 @@ var/list/slot_equipment_priority = list( \
if((istype(src.loc, /turf/space)) || (src.lastarea.has_gravity() == 0))
src.inertia_dir = get_dir(target, src)
step(src, inertia_dir)
/*
if(istype(src.loc, /turf/space) || (src.flags & NOGRAV)) //they're in space, move em one space in the opposite direction
src.inertia_dir = get_dir(target, src)
step(src, inertia_dir)
*/
if(istype(item,/obj/item))
var/obj/item/W = item
W.randpixel_xy()
@@ -27,6 +27,7 @@
var/skipmask = skipitems & HIDEMASK
var/skipeyes = skipitems & HIDEEYES
var/skipears = skipitems & HIDEEARS
var/skipwrists = skipitems & HIDEWRISTS
var/list/msg = list("<span class='info'>*---------*\nThis is ")
@@ -53,7 +54,7 @@
for(var/accessory in U.accessories)
if(istype(accessory, /obj/item/clothing/accessory/holster)) //so you can't see what kind of gun a holster is holding from afar
accessory_descs += "\a [accessory]"
else
else
accessory_descs += "<a href='?src=\ref[src];lookitem_desc_only=\ref[accessory]'>\a [accessory]</a>"
tie_msg += " [lowertext(english_list(accessory_descs))]"
@@ -194,6 +195,10 @@
var/id_name = wear_id
msg += "[get_pronoun("He")] [get_pronoun("is")] wearing [icon2html(wear_id, user)] <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_id]'>\a [id_name]</a>.\n"
//wrists
if(wrists && !skipwrists)
msg += "[get_pronoun("He")] [get_pronoun("is")] wearing [icon2html(wrists, user)] <a href='?src=\ref[src];lookitem_desc_only=\ref[wear_id]'>\a [wrists]</a> on [get_pronoun("his")] [wrists.gender==PLURAL?"wrists":"wrist"].\n"
//Jitters
if(is_jittery)
if(jitteriness >= 300)
@@ -67,6 +67,7 @@
var/obj/item/r_store = null
var/obj/item/l_store = null
var/obj/item/s_store = null
var/obj/item/wrists = null
var/used_skillpoints = 0
var/skill_specialization = null
@@ -82,6 +82,8 @@ This saves us from having to call add_fingerprint() any time something is put in
return 1
if(slot_in_belt)
return 1
if(slot_wrists)
return has_organ(BP_L_ARM) || has_organ(BP_R_ARM)
/mob/living/carbon/human/u_equip(obj/W as obj)
if(!W) return 0
@@ -111,6 +113,9 @@ This saves us from having to call add_fingerprint() any time something is put in
else if (W == gloves)
gloves = null
update_inv_gloves()
else if (W == wrists)
wrists = null
update_inv_wrists()
else if (W == glasses)
glasses = null
update_inv_glasses()
@@ -258,6 +263,10 @@ This saves us from having to call add_fingerprint() any time something is put in
src.gloves = W
W.equipped(src, slot)
update_inv_gloves(redraw_mob)
if(slot_wrists)
src.wrists = W
W.equipped(src, slot)
update_inv_wrists(redraw_mob)
if(slot_head)
src.head = W
if(head.flags_inv & (BLOCKHAIR|BLOCKHEADHAIR|HIDEMASK))
@@ -306,7 +315,7 @@ This saves us from having to call add_fingerprint() any time something is put in
var/obj/item/clothing/under/uniform = src.w_uniform
uniform.attackby(W,src)
else
to_chat(src, "<span class='danger'>You are trying to eqip this item to an unsupported inventory slot. If possible, please write a ticket with steps to reproduce. Slot was: [slot]</span>")
to_chat(src, "<span class='danger'>You are trying to equip this item to an unsupported inventory slot. If possible, please write a ticket with steps to reproduce. Slot was: [slot]</span>")
return
if((W == src.l_hand) && (slot != slot_l_hand))
@@ -335,7 +344,7 @@ This saves us from having to call add_fingerprint() any time something is put in
if(slot_glasses)
covering = src.head
check_flags = EYES
if(slot_gloves, slot_w_uniform)
if(slot_gloves, slot_wrists, slot_w_uniform)
covering = src.wear_suit
if(slot_l_ear, slot_r_ear)
covering = src.head
@@ -367,6 +376,7 @@ This saves us from having to call add_fingerprint() any time something is put in
if(slot_s_store) return s_store
if(slot_l_ear) return l_ear
if(slot_r_ear) return r_ear
if(slot_wrists) return wrists
return ..()
/mob/living/carbon/human/get_equipped_items(var/include_carried = 0)
@@ -384,6 +394,7 @@ This saves us from having to call add_fingerprint() any time something is put in
if(wear_mask) items += wear_mask
if(wear_suit) items += wear_suit
if(w_uniform) items += w_uniform
if(wrists) items += wrists
if(include_carried)
if(l_hand) items += l_hand
@@ -20,21 +20,22 @@
// to be drawn for the mob. This is fairly delicate, try to avoid messing with it
// unless you know exactly what it does.
var/list/gear = list(
"i_clothing" = list("loc" = ui_iclothing, "name" = "Uniform", "slot" = slot_w_uniform, "state" = "center", "toggle" = 1),
"o_clothing" = list("loc" = ui_oclothing, "name" = "Suit", "slot" = slot_wear_suit, "state" = "suit", "toggle" = 1),
"mask" = list("loc" = ui_mask, "name" = "Mask", "slot" = slot_wear_mask, "state" = "mask", "toggle" = 1),
"gloves" = list("loc" = ui_gloves, "name" = "Gloves", "slot" = slot_gloves, "state" = "gloves", "toggle" = 1),
"eyes" = list("loc" = ui_glasses, "name" = "Glasses", "slot" = slot_glasses, "state" = "glasses","toggle" = 1),
"l_ear" = list("loc" = ui_l_ear, "name" = "Left Ear", "slot" = slot_l_ear, "state" = "ears", "toggle" = 1),
"r_ear" = list("loc" = ui_r_ear, "name" = "Right Ear", "slot" = slot_r_ear, "state" = "ears", "toggle" = 1),
"head" = list("loc" = ui_head, "name" = "Hat", "slot" = slot_head, "state" = "hair", "toggle" = 1),
"shoes" = list("loc" = ui_shoes, "name" = "Shoes", "slot" = slot_shoes, "state" = "shoes", "toggle" = 1),
"suit storage" = list("loc" = ui_sstore1, "name" = "Suit Storage", "slot" = slot_s_store, "state" = "suitstore"),
"back" = list("loc" = ui_back, "name" = "Back", "slot" = slot_back, "state" = "back"),
"id" = list("loc" = ui_id, "name" = "ID", "slot" = slot_wear_id, "state" = "id"),
"storage1" = list("loc" = ui_storage1, "name" = "Left Pocket", "slot" = slot_l_store, "state" = "pocket"),
"storage2" = list("loc" = ui_storage2, "name" = "Right Pocket", "slot" = slot_r_store, "state" = "pocket"),
"belt" = list("loc" = ui_belt, "name" = "Belt", "slot" = slot_belt, "state" = "belt")
"i_clothing" = list("loc" = ui_iclothing, "name" = "uniform", "slot" = slot_w_uniform, "state" = "center", "toggle" = 1),
"o_clothing" = list("loc" = ui_oclothing, "name" = "suit", "slot" = slot_wear_suit, "state" = "suit", "toggle" = 1),
"mask" = list("loc" = ui_mask, "name" = "mask", "slot" = slot_wear_mask, "state" = "mask", "toggle" = 1),
"gloves" = list("loc" = ui_gloves, "name" = "gloves", "slot" = slot_gloves, "state" = "gloves", "toggle" = 1),
"eyes" = list("loc" = ui_glasses, "name" = "glasses", "slot" = slot_glasses, "state" = "glasses","toggle" = 1),
"l_ear" = list("loc" = ui_l_ear, "name" = "left ear", "slot" = slot_l_ear, "state" = "l_ear", "toggle" = 1),
"r_ear" = list("loc" = ui_r_ear, "name" = "right ear", "slot" = slot_r_ear, "state" = "r_ear", "toggle" = 1),
"head" = list("loc" = ui_head, "name" = "hat", "slot" = slot_head, "state" = "hair", "toggle" = 1),
"shoes" = list("loc" = ui_shoes, "name" = "shoes", "slot" = slot_shoes, "state" = "shoes", "toggle" = 1),
"wrists" = list("loc" = ui_wrists, "name" = "wrists", "slot" = slot_wrists, "state" = "wrists", "toggle" = 1),
"suit storage" = list("loc" = ui_sstore1, "name" = "suit storage", "slot" = slot_s_store, "state" = "suitstore"),
"back" = list("loc" = ui_back, "name" = "back", "slot" = slot_back, "state" = "back"),
"id" = list("loc" = ui_id, "name" = "id", "slot" = slot_wear_id, "state" = "id"),
"storage1" = list("loc" = ui_storage1, "name" = "left pocket", "slot" = slot_l_store, "state" = "pocket"),
"storage2" = list("loc" = ui_storage2, "name" = "right pocket", "slot" = slot_r_store, "state" = "pocket"),
"belt" = list("loc" = ui_belt, "name" = "belt", "slot" = slot_belt, "state" = "belt")
)
/datum/hud_data/New()
@@ -53,7 +54,6 @@
if(slot_w_uniform in equip_slots)
equip_slots |= slot_tie
if(slot_belt in equip_slots)
equip_slots |= slot_in_belt
@@ -63,25 +63,25 @@
has_hydration = FALSE
has_internals = FALSE
gear = list(
"i_clothing" = list("loc" = ui_iclothing, "name" = "Uniform", "slot" = slot_w_uniform, "state" = "center", "toggle" = 1),
"o_clothing" = list("loc" = ui_shoes, "name" = "Suit", "slot" = slot_wear_suit, "state" = "suit", "toggle" = 1),
"l_ear" = list("loc" = ui_glasses, "name" = "Left Ear", "slot" = slot_l_ear, "state" = "ears", "toggle" = 1),
"r_ear" = list("loc" = ui_l_ear, "name" = "Right Ear", "slot" = slot_r_ear, "state" = "ears", "toggle" = 1),
"head" = list("loc" = ui_mask, "name" = "Hat", "slot" = slot_head, "state" = "hair", "toggle" = 1),
"suit storage" = list("loc" = ui_sstore1, "name" = "Suit Storage", "slot" = slot_s_store, "state" = "suitstore"),
"back" = list("loc" = ui_back, "name" = "Back", "slot" = slot_back, "state" = "back"),
"id" = list("loc" = ui_id, "name" = "ID", "slot" = slot_wear_id, "state" = "id"),
"storage1" = list("loc" = ui_storage1, "name" = "Left Pocket", "slot" = slot_l_store, "state" = "pocket"),
"storage2" = list("loc" = ui_storage2, "name" = "Right Pocket", "slot" = slot_r_store, "state" = "pocket"),
"belt" = list("loc" = ui_belt, "name" = "Belt", "slot" = slot_belt, "state" = "belt"),
"mask" = list("loc" = ui_oclothing, "name" = "Mask", "slot" = slot_wear_mask, "state" = "mask", "toggle" = 1),
"eyes" = list("loc" = ui_gloves, "name" = "Glasses", "slot" = slot_glasses, "state" = "glasses","toggle" = 1)
"i_clothing" = list("loc" = ui_iclothing, "name" = "uniform", "slot" = slot_w_uniform, "state" = "center", "toggle" = 1),
"o_clothing" = list("loc" = ui_shoes, "name" = "suit", "slot" = slot_wear_suit, "state" = "suit", "toggle" = 1),
"l_ear" = list("loc" = ui_glasses, "name" = "left ear", "slot" = slot_l_ear, "state" = "l_ear", "toggle" = 1),
"r_ear" = list("loc" = ui_l_ear, "name" = "right ear", "slot" = slot_r_ear, "state" = "r_ear", "toggle" = 1),
"head" = list("loc" = ui_mask, "name" = "hat", "slot" = slot_head, "state" = "hair", "toggle" = 1),
"suit storage" = list("loc" = ui_sstore1, "name" = "suit storage", "slot" = slot_s_store, "state" = "suitstore"),
"back" = list("loc" = ui_back, "name" = "back", "slot" = slot_back, "state" = "back"),
"id" = list("loc" = ui_id, "name" = "id", "slot" = slot_wear_id, "state" = "id"),
"storage1" = list("loc" = ui_storage1, "name" = "left Pocket", "slot" = slot_l_store, "state" = "pocket"),
"storage2" = list("loc" = ui_storage2, "name" = "right Pocket", "slot" = slot_r_store, "state" = "pocket"),
"belt" = list("loc" = ui_belt, "name" = "belt", "slot" = slot_belt, "state" = "belt"),
"mask" = list("loc" = ui_oclothing, "name" = "mask", "slot" = slot_wear_mask, "state" = "mask", "toggle" = 1),
"eyes" = list("loc" = ui_gloves, "name" = "glasses", "slot" = slot_glasses, "state" = "glasses","toggle" = 1)
)
/datum/hud_data/monkey
gear = list(
"mask" = list("loc" = ui_shoes, "name" = "Mask", "slot" = slot_wear_mask, "state" = "mask", "toggle" = 1),
"back" = list("loc" = ui_sstore1, "name" = "Back", "slot" = slot_back, "state" = "back")
"mask" = list("loc" = ui_shoes, "name" = "mask", "slot" = slot_wear_mask, "state" = "mask", "toggle" = 1),
"back" = list("loc" = ui_sstore1, "name" = "back", "slot" = slot_back, "state" = "back")
)
@@ -92,4 +92,4 @@
/datum/hud_data/construct
has_hydration = FALSE
has_nutrition = FALSE
has_nutrition = FALSE
@@ -113,8 +113,9 @@ There are several things that need to be remembered:
#define LEGCUFF_LAYER 26
#define L_HAND_LAYER 27
#define R_HAND_LAYER 28
#define FIRE_LAYER 29 //If you're on fire
#define TOTAL_LAYERS 29
#define WRISTS_LAYER 29
#define FIRE_LAYER 30 //If you're on fire
#define TOTAL_LAYERS 30
//////////////////////////////////
#define UNDERSCORE_OR_NULL(target) "[target ? "[target]_" : ""]"
@@ -517,6 +518,7 @@ There are several things that need to be remembered:
update_fire(FALSE)
update_surgery(FALSE)
update_underwear(FALSE)
update_inv_wrists(FALSE)
UpdateDamageIcon()
update_icon()
//Hud Stuff
@@ -1253,6 +1255,58 @@ There are several things that need to be remembered:
if(update_icons)
update_icon()
/mob/living/carbon/human/update_inv_l_hand(var/update_icons=1)
if (QDELING(src))
return
overlays_raw[L_HAND_LAYER] = null
if(l_hand)
l_hand.screen_loc = ui_lhand //TODO
//determine icon state to use
var/t_state = l_hand.item_state || l_hand.icon_state
var/image/result_layer
if(l_hand.contained_sprite)
l_hand.auto_adapt_species(src)
t_state = "[UNDERSCORE_OR_NULL(l_hand.icon_species_tag)][l_hand.item_state][WORN_LHAND]"
result_layer = image(l_hand.icon_override || l_hand.icon, t_state)
if(l_hand.color)
result_layer.color = l_hand.color
result_layer.appearance_flags = RESET_ALPHA
overlays_raw[L_HAND_LAYER] = result_layer
else
if(l_hand.item_state_slots && l_hand.item_state_slots[slot_l_hand_str])
t_state = l_hand.item_state_slots[slot_l_hand_str]
//determine icon to use
var/icon/t_icon
if(l_hand.item_icons && (slot_l_hand_str in l_hand.item_icons))
t_icon = l_hand.item_icons[slot_l_hand_str]
else if(l_hand.icon_override)
t_state += WORN_LHAND
t_icon = l_hand.icon_override
else
t_icon = INV_L_HAND_DEF_ICON
result_layer = image(t_icon, t_state)
if(l_hand.color)
result_layer.color = l_hand.color
var/image/worn_overlays = l_hand.worn_overlays(t_icon)
if(worn_overlays)
result_layer.overlays.Add(worn_overlays)
result_layer.appearance_flags = RESET_ALPHA
overlays_raw[L_HAND_LAYER] = result_layer
if(update_icons)
update_icon()
/mob/living/carbon/human/update_inv_r_hand(var/update_icons=1)
if (QDELING(src))
return
@@ -1305,54 +1359,54 @@ There are several things that need to be remembered:
if(update_icons)
update_icon()
/mob/living/carbon/human/update_inv_l_hand(var/update_icons=1)
/mob/living/carbon/human/update_inv_wrists(var/update_icons=1)
if (QDELING(src))
return
overlays_raw[L_HAND_LAYER] = null
if(l_hand)
l_hand.screen_loc = ui_lhand //TODO
overlays_raw[WRISTS_LAYER] = null
if(check_draw_wrists())
wrists.screen_loc = ui_lhand //TODO
//determine icon state to use
var/t_state = l_hand.item_state || l_hand.icon_state
var/t_state = wrists.item_state || wrists.icon_state
var/image/result_layer
if(l_hand.contained_sprite)
l_hand.auto_adapt_species(src)
t_state = "[UNDERSCORE_OR_NULL(l_hand.icon_species_tag)][l_hand.item_state][WORN_LHAND]"
if(wrists.contained_sprite)
wrists.auto_adapt_species(src)
t_state = "[UNDERSCORE_OR_NULL(wrists.icon_species_tag)][wrists.item_state][WORN_WRISTS]"
result_layer = image(l_hand.icon_override || l_hand.icon, t_state)
result_layer = image(wrists.icon_override || wrists.icon, t_state)
if(l_hand.color)
result_layer.color = l_hand.color
if(wrists.color)
result_layer.color = wrists.color
result_layer.appearance_flags = RESET_ALPHA
overlays_raw[L_HAND_LAYER] = result_layer
overlays_raw[WRISTS_LAYER] = result_layer
else
if(l_hand.item_state_slots && l_hand.item_state_slots[slot_l_hand_str])
t_state = l_hand.item_state_slots[slot_l_hand_str]
if(wrists.item_state_slots && wrists.item_state_slots[slot_wrists_str])
t_state = wrists.item_state_slots[slot_wrists_str]
//determine icon to use
var/icon/t_icon
if(l_hand.item_icons && (slot_l_hand_str in l_hand.item_icons))
t_icon = l_hand.item_icons[slot_l_hand_str]
else if(l_hand.icon_override)
t_state += WORN_LHAND
t_icon = l_hand.icon_override
if(wrists.item_icons && (slot_wrists_str in wrists.item_icons))
t_icon = wrists.item_icons[slot_wrists_str]
else if(wrists.icon_override)
t_state += WORN_WRISTS
t_icon = wrists.icon_override
else
t_icon = INV_L_HAND_DEF_ICON
t_icon = INV_WRISTS_DEF_ICON
result_layer = image(t_icon, t_state)
if(l_hand.color)
result_layer.color = l_hand.color
if(wrists.color)
result_layer.color = wrists.color
var/image/worn_overlays = l_hand.worn_overlays(t_icon)
var/image/worn_overlays = wrists.worn_overlays(t_icon)
if(worn_overlays)
result_layer.overlays.Add(worn_overlays)
result_layer.appearance_flags = RESET_ALPHA
overlays_raw[L_HAND_LAYER] = result_layer
overlays_raw[WRISTS_LAYER] = result_layer
if(update_icons)
update_icon()
@@ -1519,65 +1573,74 @@ There are several things that need to be remembered:
//These functions check if an item should be drawn, or if its covered up by something else
/mob/living/carbon/human/proc/check_draw_gloves()
if (!gloves)
return 0
return FALSE
else if (gloves.flags_inv & ALWAYSDRAW)
return 1
return TRUE
else if (wear_suit && (wear_suit.flags_inv & HIDEGLOVES))
return 0
return FALSE
else
return 1
return TRUE
/mob/living/carbon/human/proc/check_draw_ears()
if (!l_ear && !r_ear)
return 0
return FALSE
else if ((l_ear && (l_ear.flags_inv & ALWAYSDRAW)) || (r_ear && (r_ear.flags_inv & ALWAYSDRAW)))
return 1
return TRUE
else if( (head && (head.flags_inv & (HIDEEARS))) || (wear_mask && (wear_mask.flags_inv & (HIDEEARS))))
return 0
return FALSE
else
return 1
return TRUE
/mob/living/carbon/human/proc/check_draw_glasses()
if (!glasses)
return 0
return FALSE
else if (glasses.flags_inv & ALWAYSDRAW)
return 1
return TRUE
else if( (head && (head.flags_inv & (HIDEEYES))) || (wear_mask && (wear_mask.flags_inv & (HIDEEYES))))
return 0
return FALSE
else
return 1
return TRUE
/mob/living/carbon/human/proc/check_draw_mask()
if (!wear_mask)
return 0
return FALSE
else if (wear_mask.flags_inv & ALWAYSDRAW)
return 1
return TRUE
else if( head && (head.flags_inv & HIDEEYES))
return 0
return FALSE
else
return 1
return TRUE
/mob/living/carbon/human/proc/check_draw_shoes()
if (!shoes)
return 0
return FALSE
else if (shoes.flags_inv & ALWAYSDRAW)
return 1
return TRUE
else if(wear_suit && (wear_suit.flags_inv & HIDESHOES))
return 0
return FALSE
else
return 1
return TRUE
/mob/living/carbon/human/proc/check_draw_underclothing()
if (!w_uniform)
return 0
return FALSE
else if (w_uniform.flags_inv & ALWAYSDRAW)
return 1
return TRUE
else if(wear_suit && (wear_suit.flags_inv & HIDEJUMPSUIT))
return 0
return FALSE
else
return 1
return TRUE
/mob/living/carbon/human/proc/check_draw_wrists()
if (!wrists)
return FALSE
else if (wrists.flags_inv & ALWAYSDRAW)
return TRUE
else if (wrists && (wrists.flags_inv & HIDEWRISTS))
return FALSE
else
return TRUE
//Human Overlays Indexes/////////
#undef MUTATIONS_LAYER
@@ -1605,6 +1668,7 @@ There are several things that need to be remembered:
#undef LEGCUFF_LAYER
#undef L_HAND_LAYER
#undef R_HAND_LAYER
#undef WRISTS_LAYER
#undef FIRE_LAYER
#undef TOTAL_LAYERS
+3 -2
View File
@@ -754,6 +754,8 @@ proc/is_blind(A)
return slot_l_ear
else if (H.shoes == src)
return slot_shoes
else if (H.wrists == src)
return slot_wrists
else
return null//We failed to find the slot
@@ -1187,6 +1189,5 @@ proc/is_blind(A)
/mob/proc/remove_deaf()
sdisabilities &= ~DEAF
/mob/proc/get_antag_datum(var/antag_role)
return
return
+3
View File
@@ -64,5 +64,8 @@
/mob/proc/update_inv_r_ear()
return
/mob/proc/update_inv_wrists()
return
/mob/proc/update_targeted()
return
@@ -9,7 +9,7 @@
icon_state_menu = "menu"
icon_state_screensaver = "standby"
hardware_flag = PROGRAM_WRISTBOUND
slot_flags = SLOT_GLOVES|SLOT_ID
slot_flags = SLOT_WRISTS|SLOT_ID
can_reset = TRUE
max_hardware_size = 1
menu_light_color = COLOR_GREEN
@@ -46,10 +46,10 @@
return
switch(over_object.name)
if(BP_R_HAND)
if("right hand")
usr.u_equip(src)
usr.put_in_r_hand(src,FALSE)
if(BP_L_HAND)
usr.put_in_r_hand(src)
if("left hand")
usr.u_equip(src)
usr.put_in_l_hand(src,FALSE)
usr.put_in_l_hand(src)
add_fingerprint(usr)
+2 -2
View File
@@ -27,10 +27,10 @@
if(!M.restrained() && !M.stat)
switch(over_object.name)
if(BP_R_HAND)
if("right hand")
M.u_equip(src)
M.put_in_r_hand(src)
if(BP_L_HAND)
if("left hand")
M.u_equip(src)
M.put_in_l_hand(src)
+2 -3
View File
@@ -103,10 +103,10 @@ var/global/photo_count = 0
playsound(loc, /decl/sound_category/rustle_sound, 50, 1, -5)
if((!( M.restrained() ) && !( M.stat ) && M.back == src))
switch(over_object.name)
if(BP_R_HAND)
if("right hand")
M.u_equip(src)
M.put_in_r_hand(src)
if(BP_L_HAND)
if("left hand")
M.u_equip(src)
M.put_in_l_hand(src)
add_fingerprint(usr)
@@ -281,4 +281,3 @@ var/global/photo_count = 0
p.id = id
return p