diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 9742647b265..6b85f3573d2 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -41,7 +41,9 @@ /obj/item/weapon/extinguisher/examine() set src in usr - usr << text("\icon[] [] contains [] units of water left!", src, src.name, src.reagents.total_volume) + usr << "\icon[src] [src.name] contains [src.reagents.total_volume] units of water!" + for(var/thing in src) + usr << "\red \A [thing] is jammed into the nozzle!" ..() return @@ -52,6 +54,21 @@ user << "The safety is [safety ? "on" : "off"]." return +/obj/item/weapon/extinguisher/attackby(obj/item/W, mob/user) + if(user.stat || user.restrained() || user.lying) return + if (istype(W, /obj/item)) + if(W.w_class>1) + user << "\The [W] won't fit into the nozzle!" + return + if(locate(/obj) in src) + user << "There's already something crammed into the nozzle." + return + user.drop_item() + W.loc=src + user << "You cram \the [W] into the nozzle of \the [src]." + message_admins("[user]/[user.ckey] has crammed \a [W] into a [src].") + + /obj/item/weapon/extinguisher/afterattack(atom/target, mob/user , flag) //TODO; Add support for reagents in water. @@ -98,6 +115,16 @@ sleep(3) B.Move(get_step(usr,movementdirection), movementdirection) + if(locate(/obj) in src) + for(var/obj/thing in src) + thing.loc = get_turf(src) + thing.throw_at(target,10,rand(45,50)) + user.visible_message( + "[user] fires [src] and launches [thing] at [target]!", + "You fire [src] and launch [thing] at [target]!") + break + + var/turf/T = get_turf(target) var/turf/T1 = get_step(T,turn(direction, 90)) var/turf/T2 = get_step(T,turn(direction, -90))