From 2b318df9f96100d6eb4aff7262b9516a415add36 Mon Sep 17 00:00:00 2001 From: Vile Beggar Date: Thu, 1 Feb 2024 22:14:33 +0100 Subject: [PATCH 1/6] first pass --- code/modules/projectiles/gun_attachables.dm | 50 ++++++++++++++++++++- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 2c5275ac97f3..00382e92524c 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -3264,6 +3264,10 @@ Defined in conflicts.dm of the #defines folder. var/bipod_deployed = FALSE /// If this should anchor the user while in use var/heavy_bipod = FALSE + // Are switching to full auto when deploying the bipod + var/full_auto_switch = FALSE + // Store our old firemode so we can switch to it when undeploying the bipod + var/old_firemode = null /obj/item/attachable/bipod/New() ..() @@ -3277,6 +3281,15 @@ Defined in conflicts.dm of the #defines folder. /obj/item/attachable/bipod/Attach(obj/item/weapon/gun/G) ..() + if((GUN_FIREMODE_AUTOMATIC in G.gun_firemode_list) || (G.flags_gun_features & GUN_SUPPORT_PLATFORM)) + var/mob/user + var/given_action = FALSE + if(user && (G == user.l_hand || G == user.r_hand)) + give_action(user, /datum/action/item_action/bipod/toggle_full_auto_switch, src, G) + given_action = TRUE + if(!given_action) + new /datum/action/item_action/bipod/toggle_full_auto_switch(src, G) + RegisterSignal(G, COMSIG_ITEM_DROPPED, PROC_REF(handle_drop)) /obj/item/attachable/bipod/Detach(mob/user, obj/item/weapon/gun/detaching_gub) @@ -3297,8 +3310,9 @@ Defined in conflicts.dm of the #defines folder. if(istype(loc, /obj/item/weapon/gun)) var/obj/item/weapon/gun/gun = loc gun.update_attachable(slot) - for(var/datum/action/A as anything in gun.actions) - A.update_button_icon() + for(var/datum/action/item_action as anything in gun.actions) + if(!istype(item_action, /datum/action/item_action/bipod/toggle_full_auto_switch)) + item_action.update_button_icon() /obj/item/attachable/bipod/proc/handle_drop(obj/item/weapon/gun/G, mob/living/carbon/human/user) SIGNAL_HANDLER @@ -3332,6 +3346,9 @@ Defined in conflicts.dm of the #defines folder. if(heavy_bipod) user.anchored = FALSE + if(full_auto_switch && G.gun_firemode != old_firemode) + G.do_toggle_firemode(user, null, old_firemode) + if(!QDELETED(G)) playsound(user,'sound/items/m56dauto_rotate.ogg', 55, 1) update_icon() @@ -3374,6 +3391,10 @@ Defined in conflicts.dm of the #defines folder. if(heavy_bipod) user.anchored = TRUE + if(full_auto_switch && G.gun_firemode != GUN_FIREMODE_AUTOMATIC) + old_firemode = G.gun_firemode + G.do_toggle_firemode(user, null, GUN_FIREMODE_AUTOMATIC) + else to_chat(user, SPAN_NOTICE("You retract [src].")) undeploy_bipod(G) @@ -3408,6 +3429,31 @@ Defined in conflicts.dm of the #defines folder. return O2 return 0 +//item actions for handling deployment to full auto. +/datum/action/item_action/bipod/toggle_full_auto_switch/New(Target, obj/item/holder) + . = ..() + name = "Toggle Full Auto Switch" + action_icon_state = "iff_toggle_off" + button.name = name + button.overlays.Cut() + button.overlays += image('icons/mob/hud/actions.dmi', button, action_icon_state) + +/datum/action/item_action/bipod/toggle_full_auto_switch/action_activate() + var/obj/item/weapon/gun/holder_gun = holder_item + var/obj/item/attachable/bipod/attached_bipod = holder_gun.attachments["under"] + + attached_bipod.full_auto_switch = !attached_bipod.full_auto_switch + to_chat(usr, SPAN_NOTICE("[icon2html(holder_gun, usr)] You will [attached_bipod.full_auto_switch? "start" : "stop"] switching to full auto when deploying the bipod.")) + playsound(usr, 'sound/weapons/handling/gun_burst_toggle.ogg', 15, 1) + + if(attached_bipod.full_auto_switch) + action_icon_state = "iff_toggle_on" + else + action_icon_state = "iff_toggle_off" + + button.overlays.Cut() + button.overlays += image('icons/mob/hud/actions.dmi', button, action_icon_state) + /obj/item/attachable/bipod/m60 name = "bipod" From a981b42dd8b46ef731b0e3b490c48607c7f36865 Mon Sep 17 00:00:00 2001 From: Vile Beggar Date: Fri, 2 Feb 2024 11:31:36 +0100 Subject: [PATCH 2/6] add custom icon, fix action not appearing, remove action when deattaching bipod, fix some minor logic inconsistencies --- code/modules/projectiles/gun_attachables.dm | 26 +++++++++++++------- icons/mob/hud/actions.dmi | Bin 22493 -> 24967 bytes 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 00382e92524c..1b5373e67b84 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -3282,10 +3282,9 @@ Defined in conflicts.dm of the #defines folder. ..() if((GUN_FIREMODE_AUTOMATIC in G.gun_firemode_list) || (G.flags_gun_features & GUN_SUPPORT_PLATFORM)) - var/mob/user var/given_action = FALSE - if(user && (G == user.l_hand || G == user.r_hand)) - give_action(user, /datum/action/item_action/bipod/toggle_full_auto_switch, src, G) + if(usr && (G == usr.l_hand || G == usr.r_hand)) + give_action(usr, /datum/action/item_action/bipod/toggle_full_auto_switch, src, G) given_action = TRUE if(!given_action) new /datum/action/item_action/bipod/toggle_full_auto_switch(src, G) @@ -3295,6 +3294,13 @@ Defined in conflicts.dm of the #defines folder. /obj/item/attachable/bipod/Detach(mob/user, obj/item/weapon/gun/detaching_gub) UnregisterSignal(detaching_gub, COMSIG_ITEM_DROPPED) + full_auto_switch = FALSE + for(var/item_action in detaching_gub.actions) + var/datum/action/item_action/bipod/toggle_full_auto_switch/target_action = item_action + if(target_action.target == src) + qdel(item_action) + break + if(bipod_deployed) undeploy_bipod(detaching_gub) ..() @@ -3332,6 +3338,11 @@ Defined in conflicts.dm of the #defines folder. recoil_mod = RECOIL_AMOUNT_TIER_5 burst_scatter_mod = 0 delay_mod = FIRE_DELAY_TIER_12 + + //if we are no longer on fullauto, don't bother switching back to the old firemode + if(full_auto_switch && G.gun_firemode == GUN_FIREMODE_AUTOMATIC) + G.do_toggle_firemode(usr, null, old_firemode) + G.recalculate_attachment_bonuses() G.stop_fire() var/mob/living/user @@ -3346,9 +3357,6 @@ Defined in conflicts.dm of the #defines folder. if(heavy_bipod) user.anchored = FALSE - if(full_auto_switch && G.gun_firemode != old_firemode) - G.do_toggle_firemode(user, null, old_firemode) - if(!QDELETED(G)) playsound(user,'sound/items/m56dauto_rotate.ogg', 55, 1) update_icon() @@ -3433,7 +3441,7 @@ Defined in conflicts.dm of the #defines folder. /datum/action/item_action/bipod/toggle_full_auto_switch/New(Target, obj/item/holder) . = ..() name = "Toggle Full Auto Switch" - action_icon_state = "iff_toggle_off" + action_icon_state = "full_auto_switch" button.name = name button.overlays.Cut() button.overlays += image('icons/mob/hud/actions.dmi', button, action_icon_state) @@ -3447,9 +3455,9 @@ Defined in conflicts.dm of the #defines folder. playsound(usr, 'sound/weapons/handling/gun_burst_toggle.ogg', 15, 1) if(attached_bipod.full_auto_switch) - action_icon_state = "iff_toggle_on" + button.icon_state = "template_on" else - action_icon_state = "iff_toggle_off" + button.icon_state = "template" button.overlays.Cut() button.overlays += image('icons/mob/hud/actions.dmi', button, action_icon_state) diff --git a/icons/mob/hud/actions.dmi b/icons/mob/hud/actions.dmi index 820da22ea5b1e2349e70aeb683ed3e9c8a778ad7..0c55a386d2e2ad9bffe8994bc30888a7711520ac 100644 GIT binary patch literal 24967 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

>z)aA9`_Q=fp0W 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 literal 22493 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 From 34a5029c82ff567513ca72a7f2b9911679592d76 Mon Sep 17 00:00:00 2001 From: Vile Beggar Date: Fri, 2 Feb 2024 18:51:10 +0100 Subject: [PATCH 3/6] renames a couple of one letter vars in bipod code, tweaks the icon slightly lightly tested, seems to work --- code/modules/projectiles/gun_attachables.dm | 70 ++++++++++---------- icons/mob/hud/actions.dmi | Bin 24967 -> 24987 bytes 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 1b5373e67b84..89283235321d 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -3278,18 +3278,18 @@ Defined in conflicts.dm of the #defines folder. scatter_mod = SCATTER_AMOUNT_TIER_9 recoil_mod = RECOIL_AMOUNT_TIER_5 -/obj/item/attachable/bipod/Attach(obj/item/weapon/gun/G) +/obj/item/attachable/bipod/Attach(obj/item/weapon/gun/gun) ..() - if((GUN_FIREMODE_AUTOMATIC in G.gun_firemode_list) || (G.flags_gun_features & GUN_SUPPORT_PLATFORM)) + if((GUN_FIREMODE_AUTOMATIC in gun.gun_firemode_list) || (gun.flags_gun_features & GUN_SUPPORT_PLATFORM)) var/given_action = FALSE - if(usr && (G == usr.l_hand || G == usr.r_hand)) - give_action(usr, /datum/action/item_action/bipod/toggle_full_auto_switch, src, G) + if(usr && (gun == usr.l_hand || gun == usr.r_hand)) + give_action(usr, /datum/action/item_action/bipod/toggle_full_auto_switch, src, gun) given_action = TRUE if(!given_action) - new /datum/action/item_action/bipod/toggle_full_auto_switch(src, G) + new /datum/action/item_action/bipod/toggle_full_auto_switch(src, gun) - RegisterSignal(G, COMSIG_ITEM_DROPPED, PROC_REF(handle_drop)) + RegisterSignal(gun, COMSIG_ITEM_DROPPED, PROC_REF(handle_drop)) /obj/item/attachable/bipod/Detach(mob/user, obj/item/weapon/gun/detaching_gub) UnregisterSignal(detaching_gub, COMSIG_ITEM_DROPPED) @@ -3320,18 +3320,18 @@ Defined in conflicts.dm of the #defines folder. if(!istype(item_action, /datum/action/item_action/bipod/toggle_full_auto_switch)) item_action.update_button_icon() -/obj/item/attachable/bipod/proc/handle_drop(obj/item/weapon/gun/G, mob/living/carbon/human/user) +/obj/item/attachable/bipod/proc/handle_drop(obj/item/weapon/gun/gun, mob/living/carbon/human/user) SIGNAL_HANDLER UnregisterSignal(user, COMSIG_MOB_MOVE_OR_LOOK) if(bipod_deployed) - undeploy_bipod(G) + undeploy_bipod(gun) user.apply_effect(1, SUPERSLOW) user.apply_effect(2, SLOW) -/obj/item/attachable/bipod/proc/undeploy_bipod(obj/item/weapon/gun/G) - REMOVE_TRAIT(G, TRAIT_GUN_BIPODDED, "attached_bipod") +/obj/item/attachable/bipod/proc/undeploy_bipod(obj/item/weapon/gun/gun) + REMOVE_TRAIT(gun, TRAIT_GUN_BIPODDED, "attached_bipod") bipod_deployed = FALSE accuracy_mod = -HIT_ACCURACY_MULT_TIER_5 scatter_mod = SCATTER_AMOUNT_TIER_9 @@ -3340,42 +3340,42 @@ Defined in conflicts.dm of the #defines folder. delay_mod = FIRE_DELAY_TIER_12 //if we are no longer on fullauto, don't bother switching back to the old firemode - if(full_auto_switch && G.gun_firemode == GUN_FIREMODE_AUTOMATIC) - G.do_toggle_firemode(usr, null, old_firemode) + if(full_auto_switch && gun.gun_firemode == GUN_FIREMODE_AUTOMATIC) + gun.do_toggle_firemode(usr, null, old_firemode) - G.recalculate_attachment_bonuses() - G.stop_fire() + gun.recalculate_attachment_bonuses() + gun.stop_fire() var/mob/living/user - if(isliving(G.loc)) - user = G.loc + if(isliving(gun.loc)) + user = gun.loc SEND_SIGNAL(user, COMSIG_MOB_UNDEPLOYED_BIPOD) UnregisterSignal(user, COMSIG_MOB_MOVE_OR_LOOK) - if(G.flags_gun_features & GUN_SUPPORT_PLATFORM) - G.remove_firemode(GUN_FIREMODE_AUTOMATIC) + if(gun.flags_gun_features & GUN_SUPPORT_PLATFORM) + gun.remove_firemode(GUN_FIREMODE_AUTOMATIC) if(heavy_bipod) user.anchored = FALSE - if(!QDELETED(G)) + if(!QDELETED(gun)) playsound(user,'sound/items/m56dauto_rotate.ogg', 55, 1) update_icon() -/obj/item/attachable/bipod/activate_attachment(obj/item/weapon/gun/G,mob/living/user, turn_off) +/obj/item/attachable/bipod/activate_attachment(obj/item/weapon/gun/gun, mob/living/user, turn_off) if(turn_off) if(bipod_deployed) - undeploy_bipod(G) + undeploy_bipod(gun) else - var/obj/support = check_bipod_support(G, user) + var/obj/support = check_bipod_support(gun, user) if(!support&&!bipod_deployed) to_chat(user, SPAN_NOTICE("You start deploying [src] on the ground.")) - if(!do_after(user, 15, INTERRUPT_ALL, BUSY_ICON_HOSTILE, G,INTERRUPT_DIFF_LOC)) + if(!do_after(user, 15, INTERRUPT_ALL, BUSY_ICON_HOSTILE, gun, INTERRUPT_DIFF_LOC)) return FALSE bipod_deployed = !bipod_deployed if(user) if(bipod_deployed) - ADD_TRAIT(G, TRAIT_GUN_BIPODDED, "attached_bipod") + ADD_TRAIT(gun, TRAIT_GUN_BIPODDED, "attached_bipod") to_chat(user, SPAN_NOTICE("You deploy [src] [support ? "on [support]" : "on the ground"].")) SEND_SIGNAL(user, COMSIG_MOB_DEPLOYED_BIPOD) playsound(user,'sound/items/m56dauto_rotate.ogg', 55, 1) @@ -3383,29 +3383,29 @@ Defined in conflicts.dm of the #defines folder. scatter_mod = -SCATTER_AMOUNT_TIER_10 recoil_mod = -RECOIL_AMOUNT_TIER_4 burst_scatter_mod = -SCATTER_AMOUNT_TIER_8 - if(istype(G,/obj/item/weapon/gun/rifle/sniper/M42A)) + if(istype(gun, /obj/item/weapon/gun/rifle/sniper/M42A)) delay_mod = -FIRE_DELAY_TIER_7 else delay_mod = -FIRE_DELAY_TIER_12 - G.recalculate_attachment_bonuses() - G.stop_fire() + gun.recalculate_attachment_bonuses() + gun.stop_fire() initial_mob_dir = user.dir RegisterSignal(user, COMSIG_MOB_MOVE_OR_LOOK, PROC_REF(handle_mob_move_or_look)) - if(G.flags_gun_features & GUN_SUPPORT_PLATFORM) - G.add_firemode(GUN_FIREMODE_AUTOMATIC) + if(gun.flags_gun_features & GUN_SUPPORT_PLATFORM) + gun.add_firemode(GUN_FIREMODE_AUTOMATIC) if(heavy_bipod) user.anchored = TRUE - if(full_auto_switch && G.gun_firemode != GUN_FIREMODE_AUTOMATIC) - old_firemode = G.gun_firemode - G.do_toggle_firemode(user, null, GUN_FIREMODE_AUTOMATIC) + if(full_auto_switch && gun.gun_firemode != GUN_FIREMODE_AUTOMATIC) + old_firemode = gun.gun_firemode + gun.do_toggle_firemode(user, null, GUN_FIREMODE_AUTOMATIC) else to_chat(user, SPAN_NOTICE("You retract [src].")) - undeploy_bipod(G) + undeploy_bipod(gun) update_icon() @@ -3422,10 +3422,10 @@ Defined in conflicts.dm of the #defines folder. //when user fires the gun, we check if they have something to support the gun's bipod. -/obj/item/attachable/proc/check_bipod_support(obj/item/weapon/gun/G, mob/living/user) +/obj/item/attachable/proc/check_bipod_support(obj/item/weapon/gun/gun, mob/living/user) return 0 -/obj/item/attachable/bipod/check_bipod_support(obj/item/weapon/gun/G, mob/living/user) +/obj/item/attachable/bipod/check_bipod_support(obj/item/weapon/gun/gun, mob/living/user) var/turf/T = get_turf(user) for(var/obj/O in T) if(O.throwpass && O.density && O.dir == user.dir && O.flags_atom & ON_BORDER) diff --git a/icons/mob/hud/actions.dmi b/icons/mob/hud/actions.dmi index 0c55a386d2e2ad9bffe8994bc30888a7711520ac..3c3e6dd9de3dd71172b4b46bb4f150a23b4e0752 100644 GIT binary patch delta 24188 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 z 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 From 979b409ef8e51a84daaec852b19cb006a3fbfc51 Mon Sep 17 00:00:00 2001 From: Vile Beggar Date: Fri, 2 Feb 2024 19:20:24 +0100 Subject: [PATCH 4/6] flush old_firemode just in case --- code/modules/projectiles/gun_attachables.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 89283235321d..d357e102a6ac 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -3294,7 +3294,9 @@ Defined in conflicts.dm of the #defines folder. /obj/item/attachable/bipod/Detach(mob/user, obj/item/weapon/gun/detaching_gub) UnregisterSignal(detaching_gub, COMSIG_ITEM_DROPPED) + //clear out anything related to full auto switching full_auto_switch = FALSE + old_firemode = null for(var/item_action in detaching_gub.actions) var/datum/action/item_action/bipod/toggle_full_auto_switch/target_action = item_action if(target_action.target == src) From 215410d6f0f49488915eef76fad27dc040f9e435 Mon Sep 17 00:00:00 2001 From: Vile Beggar Date: Sat, 3 Feb 2024 12:03:25 +0100 Subject: [PATCH 5/6] removes usr instances --- code/modules/projectiles/gun_attachables.dm | 32 +++++++++------------ code/modules/projectiles/gun_helpers.dm | 2 +- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index d357e102a6ac..67e11c12c35e 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -3278,13 +3278,13 @@ Defined in conflicts.dm of the #defines folder. scatter_mod = SCATTER_AMOUNT_TIER_9 recoil_mod = RECOIL_AMOUNT_TIER_5 -/obj/item/attachable/bipod/Attach(obj/item/weapon/gun/gun) +/obj/item/attachable/bipod/Attach(obj/item/weapon/gun/gun, mob/user) ..() if((GUN_FIREMODE_AUTOMATIC in gun.gun_firemode_list) || (gun.flags_gun_features & GUN_SUPPORT_PLATFORM)) var/given_action = FALSE - if(usr && (gun == usr.l_hand || gun == usr.r_hand)) - give_action(usr, /datum/action/item_action/bipod/toggle_full_auto_switch, src, gun) + if(user && (gun == user.l_hand || gun == user.r_hand)) + give_action(user, /datum/action/item_action/bipod/toggle_full_auto_switch, src, gun) given_action = TRUE if(!given_action) new /datum/action/item_action/bipod/toggle_full_auto_switch(src, gun) @@ -3304,7 +3304,7 @@ Defined in conflicts.dm of the #defines folder. break if(bipod_deployed) - undeploy_bipod(detaching_gub) + undeploy_bipod(detaching_gub, user) ..() /obj/item/attachable/bipod/update_icon() @@ -3328,11 +3328,11 @@ Defined in conflicts.dm of the #defines folder. UnregisterSignal(user, COMSIG_MOB_MOVE_OR_LOOK) if(bipod_deployed) - undeploy_bipod(gun) + undeploy_bipod(gun, user) user.apply_effect(1, SUPERSLOW) user.apply_effect(2, SLOW) -/obj/item/attachable/bipod/proc/undeploy_bipod(obj/item/weapon/gun/gun) +/obj/item/attachable/bipod/proc/undeploy_bipod(obj/item/weapon/gun/gun, mob/user) REMOVE_TRAIT(gun, TRAIT_GUN_BIPODDED, "attached_bipod") bipod_deployed = FALSE accuracy_mod = -HIT_ACCURACY_MULT_TIER_5 @@ -3340,18 +3340,14 @@ Defined in conflicts.dm of the #defines folder. recoil_mod = RECOIL_AMOUNT_TIER_5 burst_scatter_mod = 0 delay_mod = FIRE_DELAY_TIER_12 - - //if we are no longer on fullauto, don't bother switching back to the old firemode + //if we are no longer on full auto, don't bother switching back to the old firemode if(full_auto_switch && gun.gun_firemode == GUN_FIREMODE_AUTOMATIC) - gun.do_toggle_firemode(usr, null, old_firemode) + gun.do_toggle_firemode(user, null, old_firemode) gun.recalculate_attachment_bonuses() gun.stop_fire() - var/mob/living/user - if(isliving(gun.loc)) - user = gun.loc - SEND_SIGNAL(user, COMSIG_MOB_UNDEPLOYED_BIPOD) - UnregisterSignal(user, COMSIG_MOB_MOVE_OR_LOOK) + SEND_SIGNAL(user, COMSIG_MOB_UNDEPLOYED_BIPOD) + UnregisterSignal(user, COMSIG_MOB_MOVE_OR_LOOK) if(gun.flags_gun_features & GUN_SUPPORT_PLATFORM) gun.remove_firemode(GUN_FIREMODE_AUTOMATIC) @@ -3366,7 +3362,7 @@ Defined in conflicts.dm of the #defines folder. /obj/item/attachable/bipod/activate_attachment(obj/item/weapon/gun/gun, mob/living/user, turn_off) if(turn_off) if(bipod_deployed) - undeploy_bipod(gun) + undeploy_bipod(gun, user) else var/obj/support = check_bipod_support(gun, user) if(!support&&!bipod_deployed) @@ -3407,7 +3403,7 @@ Defined in conflicts.dm of the #defines folder. else to_chat(user, SPAN_NOTICE("You retract [src].")) - undeploy_bipod(gun) + undeploy_bipod(gun, user) update_icon() @@ -3453,8 +3449,8 @@ Defined in conflicts.dm of the #defines folder. var/obj/item/attachable/bipod/attached_bipod = holder_gun.attachments["under"] attached_bipod.full_auto_switch = !attached_bipod.full_auto_switch - to_chat(usr, SPAN_NOTICE("[icon2html(holder_gun, usr)] You will [attached_bipod.full_auto_switch? "start" : "stop"] switching to full auto when deploying the bipod.")) - playsound(usr, 'sound/weapons/handling/gun_burst_toggle.ogg', 15, 1) + to_chat(owner, SPAN_NOTICE("[icon2html(holder_gun, owner)] You will [attached_bipod.full_auto_switch? "start" : "stop"] switching to full auto when deploying the bipod.")) + playsound(owner, 'sound/weapons/handling/gun_burst_toggle.ogg', 15, 1) if(attached_bipod.full_auto_switch) button.icon_state = "template_on" diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm index 66e3a65f2f77..781db8fc1222 100644 --- a/code/modules/projectiles/gun_helpers.dm +++ b/code/modules/projectiles/gun_helpers.dm @@ -390,7 +390,7 @@ DEFINES in setup.dm, referenced here. user.visible_message(SPAN_NOTICE("[user] attaches [attachment] to [src]."), SPAN_NOTICE("You attach [attachment] to [src]."), null, 4) user.temp_drop_inv_item(attachment) - attachment.Attach(src) + attachment.Attach(src, user) update_attachable(attachment.slot) playsound(user, 'sound/handling/attachment_add.ogg', 15, 1, 4) return TRUE From 6ad8664d8d08166874c81355ba05477cfff7ba45 Mon Sep 17 00:00:00 2001 From: Vile Beggar Date: Tue, 6 Feb 2024 11:50:52 +0100 Subject: [PATCH 6/6] fix logical inconsistency with reverting firemodes --- code/modules/projectiles/gun_attachables.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 67e11c12c35e..caa8c2221438 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -3341,7 +3341,7 @@ Defined in conflicts.dm of the #defines folder. burst_scatter_mod = 0 delay_mod = FIRE_DELAY_TIER_12 //if we are no longer on full auto, don't bother switching back to the old firemode - if(full_auto_switch && gun.gun_firemode == GUN_FIREMODE_AUTOMATIC) + if(full_auto_switch && gun.gun_firemode == GUN_FIREMODE_AUTOMATIC && gun.gun_firemode != old_firemode) gun.do_toggle_firemode(user, null, old_firemode) gun.recalculate_attachment_bonuses() @@ -3397,8 +3397,8 @@ Defined in conflicts.dm of the #defines folder. if(heavy_bipod) user.anchored = TRUE + old_firemode = gun.gun_firemode if(full_auto_switch && gun.gun_firemode != GUN_FIREMODE_AUTOMATIC) - old_firemode = gun.gun_firemode gun.do_toggle_firemode(user, null, GUN_FIREMODE_AUTOMATIC) else