From 586710e0d4f012fe082d3bd2b5fe76bd8ac5a207 Mon Sep 17 00:00:00 2001 From: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Date: Sun, 5 Jan 2025 20:16:59 -0600 Subject: [PATCH] You can light a match on the heel of your boot (#88690) ## About The Pull Request - Matches can be ignited with boots. - Matches have a rare chance of failing to ignite (prompting you to try again) or an even rarer chance of snapping (wasting it). - Also makes ignition span use mostly-consistent (using rose span for the "cooler" ignition effects). ## Why It's Good For The Game You may be thinking "hey, matches won't light on just friction unless they're from the 1800s", and you'd be right. But it's a cool movie trope, which means it should be possible, I don't make the rules. ## Changelog :cl: Melbert add: You can light matches on the heel of your boots - Just don't do it too hard. /:cl: --- code/datums/elements/ignites_matches.dm | 39 +++++++++++ code/game/objects/items/cigarettes.dm | 64 +++++++++++++++--- code/game/objects/items/dualsaber.dm | 2 +- code/game/objects/items/melee/energy.dm | 2 +- .../items/storage/boxes/service_boxes.dm | 8 +-- code/game/objects/items/tools/weldingtool.dm | 2 +- .../antagonists/heretic/magic/mansus_grasp.dm | 2 +- .../antagonists/heretic/magic/star_touch.dm | 2 +- code/modules/clothing/shoes/boots.dm | 10 +-- code/modules/clothing/shoes/clown.dm | 1 + code/modules/clothing/shoes/cowboy.dm | 8 +-- .../projectiles/guns/ballistic/revolver.dm | 2 +- code/modules/projectiles/guns/energy.dm | 2 +- code/modules/surgery/tools.dm | 2 +- icons/obj/cigarettes.dmi | Bin 21891 -> 22070 bytes strings/sillytips.txt | 2 + strings/tips.txt | 1 - tgstation.dme | 1 + 18 files changed, 114 insertions(+), 36 deletions(-) create mode 100644 code/datums/elements/ignites_matches.dm diff --git a/code/datums/elements/ignites_matches.dm b/code/datums/elements/ignites_matches.dm new file mode 100644 index 00000000000..7579b809244 --- /dev/null +++ b/code/datums/elements/ignites_matches.dm @@ -0,0 +1,39 @@ +/// Ignites matches swiped over it. +/datum/element/ignites_matches + +/datum/element/ignites_matches/Attach(datum/target) + . = ..() + RegisterSignal(target, COMSIG_ATOM_ITEM_INTERACTION, PROC_REF(on_interact)) + +/datum/element/ignites_matches/Detach(datum/source) + UnregisterSignal(source, COMSIG_ATOM_ITEM_INTERACTION) + return ..() + +/datum/element/ignites_matches/proc/on_interact(atom/source, mob/living/user, obj/item/match/match, ...) + SIGNAL_HANDLER + if(!istype(match) || match.lit || match.burnt || match.broken) + return NONE + if(SHOULD_SKIP_INTERACTION(source, match, user)) + return NONE + var/over_what_tp = source.loc == user ? "[user.p_their()] [source.name]" : source + var/over_what_fp = source.loc == user ? "your [source.name]" : source + if(prob(10)) + user.visible_message( + span_warning("[user] swipes [match] over [over_what_tp], but nothing happens."), + span_warning("You swipe [match] over [over_what_fp], but it fails to ignite."), + ) + return ITEM_INTERACT_SUCCESS + if(prob((HAS_TRAIT(user, TRAIT_CLUMSY) || HAS_TRAIT(user, TRAIT_HULK)) ? 33 : 2)) + user.visible_message( + span_warning("[user] swipes [match] over [over_what_tp], accidentally snapping it."), + span_warning("You swipe [match] over [over_what_fp] too fast, snapping it in half."), + ) + match.snap() + return ITEM_INTERACT_SUCCESS + + user.visible_message( + span_rose("[user] swipes [match] over [over_what_tp], igniting it."), + span_rose("You swipe [match] over [over_what_fp], igniting it."), + ) + match.matchignite() + return ITEM_INTERACT_SUCCESS diff --git a/code/game/objects/items/cigarettes.dm b/code/game/objects/items/cigarettes.dm index 51b38d032c0..f7e841c22ea 100644 --- a/code/game/objects/items/cigarettes.dm +++ b/code/game/objects/items/cigarettes.dm @@ -18,6 +18,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM desc = "A simple match stick, used for lighting fine smokables." icon = 'icons/obj/cigarettes.dmi' icon_state = "match_unlit" + inhand_icon_state = "cigoff" + base_icon_state = "match" w_class = WEIGHT_CLASS_TINY heat = 1000 grind_results = list(/datum/reagent/phosphorus = 2) @@ -27,6 +29,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/burnt = FALSE /// How long the match lasts in seconds var/smoketime = 10 SECONDS + /// If the match is broken + var/broken = FALSE /obj/item/match/process(seconds_per_tick) smoketime -= seconds_per_tick * (1 SECONDS) @@ -36,21 +40,66 @@ CIGARETTE PACKETS ARE IN FANCY.DM open_flame(heat) /obj/item/match/fire_act(exposed_temperature, exposed_volume) + . = ..() matchignite() +/obj/item/match/update_name(updates) + . = ..() + if(lit) + name = "lit [initial(name)]" + else if(burnt) + name = "burnt [initial(name)]" + else if(broken) + name = "broken [initial(name)]" + else + name = "[initial(name)]" + +/obj/item/match/update_desc(updates) + . = ..() + if(lit) + desc = "[initial(desc)]. This one is lit." + else if(burnt) + desc = "[initial(desc)]. This one has seen better days." + else if(broken) + desc = "[initial(desc)]. This one is broken." + else + desc = initial(desc) + +/obj/item/match/update_icon_state() + . = ..() + inhand_icon_state = "cigoff" + if(lit) + icon_state = "[base_icon_state]_lit" + inhand_icon_state = "cigon" + else if(burnt) + icon_state = "[base_icon_state]_burnt" + else if(broken) + icon_state = "[base_icon_state]_broken" + else + icon_state = "[base_icon_state]_unlit" + +/obj/item/match/proc/snap() + if(broken) + return + if(lit) + matchburnout() + + playsound(src, 'sound/effects/snap.ogg', 15, TRUE) + broken = TRUE + attack_verb_continuous = string_list(list("flicks")) + attack_verb_simple = string_list(list("flick")) + STOP_PROCESSING(SSobj, src) + update_appearance() + /obj/item/match/proc/matchignite() - if(lit || burnt) + if(lit || burnt || broken) return playsound(src, 'sound/items/match_strike.ogg', 15, TRUE) lit = TRUE - icon_state = "match_lit" damtype = BURN force = 3 hitsound = 'sound/items/tools/welder.ogg' - inhand_icon_state = "cigon" - name = "lit [initial(name)]" - desc = "A [initial(name)]. This one is lit." attack_verb_continuous = string_list(list("burns", "singes")) attack_verb_simple = string_list(list("burn", "singe")) if(isliving(loc)) @@ -68,13 +117,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM burnt = TRUE damtype = BRUTE force = initial(force) - icon_state = "match_burnt" - inhand_icon_state = "cigoff" - name = "burnt [initial(name)]" - desc = "A [initial(name)]. This one has seen better days." attack_verb_continuous = string_list(list("flicks")) attack_verb_simple = string_list(list("flick")) STOP_PROCESSING(SSobj, src) + update_appearance() /obj/item/match/extinguish() . = ..() diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index dd5ef68f0d3..07450877a89 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -188,7 +188,7 @@ var/mob/living/carbon/C = user if(C.wear_mask) in_mouth = ", barely missing [user.p_their()] nose" - . = span_warning("[user] swings [user.p_their()] [name][in_mouth]. [user.p_They()] light[user.p_s()] [A.loc == user ? "[user.p_their()] [A.name]" : A] in the process.") + . = span_rose("[user] swings [user.p_their()] [name][in_mouth]. [user.p_They()] light[user.p_s()] [A.loc == user ? "[user.p_their()] [A.name]" : A] in the process.") playsound(loc, hitsound, get_clamped_volume(), TRUE, -1) add_fingerprint(user) // Light your candles while spinning around the room diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index 361fc05ec64..2a3e13b6c05 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -88,7 +88,7 @@ var/mob/living/carbon/carbon_user = user if(carbon_user.wear_mask) in_mouth = ", barely missing [carbon_user.p_their()] nose" - . = span_warning("[user] swings [user.p_their()] [name][in_mouth]. [user.p_They()] light[user.p_s()] [user.p_their()] [atom.name] in the process.") + . = span_rose("[user] swings [user.p_their()] [name][in_mouth]. [user.p_They()] light[user.p_s()] [user.p_their()] [atom.name] in the process.") playsound(loc, hitsound, get_clamped_volume(), TRUE, -1) add_fingerprint(user) diff --git a/code/game/objects/items/storage/boxes/service_boxes.dm b/code/game/objects/items/storage/boxes/service_boxes.dm index f50629818ec..6d4aedf4bfc 100644 --- a/code/game/objects/items/storage/boxes/service_boxes.dm +++ b/code/game/objects/items/storage/boxes/service_boxes.dm @@ -91,13 +91,7 @@ . = ..() atom_storage.max_slots = 10 atom_storage.set_holdable(/obj/item/match) - -/obj/item/storage/box/matches/tool_act(mob/living/user, obj/item/tool, list/modifiers) - if(istype(tool, /obj/item/match)) - var/obj/item/match/match = tool - match.matchignite() - return ITEM_INTERACT_SUCCESS - return ..() + AddElement(/datum/element/ignites_matches) /obj/item/storage/box/matches/PopulateContents() for(var/i in 1 to 10) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 829de059493..813abcc86aa 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -317,7 +317,7 @@ /obj/item/weldingtool/ignition_effect(atom/ignitable_atom, mob/user) if(use_tool(ignitable_atom, user, 0)) - return span_notice("[user] casually lights [ignitable_atom] with [src], what a badass.") + return span_rose("[user] casually lights [ignitable_atom] with [src], what a badass.") else return "" diff --git a/code/modules/antagonists/heretic/magic/mansus_grasp.dm b/code/modules/antagonists/heretic/magic/mansus_grasp.dm index 67df0f2be04..1079d60d79e 100644 --- a/code/modules/antagonists/heretic/magic/mansus_grasp.dm +++ b/code/modules/antagonists/heretic/magic/mansus_grasp.dm @@ -107,7 +107,7 @@ remove_hand_with_no_refund(user) /obj/item/melee/touch_attack/mansus_fist/ignition_effect(atom/to_light, mob/user) - . = span_notice("[user] effortlessly snaps [user.p_their()] fingers near [to_light], igniting it with eldritch energies. Fucking badass!") + . = span_rose("[user] effortlessly snaps [user.p_their()] fingers near [to_light], igniting it with eldritch energies. Fucking badass!") remove_hand_with_no_refund(user) /obj/item/melee/touch_attack/mansus_fist/suicide_act(mob/living/user) diff --git a/code/modules/antagonists/heretic/magic/star_touch.dm b/code/modules/antagonists/heretic/magic/star_touch.dm index e8e824cc718..5b6b9c27522 100644 --- a/code/modules/antagonists/heretic/magic/star_touch.dm +++ b/code/modules/antagonists/heretic/magic/star_touch.dm @@ -92,7 +92,7 @@ remove_hand_with_no_refund(user) /obj/item/melee/touch_attack/star_touch/ignition_effect(atom/to_light, mob/user) - . = span_notice("[user] effortlessly snaps [user.p_their()] fingers near [to_light], igniting it with cosmic energies. Fucking badass!") + . = span_rose("[user] effortlessly snaps [user.p_their()] fingers near [to_light], igniting it with cosmic energies. Fucking badass!") remove_hand_with_no_refund(user) /obj/item/melee/touch_attack/star_touch/attack_self(mob/living/user) diff --git a/code/modules/clothing/shoes/boots.dm b/code/modules/clothing/shoes/boots.dm index 2dba6ed24fc..bc1bee98f38 100644 --- a/code/modules/clothing/shoes/boots.dm +++ b/code/modules/clothing/shoes/boots.dm @@ -22,8 +22,8 @@ /obj/item/clothing/shoes/combat/Initialize(mapload) . = ..() - create_storage(storage_type = /datum/storage/pockets/shoes) + AddElement(/datum/element/ignites_matches) /obj/item/clothing/shoes/combat/swat //overpowered boots for death squads name = "\improper SWAT boots" @@ -59,8 +59,8 @@ /obj/item/clothing/shoes/jackboots/Initialize(mapload) . = ..() - create_storage(storage_type = /datum/storage/pockets/shoes) + AddElement(/datum/element/ignites_matches) /obj/item/clothing/shoes/jackboots/fast slowdown = -1 @@ -97,8 +97,8 @@ /obj/item/clothing/shoes/winterboots/Initialize(mapload) . = ..() - create_storage(storage_type = /datum/storage/pockets/shoes) + AddElement(/datum/element/ignites_matches) /obj/item/clothing/shoes/winterboots/ice_boots name = "ice hiking boots" @@ -145,8 +145,8 @@ /obj/item/clothing/shoes/workboots/Initialize(mapload) . = ..() - create_storage(storage_type = /datum/storage/pockets/shoes) + AddElement(/datum/element/ignites_matches) /obj/item/clothing/shoes/workboots/mining name = "mining boots" @@ -164,8 +164,8 @@ /obj/item/clothing/shoes/russian/Initialize(mapload) . = ..() - create_storage(storage_type = /datum/storage/pockets/shoes) + AddElement(/datum/element/ignites_matches) /obj/item/clothing/shoes/discoshoes name = "green lizardskin shoes" diff --git a/code/modules/clothing/shoes/clown.dm b/code/modules/clothing/shoes/clown.dm index c999a242a19..22b13cd1018 100644 --- a/code/modules/clothing/shoes/clown.dm +++ b/code/modules/clothing/shoes/clown.dm @@ -16,6 +16,7 @@ LoadComponent(/datum/component/squeak, squeak_sound, 50, falloff_exponent = 20) //die off quick please AddElement(/datum/element/swabable, CELL_LINE_TABLE_CLOWN, CELL_VIRUS_TABLE_GENERIC, rand(2,3), 0) AddComponent(/datum/component/adjust_fishing_difficulty, 3) //Goofy + AddElement(/datum/element/ignites_matches) /obj/item/clothing/shoes/clown_shoes/equipped(mob/living/user, slot) . = ..() diff --git a/code/modules/clothing/shoes/cowboy.dm b/code/modules/clothing/shoes/cowboy.dm index ab8ef30c99b..8a07da1d034 100644 --- a/code/modules/clothing/shoes/cowboy.dm +++ b/code/modules/clothing/shoes/cowboy.dm @@ -18,16 +18,12 @@ /obj/item/clothing/shoes/cowboy/Initialize(mapload) . = ..() - create_storage(storage_type = /datum/storage/pockets/shoes) - - if(prob(2)) - //There's a snake in my boot + if(prob(2)) //There's a snake in my boot new /mob/living/basic/snake(src) - if(has_spurs) LoadComponent(/datum/component/squeak, spur_sound, 50, falloff_exponent = 20) - + AddElement(/datum/element/ignites_matches) /obj/item/clothing/shoes/cowboy/equipped(mob/living/carbon/user, slot) . = ..() diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 6fe97628fb0..5f74051b9b1 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -103,7 +103,7 @@ /obj/item/gun/ballistic/revolver/ignition_effect(atom/A, mob/user) if(last_fire && last_fire + 15 SECONDS > world.time) - . = span_notice("[user] touches the end of [src] to \the [A], using the residual heat to ignite it in a puff of smoke. What a badass.") + return span_rose("[user] touches the end of [src] to \the [A], using the residual heat to ignite it in a puff of smoke. What a badass.") /obj/item/gun/ballistic/revolver/c38 name = "\improper .38 revolver" diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index b4cd8fa4904..6dbcf155d7a 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -336,7 +336,7 @@ playsound(user, E.fire_sound, 50, TRUE) playsound(user, loaded_projectile.hitsound, 50, TRUE) cell.use(E.e_cost) - . = span_danger("[user] casually lights [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src]. Damn.") + . = span_rose("[user] casually lights [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src]. Damn.") /obj/item/gun/energy/proc/instant_recharge() SIGNAL_HANDLER diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index 04fa06dcfaa..4a64335f8e6 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -85,7 +85,7 @@ return surgical_tray_overlay /obj/item/cautery/ignition_effect(atom/ignitable_atom, mob/user) - . = span_notice("[user] touches the end of [src] to \the [ignitable_atom], igniting it with a puff of smoke.") + return span_rose("[user] touches the end of [src] to \the [ignitable_atom], igniting it with a puff of smoke.") /obj/item/cautery/augment desc = "A heated element that cauterizes wounds." diff --git a/icons/obj/cigarettes.dmi b/icons/obj/cigarettes.dmi index c9e9186b7a85349e1cdbb6c4c72b8793afd81b0a..85b8dfa1a02ff199867760bbc6b05bc8858d1c5a 100644 GIT binary patch literal 22070 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 O0AOrjrjNbi9Q$89x??l| literal 21891 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 diff --git a/strings/sillytips.txt b/strings/sillytips.txt index 5aa7af7ba00..b652523bad0 100644 --- a/strings/sillytips.txt +++ b/strings/sillytips.txt @@ -2,6 +2,7 @@ As an Engineer, the Supermatter shard is an extremely dangerous piece of equipme As the Captain, you can use a whetstone to sharpen your fancy fountain pen for extra robustness. As the Lawyer, you are the last bastion of roleplay-focused jobs. Even the curator got a whip to go fight people with, that sellout! Ask and you shall receive. +Bitrunning is a crime. Blobs are weak to fire! Use a flame thrower for maximum damage! Cleanbot. Completing your objectives is good practice, but the best antagonists will strive to do more than the bare minimum to really leave an impression. @@ -35,6 +36,7 @@ This game is older than most of the people playing it. This is a game that is constantly being developed for. Expect things to be added, removed, fixed, and broken on a daily basis. To defeat the slaughter demon, shoot at it until it dies. When a round ends nearly everything about it is lost forever, leave your salt behind with it. +You can light a match with the heel of your boot. ...What's that? Friction matches went out of style in the 19th century? That's nonsense! You can win a pulse rifle from the arcade machine. Honest. Your sprite represents your hitbox, so that afro makes you easier to kill. The sacrifices we make for style. Gorillas can be killed by land mines placed along forest paths. diff --git a/strings/tips.txt b/strings/tips.txt index e6fc672c5c4..d6697557ac7 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -291,7 +291,6 @@ Modular computers are compatible with integrated circuits, but most of the progr You don't need to destroy a Spacecoin machine to make your funds stop draining. Swiping your ID on it will stop the withdrawal. As a Bitrunner, upgrading your quantum server will increase rewards and reduce downtime. As a Bitrunner, your avatar has a domain info ability which will give you clues to help complete virtual domains. -Bitrunning is a crime. You can right click someone with wire cutters, jaws of life, and box cutters to instantly snap cablecuffs or zipties. The jaws can even instantly break handcuffs! You can alt-click tank transfer valves to remove a tank from them. You can use a multitool in your hand to track the area's local APC. diff --git a/tgstation.dme b/tgstation.dme index 993c4b27d8c..bf52bf176d0 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1513,6 +1513,7 @@ #include "code\datums\elements\honkspam.dm" #include "code\datums\elements\hostile_machine.dm" #include "code\datums\elements\human_biter.dm" +#include "code\datums\elements\ignites_matches.dm" #include "code\datums\elements\immerse.dm" #include "code\datums\elements\inverted_movement.dm" #include "code\datums\elements\item_fov.dm"