mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Merge pull request #4644 from VOREStation/upstream-merge-5803
[MIRROR] Guns sounds refactor and improvements
This commit is contained in:
@@ -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>"
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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)
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
BIN
sound/weapons/grenade_launcher.ogg
Normal file
BIN
sound/weapons/grenade_launcher.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user