/obj/item/gun/ballistic/shotgun name = "shotgun" desc = "A traditional shotgun with wood furniture and a four-shell capacity underneath." icon_state = "shotgun" worn_icon_state = null lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' inhand_icon_state = "shotgun" inhand_x_dimension = 64 inhand_y_dimension = 64 fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' vary_fire_sound = FALSE fire_sound_volume = 90 rack_sound = 'sound/weapons/gun/shotgun/rack.ogg' load_sound = 'sound/weapons/gun/shotgun/insert_shell.ogg' w_class = WEIGHT_CLASS_BULKY force = 10 flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK mag_type = /obj/item/ammo_box/magazine/internal/shot semi_auto = FALSE internal_magazine = TRUE casing_ejector = FALSE bolt_wording = "pump" cartridge_wording = "shell" tac_reloads = FALSE weapon_weight = WEAPON_HEAVY pb_knockback = 2 /obj/item/gun/ballistic/shotgun/blow_up(mob/user) . = 0 if(chambered?.loaded_projectile) process_fire(user, user, FALSE) . = 1 /obj/item/gun/ballistic/shotgun/lethal mag_type = /obj/item/ammo_box/magazine/internal/shot/lethal // RIOT SHOTGUN // /obj/item/gun/ballistic/shotgun/riot //for spawn in the armory //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE name = "riot shotgun" desc = "A sturdy shotgun with a longer magazine and a fixed tactical stock designed for non-lethal riot control." icon_state = "riotshotgun" inhand_icon_state = "shotgun" fire_delay = 8 mag_type = /obj/item/ammo_box/magazine/internal/shot/riot sawn_desc = "Come with me if you want to live." can_be_sawn_off = TRUE // Automatic Shotguns// /obj/item/gun/ballistic/shotgun/automatic/shoot_live_shot(mob/living/user) ..() rack() /obj/item/gun/ballistic/shotgun/automatic/combat //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE name = "combat shotgun" desc = "A semi automatic shotgun with tactical furniture and a six-shell capacity underneath." icon_state = "cshotgun" inhand_icon_state = "shotgun_combat" fire_delay = 5 mag_type = /obj/item/ammo_box/magazine/internal/shot/com w_class = WEIGHT_CLASS_HUGE //Dual Feed Shotgun /obj/item/gun/ballistic/shotgun/automatic/dual_tube name = "cycler shotgun" desc = "An advanced shotgun with two separate magazine tubes, allowing you to quickly toggle between ammo types." icon_state = "cycler" inhand_icon_state = "bulldog" worn_icon_state = "cshotgun" mag_type = /obj/item/ammo_box/magazine/internal/shot/tube w_class = WEIGHT_CLASS_HUGE var/toggled = FALSE var/obj/item/ammo_box/magazine/internal/shot/alternate_magazine semi_auto = TRUE /obj/item/gun/ballistic/shotgun/automatic/dual_tube/examine(mob/user) . = ..() . += "Alt-click to pump it." /obj/item/gun/ballistic/shotgun/automatic/dual_tube/Initialize() . = ..() if (!alternate_magazine) alternate_magazine = new mag_type(src) /obj/item/gun/ballistic/shotgun/automatic/dual_tube/attack_self(mob/living/user) if(!chambered && magazine.contents.len) rack() else toggle_tube(user) /obj/item/gun/ballistic/shotgun/automatic/dual_tube/proc/toggle_tube(mob/living/user) var/current_mag = magazine var/alt_mag = alternate_magazine magazine = alt_mag alternate_magazine = current_mag toggled = !toggled if(toggled) to_chat(user, "You switch to tube B.") else to_chat(user, "You switch to tube A.") /obj/item/gun/ballistic/shotgun/automatic/dual_tube/AltClick(mob/living/user) if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE)) return rack() // Bulldog shotgun // /obj/item/gun/ballistic/shotgun/bulldog name = "\improper Bulldog Shotgun" desc = "A semi-auto, mag-fed shotgun for combat in narrow corridors, nicknamed 'Bulldog' by boarding parties. Compatible only with specialized 8-round drum magazines." icon_state = "bulldog" inhand_icon_state = "bulldog" worn_icon_state = "cshotgun" 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 weapon_weight = WEAPON_MEDIUM mag_type = /obj/item/ammo_box/magazine/m12g can_suppress = FALSE burst_size = 1 fire_delay = 0 pin = /obj/item/firing_pin/implant/pindicate fire_sound = 'sound/weapons/gun/shotgun/shot_alt.ogg' actions_types = list() mag_display = TRUE empty_indicator = TRUE empty_alarm = TRUE special_mags = TRUE mag_display_ammo = TRUE semi_auto = TRUE internal_magazine = FALSE tac_reloads = TRUE /obj/item/gun/ballistic/shotgun/bulldog/unrestricted pin = /obj/item/firing_pin ///////////////////////////// // DOUBLE BARRELED SHOTGUN // ///////////////////////////// /obj/item/gun/ballistic/shotgun/doublebarrel name = "double-barreled shotgun" desc = "A true classic." icon_state = "dshotgun" inhand_icon_state = "shotgun_db" w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_MEDIUM force = 10 flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK mag_type = /obj/item/ammo_box/magazine/internal/shot/dual sawn_desc = "Omar's coming!" obj_flags = UNIQUE_RENAME rack_sound_volume = 0 unique_reskin = list("Default" = "dshotgun", "Dark Red Finish" = "dshotgun_d", "Ash" = "dshotgun_f", "Faded Grey" = "dshotgun_g", "Maple" = "dshotgun_l", "Rosewood" = "dshotgun_p" ) semi_auto = TRUE bolt_type = BOLT_TYPE_NO_BOLT can_be_sawn_off = TRUE pb_knockback = 3 // it's a super shotgun! /obj/item/gun/ballistic/shotgun/doublebarrel/AltClick(mob/user) . = ..() if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY)) reskin_obj(user) /obj/item/gun/ballistic/shotgun/doublebarrel/sawoff(mob/user) . = ..() if(.) weapon_weight = WEAPON_MEDIUM /obj/item/gun/ballistic/shotgun/doublebarrel/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' 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 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() . = ..() 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) . = ..() if(toggled) . += "Alt-click to switch to the shotgun." else . += "Alt-click to switch to 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 ..()