diff --git a/code/defines/obj.dm b/code/defines/obj.dm index fee7d93abe2..4b3cd52c64a 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -677,6 +677,7 @@ density = 1 anchored = 1.0 layer = 2.8 + throwpass = 1 New() ..() diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 08c45e86efd..c48b54bb2c4 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -153,17 +153,16 @@ ZIPPO var/turf/location = get_turf(src) src.smoketime-- if(src.smoketime < 1) - if (istype(src,/obj/item/clothing/mask/cigarette/cigar)) - var/obj/item/weapon/cigbutt/C = new /obj/item/weapon/cigarbutt - C.loc = location - else - var/obj/item/weapon/cigbutt/C = new /obj/item/weapon/cigbutt - C.loc = location + src.lit = -1 + src.damtype = "brute" + src.icon_state = icon_butt + src.item_state = icon_off + src.desc = "A [src.name] butt." + src.name = "[src.name] butt" if(ismob(src.loc)) var/mob/living/M = src.loc M << "\red Your [src.name] goes out." processing_objects.Remove(src) - del(src) return if(location) location.hotspot_expose(700, 5) @@ -232,13 +231,6 @@ ZIPPO throwforce = 1 -/obj/item/clothing/mask/cigarette/cigar/havanian/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/match) && (W:lit > 0)) - user << "\red The [src] straight out REFUSES to be lit by such uncivilized means." - else - ..() - - //////////// //CIG PACK// //////////// diff --git a/code/game/objects/tables_racks.dm b/code/game/objects/tables_racks.dm index 0af3685cbb6..68e77257a07 100644 --- a/code/game/objects/tables_racks.dm +++ b/code/game/objects/tables_racks.dm @@ -98,7 +98,7 @@ TABLE AND RACK OBJECT INTERATIONS /obj/structure/table/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) if(air_group || (height==0)) return 1 - if(istype(mover) && (mover.checkpass(PASSTABLE) || mover.checkpass(TABLEPASS))) //WTF do things hit tables like that? Jeez. + if(istype(mover) && mover.checkpass(PASSTABLE)) //WTF do things hit tables like that? Jeez. return 1 else return 0 diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 897f472a2da..0de55b026ed 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -438,6 +438,20 @@ H.vent_gas(loc) del(H) + CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if (istype(mover,/obj/item)) + var/obj/item/I = mover + if(prob(75)) + I.loc = src + for(var/mob/M in viewers(src)) + M.show_message("\the [I] lands in \the [src].", 3) + else + for(var/mob/M in viewers(src)) + M.show_message("\the [I] bounces off of \the [src]'s rim!", 3) + return 0 + else + return ..(mover, target, height, air_group) + //The toilet does not need to pressurized but can only handle small items. //You can also choke people by dunking them into the toilet. /obj/machinery/disposal/toilet