diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index 0bacbaa161e..67f15bb3fe1 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -7,7 +7,7 @@ RCD /obj/item/weapon/rcd name = "rapid-construction-device (RCD)" desc = "A device used to rapidly build and deconstruct walls and floors." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "rcd" opacity = 0 density = 0 diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm index 7cbe5783a9a..47cf88f9bbc 100644 --- a/code/game/objects/items/weapons/RSF.dm +++ b/code/game/objects/items/weapons/RSF.dm @@ -6,8 +6,8 @@ RSF /obj/item/weapon/rsf name = "\improper Rapid-Service-Fabricator" desc = "A device used to rapidly deploy service items." - icon = 'icons/obj/items.dmi' - icon_state = "rcd" + icon = 'icons/obj/tools.dmi' + icon_state = "rsf" opacity = 0 density = 0 anchored = 0.0 diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index b7f5e370b95..402453f8007 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -12,47 +12,42 @@ * Revolver Conversion Kit */ -/* - * Wrench - */ +//Wrench /obj/item/weapon/wrench name = "wrench" desc = "A wrench with common uses. Can be found in your hand." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "wrench" flags = CONDUCT slot_flags = SLOT_BELT - force = 5.0 - throwforce = 7.0 + force = 5 + throwforce = 7 w_class = 2 materials = list(MAT_METAL=150) origin_tech = "materials=1;engineering=1" attack_verb = list("bashed", "battered", "bludgeoned", "whacked") - -/* - * Screwdriver - */ +//Screwdriver /obj/item/weapon/screwdriver name = "screwdriver" desc = "You can be totally screwy with this." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "screwdriver" flags = CONDUCT slot_flags = SLOT_BELT - force = 5.0 + force = 5 w_class = 1 - throwforce = 5.0 + throwforce = 5 throw_speed = 3 throw_range = 5 materials = list(MAT_METAL=75) attack_verb = list("stabbed") hitsound = 'sound/weapons/bladeslice.ogg' - suicide_act(mob/user) - to_chat(viewers(user), pick("[user] is stabbing the [src.name] into \his temple! It looks like \he's trying to commit suicide.", \ - "[user] is stabbing the [src.name] into \his heart! It looks like \he's trying to commit suicide.")) - return(BRUTELOSS) +/obj/item/weapon/screwdriver/suicide_act(mob/user) + to_chat(viewers(user), pick("[user] is stabbing the [name] into \his temple! It looks like \he's trying to commit suicide.", \ + "[user] is stabbing the [name] into \his heart! It looks like \he's trying to commit suicide.")) + return(BRUTELOSS) /obj/item/weapon/screwdriver/New() switch(pick("red","blue","purple","brown","green","cyan","yellow")) @@ -82,7 +77,7 @@ src.pixel_y = rand(0, 16) return -/obj/item/weapon/screwdriver/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/weapon/screwdriver/attack(mob/living/carbon/M, mob/living/carbon/user) if(!istype(M) || user.a_intent == I_HELP) return ..() if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head") @@ -91,17 +86,15 @@ M = user return eyestab(M,user) -/* - * Wirecutters - */ +//Wirecutters /obj/item/weapon/wirecutters name = "wirecutters" desc = "This cuts wires." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "cutters" flags = CONDUCT slot_flags = SLOT_BELT - force = 6.0 + force = 6 throw_speed = 3 throw_range = 7 w_class = 2 @@ -112,51 +105,40 @@ sharp = 1 edge = 1 -/obj/item/weapon/wirecutters/New(loc, var/param_color = null) +/obj/item/weapon/wirecutters/New(loc, param_color = null) ..() if((!param_color && prob(50)) || param_color == "yellow") icon_state = "cutters-y" item_state = "cutters_yellow" -/obj/item/weapon/wirecutters/attack(mob/living/carbon/human/C as mob, mob/user as mob) - if(istype(C) && C.handcuffed) - if(istype(C.handcuffed, /obj/item/weapon/restraints/handcuffs/cable)) - usr.visible_message("\The [usr] cuts \the [C]'s restraints with \the [src]!",\ - "You cut \the [C]'s restraints with \the [src]!",\ +/obj/item/weapon/wirecutters/attack(mob/living/carbon/human/H, mob/user) + if(istype(H) && H.handcuffed) + if(istype(H.handcuffed, /obj/item/weapon/restraints/handcuffs/cable)) + usr.visible_message("\The [usr] cuts \the [H]'s restraints with \the [src]!",\ + "You cut \the [H]'s restraints with \the [src]!",\ "You hear cable being cut.") - C.handcuffed = null - if(C.buckled && C.buckled.buckle_requires_restraints) - C.buckled.unbuckle_mob() - C.update_handcuffed() + H.handcuffed = null + if(H.buckled && H.buckled.buckle_requires_restraints) + H.buckled.unbuckle_mob() + H.update_handcuffed() return else ..() -/* - * Welding Tool - */ +//Welding Tool /obj/item/weapon/weldingtool name = "welding tool" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "welder" - item_state = "welder" flags = CONDUCT slot_flags = SLOT_BELT - - //Amount of OUCH when it's thrown force = 3 throwforce = 5 throw_speed = 3 throw_range = 5 w_class = 2 - - //Cost to make in the autolathe materials = list(MAT_METAL=70, MAT_GLASS=30) - - //R&D tech level origin_tech = "engineering=1" - - //Welding tool specific stuff var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) var/status = 1 //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) var/max_fuel = 20 //The max amount of fuel the welder can hold @@ -198,8 +180,8 @@ update_torch() return -/obj/item/weapon/weldingtool/attackby(obj/item/I as obj, mob/user as mob, params) - if(istype(I, /obj/item/weapon/screwdriver)) +/obj/item/weapon/weldingtool/attackby(obj/item/I, mob/user, params) + if(isscrewdriver(I)) flamethrower_screwdriver(I, user) if(istype(I, /obj/item/stack/rods)) flamethrower_rods(I, user) @@ -231,7 +213,7 @@ if(isturf(location)) location.hotspot_expose(700, 5) -/obj/item/weapon/weldingtool/attack(mob/M as mob, mob/user as mob) +/obj/item/weapon/weldingtool/attack(mob/M, mob/user) if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/S = H.organs_by_name[user.zone_sel.selecting] @@ -289,7 +271,7 @@ return reagents.get_reagent_amount("fuel") //Removes fuel from the welding tool. If a mob is passed, it will try to flash the mob's eyes. This should probably be renamed to use() -/obj/item/weapon/weldingtool/proc/remove_fuel(var/amount = 1, var/mob/living/M = null) +/obj/item/weapon/weldingtool/proc/remove_fuel(amount = 1, mob/living/M = null) if(!welding || !check_fuel()) return 0 if(get_fuel() >= amount) @@ -379,6 +361,7 @@ name = "Industrial Welding Tool" desc = "A slightly larger welder with a larger tank." icon_state = "indwelder" + icon_state = "welder" max_fuel = 40 materials = list(MAT_METAL=70, MAT_GLASS=60) origin_tech = "engineering=2" @@ -402,9 +385,8 @@ /obj/item/weapon/weldingtool/hugetank name = "Upgraded Welding Tool" - desc = "An upgraded welder based of the industrial welder." + desc = "An upgraded welder based off the industrial welder." icon_state = "upindwelder" - item_state = "upindwelder" max_fuel = 80 w_class = 3 materials = list(MAT_METAL=70, MAT_GLASS=120) @@ -414,15 +396,14 @@ name = "Experimental Welding Tool" desc = "An experimental welder capable of self-fuel generation and less harmful to the eyes." icon_state = "exwelder" - item_state = "exwelder" max_fuel = 40 w_class = 3 materials = list(MAT_METAL=70, MAT_GLASS=120) origin_tech = "engineering=4;plasmatech=3" - var/last_gen = 0 change_icons = 0 can_off_process = 1 light_intensity = 1 + var/last_gen = 0 /obj/item/weapon/weldingtool/experimental/proc/fuel_gen() if(!welding && !last_gen) @@ -436,19 +417,16 @@ if(reagents.total_volume < max_fuel) fuel_gen() -/* - * Crowbar - */ - +//Crowbar /obj/item/weapon/crowbar name = "pocket crowbar" desc = "A small crowbar. This handy tool is useful for lots of things, such as prying floor tiles or opening unpowered doors." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/tools.dmi' icon_state = "crowbar" flags = CONDUCT slot_flags = SLOT_BELT - force = 5.0 - throwforce = 7.0 + force = 5 + throwforce = 7 item_state = "crowbar" w_class = 2 materials = list(MAT_METAL=50) @@ -456,7 +434,6 @@ attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") /obj/item/weapon/crowbar/red - icon = 'icons/obj/items.dmi' icon_state = "red_crowbar" item_state = "crowbar_red" @@ -480,14 +457,14 @@ origin_tech = "combat=2" var/open = 0 - New() - ..() - update_icon() - +/obj/item/weapon/conversion_kit/New() + ..() update_icon() - icon_state = "[initial(icon_state)]_[open]" - attack_self(mob/user as mob) - open = !open - to_chat(user, "\blue You [open?"open" : "close"] the conversion kit.") - update_icon() +/obj/item/weapon/conversion_kit/update_icon() + icon_state = "[initial(icon_state)]_[open]" + +/obj/item/weapon/conversion_kit/attack_self(mob/user) + open = !open + to_chat(user, "\blue You [open?"open" : "close"] the conversion kit.") + update_icon() diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index cecb8427e84..5c12ccecd5b 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index fe42152fb5f..2a9a6774d27 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 1e8b80b314e..186e7d05232 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi new file mode 100644 index 00000000000..332afbbdb71 Binary files /dev/null and b/icons/obj/tools.dmi differ