[ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons (#70037)

fix: Fixed a bunch of missing inhand icons.
fix: Fixed cables in electrical toolboxes not randomizing their colors.
fix: Fixed the wrong colored icon showing when trying to make cable cuffs out of cables.
fix: The collectable SWAT helmet is now using the proper icon again!
refactor: Pipecleaners and power cables now share a unified color system, so they're once again available in ALL the same colors.
imageadd: Updated the screwdriver belt overlay to represent the newer sprite.
imageadd: Added a bunch of new inhand icons. Special thanks to Twaticus for doing the helmets! <3
fix: Wirecutters now have an icon when inside a belt again!
admin: Added a new omnitool subtype that allows you to spawn all items in a typepath!
fix: Explorer gaskmasks now properly reflect their adjusted state when held.
fix: Fixed balaclavas having the wrong icon when pulled up.
fix: Fixed the base energy sword (admin spawn only) being invisible.
fix: The rainbow energy sword is now a little bit more rainbowy!
fix: Fixed an tk exploit with orange handcuffed shoes.
fix: The traitor outfit in the select equipment panel is now actually functional!
This commit is contained in:
ShizCalev
2022-10-04 10:20:24 -07:00
committed by GitHub
parent b01e009ced
commit 1a32f60cf4
265 changed files with 1620 additions and 965 deletions
+33
View File
@@ -236,3 +236,36 @@
#define AMBIENT_OCCLUSION filter(type="drop_shadow", x=0, y=-2, size=4, color="#04080FAA")
/// Icon filter that creates gaussian blur
#define GAUSSIAN_BLUR(filter_size) filter(type="blur", size=filter_size)
#define CABLE_COLOR_BLUE "blue"
#define CABLE_HEX_COLOR_BLUE COLOR_STRONG_BLUE
#define CABLE_COLOR_BROWN "brown"
#define CABLE_HEX_COLOR_BROWN COLOR_ORANGE_BROWN
#define CABLE_COLOR_CYAN "cyan"
#define CABLE_HEX_COLOR_CYAN COLOR_CYAN
#define CABLE_COLOR_GREEN "green"
#define CABLE_HEX_COLOR_GREEN COLOR_DARK_LIME
#define CABLE_COLOR_ORANGE "orange"
#define CABLE_HEX_COLOR_ORANGE COLOR_MOSTLY_PURE_ORANGE
#define CABLE_COLOR_PINK "pink"
#define CABLE_HEX_COLOR_PINK COLOR_LIGHT_PINK
#define CABLE_COLOR_RED "red"
#define CABLE_HEX_COLOR_RED COLOR_RED
#define CABLE_COLOR_WHITE "white"
#define CABLE_HEX_COLOR_WHITE COLOR_WHITE
#define CABLE_COLOR_YELLOW "yellow"
#define CABLE_HEX_COLOR_YELLOW COLOR_YELLOW
GLOBAL_LIST_INIT(cable_colors, list(
CABLE_COLOR_BLUE = CABLE_HEX_COLOR_BLUE,
CABLE_COLOR_CYAN = CABLE_HEX_COLOR_CYAN,
CABLE_COLOR_GREEN = CABLE_HEX_COLOR_GREEN,
CABLE_COLOR_ORANGE = CABLE_HEX_COLOR_ORANGE,
CABLE_COLOR_PINK = CABLE_HEX_COLOR_PINK,
CABLE_COLOR_RED = CABLE_HEX_COLOR_RED,
CABLE_COLOR_WHITE = CABLE_HEX_COLOR_WHITE,
CABLE_COLOR_YELLOW = CABLE_HEX_COLOR_YELLOW,
CABLE_COLOR_BROWN = CABLE_HEX_COLOR_BROWN
))
+10 -1
View File
@@ -140,7 +140,8 @@
* user - the mob transforming the item
*/
/datum/component/transforming/proc/default_transform_message(obj/item/source, mob/user)
source.balloon_alert(user, "[active ? "enabled" : "disabled"] [source]")
if(user)
source.balloon_alert(user, "[active ? "enabled" : "disabled"] [source]")
playsound(user ? user : source.loc, 'sound/weapons/batonextend.ogg', 50, TRUE)
/*
@@ -180,6 +181,10 @@
source.hitsound = hitsound_on
source.w_class = w_class_on
source.icon_state = "[source.icon_state]_on"
source.inhand_icon_state = "[source.inhand_icon_state]_on"
if(ismob(source.loc))
var/mob/loc_mob = source.loc
loc_mob.update_held_items()
/*
* Set our transformed item into its inactive state.
@@ -205,6 +210,10 @@
source.hitsound = initial(source.hitsound)
source.w_class = initial(source.w_class)
source.icon_state = initial(source.icon_state)
source.inhand_icon_state = initial(source.inhand_icon_state)
if(ismob(source.loc))
var/mob/loc_mob = source.loc
loc_mob.update_held_items()
/*
* If [clumsy_check] is set to TRUE, attempt to cause a side effect for clumsy people activating this item.
@@ -47,6 +47,21 @@
icon_file = 'icons/obj/tools.dmi'
json_config = 'code/datums/greyscale/json_configs/wirecutters.json'
/datum/greyscale_config/wirecutters_belt_overlay
name = "Belt Worn Icon"
icon_file = 'icons/obj/clothing/belt_overlays.dmi'
json_config = 'code/datums/greyscale/json_configs/wirecutters.json'
/datum/greyscale_config/wirecutter_inhand_left
name = "Held Wirecutter, Left"
icon_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
json_config = 'code/datums/greyscale/json_configs/wirecutter_worn.json'
/datum/greyscale_config/wirecutter_inhand_right
name = "Held Wirecutter, Right"
icon_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
json_config = 'code/datums/greyscale/json_configs/wirecutter_worn.json'
/datum/greyscale_config/screwdriver
name = "Screwdriver"
icon_file = 'icons/obj/tools.dmi'
@@ -67,6 +82,16 @@
icon_file = 'icons/obj/clothing/belt_overlays.dmi'
json_config = 'code/datums/greyscale/json_configs/screwdriver_worn.json'
/datum/greyscale_config/gloves_inhand_left
name = "Held Gloves, Left"
icon_file = 'icons/mob/inhands/clothing/gloves_lefthand.dmi'
json_config = 'code/datums/greyscale/json_configs/gloves_inhand.json'
/datum/greyscale_config/gloves_inhand_right
name = "Held Gloves, Right"
icon_file = 'icons/mob/inhands/clothing/gloves_righthand.dmi'
json_config = 'code/datums/greyscale/json_configs/gloves_inhand.json'
/datum/greyscale_config/jumpsuit
name = "Jumpsuit"
icon_file = 'icons/obj/clothing/under/color.dmi'
@@ -154,6 +179,16 @@
icon_file = 'icons/mob/clothing/feet.dmi'
json_config = 'code/datums/greyscale/json_configs/sneakers_worn.json'
/datum/greyscale_config/sneakers_inhand_left
name = "Held Sneakers, Left"
icon_file = 'icons/mob/inhands/clothing/shoes_lefthand.dmi'
json_config = 'code/datums/greyscale/json_configs/sneakers_inhand.json'
/datum/greyscale_config/sneakers_inhand_right
name = "Held Sneakers, Right"
icon_file = 'icons/mob/inhands/clothing/shoes_righthand.dmi'
json_config = 'code/datums/greyscale/json_configs/sneakers_inhand.json'
/datum/greyscale_config/sneakers_orange
name = "Orange Sneakers"
icon_file = 'icons/obj/clothing/shoes.dmi'
@@ -164,6 +199,16 @@
icon_file = 'icons/mob/clothing/feet.dmi'
json_config = 'code/datums/greyscale/json_configs/sneakers_orange_worn.json'
/datum/greyscale_config/sneakers_orange_inhand_left
name = "Held Orange Sneakers, Left"
icon_file = 'icons/mob/inhands/clothing/shoes_lefthand.dmi'
json_config = 'code/datums/greyscale/json_configs/sneakers_orange_inhand.json'
/datum/greyscale_config/sneakers_orange_inhand_right
name = "Held Orange Sneakers, Right"
icon_file = 'icons/mob/inhands/clothing/shoes_righthand.dmi'
json_config = 'code/datums/greyscale/json_configs/sneakers_orange_inhand.json'
/datum/greyscale_config/sneakers_wheelys
name = "Wheeled Sneakers"
icon_file = 'icons/obj/clothing/shoes.dmi'
@@ -478,61 +523,61 @@
icon_file = 'icons/obj/clothing/masks.dmi'
json_config = 'code/datums/greyscale/json_configs/bandana.json'
/datum/greyscale_config/bandana_up
name = "Bandana Up"
icon_file = 'icons/obj/clothing/masks.dmi'
json_config = 'code/datums/greyscale/json_configs/bandana_up.json'
/datum/greyscale_config/bandana_worn
name = "Worn Bandana"
icon_file = 'icons/mob/clothing/mask.dmi'
json_config = 'code/datums/greyscale/json_configs/bandana_worn.json'
/datum/greyscale_config/bandana_worn_up
name = "Worn Bandana Up"
icon_file = 'icons/mob/clothing/mask.dmi'
json_config = 'code/datums/greyscale/json_configs/bandana_worn_up.json'
/datum/greyscale_config/bandana_inhands_left
name = "Held Bandana, Left"
icon_file = 'icons/mob/inhands/clothing/masks_lefthand.dmi'
json_config = 'code/datums/greyscale/json_configs/bandana_inhands.json'
/datum/greyscale_config/bandana_inhands_right
name = "Held Bandana, Left"
icon_file = 'icons/mob/inhands/clothing/masks_righthand.dmi'
json_config = 'code/datums/greyscale/json_configs/bandana_inhands.json'
/datum/greyscale_config/bandstriped
name = "Striped Bandana"
icon_file = 'icons/obj/clothing/masks.dmi'
json_config = 'code/datums/greyscale/json_configs/bandstriped.json'
/datum/greyscale_config/bandstriped_up
name = "Striped Bandana Up"
icon_file = 'icons/obj/clothing/masks.dmi'
json_config = 'code/datums/greyscale/json_configs/bandstriped_up.json'
/datum/greyscale_config/bandstriped_worn
name = "Worn Striped Bandana"
icon_file = 'icons/mob/clothing/mask.dmi'
json_config = 'code/datums/greyscale/json_configs/bandstriped_worn.json'
/datum/greyscale_config/bandstriped_worn_up
name = "Worn Striped Bandana Up"
icon_file = 'icons/mob/clothing/mask.dmi'
json_config = 'code/datums/greyscale/json_configs/bandstriped_worn_up.json'
/datum/greyscale_config/bandana_striped_inhands_left
name = "Held Striped Bandana, Left"
icon_file = 'icons/mob/inhands/clothing/masks_lefthand.dmi'
json_config = 'code/datums/greyscale/json_configs/bandanastriped_inhands.json'
/datum/greyscale_config/bandana_striped_inhands_right
name = "Held Striped Bandana, Left"
icon_file = 'icons/mob/inhands/clothing/masks_righthand.dmi'
json_config = 'code/datums/greyscale/json_configs/bandanastriped_inhands.json'
/datum/greyscale_config/bandskull
name = "Skull Bandana"
icon_file = 'icons/obj/clothing/masks.dmi'
json_config = 'code/datums/greyscale/json_configs/bandskull.json'
/datum/greyscale_config/bandskull_up
name = "Skull Bandana Up"
icon_file = 'icons/obj/clothing/masks.dmi'
json_config = 'code/datums/greyscale/json_configs/bandskull_up.json'
/datum/greyscale_config/bandana_skull_inhands_left
name = "Held Skull Bandana, Left"
icon_file = 'icons/mob/inhands/clothing/masks_lefthand.dmi'
json_config = 'code/datums/greyscale/json_configs/bandanaskull_inhands.json'
/datum/greyscale_config/bandana_skull_inhands_right
name = "Held Skull Bandana, Left"
icon_file = 'icons/mob/inhands/clothing/masks_righthand.dmi'
json_config = 'code/datums/greyscale/json_configs/bandanaskull_inhands.json'
/datum/greyscale_config/bandskull_worn
name = "Worn Skull Bandana"
icon_file = 'icons/mob/clothing/mask.dmi'
json_config = 'code/datums/greyscale/json_configs/bandskull_worn.json'
/datum/greyscale_config/bandskull_worn_up
name = "Worn Skull Bandana Up"
icon_file = 'icons/mob/clothing/mask.dmi'
json_config = 'code/datums/greyscale/json_configs/bandskull_worn_up.json'
/datum/greyscale_config/material_airlock
name = "Material Airlock"
icon_file = 'icons/obj/doors/airlocks/material/material.dmi'
@@ -6,5 +6,13 @@
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
"bandana_up": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_up",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
]
}
@@ -0,0 +1,10 @@
{
"greyscale_bandana": [
{
"type": "icon_state",
"icon_state": "greyscale_bandana",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
]
}
@@ -1,10 +0,0 @@
{
"bandana_up": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_up",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
]
}
@@ -6,5 +6,13 @@
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
],
"bandana_worn_up": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_worn_up",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
]
}
@@ -1,10 +0,0 @@
{
"bandana_worn_up": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_worn_up",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
]
}
@@ -1,14 +1,14 @@
{
"bandstriped_up": [
"greyscale_bandana": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_up",
"icon_state": "greyscale_bandana",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "bandana_stripe_up",
"icon_state": "greyscale_bandana_skull",
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
@@ -1,14 +1,14 @@
{
"bandskull_up": [
"greyscale_bandana": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_up",
"icon_state": "greyscale_bandana",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "bandana_skull_up",
"icon_state": "greyscale_bandana_stripe",
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
@@ -12,5 +12,19 @@
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
],
"bandskull_up": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_up",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "bandana_skull_up",
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
]
}
@@ -12,5 +12,19 @@
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
],
"bandskull_worn_up": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_worn_up",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "bandana_skull_worn_up",
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
]
}
@@ -1,16 +0,0 @@
{
"bandskull_worn_up": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_worn_up",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "bandana_skull_worn_up",
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
]
}
@@ -12,5 +12,19 @@
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
],
"bandstriped_up": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_up",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "bandana_stripe_up",
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
]
}
@@ -12,5 +12,19 @@
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
],
"bandstriped_worn_up": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_worn_up",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "bandana_stripe_worn_up",
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
]
}
@@ -1,16 +0,0 @@
{
"bandstriped_worn_up": [
{
"type": "icon_state",
"icon_state": "bandana_cloth_worn_up",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "bandana_stripe_worn_up",
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
]
}
@@ -0,0 +1,10 @@
{
"greyscale_gloves": [
{
"type": "icon_state",
"icon_state": "greyscale_gloves",
"blend_mode": "overlay",
"color_ids": [ 1 ]
}
]
}
@@ -0,0 +1,16 @@
{
"sneakers_back": [
{
"type": "icon_state",
"icon_state": "sneakers_back",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "sneakers_front",
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
]
}
@@ -0,0 +1,35 @@
{
"sneakers_back": [
{
"type": "icon_state",
"icon_state": "sneakers_back",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "sneakers_front",
"blend_mode": "overlay",
"color_ids": [ 2 ]
}
],
"sneakers_chained": [
{
"type": "icon_state",
"icon_state": "sneakers_back",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "sneakers_front",
"blend_mode": "overlay",
"color_ids": [ 2 ]
},
{
"type": "icon_state",
"icon_state": "sneakers_chained",
"blend_mode": "overlay"
}
]
}
@@ -0,0 +1,15 @@
{
"cutters": [
{
"type": "icon_state",
"icon_state": "cutters",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
"icon_state": "cutters_cutty_thingy",
"blend_mode": "overlay"
}
]
}
+2 -2
View File
@@ -182,7 +182,7 @@
name = "krav maga gloves"
desc = "These gloves can teach you to perform Krav Maga using nanochips."
icon_state = "fightgloves"
inhand_icon_state = "fightgloves"
greyscale_colors = "#c41e0d"
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
heat_protection = HANDS
@@ -193,7 +193,7 @@
name = "combat gloves plus"
desc = "These tactical gloves are fireproof and electrically insulated, and through the use of nanochip technology will teach you the martial art of krav maga."
icon_state = "black"
inhand_icon_state = "blackgloves"
greyscale_colors = "#2f2e31"
siemens_coefficient = 0
strip_delay = 80
cold_protection = HANDS
+2 -1
View File
@@ -241,7 +241,7 @@
SET_PLANE_IMPLICIT(src, plane)
if(greyscale_config && greyscale_colors)
if(greyscale_config && greyscale_colors) //we'll check again at item/init for inhand/belt/worn configs.
update_greyscale()
//atom color stuff
@@ -1228,6 +1228,7 @@
switch(var_name)
if(NAMEOF(src, color))
add_atom_colour(color, ADMIN_COLOUR_PRIORITY)
update_appearance()
/**
+1 -1
View File
@@ -280,7 +280,7 @@
desc = "A powerful secondary explosive of syndicate design and unknown composition, it should be stable under normal conditions..."
icon = 'icons/obj/assemblies/assemblies.dmi'
icon_state = "bombcore"
inhand_icon_state = "eshield0"
inhand_icon_state = "eshield"
lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
w_class = WEIGHT_CLASS_NORMAL
+3 -6
View File
@@ -296,12 +296,9 @@ GLOBAL_LIST_INIT(dye_registry, list(
..()
held_mob.machine_wash(washer)
/obj/item/clothing/shoes/sneakers/machine_wash(obj/machinery/washing_machine/washer)
if(chained)
chained = FALSE
slowdown = SHOES_SLOWDOWN
new /obj/item/restraints/handcuffs(loc)
..()
/obj/item/clothing/shoes/sneakers/orange/machine_wash(obj/machinery/washing_machine/washer)
attached_cuffs?.forceMove(loc)
return ..()
/obj/machinery/washing_machine/relaymove(mob/living/user, direction)
container_resist_act(user)
+3
View File
@@ -224,6 +224,9 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
if(sharpness && force > 5) //give sharp objects butchering functionality, for consistency
AddComponent(/datum/component/butchering, speed = 8 SECONDS * toolspeed)
if(!greyscale_config && greyscale_colors && (greyscale_config_worn || greyscale_config_belt || greyscale_config_inhand_right || greyscale_config_inhand_left))
update_greyscale()
. = ..()
// Handle adding item associated actions
+5 -5
View File
@@ -205,7 +205,7 @@
return //If we've run out, display message and exit
else
last = null
loaded.color = GLOB.pipe_cleaner_colors[colors[current_color_index]]
loaded.color = GLOB.cable_colors[colors[current_color_index]]
loaded.update_appearance()
last = loaded.place_turf(get_turf(src), user, turn(user.dir, 180))
is_empty(user) //If we've run out, display message
@@ -225,7 +225,7 @@
for(var/obj/structure/pipe_cleaner/C in T)
if(!C)
continue
if(C.color != GLOB.pipe_cleaner_colors[colors[current_color_index]])
if(C.color != GLOB.cable_colors[colors[current_color_index]])
continue
if(C.d1 == 0)
return C
@@ -243,7 +243,7 @@
if(fromdir == dirnum) //pipe_cleaners can't loop back on themselves
pipe_cleanersuffix = "invalid"
var/image/img = image(icon = 'icons/hud/radial.dmi', icon_state = "cable_[pipe_cleanersuffix]")
img.color = GLOB.pipe_cleaner_colors[colors[current_color_index]]
img.color = GLOB.cable_colors[colors[current_color_index]]
wiredirs[icondir] = img
return wiredirs
@@ -278,7 +278,7 @@
if(!T.can_have_cabling())
return
loaded.color = GLOB.pipe_cleaner_colors[colors[current_color_index]]
loaded.color = GLOB.cable_colors[colors[current_color_index]]
loaded.update_appearance()
var/obj/structure/pipe_cleaner/linkingCable = findLinkingCable(user)
@@ -312,7 +312,7 @@
var/cwname = colors[current_color_index]
to_chat(user, "Color changed to [cwname]!")
if(loaded)
loaded.color = GLOB.pipe_cleaner_colors[colors[current_color_index]]
loaded.color = GLOB.cable_colors[colors[current_color_index]]
loaded.update_appearance()
if(wiring_gui_menu)
wiringGuiUpdate(user)
+1 -1
View File
@@ -5,7 +5,7 @@
humankind. The jewelry he kept for himself."
icon = 'icons/obj/candle.dmi'
icon_state = "candle1"
inhand_icon_state = "candle1"
inhand_icon_state = null
w_class = WEIGHT_CLASS_TINY
light_color = LIGHT_COLOR_FIRE
heat = 1000
+2
View File
@@ -4,6 +4,8 @@
icon = 'icons/obj/device.dmi'
icon_state = "gangtool-blue"
inhand_icon_state = "radio"
lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi'
var/uses = 1
/obj/item/choice_beacon/attack_self(mob/user)
+3
View File
@@ -128,6 +128,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
name = "cigarette"
desc = "A roll of tobacco and nicotine."
icon_state = "cigoff"
inhand_icon_state = "cigon" //gets overriden during intialize(), just have it for unit test sanity.
throw_speed = 0.5
w_class = WEIGHT_CLASS_TINY
body_parts_covered = null
@@ -529,6 +530,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon_state = "cigaroff"
icon_on = "cigaron"
icon_off = "cigaroff" //make sure to add positional sprites in icons/obj/cigarettes.dmi if you add more.
inhand_icon_state = "cigaron" //gets overriden during intialize(), just have it for unit test sanity.
inhand_icon_on = "cigaron"
inhand_icon_off = "cigaroff"
type_butt = /obj/item/cigbutt/cigarbutt
@@ -580,6 +582,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon_state = "pipeoff"
icon_on = "pipeon" //Note - these are in masks.dmi
icon_off = "pipeoff"
inhand_icon_state = null
inhand_icon_on = null
inhand_icon_off = null
smoketime = 0
+31
View File
@@ -30,6 +30,8 @@
icon = 'icons/obj/device.dmi'
icon_state = "hypertool"
inhand_icon_state = "hypertool"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
toolspeed = 0.1
tool_behaviour = null
@@ -44,6 +46,7 @@
return FALSE
return TRUE
/obj/item/debug/omnitool/attack_self(mob/user)
if(!user)
return
@@ -119,4 +122,32 @@
else
RemoveElement(/datum/element/eyestab)
/obj/item/debug/omnitool/item_spawner/attack_self(mob/user)
if(!user || !user.client)
return
var/path = text2path(tgui_input_text(user, "Insert an item typepath to spawn", "ADMINS ONLY. FUCK AROUND AND FIND OUT."))
if(!path)
return
var/choice = tgui_alert(user, "Subtypes only?",, list("Yes", "No"))
if(!choice)
return
if(!user.client.holder)
if(!isliving(user))
return
var/mob/living/living_user = user
to_chat(user, span_warning("As you try to use [src], you hear strange tearing sounds, as if the coder gods were attempting to reach out and choke you themselves."))
playsound(src, 'sound/effects/dimensional_rend.ogg')
sleep(4 SECONDS)
var/confirmation = tgui_alert(user, "Are you certain you want to do that?", "Admins Only. Last Chance.", list("Yes", "No"))
if(!confirmation || confirmation == ("No"))
return
if(!user.client.holder) //safety if the admin readmined to save their ass lol.
to_chat(user, span_reallybig("You shouldn't have done that..."))
playsound(src, 'sound/voice/borg_deathsound.ogg')
sleep(3 SECONDS)
living_user.gib()
return
var/turf/loc_turf = get_turf(src)
for(var/spawn_atom in (choice == "No" ? typesof(path) : subtypesof(path)))
new spawn_atom(loc_turf)
+3 -3
View File
@@ -268,7 +268,7 @@
name = "compact defibrillator"
desc = "A belt-equipped defibrillator that can be rapidly deployed."
icon_state = "defibcompact"
inhand_icon_state = "defibcompact"
inhand_icon_state = null
worn_icon_state = "defibcompact"
w_class = WEIGHT_CLASS_NORMAL
slot_flags = ITEM_SLOT_BELT
@@ -291,7 +291,7 @@
name = "combat defibrillator"
desc = "A belt-equipped blood-red defibrillator. Can revive through thick clothing, has an experimental self-recharging battery, and can be utilized in combat via applying the paddles in a disarming or aggressive manner."
icon_state = "defibcombat" //needs defib inhand sprites
inhand_icon_state = "defibcombat"
inhand_icon_state = null
worn_icon_state = "defibcombat"
combat = TRUE
safety = FALSE
@@ -315,7 +315,7 @@
name = "elite Nanotrasen defibrillator"
desc = "A belt-equipped state-of-the-art defibrillator. Can revive through thick clothing, has an experimental self-recharging battery, and can be utilized in combat via applying the paddles in a disarming or aggressive manner."
icon_state = "defibnt" //needs defib inhand sprites
inhand_icon_state = "defibnt"
inhand_icon_state = null
worn_icon_state = "defibnt"
paddle_type = /obj/item/shockpaddles/syndicate/nanotrasen
paddle_state = "defibnt-paddles"
@@ -261,7 +261,7 @@
name = "banana lamp"
desc = "Only a clown would think to make a ghetto banana-shaped lamp. Even has a goofy pullstring."
icon_state = "bananalamp"
inhand_icon_state = "bananalamp"
inhand_icon_state = null
// FLARES
@@ -369,7 +369,7 @@
name = "suspicious lantern"
desc = "A suspicious looking lantern."
icon_state = "syndilantern"
inhand_icon_state = "syndilantern"
inhand_icon_state = null
light_range = 10
/obj/item/flashlight/lantern/jade
@@ -384,7 +384,7 @@
desc = "Extract from a yellow slime. It emits a strong light when squeezed."
icon = 'icons/obj/lighting.dmi'
icon_state = "slime"
inhand_icon_state = "slime"
inhand_icon_state = null
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
custom_materials = null
@@ -457,7 +457,7 @@
color = LIGHT_COLOR_GREEN
icon_state = "glowstick"
base_icon_state = "glowstick"
inhand_icon_state = "glowstick"
inhand_icon_state = null
worn_icon_state = "lightstick"
grind_results = list(/datum/reagent/phenol = 15, /datum/reagent/hydrogen = 10, /datum/reagent/oxygen = 5) //Meth-in-a-stick
/// How many seconds of fuel we have left
+2
View File
@@ -6,6 +6,8 @@
icon_state = "gps-c"
inhand_icon_state = "electronic"
worn_icon_state = "electronic"
lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
obj_flags = UNIQUE_RENAME
@@ -3,7 +3,7 @@
desc = "Used for coloring pipes, unsurprisingly."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "labeler1"
inhand_icon_state = "flight"
inhand_icon_state = null
item_flags = NOBLUDGEON
var/paint_color = "grey"
@@ -2,7 +2,9 @@
name = "pressure plate"
desc = "An electronic device that triggers when stepped on. Ctrl-Click to toggle the pressure plate off and on."
icon = 'icons/obj/puzzle_small.dmi'
inhand_icon_state = "flash"
inhand_icon_state = "flashtool"
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
icon_state = "pressureplate"
layer = LOW_OBJ_LAYER
var/trigger_mob = TRUE
@@ -19,6 +19,8 @@ GLOBAL_LIST_INIT(channel_tokens, list(
desc = "An updated, modular intercom that fits over the head. Takes encryption keys."
icon_state = "headset"
inhand_icon_state = "headset"
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
worn_icon_state = "headset"
custom_materials = list(/datum/material/iron=75)
subspace_transmission = TRUE
@@ -115,7 +117,6 @@ GLOBAL_LIST_INIT(channel_tokens, list(
name = "syndicate headset"
desc = "A syndicate headset that can be used to hear all radio frequencies. Protects ears from flashbangs."
icon_state = "syndie_headset"
inhand_icon_state = "syndie_headset"
/obj/item/radio/headset/syndicate/alt/Initialize(mapload)
. = ..()
@@ -138,7 +139,6 @@ GLOBAL_LIST_INIT(channel_tokens, list(
name = "security bowman headset"
desc = "This is used by your elite security force. Protects ears from flashbangs."
icon_state = "sec_headset_alt"
inhand_icon_state = "sec_headset_alt"
/obj/item/radio/headset/headset_sec/alt/Initialize(mapload)
. = ..()
@@ -205,7 +205,6 @@ GLOBAL_LIST_INIT(channel_tokens, list(
name = "\proper the captain's bowman headset"
desc = "The headset of the boss. Protects ears from flashbangs."
icon_state = "com_headset_alt"
inhand_icon_state = "com_headset_alt"
/obj/item/radio/headset/heads/captain/alt/Initialize(mapload)
. = ..()
@@ -227,7 +226,6 @@ GLOBAL_LIST_INIT(channel_tokens, list(
name = "\proper the head of security's bowman headset"
desc = "The headset of the man in charge of keeping order and protecting the station. Protects ears from flashbangs."
icon_state = "com_headset_alt"
inhand_icon_state = "com_headset_alt"
/obj/item/radio/headset/heads/hos/alt/Initialize(mapload)
. = ..()
@@ -293,7 +291,6 @@ GLOBAL_LIST_INIT(channel_tokens, list(
name = "\improper CentCom bowman headset"
desc = "A headset especially for emergency response personnel. Protects ears from flashbangs."
icon_state = "cent_headset_alt"
inhand_icon_state = "cent_headset_alt"
keyslot = null
/obj/item/radio/headset/headset_cent/alt/Initialize(mapload)
@@ -4,7 +4,9 @@
icon = 'icons/obj/radio.dmi'
name = "station bounced radio"
icon_state = "walkietalkie"
inhand_icon_state = "walkietalkie"
inhand_icon_state = "radio"
lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi'
worn_icon_state = "radio"
desc = "A basic handheld radio that communicates with local telecommunication networks."
dog_fashion = /datum/dog_fashion/back
@@ -5,6 +5,8 @@
icon_state = "scanner"
inhand_icon_state = "electronic"
worn_icon_state = "electronic"
lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi'
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
custom_price = PAYCHECK_CREW * 5
@@ -207,6 +207,8 @@ effective or pretty fucking useless.
icon = 'icons/obj/clothing/belts.dmi'
icon_state = "utility"
inhand_icon_state = "utility"
lefthand_file = 'icons/mob/inhands/equipment/belt_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/belt_righthand.dmi'
worn_icon_state = "utility"
slot_flags = ITEM_SLOT_BELT
attack_verb_continuous = list("whips", "lashes", "disciplines")
+20 -2
View File
@@ -3,6 +3,7 @@
desc = "A cheap single use autoinjector that injects the user with DNA."
icon = 'icons/obj/medical/syringe.dmi'
icon_state = "dnainjector"
inhand_icon_state = "dnainjector"
worn_icon_state = "pen"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
@@ -17,6 +18,24 @@
var/used = FALSE
/obj/item/dnainjector/Initialize(mapload)
. = ..()
AddElement(/datum/element/update_icon_updates_onmob)
if(used)
update_appearance()
/obj/item/dnainjector/vv_edit_var(vname, vval)
. = ..()
if(vname == NAMEOF(src, used))
update_appearance()
/obj/item/dnainjector/update_icon_state()
. = ..()
icon_state = inhand_icon_state = "[initial(icon_state)][used ? "0" : null]"
/obj/item/dnainjector/update_desc(updates)
. = ..()
desc = "[initial(desc)][used ? "This one is used up." : null]"
/obj/item/dnainjector/attack_paw(mob/user, list/modifiers)
return attack_hand(user, modifiers)
@@ -77,8 +96,7 @@
to_chat(user, span_notice("It appears that [target] does not have compatible DNA."))
used = TRUE
icon_state = "dnainjector0"
desc += " This one is used up."
update_appearance()
/obj/item/dnainjector/timed
var/duration = 600
+2 -1
View File
@@ -4,6 +4,7 @@
/obj/item/dualsaber
icon = 'icons/obj/weapons/transforming_energy.dmi'
icon_state = "dualsaber0"
inhand_icon_state = "dualsaber0"
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
name = "double-bladed energy sword"
@@ -71,7 +72,7 @@
return HAS_TRAIT(src, TRAIT_WIELDED) && sharpness
/obj/item/dualsaber/update_icon_state()
icon_state = HAS_TRAIT(src, TRAIT_WIELDED) ? "dualsaber[saber_color][HAS_TRAIT(src, TRAIT_WIELDED)]" : "dualsaber0"
icon_state = inhand_icon_state = HAS_TRAIT(src, TRAIT_WIELDED) ? "dualsaber[saber_color][HAS_TRAIT(src, TRAIT_WIELDED)]" : "dualsaber0"
return ..()
/obj/item/dualsaber/suicide_act(mob/living/carbon/user)
+2 -2
View File
@@ -249,7 +249,7 @@
desc = "Bon appetit!"
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "baguette"
inhand_icon_state = "baguette"
inhand_icon_state = null
worn_icon_state = "baguette"
food_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 3)
bite_consumption = 3
@@ -332,7 +332,7 @@
desc = "Alas, it is limited."
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "garlicbread"
inhand_icon_state = "garlicbread"
inhand_icon_state = null
food_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/consumable/garlic = 2)
bite_consumption = 3
tastes = list("bread" = 1, "garlic" = 1, "butter" = 1)
+2 -2
View File
@@ -367,7 +367,7 @@
desc = "A delicious lollipop. Makes for a great Valentine's present."
icon = 'icons/obj/food/lollipop.dmi'
icon_state = "lollipop_stick"
inhand_icon_state = "lollipop_stick"
inhand_icon_state = null
food_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1, /datum/reagent/iron = 10, /datum/reagent/consumable/sugar = 5, /datum/reagent/medicine/omnizine = 2) //Honk
tastes = list("candy" = 1)
foodtypes = JUNKFOOD | SUGAR
@@ -402,7 +402,7 @@
name = "bubblegum"
desc = "A rubbery strip of gum. Not exactly filling, but it keeps you busy."
icon_state = "bubblegum"
inhand_icon_state = "bubblegum"
inhand_icon_state = null
color = "#E48AB5" // craftable custom gums someday?
food_reagents = list(/datum/reagent/consumable/sugar = 5)
tastes = list("candy" = 1)
+1 -4
View File
@@ -4,7 +4,7 @@
name = "pancake"
desc = "A fluffy pancake. The softer, superior relative of the waffle."
icon_state = "pancakes_1"
inhand_icon_state = "pancakes"
inhand_icon_state = null
food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 2)
tastes = list("pancakes" = 1)
foodtypes = GRAIN | SUGAR | BREAKFAST
@@ -16,7 +16,6 @@
name = "goopy pancake"
desc = "A barely cooked mess that some may mistake for a pancake. It longs for the griddle."
icon_state = "rawpancakes_1"
inhand_icon_state = "rawpancakes"
food_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1)
tastes = list("milky batter" = 1)
burns_on_grill = FALSE
@@ -56,7 +55,6 @@
name = "blueberry pancake"
desc = "A fluffy and delicious blueberry pancake."
icon_state = "bbpancakes_1"
inhand_icon_state = "bbpancakes"
food_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 5)
tastes = list("pancakes" = 1, "blueberries" = 1)
@@ -64,7 +62,6 @@
name = "chocolate chip pancake"
desc = "A fluffy and delicious chocolate chip pancake."
icon_state = "ccpancakes_1"
inhand_icon_state = "ccpancakes"
food_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 5)
tastes = list("pancakes" = 1, "chocolate" = 1)
+1
View File
@@ -1,6 +1,7 @@
/obj/item/food/pie
icon = 'icons/obj/food/piecake.dmi'
bite_consumption = 3
w_class = WEIGHT_CLASS_NORMAL
max_volume = 80
@@ -54,7 +54,7 @@
name = "C.L.U.W.N.E."
desc = "A sleek device often given to clowns on their 10th birthdays for protection. You can hear faint scratching coming from within."
icon_state = "clown_ball"
inhand_icon_state = "clown_ball"
inhand_icon_state = null
spawner_type = list(/mob/living/simple_animal/hostile/retaliate/clown/fleshclown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk, /mob/living/simple_animal/hostile/retaliate/clown/longface, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/chlown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/honcmunculus, /mob/living/simple_animal/hostile/retaliate/clown/mutant/glutton, /mob/living/simple_animal/hostile/retaliate/clown/banana, /mob/living/simple_animal/hostile/retaliate/clown/honkling, /mob/living/simple_animal/hostile/retaliate/clown/lube)
deliveryamt = 1
@@ -62,6 +62,6 @@
name = "stuffed C.L.U.W.N.E."
desc = "A sleek device often given to clowns on their 10th birthdays for protection. While a typical C.L.U.W.N.E only holds one creature, sometimes foolish young clowns try to cram more in, often to disasterous effect."
icon_state = "clown_broken"
inhand_icon_state = "clown_broken"
inhand_icon_state = null
spawner_type = /mob/living/simple_animal/hostile/retaliate/clown/mutant
deliveryamt = 5
+58 -14
View File
@@ -29,6 +29,7 @@
gender = PLURAL
icon_state = "handcuff"
worn_icon_state = "handcuff"
inhand_icon_state = "handcuff"
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
flags_1 = CONDUCT_1
@@ -137,15 +138,17 @@
name = "cable restraints"
desc = "Looks like some cables tied together. Could be used to tie something up."
icon_state = "cuff"
inhand_icon_state = "coil"
color = "#ff0000"
inhand_icon_state = "coil_red"
color = CABLE_HEX_COLOR_RED
///for generating the correct icons based off the original cable's color.
var/cable_color = CABLE_COLOR_RED
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
custom_materials = list(/datum/material/iron=150, /datum/material/glass=75)
breakouttime = 30 SECONDS
cuffsound = 'sound/weapons/cablecuff.ogg'
/obj/item/restraints/handcuffs/cable/Initialize(mapload)
/obj/item/restraints/handcuffs/cable/Initialize(mapload, new_color)
. = ..()
var/static/list/hovering_item_typechecks = list(
@@ -159,6 +162,29 @@
)
AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks)
AddElement(/datum/element/update_icon_updates_onmob, (slot_flags|ITEM_SLOT_HANDCUFFED))
if(new_color)
set_cable_color(new_color)
/obj/item/restraints/handcuffs/cable/proc/set_cable_color(new_color)
color = GLOB.cable_colors[new_color]
cable_color = new_color
update_appearance(UPDATE_ICON)
/obj/item/restraints/handcuffs/cable/vv_edit_var(vname, vval)
if(vname == NAMEOF(src, cable_color))
set_cable_color(vval)
datum_flags |= DF_VAR_EDITED
return TRUE
return ..()
/obj/item/restraints/handcuffs/cable/update_icon_state()
. = ..()
if(cable_color)
var/new_inhand_icon = "coil_[cable_color]"
if(new_inhand_icon != inhand_icon_state)
inhand_icon_state = new_inhand_icon //small memory optimization.
/**
* # Sinew restraints
@@ -171,7 +197,8 @@
name = "sinew restraints"
desc = "A pair of restraints fashioned from long strands of flesh."
icon_state = "sinewcuff"
inhand_icon_state = "sinewcuff"
inhand_icon_state = null
cable_color = null
custom_materials = null
color = null
@@ -179,49 +206,65 @@
* Red cable restraints
*/
/obj/item/restraints/handcuffs/cable/red
color = "#ff0000"
color = CABLE_HEX_COLOR_RED
cable_color = CABLE_COLOR_RED
inhand_icon_state = "coil_red"
/**
* Yellow cable restraints
*/
/obj/item/restraints/handcuffs/cable/yellow
color = "#ffff00"
color = CABLE_HEX_COLOR_YELLOW
cable_color = CABLE_COLOR_YELLOW
inhand_icon_state = "coil_yellow"
/**
* Blue cable restraints
*/
/obj/item/restraints/handcuffs/cable/blue
color = "#1919c8"
color =CABLE_HEX_COLOR_BLUE
cable_color = CABLE_COLOR_BLUE
inhand_icon_state = "coil_blue"
/**
* Green cable restraints
*/
/obj/item/restraints/handcuffs/cable/green
color = "#00aa00"
color = CABLE_HEX_COLOR_GREEN
cable_color = CABLE_COLOR_GREEN
inhand_icon_state = "coil_green"
/**
* Pink cable restraints
*/
/obj/item/restraints/handcuffs/cable/pink
color = "#ff3ccd"
color = CABLE_HEX_COLOR_PINK
cable_color = CABLE_COLOR_PINK
inhand_icon_state = "coil_pink"
/**
* Orange (the color) cable restraints
*/
/obj/item/restraints/handcuffs/cable/orange
color = "#ff8000"
color = CABLE_HEX_COLOR_ORANGE
cable_color = CABLE_COLOR_ORANGE
inhand_icon_state = "coil_orange"
/**
* Cyan cable restraints
*/
/obj/item/restraints/handcuffs/cable/cyan
color = "#00ffff"
color = CABLE_HEX_COLOR_CYAN
cable_color = CABLE_COLOR_CYAN
inhand_icon_state = "coil_cyan"
/**
* White cable restraints
*/
/obj/item/restraints/handcuffs/cable/white
color = null
color = CABLE_HEX_COLOR_WHITE
cable_color = CABLE_COLOR_WHITE
inhand_icon_state = "coil_white"
/obj/item/restraints/handcuffs/cable/attackby(obj/item/I, mob/user, params) //Slapcrafting
if(istype(I, /obj/item/stack/rods))
@@ -262,12 +305,14 @@
name = "zipties"
desc = "Plastic, disposable zipties that can be used to restrain temporarily but are destroyed after use."
icon_state = "cuff"
inhand_icon_state = "cuff_white"
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
custom_materials = null
breakouttime = 45 SECONDS
trashtype = /obj/item/restraints/handcuffs/cable/zipties/used
color = null
cable_color = null
/**
* # Used zipties
@@ -277,7 +322,6 @@
/obj/item/restraints/handcuffs/cable/zipties/used
desc = "A pair of broken zipties."
icon_state = "cuff_used"
inhand_icon_state = "cuff"
/obj/item/restraints/handcuffs/cable/zipties/used/attack()
return
@@ -295,7 +339,6 @@
/obj/item/restraints/handcuffs/cable/zipties/fake/used
desc = "A pair of broken fake zipties."
icon_state = "cuff_used"
inhand_icon_state = "cuff"
/**
* # Generic leg cuffs
@@ -307,6 +350,7 @@
desc = "Use this to keep prisoners in line."
gender = PLURAL
icon_state = "handcuff"
inhand_icon_state = "handcuff"
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
flags_1 = CONDUCT_1
+5 -1
View File
@@ -363,7 +363,9 @@
desc = "Used for absolutely hilarious sacrifices."
icon = 'icons/obj/wizard.dmi'
icon_state = "clownrender"
inhand_icon_state = "render"
inhand_icon_state = "cultdagger"
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
worn_icon_state = "render"
hitsound = 'sound/items/bikehorn.ogg'
sharpness = SHARP_EDGED
@@ -423,6 +425,8 @@
inhand_icon_state = "fedora"
slot_flags = ITEM_SLOT_HEAD
icon = 'icons/obj/clothing/hats.dmi'
lefthand_file = 'icons/mob/inhands/clothing/hats_lefthand.dmi'
righthand_file = 'icons/mob/inhands/clothing/hats_righthand.dmi'
force = 0
throw_speed = 4
throw_range = 7
+2
View File
@@ -10,6 +10,8 @@
icon_state = "inspector"
worn_icon_state = "salestagger"
inhand_icon_state = "electronic"
lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi'
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_range = 1
+2
View File
@@ -103,6 +103,7 @@
desc = "Used to knock out the Bartender."
icon_state = "rolling_pin"
worn_icon_state = "rolling_pin"
inhand_icon_state = "rolling_pin"
force = 8
throwforce = 5
throw_speed = 3
@@ -118,6 +119,7 @@
name = "metal rolling pin"
desc = "A heavy metallic rolling pin used to bash in those annoying ingredients."
icon_state = "metal_rolling_pin"
inhand_icon_state = "metal_rolling_pin"
force = 12
flags_1 = CONDUCT_1
custom_materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT * 1.5, /datum/material/plastic = MINERAL_MATERIAL_AMOUNT * 1.5)
+8 -2
View File
@@ -2,7 +2,9 @@
name = "latex glove"
desc = "Sterile and airtight."
icon_state = "latexballon"
inhand_icon_state = "lgloves"
inhand_icon_state = "greyscale_gloves"
lefthand_file = 'icons/mob/inhands/clothing/gloves_righthand.dmi'
righthand_file = 'icons/mob/inhands/clothing/gloves_lefthand.dmi'
force = 0
throwforce = 0
w_class = WEIGHT_CLASS_TINY
@@ -19,6 +21,8 @@
if (icon_state == "latexballon_bursted")
return
icon_state = "latexballon_blow"
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
inhand_icon_state = "latexballon"
user.update_held_items()
to_chat(user, span_notice("You blow up [src] with [tank]."))
@@ -35,7 +39,9 @@
return
playsound(src, 'sound/weapons/gun/pistol/shot.ogg', 100, TRUE)
icon_state = "latexballon_bursted"
inhand_icon_state = "lgloves"
inhand_icon_state = initial(inhand_icon_state)
lefthand_file = initial(lefthand_file)
righthand_file = initial(righthand_file)
if(isliving(loc))
var/mob/living/user = src.loc
user.update_held_items()
+27 -7
View File
@@ -100,6 +100,10 @@
if(active)
if(sword_color_icon)
icon_state = "[icon_state]_[sword_color_icon]"
inhand_icon_state = "[inhand_icon_state]_[sword_color_icon]"
if(ismob(loc))
var/mob/loc_mob = loc
loc_mob.update_held_items()
if(embedding)
updateEmbedding()
heat = active_heat
@@ -111,7 +115,8 @@
STOP_PROCESSING(SSobj, src)
tool_behaviour = (active ? TOOL_SAW : NONE) //Lets energy weapons cut trees. Also lets them do bonecutting surgery, which is kinda metal!
balloon_alert(user, "[name] [active ? "enabled":"disabled"]")
if(user)
balloon_alert(user, "[name] [active ? "enabled":"disabled"]")
playsound(user ? user : src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, TRUE)
set_light_on(active)
return COMPONENT_NO_DEFAULT_MESSAGE
@@ -121,6 +126,7 @@
name = "energy axe"
desc = "An energized battle axe."
icon_state = "axe"
inhand_icon_state = "axe"
lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi'
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -158,6 +164,7 @@
name = "energy sword"
desc = "May the force be within you."
icon_state = "e_sword"
inhand_icon_state = "e_sword"
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
hitsound = SFX_SWING_HIT
@@ -219,7 +226,7 @@
// The colored energy swords we all know and love.
/obj/item/melee/energy/sword/saber
/// Assoc list of all possible saber colors to color define.
var/list/possible_colors = list(
var/list/possible_sword_colors = list(
"red" = COLOR_SOFT_RED,
"blue" = LIGHT_COLOR_LIGHT_CYAN,
"green" = LIGHT_COLOR_GREEN,
@@ -227,19 +234,30 @@
)
/// Whether this saber has been multitooled.
var/hacked = FALSE
var/hacked_color
/obj/item/melee/energy/sword/saber/Initialize(mapload)
. = ..()
if(!sword_color_icon && LAZYLEN(possible_colors))
sword_color_icon = pick(possible_colors)
if(!sword_color_icon && LAZYLEN(possible_sword_colors))
sword_color_icon = pick(possible_sword_colors)
if(sword_color_icon)
set_light_color(possible_colors[sword_color_icon])
set_light_color(possible_sword_colors[sword_color_icon])
/obj/item/melee/energy/sword/saber/process()
. = ..()
if(hacked)
set_light_color(possible_colors[pick(possible_colors)])
if(blade_active && hacked)
if(!LAZYLEN(possible_sword_colors))
possible_sword_colors = list(
"red" = COLOR_SOFT_RED,
"blue" = LIGHT_COLOR_LIGHT_CYAN,
"green" = LIGHT_COLOR_GREEN,
"purple" = LIGHT_COLOR_LAVENDER,
)
possible_sword_colors -= hacked_color
hacked_color = pick(possible_sword_colors)
set_light_color(possible_sword_colors[hacked_color])
possible_sword_colors -= hacked_color
/obj/item/melee/energy/sword/saber/red
sword_color_icon = "red"
@@ -262,12 +280,14 @@
to_chat(user, span_warning("RNBW_ENGAGE"))
if(force >= active_force)
icon_state = "[initial(icon_state)]_on_rainbow"
inhand_icon_state = "[initial(inhand_icon_state)]_on_rainbow"
user.update_held_items()
/obj/item/melee/energy/sword/pirate
name = "energy cutlass"
desc = "Arrrr matey."
icon_state = "e_cutlass"
inhand_icon_state = "e_cutlass"
lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
light_color = COLOR_RED
+1 -1
View File
@@ -3,6 +3,7 @@
name = "mop"
icon = 'icons/obj/janitor.dmi'
icon_state = "mop"
inhand_icon_state = "mop"
lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
force = 8
@@ -72,7 +73,6 @@
name = "advanced mop"
max_reagent_volume = 10
icon_state = "advmop"
inhand_icon_state = "mop"
lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
force = 12
+12 -13
View File
@@ -533,7 +533,7 @@
name = "space lizard plushie"
desc = "An adorable stuffed toy that resembles a very determined spacefaring lizardperson. To infinity and beyond, little guy."
icon_state = "plushie_spacelizard"
inhand_icon_state = "plushie_spacelizard"
inhand_icon_state = null
// space lizards can't hit people with their tail, it's stuck in their suit
attack_verb_continuous = list("claws", "hisses", "bops")
attack_verb_simple = list("claw", "hiss", "bops")
@@ -543,7 +543,7 @@
name = "snake plushie"
desc = "An adorable stuffed toy that resembles a snake. Not to be mistaken for the real thing."
icon_state = "plushie_snake"
inhand_icon_state = "plushie_snake"
inhand_icon_state = null
attack_verb_continuous = list("bites", "hisses", "tail slaps")
attack_verb_simple = list("bite", "hiss", "tail slap")
squeak_override = list('sound/weapons/bite.ogg' = 1)
@@ -552,7 +552,7 @@
name = "operative plushie"
desc = "A stuffed toy that resembles a syndicate nuclear operative. The tag claims operatives to be purely fictitious."
icon_state = "plushie_nuke"
inhand_icon_state = "plushie_nuke"
inhand_icon_state = null
attack_verb_continuous = list("shoots", "nukes", "detonates")
attack_verb_simple = list("shoot", "nuke", "detonate")
squeak_override = list('sound/effects/hit_punch.ogg' = 1)
@@ -561,7 +561,7 @@
name = "plasmaman plushie"
desc = "A stuffed toy that resembles your purple coworkers. Mmm, yeah, in true plasmaman fashion, it's not cute at all despite the designer's best efforts."
icon_state = "plushie_pman"
inhand_icon_state = "plushie_pman"
inhand_icon_state = null
attack_verb_continuous = list("burns", "space beasts", "fwooshes")
attack_verb_simple = list("burn", "space beast", "fwoosh")
squeak_override = list('sound/effects/extinguish.ogg' = 1)
@@ -570,7 +570,7 @@
name = "slime plushie"
desc = "An adorable stuffed toy that resembles a slime. It is practically just a hacky sack."
icon_state = "plushie_slime"
inhand_icon_state = "plushie_slime"
inhand_icon_state = null
attack_verb_continuous = list("blorbles", "slimes", "absorbs")
attack_verb_simple = list("blorble", "slime", "absorb")
squeak_override = list('sound/effects/blobattack.ogg' = 1)
@@ -580,7 +580,7 @@
name = "awakened plushie"
desc = "An ancient plushie that has grown enlightened to the true nature of reality."
icon_state = "plushie_awake"
inhand_icon_state = "plushie_awake"
inhand_icon_state = null
/obj/item/toy/plush/awakenedplushie/Initialize(mapload)
. = ..()
@@ -590,7 +590,7 @@
name = "bee plushie"
desc = "A cute toy that resembles an even cuter bee."
icon_state = "plushie_h"
inhand_icon_state = "plushie_h"
inhand_icon_state = null
attack_verb_continuous = list("stings")
attack_verb_simple = list("sting")
gender = FEMALE
@@ -658,7 +658,7 @@
name = "moth plushie"
desc = "A plushie depicting an adorable mothperson. It's a huggable bug!"
icon_state = "moffplush"
inhand_icon_state = "moffplush"
inhand_icon_state = null
attack_verb_continuous = list("flutters", "flaps")
attack_verb_simple = list("flutter", "flap")
squeak_override = list('sound/voice/moth/scream_moth.ogg'=1)
@@ -686,7 +686,6 @@
name = "peacekeeper plushie"
desc = "A plushie depicting a peacekeeper cyborg. Only you can prevent human harm!"
icon_state = "pkplush"
inhand_icon_state = "pkplush"
attack_verb_continuous = list("hugs", "squeezes")
attack_verb_simple = list("hug", "squeeze")
squeak_override = list('sound/weapons/thudswoosh.ogg'=1)
@@ -695,7 +694,7 @@
name = "runner plushie"
desc = "A plushie depicting a xenomorph runner, made to commemorate the centenary of the Battle of LV-426. Much cuddlier than the real thing."
icon_state = "rouny"
inhand_icon_state = "rouny"
inhand_icon_state = null
attack_verb_continuous = list("slashes", "bites", "charges")
attack_verb_simple = list("slash", "bite", "charge")
squeak_override = list('sound/items/intents/Help.ogg' = 1)
@@ -704,7 +703,7 @@
name = "abductor plushie"
desc = "A plushie depicting an alien abductor. The tag on it is in an indecipherable language."
icon_state = "abductor"
inhand_icon_state = "abductor"
inhand_icon_state = null
attack_verb_continuous = list("abducts", "probes")
attack_verb_continuous = list("abduct", "probe")
squeak_override = list('sound/weather/ashstorm/inside/weak_end.ogg' = 1) //very faint sound since abductors are silent as far as "speaking" is concerned.
@@ -713,7 +712,7 @@
name = "abductor agent plushie"
desc = "A plushie depicting an alien abductor agent. The stun baton is attached to the hand of the plushie, and appears to be inert. I wouldn't stay alone with it."
icon_state = "abductor_agent"
inhand_icon_state = "abductor_agent"
inhand_icon_state = null
attack_verb_continuous = list("abducts", "probes", "stuns")
attack_verb_continuous = list("abduct", "probe", "stun")
squeak_override = list(
@@ -725,7 +724,7 @@
name = "cucumber greek"
desc = "A plushie depicting a large cucumber with eyes, it seems that according to the manufacturer of the toy, the human race will look like in the future."
icon_state = "cucumber"
inhand_icon_state = "cucumber"
inhand_icon_state = null
attack_verb_continuous = list("squishуы", "creakes", "crunches")
attack_verb_simple = list("squish", "creak", "crunch")
squeak_override = list(
+6
View File
@@ -272,30 +272,36 @@
name = "Crusader's Hood"
desc = "A brownish hood."
icon_state = "crusader"
inhand_icon_state = null
w_class = WEIGHT_CLASS_NORMAL
flags_inv = HIDEHAIR|HIDEEARS|HIDEFACE
armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 60, BIO = 0, FIRE = 60, ACID = 60)
/obj/item/clothing/head/helmet/plate/crusader/blue
icon_state = "crusader-blue"
inhand_icon_state = null
/obj/item/clothing/head/helmet/plate/crusader/red
icon_state = "crusader-red"
inhand_icon_state = null
//Prophet helmet
/obj/item/clothing/head/helmet/plate/crusader/prophet
name = "Prophet's Hat"
desc = "A religious-looking hat."
icon_state = null
inhand_icon_state = null
flags_1 = 0
armor = list(MELEE = 60, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 70, BIO = 50, FIRE = 60, ACID = 60) //religion protects you from disease, honk.
worn_y_offset = 6
/obj/item/clothing/head/helmet/plate/crusader/prophet/red
icon_state = "prophet-red"
inhand_icon_state = null
/obj/item/clothing/head/helmet/plate/crusader/prophet/blue
icon_state = "prophet-blue"
inhand_icon_state = null
//Structure conversion staff
/obj/item/godstaff
+1 -1
View File
@@ -66,7 +66,7 @@
name = "bluespace polycrystal"
icon = 'icons/obj/telescience.dmi'
icon_state = "polycrystal"
inhand_icon_state = "sheet-polycrystal"
inhand_icon_state = null
singular_name = "bluespace polycrystal"
desc = "A stable polycrystal, made of fused-together bluespace crystals. You could probably break one off."
mats_per_unit = list(/datum/material/bluespace=MINERAL_MATERIAL_AMOUNT)
@@ -368,6 +368,7 @@
icon = 'icons/obj/medical/surgery_tools.dmi'
icon_state = "bone-gel"
inhand_icon_state = "bone-gel"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
@@ -1,7 +1,7 @@
/obj/item/stack/sheet/hot_ice
name = "hot ice"
icon_state = "hot-ice"
inhand_icon_state = "hot-ice"
inhand_icon_state = null
singular_name = "hot ice piece"
icon = 'icons/obj/stack_objects.dmi'
mats_per_unit = list(/datum/material/hot_ice=MINERAL_MATERIAL_AMOUNT)
@@ -2,7 +2,7 @@
name = "hide"
desc = "Something went wrong."
icon_state = "sheet-hide"
inhand_icon_state = "sheet-hide"
inhand_icon_state = null
novariants = TRUE
merge_type = /obj/item/stack/sheet/animalhide
@@ -34,7 +34,7 @@ GLOBAL_LIST_INIT(human_recipes, list( \
desc = "The by-product of corgi farming."
singular_name = "corgi hide piece"
icon_state = "sheet-corgi"
inhand_icon_state = "sheet-corgi"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/animalhide/corgi
GLOBAL_LIST_INIT(gondola_recipes, list ( \
@@ -47,7 +47,7 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \
desc = "A thin layer of mothroach hide."
singular_name = "mothroach hide piece"
icon_state = "sheet-mothroach"
inhand_icon_state = "sheet-mothroach"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/animalhide/mothroach
/obj/item/stack/sheet/animalhide/gondola
@@ -55,7 +55,7 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \
desc = "The extremely valuable product of gondola hunting."
singular_name = "gondola hide piece"
icon_state = "sheet-gondola"
inhand_icon_state = "sheet-gondola"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/animalhide/gondola
/obj/item/stack/sheet/animalhide/gondola/get_main_recipes()
@@ -75,7 +75,7 @@ GLOBAL_LIST_INIT(corgi_recipes, list ( \
desc = "The by-product of cat farming."
singular_name = "cat hide piece"
icon_state = "sheet-cat"
inhand_icon_state = "sheet-cat"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/animalhide/cat
/obj/item/stack/sheet/animalhide/monkey
@@ -83,7 +83,7 @@ GLOBAL_LIST_INIT(corgi_recipes, list ( \
desc = "The by-product of monkey farming."
singular_name = "monkey hide piece"
icon_state = "sheet-monkey"
inhand_icon_state = "sheet-monkey"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/animalhide/monkey
GLOBAL_LIST_INIT(monkey_recipes, list ( \
@@ -100,7 +100,7 @@ GLOBAL_LIST_INIT(monkey_recipes, list ( \
desc = "Sssssss..."
singular_name = "lizard skin piece"
icon_state = "sheet-lizard"
inhand_icon_state = "sheet-lizard"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/animalhide/lizard
/obj/item/stack/sheet/animalhide/xeno
@@ -108,7 +108,7 @@ GLOBAL_LIST_INIT(monkey_recipes, list ( \
desc = "The skin of a terrible creature."
singular_name = "alien hide piece"
icon_state = "sheet-xeno"
inhand_icon_state = "sheet-xeno"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/animalhide/xeno
GLOBAL_LIST_INIT(xeno_recipes, list ( \
@@ -147,7 +147,7 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( \
desc = "This hide was stripped of its hair, but still needs washing and tanning."
singular_name = "hairless hide piece"
icon_state = "sheet-hairlesshide"
inhand_icon_state = "sheet-hairlesshide"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/hairlesshide
/obj/item/stack/sheet/wethide
@@ -155,7 +155,7 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( \
desc = "This hide has been cleaned but still needs to be dried."
singular_name = "wet hide piece"
icon_state = "sheet-wetleather"
inhand_icon_state = "sheet-wetleather"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/wethide
/// Reduced when exposed to high temperatures
var/wetness = 30
@@ -182,7 +182,7 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( \
desc = "The by-product of mob grinding."
singular_name = "leather piece"
icon_state = "sheet-leather"
inhand_icon_state = "sheet-leather"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/leather
GLOBAL_LIST_INIT(leather_recipes, list ( \
@@ -307,7 +307,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \
desc = "The scaly skin of a space carp. It looks quite beatiful when detached from the foul creature who once wore it."
singular_name = "carp scale"
icon_state = "sheet-carp"
inhand_icon_state = "sheet-carp"
inhand_icon_state = null
merge_type = /obj/item/stack/sheet/animalhide/carp
GLOBAL_LIST_INIT(carp_recipes, list ( \
@@ -34,7 +34,7 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \
desc = "This appears to be a combination of both sand and stone."
singular_name = "sandstone brick"
icon_state = "sheet-sandstone"
inhand_icon_state = "sheet-sandstone"
inhand_icon_state = null
throw_speed = 3
throw_range = 5
mats_per_unit = list(/datum/material/sandstone=MINERAL_MATERIAL_AMOUNT)
@@ -240,7 +240,7 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \
/obj/item/stack/sheet/mineral/bananium
name = "bananium"
icon_state = "sheet-bananium"
inhand_icon_state = "sheet-bananium"
inhand_icon_state = null
singular_name = "bananium sheet"
sheettype = "bananium"
mats_per_unit = list(/datum/material/bananium=MINERAL_MATERIAL_AMOUNT)
@@ -331,7 +331,7 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list ( \
/obj/item/stack/sheet/mineral/snow
name = "snow"
icon_state = "sheet-snow"
inhand_icon_state = "sheet-snow"
inhand_icon_state = null
mats_per_unit = list(/datum/material/snow = MINERAL_MATERIAL_AMOUNT)
singular_name = "snow block"
force = 1
@@ -475,7 +475,7 @@ GLOBAL_LIST_INIT(metalhydrogen_recipes, list(
/obj/item/stack/sheet/mineral/metal_hydrogen
name = "metal hydrogen"
icon_state = "sheet-metalhydrogen"
inhand_icon_state = "sheet-metalhydrogen"
inhand_icon_state = null
singular_name = "metal hydrogen sheet"
w_class = WEIGHT_CLASS_NORMAL
resistance_flags = FIRE_PROOF | LAVA_PROOF | ACID_PROOF | INDESTRUCTIBLE
@@ -434,7 +434,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
desc = "Is it cotton? Linen? Denim? Burlap? Canvas? You can't tell."
singular_name = "cloth roll"
icon_state = "sheet-cloth"
inhand_icon_state = "sheet-cloth"
inhand_icon_state = null
resistance_flags = FLAMMABLE
force = 0
throwforce = 0
@@ -465,7 +465,7 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \
desc = "A fabric sown from incredibly durable threads, known for its usefulness in armor production."
singular_name = "durathread roll"
icon_state = "sheet-durathread"
inhand_icon_state = "sheet-cloth"
inhand_icon_state = null
resistance_flags = FLAMMABLE
force = 0
throwforce = 0
@@ -674,7 +674,7 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \
desc = "Rare kind of gems which are only gained by blood sacrifice to minor deities. They are needed in crafting powerful objects."
singular_name = "lesser gem"
icon_state = "sheet-lessergem"
inhand_icon_state = "sheet-lessergem"
inhand_icon_state = null
novariants = TRUE
merge_type = /obj/item/stack/sheet/lessergem
@@ -683,7 +683,7 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \
desc = "Rare kind of gems which are only gained by blood sacrifice to minor deities. They are needed in crafting powerful objects."
singular_name = "greater gem"
icon_state = "sheet-greatergem"
inhand_icon_state = "sheet-greatergem"
inhand_icon_state = null
novariants = TRUE
merge_type = /obj/item/stack/sheet/greatergem
@@ -694,7 +694,7 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \
name = "bones"
icon = 'icons/obj/stack_objects.dmi'
icon_state = "bone"
inhand_icon_state = "sheet-bone"
inhand_icon_state = null
mats_per_unit = list(/datum/material/bone = MINERAL_MATERIAL_AMOUNT)
singular_name = "bone"
desc = "Someone's been drinking their milk."
@@ -119,7 +119,7 @@
singular_name = "fairygrass floor tile"
desc = "A patch of odd, glowing blue grass."
icon_state = "tile_fairygrass"
inhand_icon_state = "tile-fairygrass"
inhand_icon_state = null
turf_type = /turf/open/floor/grass/fairy
resistance_flags = FLAMMABLE
merge_type = /obj/item/stack/tile/fairygrass
+1 -1
View File
@@ -671,7 +671,7 @@
name = "wings"
desc = "Granted to the henchmen who deserve it. This probably doesn't include you."
icon_state = "henchmen"
inhand_icon_state = "henchmen"
inhand_icon_state = null
/obj/item/storage/backpack/duffelbag/cops
name = "police bag"
+1 -1
View File
@@ -511,7 +511,7 @@
name = "harpoon quiver"
desc = "A quiver for holding harpoons."
icon_state = "quiver"
inhand_icon_state = "quiver"
inhand_icon_state = null
worn_icon_state = "harpoon_quiver"
/obj/item/storage/bag/harpoon_quiver/Initialize(mapload)
+4 -14
View File
@@ -475,7 +475,7 @@
name = "cummerbund"
desc = "A pleated sash that pairs well with a suit jacket."
icon_state = "cummerbund"
inhand_icon_state = "cummerbund"
inhand_icon_state = null
worn_icon_state = "cummerbund"
/obj/item/storage/belt/military
@@ -699,7 +699,7 @@
name = "fannypack"
desc = "A dorky fannypack for keeping small items in."
icon_state = "fannypack_leather"
inhand_icon_state = "fannypack_leather"
inhand_icon_state = null
worn_icon_state = "fannypack_leather"
dying_key = DYE_REGISTRY_FANNYPACK
custom_price = PAYCHECK_CREW * 2
@@ -712,68 +712,58 @@
/obj/item/storage/belt/fannypack/black
name = "black fannypack"
icon_state = "fannypack_black"
inhand_icon_state = "fannypack_black"
worn_icon_state = "fannypack_black"
/obj/item/storage/belt/fannypack/red
name = "red fannypack"
icon_state = "fannypack_red"
inhand_icon_state = "fannypack_red"
worn_icon_state = "fannypack_red"
/obj/item/storage/belt/fannypack/purple
name = "purple fannypack"
icon_state = "fannypack_purple"
inhand_icon_state = "fannypack_purple"
worn_icon_state = "fannypack_purple"
/obj/item/storage/belt/fannypack/blue
name = "blue fannypack"
icon_state = "fannypack_blue"
inhand_icon_state = "fannypack_blue"
worn_icon_state = "fannypack_blue"
/obj/item/storage/belt/fannypack/orange
name = "orange fannypack"
icon_state = "fannypack_orange"
inhand_icon_state = "fannypack_orange"
worn_icon_state = "fannypack_orange"
/obj/item/storage/belt/fannypack/white
name = "white fannypack"
icon_state = "fannypack_white"
inhand_icon_state = "fannypack_white"
worn_icon_state = "fannypack_white"
/obj/item/storage/belt/fannypack/green
name = "green fannypack"
icon_state = "fannypack_green"
inhand_icon_state = "fannypack_green"
worn_icon_state = "fannypack_green"
/obj/item/storage/belt/fannypack/pink
name = "pink fannypack"
icon_state = "fannypack_pink"
inhand_icon_state = "fannypack_pink"
worn_icon_state = "fannypack_pink"
/obj/item/storage/belt/fannypack/cyan
name = "cyan fannypack"
icon_state = "fannypack_cyan"
inhand_icon_state = "fannypack_cyan"
worn_icon_state = "fannypack_cyan"
/obj/item/storage/belt/fannypack/yellow
name = "yellow fannypack"
icon_state = "fannypack_yellow"
inhand_icon_state = "fannypack_yellow"
worn_icon_state = "fannypack_yellow"
/obj/item/storage/belt/sabre
name = "sabre sheath"
desc = "An ornate sheath designed to hold an officer's blade."
icon_state = "sheath"
inhand_icon_state = "sheath"
inhand_icon_state = null
worn_icon_state = "sheath"
w_class = WEIGHT_CLASS_BULKY
@@ -824,7 +814,7 @@
name = "botanical belt"
desc = "A belt used to hold most hydroponics supplies. Suprisingly, not green."
icon_state = "plantbelt"
inhand_icon_state = "plantbelt"
inhand_icon_state = "championbelt"
worn_icon_state = "plantbelt"
content_overlays = TRUE
@@ -50,7 +50,7 @@
name = "paper sack"
desc = "A sack neatly crafted out of paper."
icon_state = "paperbag_None"
inhand_icon_state = "paperbag_None"
inhand_icon_state = null
illustration = null
resistance_flags = FLAMMABLE
foldable = null
@@ -76,6 +76,8 @@
icon = 'icons/obj/cigarettes.dmi'
icon_state = "matchbox"
inhand_icon_state = "zippo"
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
worn_icon_state = "lighter"
w_class = WEIGHT_CLASS_TINY
slot_flags = ITEM_SLOT_BELT
+4 -4
View File
@@ -154,7 +154,7 @@
icon = 'icons/obj/candle.dmi'
icon_state = "candlebox5"
base_icon_state = "candlebox"
inhand_icon_state = "candlebox5"
inhand_icon_state = null
worn_icon_state = "cigpack"
throwforce = 2
slot_flags = ITEM_SLOT_BELT
@@ -480,11 +480,11 @@
SHOULD_CALL_PARENT(FALSE)
if(!contents.len)
icon_state = "[base_icon_state]_empty"
else
else
if(contents.len < 5)
icon_state = "[base_icon_state]_[contents.len]"
else
else
icon_state = base_icon_state
return
+2 -2
View File
@@ -4,8 +4,8 @@
icon = 'icons/obj/storage/storage.dmi'
icon_state = "canholder"
inhand_icon_state = "cola"
lefthand_file = 'icons/mob/inhands/items/food_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/food_righthand.dmi'
lefthand_file = 'icons/mob/inhands/items/drinks_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/drinks_righthand.dmi'
custom_materials = list(/datum/material/plastic = 1200)
max_integrity = 500
+9 -5
View File
@@ -146,17 +146,20 @@
material_flags = NONE
/obj/item/storage/toolbox/electrical/PopulateContents()
var/pickedcolor = pick("red","yellow","green","blue","pink","orange","cyan","white")
var/pickedcolor = pick(GLOB.cable_colors)
new /obj/item/screwdriver(src)
new /obj/item/wirecutters(src)
new /obj/item/t_scanner(src)
new /obj/item/crowbar(src)
new /obj/item/stack/cable_coil(src,MAXCOIL,pickedcolor)
new /obj/item/stack/cable_coil(src,MAXCOIL,pickedcolor)
var/obj/item/stack/cable_coil/new_cable_one = new(src, MAXCOIL)
new_cable_one.set_cable_color(pickedcolor)
var/obj/item/stack/cable_coil/new_cable_two = new(src, MAXCOIL)
new_cable_two.set_cable_color(pickedcolor)
if(prob(5))
new /obj/item/clothing/gloves/color/yellow(src)
else
new /obj/item/stack/cable_coil(src,MAXCOIL,pickedcolor)
var/obj/item/stack/cable_coil/new_cable_three = new(src, MAXCOIL)
new_cable_three.set_cable_color(pickedcolor)
/obj/item/storage/toolbox/syndicate
name = "suspicious looking toolbox"
@@ -206,7 +209,7 @@
/obj/item/storage/toolbox/artistic/Initialize(mapload)
. = ..()
atom_storage.max_total_storage = 20
atom_storage.max_slots = 10
atom_storage.max_slots = 11
/obj/item/storage/toolbox/artistic/PopulateContents()
new /obj/item/storage/crayons(src)
@@ -219,6 +222,7 @@
new /obj/item/stack/pipe_cleaner_coil/orange(src)
new /obj/item/stack/pipe_cleaner_coil/cyan(src)
new /obj/item/stack/pipe_cleaner_coil/white(src)
new /obj/item/stack/pipe_cleaner_coil/brown(src)
/obj/item/storage/toolbox/ammo
name = "ammo box"
+1 -1
View File
@@ -166,7 +166,7 @@
name = "jet harness (oxygen)"
desc = "A lightweight tactical harness, used by those who don't want to be weighed down by traditional jetpacks."
icon_state = "jetpack-mini"
inhand_icon_state = "jetpack-mini"
inhand_icon_state = "jetpack-black"
volume = 40
throw_range = 7
w_class = WEIGHT_CLASS_NORMAL
+1 -1
View File
@@ -161,7 +161,7 @@
name = "supermatter sliver"
desc = "A tiny, highly volatile sliver of a supermatter crystal. Do not handle without protection!"
icon_state = "supermatter_sliver"
inhand_icon_state = "supermattersliver"
inhand_icon_state = null //touching it dusts you, so no need for an inhand icon.
pulseicon = "supermatter_sliver_pulse"
layer = ABOVE_MOB_LAYER
plane = GAME_PLANE_UPPER
+2
View File
@@ -3,6 +3,7 @@
desc = "A small crowbar. This handy tool is useful for lots of things, such as prying floor tiles or opening unpowered doors."
icon = 'icons/obj/tools.dmi'
icon_state = "crowbar"
inhand_icon_state = "crowbar"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
usesound = 'sound/items/crowbar.ogg'
@@ -30,6 +31,7 @@
/obj/item/crowbar/red
icon_state = "crowbar_red"
inhand_icon_state = "crowbar_red"
force = 8
/obj/item/crowbar/abductor
@@ -9,6 +9,9 @@
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
greyscale_config = /datum/greyscale_config/wirecutters
greyscale_config_belt = /datum/greyscale_config/wirecutters_belt_overlay
greyscale_config_inhand_left = /datum/greyscale_config/wirecutter_inhand_left
greyscale_config_inhand_right = /datum/greyscale_config/wirecutter_inhand_right
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BELT
+3 -1
View File
@@ -3,6 +3,7 @@
desc = "A wrench with common uses. Can be found in your hand."
icon = 'icons/obj/tools.dmi'
icon_state = "wrench"
inhand_icon_state = "wrench"
worn_icon_state = "wrench"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
@@ -32,7 +33,6 @@
name = "alien wrench"
desc = "A polarized wrench. It causes anything placed between the jaws to turn."
icon = 'icons/obj/abductor.dmi'
icon_state = "wrench"
belt_icon_state = "wrench_alien"
custom_materials = list(/datum/material/iron = 5000, /datum/material/silver = 2500, /datum/material/plasma = 1000, /datum/material/titanium = 2000, /datum/material/diamond = 2000)
usesound = 'sound/effects/empulse.ogg'
@@ -43,6 +43,7 @@
name = "medical wrench"
desc = "A medical wrench with common(medical?) uses. Can be found in your hand."
icon_state = "wrench_medical"
inhand_icon_state = "wrench_medical"
force = 2 //MEDICAL
throwforce = 4
attack_verb_continuous = list("heals", "medicals", "taps", "pokes", "analyzes") //"cobbyed"
@@ -85,6 +86,7 @@
name = "combat wrench"
desc = "It's like a normal wrench but edgier. Can be found on the battlefield."
icon_state = "wrench_combat"
inhand_icon_state = "wrench_combat"
belt_icon_state = "wrench_combat"
attack_verb_continuous = list("devastates", "brutalizes", "commits a war crime against", "obliterates", "humiliates")
attack_verb_simple = list("devastate", "brutalize", "commit a war crime against", "obliterate", "humiliate")
+4 -2
View File
@@ -223,11 +223,13 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
if(10)
user.visible_message(span_warning("[user]'s eyes light up with a vengeful fire!"), \
span_userdanger("YOU FEEL THE POWER OF VALHALLA FLOWING THROUGH YOU! <i>THERE CAN BE ONLY ONE!!!</i>"))
user.update_icons()
new_name = "GORE-DRENCHED CLAYMORE OF [pick("THE WHIMSICAL SLAUGHTER", "A THOUSAND SLAUGHTERED CATTLE", "GLORY AND VALHALLA", "ANNIHILATION", "OBLITERATION")]"
icon_state = "claymore_gold"
inhand_icon_state = "cultblade"
lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi'
righthand_file = 'icons/mob/inhands/64x64_righthand.dmi'
remove_atom_colour(ADMIN_COLOUR_PRIORITY)
user.update_held_items()
name = new_name
playsound(user, 'sound/items/screwdriver2.ogg', 50, TRUE)
@@ -342,7 +344,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
name = "throwing star"
desc = "An ancient weapon still used to this day, due to its ease of lodging itself into its victim's body parts."
icon_state = "throwingstar"
inhand_icon_state = "eshield0"
inhand_icon_state = "eshield"
lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi'
force = 2
@@ -841,6 +841,7 @@
desc = "Parts of a rack."
icon = 'icons/obj/weapons/items_and_weapons.dmi'
icon_state = "rack_parts"
inhand_icon_state = "rack_parts"
flags_1 = CONDUCT_1
custom_materials = list(/datum/material/iron=2000)
var/building = FALSE
@@ -248,6 +248,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/urinal, 32)
icon = 'icons/obj/watercloset.dmi'
icon_state = "rubberducky"
inhand_icon_state = "rubberducky"
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
worn_icon_state = "duck"
/obj/structure/sink
-35
View File
@@ -1,35 +0,0 @@
/proc/getbrokeninhands()
var/text
for(var/A in typesof(/obj/item))
var/obj/item/O = new A( locate(1,1,1) )
if(!O)
continue
var/icon/IL = new(O.lefthand_file)
var/list/Lstates = IL.IconStates()
var/icon/IR = new(O.righthand_file)
var/list/Rstates = IR.IconStates()
var/icon/J = new(O.icon)
var/list/istates = J.IconStates()
if(!Lstates.Find(O.icon_state) && !Lstates.Find(O.inhand_icon_state))
if(O.icon_state)
text += "[O.type] WANTS IN LEFT HAND CALLED\n\"[O.icon_state]\".\n"
if(!Rstates.Find(O.icon_state) && !Rstates.Find(O.inhand_icon_state))
if(O.icon_state)
text += "[O.type] WANTS IN RIGHT HAND CALLED\n\"[O.icon_state]\".\n"
if(O.icon_state)
if(!istates.Find(O.icon_state))
text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.icon_state]\" IN \"[O.icon]\"\n"
if(O.inhand_icon_state)
if(!istates.Find(O.inhand_icon_state))
text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.inhand_icon_state]\" IN \"[O.icon]\"\n"
text+="\n"
qdel(O)
if(text)
var/F = file("broken_icons.txt")
fdel(F)
WRITE_FILE(F, text)
to_chat(world, "Completely successfully and written to [F]", confidential = TRUE)
@@ -642,7 +642,6 @@ Congratulations! You are now trained for invasive xenobiology research!"}
desc = "An advanced alien headset designed to monitor communications of human space stations. Why does it have a microphone? No one knows."
icon = 'icons/obj/abductor.dmi'
icon_state = "abductor_headset"
inhand_icon_state = "abductor_headset"
keyslot2 = /obj/item/encryptionkey/heads/captain
/obj/item/radio/headset/abductor/Initialize(mapload)
@@ -730,7 +729,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
name = "agent headgear"
desc = "Abduct with style - spiky style. Prevents digital tracking."
icon_state = "alienhelmet"
inhand_icon_state = "alienhelmet"
inhand_icon_state = null
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
/obj/item/clothing/head/helmet/abductor/equipped(mob/living/user, slot)
@@ -502,6 +502,7 @@
/obj/item/clothing/head/helmet/space/changeling
name = "flesh mass"
icon_state = "lingspacehelmet"
inhand_icon_state = null
desc = "A covering of pressure and temperature-resistant organic tissue with a glass-like chitin front."
item_flags = DROPDEL
clothing_flags = STOPSPRESSUREDAMAGE
@@ -534,6 +535,7 @@
name = "chitinous mass"
desc = "A tough, hard covering of black chitin."
icon_state = "lingarmor"
inhand_icon_state = null
item_flags = DROPDEL
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 10, BIO = 10, FIRE = 90, ACID = 90)
@@ -551,6 +553,7 @@
name = "chitinous mass"
desc = "A tough, hard covering of black chitin with transparent chitin in front."
icon_state = "lingarmorhelmet"
inhand_icon_state = null
item_flags = DROPDEL
armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 10, BIO = 10, FIRE = 90, ACID = 90)
flags_inv = HIDEEARS|HIDEHAIR|HIDEEYES|HIDEFACIALHAIR|HIDEFACE|HIDESNOUT
@@ -16,6 +16,7 @@
attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend")
icon = 'icons/obj/cult/items_and_weapons.dmi'
icon_state = "cultbastard"
inhand_icon_state = "cultbastard"
hitsound = 'sound/weapons/bladeslice.ogg'
lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi'
righthand_file = 'icons/mob/inhands/64x64_righthand.dmi'
@@ -40,7 +41,7 @@
start_spin_message = span_danger("%USER begins swinging the sword around with inhuman strength!"), \
end_spin_message = span_warning("%USER's inhuman strength dissipates and the sword's runes grow cold!") \
)
/obj/item/cult_bastard/proc/on_spin(mob/living/user, duration)
var/oldcolor = user.color
user.color = "#ff0000"
+10 -7
View File
@@ -174,6 +174,7 @@ Striking a noncultist, however, will tear their flesh."}
/obj/item/clothing/head/hooded/cult_hoodie
name = "ancient cultist hood"
icon_state = "culthood"
inhand_icon_state = "culthood"
desc = "A torn, dust-caked hood. Strange letters line the inside."
flags_inv = HIDEFACE|HIDEHAIR|HIDEEARS
flags_cover = HEADCOVERSEYES
@@ -205,13 +206,13 @@ Striking a noncultist, however, will tear their flesh."}
name = "cultist hood"
desc = "An armored hood worn by the followers of Nar'Sie."
icon_state = "cult_hoodalt"
inhand_icon_state = "cult_hoodalt"
inhand_icon_state = null
/obj/item/clothing/suit/hooded/cultrobes/alt
name = "cultist robes"
desc = "An armored set of robes worn by the followers of Nar'Sie."
icon_state = "cultrobesalt"
inhand_icon_state = "cultrobesalt"
inhand_icon_state = null
hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/alt
/obj/item/clothing/suit/hooded/cultrobes/alt/ghost
@@ -225,7 +226,7 @@ Striking a noncultist, however, will tear their flesh."}
/obj/item/clothing/head/magus
name = "magus helm"
icon_state = "magus"
inhand_icon_state = "magus"
inhand_icon_state = null
desc = "A helm worn by the followers of Nar'Sie."
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDEEARS|HIDEEYES|HIDESNOUT
armor = list(MELEE = 50, BULLET = 30, LASER = 50,ENERGY = 50, BOMB = 25, BIO = 10, FIRE = 10, ACID = 10)
@@ -237,7 +238,7 @@ Striking a noncultist, however, will tear their flesh."}
icon_state = "magusred"
icon = 'icons/obj/clothing/suits/wizard.dmi'
worn_icon = 'icons/mob/clothing/suits/wizard.dmi'
inhand_icon_state = "magusred"
inhand_icon_state = null
body_parts_covered = CHEST|GROIN|LEGS|ARMS
allowed = list(/obj/item/tome, /obj/item/melee/cultblade)
armor = list(MELEE = 50, BULLET = 30, LASER = 50,ENERGY = 50, BOMB = 25, BIO = 10, FIRE = 10, ACID = 10)
@@ -247,7 +248,7 @@ Striking a noncultist, however, will tear their flesh."}
name = "\improper Nar'Sien hardened armor"
desc = "A heavily-armored exosuit worn by warriors of the Nar'Sien cult. It can withstand hard vacuum."
icon_state = "cult_armor"
inhand_icon_state = "cult_armor"
inhand_icon_state = null
w_class = WEIGHT_CLASS_BULKY
allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank/internals)
armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100)
@@ -262,7 +263,7 @@ Striking a noncultist, however, will tear their flesh."}
name = "\improper Nar'Sien hardened helmet"
desc = "A heavily-armored helmet worn by warriors of the Nar'Sien cult. It can withstand hard vacuum."
icon_state = "cult_helmet"
inhand_icon_state = "cult_helmet"
inhand_icon_state = null
armor = list(MELEE = 50, BULLET = 40, LASER = 50, ENERGY = 60, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100)
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT | PLASMAMAN_HELMET_EXEMPT
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
@@ -289,7 +290,7 @@ Striking a noncultist, however, will tear their flesh."}
name = "empowered cultist armor"
desc = "Empowered armor which creates a powerful shield around the user."
icon_state = "cult_armor"
inhand_icon_state = "cult_armor"
inhand_icon_state = null
w_class = WEIGHT_CLASS_BULKY
armor = list(MELEE = 50, BULLET = 40, LASER = 50,ENERGY = 50, BOMB = 50, BIO = 30, FIRE = 50, ACID = 60)
hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/cult_shield
@@ -506,6 +507,8 @@ Striking a noncultist, however, will tear their flesh."}
light_range = 1
icon_state = "torch"
inhand_icon_state = "torch"
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
color = "#ff0000"
on_damage = 15
slot_flags = null
@@ -15,7 +15,7 @@
name = "ominous armor"
desc = "A ragged, dusty set of robes. Strange eyes line the inside."
icon_state = "eldritch_armor"
inhand_icon_state = "eldritch_armor"
inhand_icon_state = null
flags_inv = HIDESHOES|HIDEJUMPSUIT
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS
allowed = list(/obj/item/melee/sickly_blade)
@@ -53,7 +53,7 @@
desc = "Black like tar, doesn't reflect any light. Runic symbols line the outside, \
with each flash you loose comprehension of what you are seeing."
icon_state = "void_cloak"
inhand_icon_state = "void_cloak"
inhand_icon_state = null
allowed = list(/obj/item/melee/sickly_blade)
hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/void
flags_inv = NONE
@@ -61,10 +61,10 @@
// slightly worse than normal cult robes
armor = list(MELEE = 30, BULLET = 30, LASER = 30,ENERGY = 30, BOMB = 15, BIO = 0, FIRE = 0, ACID = 0)
alternative_mode = TRUE
/obj/item/clothing/suit/hooded/cultrobes/void/Initialize(mapload)
. = ..()
create_storage(type = /datum/storage/pockets/void_cloak)
/obj/item/clothing/suit/hooded/cultrobes/void/Initialize(mapload)
@@ -3,7 +3,7 @@
name = "Abyssal Mask"
desc = "A mask created from the suffering of existance. Looking down it's eyes, you notice something gazing back at you."
icon_state = "mad_mask"
inhand_icon_state = "mad_mask"
inhand_icon_state = null
w_class = WEIGHT_CLASS_SMALL
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
@@ -329,7 +329,12 @@
/datum/outfit/traitor/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/melee/energy/sword/sword = locate() in H.held_items
sword.icon_state = "e_sword_on_red"
sword.worn_icon_state = "e_sword_on_red"
if(sword.flags_1 & INITIALIZED_1)
sword.attack_self()
else //Atoms aren't initialized during the screenshots unit test, so we can't call attack_self for it as the sword doesn't have the transforming weapon component to handle the icon changes. The below part is ONLY for the antag screenshots unit test.
sword.icon_state = "e_sword_on_red"
sword.inhand_icon_state = "e_sword_on_red"
sword.worn_icon_state = "e_sword_on_red"
H.update_held_items()
H.update_held_items()
@@ -33,6 +33,7 @@
// I would've made the maptext_height update on its own, but I don't know
// if this would look bad on laggy clients.
/atom/proc/balloon_alert_perform(mob/viewer, text)
var/client/viewer_client = viewer.client
if (isnull(viewer_client))
return
@@ -485,14 +485,14 @@
// Regular
/obj/item/clothing/suit/armor/vest/ctf/red
name = "red shielded vest"
inhand_icon_state = "ert_security"
inhand_icon_state = null
team_shield_icon = "shield-red"
greyscale_colors = COLOR_VIVID_RED
// Light
/obj/item/clothing/suit/armor/vest/ctf/light/red
name = "light red shielded vest"
inhand_icon_state = "ert_security"
inhand_icon_state = null
team_shield_icon = "shield-red"
greyscale_colors = COLOR_VIVID_RED
@@ -501,14 +501,14 @@
// Regular
/obj/item/clothing/suit/armor/vest/ctf/blue
name = "blue shielded vest"
inhand_icon_state = "ert_command"
inhand_icon_state = null
team_shield_icon = "shield-old"
greyscale_colors = COLOR_DARK_CYAN
// Light
/obj/item/clothing/suit/armor/vest/ctf/light/blue
name = "light blue shielded vest"
inhand_icon_state = "ert_command"
inhand_icon_state = null
team_shield_icon = "shield-old"
greyscale_colors = COLOR_DARK_CYAN
@@ -517,14 +517,14 @@
// Regular
/obj/item/clothing/suit/armor/vest/ctf/green
name = "green shielded vest"
inhand_icon_state = "ert_green"
inhand_icon_state = null
team_shield_icon = "shield-green"
greyscale_colors = COLOR_LIME
// Light
/obj/item/clothing/suit/armor/vest/ctf/light/green
name = "light green shielded vest"
inhand_icon_state = "ert_green"
inhand_icon_state = null
team_shield_icon = "shield-green"
greyscale_colors = COLOR_LIME
@@ -533,13 +533,13 @@
// Regular
/obj/item/clothing/suit/armor/vest/ctf/yellow
name = "yellow shielded vest"
inhand_icon_state = "ert_engineer"
inhand_icon_state = null
team_shield_icon = "shield-yellow"
greyscale_colors = COLOR_VIVID_YELLOW
// Light
/obj/item/clothing/suit/armor/vest/ctf/light/yellow
name = "light yellow shielded vest"
inhand_icon_state = "ert_engineer"
inhand_icon_state = null
team_shield_icon = "shield-yellow"
greyscale_colors = COLOR_VIVID_YELLOW
+2
View File
@@ -468,6 +468,7 @@
name = "insulated gloves"
icon_state = "yellow"
inhand_icon_state = "ygloves"
greyscale_colors = null
resistance_flags = NONE
armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 50)
@@ -598,6 +599,7 @@
/obj/item/clothing/shoes/chameleon
name = "black shoes"
icon_state = "sneakers"
inhand_icon_state = "sneakers_back"
greyscale_colors = "#545454#ffffff"
greyscale_config = /datum/greyscale_config/sneakers
greyscale_config_worn = /datum/greyscale_config/sneakers_worn
+15 -13
View File
@@ -182,13 +182,15 @@
name = "eyepatch"
desc = "Yarr."
icon_state = "eyepatch"
inhand_icon_state = "eyepatch"
inhand_icon_state = null
/obj/item/clothing/glasses/monocle
name = "monocle"
desc = "Such a dapper eyepiece!"
icon_state = "monocle"
inhand_icon_state = "headset" // lol
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
/obj/item/clothing/glasses/material
name = "optical material scanner"
@@ -284,13 +286,13 @@
name = "prescription glasses"
desc = "Made by Uncool. Co."
icon_state = "hipster_glasses"
inhand_icon_state = "hipster_glasses"
inhand_icon_state = null
/obj/item/clothing/glasses/regular/circle
name = "circle glasses"
desc = "Why would you wear something so controversial yet so brave?"
icon_state = "circle_glasses"
inhand_icon_state = "circle_glasses"
inhand_icon_state = null
//Here lies green glasses, so ugly they died. RIP
@@ -401,7 +403,7 @@
name = "blind personnel blindfold"
desc = "Indicates that the wearer suffers from blindness."
icon_state = "blindfoldwhite"
inhand_icon_state = "blindfoldwhite"
inhand_icon_state = null
var/colored_before = FALSE
/obj/item/clothing/glasses/blindfold/white/visual_equipped(mob/living/carbon/human/user, slot)
@@ -430,7 +432,7 @@
/obj/item/clothing/glasses/sunglasses/big
desc = "Strangely ancient technology used to help provide rudimentary eye cover. Larger than average enhanced shielding blocks flashes."
icon_state = "bigsunglasses"
inhand_icon_state = "bigsunglasses"
inhand_icon_state = null
/obj/item/clothing/glasses/thermal
name = "optical thermal scanner"
@@ -502,32 +504,32 @@
name = "optical thermal eyepatch"
desc = "An eyepatch with built-in thermal optics."
icon_state = "eyepatch"
inhand_icon_state = "eyepatch"
inhand_icon_state = null
/obj/item/clothing/glasses/cold
name = "cold goggles"
desc = "A pair of goggles meant for low temperatures."
icon_state = "cold"
inhand_icon_state = "cold"
inhand_icon_state = null
/obj/item/clothing/glasses/heat
name = "heat goggles"
desc = "A pair of goggles meant for high temperatures."
icon_state = "heat"
inhand_icon_state = "heat"
inhand_icon_state = null
/obj/item/clothing/glasses/orange
name = "orange glasses"
desc = "A sweet pair of orange shades."
icon_state = "orangeglasses"
inhand_icon_state = "orangeglasses"
inhand_icon_state = null
glass_colour_type = /datum/client_colour/glass_colour/lightorange
/obj/item/clothing/glasses/red
name = "red glasses"
desc = "Hey, you're looking good, senpai!"
icon_state = "redglasses"
inhand_icon_state = "redglasses"
inhand_icon_state = null
glass_colour_type = /datum/client_colour/glass_colour/red
/obj/item/clothing/glasses/geist_gazers
@@ -597,7 +599,7 @@
name = "binoclard lenses"
desc = "Shows you know how to sew a lapel and center a back vent."
icon_state = "binoclard_lenses"
inhand_icon_state = "binoclard_lenses"
inhand_icon_state = null
/obj/item/clothing/glasses/salesman
name = "colored glasses"
@@ -644,10 +646,10 @@
name = "O.S.I. Sunglasses"
desc = "There's no such thing as good news! Just bad news and... weird news.."
icon_state = "osi_glasses"
inhand_icon_state = "osi_glasses"
inhand_icon_state = null
/obj/item/clothing/glasses/phantom
name = "Phantom Thief Mask"
desc = "Lookin' cool."
icon_state = "phantom_glasses"
inhand_icon_state = "phantom_glasses"
inhand_icon_state = null
+4
View File
@@ -3,8 +3,12 @@
gender = PLURAL //Carn: for grammarically correct text-parsing
w_class = WEIGHT_CLASS_SMALL
icon = 'icons/obj/clothing/gloves.dmi'
inhand_icon_state = "greyscale_gloves"
lefthand_file = 'icons/mob/inhands/clothing/gloves_lefthand.dmi'
righthand_file = 'icons/mob/inhands/clothing/gloves_righthand.dmi'
greyscale_colors = null
greyscale_config_inhand_left = /datum/greyscale_config/gloves_inhand_left
greyscale_config_inhand_right = /datum/greyscale_config/gloves_inhand_right
siemens_coefficient = 0.5
body_parts_covered = HANDS
slot_flags = ITEM_SLOT_GLOVES
+1 -1
View File
@@ -2,7 +2,7 @@
name = "bone bracers"
desc = "For when you're expecting to get slapped on the wrist. Offers modest protection to your arms."
icon_state = "bracers"
inhand_icon_state = "bracers"
inhand_icon_state = null
strip_delay = 40
equip_delay_other = 20
body_parts_covered = ARMS
+2 -1
View File
@@ -2,7 +2,8 @@
name = "botanist's leather gloves"
desc = "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin. They're also quite warm."
icon_state = "leather"
inhand_icon_state = "ggloves"
inhand_icon_state = null
greyscale_colors = null
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
heat_protection = HANDS
+4 -4
View File
@@ -2,19 +2,19 @@
name = "boxing gloves"
desc = "Because you really needed another excuse to punch your crewmates."
icon_state = "boxing"
inhand_icon_state = "boxing"
greyscale_colors = "#f32110"
equip_delay_other = 60
species_exception = list(/datum/species/golem) // now you too can be a golem boxing champion
clothing_traits = list(TRAIT_CHUNKYFINGERS)
/obj/item/clothing/gloves/boxing/green
icon_state = "boxinggreen"
inhand_icon_state = "boxinggreen"
greyscale_colors = "#00a500"
/obj/item/clothing/gloves/boxing/blue
icon_state = "boxingblue"
inhand_icon_state = "boxingblue"
greyscale_colors = "#0074fa"
/obj/item/clothing/gloves/boxing/yellow
icon_state = "boxingyellow"
inhand_icon_state = "boxingyellow"
greyscale_colors = "#d2a800"
+32 -20
View File
@@ -1,5 +1,6 @@
/obj/item/clothing/gloves/color
dying_key = DYE_REGISTRY_GLOVES
greyscale_colors = null
/obj/item/clothing/gloves/color/yellow
desc = "These gloves provide protection against electric shock. The thickness of the rubber makes your fingers seem bigger."
@@ -43,7 +44,7 @@
desc = "How're you gonna get 'em off, nerd?"
name = "spray-on insulated gloves"
icon_state = "sprayon"
inhand_icon_state = "sprayon"
inhand_icon_state = null
item_flags = DROPDEL
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0)
resistance_flags = ACID_PROOF
@@ -72,6 +73,7 @@
name = "budget insulated gloves"
icon_state = "yellow"
inhand_icon_state = "ygloves"
greyscale_colors = null
siemens_coefficient = 1 //Set to a default of 1, gets overridden in Initialize()
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 25, FIRE = 0, ACID = 0)
resistance_flags = NONE
@@ -94,6 +96,7 @@
name = "fingerless insulated gloves"
icon_state = "yellowcut"
inhand_icon_state = "ygloves"
greyscale_colors = null
clothing_traits = list(TRAIT_FINGERPRINT_PASSTHROUGH)
/obj/item/clothing/gloves/cut/heirloom
@@ -103,7 +106,7 @@
desc = "These gloves are fire-resistant."
name = "black gloves"
icon_state = "black"
inhand_icon_state = "blackgloves"
greyscale_colors = "#2f2e31"
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
heat_protection = HANDS
@@ -115,7 +118,7 @@
name = "fingerless gloves"
desc = "Plain black gloves without fingertips for the hard working."
icon_state = "fingerless"
inhand_icon_state = "fingerless"
greyscale_colors = "#2f2e31"
strip_delay = 40
equip_delay_other = 20
cold_protection = HANDS
@@ -128,13 +131,13 @@
name = "orange gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "orange"
inhand_icon_state = "orangegloves"
greyscale_colors = "#ff9300"
/obj/item/clothing/gloves/color/red
name = "red gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "red"
inhand_icon_state = "redgloves"
greyscale_colors = "#da0000"
/obj/item/clothing/gloves/color/red/insulated
@@ -148,31 +151,32 @@
name = "rainbow gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "rainbow"
inhand_icon_state = "rainbowgloves"
inhand_icon_state = "rainbow_gloves"
greyscale_colors = null
/obj/item/clothing/gloves/color/blue
name = "blue gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "blue"
inhand_icon_state = "bluegloves"
greyscale_colors = "#00b7ef"
/obj/item/clothing/gloves/color/purple
name = "purple gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "purple"
inhand_icon_state = "purplegloves"
greyscale_colors = "#cc33ff"
/obj/item/clothing/gloves/color/green
name = "green gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "green"
inhand_icon_state = "greengloves"
greyscale_colors = "#a8e61d"
/obj/item/clothing/gloves/color/grey
name = "grey gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "gray"
inhand_icon_state = "graygloves"
greyscale_colors = "#999999"
// Grey gloves intended to be paired with winter coats (specifically EVA winter coats)
/obj/item/clothing/gloves/color/grey/protects_cold
@@ -188,19 +192,20 @@
name = "light brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "lightbrown"
inhand_icon_state = "lightbrowngloves"
greyscale_colors = "#c09f72"
/obj/item/clothing/gloves/color/brown
name = "brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "brown"
inhand_icon_state = "browngloves"
greyscale_colors = "#83613d"
/obj/item/clothing/gloves/color/captain
desc = "Regal blue gloves, with a nice gold trim, a diamond anti-shock coating, and an integrated thermal barrier. Swanky."
name = "captain's gloves"
icon_state = "captain"
inhand_icon_state = "egloves"
inhand_icon_state = null
greyscale_colors = null
siemens_coefficient = 0
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
@@ -214,7 +219,8 @@
desc = "These gloves provide excellent heat and electric insulation. They are so thin you can barely feel them."
name = "advanced insulated gloves"
icon_state = "ce_insuls"
inhand_icon_state = "lgloves"
inhand_icon_state = null
greyscale_colors = null
siemens_coefficient = 0
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
@@ -226,7 +232,8 @@
name = "latex gloves"
desc = "Cheap sterile gloves made from latex. Provides quicker carrying from a good grip."
icon_state = "latex"
inhand_icon_state = "latex"
inhand_icon_state = "latex_gloves"
greyscale_colors = null
siemens_coefficient = 0.3
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 0, ACID = 0)
clothing_traits = list(TRAIT_QUICK_CARRY, TRAIT_FINGERPRINT_PASSTHROUGH)
@@ -236,14 +243,16 @@
name = "nitrile gloves"
desc = "Pricy sterile gloves that are thicker than latex. Excellent grip ensures very fast carrying of patients along with the faster use time of various chemical related items."
icon_state = "nitrile"
inhand_icon_state = "nitrilegloves"
inhand_icon_state = "greyscale_gloves"
greyscale_colors = "#99eeff"
clothing_traits = list(TRAIT_QUICKER_CARRY, TRAIT_FASTMED)
/obj/item/clothing/gloves/color/infiltrator
name = "infiltrator gloves"
desc = "Specialized tactical gloves for carrying people around. Has tactical rubber grips for tactical ease of kidnapping. Tactically."
icon_state = "infiltrator"
inhand_icon_state = "infiltrator"
inhand_icon_state = null
greyscale_colors = null
siemens_coefficient = 0
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 70, FIRE = 0, ACID = 0)
clothing_traits = list(TRAIT_QUICKER_CARRY)
@@ -253,8 +262,9 @@
name = "tinker's gloves"
desc = "Overdesigned engineering gloves that have automated construction subrutines dialed in, allowing for faster construction while worn."
icon = 'icons/obj/clothing/gloves.dmi'
inhand_icon_state = "greyscale_gloves"
icon_state = "clockwork_gauntlets"
inhand_icon_state = "clockwork_gauntlets"
greyscale_colors = "#db6f05"
siemens_coefficient = 0.8
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 70, FIRE = 0, ACID = 0)
clothing_traits = list(TRAIT_QUICK_BUILD)
@@ -264,16 +274,18 @@
name = "white gloves"
desc = "These look pretty fancy."
icon_state = "white"
inhand_icon_state = "wgloves"
greyscale_colors = "#ffffff"
custom_price = PAYCHECK_CREW
/obj/item/clothing/gloves/kim
name = "aerostatic gloves"
desc = "Breathable red gloves for expert handling of a pen and notebook."
icon_state = "aerostatic_gloves"
inhand_icon_state = "aerostatic_gloves"
greyscale_colors = "#a63814"
/obj/item/clothing/gloves/maid
name = "maid arm covers"
desc = "Cylindrical looking tubes that go over your arm, weird."
icon_state = "maid_arms"
inhand_icon_state = null
greyscale_colors = null
+8 -1
View File
@@ -2,7 +2,7 @@
name = "combat gloves"
desc = "These tactical gloves are fireproof and electrically insulated."
icon_state = "black"
inhand_icon_state = "blackgloves"
greyscale_colors = "#2f2e31"
siemens_coefficient = 0
strip_delay = 80
cold_protection = HANDS
@@ -11,3 +11,10 @@
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
resistance_flags = NONE
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 90, FIRE = 80, ACID = 50)
/obj/item/clothing/gloves/combat/wizard
name = "enchanted gloves"
desc = "These gloves have been enchanted with a spell that makes them electrically insulated and fireproof."
icon_state = "wizard"
greyscale_colors = null
inhand_icon_state = null
+22 -6
View File
@@ -2,7 +2,7 @@
desc = "Covers up those scandalous boney hands."
name = "plasma envirogloves"
icon_state = "plasmaman"
inhand_icon_state = "bgloves"
greyscale_colors = "#913b00"
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
heat_protection = HANDS
@@ -13,90 +13,106 @@
/obj/item/clothing/gloves/color/plasmaman/black
name = "black envirogloves"
icon_state = "blackplasma"
greyscale_colors = "#2f2e31"
/obj/item/clothing/gloves/color/plasmaman/plasmanitrile
name = "nitrile envirogloves"
desc = "Pricy nitrile gloves made for plasmamen."
icon_state = "nitrile"
greyscale_colors = "#913b00"
clothing_traits = list(TRAIT_QUICKER_CARRY, TRAIT_FASTMED)
/obj/item/clothing/gloves/color/plasmaman/white
name = "white envirogloves"
icon_state = "whiteplasma"
greyscale_colors = "#ffffff"
/obj/item/clothing/gloves/color/plasmaman/robot
name = "roboticist envirogloves"
icon_state = "robotplasma"
greyscale_colors = "#932500"
/obj/item/clothing/gloves/color/plasmaman/janny
name = "janitor envirogloves"
icon_state = "jannyplasma"
greyscale_colors = "#883391"
/obj/item/clothing/gloves/color/plasmaman/cargo
name = "cargo envirogloves"
icon_state = "cargoplasma"
greyscale_colors = "#bb9042"
/obj/item/clothing/gloves/color/plasmaman/engineer
name = "engineering envirogloves"
icon_state = "engieplasma"
greyscale_colors = "#d75600"
siemens_coefficient = 0
/obj/item/clothing/gloves/color/plasmaman/atmos
name = "atmos envirogloves"
icon_state = "atmosplasma"
greyscale_colors = "#00a5ff"
/obj/item/clothing/gloves/color/plasmaman/explorer
name = "explorer envirogloves"
icon_state = "explorerplasma"
greyscale_colors = "#47453d"
/obj/item/clothing/gloves/color/plasmaman/botanic_leather
name = "botany envirogloves"
desc = "These leather gloves protect your boney hands against thorns, barbs, prickles, spikes and other harmful objects of floral origin."
icon_state = "botanyplasma"
greyscale_colors = "#3164ff"
clothing_traits = list(TRAIT_PLANT_SAFE)
/obj/item/clothing/gloves/color/plasmaman/prototype
name = "prototype envirogloves"
icon_state = "protoplasma"
greyscale_colors = "#911801"
/obj/item/clothing/gloves/color/plasmaman/clown
name = "clown envirogloves"
icon_state = "clownplasma"
/obj/item/clothing/gloves/combat/wizard
name = "enchanted gloves"
desc = "These gloves have been enchanted with a spell that makes them electrically insulated and fireproof."
icon_state = "wizard"
greyscale_colors = "#ff0000"
/obj/item/clothing/gloves/color/plasmaman/head_of_personnel
name = "head of personnel's envirogloves"
desc = "Covers up those scandalous, bony hands. Appears to be an attempt at making a replica of the captain's gloves."
icon_state = "hopplasma"
inhand_icon_state = null
greyscale_colors = null
/obj/item/clothing/gloves/color/plasmaman/chief_engineer
name = "chief engineer's envirogloves"
icon_state = "ceplasma"
greyscale_colors = "#45ff00"
siemens_coefficient = 0
/obj/item/clothing/gloves/color/plasmaman/research_director
name = "research director's envirogloves"
icon_state = "rdplasma"
greyscale_colors = "#64008a"
/obj/item/clothing/gloves/color/plasmaman/centcom_commander
name = "CentCom commander envirogloves"
icon_state = "commanderplasma"
greyscale_colors = "#009100"
/obj/item/clothing/gloves/color/plasmaman/centcom_official
name = "CentCom official envirogloves"
icon_state = "officialplasma"
greyscale_colors = "#10af77"
/obj/item/clothing/gloves/color/plasmaman/centcom_intern
name = "CentCom intern envirogloves"
icon_state = "internplasma"
greyscale_colors = "#00974b"
/obj/item/clothing/gloves/color/plasmaman/radio
name = "translation envirogloves"
desc = "Allows the less vocally-capable plasmamen to use sign language over comms."
icon_state = "radio_gplasma"
inhand_icon_state = null
greyscale_colors = null
worn_icon_state = "radio_g"
clothing_traits = list(TRAIT_CAN_SIGN_ON_COMMS)
+4 -4
View File
@@ -3,7 +3,7 @@
name = "\improper H.A.U.L. gauntlets"
desc = "These clunky gauntlets allow you to drag things with more confidence on them not getting nabbed from you."
icon_state = "haul_gauntlet"
inhand_icon_state = "bgloves"
greyscale_colors = "#2f2e31"
equip_delay_self = 3 SECONDS
equip_delay_other = 4 SECONDS
clothing_traits = list(TRAIT_CHUNKYFINGERS)
@@ -53,7 +53,7 @@
name = "Gloves of the North Star"
desc = "Just looking at these fills you with an urge to beat the shit out of people."
icon_state = "rapid"
inhand_icon_state = "rapid"
inhand_icon_state = null
clothing_traits = list(TRAIT_FINGERPRINT_PASSTHROUGH)
/obj/item/clothing/gloves/rapid/Initialize(mapload)
@@ -64,7 +64,7 @@
name = "translation gloves"
desc = "A pair of electronic gloves which connect to nearby radios wirelessly. Allows for sign language users to 'speak' over comms."
icon_state = "radio_g"
inhand_icon_state = "radio_g"
inhand_icon_state = null
clothing_traits = list(TRAIT_CAN_SIGN_ON_COMMS)
/obj/item/clothing/gloves/race
@@ -72,4 +72,4 @@
desc = "Extremely finely made gloves meant for use by sportsmen in speed-shooting competitions."
clothing_traits = list(TRAIT_DOUBLE_TAP)
icon_state = "black"
inhand_icon_state = "blackgloves"
greyscale_colors = "#2f2e31"
+7 -6
View File
@@ -2,7 +2,7 @@
name = "gripper gloves"
desc = "Special gloves that manipulate the blood vessels in the wearer's hands, granting them the ability to launch headfirst into walls."
icon_state = "tackle"
inhand_icon_state = "tackle"
inhand_icon_state = null
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
resistance_flags = NONE
@@ -47,7 +47,7 @@
name = "dolphin gloves"
desc = "Sleek, aerodynamic gripper gloves that are less effective at actually performing takedowns, but more effective at letting the user sail through the hallways and cause accidents."
icon_state = "tackledolphin"
inhand_icon_state = "tackledolphin"
inhand_icon_state = null
tackle_stam_cost = 15
base_knockdown = 0.5 SECONDS
@@ -60,7 +60,8 @@
name = "gorilla gloves"
desc = "Premium quality combative gloves, heavily reinforced to give the user an edge in close combat tackles, though they are more taxing to use than normal gripper gloves. Fireproof to boot!"
icon_state = "black"
inhand_icon_state = "blackgloves"
inhand_icon_state = "greyscale_gloves"
greyscale_colors = "#2f2e31"
tackle_stam_cost = 30
base_knockdown = 1.25 SECONDS
@@ -83,7 +84,7 @@
name = "rocket gloves"
desc = "The ultimate in high risk, high reward, perfect for when you need to stop a criminal from fifty feet away or die trying. Banned in most Spinward gridiron football and rugby leagues."
icon_state = "tacklerocket"
inhand_icon_state = "tacklerocket"
inhand_icon_state = null
tackle_stam_cost = 50
base_knockdown = 2 SECONDS
@@ -96,7 +97,7 @@
name = "improvised gripper gloves"
desc = "Ratty looking fingerless gloves wrapped with sticky tape. Beware anyone wearing these, for they clearly have no shame and nothing to lose."
icon_state = "fingerless"
inhand_icon_state = "fingerless"
inhand_icon_state = null
tackle_stam_cost = 30
base_knockdown = 1.75 SECONDS
@@ -107,4 +108,4 @@
name = "football gloves"
desc = "Gloves for football players! Teaches them how to tackle like a pro."
icon_state = "tackle_gloves"
inhand_icon_state = "tackle_gloves"
inhand_icon_state = null
+11 -11
View File
@@ -6,12 +6,6 @@
hat_type = "cakehat"
lefthand_file = 'icons/mob/inhands/clothing/hats_lefthand.dmi'
righthand_file = 'icons/mob/inhands/clothing/hats_righthand.dmi'
hitsound = 'sound/weapons/tap.ogg'
var/hitsound_on = 'sound/weapons/sear.ogg' //so we can differentiate between cakehat and energyhat
var/hitsound_off = 'sound/weapons/tap.ogg'
var/force_on = 15
var/throwforce_on = 15
var/damtype_on = BURN
flags_inv = HIDEEARS|HIDEHAIR
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0)
light_range = 2 //luminosity when on
@@ -20,9 +14,15 @@
heat = 999
dog_fashion = /datum/dog_fashion/head
hitsound = 'sound/weapons/tap.ogg'
var/hitsound_on = 'sound/weapons/sear.ogg' //so we can differentiate between cakehat and energyhat
var/hitsound_off = 'sound/weapons/tap.ogg'
var/force_on = 15
var/throwforce_on = 15
var/damtype_on = BURN
/obj/item/clothing/head/hardhat/cakehat/process()
var/turf/location = src.loc
var/turf/location = loc
if(ishuman(location))
var/mob/living/carbon/human/wearer = location
if(wearer.is_holding(src) || wearer.head == src)
@@ -65,11 +65,11 @@
heat = 0
/obj/item/clothing/head/hardhat/cakehat/energycake/turn_on(mob/living/user)
playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE)
playsound(src, 'sound/weapons/saberon.ogg', 5, TRUE)
to_chat(user, span_warning("You turn on \the [src]."))
..()
return ..()
/obj/item/clothing/head/hardhat/cakehat/energycake/turn_off(mob/living/user)
playsound(user, 'sound/weapons/saberoff.ogg', 5, TRUE)
playsound(src, 'sound/weapons/saberoff.ogg', 5, TRUE)
to_chat(user, span_warning("You turn off \the [src]."))
..()
return ..()

Some files were not shown because too many files have changed in this diff Show More