Merge pull request #4644 from VOREStation/upstream-merge-5803

[MIRROR] Guns sounds refactor and improvements
This commit is contained in:
Novacat
2019-03-27 12:35:26 -04:00
committed by GitHub
57 changed files with 109 additions and 150 deletions

View File

@@ -31,14 +31,14 @@
"Shotgun Pumping" = 'sound/weapons/shotgunpump.ogg',
"Flash" = 'sound/weapons/flash.ogg',
"Bite" = 'sound/weapons/bite.ogg',
"Gun Firing" = 'sound/weapons/gunshot.ogg',
"Desert Eagle Firing" = 'sound/weapons/deagle.ogg',
"Rifle Firing" = 'sound/weapons/rifleshot.ogg',
"Sniper Rifle Firing" = 'sound/weapons/svd_shot.ogg',
"AT Rifle Firing" = 'sound/weapons/sniper.ogg',
"Shotgun Firing" = 'sound/weapons/shotgun.ogg',
"Handgun Firing" = 'sound/weapons/gunshot3.ogg',
"Machinegun Firing" = 'sound/weapons/machinegun.ogg',
"Gun Firing" = 'sound/weapons/Gunshot1.ogg',
"Desert Eagle Firing" = 'sound/weapons/Gunshot_deagle.ogg',
"Rifle Firing" = 'sound/weapons/Gunshot_generic_rifle.ogg',
"Sniper Rifle Firing" = 'sound/weapons/Gunshot_sniper.ogg',
"AT Rifle Firing" = 'sound/weapons/Gunshot_cannon.ogg',
"Shotgun Firing" = 'sound/weapons/Gunshot_shotgun.ogg',
"Handgun Firing" = 'sound/weapons/Gunshot2.ogg',
"Machinegun Firing" = 'sound/weapons/Gunshot_machinegun.ogg',
"Rocket Launcher Firing"= 'sound/weapons/rpg.ogg',
"Taser Firing" = 'sound/weapons/Taser.ogg',
"Laser Gun Firing" = 'sound/weapons/laser.ogg',
@@ -92,4 +92,4 @@
M.Paralyse(4)
else
M.make_jittery(50)
M << "<font color='red' size='7'><b>HONK</b></font>"
M << "<font color='red' size='7'><b>HONK</b></font>"

View File

@@ -4,7 +4,7 @@
icon_state = "mecha_uac2"
equip_cooldown = 60 // 6 seconds
projectile = /obj/item/projectile/bullet/cannon
fire_sound = 'sound/weapons/cannon.ogg'
fire_sound = 'sound/weapons/Gunshot_cannon.ogg'
projectiles = 1
projectile_energy_cost = 1000
salvageable = 0 // We don't want players ripping this off a dead mech. Could potentially be a prize for beating it if Devs bless me and someone offers a nerf idea.

View File

@@ -296,7 +296,7 @@
description_info = "This weapon cannot be fired indoors, underground, or on-station."
icon_state = "mecha_mortar"
equip_cooldown = 30
fire_sound = 'sound/weapons/cannon.ogg'
fire_sound = 'sound/weapons/Gunshot_cannon.ogg'
fire_volume = 100
projectiles = 3
deviation = 0.6
@@ -319,7 +319,7 @@
icon_state = "mecha_scatter"
equip_cooldown = 20
projectile = /obj/item/projectile/bullet/pellet/shotgun/flak
fire_sound = 'sound/weapons/gunshot/shotgun.ogg'
fire_sound = 'sound/weapons/Gunshot_shotgun.ogg'
fire_volume = 80
projectiles = 40
projectiles_per_shot = 4
@@ -345,7 +345,7 @@
icon_state = "mecha_uac2"
equip_cooldown = 10
projectile = /obj/item/projectile/bullet/pistol/medium
fire_sound = 'sound/weapons/machinegun.ogg'
fire_sound = 'sound/weapons/Gunshot_machinegun.ogg'
projectiles = 30 //10 bursts, matching the Scattershot's 10. Also, conveniently, doesn't eat your powercell when reloading like 300 bullets does.
projectiles_per_shot = 3
deviation = 0.3
@@ -523,7 +523,7 @@
icon_state = "mecha_drac3"
equip_cooldown = 20
projectile = /obj/item/projectile/bullet/incendiary
fire_sound = 'sound/weapons/machinegun.ogg'
fire_sound = 'sound/weapons/Gunshot_machinegun.ogg'
projectiles = 30
projectiles_per_shot = 2
deviation = 0.4

View File

@@ -49,7 +49,7 @@
equip_cooldown = 15
var/mode = 0 //0 - buckshot, 1 - beanbag, 2 - slug.
projectile = /obj/item/projectile/bullet/pellet/shotgun
fire_sound = 'sound/weapons/shotgun.ogg'
fire_sound = 'sound/weapons/Gunshot_shotgun.ogg'
fire_volume = 80
projectiles = 6
projectiles_per_shot = 1

View File

@@ -82,13 +82,13 @@
/obj/effect/map_effect/interval/sound_emitter/ballistic_gunfight
sounds_to_play = list(
'sound/weapons/gunshot.ogg',
'sound/weapons/deagle.ogg',
'sound/weapons/rifleshot.ogg',
'sound/weapons/sniper.ogg',
'sound/weapons/shotgun.ogg',
'sound/weapons/gunshot3.ogg',
'sound/weapons/machinegun.ogg'
'sound/weapons/Gunshot1.ogg',
'sound/weapons/Gunshot_deagle.ogg',
'sound/weapons/Gunshot_generic_rifle.ogg',
'sound/weapons/Gunshot_sniper.ogg',
'sound/weapons/Gunshot_shotgun.ogg',
'sound/weapons/Gunshot3.ogg',
'sound/weapons/Gunshot_machinegun.ogg'
)
interval_lower_bound = 5
interval_upper_bound = 2 SECONDS

View File

@@ -25,7 +25,7 @@
/obj/item/latexballon/proc/burst()
if (!air_contents)
return
playsound(src, 'sound/weapons/Gunshot.ogg', 100, 1)
playsound(src, 'sound/weapons/Gunshot_old.ogg', 100, 1)
icon_state = "latexballon_bursted"
item_state = "lgloves"
loc.assume_air(air_contents)

View File

@@ -42,14 +42,14 @@ var/list/global/tank_gauge_cache = list()
description_info = "These tanks are utilised to store any of the various types of gaseous substances. \
They can be attached to various portable atmospheric devices to be filled or emptied. <br>\
<br>\
Each tank is fitted with an emergency relief valve. This relief valve will open if the tank is pressurised to over ~3000kPa or heated to over 173<37>C. \
Each tank is fitted with an emergency relief valve. This relief valve will open if the tank is pressurised to over ~3000kPa or heated to over 173<37>C. \
The valve itself will close after expending most or all of the contents into the air.<br>\
<br>\
Filling a tank such that experiences ~4000kPa of pressure will cause the tank to rupture, spilling out its contents and destroying the tank. \
Tanks filled over ~5000kPa will rupture rather violently, exploding with significant force."
description_antag = "Each tank may be incited to burn by attaching wires and an igniter assembly, though the igniter can only be used once and the mixture only burn if the igniter pushes a flammable gas mixture above the minimum burn temperature (126<32>C). \
Wired and assembled tanks may be disarmed with a set of wirecutters. Any exploding or rupturing tank will generate shrapnel, assuming their relief valves have been welded beforehand. Even if not, they can be incited to expel hot gas on ignition if pushed above 173<37>C. \
description_antag = "Each tank may be incited to burn by attaching wires and an igniter assembly, though the igniter can only be used once and the mixture only burn if the igniter pushes a flammable gas mixture above the minimum burn temperature (126<32>C). \
Wired and assembled tanks may be disarmed with a set of wirecutters. Any exploding or rupturing tank will generate shrapnel, assuming their relief valves have been welded beforehand. Even if not, they can be incited to expel hot gas on ignition if pushed above 173<37>C. \
Relatively easy to make, the single tank bomb requries no tank transfer valve, and is still a fairly formidable weapon that can be manufactured from any tank."
/obj/item/weapon/tank/proc/init_proxy()
@@ -65,7 +65,7 @@ var/list/global/tank_gauge_cache = list()
src.air_contents = new /datum/gas_mixture()
src.air_contents.volume = volume //liters
src.air_contents.temperature = T20C
START_PROCESSING(SSobj, src)
START_PROCESSING(SSobj, src)
update_gauge()
return
@@ -464,7 +464,7 @@ var/list/global/tank_gauge_cache = list()
if(!T)
return
T.assume_air(air_contents)
playsound(get_turf(src), 'sound/weapons/shotgun.ogg', 20, 1)
playsound(get_turf(src), 'sound/weapons/Gunshot_shotgun.ogg', 20, 1)
visible_message("\icon[src] <span class='danger'>\The [src] flies apart!</span>", "<span class='warning'>You hear a bang!</span>")
T.hotspot_expose(air_contents.temperature, 70, 1)

View File

@@ -404,7 +404,7 @@
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 4)
matter = list()
fire_sound = 'sound/weapons/Gunshot.ogg'
fire_sound = 'sound/weapons/Gunshot1.ogg'
projectile_type = /obj/item/projectile/chameleon
charge_meter = 0
charge_cost = 48 //uses next to no power, since it's just holograms

View File

@@ -124,9 +124,9 @@ mob/living/carbon/proc/handle_hallucinations()
if(8) src << 'sound/machines/windowdoor.ogg'
if(9)
//To make it more realistic, I added two gunshots (enough to kill)
src << 'sound/weapons/Gunshot.ogg'
src << 'sound/weapons/Gunshot1.ogg'
spawn(rand(10,30))
src << 'sound/weapons/Gunshot.ogg'
src << 'sound/weapons/Gunshot2.ogg'
if(10) src << 'sound/weapons/smash.ogg'
if(11)
//Same as above, but with tasers.

View File

@@ -263,9 +263,9 @@
if(8) src << 'sound/machines/windowdoor.ogg'
if(9)
//To make it more realistic, I added two gunshots (enough to kill)
src << 'sound/weapons/Gunshot.ogg'
src << 'sound/weapons/Gunshot1.ogg'
spawn(rand(10,30))
src << 'sound/weapons/Gunshot.ogg'
src << 'sound/weapons/Gunshot2.ogg'
if(10) src << 'sound/weapons/smash.ogg'
if(11)
//Same as above, but with tasers.

View File

@@ -189,7 +189,7 @@
icon_state = "syndicateranged_shotgun"
icon_living = "syndicateranged_shotgun"
projectiletype = /obj/item/projectile/bullet/pellet/shotgun // Buckshot
projectilesound = 'sound/weapons/gunshot/shotgun.ogg'
projectilesound = 'sound/weapons/Gunshot_shotgun.ogg'
loot_list = list(/obj/item/weapon/gun/projectile/shotgun/pump = 100)

View File

@@ -28,7 +28,7 @@
projectiletype = /obj/item/projectile/bullet
casingtype = /obj/item/ammo_casing/spent
projectilesound = 'sound/weapons/Gunshot.ogg'
projectilesound = 'sound/weapons/Gunshot4.ogg'
loot_list = list(/obj/item/weapon/gun/projectile/revolver/mateba = 100)

View File

@@ -17,7 +17,7 @@
movement_sound = 'sound/effects/servostep.ogg'
attacktext = list("clawed")
projectilesound = 'sound/weapons/Gunshot.ogg'
projectilesound = 'sound/weapons/Gunshot_old.ogg'
ai_holder_type = /datum/ai_holder/simple_mob/hivebot
say_list_type = /datum/say_list/hivebot

View File

@@ -110,7 +110,7 @@
/obj/item/ammo_casing/a9mm/practice
desc = "A 9mm practice bullet casing."
icon_state = "r-casing"
projectile_type = /obj/item/projectile/bullet/pistol/practice
projectile_type = /obj/item/projectile/bullet/practice
/*
* .45
@@ -130,7 +130,7 @@
/obj/item/ammo_casing/a45/practice
desc = "A .45 practice bullet casing."
icon_state = "r-casing"
projectile_type = /obj/item/projectile/bullet/pistol/practice
projectile_type = /obj/item/projectile/bullet/practice
matter = list(DEFAULT_WALL_MATERIAL = 60)
/obj/item/ammo_casing/a45/rubber
@@ -202,7 +202,7 @@
name = "shotgun shell"
desc = "A practice shell."
icon_state = "pshell"
projectile_type = /obj/item/projectile/bullet/shotgun/practice
projectile_type = /obj/item/projectile/bullet/practice
matter = list(DEFAULT_WALL_MATERIAL = 90)
/obj/item/ammo_casing/a12g/beanbag
@@ -260,7 +260,7 @@
/obj/item/ammo_casing/a762/practice
desc = "A 7.62mm practice bullet casing."
icon_state = "rifle-casing" // Need to make an icon for these
projectile_type = /obj/item/projectile/bullet/rifle/practice
projectile_type = /obj/item/projectile/bullet/practice
matter = list(DEFAULT_WALL_MATERIAL = 90)
/obj/item/ammo_casing/a762/blank
@@ -306,7 +306,7 @@
/obj/item/ammo_casing/a545/practice
desc = "A 5.45mm practice bullet casing."
icon_state = "rifle-casing" // Need to make an icon for these
projectile_type = /obj/item/projectile/bullet/rifle/practice
projectile_type = /obj/item/projectile/bullet/practice
matter = list(DEFAULT_WALL_MATERIAL = 90)
/obj/item/ammo_casing/a545/blank

View File

@@ -56,7 +56,7 @@
var/fire_delay = 6 //delay after shooting before the gun can be used again
var/burst_delay = 2 //delay between shots, if firing in bursts
var/move_delay = 1
var/fire_sound = 'sound/weapons/Gunshot.ogg'
var/fire_sound = null // This is handled by projectile.dm's fire_sound var now, but you can override the projectile's fire_sound with this one if you want to.
var/fire_sound_text = "gunshot"
var/fire_anim = null
var/recoil = 0 //screen shake
@@ -474,10 +474,7 @@
last_shot = world.time
if(silenced)
playsound(src, fire_sound, 10, 1)
else
playsound(src, fire_sound, 50, 1)
play_fire_sound()
if(muzzle_flash)
set_light(muzzle_flash)
@@ -673,7 +670,13 @@
return launched
/obj/item/weapon/gun/proc/play_fire_sound(var/mob/user, var/obj/item/projectile/P)
var/shot_sound = (istype(P) && P.fire_sound)? P.fire_sound : fire_sound
var/shot_sound = fire_sound
if(!shot_sound && istype(P) && P.fire_sound) // If the gun didn't have a fire_sound, but the projectile exists, and has a sound...
shot_sound = P.fire_sound
if(!shot_sound) // If there's still no sound...
return
if(silenced)
playsound(user, shot_sound, 10, 1)
else
@@ -696,11 +699,7 @@
var/obj/item/projectile/in_chamber = consume_next_projectile()
if (istype(in_chamber))
user.visible_message("<span class = 'warning'>[user] pulls the trigger.</span>")
var/shot_sound = in_chamber.fire_sound? in_chamber.fire_sound : fire_sound
if(silenced)
playsound(user, shot_sound, 10, 1)
else
playsound(user, shot_sound, 50, 1)
play_fire_sound()
if(istype(in_chamber, /obj/item/projectile/beam/lastertag))
user.show_message("<span class = 'warning'>You feel rather silly, trying to commit suicide with a toy.</span>")
mouthshoot = 0

View File

@@ -2,7 +2,6 @@
name = "energy gun"
desc = "A basic energy-based gun."
icon_state = "energy"
fire_sound = 'sound/weapons/Taser.ogg'
fire_sound_text = "laser blast"
var/obj/item/weapon/cell/power_supply //What type of power cell this uses
@@ -28,7 +27,7 @@
..()
if(self_recharge)
power_supply = new /obj/item/weapon/cell/device/weapon(src)
START_PROCESSING(SSobj, src)
START_PROCESSING(SSobj, src)
else
if(cell_type)
power_supply = new cell_type(src)
@@ -189,7 +188,7 @@
if(power_supply == null)
power_supply = new /obj/item/weapon/cell/device/weapon(src)
self_recharge = 1
START_PROCESSING(SSobj, src)
START_PROCESSING(SSobj, src)
update_icon()
/obj/item/weapon/gun/energy/get_description_interaction()

View File

@@ -7,7 +7,6 @@
desc = "A large, strange gauntlet."
icon_state = "gravwhip"
item_state = "gravwhip"
fire_sound = 'sound/effects/zzzt.ogg'
fire_sound_text = "laser blast"
fire_delay = 15

View File

@@ -130,7 +130,6 @@
icon_state = "sniper"
item_state = "sniper"
item_state_slots = list(slot_r_hand_str = "z8carbine", slot_l_hand_str = "z8carbine") //placeholder
fire_sound = 'sound/weapons/gauss_shoot.ogg'
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 5, TECH_POWER = 4)
projectile_type = /obj/item/projectile/beam/sniper
slot_flags = SLOT_BACK
@@ -157,7 +156,6 @@
description_fluff = "Modeled after ancient hunting rifles, this rifle was dubbed the 'Rainy Day Special' by some, due to its use as some barmens' fight-stopper of choice. One shot is all it takes, or so they say."
icon_state = "eshotgun"
item_state = "shotgun"
fire_sound = 'sound/weapons/gauss_shoot.ogg'
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_POWER = 3)
projectile_type = /obj/item/projectile/beam/sniper
slot_flags = SLOT_BACK

View File

@@ -22,7 +22,6 @@
/obj/item/weapon/gun/energy/pulse_rifle/destroyer
name = "pulse destroyer"
desc = "A heavy-duty, pulse-based energy weapon. Because of its complexity and cost, it is rarely seen in use except by specialists."
fire_sound='sound/weapons/gauss_shoot.ogg'
projectile_type=/obj/item/projectile/beam/pulse
charge_cost = 120

View File

@@ -30,7 +30,6 @@
desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements."
icon_state = "decloner"
item_state = "decloner"
fire_sound = 'sound/weapons/pulse3.ogg'
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 4, TECH_POWER = 3)
projectile_type = /obj/item/projectile/energy/declone
@@ -39,7 +38,6 @@
desc = "A tool that discharges controlled radiation which induces mutation in plant cells."
icon_state = "floramut100"
item_state = "floramut"
fire_sound = 'sound/effects/stealthoff.ogg'
projectile_type = /obj/item/projectile/energy/floramut
origin_tech = list(TECH_MATERIAL = 2, TECH_BIO = 3, TECH_POWER = 3)
modifystate = "floramut"
@@ -112,13 +110,11 @@
desc = "A custom-built weapon of some kind."
icon_state = "xray"
projectile_type = /obj/item/projectile/beam/mindflayer
fire_sound = 'sound/weapons/Laser.ogg'
/obj/item/weapon/gun/energy/toxgun
name = "phoron pistol"
desc = "A specialized firearm designed to fire lethal bolts of phoron."
icon_state = "toxgun"
fire_sound = 'sound/effects/stealthoff.ogg'
w_class = ITEMSIZE_NORMAL
origin_tech = list(TECH_COMBAT = 5, TECH_PHORON = 4)
projectile_type = /obj/item/projectile/energy/phoron
@@ -131,7 +127,6 @@
icon = 'icons/obj/gun.dmi'
item_icons = null
icon_state = "staffofchange"
fire_sound = 'sound/weapons/emitter.ogg'
flags = CONDUCT
slot_flags = SLOT_BACK
w_class = ITEMSIZE_LARGE
@@ -187,7 +182,6 @@ obj/item/weapon/gun/energy/staff/focus
icon_state = "dakkalaser"
item_state = "dakkalaser"
wielded_item_state = "dakkalaser-wielded"
fire_sound = 'sound/weapons/Laser.ogg'
w_class = ITEMSIZE_HUGE
charge_cost = 24 // 100 shots, it's a spray and pray (to RNGesus) weapon.
projectile_type = /obj/item/projectile/energy/blue_pellet
@@ -211,7 +205,6 @@ obj/item/weapon/gun/energy/staff/focus
icon_state = "mhdhowitzer"
item_state = "mhdhowitzer"
wielded_item_state = "mhdhowitzer-wielded"
fire_sound = 'sound/weapons/emitter2.ogg'
w_class = ITEMSIZE_HUGE
charge_cost = 10000 // Uses large cells, can at max have 3 shots.

View File

@@ -36,7 +36,6 @@
matter = list(DEFAULT_WALL_MATERIAL = 2000)
slot_flags = SLOT_BELT | SLOT_HOLSTER
silenced = 1
fire_sound = 'sound/weapons/Genhit.ogg'
projectile_type = /obj/item/projectile/energy/bolt
charge_cost = 480
cell_type = /obj/item/weapon/cell/device/weapon/recharge

View File

@@ -1,7 +1,6 @@
/obj/item/weapon/gun/energy/temperature
name = "temperature gun"
icon_state = "freezegun"
fire_sound = 'sound/weapons/pulse3.ogg'
desc = "A gun that can add or remove heat from entities it hits. In other words, it can fire 'cold', and 'hot' beams."
charge_cost = 240
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2)

View File

@@ -6,7 +6,7 @@
w_class = ITEMSIZE_LARGE
force = 10
fire_sound = 'sound/weapons/empty.ogg'
fire_sound = 'sound/weapons/grenade_launcher.ogg'
fire_sound_text = "a metallic thunk"
recoil = 0
throw_distance = 7

View File

@@ -8,7 +8,7 @@
flags = CONDUCT
fire_sound_text = "a loud whoosh of moving air"
fire_delay = 50
fire_sound = 'sound/weapons/tablehit1.ogg'
fire_sound = 'sound/weapons/grenade_launcher.ogg' // Formerly tablehit1.ogg but I like this better -Ace
var/fire_pressure // Used in fire checks/pressure checks.
var/max_w_class = ITEMSIZE_NORMAL // Hopper intake size.

View File

@@ -20,8 +20,6 @@
var/power_cost = 950 // Cost per fire, should consume almost an entire basic cell.
var/power_per_tick // Capacitor charge per process(). Updated based on capacitor rating.
fire_sound = 'sound/weapons/railgun.ogg'
/obj/item/weapon/gun/magnetic/New()
START_PROCESSING(SSobj, src)
if(capacitor)

View File

@@ -102,7 +102,6 @@
load_type = /obj/item/weapon/magnetic_ammo
projectile_type = /obj/item/projectile/bullet/magnetic/flechette
loaded = /obj/item/weapon/magnetic_ammo
fire_sound = 'sound/weapons/rapidslice.ogg'
empty_sound = 'sound/weapons/smg_empty_alarm.ogg'
firemodes = list(

View File

@@ -121,10 +121,10 @@
chargecost_lethal = 200
firemodes = list(
new /datum/firemode(src, list(mode_name="stun", projectile_type=beammode, fire_sound='sound/weapons/Taser.ogg', charge_cost = chargecost)),
new /datum/firemode(src, list(mode_name="lethal", projectile_type=beammode_lethal, fire_sound='sound/weapons/Laser.ogg', charge_cost = chargecost_lethal)),
new /datum/firemode(src, list(mode_name="[burstmode] shot stun", projectile_type=beammode, fire_sound='sound/weapons/Taser.ogg', charge_cost = chargecost, burst = burstmode)),
new /datum/firemode(src, list(mode_name="[burstmode] shot lethal", projectile_type=beammode_lethal, fire_sound='sound/weapons/Laser.ogg', charge_cost = chargecost_lethal, burst = burstmode)),
new /datum/firemode(src, list(mode_name="stun", projectile_type=beammode, charge_cost = chargecost)),
new /datum/firemode(src, list(mode_name="lethal", projectile_type=beammode_lethal, charge_cost = chargecost_lethal)),
new /datum/firemode(src, list(mode_name="[burstmode] shot stun", projectile_type=beammode, charge_cost = chargecost, burst = burstmode)),
new /datum/firemode(src, list(mode_name="[burstmode] shot lethal", projectile_type=beammode_lethal, charge_cost = chargecost_lethal, burst = burstmode)),
)
/obj/item/weapon/gun/energy/modular/load_ammo(var/obj/item/C, mob/user)

View File

@@ -46,7 +46,6 @@
caliber = "10mm"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 8)
slot_flags = SLOT_BELT|SLOT_BACK
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m10mm
allowed_magazines = list(/obj/item/ammo_magazine/m10mm)
@@ -107,7 +106,6 @@
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
slot_flags = SLOT_BELT
ammo_type = "/obj/item/ammo_casing/a9mmr"
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m9mmt/rubber
allowed_magazines = list(/obj/item/ammo_magazine/m9mmt)
@@ -131,7 +129,6 @@
force = 10
caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 3)
fire_sound = 'sound/weapons/Gunshot.ogg'
slot_flags = SLOT_BACK
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m762
@@ -204,7 +201,6 @@
caliber = "5.45mm"
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 2)
slot_flags = SLOT_BACK
fire_sound = 'sound/weapons/machinegun.ogg'
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m545saw
allowed_magazines = list(/obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545)
@@ -337,7 +333,6 @@
caliber = "9mm"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
slot_flags = SLOT_BELT // ToDo: Belt sprite.
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m9mmp90
allowed_magazines = list(/obj/item/ammo_magazine/m9mmp90, /obj/item/ammo_magazine/m9mmt) // ToDo: New sprite for the different mag.

View File

@@ -5,7 +5,7 @@
desc = "A reproduction of an almost ancient weapon design from the early 20th century. It's still popular among hunters and collectors due to its reliability. Uses 7.62mm rounds."
item_state = "boltaction"
icon_state = "boltaction"
fire_sound = 'sound/weapons/rifleshot.ogg'
fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
max_shells = 5
caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 1)// Old as shit rifle doesn't have very good tech.
@@ -29,7 +29,7 @@
if(istype(A, /obj/item/weapon/surgical/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter) && w_class != ITEMSIZE_NORMAL)
user << "<span class='notice'>You begin to shorten the barrel and stock of \the [src].</span>"
if(loaded.len)
afterattack(user, user) //will this work? //it will. we call it twice, for twice the FUN
afterattack(user, user)
playsound(user, fire_sound, 50, 1)
user.visible_message("<span class='danger'>[src] goes off!</span>", "<span class='danger'>The rifle goes off in your face!</span>")
return
@@ -53,7 +53,6 @@
desc = "A reproduction of an almost ancient weapon design from the 19th century. This one uses a lever-action to move new rounds into the chamber. Uses 7.62mm rounds."
item_state = "leveraction"
icon_state = "leveraction"
fire_sound = 'sound/weapons/rifleshot.ogg'
max_shells = 5
caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 1)// Old as shit rifle doesn't have very good tech.

View File

@@ -132,8 +132,8 @@
item_state = "deagle"
force = 14.0
caliber = ".44"
fire_sound = 'sound/weapons/Gunshot_deagle.ogg'
load_method = MAGAZINE
fire_sound = 'sound/weapons/deagle.ogg'
magazine_type = /obj/item/ammo_magazine/m44
allowed_magazines = list(/obj/item/ammo_magazine/m44)
@@ -154,33 +154,13 @@
icon_state = "deaglecamo"
item_state = "deagleg"
/*
/obj/item/weapon/gun/projectile/fiveseven
name = "\improper WT-AP57"
desc = "This tacticool pistol made by Ward-Takahashi trades stopping power for armor piercing and a large capacity. Uses 5mm rounds."
icon_state = "fnseven"
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
caliber = "5mm"
load_method = MAGAZINE
fire_sound = 'sound/weapons/semiauto.ogg'
magazine_type = /obj/item/ammo_magazine/c5mm
allowed_magazines = list(/obj/item/ammo_magazine/c5mm)
/obj/item/weapon/gun/projectile/fiveseven/update_icon()
..()
if(ammo_magazine)
icon_state = "fnseven"
else
icon_state = "fnseven-empty"
*/
/obj/item/weapon/gun/projectile/gyropistol // Does this even appear anywhere outside of admin abuse?
name = "gyrojet pistol"
desc = "Speak softly, and carry a big gun. Fires rare .75 caliber self-propelled exploding bolts--because fuck you and everything around you."
icon_state = "gyropistol"
max_shells = 8
caliber = ".75"
fire_sound = 'sound/weapons/rpg.ogg'
fire_sound = 'sound/weapons/railgun.ogg'
origin_tech = list(TECH_COMBAT = 3)
ammo_type = "/obj/item/ammo_casing/a75"
load_method = MAGAZINE
@@ -331,7 +311,6 @@
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
caliber = "9mm"
load_method = MAGAZINE
fire_sound = 'sound/weapons/gunshot3.ogg'
magazine_type = /obj/item/ammo_magazine/m9mm
allowed_magazines = list(/obj/item/ammo_magazine/m9mm) // Can accept illegal large capacity magazines, or compact magazines.

View File

@@ -46,7 +46,6 @@
icon_state = "detective"
caliber = ".38"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/gunshot3.ogg'
ammo_type = /obj/item/ammo_casing/a38
/obj/item/weapon/gun/projectile/revolver/detective/verb/rename_gun()
@@ -73,7 +72,6 @@
icon_state = "detective"
caliber = ".45"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/gunshot_heavy.ogg'
ammo_type = /obj/item/ammo_casing/a45/rubber
max_shells = 7
@@ -125,7 +123,6 @@ obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun()
icon_state = "deckard-empty"
caliber = ".38"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/gunshot3.ogg'
ammo_type = /obj/item/ammo_casing/a38
/obj/item/weapon/gun/projectile/revolver/deckard/emp

View File

@@ -7,7 +7,7 @@
caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
slot_flags = SLOT_BACK
fire_sound = 'sound/weapons/rifleshot.ogg'
//fire_sound = 'sound/weapons/rifleshot.ogg'
load_method = MAGAZINE // ToDo: Make it so MAGAZINE, SPEEDLOADER and SINGLE_CASING can all be used on the same gun.
magazine_type = /obj/item/ammo_magazine/m762garand
allowed_magazines = list(/obj/item/ammo_magazine/m762garand)

View File

@@ -84,7 +84,7 @@
scoped_accuracy = 0
// requires_two_hands = 1
// one_handed_penalty = 60 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand.
fire_sound = 'sound/weapons/SVD_shot.ogg'
fire_sound = 'sound/weapons/Gunshot_SVD.ogg' // Has a very unique sound.
magazine_type = /obj/item/ammo_magazine/m762svd
allowed_magazines = list(/obj/item/ammo_magazine/m762svd)

View File

@@ -15,8 +15,8 @@
icon = 'icons/obj/gun.dmi'
icon_state = "spikethrower3"
item_state = "spikethrower"
fire_sound_text = "a strange noise"
fire_sound = 'sound/weapons/bladeslice.ogg'
fire_sound_text = "a strange noise"
/obj/item/weapon/gun/launcher/spikethrower/New()
..()

View File

@@ -72,7 +72,7 @@
var/tracer_type
var/impact_type
var/fire_sound
var/fire_sound = 'sound/weapons/Gunshot_old.ogg' // Can be overriden in gun.dm's fire_sound var. It can also be null but I don't know why you'd ever want to do that. -Ace
var/vacuum_traversal = 1 //Determines if the projectile can exist in vacuum, if false, the projectile will be deleted if it enters vacuum.

View File

@@ -98,7 +98,7 @@
/obj/item/projectile/beam/pulse
name = "pulse"
icon_state = "u_laser"
fire_sound='sound/weapons/pulse.ogg'
fire_sound='sound/weapons/gauss_shoot.ogg' // Needs a more meaty sound than what pulse.ogg currently is; this will be a placeholder for now.
damage = 100 //Badmin toy, don't care
armor_penetration = 100
light_color = "#0066FF"

View File

@@ -1,7 +1,7 @@
/obj/item/projectile/bullet
name = "bullet"
icon_state = "bullet"
fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg'
fire_sound = 'sound/weapons/Gunshot4.ogg'
damage = 60
damage_type = BRUTE
nodamage = 0
@@ -65,7 +65,7 @@
/* short-casing projectiles, like the kind used in pistols or SMGs */
/obj/item/projectile/bullet/pistol // 9mm pistols and most SMGs. Sacrifice power for capacity.
fire_sound = 'sound/weapons/gunshot/gunshot_pistol.ogg' // ToDo: Different shot sounds for different strength pistols. -Ace
fire_sound = 'sound/weapons/gunshot2.ogg'
damage = 20
/obj/item/projectile/bullet/pistol/ap
@@ -77,7 +77,7 @@
armor_penetration = -50
/obj/item/projectile/bullet/pistol/medium // .45 (and maybe .40 if it ever gets added) caliber security pistols. Balance between capacity and power.
// fire_sound = 'sound/weapons/gunshot3.ogg' // ToDo: Different shot sounds for different strength pistols.
fire_sound = 'sound/weapons/gunshot3.ogg' // Snappier sound.
damage = 25
/obj/item/projectile/bullet/pistol/medium/ap
@@ -89,11 +89,11 @@
armor_penetration = -50
/obj/item/projectile/bullet/pistol/strong // .357 and .44 caliber stuff. High power pistols like the Mateba or Desert Eagle. Sacrifice capacity for power.
fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' // ToDo: Replace with something less ugly. I recommend weapons/gunshot3.ogg
fire_sound = 'sound/weapons/gunshot4.ogg'
damage = 60
/obj/item/projectile/bullet/pistol/rubber/strong // "Rubber" bullets for high power pistols.
fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' // ToDo: Same as above.
fire_sound = 'sound/weapons/gunshot3.ogg' // Rubber shots have less powder, but these still have more punch than normal rubber shot.
damage = 10
agony = 60
embed_chance = 0
@@ -107,12 +107,13 @@
embed_chance = 0
sharp = 0
check_armour = "melee"
fire_sound ='sound/weapons/Gunshot_pathetic.ogg' // Rubber shots have less powder in the casing.
/* shotgun projectiles */
/obj/item/projectile/bullet/shotgun
name = "slug"
fire_sound = 'sound/weapons/gunshot/shotgun.ogg'
fire_sound = 'sound/weapons/Gunshot_shotgun.ogg'
damage = 50
armor_penetration = 15
@@ -128,7 +129,7 @@
//Overall less damage than slugs in exchange for more damage at very close range and more embedding
/obj/item/projectile/bullet/pellet/shotgun
name = "shrapnel"
fire_sound = 'sound/weapons/gunshot/shotgun.ogg'
fire_sound = 'sound/weapons/Gunshot_shotgun.ogg'
damage = 13
pellets = 6
range_step = 1
@@ -143,7 +144,7 @@
//EMP shotgun 'slug', it's basically a beanbag that pops a tiny emp when it hits. //Not currently used
/obj/item/projectile/bullet/shotgun/ion
name = "ion slug"
fire_sound = 'sound/weapons/Laser.ogg'
fire_sound = 'sound/weapons/Laser.ogg' // Really? We got nothing better than this?
damage = 15
embed_chance = 0
sharp = 0
@@ -160,14 +161,18 @@
/* "Rifle" rounds */
/obj/item/projectile/bullet/rifle
fire_sound = 'sound/weapons/gunshot/gunshot3.ogg'
fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
armor_penetration = 15
penetrating = 1
/obj/item/projectile/bullet/rifle/a762
fire_sound = 'sound/weapons/gunshot/gunshot2.ogg'
fire_sound = 'sound/weapons/Gunshot_heavy.ogg'
damage = 35
/obj/item/projectile/bullet/rifle/a762/sniper // Hitscan specifically for sniper ammo; to be implimented at a later date, probably for the SVD. -Ace
fire_sound = 'sound/weapons/Gunshot_sniper.ogg'
hitscan = 1 //so the ammo isn't useless as a sniper weapon
/obj/item/projectile/bullet/rifle/a762/ap
damage = 30
armor_penetration = 50 // At 30 or more armor, this will do more damage than standard rounds.
@@ -177,12 +182,13 @@
armor_penetration = -50
penetrating = 0
/obj/item/projectile/bullet/rifle/a762/hunter // Optimized for killing simple animals and not people, because Balance.
/obj/item/projectile/bullet/rifle/a762/hunter // Optimized for killing simple animals and not people, because Balance(tm)
damage = 20
SA_bonus_damage = 50 // 70 total on animals.
SA_vulnerability = SA_ANIMAL
/obj/item/projectile/bullet/rifle/a545
fire_sound = 'sound/weapons/Gunshot_light.ogg'
damage = 25
/obj/item/projectile/bullet/rifle/a545/ap
@@ -199,8 +205,8 @@
SA_bonus_damage = 35 // 50 total on animals.
SA_vulnerability = SA_ANIMAL
/obj/item/projectile/bullet/rifle/a145
fire_sound = 'sound/weapons/gunshot/sniper.ogg'
/obj/item/projectile/bullet/rifle/a145 // 14.5<EFBFBD>114mm is bigger than a .50 BMG round.
fire_sound = 'sound/weapons/Gunshot_cannon.ogg' // This is literally an anti-tank rifle caliber. It better sound like a fucking cannon.
damage = 80
stun = 3
weaken = 3
@@ -258,28 +264,15 @@
damage = 15
kill_count = 6
/obj/item/projectile/bullet/blank
invisibility = 101
damage = 1
embed_chance = 0
/* Practice rounds and blanks */
/* Practice */
/obj/item/projectile/bullet/pistol/practice
/obj/item/projectile/bullet/practice
damage = 5
/obj/item/projectile/bullet/rifle/practice
damage = 5
penetrating = 0
/obj/item/projectile/bullet/shotgun/practice
name = "practice"
damage = 5
/obj/item/projectile/bullet/pistol/cap
/obj/item/projectile/bullet/pistol/cap // Just the primer, such as a cap gun.
name = "cap"
damage_type = HALLOSS
fire_sound = null
fire_sound = 'sound/effects/snap.ogg'
damage = 0
nodamage = 1
embed_chance = 0
@@ -288,5 +281,18 @@
combustion = FALSE
/obj/item/projectile/bullet/pistol/cap/process()
loc = null
qdel(src)
/obj/item/projectile/bullet/blank
name = "blank"
damage_type = HALLOSS
fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg' // Blanks still make loud noises.
damage = 0
nodamage = 1
embed_chance = 0
sharp = 0
/obj/item/projectile/bullet/blank/cap/process()
loc = null
qdel(src)

View File

@@ -10,7 +10,7 @@
/obj/item/projectile/energy/flash
name = "chemical shell"
icon_state = "bullet"
fire_sound = 'sound/weapons/gunshot/gunshot_pistol.ogg'
fire_sound = 'sound/weapons/gunshot_pathetic.ogg'
damage = 5
kill_count = 15 //if the shell hasn't hit anything after travelling this far it just explodes.
var/flash_range = 0
@@ -48,7 +48,7 @@
//blinds people like the flash round, but can also be used for temporary illumination
/obj/item/projectile/energy/flash/flare
fire_sound = 'sound/weapons/gunshot/shotgun.ogg'
fire_sound = 'sound/weapons/grenade_launcher.ogg'
damage = 10
flash_range = 1
brightness = 15
@@ -65,7 +65,7 @@
/obj/item/projectile/energy/electrode
name = "electrode"
icon_state = "spark"
fire_sound = 'sound/weapons/Gunshot.ogg'
fire_sound = 'sound/weapons/Gunshot2.ogg'
taser_effect = 1
agony = 40
light_range = 2

View File

@@ -16,6 +16,7 @@
var/impact_sound = 'sound/effects/uncloak.ogg'
var/crack_sound = 'sound/effects/teleport.ogg'
fire_sound = 'sound/effects/zzzt.ogg'
var/target_distance = null // Shamelessly stolen from arcing projectiles.
var/my_tracking_beam = null // Beam made by the launcher. Tracked here to destroy it in time with the impact.

View File

@@ -261,7 +261,7 @@
/obj/item/projectile/beam/tungsten
name = "core of molten tungsten"
icon_state = "energy"
fire_sound = 'sound/weapons/emitter2.ogg'
fire_sound = 'sound/weapons/gauss_shoot.ogg'
pass_flags = PASSTABLE | PASSGRILLE
damage = 70
damage_type = BURN

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.