From 7bde63dcc49e76c03d20cfe82cbe259d995973a3 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Sat, 28 Dec 2019 23:58:28 +0800 Subject: [PATCH] weh --- code/game/objects/items/cigs_lighters.dm | 164 ++++++++++++----------- 1 file changed, 83 insertions(+), 81 deletions(-) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index bd5e959a3f..1c697ab98c 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -898,70 +898,74 @@ CIGARETTE PACKETS ARE IN FANCY.DM if (DP.dry) //Nothing if our bong is full if (reagents.holder_full()) - user.show_message("The bowl is full!", 1) + user.show_message("The bowl is full!", MSG_VISUAL) return //Transfer reagents and remove the plant - user.show_message("You stuff the [DP] into the [src]'s bowl.", 1) + user.show_message("You stuff the [DP] into the [src]'s bowl.", MSG_VISUAL) DP.reagents.trans_to(src, 100) qdel(DP) return else - user.show_message("[DP] must be dried first!", 1) + user.show_message("[DP] must be dried first!", MSG_VISUAL) return - if (O.heat > 500) - if (reagents && reagents.total_volume) //if there's stuff in the bong - var/lighting_text = O.ignition_effect(src, user) - if(lighting_text) - //Logic regarding igniting it on - if (firecharges == 0) - user.show_message("You light the [src] with the [O]!", 1) - bongturnon() - else - user.show_message("You rekindle [src]'s flame with the [O]!", 1) + if (O.get_temperature() <= 500) + return + if (reagents && reagents.total_volume) //if there's stuff in the bong + var/lighting_text = O.ignition_effect(src, user) + if(lighting_text) + //Logic regarding igniting it on + if (firecharges == 0) + user.show_message("You light the [src] with the [O]!", MSG_VISUAL) + bongturnon() + else + user.show_message("You rekindle [src]'s flame with the [O]!", MSG_VISUAL) - firecharges = 1 - return - else - user.show_message("There's nothing to light up in the bowl.", 1) + firecharges = 1 return + else + user.show_message("There's nothing to light up in the bowl.", MSG_VISUAL) + return /obj/item/bong/CtrlShiftClick(mob/user) //empty reagents on alt click + ..() if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return if (reagents && reagents.total_volume) - user.show_message("You empty the [src].", 1) + user.show_message("You empty the [src].", MSG_VISUAL) reagents.clear_reagents() if(firecharges) firecharges = 0 bongturnoff() else - user.show_message("The [src] is already empty.", 1) + user.show_message("The [src] is already empty.", MSG_VISUAL) /obj/item/bong/AltClick(mob/user) + ..() if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return if(firecharges) firecharges = 0 bongturnoff() - user.show_message("You quench the flame.", 1) + user.show_message("You quench the flame.", MSG_VISUAL) + return TRUE /obj/item/bong/examine(mob/user) - ..() + . = ..() if(!reagents.total_volume) - to_chat(user, "The bowl is empty.") + . += "The bowl is empty." else if (reagents.total_volume > 80) - to_chat(user, "The bowl is filled to the brim.") + . += "The bowl is filled to the brim." else if (reagents.total_volume > 40) - to_chat(user, "The bowl has plenty weed in it.") + . += user, "The bowl has plenty weed in it." else - to_chat(user, "The bowl has some weed in it.") + . += "The bowl has some weed in it." - to_chat(user, "Ctrl+Shift-click to empty.") - to_chat(user, "Alt-click to extinguish.") + . += "Ctrl+Shift-click to empty." + . += "Alt-click to extinguish." /obj/item/bong/ignition_effect(atom/A, mob/user) if(firecharges) @@ -971,78 +975,76 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/bong/attack(mob/living/carbon/M, mob/living/carbon/user, obj/target) //if it's lit up, some stuff in the bowl and the user is a target, and we're not on cooldown - if (!reagents) - return - if (M ==! user) - return + if (M != user) + return ..() if(user.is_mouth_covered(head_only = 1)) to_chat(user, "Remove your headgear first.") - return + return ..() if(user.is_mouth_covered(mask_only = 1)) to_chat(user, "Remove your mask first.") - return + return ..() if (!reagents.total_volume) to_chat(user, "There's nothing in the bowl.") - return + return ..() if (!firecharges) to_chat(user, "You have to light it up first.") + return ..() + + if (last_used_time + 30 >= world.time) + return ..() + var/hit_strength + var/noise + var/hittext = "" + //if the intent is help then you take a small hit, else a big one + if (user.a_intent == INTENT_HARM) + hit_strength = 2 + noise = 100 + hittext = "big hit" + else + hit_strength = 1 + noise = 70 + hittext = "hit" + //bubbling sound + playsound(user.loc,'sound/effects/bonghit.ogg', noise, 1) + + last_used_time = world.time + + //message + user.visible_message("[user] begins to take a [hittext] from the [src]!", \ + "You begin to take a [hittext] from [src].") + + //we take a hit here, after an uninterrupted delay + if(!do_after(user, 25, target = user)) return + if (reagents && reagents.total_volume) + var/fraction = 12 * hit_strength - if (last_used_time + 30 < world.time) - var/hit_strength - var/noise - var/hittext = "" - //if the intent is help then you take a small hit, else a big one - if (user.a_intent == INTENT_HARM) - hit_strength = 2 - noise = 100 - hittext = "big hit" - else - hit_strength = 1 - noise = 70 - hittext = "hit" - //bubbling sound - playsound(user.loc,'sound/effects/bonghit.ogg', noise, 1) + var/datum/effect_system/smoke_spread/chem/smoke_machine/s = new + s.set_up(reagents, hit_strength, 18, user.loc) + s.start() - last_used_time = world.time + reagents.reaction(user, INGEST, fraction) + if(!reagents.trans_to(user, fraction)) + reagents.remove_any(fraction) - //message - user.visible_message("[user] begins to take a "+ hittext +" from the [src]!", \ - "You begin to take a "+ hittext +" from [src].") + if (hit_strength == 2 && prob(15)) + user.emote("cough") + user.adjustOxyLoss(15) - //we take a hit here, after an uninterrupted delay - if(do_after(user, 25, target = user)) - if (reagents && reagents.total_volume) - var/fraction = 12 * hit_strength + user.visible_message("[user] takes a [hittext] from the [src]!", \ + "You take a [hittext] from [src].") - var/datum/effect_system/smoke_spread/chem/smoke_machine/s = new - s.set_up(reagents, hit_strength, 18, user.loc) - s.start() - - reagents.reaction(user, INGEST, fraction) - if(!reagents.trans_to(user, fraction)) - reagents.remove_any(fraction) - - if (hit_strength == 2 && prob(15)) - user.emote("cough") - user.adjustOxyLoss(15) - - //playsound(user.loc, 'sound/effects/smoke.ogg', 10, 1, -3) - - user.visible_message("[user] takes a "+ hittext +" from the [src]!", \ - "You take a "+ hittext +" from [src].") - - firecharges = firecharges - 1 - if (firecharges == 0) - bongturnoff() - if (!reagents.total_volume) - firecharges = 0 - bongturnoff() + firecharges = firecharges - 1 + if (!firecharges) + bongturnoff() + if (!reagents.total_volume) + firecharges = 0 + bongturnoff() @@ -1060,4 +1062,4 @@ CIGARETTE PACKETS ARE IN FANCY.DM name = "coconut bong" icon_off = "coconut_bong" icon_on = "coconut_bong_lit" - desc = "A water bong used for smoking dried plants. This one's made out of a coconut and some bamboo" \ No newline at end of file + desc = "A water bong used for smoking dried plants. This one's made out of a coconut and some bamboo." \ No newline at end of file