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', "Shotgun Pumping" = 'sound/weapons/shotgunpump.ogg',
"Flash" = 'sound/weapons/flash.ogg', "Flash" = 'sound/weapons/flash.ogg',
"Bite" = 'sound/weapons/bite.ogg', "Bite" = 'sound/weapons/bite.ogg',
"Gun Firing" = 'sound/weapons/gunshot.ogg', "Gun Firing" = 'sound/weapons/Gunshot1.ogg',
"Desert Eagle Firing" = 'sound/weapons/deagle.ogg', "Desert Eagle Firing" = 'sound/weapons/Gunshot_deagle.ogg',
"Rifle Firing" = 'sound/weapons/rifleshot.ogg', "Rifle Firing" = 'sound/weapons/Gunshot_generic_rifle.ogg',
"Sniper Rifle Firing" = 'sound/weapons/svd_shot.ogg', "Sniper Rifle Firing" = 'sound/weapons/Gunshot_sniper.ogg',
"AT Rifle Firing" = 'sound/weapons/sniper.ogg', "AT Rifle Firing" = 'sound/weapons/Gunshot_cannon.ogg',
"Shotgun Firing" = 'sound/weapons/shotgun.ogg', "Shotgun Firing" = 'sound/weapons/Gunshot_shotgun.ogg',
"Handgun Firing" = 'sound/weapons/gunshot3.ogg', "Handgun Firing" = 'sound/weapons/Gunshot2.ogg',
"Machinegun Firing" = 'sound/weapons/machinegun.ogg', "Machinegun Firing" = 'sound/weapons/Gunshot_machinegun.ogg',
"Rocket Launcher Firing"= 'sound/weapons/rpg.ogg', "Rocket Launcher Firing"= 'sound/weapons/rpg.ogg',
"Taser Firing" = 'sound/weapons/Taser.ogg', "Taser Firing" = 'sound/weapons/Taser.ogg',
"Laser Gun Firing" = 'sound/weapons/laser.ogg', "Laser Gun Firing" = 'sound/weapons/laser.ogg',
@@ -92,4 +92,4 @@
M.Paralyse(4) M.Paralyse(4)
else else
M.make_jittery(50) 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" icon_state = "mecha_uac2"
equip_cooldown = 60 // 6 seconds equip_cooldown = 60 // 6 seconds
projectile = /obj/item/projectile/bullet/cannon projectile = /obj/item/projectile/bullet/cannon
fire_sound = 'sound/weapons/cannon.ogg' fire_sound = 'sound/weapons/Gunshot_cannon.ogg'
projectiles = 1 projectiles = 1
projectile_energy_cost = 1000 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. 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." description_info = "This weapon cannot be fired indoors, underground, or on-station."
icon_state = "mecha_mortar" icon_state = "mecha_mortar"
equip_cooldown = 30 equip_cooldown = 30
fire_sound = 'sound/weapons/cannon.ogg' fire_sound = 'sound/weapons/Gunshot_cannon.ogg'
fire_volume = 100 fire_volume = 100
projectiles = 3 projectiles = 3
deviation = 0.6 deviation = 0.6
@@ -319,7 +319,7 @@
icon_state = "mecha_scatter" icon_state = "mecha_scatter"
equip_cooldown = 20 equip_cooldown = 20
projectile = /obj/item/projectile/bullet/pellet/shotgun/flak 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 fire_volume = 80
projectiles = 40 projectiles = 40
projectiles_per_shot = 4 projectiles_per_shot = 4
@@ -345,7 +345,7 @@
icon_state = "mecha_uac2" icon_state = "mecha_uac2"
equip_cooldown = 10 equip_cooldown = 10
projectile = /obj/item/projectile/bullet/pistol/medium 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 = 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 projectiles_per_shot = 3
deviation = 0.3 deviation = 0.3
@@ -523,7 +523,7 @@
icon_state = "mecha_drac3" icon_state = "mecha_drac3"
equip_cooldown = 20 equip_cooldown = 20
projectile = /obj/item/projectile/bullet/incendiary projectile = /obj/item/projectile/bullet/incendiary
fire_sound = 'sound/weapons/machinegun.ogg' fire_sound = 'sound/weapons/Gunshot_machinegun.ogg'
projectiles = 30 projectiles = 30
projectiles_per_shot = 2 projectiles_per_shot = 2
deviation = 0.4 deviation = 0.4

View File

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

View File

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

View File

@@ -25,7 +25,7 @@
/obj/item/latexballon/proc/burst() /obj/item/latexballon/proc/burst()
if (!air_contents) if (!air_contents)
return return
playsound(src, 'sound/weapons/Gunshot.ogg', 100, 1) playsound(src, 'sound/weapons/Gunshot_old.ogg', 100, 1)
icon_state = "latexballon_bursted" icon_state = "latexballon_bursted"
item_state = "lgloves" item_state = "lgloves"
loc.assume_air(air_contents) 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. \ 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>\ They can be attached to various portable atmospheric devices to be filled or emptied. <br>\
<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>\ The valve itself will close after expending most or all of the contents into the air.<br>\
<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. \ 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." 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). \ 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. \ 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." 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() /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 = new /datum/gas_mixture()
src.air_contents.volume = volume //liters src.air_contents.volume = volume //liters
src.air_contents.temperature = T20C src.air_contents.temperature = T20C
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)
update_gauge() update_gauge()
return return
@@ -464,7 +464,7 @@ var/list/global/tank_gauge_cache = list()
if(!T) if(!T)
return return
T.assume_air(air_contents) 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>") 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) 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) origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 4)
matter = list() matter = list()
fire_sound = 'sound/weapons/Gunshot.ogg' fire_sound = 'sound/weapons/Gunshot1.ogg'
projectile_type = /obj/item/projectile/chameleon projectile_type = /obj/item/projectile/chameleon
charge_meter = 0 charge_meter = 0
charge_cost = 48 //uses next to no power, since it's just holograms 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(8) src << 'sound/machines/windowdoor.ogg'
if(9) if(9)
//To make it more realistic, I added two gunshots (enough to kill) //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)) spawn(rand(10,30))
src << 'sound/weapons/Gunshot.ogg' src << 'sound/weapons/Gunshot2.ogg'
if(10) src << 'sound/weapons/smash.ogg' if(10) src << 'sound/weapons/smash.ogg'
if(11) if(11)
//Same as above, but with tasers. //Same as above, but with tasers.

View File

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

View File

@@ -189,7 +189,7 @@
icon_state = "syndicateranged_shotgun" icon_state = "syndicateranged_shotgun"
icon_living = "syndicateranged_shotgun" icon_living = "syndicateranged_shotgun"
projectiletype = /obj/item/projectile/bullet/pellet/shotgun // Buckshot 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) loot_list = list(/obj/item/weapon/gun/projectile/shotgun/pump = 100)

View File

@@ -28,7 +28,7 @@
projectiletype = /obj/item/projectile/bullet projectiletype = /obj/item/projectile/bullet
casingtype = /obj/item/ammo_casing/spent 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) loot_list = list(/obj/item/weapon/gun/projectile/revolver/mateba = 100)

View File

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

View File

@@ -110,7 +110,7 @@
/obj/item/ammo_casing/a9mm/practice /obj/item/ammo_casing/a9mm/practice
desc = "A 9mm practice bullet casing." desc = "A 9mm practice bullet casing."
icon_state = "r-casing" icon_state = "r-casing"
projectile_type = /obj/item/projectile/bullet/pistol/practice projectile_type = /obj/item/projectile/bullet/practice
/* /*
* .45 * .45
@@ -130,7 +130,7 @@
/obj/item/ammo_casing/a45/practice /obj/item/ammo_casing/a45/practice
desc = "A .45 practice bullet casing." desc = "A .45 practice bullet casing."
icon_state = "r-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) matter = list(DEFAULT_WALL_MATERIAL = 60)
/obj/item/ammo_casing/a45/rubber /obj/item/ammo_casing/a45/rubber
@@ -202,7 +202,7 @@
name = "shotgun shell" name = "shotgun shell"
desc = "A practice shell." desc = "A practice shell."
icon_state = "pshell" icon_state = "pshell"
projectile_type = /obj/item/projectile/bullet/shotgun/practice projectile_type = /obj/item/projectile/bullet/practice
matter = list(DEFAULT_WALL_MATERIAL = 90) matter = list(DEFAULT_WALL_MATERIAL = 90)
/obj/item/ammo_casing/a12g/beanbag /obj/item/ammo_casing/a12g/beanbag
@@ -260,7 +260,7 @@
/obj/item/ammo_casing/a762/practice /obj/item/ammo_casing/a762/practice
desc = "A 7.62mm practice bullet casing." desc = "A 7.62mm practice bullet casing."
icon_state = "rifle-casing" // Need to make an icon for these 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) matter = list(DEFAULT_WALL_MATERIAL = 90)
/obj/item/ammo_casing/a762/blank /obj/item/ammo_casing/a762/blank
@@ -306,7 +306,7 @@
/obj/item/ammo_casing/a545/practice /obj/item/ammo_casing/a545/practice
desc = "A 5.45mm practice bullet casing." desc = "A 5.45mm practice bullet casing."
icon_state = "rifle-casing" // Need to make an icon for these 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) matter = list(DEFAULT_WALL_MATERIAL = 90)
/obj/item/ammo_casing/a545/blank /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/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/burst_delay = 2 //delay between shots, if firing in bursts
var/move_delay = 1 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_sound_text = "gunshot"
var/fire_anim = null var/fire_anim = null
var/recoil = 0 //screen shake var/recoil = 0 //screen shake
@@ -474,10 +474,7 @@
last_shot = world.time last_shot = world.time
if(silenced) play_fire_sound()
playsound(src, fire_sound, 10, 1)
else
playsound(src, fire_sound, 50, 1)
if(muzzle_flash) if(muzzle_flash)
set_light(muzzle_flash) set_light(muzzle_flash)
@@ -673,7 +670,13 @@
return launched return launched
/obj/item/weapon/gun/proc/play_fire_sound(var/mob/user, var/obj/item/projectile/P) /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) if(silenced)
playsound(user, shot_sound, 10, 1) playsound(user, shot_sound, 10, 1)
else else
@@ -696,11 +699,7 @@
var/obj/item/projectile/in_chamber = consume_next_projectile() var/obj/item/projectile/in_chamber = consume_next_projectile()
if (istype(in_chamber)) if (istype(in_chamber))
user.visible_message("<span class = 'warning'>[user] pulls the trigger.</span>") user.visible_message("<span class = 'warning'>[user] pulls the trigger.</span>")
var/shot_sound = in_chamber.fire_sound? in_chamber.fire_sound : fire_sound play_fire_sound()
if(silenced)
playsound(user, shot_sound, 10, 1)
else
playsound(user, shot_sound, 50, 1)
if(istype(in_chamber, /obj/item/projectile/beam/lastertag)) 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>") user.show_message("<span class = 'warning'>You feel rather silly, trying to commit suicide with a toy.</span>")
mouthshoot = 0 mouthshoot = 0

View File

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

View File

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

View File

@@ -130,7 +130,6 @@
icon_state = "sniper" icon_state = "sniper"
item_state = "sniper" item_state = "sniper"
item_state_slots = list(slot_r_hand_str = "z8carbine", slot_l_hand_str = "z8carbine") //placeholder 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) origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 5, TECH_POWER = 4)
projectile_type = /obj/item/projectile/beam/sniper projectile_type = /obj/item/projectile/beam/sniper
slot_flags = SLOT_BACK 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." 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" icon_state = "eshotgun"
item_state = "shotgun" item_state = "shotgun"
fire_sound = 'sound/weapons/gauss_shoot.ogg'
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_POWER = 3) origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_POWER = 3)
projectile_type = /obj/item/projectile/beam/sniper projectile_type = /obj/item/projectile/beam/sniper
slot_flags = SLOT_BACK slot_flags = SLOT_BACK

View File

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

View File

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

View File

@@ -1,7 +1,6 @@
/obj/item/weapon/gun/energy/temperature /obj/item/weapon/gun/energy/temperature
name = "temperature gun" name = "temperature gun"
icon_state = "freezegun" 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." 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 charge_cost = 240
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2) 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 w_class = ITEMSIZE_LARGE
force = 10 force = 10
fire_sound = 'sound/weapons/empty.ogg' fire_sound = 'sound/weapons/grenade_launcher.ogg'
fire_sound_text = "a metallic thunk" fire_sound_text = "a metallic thunk"
recoil = 0 recoil = 0
throw_distance = 7 throw_distance = 7

View File

@@ -8,7 +8,7 @@
flags = CONDUCT flags = CONDUCT
fire_sound_text = "a loud whoosh of moving air" fire_sound_text = "a loud whoosh of moving air"
fire_delay = 50 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/fire_pressure // Used in fire checks/pressure checks.
var/max_w_class = ITEMSIZE_NORMAL // Hopper intake size. 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_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. 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() /obj/item/weapon/gun/magnetic/New()
START_PROCESSING(SSobj, src) START_PROCESSING(SSobj, src)
if(capacitor) if(capacitor)

View File

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

View File

@@ -121,10 +121,10 @@
chargecost_lethal = 200 chargecost_lethal = 200
firemodes = list( 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="stun", projectile_type=beammode, 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="lethal", projectile_type=beammode_lethal, 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 stun", projectile_type=beammode, 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="[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) /obj/item/weapon/gun/energy/modular/load_ammo(var/obj/item/C, mob/user)

View File

@@ -46,7 +46,6 @@
caliber = "10mm" caliber = "10mm"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 8) origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2, TECH_ILLEGAL = 8)
slot_flags = SLOT_BELT|SLOT_BACK slot_flags = SLOT_BELT|SLOT_BACK
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = MAGAZINE load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m10mm magazine_type = /obj/item/ammo_magazine/m10mm
allowed_magazines = list(/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) origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
slot_flags = SLOT_BELT slot_flags = SLOT_BELT
ammo_type = "/obj/item/ammo_casing/a9mmr" ammo_type = "/obj/item/ammo_casing/a9mmr"
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = MAGAZINE load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m9mmt/rubber magazine_type = /obj/item/ammo_magazine/m9mmt/rubber
allowed_magazines = list(/obj/item/ammo_magazine/m9mmt) allowed_magazines = list(/obj/item/ammo_magazine/m9mmt)
@@ -131,7 +129,6 @@
force = 10 force = 10
caliber = "7.62mm" caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 3) origin_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 3)
fire_sound = 'sound/weapons/Gunshot.ogg'
slot_flags = SLOT_BACK slot_flags = SLOT_BACK
load_method = MAGAZINE load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m762 magazine_type = /obj/item/ammo_magazine/m762
@@ -204,7 +201,6 @@
caliber = "5.45mm" caliber = "5.45mm"
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 2) origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 2)
slot_flags = SLOT_BACK slot_flags = SLOT_BACK
fire_sound = 'sound/weapons/machinegun.ogg'
load_method = MAGAZINE load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m545saw magazine_type = /obj/item/ammo_magazine/m545saw
allowed_magazines = list(/obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545) allowed_magazines = list(/obj/item/ammo_magazine/m545saw, /obj/item/ammo_magazine/m545)
@@ -337,7 +333,6 @@
caliber = "9mm" caliber = "9mm"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2) origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
slot_flags = SLOT_BELT // ToDo: Belt sprite. slot_flags = SLOT_BELT // ToDo: Belt sprite.
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = MAGAZINE load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m9mmp90 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. 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." 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" item_state = "boltaction"
icon_state = "boltaction" icon_state = "boltaction"
fire_sound = 'sound/weapons/rifleshot.ogg' fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
max_shells = 5 max_shells = 5
caliber = "7.62mm" caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 1)// Old as shit rifle doesn't have very good tech. 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) 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>" user << "<span class='notice'>You begin to shorten the barrel and stock of \the [src].</span>"
if(loaded.len) 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) 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>") user.visible_message("<span class='danger'>[src] goes off!</span>", "<span class='danger'>The rifle goes off in your face!</span>")
return 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." 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" item_state = "leveraction"
icon_state = "leveraction" icon_state = "leveraction"
fire_sound = 'sound/weapons/rifleshot.ogg'
max_shells = 5 max_shells = 5
caliber = "7.62mm" caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 1)// Old as shit rifle doesn't have very good tech. 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" item_state = "deagle"
force = 14.0 force = 14.0
caliber = ".44" caliber = ".44"
fire_sound = 'sound/weapons/Gunshot_deagle.ogg'
load_method = MAGAZINE load_method = MAGAZINE
fire_sound = 'sound/weapons/deagle.ogg'
magazine_type = /obj/item/ammo_magazine/m44 magazine_type = /obj/item/ammo_magazine/m44
allowed_magazines = list(/obj/item/ammo_magazine/m44) allowed_magazines = list(/obj/item/ammo_magazine/m44)
@@ -154,33 +154,13 @@
icon_state = "deaglecamo" icon_state = "deaglecamo"
item_state = "deagleg" 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? /obj/item/weapon/gun/projectile/gyropistol // Does this even appear anywhere outside of admin abuse?
name = "gyrojet pistol" 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." 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" icon_state = "gyropistol"
max_shells = 8 max_shells = 8
caliber = ".75" caliber = ".75"
fire_sound = 'sound/weapons/rpg.ogg' fire_sound = 'sound/weapons/railgun.ogg'
origin_tech = list(TECH_COMBAT = 3) origin_tech = list(TECH_COMBAT = 3)
ammo_type = "/obj/item/ammo_casing/a75" ammo_type = "/obj/item/ammo_casing/a75"
load_method = MAGAZINE load_method = MAGAZINE
@@ -331,7 +311,6 @@
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2) origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
caliber = "9mm" caliber = "9mm"
load_method = MAGAZINE load_method = MAGAZINE
fire_sound = 'sound/weapons/gunshot3.ogg'
magazine_type = /obj/item/ammo_magazine/m9mm magazine_type = /obj/item/ammo_magazine/m9mm
allowed_magazines = list(/obj/item/ammo_magazine/m9mm) // Can accept illegal large capacity magazines, or compact magazines. 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" icon_state = "detective"
caliber = ".38" caliber = ".38"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/gunshot3.ogg'
ammo_type = /obj/item/ammo_casing/a38 ammo_type = /obj/item/ammo_casing/a38
/obj/item/weapon/gun/projectile/revolver/detective/verb/rename_gun() /obj/item/weapon/gun/projectile/revolver/detective/verb/rename_gun()
@@ -73,7 +72,6 @@
icon_state = "detective" icon_state = "detective"
caliber = ".45" caliber = ".45"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/gunshot_heavy.ogg'
ammo_type = /obj/item/ammo_casing/a45/rubber ammo_type = /obj/item/ammo_casing/a45/rubber
max_shells = 7 max_shells = 7
@@ -125,7 +123,6 @@ obj/item/weapon/gun/projectile/revolver/detective45/verb/rename_gun()
icon_state = "deckard-empty" icon_state = "deckard-empty"
caliber = ".38" caliber = ".38"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/gunshot3.ogg'
ammo_type = /obj/item/ammo_casing/a38 ammo_type = /obj/item/ammo_casing/a38
/obj/item/weapon/gun/projectile/revolver/deckard/emp /obj/item/weapon/gun/projectile/revolver/deckard/emp

View File

@@ -7,7 +7,7 @@
caliber = "7.62mm" caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
slot_flags = SLOT_BACK 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. 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 magazine_type = /obj/item/ammo_magazine/m762garand
allowed_magazines = list(/obj/item/ammo_magazine/m762garand) allowed_magazines = list(/obj/item/ammo_magazine/m762garand)

View File

@@ -84,7 +84,7 @@
scoped_accuracy = 0 scoped_accuracy = 0
// requires_two_hands = 1 // 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. // 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 magazine_type = /obj/item/ammo_magazine/m762svd
allowed_magazines = list(/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 = 'icons/obj/gun.dmi'
icon_state = "spikethrower3" icon_state = "spikethrower3"
item_state = "spikethrower" item_state = "spikethrower"
fire_sound_text = "a strange noise"
fire_sound = 'sound/weapons/bladeslice.ogg' fire_sound = 'sound/weapons/bladeslice.ogg'
fire_sound_text = "a strange noise"
/obj/item/weapon/gun/launcher/spikethrower/New() /obj/item/weapon/gun/launcher/spikethrower/New()
..() ..()

View File

@@ -72,7 +72,7 @@
var/tracer_type var/tracer_type
var/impact_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. 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 /obj/item/projectile/beam/pulse
name = "pulse" name = "pulse"
icon_state = "u_laser" 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 damage = 100 //Badmin toy, don't care
armor_penetration = 100 armor_penetration = 100
light_color = "#0066FF" light_color = "#0066FF"

View File

@@ -1,7 +1,7 @@
/obj/item/projectile/bullet /obj/item/projectile/bullet
name = "bullet" name = "bullet"
icon_state = "bullet" icon_state = "bullet"
fire_sound = 'sound/weapons/gunshot/gunshot_strong.ogg' fire_sound = 'sound/weapons/Gunshot4.ogg'
damage = 60 damage = 60
damage_type = BRUTE damage_type = BRUTE
nodamage = 0 nodamage = 0
@@ -65,7 +65,7 @@
/* short-casing projectiles, like the kind used in pistols or SMGs */ /* 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. /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 damage = 20
/obj/item/projectile/bullet/pistol/ap /obj/item/projectile/bullet/pistol/ap
@@ -77,7 +77,7 @@
armor_penetration = -50 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. /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 damage = 25
/obj/item/projectile/bullet/pistol/medium/ap /obj/item/projectile/bullet/pistol/medium/ap
@@ -89,11 +89,11 @@
armor_penetration = -50 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. /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 damage = 60
/obj/item/projectile/bullet/pistol/rubber/strong // "Rubber" bullets for high power pistols. /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 damage = 10
agony = 60 agony = 60
embed_chance = 0 embed_chance = 0
@@ -107,12 +107,13 @@
embed_chance = 0 embed_chance = 0
sharp = 0 sharp = 0
check_armour = "melee" check_armour = "melee"
fire_sound ='sound/weapons/Gunshot_pathetic.ogg' // Rubber shots have less powder in the casing.
/* shotgun projectiles */ /* shotgun projectiles */
/obj/item/projectile/bullet/shotgun /obj/item/projectile/bullet/shotgun
name = "slug" name = "slug"
fire_sound = 'sound/weapons/gunshot/shotgun.ogg' fire_sound = 'sound/weapons/Gunshot_shotgun.ogg'
damage = 50 damage = 50
armor_penetration = 15 armor_penetration = 15
@@ -128,7 +129,7 @@
//Overall less damage than slugs in exchange for more damage at very close range and more embedding //Overall less damage than slugs in exchange for more damage at very close range and more embedding
/obj/item/projectile/bullet/pellet/shotgun /obj/item/projectile/bullet/pellet/shotgun
name = "shrapnel" name = "shrapnel"
fire_sound = 'sound/weapons/gunshot/shotgun.ogg' fire_sound = 'sound/weapons/Gunshot_shotgun.ogg'
damage = 13 damage = 13
pellets = 6 pellets = 6
range_step = 1 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 //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 /obj/item/projectile/bullet/shotgun/ion
name = "ion slug" name = "ion slug"
fire_sound = 'sound/weapons/Laser.ogg' fire_sound = 'sound/weapons/Laser.ogg' // Really? We got nothing better than this?
damage = 15 damage = 15
embed_chance = 0 embed_chance = 0
sharp = 0 sharp = 0
@@ -160,14 +161,18 @@
/* "Rifle" rounds */ /* "Rifle" rounds */
/obj/item/projectile/bullet/rifle /obj/item/projectile/bullet/rifle
fire_sound = 'sound/weapons/gunshot/gunshot3.ogg' fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
armor_penetration = 15 armor_penetration = 15
penetrating = 1 penetrating = 1
/obj/item/projectile/bullet/rifle/a762 /obj/item/projectile/bullet/rifle/a762
fire_sound = 'sound/weapons/gunshot/gunshot2.ogg' fire_sound = 'sound/weapons/Gunshot_heavy.ogg'
damage = 35 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 /obj/item/projectile/bullet/rifle/a762/ap
damage = 30 damage = 30
armor_penetration = 50 // At 30 or more armor, this will do more damage than standard rounds. armor_penetration = 50 // At 30 or more armor, this will do more damage than standard rounds.
@@ -177,12 +182,13 @@
armor_penetration = -50 armor_penetration = -50
penetrating = 0 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 damage = 20
SA_bonus_damage = 50 // 70 total on animals. SA_bonus_damage = 50 // 70 total on animals.
SA_vulnerability = SA_ANIMAL SA_vulnerability = SA_ANIMAL
/obj/item/projectile/bullet/rifle/a545 /obj/item/projectile/bullet/rifle/a545
fire_sound = 'sound/weapons/Gunshot_light.ogg'
damage = 25 damage = 25
/obj/item/projectile/bullet/rifle/a545/ap /obj/item/projectile/bullet/rifle/a545/ap
@@ -199,8 +205,8 @@
SA_bonus_damage = 35 // 50 total on animals. SA_bonus_damage = 35 // 50 total on animals.
SA_vulnerability = SA_ANIMAL SA_vulnerability = SA_ANIMAL
/obj/item/projectile/bullet/rifle/a145 /obj/item/projectile/bullet/rifle/a145 // 14.5<EFBFBD>114mm is bigger than a .50 BMG round.
fire_sound = 'sound/weapons/gunshot/sniper.ogg' fire_sound = 'sound/weapons/Gunshot_cannon.ogg' // This is literally an anti-tank rifle caliber. It better sound like a fucking cannon.
damage = 80 damage = 80
stun = 3 stun = 3
weaken = 3 weaken = 3
@@ -258,28 +264,15 @@
damage = 15 damage = 15
kill_count = 6 kill_count = 6
/obj/item/projectile/bullet/blank /* Practice rounds and blanks */
invisibility = 101
damage = 1
embed_chance = 0
/* Practice */ /obj/item/projectile/bullet/practice
/obj/item/projectile/bullet/pistol/practice
damage = 5 damage = 5
/obj/item/projectile/bullet/rifle/practice /obj/item/projectile/bullet/pistol/cap // Just the primer, such as a cap gun.
damage = 5
penetrating = 0
/obj/item/projectile/bullet/shotgun/practice
name = "practice"
damage = 5
/obj/item/projectile/bullet/pistol/cap
name = "cap" name = "cap"
damage_type = HALLOSS damage_type = HALLOSS
fire_sound = null fire_sound = 'sound/effects/snap.ogg'
damage = 0 damage = 0
nodamage = 1 nodamage = 1
embed_chance = 0 embed_chance = 0
@@ -288,5 +281,18 @@
combustion = FALSE combustion = FALSE
/obj/item/projectile/bullet/pistol/cap/process() /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 loc = null
qdel(src) qdel(src)

View File

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

View File

@@ -16,6 +16,7 @@
var/impact_sound = 'sound/effects/uncloak.ogg' var/impact_sound = 'sound/effects/uncloak.ogg'
var/crack_sound = 'sound/effects/teleport.ogg' var/crack_sound = 'sound/effects/teleport.ogg'
fire_sound = 'sound/effects/zzzt.ogg'
var/target_distance = null // Shamelessly stolen from arcing projectiles. 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. 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 /obj/item/projectile/beam/tungsten
name = "core of molten tungsten" name = "core of molten tungsten"
icon_state = "energy" icon_state = "energy"
fire_sound = 'sound/weapons/emitter2.ogg' fire_sound = 'sound/weapons/gauss_shoot.ogg'
pass_flags = PASSTABLE | PASSGRILLE pass_flags = PASSTABLE | PASSGRILLE
damage = 70 damage = 70
damage_type = BURN 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.