Updates a couple of /obj/item variables (#29829)

* compiles checkpoint

* fix some

* updatepaths

* fix

* rrr

* linters

* fiexs

* icon fixes

* plasmemes

* fix

* fix

* fix bit more

* fix

* well

* cleanup

* fix glasses layer

* conflict

* fuck gun code

* fixes

* fix

* fixes to energy guns

* review

* conflict

* support that 1 unathi pixel

* fix
This commit is contained in:
kyunkyunkyun
2025-09-14 15:23:56 +00:00
committed by GitHub
parent 500c6b16fe
commit 8821ab9a66
418 changed files with 1750 additions and 3810 deletions
+32 -28
View File
@@ -6,16 +6,38 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
icon = 'icons/obj/items.dmi'
blocks_emissive = EMISSIVE_BLOCK_GENERIC
mouse_drag_pointer = MOUSE_ACTIVE_POINTER
// Set in the Initialise depending on the item size. Unless it's overriden by a specific item
max_integrity = 200
can_be_hit = FALSE
suicidal_hands = TRUE
/// Set in the Initialise depending on the item size. Unless it's overriden by a specific item
move_resist = null
/// used in item_attack.dm to make an item not show an attack message to viewers
var/discrete = FALSE
/// The icon state used to display the item in your inventory. If null then the icon_state value itself will be used
var/item_state = null
var/lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
var/righthand_file = 'icons/mob/inhands/items_righthand.dmi'
/**
* Species-specific sprites, concept stolen from Paradise//vg/.
*
* ex:
*
* sprite_sheets = list("Tajaran" = 'icons/cat/are/bad')
*
* If index term exists, this sprite sheet will be used.
*
* This should never have a "Human" inside - use `worn_icon` instead.
*/
var/list/sprite_sheets
/// Used to override inhand items. Use a single .dmi and suffix the icon states inside with _l and _r for each hand.
var/list/sprite_sheets_inhand
/// Icon file for mob worn overlays. Can be ignored if sprite_sheets/sprite_sheets_inhand is set
var/icon/worn_icon
/// Icon state for mob worn overlays, if null the `icon_state` value will be used
var/worn_icon_state
/// Icon state for mob inhand overlays, if null the `icon_state` value will be used
var/inhand_icon_state
/// Icon file for left hand inhand overlays
var/icon/lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
/// Icon file for right inhand overlays
var/icon/righthand_file = 'icons/mob/inhands/items_righthand.dmi'
/// Dimension X of the lefthand_file and righthand_file var
/// eg: 32x32 sprite, 64x64 sprite, etc.
var/inhand_x_dimension = 32
@@ -23,11 +45,8 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
/// eg: 32x32 sprite, 64x64 sprite, etc.
var/inhand_y_dimension = 32
max_integrity = 200
can_be_hit = FALSE
suicidal_hands = TRUE
/// used in item_attack.dm to make an item not show an attack message to viewers
var/discrete = FALSE
/// Sound played when you hit something with the item
var/hitsound
/// Played when the item is used, for example tools
@@ -147,21 +166,6 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
/// If this item is a tool, the speed multiplier. Smaller numbers are faster.
var/toolspeed = 1
/* Species-specific sprites, concept stolen from Paradise//vg/.
ex:
sprite_sheets = list(
"Tajaran" = 'icons/cat/are/bad'
)
If index term exists and icon_override is not set, this sprite sheet will be used.
*/
var/list/sprite_sheets
/// Used to override inhand items. Use a single .dmi and suffix the icon states inside with _l and _r for each hand.
var/list/sprite_sheets_inhand
/// Used to override hardcoded clothing dmis in human clothing proc.
var/icon_override
/// Used to override hardcoded clothing inventory object dmis in human clothing proc.
var/sprite_sheets_obj
//Tooltip vars
/// Is this item equipped into an inventory slot or hand of a mob?
+2 -2
View File
@@ -8,10 +8,10 @@ AI MODULES
/obj/item/ai_module
name = "AI Module"
desc = "An AI Module for transmitting encrypted instructions to the AI."
icon = 'icons/obj/module_ai.dmi'
icon_state = "standard_low"
item_state = "electronic"
desc = "An AI Module for transmitting encrypted instructions to the AI."
inhand_icon_state = "electronic"
flags = CONDUCT
force = 5.0
w_class = WEIGHT_CLASS_SMALL
+1 -3
View File
@@ -221,7 +221,6 @@
desc = "A device used to rapidly build and deconstruct walls, floors and airlocks."
icon = 'icons/obj/tools.dmi'
icon_state = "rcd"
item_state = "rcd"
flags = CONDUCT | NOBLUDGEON
throwforce = 10
throw_speed = 3
@@ -708,7 +707,6 @@
/obj/item/rcd/combat
name = "combat RCD"
icon_state = "crcd"
item_state = "crcd"
max_matter = 500
matter = 500
can_rwall = TRUE
@@ -718,7 +716,7 @@
desc = "Highly compressed matter for the RCD."
icon = 'icons/obj/ammo.dmi'
icon_state = "rcd"
item_state = "rcdammo"
inhand_icon_state = "rcdammo"
origin_tech = "materials=3"
materials = list(MAT_METAL=16000, MAT_GLASS=8000)
new_attack_chain = TRUE
+3 -6
View File
@@ -3,7 +3,7 @@
desc = "A device used to rapidly deploy cables. It has screws on the side which can be removed to slide off the cables."
icon = 'icons/obj/tools.dmi'
icon_state = "rcl-0"
item_state = "rcl-0"
inhand_icon_state = "rcl-0"
force = 5 //Plastic is soft
throwforce = 5
throw_speed = 1
@@ -84,21 +84,18 @@
/obj/item/rcl/update_icon_state()
if(!loaded)
icon_state = "rcl-0"
item_state = "rcl-0"
inhand_icon_state = "rcl-0"
return
switch(loaded.amount)
if(61 to INFINITY)
icon_state = "rcl-30"
item_state = "rcl"
if(31 to 60)
icon_state = "rcl-20"
item_state = "rcl"
if(1 to 30)
icon_state = "rcl-10"
item_state = "rcl"
else
icon_state = "rcl-0"
item_state = "rcl-0"
inhand_icon_state = "rcl[loaded.amount ? "" : "-0"]"
/obj/item/rcl/proc/is_empty(mob/user, loud = 1)
refresh_icon(user)
-1
View File
@@ -7,7 +7,6 @@
desc = "A device used to rapidly deploy service items."
icon = 'icons/obj/tools.dmi'
icon_state = "rsf"
item_state = "rsf"
var/atom/currently_dispensing
var/power_mode = POWER_NONE
@@ -3,7 +3,6 @@
desc = "A glass case containing a bio-chip."
icon = 'icons/obj/bio_chips.dmi'
icon_state = "implantcase"
item_state = "implantcase"
throw_range = 5
w_class = WEIGHT_CLASS_TINY
origin_tech = "materials=1;biotech=2"
@@ -3,7 +3,7 @@
desc = "Used to modify bio-chips."
icon = 'icons/obj/bio_chips.dmi'
icon_state = "implantpad-off"
item_state = "electronic"
inhand_icon_state = "electronic"
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
@@ -3,7 +3,7 @@
desc = "A sterile automatic bio-chip injector."
icon = 'icons/obj/bio_chips.dmi'
icon_state = "implanter0"
item_state = "syringe_0"
inhand_icon_state = "syringe_0"
throw_speed = 3
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
+1 -2
View File
@@ -7,8 +7,8 @@
desc = "In Greek myth, Prometheus stole fire from the Gods and gave it to humankind. The jewelry he kept for himself."
icon = 'icons/obj/candle.dmi'
icon_state = "candle1"
item_state = "candle1"
w_class = WEIGHT_CLASS_TINY
light_color = "#E09D37"
var/wax = 200
/// Index for the icon state
var/wax_index = TALL_CANDLE
@@ -16,7 +16,6 @@
var/infinite = FALSE
var/start_lit = FALSE
var/flickering = FALSE
light_color = "#E09D37"
/obj/item/candle/New()
..()
+12 -14
View File
@@ -29,7 +29,7 @@
desc = "It's a card with a magnetic strip attached to some circuitry. It looks too busted to be used for anything but salvage."
name = "broken cryptographic sequencer"
icon_state = "emag"
item_state = "card-id"
inhand_icon_state = "card-id"
origin_tech = "magnets=2;syndicate=2"
prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS
@@ -37,7 +37,7 @@
desc = "It's a card with a magnetic strip attached to some circuitry."
name = "cryptographic sequencer"
icon_state = "emag"
item_state = "card-id"
inhand_icon_state = "card-id"
origin_tech = "magnets=2;syndicate=2"
flags = NOBLUDGEON
flags_2 = NO_MAT_REDEMPTION_2
@@ -71,7 +71,7 @@
desc = "It's a card coated in a slurry of electromagnetic bananium."
name = "jestographic sequencer"
icon_state = "cmag"
item_state = "card-id"
inhand_icon_state = "card-id"
origin_tech = "magnets=2;syndicate=2"
flags = NOBLUDGEON
flags_2 = NO_MAT_REDEMPTION_2
@@ -93,7 +93,7 @@
name = "identification card"
desc = "A card used to provide ID and determine access across the station."
icon_state = "id"
item_state = "card-id"
inhand_icon_state = "card-id"
/// For redeeming at mining equipment lockers
var/mining_points = 0
/// Total mining points for the Shift.
@@ -285,7 +285,7 @@
name = decal.decal_name
desc = decal.decal_desc
icon_state = decal.decal_icon_state
item_state = decal.decal_item_state
inhand_icon_state = decal.decal_inhand_icon_state
qdel(decal)
qdel(used)
return ITEM_INTERACT_COMPLETE
@@ -380,18 +380,18 @@
/obj/item/card/id/silver
desc = "A silver card which shows honour and dedication."
icon_state = "silver"
item_state = "silver_id"
inhand_icon_state = "silver_id"
/obj/item/card/id/gold
desc = "A golden card which shows power and might."
icon_state = "gold"
item_state = "gold_id"
inhand_icon_state = "gold_id"
/obj/item/card/id/captains_spare
name = "captain's spare ID"
desc = "The spare ID of the captain. Keep this secured."
icon_state = "gold"
item_state = "gold_id"
inhand_icon_state = "gold_id"
registered_name = "Captain"
assignment = "Captain"
@@ -402,7 +402,7 @@
/obj/item/card/id/admin
name = "admin ID card"
icon_state = "admin"
item_state = "gold_id"
inhand_icon_state = "gold_id"
registered_name = "Admin"
assignment = "Testing Shit"
untrackable = TRUE
@@ -427,7 +427,6 @@
name = "prisoner ID card"
desc = "You are a number, you are not a free man."
icon_state = "prisoner"
item_state = "orange-id"
assignment = "Prisoner"
registered_name = "Scum"
access = list(ACCESS_LIBRARY)
@@ -888,7 +887,7 @@
var/decal_name = "identification card"
var/decal_desc = "A card used to provide ID and determine access across the station."
var/decal_icon_state = "id"
var/decal_item_state = "card-id"
var/decal_inhand_icon_state = "card-id"
var/override_name = 0
/obj/item/id_decal/gold
@@ -897,7 +896,7 @@
desc = "Make your ID look like the Captain's or a self-centered HOP's. Applies to any ID."
decal_desc = "A golden card which shows power and might."
decal_icon_state = "gold"
decal_item_state = "gold_id"
decal_inhand_icon_state = "gold_id"
/obj/item/id_decal/silver
name = "silver ID card decal"
@@ -905,7 +904,7 @@
desc = "Make your ID look like HOP's because they wouldn't change it officially. Applies to any ID."
decal_desc = "A silver card which shows honour and dedication."
decal_icon_state = "silver"
decal_item_state = "silver_id"
decal_inhand_icon_state = "silver_id"
/obj/item/id_decal/prisoner
name = "prisoner ID card decal"
@@ -913,7 +912,6 @@
desc = "All the cool kids have an ID that's this color. Applies to any ID."
decal_desc = "You are a number, you are not a free man."
decal_icon_state = "prisoner"
decal_item_state = "orange-id"
/obj/item/id_decal/centcom
name = "centcom ID card decal"
-1
View File
@@ -61,7 +61,6 @@ LIGHTERS ARE IN LIGHTERS.DM
/obj/item/clothing/mask/cigarette/update_icon_state()
. = ..()
icon_state = "[initial(icon_state)][lit ? "_on" : ""]"
item_state = "[initial(icon_state)][lit ? "_on" : ""]"
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
H.update_inv_wear_mask()
+3 -4
View File
@@ -13,8 +13,7 @@
name = "bike horn"
desc = "A horn off of a bicycle."
icon_state = "bike_horn"
item_state = "bike_horn"
hitsound = null
inhand_icon_state = "bike_horn"
throwforce = 3
w_class = WEIGHT_CLASS_TINY
var/list/honk_sounds = list('sound/items/bikehorn.ogg' = 1)
@@ -37,7 +36,7 @@
name = "golden bike horn"
desc = "Golden? Clearly, its made with bananium! Honk!"
icon_state = "gold_horn"
item_state = "gold_horn"
inhand_icon_state = "gold_horn"
var/cooldown = 0
/obj/item/bikehorn/golden/attack__legacy__attackchain(mob/M, mob/user)
@@ -69,7 +68,7 @@
desc = "When you just can't get those laughs coming the natural way!"
icon = 'icons/obj/device.dmi'
icon_state = "clown_recorder"
item_state = "analyzer"
inhand_icon_state = "analyzer"
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL = 180, MAT_GLASS = 90)
+5 -6
View File
@@ -4,18 +4,17 @@
#define WAND_SPEED "Change Closing Speed"
/obj/item/door_remote
icon_state = "gangtool-white"
item_state = "electronic"
icon = 'icons/obj/device.dmi'
name = "control wand"
desc = "Remotely controls airlocks."
icon = 'icons/obj/device.dmi'
icon_state = "gangtool-white"
inhand_icon_state = "electronic"
w_class = WEIGHT_CLASS_TINY
flags = NOBLUDGEON
var/mode = WAND_OPEN
var/region_access = list()
var/additional_access = list()
var/obj/item/card/id/ID
new_attack_chain = TRUE
/obj/item/door_remote/Initialize(mapload)
@@ -188,7 +187,7 @@
name = "access tuner"
desc = "A device used for illegally interfacing with doors."
icon_state = "hacktool"
item_state = "hacktool"
inhand_icon_state = "hacktool"
var/hack_speed = 1.5 SECONDS
var/busy = FALSE
/// How far can we use this. Leave `null` for infinite range
@@ -233,7 +232,7 @@
name = "janitor's keyring"
desc = "An absolutely unwieldy set of keys attached to a metal ring. The keys on the ring allow you to access most Departmental entries and the Service Department!"
icon_state = "keyring"
item_state = "keyring"
inhand_icon_state = null
/// Are you already using the keyring?
var/busy = FALSE
/// This prevents spamming the key-shake.
+5 -9
View File
@@ -5,7 +5,6 @@
desc = "A device that delivers powerful shocks to detachable paddles that resuscitate incapacitated patients."
icon = 'icons/obj/defib.dmi'
icon_state = "defibunit"
item_state = "defibunit"
slot_flags = ITEM_SLOT_BACK
force = 5
throwforce = 6
@@ -209,7 +208,6 @@
name = "compact defibrillator"
desc = "A belt-mounted defibrillator that can be rapidly deployed."
icon_state = "defibcompact"
item_state = "defibcompact"
sprite_sheets = null //Because Vox had the belt defibrillator sprites in back.dm
w_class = WEIGHT_CLASS_NORMAL
slot_flags = ITEM_SLOT_BELT
@@ -229,7 +227,6 @@
name = "combat defibrillator"
desc = "A belt-mounted blood-red defibrillator that can be rapidly deployed. Does not have the restrictions or safeties of conventional defibrillators and can revive through space suits."
icon_state = "defibcombat"
item_state = "defibcombat"
paddle_type = /obj/item/shockpaddles/syndicate
combat = TRUE
safety = FALSE
@@ -244,7 +241,6 @@
name = "advanced compact defibrillator"
desc = "A belt-mounted state-of-the-art defibrillator that can be rapidly deployed in all environments. The casing is EMP-shielded and heavily reinforced, making it immune to most sources of damage."
icon_state = "defibnt"
item_state = "defibnt"
paddle_type = /obj/item/shockpaddles/advanced
combat = TRUE
hardened = TRUE // EMP-proof (on the component), but not emag-proof.
@@ -291,7 +287,7 @@
desc = "A pair of plastic-gripped paddles with flat metal surfaces that are used to deliver powerful electric shocks."
icon = 'icons/obj/defib.dmi'
icon_state = "defibpaddles0"
item_state = "defibpaddles0"
inhand_icon_state = "defibpaddles0"
throwforce = 6
w_class = WEIGHT_CLASS_BULKY
resistance_flags = INDESTRUCTIBLE
@@ -357,7 +353,7 @@
/obj/item/shockpaddles/update_icon_state()
var/wielded = HAS_TRAIT(src, TRAIT_WIELDED)
icon_state = "[base_icon_state][wielded]"
item_state = "[base_icon_state][wielded]"
inhand_icon_state = "[base_icon_state][wielded]"
if(on_cooldown)
icon_state = "[base_icon_state][wielded]_cooldown"
@@ -420,7 +416,7 @@
desc = "A pair of paddles with flat metal surfaces that are used to deliver powerful electric shocks."
icon = 'icons/obj/defib.dmi'
icon_state = "defibpaddles0"
item_state = "defibpaddles0"
inhand_icon_state = "defibpaddles0"
w_class = WEIGHT_CLASS_BULKY
var/revivecost = 1000
var/safety = TRUE
@@ -450,12 +446,12 @@
name = "combat defibrillator paddles"
desc = "A pair of high-tech paddles with flat plasteel surfaces to revive deceased operatives (unless they exploded). They possess both the ability to penetrate armor and to deliver powerful or disabling shocks offensively."
icon_state = "syndiepaddles0"
item_state = "syndiepaddles0"
inhand_icon_state = "syndiepaddles0"
base_icon_state = "syndiepaddles"
/obj/item/shockpaddles/advanced
name = "advanced defibrillator paddles"
desc = "A pair of high-tech paddles with flat plasteel surfaces that are used to deliver powerful electric shocks. They possess the ability to penetrate armor to deliver shock."
icon_state = "ntpaddles0"
item_state = "ntpaddles0"
inhand_icon_state = "ntpaddles0"
base_icon_state = "ntpaddles"
+2 -1
View File
@@ -3,7 +3,8 @@
desc = "A handy pocket card used to extract an artificial intelligence for transport."
icon = 'icons/obj/aicards.dmi'
icon_state = "aicard" // aicard-full
item_state = "electronic"
worn_icon_state = "electronic"
inhand_icon_state = "electronic"
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
flags = NOBLUDGEON
@@ -5,9 +5,8 @@
icon = 'icons/obj/device.dmi'
icon_state = "camera_bug"
w_class = WEIGHT_CLASS_TINY
item_state = "camera_bug"
throw_speed = 4
throw_range = 20
throw_speed = 4
throw_range = 20
origin_tech = "syndicate=1;engineering=3"
/// Integrated camera console to serve UI data
var/obj/machinery/computer/security/camera_bug/integrated_console
@@ -2,9 +2,10 @@
name = "chameleon counterfeiter"
icon = 'icons/obj/device.dmi'
icon_state = "cham_counter"
worn_icon_state = "electronic"
inhand_icon_state = "electronic"
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
item_state = "electronic"
w_class = WEIGHT_CLASS_SMALL
origin_tech = "syndicate=1;magnets=3"
var/can_use = TRUE
@@ -12,7 +13,9 @@
var/saved_desc
var/saved_icon
var/saved_icon_state
var/saved_item_state
var/saved_worn_icon
var/saved_worn_icon_state
var/saved_inhand_icon_state
var/saved_overlays
var/saved_underlays
var/dummy_active = FALSE
@@ -33,7 +36,9 @@
saved_desc = target.desc
saved_icon = target.icon
saved_icon_state = target.icon_state
saved_item_state = target.item_state
saved_worn_icon = target.worn_icon
saved_worn_icon_state = target.worn_icon_state
saved_inhand_icon_state = target.inhand_icon_state
saved_overlays = target.overlays
saved_underlays = target.underlays
@@ -56,7 +61,9 @@
desc = saved_desc
icon = saved_icon
icon_state = saved_icon_state
item_state = saved_item_state
worn_icon = saved_worn_icon
worn_icon_state = saved_icon_state
inhand_icon_state = saved_inhand_icon_state
overlays = saved_overlays
underlays = saved_underlays
dummy_active = TRUE
@@ -66,7 +73,9 @@
desc = initial(desc)
icon = initial(icon)
icon_state = initial(icon_state)
item_state = initial(item_state)
worn_icon = initial(worn_icon)
worn_icon_state = initial(worn_icon_state)
inhand_icon_state = initial(inhand_icon_state)
overlays = initial(overlays)
underlays = initial(underlays)
dummy_active = FALSE
@@ -4,7 +4,8 @@
icon_state = "shield0"
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
item_state = "electronic"
worn_icon_state = "electronic"
inhand_icon_state = "electronic"
throwforce = 5
throw_speed = 3
throw_range = 5
@@ -118,7 +119,7 @@
/obj/effect/dummy/chameleon/attack_by(obj/item/attacking, mob/user, params)
if(..())
return FINISH_ATTACK
for(var/mob/M in src)
for(var/mob/M in src)
to_chat(M, "<span class='danger'>Your [src] deactivates.</span>")
master.disrupt()
@@ -183,7 +184,6 @@
name = "cyborg chameleon projector"
icon = 'icons/obj/device.dmi'
icon_state = "shield0"
item_state = "electronic"
w_class = WEIGHT_CLASS_SMALL
var/active = FALSE
var/activation_cost = 300
+7 -4
View File
@@ -3,7 +3,7 @@
desc = "A powerful and versatile flashbulb device, with applications ranging from disorienting attackers to acting as visual receptors in robot production."
icon = 'icons/obj/device.dmi'
icon_state = "flash"
item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang)
inhand_icon_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang)
belt_icon = "flash"
w_class = WEIGHT_CLASS_TINY
throw_speed = 3
@@ -224,9 +224,10 @@
icon = 'icons/obj/items.dmi'
desc = "A polaroid camera. 10 photos left."
icon_state = "camera"
item_state = "camera"
worn_icon_state = "camera"
inhand_icon_state = "camera"
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
slot_flags = ITEM_SLOT_NECK
can_overcharge = FALSE
var/flash_max_charges = 5
var/flash_cur_charges = 5
@@ -265,7 +266,9 @@
name = "memorizer"
desc = "If you see this, you're not likely to remember it any time soon." // Why doesn't this at least delete your notes smh
icon_state = "memorizer"
item_state = "nullrod"
inhand_icon_state = "tele_baton"
lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons_righthand.dmi'
/obj/item/flash/armimplant
name = "photon projector"
+13 -18
View File
@@ -3,7 +3,7 @@
desc = "A hand-held emergency light."
icon = 'icons/obj/lighting.dmi'
icon_state = "flashlight"
item_state = "flashlight"
inhand_icon_state = "flashlight"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
@@ -90,7 +90,8 @@
name = "penlight"
desc = "A pen, and a light. Used by medical staff."
icon_state = "penlight"
item_state = ""
worn_icon_state = "pen"
inhand_icon_state = "pen"
w_class = WEIGHT_CLASS_TINY
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BOTH_EARS
brightness_on = 2
@@ -100,7 +101,7 @@
name = "seclite"
desc = "A robust flashlight used by security."
icon_state = "seclite"
item_state = "seclite"
inhand_icon_state = "seclite"
force = 9 // Not as good as a stun baton.
brightness_on = 5 // A little better than the standard flashlight.
hitsound = 'sound/weapons/genhit1.ogg'
@@ -109,7 +110,6 @@
name = "low-power flashlight"
desc = "A miniature lamp, that might be used by small robots."
icon_state = "penlight"
item_state = ""
brightness_on = 2
w_class = WEIGHT_CLASS_TINY
@@ -118,7 +118,7 @@
name = "desk lamp"
desc = "A desk lamp with an adjustable mount."
icon_state = "lamp"
item_state = "lamp"
inhand_icon_state = "lamp"
brightness_on = 5
w_class = WEIGHT_CLASS_BULKY
materials = list()
@@ -133,7 +133,7 @@
/obj/item/flashlight/lamp/green
desc = "A classic green-shaded desk lamp."
icon_state = "lampgreen"
item_state = "lampgreen"
inhand_icon_state = "lampgreen"
light_color = "#AAFFAA"
/obj/item/flashlight/lamp/green/off
@@ -150,7 +150,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"
item_state = "bananalamp"
inhand_icon_state = "lampgreen"
light_color = "#f7ff57"
// FLARES
@@ -161,7 +161,7 @@
brightness_on = 8
light_color = "#ff0000"
icon_state = "flare"
item_state = "flare"
inhand_icon_state = "flare"
togglesound = 'sound/goonstation/misc/matchstick_light.ogg'
var/fuel = 0
var/on_damage = 7
@@ -174,11 +174,7 @@
..()
/obj/item/flashlight/flare/update_icon_state()
if(on)
item_state = "[initial(item_state)]-on"
else
item_state = "[initial(item_state)]"
inhand_icon_state = "[initial(inhand_icon_state)][on ? "-on" : ""]"
if(!fuel)
icon_state = "[initial(icon_state)]-empty"
return
@@ -260,7 +256,7 @@
brightness_on = 4
color = LIGHT_COLOR_GREEN
icon_state = "glowstick"
item_state = "glowstick"
inhand_icon_state = null
togglesound = 'sound/effects/bone_break_1.ogg'
produce_heat = FALSE
fuel_lower = 1600
@@ -319,10 +315,10 @@
/obj/item/flashlight/flare/torch
name = "torch"
desc = "A torch fashioned from some leaves and a log."
icon_state = "torch"
inhand_icon_state = "torch"
w_class = WEIGHT_CLASS_BULKY
brightness_on = 7
icon_state = "torch"
item_state = "torch"
light_color = LIGHT_COLOR_ORANGE
on_damage = 10
@@ -331,7 +327,7 @@
name = "glowing slime extract"
desc = "A glowing ball of what appears to be amber."
icon_state = "slime-on"
item_state = "slime"
inhand_icon_state = null
w_class = WEIGHT_CLASS_TINY
brightness_on = 6
light_color = "#FFBF00"
@@ -362,7 +358,6 @@
var/emp_cur_charges = 4
var/charge_tick = 0
/obj/item/flashlight/emp/New()
..()
START_PROCESSING(SSobj, src)
@@ -10,7 +10,7 @@
desc = "A handheld device used for detecting and measuring radiation pulses."
icon = 'icons/obj/device.dmi'
icon_state = "geiger_off"
item_state = "multitool"
inhand_icon_state = "multitool"
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
flags = NOBLUDGEON
@@ -3,7 +3,7 @@
desc = "Used to restart stopped hearts."
icon = 'icons/obj/medical.dmi'
icon_state = "defib-on"
item_state = "defib"
inhand_icon_state = "defib"
belt_icon = "defib"
var/icon_base = "defib"
@@ -3,13 +3,14 @@
desc = "Don't shine it in your eyes!"
icon = 'icons/obj/device.dmi'
icon_state = "pointer"
item_state = "pen"
var/pointer_icon_state
worn_icon_state = "pen"
inhand_icon_state = "pen"
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL=500, MAT_GLASS=500)
w_class = WEIGHT_CLASS_SMALL //Increased to 2, because diodes are w_class 2. Conservation of matter.
origin_tech = "combat=1;magnets=2"
var/pointer_icon_state
var/energy = 5
var/max_energy = 5
var/effectchance = 33
@@ -17,7 +18,6 @@
var/recharge_locked = 0
var/obj/item/stock_parts/micro_laser/diode //used for upgrading!
/obj/item/laser_pointer/red
pointer_icon_state = "red_laser"
/obj/item/laser_pointer/green
@@ -36,7 +36,8 @@
desc = "A device to automatically replace lights. Refill with broken or working light bulbs, or sheets of glass."
icon = 'icons/obj/janitor.dmi'
icon_state = "lightreplacer0"
item_state = "electronic"
worn_icon_state = "electronic"
inhand_icon_state = "electronic"
belt_icon = "light_replacer"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
+1 -1
View File
@@ -3,7 +3,7 @@
desc = "A device used to project your voice. Loudly."
icon = 'icons/obj/device.dmi'
icon_state = "megaphone"
item_state = "radio"
inhand_icon_state = "radio"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
+2 -1
View File
@@ -3,7 +3,8 @@
desc = "A handheld device that allows you to install an artificial intelligence to be your companion."
icon = 'icons/obj/aicards.dmi'
icon_state = "pai"
item_state = "electronic"
worn_icon_state = "electronic"
inhand_icon_state = "electronic"
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
origin_tech = "programming=2"
@@ -74,7 +74,7 @@
name = selected_module.module_name
desc = selected_module.module_desc
icon_state = selected_module.module_state
item_state = selected_module.module_state
inhand_icon_state = selected_module.module_state
if(user)
user.update_inv_l_hand()
user.update_inv_r_hand()
+1 -2
View File
@@ -9,7 +9,7 @@
desc = "A nulling power sink which drains energy from electrical systems."
icon = 'icons/goonstation/objects/powersink.dmi'
icon_state = "powersink0"
item_state = "electronic"
inhand_icon_state = "electronic"
w_class = WEIGHT_CLASS_BULKY
flags = CONDUCT
throwforce = 5
@@ -22,7 +22,6 @@
var/max_power = 6e8 // maximum power that can be drained before exploding
var/mode = 0 // 0 = off, 1=clamped (off), 2=operating
var/admins_warned = FALSE // stop spam, only warn the admins once that we are about to boom
var/obj/structure/cable/attached // the attached cable
/obj/item/powersink/Destroy()
@@ -3,7 +3,7 @@
desc = "A beacon used by a teleporter."
icon = 'icons/obj/radio.dmi'
icon_state = "beacon"
item_state = "signaler"
inhand_icon_state = "signaler"
origin_tech = "bluespace=1"
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
@@ -2,8 +2,7 @@
name = "electropack"
desc = "Dance my monkeys! DANCE!!!"
icon = 'icons/obj/radio.dmi'
icon_state = "electropack0"
item_state = "electropack"
icon_state = "electropack"
flags = CONDUCT
slot_flags = ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_HUGE
@@ -138,7 +137,6 @@
frequency = AIRLOCK_FREQ
code = 2
receiving = TRUE
var/obj/item/electropack/owning_pack
/obj/item/assembly/signaler/electropack/Initialize(mapload, holding_electropack)
@@ -1,10 +1,8 @@
/obj/item/encryptionkey
name = "Standard Encryption Key"
desc = "An encyption key for a radio headset. Contains cypherkeys."
icon = 'icons/obj/radio.dmi'
icon_state = "cypherkey"
item_state = ""
w_class = WEIGHT_CLASS_TINY
origin_tech = "engineering=2;bluespace=1"
var/translate_binary = FALSE
@@ -1,17 +1,18 @@
/obj/item/radio/headset
name = "radio headset"
desc = "An updated, modular intercom that fits over the head. Takes encryption keys."
var/radio_desc = ""
icon_state = "headset"
item_state = "headset"
worn_icon_state = "headset"
inhand_icon_state = "headset"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/ears.dmi', //We read you loud and skree-er.
"Kidan" = 'icons/mob/clothing/species/kidan/ears.dmi'
)
)
materials = list(MAT_METAL = 200)
canhear_range = 0 // can't hear headsets from very far away
slot_flags = ITEM_SLOT_BOTH_EARS
var/radio_desc = ""
var/translate_binary = FALSE
var/translate_hive = FALSE
var/obj/item/encryptionkey/keyslot1 = null
@@ -81,7 +82,7 @@
desc = "An updated, modular intercom that fits over the head. Takes encryption keys. Protects ears from flashbangs."
flags = EARBANGPROTECT
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
worn_icon_state = "com_headset_alt"
/obj/item/radio/headset/alt/deathsquad
name = "Deathsquad headset"
@@ -107,13 +108,13 @@
desc = "A syndicate headset that can be used to hear all radio frequencies. Protects ears from flashbangs."
flags = EARBANGPROTECT
icon_state = "syndie_headset"
item_state = "syndie_headset"
worn_icon_state = "syndie_headset"
/obj/item/radio/headset/syndicate_fake
name = "syndicate headset"
desc = "A syndicate headset to set on your head."
icon_state = "syndie_headset"
item_state = "syndie_headset"
worn_icon_state = "syndie_headset"
/obj/item/radio/headset/syndicate/syndteam
ks1type = /obj/item/encryptionkey/syndteam
@@ -134,7 +135,7 @@
flags = EARBANGPROTECT
origin_tech = "syndicate=3"
icon_state = "soviet_headset"
item_state = "soviet_headset"
worn_icon_state = "soviet_headset"
ks1type = /obj/item/encryptionkey/soviet
requires_tcomms = FALSE
@@ -153,13 +154,12 @@
desc = "This is used by your elite security force. Protects ears from flashbangs."
flags = EARBANGPROTECT
icon_state = "sec_headset_alt"
item_state = "sec_headset_alt"
worn_icon_state = "sec_headset_alt"
/obj/item/radio/headset/headset_iaa
name = "internal affairs radio headset"
desc = "This is used by your elite legal team."
icon_state = "sec_headset"
item_state = "sec_headset"
ks2type = /obj/item/encryptionkey/headset_iaa
/obj/item/radio/headset/headset_iaa/alt
@@ -167,7 +167,6 @@
desc = "This is used by your elite legal team. Protects ears from flashbangs."
flags = EARBANGPROTECT
icon_state = "sec_headset_alt"
item_state = "sec_headset_alt"
/obj/item/radio/headset/headset_eng
name = "engineering radio headset"
@@ -222,7 +221,7 @@
desc = "The headset of the boss. Protects ears from flashbangs."
flags = EARBANGPROTECT
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
worn_icon_state = "com_headset_alt"
/obj/item/radio/headset/heads/rd
name = "research director's headset"
@@ -241,7 +240,6 @@
desc = "The headset of the man in charge of keeping order and protecting the station. Protects ears from flashbangs."
flags = EARBANGPROTECT
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
/obj/item/radio/headset/heads/ce
name = "chief engineer's headset"
@@ -312,7 +310,7 @@
desc = "The headset of the Magistrate. Protects ears from flashbangs."
flags = EARBANGPROTECT
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
worn_icon_state = "com_headset_alt"
/obj/item/radio/headset/heads/blueshield
name = "blueshield's headset"
@@ -325,7 +323,7 @@
desc = "The headset of the Blueshield. Protects ears from flashbangs."
flags = EARBANGPROTECT
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
worn_icon_state = "com_headset_alt"
/obj/item/radio/headset/ert
name = "emergency response team headset"
@@ -339,7 +337,7 @@
desc = "An ergonomic tactical headset used by Nanotrasen-affiliated PMCs. Protects against loud noises."
flags = EARBANGPROTECT
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
worn_icon_state = "com_headset_alt"
/obj/item/radio/headset/ert/alt/solgov
name = "\improper Trans-Solar Marine Corps bowman headset"
@@ -364,7 +362,7 @@
desc = "The headset of final authority. Protects ears from flashbangs. Can transmit even if telecomms are down."
flags = EARBANGPROTECT
icon_state = "com_headset_alt"
item_state = "com_headset_alt"
worn_icon_state = "com_headset_alt"
ks2type = /obj/item/encryptionkey/centcom
requires_tcomms = FALSE
instant = TRUE
@@ -23,12 +23,12 @@ GLOBAL_LIST_INIT(default_medbay_channels, list(
GLOBAL_LIST_EMPTY(deadsay_radio_systems)
/obj/item/radio
icon = 'icons/obj/radio.dmi'
name = "station bounced radio"
icon = 'icons/obj/radio.dmi'
icon_state = "walkietalkie"
inhand_icon_state = "radio"
dog_fashion = /datum/dog_fashion/back
suffix = "\[3\]"
icon_state = "walkietalkie"
item_state = "walkietalkie"
/// boolean for radio enabled or not
var/on = TRUE
var/last_transmission
+12 -9
View File
@@ -17,12 +17,13 @@ SLIME SCANNER
desc = "A terahertz-ray emitter and scanner used to detect underfloor objects such as cables and pipes."
icon = 'icons/obj/device.dmi'
icon_state = "t-ray0"
var/on = FALSE
worn_icon_state = "electronic"
inhand_icon_state = "electronic"
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
item_state = "electronic"
materials = list(MAT_METAL = 300)
origin_tech = "magnets=1;engineering=1"
var/on = FALSE
/obj/item/t_scanner/Destroy()
if(on)
@@ -71,7 +72,7 @@ SLIME SCANNER
flick_overlay(t_ray_images, list(viewer.client), flick_time)
////////////////////////////////////////
// MARK: Health analyser
// MARK: Health analyzer
////////////////////////////////////////
#define SIMPLE_HEALTH_SCAN 0
#define DETAILED_HEALTH_SCAN 1
@@ -139,7 +140,8 @@ SLIME SCANNER
desc = "A hand-held body scanner able to distinguish vital signs of the subject."
icon = 'icons/obj/device.dmi'
icon_state = "health"
item_state = "healthanalyzer"
worn_icon_state = "healthanalyzer"
inhand_icon_state = "healthanalyzer"
belt_icon = "health_analyzer"
flags = CONDUCT | NOBLUDGEON
slot_flags = ITEM_SLOT_BELT
@@ -454,7 +456,7 @@ SLIME SCANNER
desc = "A hand-held scanner able to diagnose robotic injuries and the condition of machinery."
icon = 'icons/obj/device.dmi'
icon_state = "robotanalyzer"
item_state = "analyzer"
inhand_icon_state = "analyzer"
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
@@ -601,7 +603,7 @@ SLIME SCANNER
desc = "A hand-held environmental scanner which reports current gas levels."
icon = 'icons/obj/device.dmi'
icon_state = "atmos"
item_state = "analyzer"
inhand_icon_state = "analyzer"
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
@@ -849,7 +851,7 @@ SLIME SCANNER
desc = "A hand-held reagent scanner which identifies chemical agents and blood types."
icon = 'icons/obj/device.dmi'
icon_state = "spectrometer"
item_state = "analyzer"
inhand_icon_state = "analyzer"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
@@ -927,7 +929,7 @@ SLIME SCANNER
name = "slime scanner"
icon = 'icons/obj/device.dmi'
icon_state = "adv_spectrometer_s"
item_state = "analyzer"
inhand_icon_state = "analyzer"
origin_tech = "biotech=2"
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
@@ -983,7 +985,8 @@ SLIME SCANNER
desc = "A handheld scanner capable of deep-scanning an entire body."
icon = 'icons/obj/device.dmi'
icon_state = "bodyanalyzer_0"
item_state = "healthanalyser"
worn_icon_state = "healthanalyzer"
inhand_icon_state = "healthanalyzer"
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
throw_speed = 5
@@ -3,7 +3,7 @@
desc = "A device that can record to cassette tapes, and play them. It automatically translates the content in playback."
icon = 'icons/obj/device.dmi'
icon_state = "taperecorder_empty"
item_state = "analyzer"
inhand_icon_state = "analyzer"
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL = 180, MAT_GLASS = 90)
@@ -268,7 +268,7 @@
desc = "A magnetic tape that can hold up to ten minutes of content."
icon = 'icons/obj/device.dmi'
icon_state = "tape_white"
item_state = "analyzer"
inhand_icon_state = "analyzer"
w_class = WEIGHT_CLASS_TINY
materials = list(MAT_METAL = 40, MAT_GLASS = 10)
force = 1
@@ -3,7 +3,7 @@
desc = "Fog of war that fits your pocket. Flicking the switch and extending the antenna will scramble nearby radio comms, making outgoing messages hard to understand."
icon = 'icons/obj/device.dmi'
icon_state = "jammer"
item_state = "jammer"
inhand_icon_state = "jammer"
w_class = WEIGHT_CLASS_TINY
actions_types = list(/datum/action/item_action/toggle_radio_jammer)
new_attack_chain = TRUE
@@ -37,12 +37,12 @@
desc = "A strange syndicate version of a cult veil shifter. Warranty voided if exposed to EMP."
icon = 'icons/obj/device.dmi'
icon_state = "syndi-tele-4"
inhand_icon_state = "electronic"
throwforce = 5
w_class = WEIGHT_CLASS_SMALL
throw_speed = 4
throw_range = 10
flags = CONDUCT
item_state = "electronic"
origin_tech = "magnets=3;combat=3;syndicate=3"
new_attack_chain = TRUE
var/list/icons_charges = list(
@@ -342,12 +342,12 @@
desc = "A dangerous syndicate device focused on crowd control and escapes. Causes brain damage, confusion, and other nasty effects to those surrounding the user."
icon = 'icons/obj/device.dmi'
icon_state = "batterer"
inhand_icon_state = "electronic"
throwforce = 5
w_class = WEIGHT_CLASS_TINY
throw_speed = 4
throw_range = 10
flags = CONDUCT
item_state = "electronic"
origin_tech = "magnets=3;combat=3;syndicate=3"
new_attack_chain = TRUE
@@ -494,12 +494,12 @@
desc = "The Syndicate seem to have modified this T-ray scanner for a more nefarious purpose, allowing it to detect all loyal Nanotrasen crew."
icon = 'icons/obj/device.dmi'
icon_state = "syndi-scanner"
inhand_icon_state = "electronic"
throwforce = 5
w_class = WEIGHT_CLASS_SMALL
throw_speed = 4
throw_range = 10
flags = CONDUCT
item_state = "electronic"
new_attack_chain = TRUE
/// Split points for range_messages.
var/list/ranges = list(5, 15, 30)
@@ -2,11 +2,11 @@
#define TTV_TANK_ICON_STATES list("anesthetic", "emergency", "emergency_double", "emergency_engi", "emergency_sleep", "jetpack", "jetpack_black", "jetpack_void", "oxygen", "oxygen_f", "oxygen_fr", "plasma")
/obj/item/transfer_valve
icon = 'icons/obj/assemblies.dmi'
name = "tank transfer valve"
icon_state = "valve_1"
item_state = "ttv"
desc = "Regulates the transfer of air between two tanks."
icon = 'icons/obj/assemblies.dmi'
icon_state = "valve_1"
inhand_icon_state = "ttv"
var/obj/item/tank/tank_one = null
var/obj/item/tank/tank_two = null
var/obj/item/assembly/attached_device = null
+1 -2
View File
@@ -6,7 +6,7 @@
desc = "Used by obese officers to save their breath for running."
icon = 'icons/obj/device.dmi'
icon_state = "voice0"
item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang)
inhand_icon_state = "flashtool"
w_class = WEIGHT_CLASS_TINY
flags = CONDUCT
var/next_use_time
@@ -37,7 +37,6 @@
name = "whistle"
desc = "A metal pea-whistle. Can be blown while held, or worn in the mouth."
icon_state = "whistle"
item_state = "whistle"
w_class = WEIGHT_CLASS_TINY
flags = CONDUCT
body_parts_covered = null
+2 -2
View File
@@ -1,10 +1,10 @@
/obj/item/disk
icon = 'icons/obj/module.dmi'
w_class = WEIGHT_CLASS_TINY
item_state = "card-id"
icon_state = "datadisk0"
inhand_icon_state = "card-id"
drop_sound = 'sound/items/handling/disk_drop.ogg'
pickup_sound = 'sound/items/handling/disk_pickup.ogg'
w_class = WEIGHT_CLASS_TINY
/obj/item/disk/data
name = "Cloning Data Disk"
+1 -1
View File
@@ -3,7 +3,7 @@
desc = "This injects the person with DNA."
icon = 'icons/obj/medical.dmi'
icon_state = "dnainjector"
item_state = "dnainjector"
inhand_icon_state = "dnainjector"
belt_icon = "syringe"
var/block = 0
var/datum/dna2_record/buf = null
+1 -1
View File
@@ -2,8 +2,8 @@
name = "dna scrambler"
desc = "An illegal genetic serum designed to randomize the user's identity."
icon = 'icons/obj/hypo.dmi'
item_state = "syringe_0"
icon_state = "lepopen"
inhand_icon_state = "syringe_0"
var/used = FALSE
/obj/item/dnascrambler/update_icon_state()
+2 -2
View File
@@ -3,7 +3,7 @@
desc = "Documents printed on special copy-protected paper."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "docs_generic"
item_state = "paper"
inhand_icon_state = "paper"
w_class = WEIGHT_CLASS_TINY
throw_range = 1
throw_speed = 1
@@ -77,7 +77,7 @@
name = "\improper D.V.O.R.A.K Blackbox Disk"
desc = "This disk contains a full record of all information that passed through D.V.O.R.A.K's systems during its uptime, not to mention what may have gone wrong. NT might be interested in this."
icon = 'icons/obj/module.dmi'
item_state = "card-id"
icon_state = "holodisk"
inhand_icon_state = "card-id"
drop_sound = 'sound/items/handling/disk_drop.ogg'
pickup_sound = 'sound/items/handling/disk_pickup.ogg'
+3 -1
View File
@@ -26,7 +26,9 @@
// update icons
icon = initial(target_obj.icon)
icon_state = initial(target_obj.icon_state)
item_state = initial(target_obj.item_state)
worn_icon = initial(target_obj.worn_icon)
worn_icon_state = initial(target_obj.worn_icon_state)
inhand_icon_state = initial(target_obj.inhand_icon_state)
sprite_sheets = target_obj.sprite_sheets
item_color = target_obj.item_color
desc = target_obj.desc
+10 -16
View File
@@ -31,22 +31,16 @@
update_icon()
/obj/item/flag/update_icon_state()
updateFlagIcon()
item_state = icon_state
if(rolled)
icon_state = "[icon_state]_rolled"
custom_fire_overlay = "fire_rolled"
else
custom_fire_overlay = initial(custom_fire_overlay)
if(resistance_flags & ON_FIRE)
item_state = "[item_state]_fire"
icon_state = "[get_flag_icon()][rolled ? "_rolled" : ""]"
inhand_icon_state = "[get_flag_icon()][resistance_flags & ON_FIRE ? "_fire" : ""]"
custom_fire_overlay = "[initial(custom_fire_overlay)][rolled ? "_rolled" : ""]"
if(ismob(loc))
var/mob/M = loc
M.update_inv_r_hand()
M.update_inv_l_hand()
var/mob/mob = loc
mob.update_inv_r_hand()
mob.update_inv_l_hand()
/obj/item/flag/proc/updateFlagIcon()
icon_state = initial(icon_state)
/obj/item/flag/proc/get_flag_icon()
return initial(icon_state)
/obj/item/flag/nt
name = "\improper Nanotrasen flag"
@@ -291,8 +285,8 @@
boobytrap = null
burn()
/obj/item/flag/chameleon/updateFlagIcon()
icon_state = updated_icon_state
/obj/item/flag/chameleon/get_flag_icon()
return updated_icon_state
/obj/item/flag/chameleon/depot/New()
..()
+1 -1
View File
@@ -2,7 +2,7 @@
name = "slapper"
desc = "This is how real men fight."
icon_state = "latexballon"
item_state = "nothing"
inhand_icon_state = "nothing"
flags = DROPDEL | ABSTRACT
attack_verb = list("slapped")
hitsound = 'sound/weapons/slap.ogg'
+2 -4
View File
@@ -10,7 +10,7 @@
desc = "A toolbox painted bright green. Looking at it makes you feel uneasy."
icon = 'icons/obj/storage.dmi'
icon_state = "green"
item_state = "artistic_toolbox"
inhand_icon_state = "artistic_toolbox"
lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi'
w_class = WEIGHT_CLASS_GIGANTIC
@@ -52,7 +52,7 @@
/obj/item/his_grace/update_icon_state()
icon_state = ascended ? "gold" : "green"
item_state = ascended ? "toolbox_gold" : "artistic_toolbox"
inhand_icon_state = ascended ? "toolbox_gold" : "artistic_toolbox"
/obj/item/his_grace/update_overlays()
. = ..()
@@ -297,8 +297,6 @@
if(ascended)
return
desc = "A legendary toolbox and a distant artifact from The Age of Three Powers. On its three latches engraved are the words \"The Sun\", \"The Moon\", and \"The Stars\". The entire toolbox has the words \"The World\" engraved into its sides."
icon_state = "his_grace_ascended"
item_state = "toolbox_gold"
ascended = TRUE
SSblackbox.record_feedback("amount", "his_grace_ascended", 1)
update_icon()
+7 -3
View File
@@ -2,7 +2,9 @@
name = "latex glove"
desc = "You wanted a fiery fist o' pain, but all you got was this dumb balloon."
icon_state = "latexballon"
item_state = "lgloves"
inhand_icon_state = "lgloves"
lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi'
righthand_file = 'icons/mob/inhands/clothing_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
throw_speed = 1
cares_about_temperature = TRUE
@@ -17,7 +19,9 @@
if(icon_state == "latexballon_bursted")
return
icon_state = "latexballon_blow"
item_state = "latexballon"
inhand_icon_state = "latexballon"
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
user.update_inv_r_hand()
user.update_inv_l_hand()
to_chat(user, "<span class='notice'>You blow up [src] with [tank].</span>")
@@ -28,7 +32,7 @@
return
playsound(src, 'sound/weapons/gunshots/gunshot.ogg', 100, 1)
icon_state = "latexballon_bursted"
item_state = "lgloves"
inhand_icon_state = null
if(isliving(loc))
var/mob/living/user = loc
user.update_inv_r_hand()
+8 -9
View File
@@ -6,7 +6,6 @@
lefthand_file = 'icons/mob/inhands/lighter_lefthand.dmi'
righthand_file = 'icons/mob/inhands/lighter_righthand.dmi'
icon_state = "lighter-g"
item_state = "lighter-g"
w_class = WEIGHT_CLASS_TINY
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
@@ -141,7 +140,7 @@
icon_state = "[base_icon_state ? "[base_icon_state]" : initial(icon_state)][lighter_color ? "-[lighter_color]" : ""][lit ? "-on" : ""]"
/obj/item/lighter/update_overlays()
item_state = "[base_icon_state ? "[base_icon_state]" : initial(item_state)][lighter_color ? "-[lighter_color]" : ""][lit ? "-on" : ""]"
inhand_icon_state = "[base_icon_state ? "[base_icon_state]" : initial(inhand_icon_state)][lighter_color ? "-[lighter_color]" : ""][lit ? "-on" : ""]"
/obj/item/lighter/get_heat()
return lit * 1500
@@ -152,7 +151,7 @@
name = "zippo lighter"
desc = "A premium cigarette lighter, for cool and distinguished individuals."
icon_state = "zippo"
item_state = "zippo"
inhand_icon_state = "zippo"
is_a_zippo = TRUE
throwforce = 4
@@ -217,19 +216,19 @@
name = "gold engraved zippo"
desc = "An engraved golden Zippo lighter with the letters \"NT\" engraved on the sides."
icon_state = "zippo-nt"
item_state = "zippo-gold"
inhand_icon_state = "zippo-gold"
/obj/item/lighter/zippo/blue
name = "blue zippo lighter"
desc = "A zippo lighter made of some blue metal."
icon_state = "zippo-blue"
item_state = "zippo-blue"
inhand_icon_state = "zippo-blue"
/obj/item/lighter/zippo/black
name = "black zippo lighter"
desc = "A black zippo lighter."
icon_state = "zippo-black"
item_state = "zippo-black"
inhand_icon_state = "zippo-black"
/obj/item/lighter/zippo/engraved
name = "engraved zippo lighter"
@@ -240,7 +239,7 @@
name = "Gonzo Fist zippo"
desc = "A Zippo lighter with the iconic Gonzo Fist on a matte black finish."
icon_state = "zippo-gonzo"
item_state = "zippo-red"
inhand_icon_state = "zippo-red"
// MARK: MATCHES
@@ -283,7 +282,7 @@
damtype = "fire"
force = 3
hitsound = 'sound/items/welder.ogg'
item_state = "cig_on"
inhand_icon_state = "cig_on"
name = "lit match"
desc = "A match. This one is lit."
attack_verb = list("burnt","singed")
@@ -298,7 +297,7 @@
damtype = "brute"
force = initial(force)
icon_state = "match_burnt"
item_state = "cig_off"
inhand_icon_state = "cig_off"
name = "burnt match"
desc = "A match. This one has seen better days."
attack_verb = list("flicked")
@@ -1,7 +1,7 @@
/obj/item/mounted/frame/display
icon = 'icons/obj/status_display.dmi'
icon_state = "frame"
item_state = "syringe_kit"
inhand_icon_state = "syringe_kit"
materials = list(MAT_METAL=6000, MAT_GLASS=2000)
mount_requirements = MOUNTED_FRAME_SIMFLOOR | MOUNTED_FRAME_NOSPACE
metal_sheets_refunded = 3
+1 -1
View File
@@ -5,7 +5,7 @@
name = "paint bucket"
icon = 'icons/obj/paint.dmi'
icon_state = "paint_neutral"
item_state = "paintcan"
inhand_icon_state = "paintcan"
materials = list(MAT_METAL = 400)
w_class = WEIGHT_CLASS_NORMAL
resistance_flags = FLAMMABLE
-1
View File
@@ -2,7 +2,6 @@
name = "blank picket sign"
desc = "It's blank."
icon_state = "picket"
item_state = "picket"
force = 5
w_class = WEIGHT_CLASS_BULKY
attack_verb = list("bashed","smacked")
+1 -1
View File
@@ -1,7 +1,7 @@
/obj/item/robot_parts
name = "robot parts"
icon = 'icons/obj/robot_parts.dmi'
item_state = "buildpipe"
inhand_icon_state = "buildpipe"
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
var/list/part = null
+2 -2
View File
@@ -3,13 +3,13 @@
desc = "A scroll for moving around."
icon = 'icons/obj/wizard.dmi'
icon_state = "scroll"
var/uses = 4
inhand_icon_state = "paper"
w_class = WEIGHT_CLASS_SMALL
item_state = "paper"
throw_speed = 4
throw_range = 20
origin_tech = "bluespace=6"
resistance_flags = FLAMMABLE
var/uses = 4
/obj/item/teleportation_scroll/apprentice
name = "lesser scroll of teleportation"
+4 -4
View File
@@ -3,7 +3,7 @@
icon = 'icons/misc/beach.dmi'
desc = "An inflatable ball of fun, enjoyed on many beaches."
icon_state = "ball"
item_state = "beachball"
inhand_icon_state = "beachball"
throw_speed = 1
throw_range = 20
flags = CONDUCT
@@ -28,7 +28,7 @@
desc = "Take me out to the ball game."
icon = 'icons/obj/basketball.dmi'
icon_state = "baseball"
item_state = "baseball"
inhand_icon_state = null // no icon state
w_class = WEIGHT_CLASS_SMALL
/obj/item/beach_ball/dodgeball
@@ -36,7 +36,7 @@
desc = "Used for playing the most violent and degrading of childhood games. This one is connected to the laser tag armour system."
icon = 'icons/obj/basketball.dmi'
icon_state = "dodgeball"
item_state = "dodgeball"
inhand_icon_state = "dodgeball"
dribbleable = TRUE
var/list/suit_types = list(/obj/item/clothing/suit/redtag, /obj/item/clothing/suit/bluetag)
@@ -54,7 +54,7 @@
desc = "Here's your chance, do your dance at the Space Jam."
icon = 'icons/obj/basketball.dmi'
icon_state = "basketball"
item_state = "basketball"
inhand_icon_state = "basketball"
dribbleable = TRUE
w_class = WEIGHT_CLASS_BULKY //Stops people from hiding it in their bags/pockets
+1 -1
View File
@@ -25,7 +25,7 @@ GLOBAL_LIST_INIT(rod_recipes, list (
singular_name = "metal rod"
icon = 'icons/obj/stacks/minerals.dmi'
icon_state = "rods-5"
item_state = "rods"
inhand_icon_state = "rods"
flags = CONDUCT
force = 9.0
throwforce = 10.0
@@ -4,7 +4,6 @@
singular_name = "seaweed sheet"
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "seaweed"
item_state = "seaweed"
w_class = WEIGHT_CLASS_TINY
attack_verb = list("slapped")
hitsound = 'sound/weapons/grenadelaunch.ogg'
@@ -27,9 +27,8 @@ GLOBAL_LIST_INIT(glass_recipes, list (
/obj/item/stack/sheet/glass
name = "glass"
desc = "HOLY SHEET! That is a lot of glass."
singular_name = "glass sheet"
icon_state = "sheet-glass"
item_state = "sheet-glass"
singular_name = "glass sheet"
materials = list(MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 100)
resistance_flags = ACID_PROOF
@@ -159,7 +158,6 @@ GLOBAL_LIST_INIT(pglass_recipes, list (
desc = "A very strong and very resistant sheet of a plasma-glass mixture."
singular_name = "glass sheet"
icon_state = "sheet-plasmaglass"
item_state = "sheet-plasmaglass"
materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 75, ACID = 100)
resistance_flags = ACID_PROOF
@@ -217,7 +215,6 @@ GLOBAL_LIST_INIT(prglass_recipes, list (
desc = "Plasma glass which seems to have rods or something stuck in them."
singular_name = "reinforced plasma glass sheet"
icon_state = "sheet-plasmarglass"
item_state = "sheet-plasmarglass"
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT / 2, MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
armor = list(MELEE = 20, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 80, ACID = 100)
resistance_flags = ACID_PROOF
@@ -256,7 +253,6 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list(
desc = "A glass sheet made out of titanium silicate."
singular_name = "titanium glass sheet"
icon_state = "sheet-titaniumglass"
item_state = "sheet-titaniumglass"
materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 80, ACID = 100)
resistance_flags = ACID_PROOF
@@ -291,7 +287,6 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
desc = "A glass sheet made out of a plasma-titanium-silica mixture."
singular_name = "plastitanium glass sheet"
icon_state = "sheet-plastitaniumglass"
item_state = "sheet-plastitaniumglass"
materials = list(MAT_TITANIUM = MINERAL_MATERIAL_AMOUNT, MAT_PLASMA = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 80, ACID = 100)
resistance_flags = ACID_PROOF
@@ -8,9 +8,9 @@
/obj/item/stack/sheet/animalhide/human
name = "human skin"
desc = "The by-product of human farming."
singular_name = "human skin piece"
icon_state = "sheet-hide"
item_state = "sheet-leather"
inhand_icon_state = "sheet-leather"
singular_name = "human skin piece"
GLOBAL_LIST_INIT(human_recipes, list(
new /datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/bloated_human, 5, on_floor = TRUE),
@@ -24,33 +24,33 @@ GLOBAL_LIST_INIT(human_recipes, list(
/obj/item/stack/sheet/animalhide/generic
name = "generic skin"
desc = "A piece of generic skin."
singular_name = "generic skin piece"
icon_state = "sheet-hide"
item_state = "sheet-leather"
inhand_icon_state = "sheet-leather"
singular_name = "generic skin piece"
/obj/item/stack/sheet/animalhide/corgi
name = "corgi hide"
desc = "The by-product of corgi farming."
singular_name = "corgi hide piece"
icon_state = "sheet-corgi"
singular_name = "corgi hide piece"
/obj/item/stack/sheet/animalhide/cat
name = "cat hide"
desc = "The by-product of cat farming."
singular_name = "cat hide piece"
icon_state = "sheet-cat"
singular_name = "cat hide piece"
/obj/item/stack/sheet/animalhide/monkey
name = "monkey hide"
desc = "The by-product of monkey farming."
singular_name = "monkey hide piece"
icon_state = "sheet-monkey"
singular_name = "monkey hide piece"
/obj/item/stack/sheet/animalhide/lizard
name = "lizard skin"
desc = "Sssssss..."
singular_name = "lizard skin piece"
icon_state = "sheet-lizard"
singular_name = "lizard skin piece"
GLOBAL_LIST_INIT(lizard_recipes, list(
new /datum/stack_recipe("lizard skin handbag", /obj/item/storage/backpack/satchel/lizard, 5, on_floor = TRUE),
@@ -64,16 +64,16 @@ GLOBAL_LIST_INIT(lizard_recipes, list(
/obj/item/stack/sheet/fur
name = "pile of fur"
desc = "Vulp remains."
singular_name = "fur piece"
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "sheet-hide"
singular_name = "fur piece"
origin_tech = "materials=2"
/obj/item/stack/sheet/animalhide/xeno
name = "alien hide"
desc = "The skin of a terrible creature."
singular_name = "alien hide piece"
icon_state = "sheet-xeno"
singular_name = "alien hide piece"
GLOBAL_LIST_INIT(xeno_recipes, list (
new /datum/stack_recipe("alien helmet", /obj/item/clothing/head/xenos, 1),
@@ -87,9 +87,9 @@ GLOBAL_LIST_INIT(xeno_recipes, list (
/obj/item/stack/sheet/xenochitin
name = "alien chitin"
desc = "A piece of the hide of a terrible creature."
singular_name = "alien hide piece"
icon = 'icons/mob/alien.dmi'
icon_state = "chitin"
singular_name = "alien hide piece"
origin_tech = ""
dynamic_icon_state = FALSE
@@ -110,19 +110,19 @@ GLOBAL_LIST_INIT(xeno_recipes, list (
/obj/item/stack/sheet/hairlesshide
name = "hairless hide"
desc = "This hide was stripped of it's hair, but still needs tanning."
singular_name = "hairless hide piece"
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "sheet-hairlesshide"
item_state = "sheet-leather"
inhand_icon_state = "sheet-leather"
singular_name = "hairless hide piece"
origin_tech = ""
/obj/item/stack/sheet/wetleather
name = "wet leather"
desc = "This leather has been cleaned but still needs to be dried."
singular_name = "wet leather piece"
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "sheet-wetleather"
item_state = "sheet-leather"
inhand_icon_state = "sheet-leather"
singular_name = "wet leather piece"
origin_tech = ""
cares_about_temperature = TRUE
var/wetness = 30 //Reduced when exposed to high temperautres
@@ -131,10 +131,9 @@ GLOBAL_LIST_INIT(xeno_recipes, list (
/obj/item/stack/sheet/leather
name = "leather"
desc = "The by-product of mob grinding."
singular_name = "leather piece"
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "sheet-leather"
item_state = "sheet-leather"
singular_name = "leather piece"
origin_tech = "materials=2"
GLOBAL_LIST_INIT(leather_recipes, list (
@@ -162,9 +161,7 @@ GLOBAL_LIST_INIT(leather_recipes, list (
name = "watcher sinew"
icon = 'icons/obj/stacks/organic.dmi'
desc = "Long stringy filaments which presumably came from a watcher's wings."
singular_name = "watcher sinew"
icon_state = "sinew"
item_state = "sinew"
origin_tech = "biotech=4"
dynamic_icon_state = FALSE
@@ -180,7 +177,6 @@ GLOBAL_LIST_INIT(sinew_recipes, list (
name = "goliath hide plates"
desc = "Pieces of a goliath's rocky hide, these might be able to make your miner equipment such as suits, plasmaman helmets, borgs and Ripley class exosuits a bit more durable to attack from the local fauna."
icon_state = "goliath_hide"
item_state = "goliath_hide"
singular_name = "hide plate"
flags = NOBLUDGEON
layer = MOB_LAYER
@@ -238,7 +234,6 @@ GLOBAL_LIST_INIT(sinew_recipes, list (
desc = "This piece of metal can be attached to the mech itself, enhancing its protective characteristics. Unfortunately, only working class exosuits have notches for such armor."
icon = 'icons/mecha/mecha_equipment.dmi'
icon_state = "armor_plate"
item_state = "armor_plate"
singular_name = "armor plate"
flags = NOBLUDGEON
layer = MOB_LAYER
@@ -268,7 +263,6 @@ GLOBAL_LIST_INIT(sinew_recipes, list (
name = "ash drake hide"
desc = "The strong, scaled hide of an ash drake. Can be attached to the mech itself, greatly enhancing its protective characteristics. Unfortunately, only working class exosuits have notches for such armor."
icon_state = "dragon_hide"
item_state = "dragon_hide"
singular_name = "drake plate"
flags = NOBLUDGEON
layer = MOB_LAYER
@@ -159,7 +159,6 @@ GLOBAL_LIST_INIT(snow_recipes, list(
desc = "This appears to be a combination of both sand and stone."
singular_name = "sandstone brick"
icon_state = "sheet-sandstone"
item_state = "sheet-sandstone"
throw_range = 5
sheettype = "sandstone"
materials = list(MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
@@ -215,7 +214,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "diamond"
desc = "Sparkles like a twinkling star."
icon_state = "sheet-diamond"
item_state = "sheet-diamond"
singular_name = "diamond"
origin_tech = "materials=6"
sheettype = "diamond"
@@ -244,7 +242,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "uranium"
desc = "Don't keep this stuff in your pocket for too long. Hell, don't keep it anywhere near your person for too long."
icon_state = "sheet-uranium"
item_state = "sheet-uranium"
singular_name = "uranium sheet"
origin_tech = "materials=5"
sheettype = "uranium"
@@ -275,7 +272,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "solid plasma"
desc = "Beautiful pure purple crystals, ready to ignite if a naked flame touches them..."
icon_state = "sheet-plasma"
item_state = "sheet-plasma"
singular_name = "plasma sheet"
origin_tech = "plasmatech=2;materials=2"
sheettype = "plasma"
@@ -338,7 +334,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "gold"
desc = "GOLD!"
icon_state = "sheet-gold"
item_state = "sheet-gold"
singular_name = "gold bar"
origin_tech = "materials=4"
sheettype = "gold"
@@ -367,7 +362,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "silver"
desc = "Shiny as a mirror. Allegedly repels werewolves and other mythical creatures."
icon_state = "sheet-silver"
item_state = "sheet-silver"
singular_name = "silver bar"
origin_tech = "materials=4"
sheettype = "silver"
@@ -396,7 +390,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "bananium"
desc = "It looks, smells, and tastes like real bananas. You'll break your teeth if you try to bite down on it, though."
icon_state = "sheet-bananium"
item_state = "sheet-clown"
singular_name = "bananium sheet"
origin_tech = "materials=4"
sheettype = "bananium"
@@ -428,7 +421,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "tranquillite"
desc = "..."
icon_state = "sheet-tranquillite"
item_state = "sheet-mime"
singular_name = "beret"
origin_tech = "materials=4"
sheettype = "tranquillite"
@@ -462,7 +454,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "platinum"
desc = "Shiny and valuable."
icon_state = "sheet-platinum"
item_state = "sheet-platinum"
singular_name = "platinum"
origin_tech = "materials=5"
sheettype = "platinum"
@@ -474,7 +465,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "palladium"
desc = "A valuable space mineral."
icon_state = "sheet-palladium"
item_state = "sheet-palladium"
singular_name = "palladium"
origin_tech = "materials=5"
sheettype = "palladium"
@@ -486,7 +476,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "iridium"
desc = "A dense mineral found in abundance in space and extremely rare on planets."
icon_state = "sheet-iridium"
item_state = "sheet-iridium"
singular_name = "iridium"
origin_tech = "materials=5"
sheettype = "iridium"
@@ -501,7 +490,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
name = "titanium"
desc = "It feels much lighter than it looks."
icon_state = "sheet-titanium"
item_state = "sheet-titanium"
singular_name = "titanium sheet"
throw_speed = 1
sheettype = "titanium"
@@ -539,7 +527,6 @@ GLOBAL_LIST_INIT(titanium_recipes, list(
name = "plastitanium"
desc = "Just as light as normal titanium, but you can <i>feel</i> an aura of extra robustness about it."
icon_state = "sheet-plastitanium"
item_state = "sheet-plastitanium"
singular_name = "plastitanium sheet"
throw_speed = 1
sheettype = "plastitanium"
@@ -574,7 +561,6 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list(
desc = "The dizzying colours change constantly depending on how the light hits it."
icon = 'icons/obj/abductor.dmi'
icon_state = "sheet-abductor"
item_state = "sheet-abductor"
dynamic_icon_state = FALSE
singular_name = "alien alloy sheet"
throw_speed = 1
@@ -598,7 +584,6 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list(
name = "adamantine"
desc = "A strange mineral used in the construction of sentient golems."
icon_state = "sheet-adamantine"
item_state = "sheet-adamantine"
singular_name = "adamantine sheet"
origin_tech = "materials=5"
merge_type = /obj/item/stack/sheet/mineral/adamantine
@@ -618,7 +603,6 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list(
/obj/item/stack/sheet/mineral/snow
name = "snow"
icon_state = "sheet-snow"
item_state = "sheet-snow"
singular_name = "snow block"
force = 1
throwforce = 2
@@ -133,8 +133,8 @@ GLOBAL_LIST_INIT(metal_recipes, list(
/obj/item/stack/sheet/metal
name = "metal"
desc = "Sheets made out of steel."
singular_name = "metal sheet"
icon_state = "sheet-metal"
singular_name = "metal sheet"
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT)
throwforce = 10.0
flags = CONDUCT
@@ -202,10 +202,9 @@ GLOBAL_LIST_INIT(plasteel_recipes, list(
/obj/item/stack/sheet/plasteel
name = "plasteel"
singular_name = "plasteel sheet"
desc = "This sheet is an alloy of iron and plasma."
icon_state = "sheet-plasteel"
item_state = "sheet-plasteel"
singular_name = "plasteel sheet"
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_PLASMA = MINERAL_MATERIAL_AMOUNT)
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 100, ACID = 80)
resistance_flags = FIRE_PROOF
@@ -292,11 +291,10 @@ GLOBAL_LIST_INIT(wood_recipes, list(
/obj/item/stack/sheet/wood
name = "wooden planks"
desc = "One can only guess that this is a bunch of wood."
gender = PLURAL
singular_name = "wood plank"
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "sheet-wood"
item_state = "sheet-wood"
gender = PLURAL
singular_name = "wood plank"
origin_tech = "materials=1;biotech=1"
resistance_flags = FLAMMABLE
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 0)
@@ -335,10 +333,9 @@ GLOBAL_LIST_INIT(bamboo_recipes, list(
/obj/item/stack/sheet/bamboo
name = "bamboo cuttings"
desc = "Finely cut bamboo sticks."
singular_name = "cut bamboo stick"
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "sheet-bamboo"
item_state = "sheet-bamboo"
singular_name = "cut bamboo stick"
resistance_flags = FLAMMABLE
sheettype = "bamboo"
merge_type = /obj/item/stack/sheet/bamboo
@@ -397,10 +394,9 @@ GLOBAL_LIST_INIT(cloth_recipes, list (
/obj/item/stack/sheet/cloth
name = "cloth"
desc = "Is it cotton? Linen? Denim? Burlap? Canvas? You can't tell."
singular_name = "cloth roll"
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "sheet-cloth"
item_state = "sheet-cloth"
singular_name = "cloth roll"
origin_tech = "materials=2"
resistance_flags = FLAMMABLE
force = 0
@@ -431,10 +427,9 @@ GLOBAL_LIST_INIT(durathread_recipes, list (
/obj/item/stack/sheet/durathread
name = "durathread"
desc = "A fabric sown from incredibly durable threads, known for its usefulness in armor production."
singular_name = "durathread roll"
icon_state = "sheet-durathread"
item_state = "sheet-durathread"
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "sheet-durathread"
singular_name = "durathread roll"
resistance_flags = FLAMMABLE
force = 0
throwforce = 0
@@ -517,10 +512,9 @@ GLOBAL_LIST_INIT(cardboard_recipes, list (
/obj/item/stack/sheet/cardboard
name = "cardboard"
desc = "Large sheets of card, like boxes folded flat."
singular_name = "cardboard sheet"
icon = 'icons/obj/stacks/miscellaneous.dmi'
icon_state = "sheet-card"
item_state = "sheet-card"
singular_name = "cardboard sheet"
resistance_flags = FLAMMABLE
merge_type = /obj/item/stack/sheet/cardboard
@@ -537,11 +531,10 @@ GLOBAL_LIST_INIT(soil_recipes, list (
/obj/item/stack/sheet/soil
name = "soil"
desc = "A clump of fertile soil which can be used to make a plot."
singular_name = "soil clump"
desc = "A clump of fertile soil which can be used to make a plot."
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "sheet-soil"
item_state = "sheet-soil"
resistance_flags = FIRE_PROOF
merge_type = /obj/item/stack/sheet/soil
@@ -565,9 +558,8 @@ GLOBAL_LIST_INIT(cult_recipes, list (
/obj/item/stack/sheet/runed_metal
name = "runed metal"
desc = "Sheets of cold metal with shifting inscriptions writ upon them."
singular_name = "runed metal sheet"
icon_state = "sheet-runed"
item_state = "sheet-runed"
singular_name = "runed metal sheet"
sheettype = "runed"
merge_type = /obj/item/stack/sheet/runed_metal
@@ -580,7 +572,6 @@ GLOBAL_LIST_INIT(cult_recipes, list (
/obj/item/stack/sheet/runed_metal/Initialize(mapload, new_amount, merge)
. = ..()
icon_state = GET_CULT_DATA(runed_metal_icon_state, initial(icon_state))
item_state = GET_CULT_DATA(runed_metal_item_state, initial(item_state))
recipes = GLOB.cult_recipes
/obj/item/stack/sheet/runed_metal/attack_self__legacy__attackchain(mob/living/user)
@@ -639,10 +630,9 @@ GLOBAL_LIST_INIT(brass_recipes, list (
/obj/item/stack/tile/brass
name = "brass"
desc = "Sheets made out of brass."
singular_name = "brass sheet"
icon_state = "sheet-brass"
item_state = "sheet-brass"
icon = 'icons/obj/stacks/minerals.dmi'
icon_state = "sheet-brass"
singular_name = "brass sheet"
resistance_flags = FIRE_PROOF | ACID_PROOF
throwforce = 10
max_amount = 50
@@ -680,11 +670,10 @@ GLOBAL_LIST_INIT(brass_recipes, list (
//////////////////////////////
/obj/item/stack/sheet/bone
name = "bones"
desc = "Someone's been drinking their milk."
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "bone"
item_state = "bone"
singular_name = "bone"
desc = "Someone's been drinking their milk."
force = 7
origin_tech = "materials=2;biotech=2"
@@ -738,9 +727,8 @@ GLOBAL_LIST_INIT(plastic_recipes, list(
/obj/item/stack/sheet/plastic
name = "plastic"
desc = "Compress dinosaur over millions of years, then refine, split and mold, and voila! You have plastic."
singular_name = "plastic sheet"
icon_state = "sheet-plastic"
item_state = "sheet-plastic"
singular_name = "plastic sheet"
throwforce = 7
origin_tech = "materials=1;biotech=1"
materials = list(MAT_PLASTIC = MINERAL_MATERIAL_AMOUNT)
@@ -772,8 +760,7 @@ GLOBAL_LIST_INIT(plastic_recipes, list(
/obj/item/stack/sheet/saltpetre_crystal
name = "saltpetre crystal"
desc = "A bunch of saltpetre crystals. Can be ground to get liquid saltpetre that can be used to dope hydroponics trays and soil plots."
singular_name = "saltpetre crystal"
icon = 'icons/obj/stacks/organic.dmi'
icon_state = "sheet-saltpetre"
item_state = "sheet-saltpetre"
singular_name = "saltpetre crystal"
origin_tech = "materials=1;biotech=1"
+2 -2
View File
@@ -37,8 +37,8 @@
var/parent_stack = FALSE
/obj/item/stack/Initialize(mapload, new_amount, merge = TRUE)
if(dynamic_icon_state) //If we have a dynamic icon state, we don't want item states to follow the same pattern.
item_state = initial(icon_state)
if(dynamic_icon_state && isnull(inhand_icon_state)) //If we have a dynamic icon state, we don't want inhand icon states to follow the same pattern.
inhand_icon_state = initial(icon_state)
if(new_amount != null)
amount = new_amount
@@ -4,7 +4,6 @@
singular_name = "telecrystal"
icon = 'icons/obj/stacks/minerals.dmi'
icon_state = "telecrystal"
item_state = "telecrystal"
w_class = WEIGHT_CLASS_TINY
max_amount = 100
flags = NOBLUDGEON
@@ -1,10 +1,10 @@
/obj/item/stack/tile
name = "broken tile"
singular_name = "broken tile"
desc = "A broken tile. This should not exist."
icon = 'icons/obj/tiles.dmi'
icon_state = "tile"
item_state = "tile"
inhand_icon_state = "tile"
singular_name = "broken tile"
force = 1
throwforce = 1
throw_speed = 5
-7
View File
@@ -22,7 +22,6 @@
name = "broom"
desc = "Used for sweeping, and flying into the night while cackling. Black cat not included."
icon_state = "broom"
item_state = "broom0"
/obj/item/staff/broom/Initialize(mapload)
. = ..()
@@ -65,9 +64,3 @@
name = "broomstick horse"
desc = "Saddle up!"
icon_state = "horsebroom"
item_state = "horsebroom0"
/obj/item/staff/broom/horsebroom/attack_self__legacy__attackchain(mob/user as mob)
..()
item_state = "horsebroom[HAS_TRAIT(src, TRAIT_WIELDED) ? 1 : 0]"
+1 -22
View File
@@ -5,7 +5,6 @@
name = "Rapid Part Exchange Device"
desc = "Special mechanical module made to store, sort, and apply standard machine parts."
icon_state = "RPED"
item_state = "RPED"
w_class = WEIGHT_CLASS_HUGE
can_hold = list(
/obj/item/stock_parts,
@@ -76,7 +75,6 @@
name = "bluespace rapid part exchange device"
desc = "A version of the RPED that allows for replacement of parts and scanning from a distance, along with higher capacity for parts."
icon_state = "BS_RPED"
item_state = "BS_RPED"
w_class = WEIGHT_CLASS_NORMAL
storage_slots = 400
max_combined_w_class = 800
@@ -109,8 +107,8 @@
/obj/item/stock_parts
name = "stock part"
desc = "What?"
gender = PLURAL
icon = 'icons/obj/stock_parts.dmi'
gender = PLURAL
w_class = WEIGHT_CLASS_SMALL
var/rating = 1
usesound = 'sound/items/deconstruct.ogg'
@@ -121,7 +119,6 @@
name = "capacitor"
desc = "A basic capacitor used in the construction of a variety of devices."
icon_state = "capacitor"
item_state = "capacitor"
origin_tech = "powerstorage=1"
materials = list(MAT_METAL=50, MAT_GLASS=50)
@@ -129,7 +126,6 @@
name = "scanning module"
desc = "A compact, high resolution scanning module used in the construction of certain devices."
icon_state = "scan_module"
item_state = "scan_module"
origin_tech = "magnets=1"
materials = list(MAT_METAL=50, MAT_GLASS=20)
@@ -137,7 +133,6 @@
name = "micro-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "micro_mani"
item_state = "micro_mani"
origin_tech = "materials=1;programming=1"
materials = list(MAT_METAL=30)
@@ -145,7 +140,6 @@
name = "micro-laser"
desc = "A tiny laser used in certain devices."
icon_state = "micro_laser"
item_state = "micro_laser"
origin_tech = "magnets=1"
materials = list(MAT_METAL=10, MAT_GLASS=20)
@@ -162,7 +156,6 @@
name = "advanced capacitor"
desc = "An advanced capacitor used in the construction of a variety of devices."
icon_state = "adv_capacitor"
item_state = "adv_capacitor"
origin_tech = "powerstorage=3"
rating = 2
materials = list(MAT_METAL=50, MAT_GLASS=50)
@@ -170,7 +163,6 @@
/obj/item/stock_parts/scanning_module/adv
name = "advanced scanning module"
icon_state = "adv_scan_module"
item_state = "adv_scan_module"
origin_tech = "magnets=3"
rating = 2
materials = list(MAT_METAL=50, MAT_GLASS=20)
@@ -178,7 +170,6 @@
/obj/item/stock_parts/manipulator/nano
name = "nano-manipulator"
icon_state = "nano_mani"
item_state = "nano_mani"
origin_tech = "materials=3;programming=2"
rating = 2
materials = list(MAT_METAL=30)
@@ -186,7 +177,6 @@
/obj/item/stock_parts/micro_laser/high
name = "high-power micro-laser"
icon_state = "high_micro_laser"
item_state = "high_micro_laser"
origin_tech = "magnets=3"
rating = 2
materials = list(MAT_METAL=10, MAT_GLASS=20)
@@ -194,7 +184,6 @@
/obj/item/stock_parts/matter_bin/adv
name = "advanced matter bin"
icon_state = "advanced_matter_bin"
item_state = "advanced_matter_bin"
origin_tech = "materials=3"
rating = 2
materials = list(MAT_METAL=80)
@@ -205,7 +194,6 @@
name = "super capacitor"
desc = "A super-high capacity capacitor used in the construction of a variety of devices."
icon_state = "super_capacitor"
item_state = "super_capacitor"
origin_tech = "powerstorage=4;engineering=4"
rating = 3
materials = list(MAT_METAL=50, MAT_GLASS=50)
@@ -214,7 +202,6 @@
name = "phasic scanning module"
desc = "A compact, high resolution phasic scanning module used in the construction of certain devices."
icon_state = "super_scan_module"
item_state = "super_scan_module"
origin_tech = "magnets=4;engineering=4"
rating = 3
materials = list(MAT_METAL=50, MAT_GLASS=20)
@@ -222,7 +209,6 @@
/obj/item/stock_parts/manipulator/pico
name = "pico-manipulator"
icon_state = "pico_mani"
item_state = "pico_mani"
origin_tech = "materials=4;programming=4;engineering=4"
rating = 3
materials = list(MAT_METAL=30)
@@ -230,7 +216,6 @@
/obj/item/stock_parts/micro_laser/ultra
name = "ultra-high-power micro-laser"
icon_state = "ultra_high_micro_laser"
item_state = "ultra_high_micro_laser"
origin_tech = "magnets=4;engineering=4"
rating = 3
materials = list(MAT_METAL=10, MAT_GLASS=20)
@@ -238,7 +223,6 @@
/obj/item/stock_parts/matter_bin/super
name = "super matter bin"
icon_state = "super_matter_bin"
item_state = "super_matter_bin"
origin_tech = "materials=4;engineering=4"
rating = 3
materials = list(MAT_METAL=80)
@@ -249,7 +233,6 @@
name = "quadratic capacitor"
desc = "An ultra-high capacity capacitor used in the construction of a variety of devices."
icon_state = "quadratic_capacitor"
item_state = "quadratic_capacitor"
origin_tech = "powerstorage=5;materials=4;engineering=4"
rating = 4
materials = list(MAT_METAL=50, MAT_GLASS=50)
@@ -258,7 +241,6 @@
name = "triphasic scanning module"
desc = "A compact, ultra resolution triphasic scanning module used in the construction of certain devices."
icon_state = "triphasic_scan_module"
item_state = "triphasic_scan_module"
origin_tech = "magnets=5;materials=4;engineering=4"
rating = 4
materials = list(MAT_METAL=50, MAT_GLASS=20)
@@ -266,7 +248,6 @@
/obj/item/stock_parts/manipulator/femto
name = "femto-manipulator"
icon_state = "femto_mani"
item_state = "femto_mani"
origin_tech = "materials=6;programming=4;engineering=4"
rating = 4
materials = list(MAT_METAL=30)
@@ -274,7 +255,6 @@
/obj/item/stock_parts/micro_laser/quadultra
name = "quad-ultra micro-laser"
icon_state = "quadultra_micro_laser"
item_state = "quadultra_micro_laser"
origin_tech = "magnets=5;materials=4;engineering=4"
rating = 4
materials = list(MAT_METAL=10, MAT_GLASS=20)
@@ -282,7 +262,6 @@
/obj/item/stock_parts/matter_bin/bluespace
name = "bluespace matter bin"
icon_state = "bluespace_matter_bin"
item_state = "bluespace_matter_bin"
origin_tech = "materials=6;programming=4;engineering=4"
rating = 4
materials = list(MAT_METAL=80)
+1 -6
View File
@@ -147,7 +147,7 @@
var/choice_icons = bible_variants[choice]
icon_state = choice_icons["state"]
item_state = choice_icons["inhand"]
inhand_icon_state = choice_icons["inhand"]
customisable = FALSE
// Carpet symbol icons are currently broken, so commented out until it's fixed
@@ -167,11 +167,6 @@
SSblackbox.record_feedback("text", "religion_book", 1, "[choice]", 1)
if(SSticker)
SSticker.Bible_name = name
SSticker.Bible_icon_state = icon_state
SSticker.Bible_item_state = item_state
/obj/item/storage/bible/proc/radial_check(mob/user)
if(!HAS_MIND_TRAIT(user, TRAIT_HOLY) || !ishuman(user))
return FALSE
+18 -20
View File
@@ -86,10 +86,10 @@
/obj/item/storage/fancy/egg_box
name = "egg box"
icon_state = "eggbox"
icon_type = "egg"
item_state = "eggbox"
name = "egg box"
inhand_icon_state = "eggbox"
storage_slots = 12
can_hold = list(/obj/item/food/egg)
@@ -104,7 +104,7 @@
icon = 'icons/obj/candle.dmi'
icon_state = "candlebox0"
icon_type = "candle"
item_state = "candlebox5"
inhand_icon_state = "syringe_kit"
storage_slots = 5
throwforce = 2
slot_flags = ITEM_SLOT_BELT
@@ -177,7 +177,7 @@
desc = "A small box of Almost But Not Quite Plasma Premium Matches."
icon = 'icons/obj/cigarettes.dmi'
icon_state = "matchbox"
item_state = "matchbox"
inhand_icon_state = "matchbox"
base_icon_state = "matchbox"
storage_slots = 10
w_class = WEIGHT_CLASS_TINY
@@ -215,7 +215,7 @@
desc = "An abstract brand of cigarette that should not exist. Make a GitHub report if you see this."
icon = 'icons/obj/cigarettes.dmi'
icon_state = "robust_packet"
item_state = "robust_packet"
inhand_icon_state = "robust_packet"
belt_icon = "patch_pack"
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
@@ -297,7 +297,7 @@
desc = "Smoked mainly by spacers. The somewhat fishy notes are an acquired taste. \
Has a light, low-tar smoke specifically designed to reduce stress on scrubber systems."
icon_state = "carp_packet"
item_state = "carp_packet"
inhand_icon_state = "carp_packet"
cigarette_slogan = "Carp smokers would rather bite you than switch, since 2313."
/obj/item/storage/fancy/cigarettes/dromedaryco
@@ -305,7 +305,7 @@
desc = "An infamous brand, DromedaryCo cigarettes are unfiltered, tarry, and have a very harsh flavour. \
Not for beginner smokers. Enjoyed mainly by gruff types with equally gruff voices."
icon_state = "D_packet"
item_state = "D_packet"
inhand_icon_state = "D_packet"
cigarette_slogan = "Wouldn't a slow death make a change?"
/obj/item/storage/fancy/cigarettes/cigpack_random
@@ -313,7 +313,7 @@
desc = "True to the name, Enigmas are impossible to pin down. \
No two cigarettes are alike as each one is infused with unique flavours and substances, so every time is just like your first time."
icon_state = "enigma_packet"
item_state = "enigma_packet"
inhand_icon_state = "enigma_packet"
cigarette_slogan = "For the true connoisseur of exotic flavors."
cigarette_type = /obj/item/clothing/mask/cigarette/random
@@ -326,7 +326,7 @@
name = "\improper Midori Tabako packet"
desc = "Whilst you cannot decipher what the strange runes on the packet say, it bears the unmistakable scent of cannabis."
icon_state = "midori_packet"
item_state = "midori_packet"
inhand_icon_state = "midori_packet"
cigarette_slogan = ""
cigarette_type = /obj/item/clothing/mask/cigarette/rollie
@@ -336,7 +336,6 @@
Exported across the known Orion Spur by members of the USSP's trading bloc and vendors affiliated with the Nian Merchant Guild. \
The flavour is acrid, the smoke is thin and wispy, yet harsh on the throat. The only redeeming features are the high nicotine content and the low price."
icon_state = "our_brand_packet"
item_state = "our_brand_packet"
cigarette_slogan = "Smoke, for the Union!"
/obj/item/storage/fancy/cigarettes/cigpack_robust
@@ -348,7 +347,7 @@
name = "\improper Robust Gold packet"
desc = "Nanotrasen's premium cigarette offering. Has a smooth, drawn-out flavour and a dense smoke. Contains real gold."
icon_state = "robust_g_packet"
item_state = "robust_g_packet"
inhand_icon_state = "robust_g_packet"
cigarette_slogan = "Smoked by the <b>truly</b> robust."
cigarette_type = /obj/item/clothing/mask/cigarette/robustgold
@@ -366,7 +365,7 @@
name ="\improper Shady Jim's Super Slims packet"
desc = "Despite the doubious appearance, these cigarettes do exactly what they say on the box. The smoke tastes like cheap berry juice and battery acid, with a bitter chemical aftertaste."
icon_state = "shady_jim_packet"
item_state = "shady_jim_packet"
inhand_icon_state = "shady_jim_packet"
cigarette_slogan = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? \
Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!"
cigarette_type = /obj/item/clothing/mask/cigarette/shadyjims
@@ -376,14 +375,13 @@
desc = "A popular brand within the Trans-Solar Federation, they have a smooth, slightly cinnamon flavour. \
Whilst not actually state-owned, these cigarettes lean heavily into patriotic marketing, and are included in federal ration packs as a morale booster."
icon_state = "solar_packet"
item_state = "solar_packet"
cigarette_slogan = "Smoked by true patriots."
/obj/item/storage/fancy/cigarettes/cigpack_uplift
name = "\improper Uplift Smooth packet"
desc = "One of the most popular brands in the Orion Sector, flavoured with menthol to give a smooth cooling sensation with every puff."
icon_state = "uplift_packet"
item_state = "uplift_packet"
inhand_icon_state = "uplift_packet"
cigarette_slogan = "Sit back and relax with the soft cooling embrace that only an Uplift can provide."
cigarette_type = /obj/item/clothing/mask/cigarette/menthol
@@ -392,7 +390,7 @@
desc = "A prescription packet containing six fully legal medical marijuana cigarettes. \
Made using a strain of cannabis engineered to maximise CBD content and eliminate THC, much to the chagrin of stoners everywhere."
icon_state = "med_packet"
item_state = "med_packet"
inhand_icon_state = "med_packet"
cigarette_slogan = "All the medical benefits, with none of the high!"
cigarette_type = /obj/item/clothing/mask/cigarette/medical_marijuana
@@ -400,17 +398,17 @@
name = "suspicious cigarette packet"
desc = "An obscure brand of evil-looking cigarettes. Smells like Donk pockets."
icon_state = "syndie_packet"
item_state = "syndie_packet"
inhand_icon_state = "syndie_packet"
cigarette_slogan = "Strong flavour, dense smoke, infused with omnizine."
cigarette_type = /obj/item/clothing/mask/cigarette/syndicate
/obj/item/storage/fancy/rollingpapers
name = "rolling paper pack"
desc = "A pack of Nanotrasen brand rolling papers."
w_class = WEIGHT_CLASS_TINY
icon = 'icons/obj/cigarettes.dmi'
icon_state = "cig_paper_pack"
item_state = "cig_paper_pack"
inhand_icon_state = "cig_paper_pack"
w_class = WEIGHT_CLASS_TINY
storage_slots = 10
icon_type = "rolling paper"
can_hold = list(/obj/item/rollingpaper)
@@ -430,14 +428,14 @@
// MARK: Vial Box
/obj/item/storage/fancy/vials
name = "vial storage box"
icon = 'icons/obj/vialbox.dmi'
icon_state = "vialbox6"
inhand_icon_state = "syringe_kit"
icon_type = "vial"
name = "vial storage box"
storage_slots = 6
can_hold = list(/obj/item/reagent_containers/glass/beaker/vial)
/obj/item/storage/fancy/vials/populate_contents()
for(var/I in 1 to storage_slots)
new /obj/item/reagent_containers/glass/beaker/vial(src)
+7 -7
View File
@@ -57,7 +57,7 @@
name = "fire first-aid kit"
desc = "A medical kit that contains several medical patches and pills for treating burns. Contains one epinephrine syringe for emergency use and a health analyzer."
icon_state = "ointment"
item_state = "firstaid-ointment"
inhand_icon_state = "firstaid-ointment"
med_bot_skin = "ointment"
/obj/item/storage/firstaid/fire/Initialize(mapload)
@@ -79,7 +79,7 @@
name = "toxin first aid kit"
desc = "A medical kit designed to counter poisoning by common toxins. Contains three pills and syringes, and a health analyzer to determine the health of the patient."
icon_state = "antitoxin"
item_state = "firstaid-toxin"
inhand_icon_state = "firstaid-toxin"
med_bot_skin = "tox"
/obj/item/storage/firstaid/toxin/Initialize(mapload)
@@ -99,7 +99,7 @@
name = "oxygen deprivation first aid kit"
desc = "A first aid kit that contains four pills of salbutamol, which is able to counter injuries caused by suffocation. Also contains a health analyzer to determine the health of the patient."
icon_state = "o2"
item_state = "firstaid-o2"
inhand_icon_state = "firstaid-o2"
med_bot_skin = "o2"
/obj/item/storage/firstaid/o2/populate_contents()
@@ -116,7 +116,7 @@
name = "brute trauma treatment kit"
desc = "A medical kit that contains several medical patches and pills for treating brute injuries. Contains one epinephrine syringe for emergency use and a health analyzer."
icon_state = "brute"
item_state = "firstaid-brute"
inhand_icon_state = "firstaid-brute"
med_bot_skin = "brute"
/obj/item/storage/firstaid/brute/Initialize(mapload)
@@ -138,7 +138,7 @@
name = "advanced first-aid kit"
desc = "Contains advanced medical treatments."
icon_state = "advfirstaid"
item_state = "firstaid-advanced"
inhand_icon_state = "firstaid-advanced"
med_bot_skin = "adv"
/obj/item/storage/firstaid/adv/populate_contents()
@@ -157,7 +157,7 @@
name = "machine repair kit"
desc = "A kit that contains supplies to repair IPCs on the go."
icon_state = "machinefirstaid"
item_state = "firstaid-machine"
inhand_icon_state = "firstaid-machine"
med_bot_skin = "machine"
/obj/item/storage/firstaid/machine/populate_contents()
@@ -265,7 +265,7 @@
desc = "It's an airtight container for storing medication."
icon_state = "pill_canister"
icon = 'icons/obj/chemical.dmi'
item_state = "contsolid"
inhand_icon_state = "contsolid"
belt_icon = "pill_bottle"
use_sound = "pillbottle"
w_class = WEIGHT_CLASS_SMALL
+11 -12
View File
@@ -2,10 +2,10 @@
name = "Jetpack (Empty)"
desc = "A tank of compressed gas for use as propulsion in zero-gravity areas. Use with caution."
icon_state = "jetpack"
w_class = WEIGHT_CLASS_BULKY
item_state = "jetpack"
inhand_icon_state = "jetpack"
lefthand_file = 'icons/mob/inhands/jetpack_lefthand.dmi'
righthand_file = 'icons/mob/inhands/jetpack_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
distribute_pressure = ONE_ATMOSPHERE * O2STANDARD
actions_types = list(/datum/action/item_action/set_internals, /datum/action/item_action/toggle_jetpack, /datum/action/item_action/jetpack_stabilization)
var/gas_type = "oxygen"
@@ -120,7 +120,7 @@
name = "improvised jetpack"
desc = "A jetpack made from two air tanks, a fire extinguisher and some atmospherics equipment. It doesn't look like it can hold much."
icon_state = "jetpack-improvised"
item_state = "jetpack-improvised"
inhand_icon_state = "jetpack-improvised"
volume = 20 //normal jetpacks have 70 volume
gas_type = null //it starts empty
@@ -135,16 +135,16 @@
name = "Void Jetpack (Oxygen)"
desc = "It works well in a void."
icon_state = "jetpack-void"
item_state = "jetpack-void"
inhand_icon_state = "jetpack-void"
/obj/item/tank/jetpack/void/grey
icon_state = "jetpack-void-grey"
item_state = "jetpack-void-grey"
inhand_icon_state = "jetpack-void-grey"
/obj/item/tank/jetpack/void/gold
name = "Retro Jetpack (Oxygen)"
icon_state = "jetpack-void-gold"
item_state = "jetpack-void-gold"
inhand_icon_state = "jetpack-void-gold"
/obj/item/tank/jetpack/oxygen
name = "Jetpack (Oxygen)"
@@ -154,7 +154,6 @@
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"
item_state = "jetpack-mini"
volume = 40
throw_range = 7
w_class = WEIGHT_CLASS_NORMAL
@@ -163,7 +162,7 @@
name = "Captain's jetpack"
desc = "A compact, lightweight jetpack containing a high amount of compressed oxygen."
icon_state = "jetpack-captain"
item_state = "jetpack-captain"
inhand_icon_state = "jetpack-captain"
volume = 90
w_class = WEIGHT_CLASS_NORMAL
@@ -171,21 +170,21 @@
name = "security jetpack (oxygen)"
desc = "A tank of compressed oxygen for use as propulsion in zero-gravity areas by security forces."
icon_state = "jetpack-sec"
item_state = "jetpack-sec"
inhand_icon_state = "jetpack-sec"
/obj/item/tank/jetpack/carbondioxide
name = "Jetpack (Carbon Dioxide)"
desc = "A tank of compressed carbon dioxide for use as propulsion in zero-gravity areas. Painted black to indicate that it should not be used as a source for internals."
distribute_pressure = 0
icon_state = "jetpack-black"
item_state = "jetpack-black"
inhand_icon_state = "jetpack-black"
distribute_pressure = 0
gas_type = "carbon dioxide"
/obj/item/tank/jetpack/suit
name = "hardsuit jetpack upgrade"
desc = "A modular, compact set of thrusters designed to integrate with a hardsuit. It is fueled by a tank inserted into the suit's storage compartment."
icon_state = "jetpack-mining"
item_state = "jetpack-black"
inhand_icon_state = "jetpack-mining"
origin_tech = "materials=4;magnets=4;engineering=5"
w_class = WEIGHT_CLASS_NORMAL
actions_types = list(/datum/action/item_action/toggle_jetpack, /datum/action/item_action/jetpack_stabilization)
+2 -5
View File
@@ -45,7 +45,8 @@
name = "anesthetic tank"
desc = "A tank with an N2O/O2 gas mix."
icon_state = "anesthetic"
item_state = "an_tank"
worn_icon_state = "an_tank"
inhand_icon_state = "an_tank"
distribute_pressure = ONE_ATMOSPHERE
/obj/item/tank/internals/anesthetic/populate_gas()
@@ -90,7 +91,6 @@
name = "plasma internals tank"
desc = "A tank of plasma gas designed specifically for use as internals, particularly for plasma-based lifeforms. If you're not a Plasmaman, you probably shouldn't use this."
icon_state = "plasma_fr"
item_state = "plasma_fr"
/obj/item/tank/internals/plasmaman/populate_gas()
air_contents.set_toxins((3 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C))
@@ -101,7 +101,6 @@
/obj/item/tank/internals/plasmaman/belt
icon_state = "plasmaman_tank_belt"
item_state = "plasmaman_tank_belt"
slot_flags = ITEM_SLOT_BELT
flags_2 = ALLOW_BELT_NO_JUMPSUIT_2
force = 5
@@ -198,7 +197,6 @@
name = "air tank"
desc = "Mixed anyone?"
icon_state = "air"
item_state = "air"
distribute_pressure = ONE_ATMOSPHERE
/obj/item/tank/internals/air/populate_gas()
@@ -211,7 +209,6 @@
/obj/item/tank/internals/generic
name = "gas tank"
desc = "A generic tank used for storing and transporting gasses. Can be used for internals."
item_state = "generic"
/obj/item/tank/internals/generic/populate_gas()
return
+5 -7
View File
@@ -4,7 +4,8 @@
desc = "A S.U.N.S.H.I.N.E. brand watertank backpack with nozzle to water plants."
icon = 'icons/obj/watertank.dmi'
icon_state = "waterbackpack"
item_state = "waterbackpack"
lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi'
righthand_file = 'icons/mob/inhands/clothing_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
slowdown = 1
@@ -109,12 +110,10 @@
desc = "A mister nozzle attached to a water tank."
icon = 'icons/obj/watertank.dmi'
icon_state = "mister"
item_state = "mister"
w_class = WEIGHT_CLASS_BULKY
amount_per_transfer_from_this = 50
possible_transfer_amounts = list(25,50,100)
volume = 500
var/obj/item/watertank/tank
/obj/item/reagent_containers/spray/mister/Initialize(mapload)
@@ -156,7 +155,6 @@
/obj/item/watertank/janitor
desc = "A janitorial watertank backpack with nozzle to clean dirt and graffiti."
icon_state = "waterbackpackjani"
item_state = "waterbackpackjani"
/obj/item/watertank/janitor/New()
..()
@@ -166,7 +164,6 @@
name = "janitor spray nozzle"
desc = "A janitorial spray nozzle attached to a watertank, designed to clean up large messes."
icon_state = "misterjani"
item_state = "misterjani"
spray_maxrange = 4
spray_currentrange = 4
spray_minrange = 2
@@ -186,7 +183,8 @@
name = "backpack firefighter tank"
desc = "A refridgerated and pressurized backpack tank with extinguisher nozzle, intended to fight fires. Swaps between extinguisher, nanofrost launcher, and metal foam dispenser for breaches. Nanofrost converts plasma in the air to nitrogen, but only if it is combusting at the time."
icon_state = "waterbackpackatmos"
item_state = "waterbackpackatmos"
worn_icon_state = "waterbackpackatmos"
inhand_icon_state = "waterbackpackatmos"
/obj/item/watertank/atmos/New()
..()
@@ -207,7 +205,7 @@
desc = "A heavy duty nozzle attached to a firefighter's backpack tank."
icon = 'icons/obj/watertank.dmi'
icon_state = "atmos_nozzle_1"
item_state = "nozzleatmos"
inhand_icon_state = "nozzleatmos"
has_safety = FALSE
safety_active = FALSE
reagent_capacity = 500
+2 -1
View File
@@ -11,7 +11,8 @@
desc = "An experimental portable teleportation station developed by Nanotrasen, small enough to be carried in a pocket."
icon = 'icons/obj/device.dmi'
icon_state = "hand_tele"
item_state = "electronic"
worn_icon_state = "electronic"
inhand_icon_state = "electronic"
w_class = WEIGHT_CLASS_SMALL
throw_speed = 3
throw_range = 5
+10 -13
View File
@@ -9,7 +9,7 @@
desc = "Extremely radioactive. Wear goggles."
icon = 'icons/obj/nuke_tools.dmi'
icon_state = "plutonium_core"
item_state = "plutoniumcore"
inhand_icon_state = "plutoniumcore"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
flags_2 = RAD_NO_CONTAMINATE_2 //This is made from radioactive material so cannot really be contaminated
var/cooldown = 0
@@ -49,7 +49,7 @@
desc = "A lead-lined secure container produced by the Syndicate for the express purpose of extracting the valuable radioactive cores of nuclear weapons."
icon = 'icons/obj/nuke_tools.dmi'
icon_state = "core_container_empty"
item_state = "metal"
inhand_icon_state = "syringe_kit"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //Don't want people trying to break it open with acid, then destroying the core.
var/obj/item/nuke_core/plutonium/core
var/dented = FALSE
@@ -196,8 +196,7 @@
return FALSE
forceMove(tongs)
tongs.sliver = src
tongs.icon_state = "supermatter_tongs_loaded"
tongs.item_state = "supermatter_tongs_loaded"
tongs.update_icon(UPDATE_ICON_STATE)
to_chat(user, "<span class='notice'>You carefully pick up [src] with [tongs].</span>")
else if(istype(I, /obj/item/scalpel/supermatter) || istype(I, /obj/item/nuke_core_container/supermatter) || HAS_TRAIT(I, TRAIT_SUPERMATTER_IMMUNE)) // we don't want it to dust
return
@@ -266,8 +265,7 @@
I.sliver.forceMove(src)
sliver = I.sliver
I.sliver = null
I.icon_state = "supermatter_tongs"
I.item_state = "supermatter_tongs"
I.update_icon(UPDATE_ICON_STATE)
icon_state = "supermatter_container_loaded"
to_chat(user, "<span class='warning'>Container is sealing...</span>")
addtimer(CALLBACK(src, PROC_REF(seal)), 10 SECONDS)
@@ -290,8 +288,7 @@
sliver.forceMove(I)
I.sliver = sliver
sliver = null
I.icon_state = "supermatter_tongs_loaded"
I.item_state = "supermatter_tongs_loaded"
I.update_icon(UPDATE_ICON_STATE)
icon_state = "core_container_cracked_empty"
to_chat(user, "<span class='notice'>You carefully pick up [I.sliver] with [I].</span>")
@@ -355,7 +352,6 @@
icon_state = "supermatter_tongs"
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
item_state = "supermatter_tongs"
toolspeed = 0.75
damtype = BURN
var/obj/item/nuke_core/supermatter_sliver/sliver
@@ -364,6 +360,9 @@
QDEL_NULL(sliver)
return ..()
/obj/item/retractor/supermatter/update_icon_state()
icon_state = "[initial(icon_state)][sliver ? "_loaded" : ""]"
/obj/item/retractor/supermatter/afterattack__legacy__attackchain(atom/O, mob/user, proximity)
. = ..()
if(!sliver)
@@ -376,8 +375,7 @@
sliver.forceMove(loc)
visible_message("<span class='notice'>[sliver] falls out of [src] as it hits the ground.</span>")
sliver = null
icon_state = "supermatter_tongs"
item_state = "supermatter_tongs"
update_icon(UPDATE_ICON_STATE)
return ..()
/obj/item/retractor/supermatter/proc/Consume(atom/movable/AM, mob/living/user)
@@ -406,8 +404,7 @@
"<span class='userdanger'>You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust, and soon as you can register this, you do as well.</span>",
"<span class='hear'>Everything suddenly goes silent.</span>")
user.dust()
icon_state = "supermatter_tongs"
item_state = "supermatter_tongs"
radiation_pulse(src, 2000, GAMMA_RAD)
playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE)
QDEL_NULL(sliver)
update_icon(UPDATE_ICON_STATE)
+1 -7
View File
@@ -3,7 +3,6 @@
desc = "A basic crowbar made of forged steel. Handy for opening unpowered airlocks, prying out objects, and being an improvised melee weapon."
icon = 'icons/obj/tools.dmi'
icon_state = "crowbar"
item_state = "crowbar"
belt_icon = "crowbar"
usesound = 'sound/items/crowbar.ogg'
flags = CONDUCT
@@ -27,7 +26,6 @@
/obj/item/crowbar/red
desc = "A hefty steel crowbar with red stripes. It'll hit a bit harder than a normal crowbar."
icon_state = "crowbar_red"
item_state = "crowbar_red"
belt_icon = "crowbar_red"
force = 8
@@ -35,7 +33,6 @@
name = "brass crowbar"
desc = "A brass crowbar. It feels faintly warm to the touch."
icon_state = "crowbar_brass"
item_state = "crowbar_brass"
belt_icon = "crowbar_brass"
toolspeed = 0.5
resistance_flags = FIRE_PROOF | ACID_PROOF
@@ -48,7 +45,6 @@
throwforce = 3
materials = list(MAT_TITANIUM = 250)
icon_state = "crowbar_titanium"
item_state = "crowbar_titanium"
origin_tech = "materials=2"
toolspeed = 1.25
@@ -61,7 +57,6 @@
throw_range = 3
materials = list(MAT_METAL = 400)
icon_state = "crowbar_large"
item_state = "crowbar_large"
toolspeed = 0.5
/obj/item/crowbar/engineering
@@ -73,7 +68,6 @@
throw_range = 3
materials = list(MAT_METAL = 400)
icon_state = "crowbar_eng"
item_state = "crowbar_eng"
belt_icon = "crowbar_eng"
toolspeed = 0.5
@@ -116,7 +110,7 @@
name = "jaws of life"
desc = "A compact and powerful industrial tool with a modular head. This one has a set of prying jaws attached, which are strong enough to pry open powered airlocks."
icon_state = "jaws_pry"
item_state = "jawsoflife"
inhand_icon_state = "jawsoflife"
belt_icon = "jaws"
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
origin_tech = "materials=2;engineering=2"
-1
View File
@@ -3,7 +3,6 @@
desc = "A useful tool to many throughout history. Slightly better than a weighted rock."
icon = 'icons/obj/tools.dmi'
icon_state = "hammer"
item_state = "hammer"
belt_icon = "hammer"
usesound = 'sound/magic/fellowship_armory.ogg'
flags = CONDUCT
+3 -4
View File
@@ -69,13 +69,14 @@
// Syndicate device disguised as a multitool; it will turn red when an AI camera is nearby.
/obj/item/multitool/ai_detect
origin_tech = "magnets=1;engineering=2;syndicate=1"
w_class = WEIGHT_CLASS_SMALL
inhand_icon_state = "multitool"
var/track_cooldown = 0
var/track_delay = 10 //How often it checks for proximity
var/detect_state = PROXIMITY_NONE
var/rangealert = 8 //Glows red when inside
var/rangewarning = 20 //Glows yellow when inside
origin_tech = "magnets=1;engineering=2;syndicate=1"
w_class = WEIGHT_CLASS_SMALL
/obj/item/multitool/ai_detect/Initialize(mapload)
. = ..()
@@ -124,7 +125,6 @@
name = "suspicious multitool"
desc = "A slick black & red multitool used for testing and interfacing with electrical equipment in style."
icon_state = "multitool_syndi"
item_state = "multitool_syndi"
belt_icon = "multitool_syndi"
toolspeed = 0.95 // dangerously fast... not like multitools use speed anyways
w_class = WEIGHT_CLASS_SMALL
@@ -134,7 +134,6 @@
name = "command multitool"
desc = "A majestic blue multiool used for testing and interfacing with electrical equipment with class."
icon_state = "multitool_command"
item_state = "multitool_command"
belt_icon = "multitool_command"
toolspeed = 0.95 //command those wires / that fireaxe cabinet!
var/list/victims = list()
+1 -1
View File
@@ -99,7 +99,7 @@
name = "hand drill"
desc = "A powerful, hand-held drill fitted with a long-lasting battery. It has a screwdriver head attached."
icon_state = "drill_screw"
item_state = "drill"
inhand_icon_state = "drill"
belt_icon = "hand_drill"
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
origin_tech = "materials=2;engineering=2" //done for balance reasons, making them high value for research, but harder to get
+6 -9
View File
@@ -5,7 +5,7 @@
desc = "A basic, handheld welding tool. Useful for welding bits together, and cutting them apart."
icon = 'icons/obj/tools.dmi'
icon_state = "welder"
item_state = "welder"
inhand_icon_state = "welder"
belt_icon = "welder"
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT
@@ -234,10 +234,7 @@
icon_state = initial(icon_state)
else
icon_state = "[initial(icon_state)][ratio]"
if(tool_enabled)
item_state = "[initial(item_state)]1"
else
item_state = "[initial(item_state)]"
inhand_icon_state = "[initial(inhand_icon_state)][tool_enabled || ""]"
/obj/item/weldingtool/update_overlays()
. = ..()
@@ -275,7 +272,7 @@
name = "research welding tool"
desc = "A scratched-up welding tool that's been the subject of numerous aftermarket enhancements. It has a larger fuel tank, and a more focused torch than a standard welder. A label on the side reads, \"Property of Theseus\"."
icon_state = "welder_research"
item_state = "welder_research"
inhand_icon_state = "welder_research"
belt_icon = "welder_research"
maximum_fuel = 40
toolspeed = 0.75
@@ -315,7 +312,7 @@
name = "upgraded welding tool"
desc = "A large industrial welding tool with an even further upgraded fuel reservoir."
icon_state = "upindwelder"
item_state = "upindwelder"
inhand_icon_state = "upindwelder"
belt_icon = "welder_upg"
maximum_fuel = 80
materials = list(MAT_METAL=70, MAT_GLASS=120)
@@ -328,7 +325,7 @@
name = "experimental welding tool"
desc = "A prototype welding tool which uses an experimental fuel breeder to create a near-infinite reserve of fuel. The unusual fuel mixture also means that the flame is less intense on the eyes."
icon_state = "exwelder"
item_state = "exwelder"
inhand_icon_state = "exwelder"
belt_icon = "welder_exp"
maximum_fuel = 40
materials = list(MAT_METAL=70, MAT_GLASS=120)
@@ -342,7 +339,7 @@
name = "brass welding tool"
desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch."
icon_state = "brasswelder"
item_state = "brasswelder"
inhand_icon_state = "brasswelder"
belt_icon = "welder_brass"
resistance_flags = FIRE_PROOF | ACID_PROOF
+2 -2
View File
@@ -68,7 +68,7 @@
desc = "A pair of tacticool wirecutters fitted with contoured grips and a picatinny rail. The blades are also sharper than normal."
icon_state = "cutters_sec"
belt_icon = "wirecutters_sec"
item_state = "cutters_red" //shh
inhand_icon_state = "cutters_red" //shh
attack_verb = list("reformed", "robusted", "102'd") //102: battery in space law
force = 9 //same as seclites
toolspeed = 0.75
@@ -118,7 +118,7 @@
name = "jaws of life"
desc = "A compact and powerful industrial tool with a modular head. This one has a set of large cutting blades attached."
icon_state = "jaws_cutter"
item_state = "jawsoflife"
inhand_icon_state = "jawsoflife"
belt_icon = "jaws"
origin_tech = "materials=2;engineering=2"
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
+1 -1
View File
@@ -65,7 +65,7 @@
name = "hand drill"
desc = "A powerful, hand-held drill fitted with a long-lasting battery. It has a bolt driver head attached."
icon_state = "drill_bolt"
item_state = "drill"
inhand_icon_state = "drill"
belt_icon = "hand_drill"
usesound = 'sound/items/impactwrench.ogg' // Sourced from freesfx.co.uk
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
+12 -46
View File
@@ -33,7 +33,6 @@
desc = "A translucent balloon. There's nothing in it."
icon = 'icons/obj/toy.dmi'
icon_state = "waterballoon-e"
item_state = "waterballoon-e"
/obj/item/toy/balloon/New()
..()
@@ -101,16 +100,13 @@
/obj/item/toy/balloon/update_icon_state()
if(src.reagents.total_volume >= 1)
icon_state = "waterballoon"
item_state = "waterballoon"
else
icon_state = "waterballoon-e"
item_state = "waterballoon-e"
/obj/item/toy/syndicateballoon
name = "syndicate balloon"
desc = "There is a tag on the back that reads \"FUK NT!11!\"."
icon_state = "syndballoon"
item_state = "syndballoon"
w_class = WEIGHT_CLASS_BULKY
var/lastused = null
@@ -157,7 +153,7 @@
desc = "Blink. Blink. Blink. Ages 8 and up."
icon = 'icons/obj/radio.dmi'
icon_state = "beacon"
item_state = "signaler"
inhand_icon_state = "signaler"
/*
* Fake singularity
@@ -175,10 +171,9 @@
name = "toy sword"
desc = "A cheap, plastic replica of an energy sword. Realistic sounds! Ages 8 and up."
icon = 'icons/obj/weapons/energy_melee.dmi'
icon_state = "sword0"
lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons_righthand.dmi'
icon_state = "sword0"
item_state = "sword0"
var/active = FALSE
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("attacked", "struck", "hit")
@@ -191,13 +186,11 @@
to_chat(user, "<span class='notice'>You extend the plastic blade with a quick flick of your wrist.</span>")
playsound(user, 'sound/weapons/saberon.ogg', 20, 1)
icon_state = "swordblue"
item_state = "swordblue"
w_class = WEIGHT_CLASS_BULKY
else
to_chat(user, "<span class='notice'>You push the plastic blade back down into the handle.</span>")
playsound(user, 'sound/weapons/saberoff.ogg', 20, 1)
icon_state = "sword0"
item_state = "sword0"
w_class = WEIGHT_CLASS_SMALL
if(ishuman(user))
@@ -321,7 +314,6 @@
righthand_file = 'icons/mob/inhands/weapons_righthand.dmi'
icon = 'icons/obj/weapons/melee.dmi'
icon_state = "katana"
item_state = "katana"
flags = CONDUCT
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
flags_2 = ALLOW_BELT_NO_JUMPSUIT_2 //Look, you can strap it to your back. You can strap it to your waist too.
@@ -448,7 +440,7 @@
desc = "A toy for therapeutic and recreational purposes."
icon = 'icons/obj/toy.dmi'
icon_state = "therapyred"
item_state = "egg4"
inhand_icon_state = "egg4"
w_class = WEIGHT_CLASS_TINY
var/cooldown = 0
resistance_flags = FLAMMABLE
@@ -471,22 +463,22 @@
item_color = "red"
/obj/item/toy/therapy/purple
item_state = "egg1" // It's the magenta egg in items_left/righthand
inhand_icon_state = "egg1" // It's the magenta egg in items_left/righthand
item_color = "purple"
/obj/item/toy/therapy/blue
item_state = "egg2" // It's the blue egg in items_left/righthand
inhand_icon_state = "egg2" // It's the blue egg in items_left/righthand
item_color = "blue"
/obj/item/toy/therapy/yellow
item_state = "egg5" // It's the yellow egg in items_left/righthand
inhand_icon_state = "egg5" // It's the yellow egg in items_left/righthand
item_color = "yellow"
/obj/item/toy/therapy/orange
item_color = "orange"
/obj/item/toy/therapy/green
item_state = "egg3" // It's the green egg in items_left/righthand
inhand_icon_state = "egg3" // It's the green egg in items_left/righthand
item_color = "green"
/*
@@ -766,7 +758,6 @@
name = "grey plushie"
desc = "A plushie of a grey wearing a sweatshirt. As a part of the 'The Alien' series, the doll features a sweater, an oversized head, and cartoonish eyes."
icon_state = "plushie_grey"
item_state = "plushie_grey"
var/hug_cooldown = FALSE //Defaults the plushie to being off coolodown. Sets the hug_cooldown var.
var/scream_cooldown = FALSE //Defaults the plushie to being off cooldown. Sets the scream_cooldown var.
var/singed = FALSE
@@ -783,7 +774,6 @@
return
singed = TRUE
icon_state = "grey_singed"
item_state = "grey_singed"//If the plushie gets wet the sprite changes to a singed version.
desc = "A ruined plushie of a grey. It looks like someone ran it under some water."
/obj/item/toy/plushie/greyplushie/proc/reset_screamdown()
@@ -806,7 +796,6 @@
name = "vox plushie"
desc = "A stitched-together vox, fresh from the skipjack. Press its belly to hear it skree!"
icon_state = "plushie_vox"
item_state = "plushie_vox"
rare_hug_sound = 'sound/voice/shriek1.ogg'
rare_hug_word = "Skreee!"
@@ -814,7 +803,6 @@
name = "IPC plushie"
desc = "An adorable IPC plushie, straight from New Canaan. Arguably more durable than the real deal. Toaster functionality included."
icon_state = "plushie_ipc"
item_state = "plushie_ipc"
/obj/item/toy/plushie/ipcplushie/attack_by(obj/item/attacking, mob/user, params)
if(..())
@@ -832,31 +820,26 @@
name = "lizard plushie"
desc = "An adorable stuffed toy that resembles a lizardperson."
icon_state = "plushie_lizard"
item_state = "plushie_lizard"
/obj/item/toy/plushie/snakeplushie
name = "snake plushie"
desc = "An adorable stuffed toy that resembles a snake. Not to be mistaken for the real thing."
icon_state = "plushie_snake"
item_state = "plushie_snake"
/obj/item/toy/plushie/nukeplushie
name = "operative plushie"
desc = "An stuffed toy that resembles a syndicate nuclear operative. The tag claims operatives to be purely fictitious."
icon_state = "plushie_nuke"
item_state = "plushie_nuke"
/obj/item/toy/plushie/slimeplushie
name = "slime plushie"
desc = "An adorable stuffed toy that resembles a slime. It is practically just a hacky sack."
icon_state = "plushie_slime"
item_state = "plushie_slime"
/obj/item/toy/plushie/nianplushie
name = "nian plushie"
desc = "A silky nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian"
item_state = "plushie_nian"
rare_hug_sound = 'sound/voice/scream_moth.ogg'
rare_hug_word = "Buzzzz!"
@@ -864,109 +847,91 @@
name = "monarch nian plushie"
desc = "A monarch nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_monarch"
item_state = "plushie_nian_monarch"
/obj/item/toy/plushie/nianplushie/luna
name = "luna nian plushie"
desc = "A luna nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_luna"
item_state = "plushie_nian_luna"
/obj/item/toy/plushie/nianplushie/atlas
name = "atlas nian plushie"
desc = "An atlas nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_atlas"
item_state = "plushie_nian_atlas"
/obj/item/toy/plushie/nianplushie/reddish
name = "reddish nian plushie"
desc = "A reddish nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_reddish"
item_state = "plushie_nian_reddish"
/obj/item/toy/plushie/nianplushie/royal
name = "royal nian plushie"
desc = "A royal nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_royal"
item_state = "plushie_nian_royal"
/obj/item/toy/plushie/nianplushie/gothic
name = "gothic nian plushie"
desc = "A gothic nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_gothic"
item_state = "plushie_nian_gothic"
/obj/item/toy/plushie/nianplushie/lovers
name = "lovers nian plushie"
desc = "A lovers nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_lovers"
item_state = "plushie_nian_lovers"
/obj/item/toy/plushie/nianplushie/whitefly
name = "whitefly nian plushie"
desc = "A whitefly nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_whitefly"
item_state = "plushie_nian_whitefly"
/obj/item/toy/plushie/nianplushie/punished
name = "punished nian plushie"
desc = "A punnished nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_punished"
item_state = "plushie_nian_punished"
/obj/item/toy/plushie/nianplushie/firewatch
name = "firewatch nian plushie"
desc = "A firewtach nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_firewatch"
item_state = "plushie_nian_firewatch"
/obj/item/toy/plushie/nianplushie/deadhead
name = "deathshead nian plushie"
desc = "A deathshead nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_deadhead"
item_state = "plushie_nian_deadhead"
/obj/item/toy/plushie/nianplushie/poison
name = "poison nian plushie"
desc = "A poison nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_poison"
item_state = "plushie_nian_poison"
/obj/item/toy/plushie/nianplushie/ragged
name = "ragged nian plushie"
desc = "A ragged nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_ragged"
item_state = "plushie_nian_ragged"
/obj/item/toy/plushie/nianplushie/snow
name = "snow nian plushie"
desc = "A snow nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_snow"
item_state = "plushie_nian_snow"
/obj/item/toy/plushie/nianplushie/clockwork
name = "clockwork nian plushie"
desc = "A clockwork nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_clockwork"
item_state = "plushie_nian_clockwork"
/obj/item/toy/plushie/nianplushie/moonfly
name = "moonfly nian plushie"
desc = "A moonfly nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_moonfly"
item_state = "plushie_nian_moonfly"
/obj/item/toy/plushie/nianplushie/rainbow
name = "rainbow nian plushie"
desc = "A rainbow nian plushie, straight from the nebula. Pull its antenna to hear it buzz!"
icon_state = "plushie_nian_rainbow"
item_state = "plushie_nian_rainbow"
/obj/item/toy/plushie/shark
name = "shark plushie"
desc = "A plushie depicting a somewhat cartoonish shark. The tag calls it a 'hákarl', noting that it was made by an obscure furniture manufacturer in old Scandinavia."
icon_state = "blahaj"
item_state = "blahaj"
attack_verb = list("gnawed", "gnashed", "chewed")
/obj/item/toy/plushie/abductor
@@ -1273,9 +1238,9 @@
desc = "it says \"Sternside Changs #1 fan\" on it. "
icon = 'icons/obj/toy.dmi'
icon_state = "foamblade"
inhand_icon_state = "arm_blade"
lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons_righthand.dmi'
item_state = "arm_blade"
attack_verb = list("pricked", "absorbed", "gored")
w_class = WEIGHT_CLASS_SMALL
resistance_flags = FLAMMABLE
@@ -1285,7 +1250,7 @@
desc = "A replica toolbox that rumbles when you turn the key."
icon = 'icons/obj/storage.dmi'
icon_state = "green"
item_state = "artistic_toolbox"
inhand_icon_state = "artistic_toolbox"
lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi'
hitsound = 'sound/weapons/smash.ogg'
@@ -1333,7 +1298,7 @@
desc = "FOR THE REVOLU- Oh wait, that's just a toy."
icon = 'icons/obj/device.dmi'
icon_state = "flash"
item_state = "flashtool"
inhand_icon_state = "flashtool"
w_class = WEIGHT_CLASS_TINY
/obj/item/toy/flash/attack(mob/living/target, mob/living/carbon/human/user)
@@ -1523,7 +1488,8 @@
desc = "For fun and games!"
icon = 'icons/obj/guns/projectile.dmi'
icon_state = "russian_revolver"
item_state = "gun"
worn_icon_state = "gun"
inhand_icon_state = "gun"
lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
hitsound = "swing_hit"
-1
View File
@@ -73,7 +73,6 @@
/obj/item/trash/fried_vox
name = "Kentucky Fried Vox"
icon_state = "fried_vox_empty"
item_state = "fried_vox_empty"
slot_flags = ITEM_SLOT_HEAD
dog_fashion = /datum/dog_fashion/head/fried_vox_empty
sprite_sheets = list(
+2 -4
View File
@@ -1,10 +1,8 @@
/obj/item/vending_refill
name = "resupply canister"
var/machine_name = "Generic"
icon = 'icons/obj/vending_restock.dmi'
icon_state = "refill_snack"
item_state = "restock_unit"
inhand_icon_state = "restock_unit"
desc = "A vending machine restock cart."
usesound = 'sound/items/deconstruct.ogg'
flags = CONDUCT
@@ -12,7 +10,7 @@
throwforce = 10
throw_speed = 1
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 70, ACID = 30)
var/machine_name = "Generic"
// Built automatically from the corresponding vending machine.
// If null, considered to be full upon being restocked.
var/list/products
+14 -8
View File
@@ -10,7 +10,8 @@
desc = "A wooden truncheon for beating criminal scum."
icon = 'icons/obj/weapons/baton.dmi'
icon_state = "baton"
item_state = "classic_baton"
worn_icon_state = "classic_baton"
inhand_icon_state = "classic_baton"
slot_flags = ITEM_SLOT_BELT
force = 12 //9 hit crit
// Settings
@@ -140,7 +141,8 @@
name = "fancy cane"
desc = "A cane with special engraving on it. It seems well suited for fending off assailants..."
icon_state = "cane_nt"
item_state = "cane_nt"
worn_icon_state = null
inhand_icon_state = null
/obj/item/melee/classic_baton/ntcane/get_crutch_efficiency()
return 2
@@ -152,15 +154,18 @@
name = "telescopic baton"
desc = "A compact yet robust personal defense weapon. Can be concealed when folded."
icon_state = "telebaton_0" // For telling what it is when mapping
item_state = null
worn_icon_state = null
inhand_icon_state = null
w_class = WEIGHT_CLASS_SMALL
on = FALSE
/// Force when concealed
var/force_off = 0
/// Force when extended
var/force_on = 10
/// Item state when extended
var/item_state_on = "tele_baton"
/// Worn icon state when extended
var/worn_icon_state_on = "tele_baton"
/// Inhand icon state when extended
var/inhand_icon_state_on = "tele_baton"
/// Icon state when concealed
var/icon_state_off = "telebaton_0"
/// Icon state when extended
@@ -186,14 +191,15 @@
icon_state = on ? icon_state_on : icon_state_off
if(on)
to_chat(user, "<span class='warning'>You extend [src].</span>")
item_state = item_state_on
worn_icon_state = worn_icon_state_on
inhand_icon_state = inhand_icon_state_on
w_class = WEIGHT_CLASS_BULKY //doesnt fit in backpack when its on for balance
force = force_on //stunbaton damage
attack_verb = attack_verb_on
else
to_chat(user, "<span class='notice'>You collapse [src].</span>")
item_state = null //no sprite for concealment even when in hand
slot_flags = ITEM_SLOT_BELT
worn_icon_state = null
inhand_icon_state = null //no sprite for concealment even when in hand
w_class = WEIGHT_CLASS_SMALL
force = force_off //not so robust now
attack_verb = attack_verb_off
@@ -3,7 +3,6 @@
desc = "This briefcase has easy-release clasps and smells vaguely of honey and blood..."
icon = 'icons/obj/storage.dmi'
icon_state = "briefcase"
item_state = "briefcase"
flags = CONDUCT
hitsound = "swing_hit"
force = 10
@@ -29,7 +28,6 @@
if(isAntag(user))
. += "<span class='warning'>A briefcase filled with deadly bees, you should inject this with a syringe of your own blood before opening it. Exotic blood cannot be used.</span>"
/obj/item/bee_briefcase/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(istype(I, /obj/item/reagent_containers/syringe))
var/obj/item/reagent_containers/syringe/S = I
@@ -10,10 +10,9 @@
name = "\improper C-Foam launcher"
desc = "The C-Foam launcher. Shoots blobs of quickly hardening and growing foam. Can be used to slow down humanoids or block airlocks"
icon_state = "c_foam_launcher"
item_state = "c_foam_launcher"
inhand_icon_state = "c_foam_launcher"
origin_tech = "combat=4;syndicate=1;materials=3"
needs_permit = FALSE
fire_sound = 'sound/effects/bamf.ogg'
fire_sound_text = "thunk"
mag_type = /obj/item/ammo_box/magazine/c_foam
@@ -48,7 +48,6 @@
/obj/item/chemical_flamethrower/update_icon_state()
icon_state = "chem_flame[max_canisters == 2 ? "_2" : ""][syndicate ? "_s" : ""]"
item_state = icon_state
/obj/item/chemical_flamethrower/update_overlays()
. = ..()
@@ -5,7 +5,7 @@
desc = "The result of outlawed time-bluespace research, this device is capable of wiping a being from the timestream. They never are, they never were, they never will be."
icon = 'icons/obj/chronos.dmi'
icon_state = "chronobackpack"
item_state = "backpack"
worn_icon_state = "backpack"
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
slowdown = 1
@@ -45,7 +45,7 @@
desc = "It's as if they never existed in the first place."
icon = 'icons/obj/chronos.dmi'
icon_state = "chronogun"
item_state = "chronogun"
inhand_icon_state = "chronogun"
flags = NODROP | DROPDEL
ammo_type = list(/obj/item/ammo_casing/energy/chrono_beam)
can_charge = FALSE
@@ -2,7 +2,8 @@
name = "plastic explosive"
desc = "Used to put holes in specific areas without too much extra hole."
icon_state = "plastic-explosive0"
item_state = "plastic-explosive"
base_icon_state = "plastic-explosive"
inhand_icon_state = "plastic-explosive"
flags = NOBLUDGEON
det_time = 10
display_timer = FALSE
@@ -19,7 +20,7 @@
/obj/item/grenade/plastic/Initialize(mapload)
. = ..()
plastic_overlay = mutable_appearance(icon, "[item_state]2", HIGH_OBJ_LAYER)
plastic_overlay = mutable_appearance(icon, "[base_icon_state]2", HIGH_OBJ_LAYER)
var/static/list/loc_connections = list(
COMSIG_ATOM_ENTERED = PROC_REF(on_atom_entered)
)
@@ -157,9 +158,9 @@
/obj/item/grenade/plastic/update_icon_state()
if(nadeassembly)
icon_state = "[item_state]1"
icon_state = "[base_icon_state]1"
else
icon_state = "[item_state]0"
icon_state = "[base_icon_state]0"
//////////////////////////
///// The Explosives /////
@@ -214,7 +215,7 @@
name = "X4"
desc = "A specialized shaped high explosive breaching charge. Designed to be safer for the user, and less so, for the wall."
icon_state = "plasticx40"
item_state = "plasticx4"
base_icon_state = "plasticx4"
shaped = TRUE
ex_heavy = 2
ex_breach = TRUE
@@ -250,7 +251,7 @@
desc = "A wall breaching charge, containing fuel, metal oxide and metal powder mixed in just the right way. One hell of a combination. Effective against walls, ineffective against airlocks..."
det_time = 2
icon_state = "t4breach0"
item_state = "t4breach"
base_icon_state = "t4breach"
/obj/item/grenade/plastic/c4/thermite/prime()
var/turf/location
@@ -2,8 +2,8 @@
name = "fire extinguisher"
desc = "A traditional red fire extinguisher."
icon_state = "fire_extinguisher0"
item_state = "fire_extinguisher"
base_icon_state = "fire_extinguisher"
inhand_icon_state = "fire_extinguisher"
hitsound = 'sound/weapons/smash.ogg'
flags = CONDUCT
throwforce = 10
@@ -35,8 +35,8 @@
name = "atmospheric fire extinguisher"
desc = "An extinguisher coated in yellow paint that is pre-filled with firefighting foam."
icon_state = "atmoFE0"
item_state = "atmoFE"
base_icon_state = "atmoFE"
inhand_icon_state = "atmoFE"
materials = list(MAT_TITANIUM = 200)
dog_fashion = null
reagent_id = "firefighting_foam"
@@ -49,8 +49,8 @@
name = "pocket fire extinguisher"
desc = "A light and compact fibreglass-framed model fire extinguisher."
icon_state = "miniFE0"
item_state = "miniFE"
base_icon_state = "miniFE"
inhand_icon_state = "miniFE"
hitsound = null // It is much lighter, after all.
flags = null // Non-conductive, not made of metal.
throwforce = 2
@@ -67,7 +67,6 @@
name = "integrated fire extinguisher"
desc = "A miniature fire extinguisher designed to store firefighting foam."
icon_state = "cyborgFE0"
item_state = "cyborgFE"
base_icon_state = "cyborgFE"
reagent_id = "firefighting_foam"
@@ -3,7 +3,7 @@
desc = "You are a firestarter!"
icon = 'icons/obj/flamethrower.dmi'
icon_state = "flamethrowerbase"
item_state = "flamethrower_0"
inhand_icon_state = "flamethrower_0"
lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
flags = CONDUCT
@@ -26,14 +26,12 @@
var/create_with_tank = FALSE
var/igniter_type = /obj/item/assembly/igniter
/obj/item/flamethrower/Destroy()
QDEL_NULL(weldtool)
QDEL_NULL(igniter)
QDEL_NULL(ptank)
return ..()
/obj/item/flamethrower/process()
if(!lit || !igniter)
STOP_PROCESSING(SSobj, src)
@@ -46,12 +44,8 @@
if(isturf(location)) //start a fire if possible
igniter.flamethrower_process(location)
/obj/item/flamethrower/update_icon_state()
if(lit)
item_state = "flamethrower_1"
else
item_state = "flamethrower_0"
inhand_icon_state = "flamethrower_[lit]"
if(ismob(loc))
var/mob/M = loc
M.update_inv_l_hand()
@@ -272,14 +266,12 @@
if(M.client && M.machine == src)
attack_self__legacy__attackchain(M)
/obj/item/flamethrower/proc/default_ignite(turf/target, release_amount = 0.05)
//Transfer 5% of current tank air contents to turf
var/datum/gas_mixture/air_transfer = ptank.air_contents.remove_ratio(release_amount)
target.blind_release_air(air_transfer)
target.hotspot_expose(PLASMA_UPPER_TEMPERATURE, min(CELL_VOLUME, CELL_VOLUME * air_transfer.total_moles()))
/obj/item/flamethrower/Initialize(mapload)
. = ..()
if(create_full)
@@ -11,7 +11,7 @@
name = "gift"
desc = "PRESENTS!!!! eek!"
icon_state = "gift1"
item_state = "gift1"
inhand_icon_state = "gift"
resistance_flags = FLAMMABLE
scatter_distance = 10
@@ -1,8 +1,8 @@
/obj/item/grenade/gas
name = "plasma fire grenade"
desc = "A compressed plasma grenade, used to start horrific plasma fires."
origin_tech = "materials=3;magnets=4;syndicate=3"
icon_state = "syndicate"
origin_tech = "materials=3;magnets=4;syndicate=3"
var/spawn_contents = LINDA_SPAWN_HEAT | LINDA_SPAWN_TOXINS
var/spawn_amount = 100
@@ -141,7 +141,7 @@
return 1
else if(stage == WIRED && is_type_in_list(I, allowed_containers))
if(length(beakers) == 0)
if(length(beakers) == 0)
container_type = TRANSPARENT // Allows to see reagents in player's made bombs
if(length(beakers) == 2)
to_chat(user, "<span class='notice'>[src] can not hold more containers.</span>")
@@ -5,7 +5,8 @@
name = "clusterbang"
desc = "Use of this weapon may constitute a war crime in your area, consult your local captain."
icon_state = "clusterbang"
item_state = "flashbang"
worn_icon_state = "flashbang"
inhand_icon_state = "flashbang"
var/payload = /obj/item/grenade/flashbang/cluster
/obj/item/grenade/clusterbuster/examine(mob/user)
@@ -2,7 +2,7 @@
name = "classic EMP grenade"
desc = "Upon detonation, releases a powerful EMP that will wreak havoc on electronic systems."
icon_state = "emp"
item_state = "emp"
inhand_icon_state = "emp"
origin_tech = "magnets=3;combat=2"
/obj/item/grenade/empgrenade/prime()
@@ -2,7 +2,7 @@
name = "flashbang"
desc = "A less-than-lethal grenade designed for crowd control. Blinds all unprotected targets in range and disrupts their balance, sending them falling to the floor."
icon_state = "flashbang"
item_state = "flashbang"
inhand_icon_state = "flashbang"
belt_icon = "flashbang"
origin_tech = "materials=2;combat=3"
light_power = 10
@@ -1,10 +1,11 @@
/obj/item/grenade
name = "grenade"
desc = "A hand held grenade with an adjustable timer."
w_class = WEIGHT_CLASS_SMALL
icon = 'icons/obj/grenade.dmi'
icon_state = "grenade"
item_state = "grenade"
worn_icon_state = "grenade"
inhand_icon_state = "grenade"
w_class = WEIGHT_CLASS_SMALL
throw_speed = 3
throw_range = 20
flags = CONDUCT
@@ -2,9 +2,9 @@
name = "smoke bomb"
desc = "A grenade filled with chemical agents that will turn into a dense smoke when detonated, making it impossible to see through without specialised optics."
icon_state = "smoke"
inhand_icon_state = "smoke"
det_time = 2 SECONDS
modifiable_timer = FALSE
item_state = "smoke"
var/datum/effect_system/smoke_spread/bad/smoke
/obj/item/grenade/smokebomb/Initialize(mapload)
@@ -31,7 +31,8 @@
desc = "It's a normal black ink pen."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "pen"
item_state = "pen"
worn_icon_state = "pen"
inhand_icon_state = "pen"
explosion_cause = "Syndicate minibomb (disguised as a black pen)"
/obj/item/grenade/syndieminibomb/pen/attack_self__legacy__attackchain(mob/user)

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