mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
* Idk what I'm doing * The is_hot refactor * Fixes that I forgot to push before making the PR * Update code/game/objects/items.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Contra review * TODO: Find out why this isn't working * Removes the signal stuff for now, this works * Fixes it all * Add new signal * Update code/_onclick/item_attack.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Contra reivew * Ayyy it works * Merge master * Forgot this one * Update code/game/machinery/doors/airlock_types.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/objects/structures/mineral_doors.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/turfs/simulated/floor/mineral_floors.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/turfs/simulated/walls_mineral.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> --------- Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
66 lines
1.6 KiB
Plaintext
66 lines
1.6 KiB
Plaintext
/obj/item/latexballon
|
|
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"
|
|
force = 0
|
|
throwforce = 0
|
|
w_class = WEIGHT_CLASS_TINY
|
|
throw_speed = 1
|
|
throw_range = 7
|
|
var/state
|
|
var/datum/gas_mixture/air_contents = null
|
|
|
|
/obj/item/latexballon/Destroy()
|
|
QDEL_NULL(air_contents)
|
|
return ..()
|
|
|
|
/obj/item/latexballon/proc/blow(obj/item/tank/tank, mob/user)
|
|
if(icon_state == "latexballon_bursted")
|
|
return
|
|
icon_state = "latexballon_blow"
|
|
item_state = "latexballon"
|
|
user.update_inv_r_hand()
|
|
user.update_inv_l_hand()
|
|
to_chat(user, "<span class='notice'>You blow up [src] with [tank].</span>")
|
|
air_contents = tank.remove_air_volume(3)
|
|
|
|
/obj/item/latexballon/proc/burst()
|
|
if(!air_contents || icon_state != "latexballon_blow")
|
|
return
|
|
playsound(src, 'sound/weapons/gunshots/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)
|
|
qdel(src)
|
|
if(2)
|
|
if(prob(50))
|
|
qdel(src)
|
|
|
|
/obj/item/latexballon/bullet_act(obj/item/projectile/P)
|
|
if(!P.nodamage)
|
|
burst()
|
|
return ..()
|
|
|
|
/obj/item/latexballon/temperature_expose(datum/gas_mixture/air, temperature, volume)
|
|
..()
|
|
if(temperature > T0C+100)
|
|
burst()
|
|
|
|
/obj/item/latexballon/attackby(obj/item/W, mob/user, params)
|
|
if(istype(W, /obj/item/tank))
|
|
var/obj/item/tank/T = W
|
|
blow(T, user)
|
|
return
|
|
if(is_sharp(W) || W.get_heat() || is_pointed(W))
|
|
burst()
|