diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm index abd63eae07f..a893d2b22f2 100644 --- a/code/modules/antagonists/fugitive/fugitive_outfits.dm +++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm @@ -129,7 +129,7 @@ mask = /obj/item/clothing/mask/scarecrow r_pocket = /obj/item/restraints/handcuffs/cable id = /obj/item/card/id/advanced - r_hand = /obj/item/gun/ballistic/shotgun/doublebarrel/hook + r_hand = /obj/item/gun/ballistic/shotgun/hook backpack_contents = list( /obj/item/ammo_casing/shotgun/incapacitate = 6 diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 3575d66611d..0921ee05fcb 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -408,14 +408,19 @@ fire_sound = 'sound/weapons/batonextend.ogg' max_charges = 1 item_flags = NEEDS_PERMIT | NOBLUDGEON + sharpness = SHARP_POINTY force = 18 +/obj/item/gun/magic/hook/shoot_with_empty_chamber(mob/living/user) + to_chat(user, "[src] isn't ready to fire yet!") + /obj/item/ammo_casing/magic/hook name = "hook" desc = "A hook." projectile_type = /obj/projectile/hook caliber = CALIBER_HOOK icon_state = "hook" + firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/energy /obj/projectile/hook name = "hook" @@ -460,9 +465,6 @@ name = "hook" ammo_type = /obj/item/ammo_casing/magic/hook/bounty -/obj/item/gun/magic/hook/bounty/shoot_with_empty_chamber(mob/living/user) - to_chat(user, "The [src] isn't ready to fire yet!") - /obj/item/ammo_casing/magic/hook/bounty projectile_type = /obj/projectile/hook/bounty diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 5d52c8e2916..9c2f8dd7ec4 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -553,6 +553,11 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( name = "sawn-off [src.name]" desc = sawn_desc w_class = WEIGHT_CLASS_NORMAL + //The file might not have a "gun" icon, let's prepare for this + lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + inhand_x_dimension = 32 + inhand_y_dimension = 32 inhand_icon_state = "gun" worn_icon_state = "gun" slot_flags &= ~ITEM_SLOT_BACK //you can't sling it on your back diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 9dfff2ca049..0edaa588533 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -181,48 +181,35 @@ if(.) weapon_weight = WEAPON_MEDIUM -/obj/item/gun/ballistic/shotgun/doublebarrel/hook +/obj/item/gun/ballistic/shotgun/hook name = "hook modified sawn-off shotgun" desc = "Range isn't an issue when you can bring your victim to you." icon_state = "hookshotgun" - inhand_icon_state = "shotgun" - load_sound = 'sound/weapons/gun/shotgun/insert_shell.ogg' + inhand_icon_state = "hookshotgun" + lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + inhand_x_dimension = 32 + inhand_y_dimension = 32 mag_type = /obj/item/ammo_box/magazine/internal/shot/bounty - w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_MEDIUM - can_be_sawn_off = FALSE - force = 16 //it has a hook on it + semi_auto = TRUE + flags_1 = CONDUCT_1 + force = 18 //it has a hook on it + sharpness = SHARP_POINTY //it does in fact, have a hook on it attack_verb_continuous = list("slashes", "hooks", "stabs") attack_verb_simple = list("slash", "hook", "stab") hitsound = 'sound/weapons/bladeslice.ogg' //our hook gun! var/obj/item/gun/magic/hook/bounty/hook - var/toggled = FALSE -/obj/item/gun/ballistic/shotgun/doublebarrel/hook/Initialize() +/obj/item/gun/ballistic/shotgun/hook/Initialize() . = ..() hook = new /obj/item/gun/magic/hook/bounty(src) -/obj/item/gun/ballistic/shotgun/doublebarrel/hook/AltClick(mob/user) - if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) - return - if(toggled) - to_chat(user,"You switch to the shotgun.") - fire_sound = initial(fire_sound) - else - to_chat(user,"You switch to the hook.") - fire_sound = 'sound/weapons/batonextend.ogg' - toggled = !toggled - -/obj/item/gun/ballistic/shotgun/doublebarrel/hook/examine(mob/user) +/obj/item/gun/ballistic/shotgun/hook/examine(mob/user) . = ..() - if(toggled) - . += "Alt-click to switch to the shotgun." - else - . += "Alt-click to switch to the hook." + . += "Right-click to shoot the hook." -/obj/item/gun/ballistic/shotgun/doublebarrel/hook/afterattack(atom/target, mob/living/user, flag, params) - if(toggled) - hook.afterattack(target, user, flag, params) - else - return ..() +/obj/item/gun/ballistic/shotgun/hook/afterattack_secondary(atom/target, mob/user, proximity_flag, click_parameters) + hook.afterattack(target, user, proximity_flag, click_parameters) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index 49bf4f51688..34611cbeb16 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index ec87f579ea0..98313a39d28 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/obj/guns/ballistic.dmi b/icons/obj/guns/ballistic.dmi index 1270da9c225..43132c51d8c 100644 Binary files a/icons/obj/guns/ballistic.dmi and b/icons/obj/guns/ballistic.dmi differ