diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index 9b02799e496..575680f28ac 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -1,38 +1,45 @@ /obj/item/latexballon - name = "Latex glove" + name = "latex glove" desc = "" //todo icon_state = "latexballon" item_state = "lgloves" force = 0 throwforce = 0 - w_class = 1.0 + w_class = 1 throw_speed = 1 - throw_range = 15 + throw_range = 7 var/state var/datum/gas_mixture/air_contents = null -/obj/item/latexballon/proc/blow(obj/item/weapon/tank/tank) - if (icon_state == "latexballon_bursted") +/obj/item/latexballon/proc/blow(obj/item/weapon/tank/tank, mob/user) + if(icon_state == "latexballon_bursted") return - src.air_contents = tank.remove_air_volume(3) icon_state = "latexballon_blow" item_state = "latexballon" + user.update_inv_r_hand() + user.update_inv_l_hand() + to_chat(user, "You blow up [src] with [tank].") + air_contents = tank.remove_air_volume(3) /obj/item/latexballon/proc/burst() - if (!air_contents) + if(!air_contents || icon_state != "latexballon_blow") return playsound(src, 'sound/weapons/Gunshot.ogg', 100, 1) icon_state = "latexballon_bursted" item_state = "lgloves" + if(isliving(loc)) + var/mob/living/user = loc + user.update_inv_r_hand() + user.update_inv_l_hand() loc.assume_air(air_contents) /obj/item/latexballon/ex_act(severity) burst() switch(severity) - if (1) + if(1) qdel(src) - if (2) - if (prob(50)) + if(2) + if(prob(50)) qdel(src) /obj/item/latexballon/bullet_act() @@ -43,6 +50,10 @@ burst() return -/obj/item/latexballon/attackby(obj/item/W as obj, mob/user as mob, params) - if (can_puncture(W)) +/obj/item/latexballon/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/weapon/tank)) + var/obj/item/weapon/tank/T = W + blow(T, user) + return + if(is_sharp(W) || is_hot(W) || can_puncture(W)) burst() \ No newline at end of file diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index 46342d78a99..b86ccbff3cf 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -89,10 +89,6 @@ if ((istype(W, /obj/item/device/analyzer)) && get_dist(user, src) <= 1) atmosanalyzer_scan(air_contents, user) - else if (istype(W,/obj/item/latexballon)) - var/obj/item/latexballon/LB = W - LB.blow(src) - if(istype(W, /obj/item/device/assembly_holder)) bomb_assemble(W,user) diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index bbdb526c70a..d8586b6c0d8 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -219,3 +219,10 @@ /obj/item/stack/sheet/wood = 5) tools = list(/obj/item/weapon/weldingtool, /obj/item/weapon/screwdriver) + +/datum/table_recipe/glove_balloon + name = "Latex Glove Balloon" + result = /obj/item/latexballon + time = 15 + reqs = list(/obj/item/clothing/gloves/color/latex = 1, + /obj/item/stack/cable_coil = 5) \ No newline at end of file diff --git a/icons/mob/inhands/clothing_lefthand.dmi b/icons/mob/inhands/clothing_lefthand.dmi index 27acdc6a156..763e2f0710c 100644 Binary files a/icons/mob/inhands/clothing_lefthand.dmi and b/icons/mob/inhands/clothing_lefthand.dmi differ