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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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