From 33394d6d07fa61e40c4b1e030040eca0fd8cdbb2 Mon Sep 17 00:00:00 2001 From: Digi Purpur Date: Mon, 3 Jul 2023 07:32:01 -0700 Subject: [PATCH] Supermatter Lighters balanced, and added fully. <3 ALL experimental features for /selfattack added. (Procs on opening the lighter). It'll be turned into a WMD eventually <3 --- .../loadout/loadout_smoking_ch.dm | 27 ++- icons/obj/zippo_ch.dmi | Bin 3422 -> 4971 bytes .../objects/items/weapons/cigs_lighters.dm | 208 ++++++++++++++++-- modular_chomp/sound/items/button-close.ogg | Bin 0 -> 8290 bytes modular_chomp/sound/items/button-open.ogg | Bin 0 -> 8586 bytes 5 files changed, 218 insertions(+), 17 deletions(-) create mode 100644 modular_chomp/sound/items/button-close.ogg create mode 100644 modular_chomp/sound/items/button-open.ogg diff --git a/code/modules/client/preference_setup/loadout/loadout_smoking_ch.dm b/code/modules/client/preference_setup/loadout/loadout_smoking_ch.dm index c8818f5016..1cbfb42cf2 100644 --- a/code/modules/client/preference_setup/loadout/loadout_smoking_ch.dm +++ b/code/modules/client/preference_setup/loadout/loadout_smoking_ch.dm @@ -8,4 +8,29 @@ for(var/cigar in (typesof(/obj/item/weapon/storage/fancy/cigar))) var/obj/item/weapon/storage/fancy/cigar/cigar_brand = cigar cigars[initial(cigar_brand.name)] = cigar_brand - gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cigars)) \ No newline at end of file + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cigars)) +/* // The two below here are the versions outside of a tgui selection prompt. +/datum/gear/sm_lighter/safesmzippo + display_name = "Supermatter Lighter, Hardlight" // Base Supermatter zippo + description = "A State of the Art Lighter holding an active supermatter shard in a containment field, this one is contained with a hardlight barrier." + path = /obj/item/weapon/flame/lighter/safesmzippo + +/datum/gear/sm_lighter/syndismzippo + display_name = "Supermatter Lighter, Phoron" // Syndicate Supermatter zippo + description = "A State of the Art Lighter holding an active supermatter shard in a containment field, this one is contained with a phoron shield." + path = /obj/item/weapon/flame/lighter/syndismzippo +*/ +/datum/gear/sm_lighter + display_name = "Supermatter Lighter Selection" + path = /obj/item/weapon/flame/lighter/supermatter + description = "State of the Art Supermatter Lighters." + +/datum/gear/sm_lighter/New() + ..() + var/list/sm_lighters = list() + for(var/sm_lighter in typesof(/obj/item/weapon/flame/lighter/supermatter)) + if(sm_lighter in typesof(/obj/item/weapon/flame/lighter/supermatter/expsmzippo)) // Removes the experimental/weapon variant of the SM Lighter + continue + var/obj/item/weapon/flame/lighter/supermatter/sm_lighter_type = sm_lighter + sm_lighters[initial(sm_lighter_type.name)] = sm_lighter_type + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(sm_lighters)) diff --git a/icons/obj/zippo_ch.dmi b/icons/obj/zippo_ch.dmi index 98a028f4b283248680e2efc6b750848aca7b11db..0f1b9b3f75f9147b7a28c3b7dec1bb3abac67427 100644 GIT binary patch literal 4971 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 literal 3422 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 E0c4=B6aWAK diff --git a/modular_chomp/code/game/objects/items/weapons/cigs_lighters.dm b/modular_chomp/code/game/objects/items/weapons/cigs_lighters.dm index c4d485e14f..f55aebe798 100644 --- a/modular_chomp/code/game/objects/items/weapons/cigs_lighters.dm +++ b/modular_chomp/code/game/objects/items/weapons/cigs_lighters.dm @@ -1,5 +1,5 @@ -/obj/item/weapon/flame/lighter/safesmzippo - name = "Supermatter Zippo" +/obj/item/weapon/flame/lighter/supermatter + name = "Hardlight Supermatter Zippo" desc = "State of the Art Supermatter Lighter." description_fluff = "A zippo style lighter with a tiny supermatter sliver held by a hardlight shield. When lighting a cigar, make sure to hover the tip near the sliver, not against it!" icon = 'icons/obj/zippo_ch.dmi' @@ -8,8 +8,8 @@ activation_sound = 'modular_chomp/sound/items/open.ogg' deactivation_sound = 'sound/items/zippo_off.ogg' -/obj/item/weapon/flame/lighter/syndismzippo - name = "Syndicate SM Zippo" +/obj/item/weapon/flame/lighter/supermatter/syndismzippo + name = "Phoron Supermatter Zippo" // Syndicate SM Lighter desc = "State of the Art Supermatter Lighter." description_fluff = "A red zippo style lighter with a tiny supermatter sliver held by a phoron field." icon = 'icons/obj/zippo_ch.dmi' @@ -18,8 +18,18 @@ activation_sound = 'modular_chomp/sound/items/open.ogg' deactivation_sound = 'sound/items/zippo_off.ogg' +/obj/item/weapon/flame/lighter/supermatter/expsmzippo + name = "Experimental SM Lighter" + desc = "State of the Art Supermatter Lighter" + description_fluff = "A unique take originating from the zippo design, a shard of supermatter placed within lead-lined walls. Cautious, VERY DANGEROUS do NOT touch!" + icon = 'icons/obj/zippo_ch.dmi' + icon_state = "ExpSMzippo" + item_state = "ExpSMzippo" + activation_sound = 'modular_chomp/sound/items/button-open.ogg' + deactivation_sound = 'modular_chomp/sound/items/button-close.ogg' + // safe smzippo -/obj/item/weapon/flame/lighter/safesmzippo/attack_self(mob/living/user) +/obj/item/weapon/flame/lighter/supermatter/attack_self(mob/living/user) if(!base_state) base_state = icon_state if(!lit) @@ -40,10 +50,10 @@ user.apply_damage(3,CLONE,"l_hand") user.apply_damage(4,ELECTROMAG,"l_hand") else - user.apply_damage(1,SEARING,"l_hand") + user.apply_damage(1,SEARING,"r_hand") user.apply_damage(2,ELECTROCUTE,"r_hand") user.apply_damage(3,CLONE,"r_hand") - user.apply_damage(4,ELECTROMAG,"l_hand") + user.apply_damage(4,ELECTROMAG,"r_hand") user.visible_message("After a few attempts, [user] manages to activate the [src], they however sting themselves on the shielding!") set_light(2) @@ -53,7 +63,7 @@ icon_state = "[base_state]" item_state = "[base_state]" playsound(src, deactivation_sound, 75, 1) - if(istype(src, /obj/item/weapon/flame/lighter/safesmzippo) ) + if(istype(src, /obj/item/weapon/flame/lighter/supermatter) ) user.visible_message("You hear a quiet click, as [user] shuts the [src] without even looking at what they're doing.") else user.visible_message("[user] quietly shuts the [src].") @@ -63,7 +73,7 @@ return -/obj/item/weapon/flame/lighter/safesmzippo/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/weapon/flame/lighter/supermatter/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M, /mob)) return @@ -76,21 +86,21 @@ if(M == user) cig.attackby(src, user) else - if(istype(src, /obj/item/weapon/flame/lighter/zippo)) + if(istype(src, /obj/item/weapon/flame/lighter/supermatter)) cig.light("[user] whips the [name] out and holds it for [M].") else cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") else ..() -/obj/item/weapon/flame/lighter/safesmzippo/process() +/obj/item/weapon/flame/lighter/supermatter/process() var/turf/location = get_turf(src) if(location) location.hotspot_expose(700, 5) return // syndicate smzippo -/obj/item/weapon/flame/lighter/syndismzippo/attack_self(mob/living/user) +/obj/item/weapon/flame/lighter/supermatter/syndismzippo/attack_self(mob/living/user) if(!base_state) base_state = icon_state if(!lit) @@ -101,7 +111,7 @@ if(prob(50)) user.visible_message("[user] safely activates the [src] with a push of a button!") else - if(prob(99)) + if(prob(95)) user.visible_message("After a few attempts, [user] manages to excite the supermatter within the [src].") else to_chat(user, "You singe yourself on the phoron shielding the excited supermatter!") @@ -124,7 +134,7 @@ icon_state = "[base_state]" item_state = "[base_state]" playsound(src, deactivation_sound, 75, 1) - if(istype(src, /obj/item/weapon/flame/lighter/syndismzippo) ) + if(istype(src, /obj/item/weapon/flame/lighter/supermatter/syndismzippo) ) user.visible_message("You hear a quiet click, as [user] shuts the [src] without even looking at what they're doing.") else user.visible_message("[user] quietly shuts the [src].") @@ -134,7 +144,7 @@ return -/obj/item/weapon/flame/lighter/syndismzippo/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) +/obj/item/weapon/flame/lighter/supermatter/syndismzippo/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) if(!istype(M, /mob)) return @@ -147,7 +157,7 @@ if(M == user) cig.attackby(src, user) else - if(istype(src, /obj/item/weapon/flame/lighter/syndismzippo)) + if(istype(src, /obj/item/weapon/flame/lighter/supermatter/syndismzippo)) cig.light("[user] whips the [name] out and holds it for [M].") else cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") @@ -159,3 +169,169 @@ if(location) location.hotspot_expose(700, 5) return + +// Experimental smzippo +/obj/item/weapon/flame/lighter/supermatter/expsmzippo/attack_self(mob/living/user) + if (!base_state) + base_state = icon_state + if (!lit) + lit = 1 + icon_state = "[base_state]on" + item_state = "[base_state]on" + playsound(src, activation_sound, 75, 1) + var/i = rand(1, 100) + switch(i) + if(1 to 22) + to_chat("[user] safely reveals the supermatter shard within the [src]!") + user.visible_message("You safely revealed the supermatter shard within the [src]!") + if (user.get_left_hand() == src) + user.apply_damage(1, IRRADIATE, "l_hand") + else + user.apply_damage(1, IRRADIATE, "r_hand") + if(23 to 33) + to_chat(user, "[user]'s hand slipped and they brush against the supermatter within [src]!") + user.visible_message("You accidentally grazed your hand across the supermatter!") + if (user.get_left_hand() == src) + user.apply_damage(10, IRRADIATE, "l_hand") + user.apply_damage(20, BURN, "l_hand") + user.apply_damage(20, ELECTROCUTE, "l_hand") + user.apply_damage(50, AGONY, "l_hand") + else + user.apply_damage(10, IRRADIATE, "r_hand") + user.apply_damage(20, BURN, "r_hand") + user.apply_damage(20, ELECTROCUTE, "r_hand") + user.apply_damage(50, AGONY, "r_hand") + if(34 to 44) + to_chat(user, "[user] burned themselves on the [src]!") + user.visible_message("You accidentally burn yourself on the [src]!") + if (user.get_left_hand() == src) + user.apply_damage(30, IRRADIATE, "l_hand") + user.apply_damage(20, SEARING, "l_hand") + user.apply_damage(15, BURN, "l_hand") + else + user.apply_damage(30, IRRADIATE, "r_hand") + user.apply_damage(20, SEARING, "r_hand") + user.apply_damage(15, BURN, "r_hand") + if(45 to 55) + to_chat(user, "[user] fumbled the [src] and the supermatter let out sparks!") + user.visible_message("You fumble the [src], letting the supermatter spark as the case opens!") + if (user.get_left_hand() == src) + user.apply_damage(1, ELECTROCUTE, "l_hand") + user.apply_damage(100, ELECTROMAG, "l_hand") + else + user.apply_damage(1, ELECTROCUTE, "r_hand") + user.apply_damage(100, ELECTROMAG, "r_hand") + if(56 to 66) + to_chat(user, "[user] struggles to open their [src], but when they do they get burned by the extreme heat within!") + user.visible_message("You struggle to get the case to open, and when it does the heat that pours out of the [src] burns!") + if (user.get_left_hand() == src) + user.apply_damage(1, IRRADIATE, "l_hand") + user.apply_damage(1, BRUISE, "l_hand") + user.apply_damage(200, BURN, "l_hand") + user.drop_l_hand() + else + user.apply_damage(1, IRRADIATE, "r_hand") + user.apply_damage(1, BRUISE, "r_hand") + user.apply_damage(200, BURN, "r_hand") + user.drop_r_hand() + if(67 to 77) + to_chat(user, "Ouch! While pushing on the release to open the [src], [user]'s finger slipped right as the case opened, pressing their finger firm against the supermatter!") + user.visible_message("You accidentally pushed your finger against the supermatter!") + if (user.get_left_hand() == src) + user.apply_damage(50, HALLOSS, "l_hand") + user.apply_damage(40, IRRADIATE, "l_hand") + user.apply_damage(30, BURN, "l_hand") + user.apply_damage(20, TOX, "l_hand") + user.apply_damage(10, ELECTROCUTE, "l_hand") + user.apply_effect(25, STUTTER) + user.apply_effect(15, SLUR) + user.apply_effect(5, STUN) + else + user.apply_damage(50, HALLOSS, "r_hand") + user.apply_damage(40, IRRADIATE, "r_hand") + user.apply_damage(30, BURN, "r_hand") + user.apply_damage(20, TOX, "r_hand") + user.apply_damage(10, ELECTROCUTE, "r_hand") + user.apply_effect(25, STUTTER) + user.apply_effect(15, SLUR) + user.apply_effect(5, STUN) + if(78 to 88) + to_chat(user, "[user] managed to pinch themselves on the case of their [src]... it could have been worse.") + user.visible_message("You manage to pinch yourself on the case!") + if (user.get_left_hand() == src) + user.apply_damage(1, CLONE, "l_hand") + user.apply_damage(1, HALLOSS, "l_hand") + else + user.apply_damage(1, CLONE, "r_hand") + user.apply_damage(1, HALLOSS, "r_hand") + if(89 to 99) + to_chat(user, "[user] opened the [src] but forgot that you aren't supposed to look at supermatter!") + user.visible_message("You find yourself looking at the supermatter for longer than you should...") + if (user.get_left_hand() == src) + user.apply_damage(15, HALLOSS, "l_hand") + user.apply_effect(5, WEAKEN) + user.apply_damage(15, IRRADIATE, "l_hand") + user.apply_effect(100, EYE_BLUR) + user.apply_effect(505, AGONY) + user.apply_damage(5, OXY) + user.eye_blurry = 10 + else + user.apply_damage(15, HALLOSS, "r_hand") + user.apply_effect(5, WEAKEN) + user.apply_damage(15, IRRADIATE, "l_hand") + user.apply_effect(100, EYE_BLUR) + user.apply_effect(50, AGONY) + user.apply_damage(15, OXY) + user.eye_blurry = 10 + if(100) + to_chat(user, "OH NO! [user] almost dropped their live [src]! Thank goodness they caught it... by the glowing yellow crystal... oh.") + user.visible_message("You almost dropped your [src], thank goodness you caught it! By the glowing crystal within. You find your ears filled with unearthly ringing and your last thought is \"Oh, fuck.\"") + user.drop_r_hand() // To ensure the lighter is dropped <3 + user.drop_l_hand() // To ensure the lighter is dropped <3 + for(var/obj/item/e in user) + user.drop_from_inventory(e) + log_and_message_admins("[user] dusted themselves and caused massive radiation with [src]!",user) + user.dust() + var/rads = 500 + SSradiation.radiate(src, rads) + + set_light(5) + START_PROCESSING(SSobj, src) + else + lit = 0 + icon_state = "[base_state]" + item_state = "[base_state]" + playsound(src, deactivation_sound, 75, 1) + if (istype(src, /obj/item/weapon/flame/lighter/supermatter/expsmzippo)) + user.visible_message("You hear a quiet click, as [user] closes the [src].") + else + user.visible_message("[user] quietly shuts the [src].") + + set_light(0) + STOP_PROCESSING(SSobj, src) + +/obj/item/weapon/flame/lighter/supermatter/expsmzippo/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + if (!istype(M, /mob)) + return + + if (lit == 1) + M.IgniteMob() + add_attack_logs(user, M, "Lit on fire with [src]") + + if (istype(M.wear_mask, /obj/item/clothing/mask/smokable/cigarette) && user.zone_sel.selecting == O_MOUTH && lit) + var/obj/item/clothing/mask/smokable/cigarette/cig = M.wear_mask + if (M == user) + cig.attackby(src, user) + else + if (istype(src, /obj/item/weapon/flame/lighter/supermatter/expsmzippo)) + cig.light("[user] whips the [name] out and holds it for [M].") + else + cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") + else + ..() + +/obj/item/weapon/flame/lighter/supermatter/expsmzippo/process() + var/turf/location = get_turf(src) + if (location) + location.hotspot_expose(700, 5) + return diff --git a/modular_chomp/sound/items/button-close.ogg b/modular_chomp/sound/items/button-close.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4139ac6e84053beb025a03f411c8749d34af6abc GIT binary patch literal 8290 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 TZ!v>kfA{Y#US)^D!_EH%`$FnH literal 0 HcmV?d00001 diff --git a/modular_chomp/sound/items/button-open.ogg b/modular_chomp/sound/items/button-open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..83bedcdd3624f8aa358f5114ca8ecd8db3438413 GIT binary patch literal 8586 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 R<+0vH>l3f8UbWsd`Cn(EUY!5{ literal 0 HcmV?d00001