From a280b871034833531652d25c8592918842baf52e Mon Sep 17 00:00:00 2001 From: cybercapitalism <98280110+cybercapitalism@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:07:22 -0600 Subject: [PATCH 01/24] Fixes #24198 (#24357) * make reinforcing grab only check if mob is restrained * restrained was false advertising --- code/modules/mob/mob_grab.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 5baa6c1f92af..ca1b4c9aad76 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -303,7 +303,7 @@ return if(world.time < (last_upgrade + UPGRADE_COOLDOWN)) return - if(!(assailant.mobility_flags & MOBILITY_MOVE) || IS_HORIZONTAL(assailant)) + if(HAS_TRAIT(assailant, TRAIT_HANDS_BLOCKED) || IS_HORIZONTAL(assailant)) qdel(src) return From f5da54ba1522466183cae9a9a933a67534c59cb2 Mon Sep 17 00:00:00 2001 From: DGamerL <108773801+DGamerL@users.noreply.github.com> Date: Wed, 28 Feb 2024 22:08:00 +0100 Subject: [PATCH 02/24] Easy (#24351) --- code/modules/admin/verbs/adminpm.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index f37ccce6e716..899e035a7579 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -165,7 +165,7 @@ var/ping_link = check_rights(R_ADMIN, 0, mob) ? "(PING)" : "" var/window_link = "(WINDOW)" var/alert_link = check_rights(R_ADMIN, FALSE, mob) ? " (ALERT)" : "" - to_chat(src, "[send_pm_type][type] to-[holder ? key_name(C, TRUE, type) : key_name_hidden(C, TRUE, type)]: [emoji_msg] [ping_link] [window_link][alert_link]") + to_chat(src, "[send_pm_type][type] to-[holder ? key_name(C, TRUE, type) : key_name_hidden(C, TRUE, type)]: [emoji_msg] [ping_link] [window_link][alert_link]", MESSAGE_TYPE_ADMINPM) /*if(holder && !C.holder) C.last_pm_recieved = world.time From 81fc020ce0a5bc8a373edf77ef8bf93e5bc36f00 Mon Sep 17 00:00:00 2001 From: S34N <12197162+S34NW@users.noreply.github.com> Date: Thu, 29 Feb 2024 22:39:37 +0000 Subject: [PATCH 03/24] Updates headcoder list (#24368) * charlie_bit_my_finger * alphabet --- .github/CONTRIBUTING.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 41cd2923af08..33ddd50f5df8 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -788,7 +788,7 @@ Each role inherits the lower role's responsibilities (IE: Headcoders also have c `Headcoders` are the overarching "administrators" of the repository. People included in this role are: * [farie82](https://github.com/farie82) -* [Charliminator](https://github.com/hal9000PR) +* [S34N](https://github.com/S34NW) * [SteelSlayer](https://github.com/SteelSlayer) --- @@ -797,21 +797,21 @@ Each role inherits the lower role's responsibilities (IE: Headcoders also have c * [AffectedArc07](https://github.com/AffectedArc07) +* [Charliminator](https://github.com/hal9000PR) * [lewcc](https://github.com/lewcc) -* [S34N](https://github.com/S34NW) --- `Review Team` members are people who are denoted as having reviews which can affect mergeability status. People included in this role are: -* [lewcc](https://github.com/lewcc) -* [S34N](https://github.com/S34NW) -* [Sirryan2002](https://github.com/Sirryan2002) -* [Contrabang](https://github.com/Contrabang) * [Burzah](https://github.com/Burzah) +* [Charliminator](https://github.com/hal9000PR) +* [Contrabang](https://github.com/Contrabang) * [DGamerL](https://github.com/DGamerL) -* [Warriorstar](https://github.com/warriorstar-orion) * [Henri215](https://github.com/Henri215) +* [lewcc](https://github.com/lewcc) +* [Sirryan2002](https://github.com/Sirryan2002) +* [Warriorstar](https://github.com/warriorstar-orion) --- From da34941fae1473a64405c49290a9f62e7806dc28 Mon Sep 17 00:00:00 2001 From: Nathan Winters <100448493+CinnamonSnowball@users.noreply.github.com> Date: Fri, 1 Mar 2024 12:39:25 +0100 Subject: [PATCH 04/24] Minor pill/patch application refactor (#23958) * Refactor pill/patch application * I will come back to this --- .../mob/living/carbon/alien/alien_base.dm | 19 ---- code/modules/mob/living/carbon/carbon.dm | 94 +++++-------------- .../reagents/reagent_containers/patch.dm | 36 ++++--- .../reagents/reagent_containers/pill.dm | 33 +++++-- 4 files changed, 75 insertions(+), 107 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/alien_base.dm b/code/modules/mob/living/carbon/alien/alien_base.dm index 8d2a727019e1..97559889b956 100644 --- a/code/modules/mob/living/carbon/alien/alien_base.dm +++ b/code/modules/mob/living/carbon/alien/alien_base.dm @@ -260,25 +260,6 @@ and carry the owner just to make sure*/ . = ..() ADD_TRAIT(src, TRAIT_IMMOBILIZED, LYING_DOWN_TRAIT) //Xenos can't crawl -/mob/living/carbon/alien/consume_patch_or_pill(obj/item/reagent_containers/medicine, mob/user) - var/apply_method = "swallow" - var/how_many_reagents = medicine.reagents.total_volume - var/reagent_application = REAGENT_INGEST - if(ispatch(medicine)) - apply_method = "apply" - how_many_reagents = clamp(medicine.reagents.total_volume, 0.1, 2) - reagent_application = REAGENT_TOUCH - - visible_message("[user] attempts to force [src] to [apply_method] [medicine].") - if(!do_after(user, 5 SECONDS, TRUE, src)) // You try feeding a xenomorph a pill - return - - visible_message("[user] forces [src] to [apply_method] [medicine].") - var/fraction = min(1 / medicine.reagents.total_volume, 1) - medicine.reagents.reaction(src, reagent_application, fraction) - medicine.reagents.trans_to(src, how_many_reagents) - return TRUE - /mob/living/carbon/alien/update_stat(reason) if(health <= HEALTH_THRESHOLD_CRIT && stat == CONSCIOUS) KnockOut() diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 2acca034a2aa..5a688ee701dd 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1159,26 +1159,22 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven return TRUE /mob/living/carbon/proc/eat(obj/item/food/to_eat, mob/user, bitesize_override) - if(ispill(to_eat) || ispatch(to_eat)) // We first have to know if it's either a pill or a patch, only then can we check if it's a food item - return consume_patch_or_pill(to_eat, user) - - if(!isfood(to_eat)) + if(!istype(to_eat)) return FALSE - var/obj/item/food/food = to_eat // It's not a patch or a pill so it must be food var/fullness = nutrition + 10 - if(istype(food, /obj/item/food/snacks)) - for(var/datum/reagent/consumable/C in reagents.reagent_list) //we add the nutrition value of what we're currently digesting + if(istype(to_eat, /obj/item/food/snacks)) + for(var/datum/reagent/consumable/C in reagents.reagent_list) // We add the nutrition value of what we're currently digesting fullness += C.nutriment_factor * C.volume / (C.metabolization_rate * metabolism_efficiency) if(user == src) - if(!selfFeed(food, fullness)) + if(!selfFeed(to_eat, fullness)) return FALSE else - if(!forceFed(food, user, fullness)) + if(!forceFed(to_eat, user, fullness)) return FALSE - consume(food, bitesize_override) + consume(to_eat, bitesize_override) SSticker.score.score_food_eaten++ return TRUE @@ -1203,25 +1199,22 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven return TRUE /mob/living/carbon/proc/selfFeed(obj/item/food/to_eat, fullness) - if(ispill(to_eat)) - to_chat(src, "You swallow [to_eat].") - else if(ispatch(to_eat)) - to_chat(src, "You apply [to_eat].") - else - if(to_eat.junkiness && satiety < -150 && nutrition > NUTRITION_LEVEL_STARVING + 50) - to_chat(src, "You don't feel like eating any more junk food at the moment.") - return FALSE - if(fullness <= 50) - to_chat(src, "You hungrily chew out a piece of [to_eat] and gobble it!") - else if(fullness > 50 && fullness < 150) - to_chat(src, "You hungrily begin to eat [to_eat].") - else if(fullness > 150 && fullness < 500) - to_chat(src, "You take a bite of [to_eat].") - else if(fullness > 500 && fullness < 600) - to_chat(src, "You unwillingly chew a bit of [to_eat].") - else if(fullness > (600 * (1 + overeatduration / 2000))) // The more you eat - the more you can eat - to_chat(src, "You cannot force any more of [to_eat] to go down your throat.") - return FALSE + if(to_eat.junkiness && satiety < -150 && nutrition > NUTRITION_LEVEL_STARVING + 50) + to_chat(src, "You don't feel like eating any more junk food at the moment.") + return FALSE + + if(fullness <= 50) + to_chat(src, "You hungrily chew out a piece of [to_eat] and gobble it!") + else if(fullness > 50 && fullness < 150) + to_chat(src, "You hungrily begin to eat [to_eat].") + else if(fullness > 150 && fullness < 500) + to_chat(src, "You take a bite of [to_eat].") + else if(fullness > 500 && fullness < 600) + to_chat(src, "You unwillingly chew a bit of [to_eat].") + else if(fullness > (600 * (1 + overeatduration / 2000))) // The more you eat - the more you can eat + to_chat(src, "You cannot force any more of [to_eat] to go down your throat.") + return FALSE + return TRUE /mob/living/carbon/proc/selfDrink(obj/item/reagent_containers/drinks/toDrink, mob/user) @@ -1245,7 +1238,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven /*TO DO - If/when stomach organs are introduced, override this at the human level sending the item to the stomach so that different stomachs can handle things in different ways VB*/ /mob/living/carbon/proc/consume(obj/item/food/to_eat, bitesize_override) - var/this_bite = bitesize_override ? bitesize_override : to_eat.bitesize + var/this_bite = bitesize_override || to_eat.bitesize if(!to_eat.reagents) return if(satiety > -200) @@ -1258,47 +1251,6 @@ so that different stomachs can handle things in different ways VB*/ to_eat.reagents.reaction(src, REAGENT_INGEST, fraction) to_eat.reagents.trans_to(src, this_bite) -/mob/living/carbon/proc/consume_patch_or_pill(obj/item/reagent_containers/medicine, mob/user) // medicine = patch or pill - // The reason why this is bundled up is to avoid 2 procs that will be practically identical - if(!medicine.reagents.total_volume) - return TRUE // Doesn't have reagents, would be fine to use up - - if(!dna.species.dietflags) // You will not feed the IPC - to_chat(user, "You cannot feed [src] [medicine]!") - return FALSE - - var/apply_method = "swallow" - var/reagent_application = REAGENT_INGEST - var/requires_mouth = TRUE - var/instant = FALSE - var/how_many_reagents = medicine.reagents.total_volume - - if(ispatch(medicine)) - apply_method = "apply" - reagent_application = REAGENT_TOUCH - requires_mouth = FALSE - how_many_reagents = clamp(medicine.reagents.total_volume, 0.1, 2) // Patches aren't that good at transporting reagents into the bloodstream - var/obj/item/reagent_containers/patch/patch = medicine - if(patch.instant_application) - instant = TRUE - - if(user != src && !instant) - if(requires_mouth && !get_organ("head")) - to_chat(user, "You cannot feed [src] [medicine]!") - return FALSE - visible_message("[user] attempts to force [src] to [apply_method] [medicine].") - if(!do_after(user, 3 SECONDS, TRUE, src, TRUE)) - return FALSE - forceFedAttackLog(medicine, user) - visible_message("[user] forces [src] to [apply_method] [medicine].") - else - to_chat(user, "You [apply_method] [medicine].") - - var/fraction = min(1 / medicine.reagents.total_volume, 1) - medicine.reagents.reaction(src, reagent_application, fraction) - medicine.reagents.trans_to(src, how_many_reagents) - return TRUE - /mob/living/carbon/get_access() . = ..() diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index a0f33f2ed620..779b8b389883 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -12,22 +12,36 @@ var/instant_application = FALSE var/needs_to_apply_reagents = TRUE -/obj/item/reagent_containers/patch/attack(mob/living/carbon/M, mob/user, def_zone) - return apply(M, user) +/obj/item/reagent_containers/patch/attack(mob/living/carbon/C, mob/user) + return apply(C, user) /obj/item/reagent_containers/patch/attack_self(mob/user) return apply(user, user) -/obj/item/reagent_containers/patch/proc/apply(mob/living/carbon/M, mob/user) - if(!istype(M)) +/obj/item/reagent_containers/patch/proc/apply(mob/living/carbon/C, mob/user) + if(!istype(C)) return FALSE - if(M.eat(src, user)) - if(user.get_active_hand() == src) - user.drop_item() // Only drop if they're holding the patch directly - forceMove(M) - LAZYADD(M.processing_patches, src) - return TRUE - return FALSE + + if(ismachineperson(C)) + to_chat(user, "[user == C ? "You" : C] can't use [src]!") + return FALSE + + if(user == C) + to_chat(user, "You apply [src].") + else + if(!instant_application) + C.visible_message("[user] attempts to force [C] to apply [src].") + if(!do_after(user, 3 SECONDS, TRUE, C, TRUE)) + return FALSE + + C.forceFedAttackLog(src, user) + C.visible_message("[user] forces [C] to apply [src].") + + if(user.get_active_hand() == src) + user.drop_item() // Only drop if they're holding the patch directly + forceMove(C) + LAZYADD(C.processing_patches, src) + return TRUE /obj/item/reagent_containers/patch/styptic name = "brute patch" diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 2c843596059c..20bed7001567 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -18,16 +18,37 @@ if(!icon_state) icon_state = "pill[rand(1, 20)]" -/obj/item/reagent_containers/pill/proc/apply(mob/living/carbon/M, mob/user, def_zone) - if(!istype(M)) +/obj/item/reagent_containers/pill/proc/apply(mob/living/carbon/C, mob/user) + if(!istype(C)) return FALSE - if(M.eat(src, user)) + + if(!reagents.total_volume) qdel(src) return TRUE - return FALSE -/obj/item/reagent_containers/pill/attack(mob/living/carbon/M, mob/user, def_zone) - return apply(M, user) + if(ishuman(C)) + var/mob/living/carbon/human/H = C + if(!H.check_has_mouth()) + to_chat(user, "[user == H ? "You" : H] can't ingest [src]!") + return FALSE + + if(user == C) + to_chat(user, "You swallow [src].") + else + C.visible_message("[user] attempts to force [C] to swallow [src].") + if(!do_after(user, 3 SECONDS, TRUE, C, TRUE)) + return FALSE + + C.forceFedAttackLog(src, user) + C.visible_message("[user] forces [C] to swallow [src].") + + reagents.reaction(C, REAGENT_INGEST) + reagents.trans_to(C, reagents.total_volume) + qdel(src) + return TRUE + +/obj/item/reagent_containers/pill/attack(mob/living/carbon/C, mob/user) + return apply(C, user) /obj/item/reagent_containers/pill/attack_self(mob/user) return apply(user, user) From 2ff3e7621698d5dbbdf48a126de4677bc17f1cb9 Mon Sep 17 00:00:00 2001 From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com> Date: Fri, 1 Mar 2024 06:39:35 -0500 Subject: [PATCH 05/24] shock biochip nerfs (#23959) * shock biochip nerfs * kw * describes it --- code/__DEFINES/power_defines.dm | 2 ++ code/_onclick/click_override.dm | 13 +++++++++---- .../miniantags/pulsedemon/pulsedemon_abilities.dm | 2 -- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/code/__DEFINES/power_defines.dm b/code/__DEFINES/power_defines.dm index 0a8694dbb1fb..15d4e1c1baa9 100644 --- a/code/__DEFINES/power_defines.dm +++ b/code/__DEFINES/power_defines.dm @@ -38,3 +38,5 @@ #define APC_IS_CHARGING 1 /// APC battery is at 100% #define APC_FULLY_CHARGED 2 + +#define KW *1000 diff --git a/code/_onclick/click_override.dm b/code/_onclick/click_override.dm index 9bdd7691a1a4..1309e3c9cdc2 100644 --- a/code/_onclick/click_override.dm +++ b/code/_onclick/click_override.dm @@ -71,7 +71,7 @@ var/atom/beam_from = user var/atom/target_atom = A - for(var/i in 0 to 3) + for(var/i in 0 to 2) //3 attempts. Shocks at the clicked source, tries to find a mob in 1 tile, then choses a random tile 1 away to try again. As such, can only hit a mob 2 tiles away from the click beam_from.Beam(target_atom, icon_state = "lightning[rand(1, 12)]", icon = 'icons/effects/effects.dmi', time = 6) if(isliving(target_atom)) var/mob/living/L = target_atom @@ -81,7 +81,12 @@ L.apply_damage(60, STAMINA) L.Jitter(10 SECONDS) var/atom/throw_target = get_edge_target_turf(user, get_dir(user, get_step_away(L, user))) - L.throw_at(throw_target, powergrid / 100000, powergrid / 100000) //100 kW in grid throws 1 tile, 200 throws 2, etc. + if(ishuman(L)) + var/mob/living/carbon/human/H = L + if(H.gloves && H.gloves.siemens_coefficient == 0) //No throwing with insulated gloves (you still get stamina however) + break + L.throw_at(throw_target, powergrid / (150 KW), powergrid / (300 KW)) //150 kW in grid throws 1 tile, 300 throws 2, etc. + else add_attack_logs(user, L, "electrocuted with[P.unlimited_power ? " unlimited" : null] power bio-chip") if(P.unlimited_power) @@ -90,13 +95,13 @@ electrocute_mob(L, C.powernet, P) break var/list/next_shocked = list() - for(var/mob/M in range(3, target_atom)) //Try to jump to a mob first + for(var/mob/M in range(1, target_atom)) //Try to jump to a mob first if(M == user || isobserver(M)) continue next_shocked.Add(M) break //Break this so it gets the closest, thank you if(!length(next_shocked)) //No mob? Random bullshit go, try to get closer to a mob with luck - for(var/atom/movable/AM in orange(3, target_atom)) + for(var/atom/movable/AM in orange(1, target_atom)) if(AM == user || iseffect(AM) || isobserver(AM)) continue next_shocked.Add(AM) diff --git a/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_abilities.dm b/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_abilities.dm index 44be9000c319..d589d34ea973 100644 --- a/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_abilities.dm +++ b/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_abilities.dm @@ -1,4 +1,3 @@ -#define KW *1000 #define PULSEDEMON_REMOTE_DRAIN_MULTIPLIER 5 #define PD_UPGRADE_HIJACK_SPEED "Speed" @@ -484,4 +483,3 @@ return FALSE return TRUE -#undef KW From a3ae6459b23bdd2b461815e765517916a50ccfbe Mon Sep 17 00:00:00 2001 From: Arthri <41360489+Arthri@users.noreply.github.com> Date: Fri, 1 Mar 2024 19:40:02 +0800 Subject: [PATCH 06/24] Add Cranial Hypertrichosis (Hair Grow Symptom) (#23969) * Add Cranial Hypertrichosis * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Early return * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Add stage 2 * Apply suggestions from code review Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * Don't affect bald species * Fix formatting * Revert invalid syntax --------- Co-authored-by: Arthri <41360489+a@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> --- code/datums/diseases/advance/symptoms/hair.dm | 49 +++++++++++++++++++ paradise.dme | 1 + 2 files changed, 50 insertions(+) create mode 100644 code/datums/diseases/advance/symptoms/hair.dm diff --git a/code/datums/diseases/advance/symptoms/hair.dm b/code/datums/diseases/advance/symptoms/hair.dm new file mode 100644 index 000000000000..60419bd5b25f --- /dev/null +++ b/code/datums/diseases/advance/symptoms/hair.dm @@ -0,0 +1,49 @@ +/* +////////////////////////////////////// +Cranial Hypertrichosis + + Very very Noticeable. + Decreases resistance slightly. + Decreases stage speed. + Reduced transmittability + Intense Level. + +BONUS + Makes the mob grow massive hair, regardless of gender. + +////////////////////////////////////// +*/ + +/datum/symptom/hair + name = "Cranial Hypertrichosis" + stealth = -3 + resistance = -1 + stage_speed = -3 + transmittable = -1 + level = 4 + severity = 1 + +/datum/symptom/hair/Activate(datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + if(!ishuman(A.affected_mob)) + return + var/mob/living/carbon/human/H = A.affected_mob + if(H.dna.species.bodyflags & BALD) + return + var/obj/item/organ/external/head/head_organ = H.get_organ("head") + if(!istype(head_organ)) + return + switch(A.stage) + if(1, 2, 3) + to_chat(H, "Your scalp itches.") + head_organ.h_style = random_hair_style(H.gender, head_organ.dna.species.name) + else + to_chat(H, "Hair bursts forth from your scalp!") + var/datum/sprite_accessory/tmp_hair_style = GLOB.hair_styles_full_list["Very Long Hair"] + + if(head_organ.dna.species.name in tmp_hair_style.species_allowed) //If 'Very Long Hair' is a style the person's species can have, give it to them. + head_organ.h_style = "Very Long Hair" + else //Otherwise, give them a random hair style. + head_organ.h_style = random_hair_style(H.gender, head_organ.dna.species.name) + H.update_hair() diff --git a/paradise.dme b/paradise.dme index 66918f06b5c5..10fded4cabfb 100644 --- a/paradise.dme +++ b/paradise.dme @@ -446,6 +446,7 @@ #include "code\datums\diseases\advance\symptoms\fever.dm" #include "code\datums\diseases\advance\symptoms\fire.dm" #include "code\datums\diseases\advance\symptoms\flesh_eating.dm" +#include "code\datums\diseases\advance\symptoms\hair.dm" #include "code\datums\diseases\advance\symptoms\hallucigen.dm" #include "code\datums\diseases\advance\symptoms\headache.dm" #include "code\datums\diseases\advance\symptoms\heal.dm" From f016100149587718c2a3c18bed1d3c9c328548ed Mon Sep 17 00:00:00 2001 From: Marm <85680653+ItsMarmite@users.noreply.github.com> Date: Fri, 1 Mar 2024 12:03:26 +0000 Subject: [PATCH 07/24] But what if I don't want to kill people? Disabler SMG Port. (#24107) * i joined the force to help people * disabler i hardly know her * Update code/modules/projectiles/ammunition/energy_lens.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * oops * Update code/__DEFINES/lighting_defines.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/modules/projectiles/guns/energy/stun.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/modules/projectiles/guns/energy/stun.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/modules/projectiles/guns/energy/stun.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/modules/projectiles/guns/energy/stun.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/projectiles/guns/energy/stun.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> --- .../projectiles/ammunition/energy_lens.dm | 9 +++++++++ code/modules/projectiles/guns/energy/stun.dm | 12 ++++++++++++ code/modules/projectiles/projectile/beams.dm | 6 ++++++ .../supply/supply_packs/pack_security.dm | 8 ++++++++ icons/mob/inhands/guns_lefthand.dmi | Bin 70967 -> 72549 bytes icons/mob/inhands/guns_righthand.dmi | Bin 81636 -> 83432 bytes icons/obj/guns/energy.dmi | Bin 46112 -> 46866 bytes sound/weapons/taser3.ogg | Bin 0 -> 9624 bytes 8 files changed, 35 insertions(+) create mode 100644 sound/weapons/taser3.ogg diff --git a/code/modules/projectiles/ammunition/energy_lens.dm b/code/modules/projectiles/ammunition/energy_lens.dm index 5935376b9bb2..322d210681af 100644 --- a/code/modules/projectiles/ammunition/energy_lens.dm +++ b/code/modules/projectiles/ammunition/energy_lens.dm @@ -166,6 +166,15 @@ harmful = FALSE delay = 0.6 SECONDS +/obj/item/ammo_casing/energy/disabler/smg + projectile_type = /obj/item/projectile/beam/disabler/weak + e_cost = 25 + fire_sound = 'sound/weapons/taser3.ogg' + click_cooldown_override = 2 + variance = 15 + randomspread = 1 + delay = 2 + /obj/item/ammo_casing/energy/disabler/cyborg //seperate balancing for cyborg, again e_cost = 250 diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 53c1120c998b..1b299dd77fc0 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -67,6 +67,18 @@ return ..() +/obj/item/gun/energy/disabler/smg + name = "disabler smg" + desc = "An automatic disabler variant, as opposed to the conventional model. Boasts a higher ammunition capacity at the cost of slightly reduced beam effectiveness." + icon_state = "disabler_smg" + weapon_weight = WEAPON_HEAVY + w_class = WEIGHT_CLASS_BULKY + ammo_type = list(/obj/item/ammo_casing/energy/disabler/smg) + burst_size = 2 + fire_delay = 2.5 + shaded_charge = TRUE + can_holster = FALSE + /obj/item/gun/energy/disabler/cyborg name = "cyborg disabler" desc = "An integrated disabler that draws from a cyborg's power cell. This weapon contains a limiter to prevent the cyborg's power cell from overheating." diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 3d6211b949d1..d934d34dbe94 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -99,6 +99,12 @@ impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser light_color = LIGHT_COLOR_CYAN +/obj/item/projectile/beam/disabler/weak + name = "weakened disabler beam" + damage = 15 + armour_penetration_flat = -10 + light_color = LIGHT_COLOR_BLUE + /obj/item/projectile/beam/pulse name = "pulse" icon_state = "u_laser" diff --git a/code/modules/supply/supply_packs/pack_security.dm b/code/modules/supply/supply_packs/pack_security.dm index f6e26bb1a441..ed278f83aaf4 100644 --- a/code/modules/supply/supply_packs/pack_security.dm +++ b/code/modules/supply/supply_packs/pack_security.dm @@ -280,6 +280,14 @@ cost = 400 containername = "tranquilizer shell crate" +/datum/supply_packs/security/armory/disablersmg + name = "WT-450 Disabler SMG Crate" + contains = list(/obj/item/gun/energy/disabler/smg, + /obj/item/gun/energy/disabler/smg) + cost = 550 + containertype = /obj/structure/closet/crate/secure/plasma + containername = "disabler smg crate" + /////// Implants & etc /datum/supply_packs/security/armory/mindshield diff --git a/icons/mob/inhands/guns_lefthand.dmi b/icons/mob/inhands/guns_lefthand.dmi index 3e211172c9907a90fc4d04b6d35c2c28dd514f61..7cb890d0548f0310132dcf9b7fc42c66b2b64749 100644 GIT binary patch delta 13846 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 delta 12389 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 W7LA;JLwxK2P3Nxuo$}j{pZ^cLnyN7X diff --git a/icons/mob/inhands/guns_righthand.dmi b/icons/mob/inhands/guns_righthand.dmi index deac7d152f0a9ccb06e63b28beda7a50b7c38078..bbbda0e17cdd525b0c63d2b2af0c7e4be7ebf4b5 100644 GIT binary patch delta 21739 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 delta 19943 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