mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
Merge pull request #10395 from granodd/GunsAndGunAccessories
New Gun Sounds
This commit is contained in:
@@ -817,9 +817,9 @@ var/list/non_fakeattack_weapons = list(/obj/item/gun/projectile, /obj/item/ammo_
|
||||
playsound_local(null, 'sound/voice/bfreeze.ogg', 35, 0)
|
||||
if(9)
|
||||
//To make it more realistic, I added two gunshots (enough to kill)
|
||||
playsound_local(null, 'sound/weapons/Gunshot.ogg', 25, 1)
|
||||
playsound_local(null, 'sound/weapons/gunshots/gunshot.ogg', 25, 1)
|
||||
var/timer_pause = rand(10,30)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound_local, null, 'sound/weapons/Gunshot.ogg', 25, 1), timer_pause)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound_local, null, 'sound/weapons/gunshots/gunshot.ogg', 25, 1), timer_pause)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound_local, null, sound(get_sfx("bodyfall"), 25), 25, 1), timer_pause+rand(5,10))
|
||||
if(10)
|
||||
playsound_local(null, 'sound/effects/pray_chaplain.ogg', 50)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
ranged_message = "shoots"
|
||||
ranged_cooldown_time = 30
|
||||
projectiletype = /obj/item/projectile/kinetic
|
||||
projectilesound = 'sound/weapons/Gunshot4.ogg'
|
||||
projectilesound = 'sound/weapons/gunshots/gunshot4.ogg'
|
||||
speak_emote = list("states")
|
||||
wanted_objects = list(/obj/item/stack/ore/diamond, /obj/item/stack/ore/gold, /obj/item/stack/ore/silver,
|
||||
/obj/item/stack/ore/plasma, /obj/item/stack/ore/uranium, /obj/item/stack/ore/iron,
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
melee_damage_upper = 3
|
||||
attacktext = "claws"
|
||||
attack_sound = 'sound/weapons/bladeslice.ogg'
|
||||
projectilesound = 'sound/weapons/Gunshot.ogg'
|
||||
projectilesound = 'sound/weapons/gunshots/gunshot.ogg'
|
||||
projectiletype = /obj/item/projectile/hivebotbullet
|
||||
faction = list("hivebot")
|
||||
check_friendly_fire = 1
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
throwforce = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/fire_sound = null //What sound should play when this ammo is fired
|
||||
var/drop_sound = "casingdrop" //What sound should play when this ammo hits the ground
|
||||
var/caliber = null //Which kind of guns it can be loaded into
|
||||
var/projectile_type = null //The bullet type to create when New() is called
|
||||
var/obj/item/projectile/BB = null //The loaded bullet
|
||||
@@ -52,6 +53,7 @@
|
||||
if(boolets > 0)
|
||||
box.update_icon()
|
||||
to_chat(user, "<span class='notice'>You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.</span>")
|
||||
playsound(src, 'sound/weapons/gun_interactions/bulletinsert.ogg', 50, 1)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You fail to collect anything!</span>")
|
||||
else
|
||||
@@ -129,6 +131,7 @@
|
||||
if(stored_ammo.len < max_ammo)
|
||||
stored_ammo += R
|
||||
R.loc = src
|
||||
playsound(src, 'sound/weapons/gun_interactions/bulletinsert.ogg', 50, 1)
|
||||
update_mat_value()
|
||||
return 1
|
||||
//for accessibles magazines (e.g internal ones) when full, start replacing spent ammo
|
||||
@@ -140,6 +143,7 @@
|
||||
|
||||
stored_ammo += R
|
||||
R.loc = src
|
||||
playsound(src, 'sound/weapons/gun_interactions/shotguninsert.ogg', 50, 1)
|
||||
update_mat_value()
|
||||
return 1
|
||||
|
||||
@@ -170,6 +174,7 @@
|
||||
if(num_loaded)
|
||||
if(!silent)
|
||||
to_chat(user, "<span class='notice'>You load [num_loaded] shell\s into \the [src]!</span>")
|
||||
playsound(src, 'sound/weapons/gun_interactions/shotguninsert.ogg', 50, 1)
|
||||
A.update_icon()
|
||||
update_icon()
|
||||
|
||||
@@ -179,6 +184,7 @@
|
||||
var/obj/item/ammo_casing/A = get_round()
|
||||
if(A)
|
||||
user.put_in_hands(A)
|
||||
playsound(src, 'sound/weapons/gun_interactions/remove_bullet.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>You remove a round from \the [src]!</span>")
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -124,6 +124,7 @@
|
||||
desc = "A 12 gauge lead slug."
|
||||
icon_state = "blshell"
|
||||
caliber = "shotgun"
|
||||
drop_sound = 'sound/weapons/gun_interactions/shotgun_fall.ogg'
|
||||
projectile_type = /obj/item/projectile/bullet
|
||||
materials = list(MAT_METAL=4000)
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
delay = 15
|
||||
|
||||
/obj/item/ammo_casing/energy/electrode/gun
|
||||
fire_sound = 'sound/weapons/gunshot.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot.ogg'
|
||||
e_cost = 100
|
||||
|
||||
/obj/item/ammo_casing/energy/electrode/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons
|
||||
@@ -218,7 +218,7 @@
|
||||
|
||||
/obj/item/ammo_casing/energy/clown
|
||||
projectile_type = /obj/item/projectile/clown
|
||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
|
||||
select_name = "clown"
|
||||
|
||||
/obj/item/ammo_casing/energy/sniper
|
||||
|
||||
@@ -48,5 +48,5 @@
|
||||
/obj/item/ammo_casing/energy/c3dbullet
|
||||
projectile_type = /obj/item/projectile/bullet/midbullet3
|
||||
select_name = "spraydown"
|
||||
fire_sound = 'sound/weapons/gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg'
|
||||
e_cost = 20
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
attack_verb = list("struck", "hit", "bashed")
|
||||
|
||||
var/fire_sound = "gunshot"
|
||||
var/magin_sound = 'sound/weapons/gun_interactions/smg_magin.ogg'
|
||||
var/magout_sound = 'sound/weapons/gun_interactions/smg_magout.ogg'
|
||||
var/fire_sound_text = "gunshot" //the fire sound that shows in chat messages: laser blast, gunshot, etc.
|
||||
var/suppressed = 0 //whether or not a message is displayed when fired
|
||||
var/can_suppress = 0
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// Ion Rifles //
|
||||
/obj/item/gun/energy/ionrifle
|
||||
name = "ion rifle"
|
||||
desc = "A man portable anti-armor weapon designed to disable mechanical threats"
|
||||
@@ -29,6 +30,7 @@
|
||||
flight_x_offset = 18
|
||||
flight_y_offset = 11
|
||||
|
||||
// Decloner //
|
||||
/obj/item/gun/energy/decloner
|
||||
name = "biological demolecularisor"
|
||||
desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements."
|
||||
@@ -44,6 +46,7 @@
|
||||
if(power_supply.charge > shot.e_cost)
|
||||
overlays += "decloner_spin"
|
||||
|
||||
// Flora Gun //
|
||||
/obj/item/gun/energy/floragun
|
||||
name = "floral somatoray"
|
||||
desc = "A tool that discharges controlled radiation which induces mutation in plant cells."
|
||||
@@ -56,12 +59,14 @@
|
||||
ammo_x_offset = 1
|
||||
selfcharge = 1
|
||||
|
||||
// Meteor Gun //
|
||||
/obj/item/gun/energy/meteorgun
|
||||
name = "meteor gun"
|
||||
desc = "For the love of god, make sure you're aiming this the right way!"
|
||||
icon = 'icons/obj/guns/projectile.dmi'
|
||||
icon_state = "riotgun"
|
||||
item_state = "c20r"
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg'
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/meteor)
|
||||
cell_type = /obj/item/stock_parts/cell/potato
|
||||
@@ -78,6 +83,7 @@
|
||||
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
// Mind Flayer //
|
||||
/obj/item/gun/energy/mindflayer
|
||||
name = "\improper Mind Flayer"
|
||||
desc = "A prototype weapon recovered from the ruins of Research-Station Epsilon."
|
||||
@@ -86,6 +92,7 @@
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/mindflayer)
|
||||
ammo_x_offset = 2
|
||||
|
||||
// Energy Crossbows //
|
||||
/obj/item/gun/energy/kinetic_accelerator/crossbow
|
||||
name = "mini energy crossbow"
|
||||
desc = "A weapon favored by syndicate stealth specialists."
|
||||
@@ -132,6 +139,7 @@
|
||||
shoot_live_shot()
|
||||
return (OXYLOSS)
|
||||
|
||||
// Plasma Cutters //
|
||||
/obj/item/gun/energy/plasmacutter
|
||||
name = "plasma cutter"
|
||||
desc = "A mining tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off of xenos! Or, you know, mine stuff."
|
||||
@@ -180,6 +188,7 @@
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv)
|
||||
force = 15
|
||||
|
||||
// Wormhole Projectors //
|
||||
/obj/item/gun/energy/wormhole_projector
|
||||
name = "bluespace wormhole projector"
|
||||
desc = "A projector that emits high density quantum-coupled bluespace beams."
|
||||
@@ -227,7 +236,6 @@
|
||||
orange.target = get_turf(blue)
|
||||
|
||||
/* 3d printer 'pseudo guns' for borgs */
|
||||
|
||||
/obj/item/gun/energy/printer
|
||||
name = "cyborg lmg"
|
||||
desc = "A machinegun that fires 3d-printed flachettes slowly regenerated using a cyborg's internal power source."
|
||||
@@ -247,6 +255,7 @@
|
||||
..()
|
||||
robocharge()
|
||||
|
||||
// Instakill Lasers //
|
||||
/obj/item/gun/energy/laser/instakill
|
||||
name = "instakill rifle"
|
||||
icon_state = "instagib"
|
||||
@@ -271,6 +280,7 @@
|
||||
item_state = "instagibblue"
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/instakill/blue)
|
||||
|
||||
// HONK Rifle //
|
||||
/obj/item/gun/energy/clown
|
||||
name = "HONK Rifle"
|
||||
desc = "Clown Planet's finest."
|
||||
@@ -291,6 +301,7 @@
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/toxplasma)
|
||||
shaded_charge = 1
|
||||
|
||||
// Energy Sniper //
|
||||
/obj/item/gun/energy/sniperrifle
|
||||
name = "L.W.A.P. Sniper Rifle"
|
||||
desc = "A rifle constructed of lightweight materials, fitted with a SMART aiming-system scope."
|
||||
@@ -303,6 +314,7 @@
|
||||
zoom_amt = 7 //Long range, enough to see in front of you, but no tiles behind you.
|
||||
shaded_charge = 1
|
||||
|
||||
// Temperature Gun //
|
||||
/obj/item/gun/energy/temperature
|
||||
name = "temperature gun"
|
||||
icon = 'icons/obj/guns/gun_temperature.dmi'
|
||||
@@ -486,6 +498,7 @@
|
||||
if(100 to 202) overlays += "100"
|
||||
if(-INFINITY to 100) overlays += "0"
|
||||
|
||||
// Mimic Gun //
|
||||
/obj/item/gun/energy/mimicgun
|
||||
name = "mimic gun"
|
||||
desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse. Why does this one have teeth?"
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
var/mag_type = /obj/item/ammo_box/magazine/m10mm //Removes the need for max_ammo and caliber info
|
||||
var/obj/item/ammo_box/magazine/magazine
|
||||
var/can_tactical = FALSE //check to see if the gun can tactically reload
|
||||
|
||||
/obj/item/gun/projectile/New()
|
||||
..()
|
||||
@@ -32,7 +33,7 @@
|
||||
if(eject_casing)
|
||||
AC.loc = get_turf(src) //Eject casing onto ground.
|
||||
AC.SpinAnimation(10, 1) //next gen special effects
|
||||
|
||||
playsound(src, chambered.drop_sound, 100, 1)
|
||||
if(empty_chamber)
|
||||
chambered = null
|
||||
chamber_round()
|
||||
@@ -51,21 +52,41 @@
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/item/gun/projectile/proc/can_reload()
|
||||
return !magazine
|
||||
|
||||
/obj/item/gun/projectile/proc/reload(obj/item/ammo_box/magazine/AM, mob/user as mob)
|
||||
user.remove_from_mob(AM)
|
||||
magazine = AM
|
||||
magazine.loc = src
|
||||
playsound(src, magin_sound, 50, 1)
|
||||
chamber_round()
|
||||
AM.update_icon()
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/gun/projectile/attackby(var/obj/item/A as obj, mob/user as mob, params)
|
||||
..()
|
||||
if(istype(A, /obj/item/ammo_box/magazine))
|
||||
var/obj/item/ammo_box/magazine/AM = A
|
||||
if(!magazine && istype(AM, mag_type))
|
||||
user.remove_from_mob(AM)
|
||||
magazine = AM
|
||||
magazine.loc = src
|
||||
to_chat(user, "<span class='notice'>You load a new magazine into \the [src].</span>")
|
||||
chamber_round()
|
||||
A.update_icon()
|
||||
update_icon()
|
||||
return 1
|
||||
else if(magazine)
|
||||
to_chat(user, "<span class='notice'>There's already a magazine in \the [src].</span>")
|
||||
if(istype(AM, mag_type))
|
||||
if(can_reload())
|
||||
reload(AM, user)
|
||||
to_chat(user, "<span class='notice'>You load a new magazine into \the [src].</span>")
|
||||
return TRUE
|
||||
else if(!can_tactical)
|
||||
to_chat(user, "<span class='notice'>There's already a magazine in \the [src].</span>")
|
||||
return TRUE
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You perform a tactical reload on \the [src], replacing the magazine.</span>")
|
||||
magazine.loc = get_turf(loc)
|
||||
magazine.update_icon()
|
||||
magazine = null
|
||||
reload(AM, user)
|
||||
return TRUE
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You can't put this type of ammo in \the [src].</span>")
|
||||
return TRUE
|
||||
if(istype(A, /obj/item/suppressor))
|
||||
var/obj/item/suppressor/S = A
|
||||
if(can_suppress)
|
||||
@@ -76,7 +97,7 @@
|
||||
suppressed = A
|
||||
S.oldsound = fire_sound
|
||||
S.initial_w_class = w_class
|
||||
fire_sound = 'sound/weapons/Gunshot_silenced.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_silenced.ogg'
|
||||
w_class = WEIGHT_CLASS_NORMAL //so pistols do not fit in pockets when suppressed
|
||||
A.loc = src
|
||||
update_icon()
|
||||
@@ -113,11 +134,13 @@
|
||||
magazine.update_icon()
|
||||
magazine = null
|
||||
to_chat(user, "<span class='notice'>You pull the magazine out of \the [src]!</span>")
|
||||
playsound(src, magout_sound, 50, 1)
|
||||
else if(chambered)
|
||||
AC.loc = get_turf(src)
|
||||
AC.SpinAnimation(10, 1)
|
||||
chambered = null
|
||||
to_chat(user, "<span class='notice'>You unload the round from \the [src]'s chamber.</span>")
|
||||
playsound(src, 'sound/weapons/gun_interactions/remove_bullet.ogg', 50, 1)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>There's no magazine in \the [src].</span>")
|
||||
update_icon()
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
var/alarmed = 0
|
||||
var/select = 1
|
||||
can_tactical = TRUE
|
||||
can_suppress = 1
|
||||
burst_size = 3
|
||||
fire_delay = 2
|
||||
@@ -60,7 +61,7 @@
|
||||
fire_delay = initial(fire_delay)
|
||||
to_chat(user, "<span class='notice'>You switch to [burst_size] round burst.</span>")
|
||||
|
||||
playsound(user, 'sound/weapons/empty.ogg', 100, 1)
|
||||
playsound(user, 'sound/weapons/gun_interactions/selector.ogg', 100, 1)
|
||||
update_icon()
|
||||
for(var/X in actions)
|
||||
var/datum/action/A = X
|
||||
@@ -75,13 +76,16 @@
|
||||
update_icon()
|
||||
alarmed = 1
|
||||
|
||||
//Saber SMG//
|
||||
/obj/item/gun/projectile/automatic/proto
|
||||
name = "\improper Nanotrasen Saber SMG"
|
||||
desc = "A prototype three-round burst 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors."
|
||||
icon_state = "saber"
|
||||
mag_type = /obj/item/ammo_box/magazine/smgm9mm
|
||||
origin_tech = "combat=4;materials=2"
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg'
|
||||
|
||||
//C-20r SMG//
|
||||
/obj/item/gun/projectile/automatic/c20r
|
||||
name = "\improper C-20r SMG"
|
||||
desc = "A two-round burst .45 SMG, designated 'C-20r'. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp."
|
||||
@@ -89,7 +93,7 @@
|
||||
item_state = "c20r"
|
||||
origin_tech = "combat=5;materials=2;syndicate=6"
|
||||
mag_type = /obj/item/ammo_box/magazine/smgm45
|
||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
|
||||
fire_delay = 2
|
||||
burst_size = 2
|
||||
|
||||
@@ -105,12 +109,16 @@
|
||||
..()
|
||||
icon_state = "c20r[magazine ? "-[Ceiling(get_ammo(0)/4)*4]" : ""][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]"
|
||||
|
||||
//WT550//
|
||||
/obj/item/gun/projectile/automatic/wt550
|
||||
name = "security auto rifle"
|
||||
desc = "An outdated personal defense weapon utilized by law enforcement. The WT-550 Automatic Rifle fires 4.6x30mm rounds."
|
||||
icon_state = "wt550"
|
||||
item_state = "arg"
|
||||
mag_type = /obj/item/ammo_box/magazine/wt550m9
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
fire_delay = 2
|
||||
can_suppress = 0
|
||||
burst_size = 1
|
||||
@@ -120,14 +128,17 @@
|
||||
..()
|
||||
icon_state = "wt550[magazine ? "-[Ceiling(get_ammo(0)/4)*4]" : ""]"
|
||||
|
||||
//Type-U3 Uzi//
|
||||
/obj/item/gun/projectile/automatic/mini_uzi
|
||||
name = "\improper 'Type U3' Uzi"
|
||||
desc = "A lightweight, burst-fire submachine gun, for when you really want someone dead. Uses 9mm rounds."
|
||||
icon_state = "mini-uzi"
|
||||
origin_tech = "combat=4;materials=2;syndicate=4"
|
||||
mag_type = /obj/item/ammo_box/magazine/uzim9mm
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg'
|
||||
burst_size = 2
|
||||
|
||||
//M-90gl Carbine//
|
||||
/obj/item/gun/projectile/automatic/m90
|
||||
name = "\improper M-90gl Carbine"
|
||||
desc = "A three-round burst 5.56 toploading carbine, designated 'M-90gl'. Has an attached underbarrel grenade launcher which can be toggled on and off."
|
||||
@@ -135,7 +146,9 @@
|
||||
item_state = "m90-4"
|
||||
origin_tech = "combat=5;materials=2;syndicate=6"
|
||||
mag_type = /obj/item/ammo_box/magazine/m556
|
||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
can_suppress = 0
|
||||
var/obj/item/gun/projectile/revolver/grenadelauncher/underbarrel
|
||||
burst_size = 3
|
||||
@@ -195,9 +208,10 @@
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
to_chat(user, "<span class='notice'>You switch to semi-auto.</span>")
|
||||
playsound(user, 'sound/weapons/empty.ogg', 100, 1)
|
||||
playsound(user, 'sound/weapons/gun_interactions/selector.ogg', 100, 1)
|
||||
update_icon()
|
||||
|
||||
//Tommy Gun//
|
||||
/obj/item/gun/projectile/automatic/tommygun
|
||||
name = "\improper Thompson SMG"
|
||||
desc = "A genuine 'Chicago Typewriter'."
|
||||
@@ -207,11 +221,12 @@
|
||||
slot_flags = 0
|
||||
origin_tech = "combat=5;materials=1;syndicate=3"
|
||||
mag_type = /obj/item/ammo_box/magazine/tommygunm45
|
||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
|
||||
can_suppress = 0
|
||||
burst_size = 4
|
||||
fire_delay = 1
|
||||
|
||||
//ARG Assault Rifle//
|
||||
/obj/item/gun/projectile/automatic/ar
|
||||
name = "ARG"
|
||||
desc = "A robust assault rile used by Nanotrasen fighting forces."
|
||||
@@ -220,7 +235,9 @@
|
||||
slot_flags = 0
|
||||
origin_tech = "combat=6;engineering=4"
|
||||
mag_type = /obj/item/ammo_box/magazine/m556
|
||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
can_suppress = 0
|
||||
burst_size = 3
|
||||
fire_delay = 1
|
||||
@@ -234,7 +251,9 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = "combat=6;materials=4;syndicate=6"
|
||||
mag_type = /obj/item/ammo_box/magazine/m12g
|
||||
fire_sound = 'sound/weapons/Gunshot4.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
can_suppress = 0
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
@@ -259,6 +278,7 @@
|
||||
..()
|
||||
empty_alarm()
|
||||
|
||||
//Laser carbine//
|
||||
/obj/item/gun/projectile/automatic/lasercarbine
|
||||
name = "\improper IK-60 Laser Carbine"
|
||||
desc = "A short, compact carbine like rifle, relying more on battery cartridges rather than a built in power cell. Utilized by the Nanotrasen Navy for combat operations."
|
||||
@@ -267,7 +287,9 @@
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = "combat=4;materials=2"
|
||||
mag_type = /obj/item/ammo_box/magazine/laser
|
||||
fire_sound = 'sound/weapons/emitter2.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_lascarbine.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
can_suppress = 0
|
||||
burst_size = 2
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
//Stetchkin//
|
||||
/obj/item/gun/projectile/automatic/pistol
|
||||
name = "stechkin pistol"
|
||||
desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors."
|
||||
@@ -5,6 +6,9 @@
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
origin_tech = "combat=3;materials=2;syndicate=4"
|
||||
mag_type = /obj/item/ammo_box/magazine/m10mm
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/pistol_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/pistol_magout.ogg'
|
||||
can_suppress = 1
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
@@ -18,6 +22,7 @@
|
||||
icon_state = "[initial(icon_state)][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]"
|
||||
return
|
||||
|
||||
//M1911//
|
||||
/obj/item/gun/projectile/automatic/pistol/m1911
|
||||
name = "\improper M1911"
|
||||
desc = "A classic .45 handgun with a small magazine capacity."
|
||||
@@ -26,6 +31,7 @@
|
||||
mag_type = /obj/item/ammo_box/magazine/m45
|
||||
can_suppress = 0
|
||||
|
||||
//Enforcer//
|
||||
/obj/item/gun/projectile/automatic/pistol/enforcer
|
||||
name = "Enforcer"
|
||||
desc = "A pistol of modern design."
|
||||
@@ -72,12 +78,16 @@
|
||||
magazine = new/obj/item/ammo_box/magazine/enforcer/lethal
|
||||
..()
|
||||
|
||||
//Desert Eagle//
|
||||
/obj/item/gun/projectile/automatic/pistol/deagle
|
||||
name = "desert eagle"
|
||||
desc = "A robust .50 AE handgun."
|
||||
icon_state = "deagle"
|
||||
force = 14.0
|
||||
mag_type = /obj/item/ammo_box/magazine/m50
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_pistolH.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/hpistol_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/hpistol_magout.ogg'
|
||||
can_suppress = 0
|
||||
|
||||
/obj/item/gun/projectile/automatic/pistol/deagle/update_icon()
|
||||
@@ -94,6 +104,7 @@
|
||||
icon_state = "deaglecamo"
|
||||
item_state = "deagleg"
|
||||
|
||||
//APS Pistol//
|
||||
/obj/item/gun/projectile/automatic/pistol/APS
|
||||
name = "stechkin APS pistol"
|
||||
desc = "The original russian version of a widely used Syndicate sidearm. Uses 9mm ammo."
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
icon_state = "revolver"
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/cylinder
|
||||
origin_tech = "combat=3;materials=2"
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_strong.ogg'
|
||||
|
||||
/obj/item/gun/projectile/revolver/New()
|
||||
..()
|
||||
@@ -45,6 +46,7 @@
|
||||
CB.loc = get_turf(loc)
|
||||
CB.SpinAnimation(10, 1)
|
||||
CB.update_icon()
|
||||
playsound(get_turf(CB), "casingdrop", 60, 1)
|
||||
num_unloaded++
|
||||
if(num_unloaded)
|
||||
to_chat(user, "<span class='notice'>You unload [num_unloaded] shell\s from [src].</span>")
|
||||
@@ -251,6 +253,7 @@
|
||||
chambered = null
|
||||
CB.loc = get_turf(loc)
|
||||
CB.update_icon()
|
||||
playsound(get_turf(CB), "casingdrop", 60, 1)
|
||||
num_unloaded++
|
||||
if(num_unloaded)
|
||||
to_chat(user, "<span class='notice'>You unload [num_unloaded] shell\s from [src].</span>")
|
||||
@@ -316,6 +319,7 @@
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BACK
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/shot/dual
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg'
|
||||
sawn_desc = "Omar's coming!"
|
||||
unique_rename = 1
|
||||
unique_reskin = 1
|
||||
@@ -348,7 +352,9 @@
|
||||
CB = magazine.get_round(0)
|
||||
chambered = null
|
||||
CB.loc = get_turf(loc)
|
||||
CB.SpinAnimation(10, 1)
|
||||
CB.update_icon()
|
||||
playsound(get_turf(CB), 'sound/weapons/gun_interactions/shotgun_fall.ogg', 70, 1)
|
||||
num_unloaded++
|
||||
if(num_unloaded)
|
||||
to_chat(user, "<span class = 'notice'>You break open \the [src] and unload [num_unloaded] shell\s.</span>")
|
||||
@@ -369,6 +375,7 @@
|
||||
force = 10
|
||||
slot_flags = null
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg'
|
||||
sawn_desc = "I'm just here for the gasoline."
|
||||
unique_rename = 0
|
||||
unique_reskin = 0
|
||||
@@ -420,7 +427,7 @@
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised/cane
|
||||
sawn_desc = "I'm sorry, but why did you saw your cane in the first place?"
|
||||
attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed")
|
||||
fire_sound = 'sound/weapons/Gunshot_silenced.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_silenced.ogg'
|
||||
suppressed = 1
|
||||
needs_permit = 0 //its just a cane beepsky.....
|
||||
|
||||
|
||||
@@ -8,7 +8,9 @@
|
||||
origin_tech = "combat=6;engineering=3;syndicate=6"
|
||||
mag_type = /obj/item/ammo_box/magazine/mm556x45
|
||||
weapon_weight = WEAPON_MEDIUM
|
||||
fire_sound = 'sound/weapons/Gunshot3.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_mg.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/lmg_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/lmg_magout.ogg'
|
||||
var/cover_open = 0
|
||||
can_suppress = 0
|
||||
burst_size = 3
|
||||
@@ -17,6 +19,7 @@
|
||||
/obj/item/gun/projectile/automatic/l6_saw/attack_self(mob/user)
|
||||
cover_open = !cover_open
|
||||
to_chat(user, "<span class='notice'>You [cover_open ? "open" : "close"] [src]'s cover.</span>")
|
||||
playsound(src, cover_open ? 'sound/weapons/gun_interactions/sawopen.ogg' : 'sound/weapons/gun_interactions/sawclose.ogg', 50, 1)
|
||||
update_icon()
|
||||
|
||||
/obj/item/gun/projectile/automatic/l6_saw/update_icon()
|
||||
@@ -42,17 +45,18 @@
|
||||
magazine.loc = get_turf(loc)
|
||||
user.put_in_hands(magazine)
|
||||
magazine = null
|
||||
playsound(src, magout_sound, 50, 1)
|
||||
update_icon()
|
||||
to_chat(user, "<span class='notice'>You remove the magazine from [src].</span>")
|
||||
|
||||
|
||||
/obj/item/gun/projectile/automatic/l6_saw/attackby(obj/item/A, mob/user, params)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
if(!cover_open)
|
||||
to_chat(user, "<span class='warning'>[src]'s cover is closed! You can't insert a new mag.</span>")
|
||||
return
|
||||
/obj/item/gun/projectile/automatic/l6_saw/attackby(obj/item/A, mob/user, params)
|
||||
if(istype(A, /obj/item/ammo_box/magazine))
|
||||
var/obj/item/ammo_box/magazine/AM = A
|
||||
if(istype(AM, mag_type))
|
||||
if(!cover_open)
|
||||
to_chat(user, "<span class='warning'>[src]'s cover is closed! You can't insert a new mag.</span>")
|
||||
return
|
||||
..()
|
||||
|
||||
//ammo//
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
slot_flags = SLOT_BACK
|
||||
origin_tech = "combat=4;materials=2"
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/shot
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg'
|
||||
var/recentpump = 0 // to prevent spammage
|
||||
|
||||
/obj/item/gun/projectile/shotgun/attackby(obj/item/A, mob/user, params)
|
||||
@@ -44,7 +45,7 @@
|
||||
|
||||
|
||||
/obj/item/gun/projectile/shotgun/proc/pump(mob/M)
|
||||
playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1)
|
||||
playsound(M, 'sound/weapons/gun_interactions/shotgunpump.ogg', 60, 1)
|
||||
pump_unload(M)
|
||||
pump_reload(M)
|
||||
update_icon() //I.E. fix the desc
|
||||
@@ -54,6 +55,7 @@
|
||||
if(chambered)//We have a shell in the chamber
|
||||
chambered.loc = get_turf(src)//Eject casing
|
||||
chambered.SpinAnimation(5, 1)
|
||||
playsound(src, chambered.drop_sound, 60, 1)
|
||||
chambered = null
|
||||
|
||||
/obj/item/gun/projectile/shotgun/proc/pump_reload(mob/M)
|
||||
@@ -206,10 +208,11 @@
|
||||
item_state = "moistnugget"
|
||||
slot_flags = 0 //no SLOT_BACK sprite, alas
|
||||
mag_type = /obj/item/ammo_box/magazine/internal/boltaction
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_rifle.ogg'
|
||||
var/bolt_open = 0
|
||||
|
||||
/obj/item/gun/projectile/shotgun/boltaction/pump(mob/M)
|
||||
playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1)
|
||||
playsound(M, 'sound/weapons/gun_interactions/rifle_load.ogg', 60, 1)
|
||||
if(bolt_open)
|
||||
pump_reload(M)
|
||||
else
|
||||
@@ -312,6 +315,7 @@
|
||||
to_chat(user, "You switch to tube B.")
|
||||
else
|
||||
to_chat(user, "You switch to tube A.")
|
||||
playsound(user, 'sound/weapons/gun_interactions/selector.ogg', 100, 1)
|
||||
|
||||
/obj/item/gun/projectile/shotgun/automatic/dual_tube/AltClick(mob/living/user)
|
||||
if(user.incapacitated() || !Adjacent(user) || !istype(user))
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
recoil = 2
|
||||
weapon_weight = WEAPON_MEDIUM
|
||||
mag_type = /obj/item/ammo_box/magazine/sniper_rounds
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_sniper.ogg'
|
||||
magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg'
|
||||
magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg'
|
||||
fire_delay = 40
|
||||
burst_size = 1
|
||||
origin_tech = "combat=7"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "saber"
|
||||
item_state = "gun"
|
||||
mag_type = /obj/item/ammo_box/magazine/toy/smg
|
||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
|
||||
force = 0
|
||||
throwforce = 0
|
||||
burst_size = 3
|
||||
@@ -22,7 +22,7 @@
|
||||
icon_state = "pistol"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
mag_type = /obj/item/ammo_box/magazine/toy/pistol
|
||||
fire_sound = 'sound/weapons/Gunshot.ogg'
|
||||
fire_sound = 'sound/weapons/gunshots/gunshot.ogg'
|
||||
can_suppress = 0
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
|
||||
Reference in New Issue
Block a user