mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Updoot?
Oh god what is it doing
This commit is contained in:
98
code/modules/projectiles/ammunition/zz_autolathe_ch.dm
Normal file
98
code/modules/projectiles/ammunition/zz_autolathe_ch.dm
Normal file
@@ -0,0 +1,98 @@
|
||||
//Created the autolathe entries here to keep stuff organized and also compact so the files aren't too spread out.
|
||||
/datum/category_item/autolathe/arms/smg_mp5
|
||||
name = "mp5 magazine(9x19mm standard)"
|
||||
path = /obj/item/ammo_magazine/mp5mag
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/smg_mp5_ap
|
||||
name = "mp5 magazine(9x19mm armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/mp5mag/ap
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/smg_mp5_hp
|
||||
name = "mp5 magazine(9x19mm hollow-point)"
|
||||
path = /obj/item/ammo_magazine/mp5mag/hp
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/smg_mp5_rubber
|
||||
name = "mp5 magazine(9x19mm rubber)"
|
||||
path = /obj/item/ammo_magazine/mp5mag/rubber
|
||||
|
||||
/datum/category_item/autolathe/arms/pistol_fiveseven
|
||||
name = "five-seven magazine(5.7x28mm standard)"
|
||||
path = /obj/item/ammo_magazine/a57
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/pistol_fiveseven_ap
|
||||
name = "five-seven magazine(5.7x28mm armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/a57/ap
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/pistol_fiveseven_hp
|
||||
name = "five-seven magazine(5.7x28mm hollow-point)"
|
||||
path = /obj/item/ammo_magazine/a57/hp
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/pistol_fiveseven_rubber
|
||||
name = "five-seven magazine(5.7x28mm rubber)"
|
||||
path = /obj/item/ammo_magazine/a57/rubber
|
||||
|
||||
/datum/category_item/autolathe/arms/smg_p90
|
||||
name = "large capacity top mounted magazine (5.7x28mm armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/m9mmp90
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/svd_762
|
||||
name = "SVD magazine (7.62x54mmR)"
|
||||
path = /obj/item/ammo_magazine/m762svd
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/svd_762_ap
|
||||
name = "SVD magazine (7.62x54mmR armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/m762svd/ap
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/asval_9x39
|
||||
name = "AS-Val magazine(9x39mm standard)"
|
||||
path = /obj/item/ammo_magazine/asval
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/asval_9x39_ap
|
||||
name = "AS-Val magazine(9x39mm armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/asval/ap
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/akm_762x39
|
||||
name = "AKM magazine (7.62x39mm standard)"
|
||||
path = /obj/item/ammo_magazine/akm
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/akm_762x39_ap
|
||||
name = "AKM magazine (7.62x39mm armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/akm/ap
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/akm_762x39_hp
|
||||
name = "AKM magazine (7.62x39mm hollow-point)"
|
||||
path = /obj/item/ammo_magazine/akm/hp
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/m16_556
|
||||
name = "M16 magazine (5.56x45mm standard)"
|
||||
path = /obj/item/ammo_magazine/m16
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/m16_556_ap
|
||||
name = "M16 magazine (5.56x45mm armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/m16/ap
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/m16_556_hp
|
||||
name = "M16 magazine (5.56x45mm hollow-point)"
|
||||
path = /obj/item/ammo_magazine/m16/hp
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/sks_762
|
||||
name = "SKS Clip (10x 7.62x39 standard)"
|
||||
path = /obj/item/ammo_magazine/clip/sks
|
||||
hidden = 1
|
||||
140
code/modules/projectiles/ammunition/zz_magazines_ch.dm
Normal file
140
code/modules/projectiles/ammunition/zz_magazines_ch.dm
Normal file
@@ -0,0 +1,140 @@
|
||||
//Overrides
|
||||
/obj/item/ammo_magazine/m9mmp90 //congratulations you are now being converted 5.7x28mm, a.k.a the round the p90 actually uses.
|
||||
name = "large capacity top mounted magazine (5.7x28mm armor-piercing)" //Ugh, we'll leave it AP I guess
|
||||
ammo_type = /obj/item/ammo_casing/a57/ap
|
||||
caliber = "5.7x28mm"
|
||||
|
||||
/obj/item/ammo_magazine/m762svd //You are now being converted to 7.62x54mmR :3
|
||||
name = "\improper SVD magazine (7.62x54mmR)"
|
||||
caliber = "7.62x54mmR"
|
||||
ammo_type = /obj/item/ammo_casing/a762x54
|
||||
|
||||
/obj/item/ammo_magazine/m762svd/ap
|
||||
name = "\improper SVD magazine (7.62x54mmR armor-piercing)"
|
||||
ammo_type = /obj/item/ammo_casing/a762x54/ap
|
||||
|
||||
//New stuff
|
||||
/obj/item/ammo_magazine/a57
|
||||
name = "five-seven magazine(5.7x28mm standard)"
|
||||
icon_state = "fiveseven"
|
||||
max_ammo = 20
|
||||
mag_type = MAGAZINE
|
||||
caliber= "5.7x28mm"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 800)
|
||||
multiple_sprites = 0
|
||||
ammo_type = /obj/item/ammo_casing/a57
|
||||
|
||||
/obj/item/ammo_magazine/a57/ap
|
||||
name = "five-seven magazine(5.7x28mm armor-piercing)"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 900)
|
||||
ammo_type = /obj/item/ammo_casing/a57/ap
|
||||
|
||||
/obj/item/ammo_magazine/a57/hp
|
||||
name = "five-seven magazine(5.7x28mm hollow-point)"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 900)
|
||||
ammo_type = /obj/item/ammo_casing/a57/hp
|
||||
|
||||
/obj/item/ammo_magazine/a57/rubber
|
||||
name = "five-seven magazine(5.7x28mm rubber)"
|
||||
ammo_type = /obj/item/ammo_casing/a57/rubber
|
||||
|
||||
/obj/item/ammo_magazine/mp5mag
|
||||
name = "mp5 magazine(9x19mm standard)"
|
||||
icon = 'icons/obj/ammo_vr.dmi'
|
||||
icon_state = "smg"
|
||||
max_ammo = 30
|
||||
mag_type = MAGAZINE
|
||||
caliber = "9mm"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 800)
|
||||
multiple_sprites = 1
|
||||
ammo_type = /obj/item/ammo_casing/a9mm
|
||||
|
||||
/obj/item/ammo_magazine/mp5mag/ap
|
||||
name = "mp5 magazine(9x19mm armor-piercing)"
|
||||
ammo_type = /obj/item/ammo_casing/a9mm/ap
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 900)
|
||||
|
||||
/obj/item/ammo_magazine/mp5mag/hp
|
||||
name = "mp5 magazine(9x19mm hollow-point)"
|
||||
ammo_type = /obj/item/ammo_casing/a9mm/ap
|
||||
|
||||
/obj/item/ammo_magazine/mp5mag/rubber
|
||||
name = "mp5 magazine(9x19mm rubber)"
|
||||
ammo_type = /obj/item/ammo_casing/a9mm/rubber
|
||||
|
||||
/obj/item/ammo_magazine/asval
|
||||
name = "AS-Val magazine(9x39mm standard)"
|
||||
icon = 'icons/obj/ammo_ch.dmi'
|
||||
icon_state = "sts35"
|
||||
max_ammo = 20
|
||||
mag_type = MAGAZINE
|
||||
caliber = "9x39mm"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1000)
|
||||
multiple_sprites = 1
|
||||
ammo_type = /obj/item/ammo_casing/a9x39
|
||||
|
||||
/obj/item/ammo_magazine/asval/ap
|
||||
name = "AS-Val magazine(9x39mm armor-piercing)"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1200)
|
||||
ammo_type = /obj/item/ammo_casing/a9x39/ap
|
||||
|
||||
/obj/item/ammo_magazine/akm
|
||||
name = "AKM magazine (7.62x39mm standard)"
|
||||
icon = 'icons/obj/ammo_ch.dmi'
|
||||
icon_state = "762mag"
|
||||
max_ammo = 30
|
||||
mag_type = MAGAZINE
|
||||
caliber = "7.62x39mm"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1600)
|
||||
multiple_sprites = 1
|
||||
ammo_type = /obj/item/ammo_casing/a762x39
|
||||
|
||||
/obj/item/ammo_magazine/akm/ap
|
||||
name = "AKM magazine (7.62x39mm armor-piercing)"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 2000)
|
||||
ammo_type = /obj/item/ammo_casing/a762x39/ap
|
||||
|
||||
/obj/item/ammo_magazine/akm/hp
|
||||
name = "AKM magazine (7.62x39mm hollow-point)"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 2000)
|
||||
ammo_type = /obj/item/ammo_casing/a762x39/hp
|
||||
|
||||
/obj/item/ammo_magazine/m16
|
||||
name = "M16 magazine (5.56x45mm standard)"
|
||||
icon = 'icons/obj/ammo_ch.dmi'
|
||||
icon_state = "556mag"
|
||||
max_ammo = 30
|
||||
mag_type = MAGAZINE
|
||||
caliber = "5.56x45mm"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1400)
|
||||
multiple_sprites = 1
|
||||
ammo_type = /obj/item/ammo_casing/a556
|
||||
|
||||
/obj/item/ammo_magazine/m16/ap
|
||||
name = "M16 magazine (5.56x45mm armor-piercing)"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1700)
|
||||
ammo_type = /obj/item/ammo_casing/a556/ap
|
||||
|
||||
/obj/item/ammo_magazine/m16/hp
|
||||
name = "M16 magazine (5.56x45mm hollow-point)"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1700)
|
||||
ammo_type = /obj/item/ammo_casing/a556/hp
|
||||
|
||||
/obj/item/ammo_magazine/m41
|
||||
name = "M41A magazine (10x24mm standard)"
|
||||
icon = 'icons/obj/ammo_ch.dmi'
|
||||
icon_state = "m41mag"
|
||||
max_ammo = 40
|
||||
mag_type = MAGAZINE
|
||||
caliber = "5.56x45mm"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 10000)
|
||||
multiple_sprites = 1
|
||||
ammo_type = /obj/item/ammo_casing/a10x24
|
||||
|
||||
/obj/item/ammo_magazine/clip/sks
|
||||
name = "Ammo clip(7.62x39mm)"
|
||||
icon_state = "gclip"
|
||||
max_ammo = 10
|
||||
caliber = "7.62x39mm"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 400)
|
||||
|
||||
86
code/modules/projectiles/ammunition/zz_rounds_ch.dm
Normal file
86
code/modules/projectiles/ammunition/zz_rounds_ch.dm
Normal file
@@ -0,0 +1,86 @@
|
||||
//Overrides
|
||||
/obj/item/ammo_casing/a10mm
|
||||
projectile_type = /obj/item/projectile/bullet/a10mm
|
||||
|
||||
/obj/item/ammo_casing/a38
|
||||
projectile_type = /obj/item/projectile/bullet/a38
|
||||
|
||||
/obj/item/ammo_casing/a380
|
||||
projectile_type = /obj/item/projectile/bullet/a380
|
||||
|
||||
/obj/item/ammo_casing/a357
|
||||
projectile_type = /obj/item/projectile/bullet/a357
|
||||
|
||||
/obj/item/ammo_casing/a12g/pellet
|
||||
name = "shotgun buckshot shell"
|
||||
desc = "A 12 gauge buckshot shell."
|
||||
icon_state = "gshell"
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun/buckshot/shell
|
||||
|
||||
//New stuff
|
||||
/obj/item/ammo_casing/a57
|
||||
desc = "A standard 5.7x28mm round"
|
||||
caliber = "5.7x28mm"
|
||||
projectile_type = /obj/item/projectile/bullet/a57
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 60)
|
||||
|
||||
/obj/item/ammo_casing/a57/ap
|
||||
desc = "An armor piercing 5.7x28mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/a57/ap
|
||||
|
||||
/obj/item/ammo_casing/a57/hp
|
||||
desc = "A hollow point 5.7x28mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/a57/ap
|
||||
|
||||
/obj/item/ammo_casing/a57/rubber
|
||||
desc = "A rubber 5.7x28mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/pistol/rubber
|
||||
|
||||
/obj/item/ammo_casing/a762x54
|
||||
desc = "A standard 7.62x54mmR round"
|
||||
caliber = "7.62x54mmR"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x54
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 160)
|
||||
|
||||
/obj/item/ammo_casing/a762x54/ap
|
||||
desc = "An armor piercing 7.62x54mmR round"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x54/ap
|
||||
|
||||
/obj/item/ammo_casing/a9x39
|
||||
desc = "A standard 9x39mm round"
|
||||
caliber = "9x39mm"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a9x39
|
||||
|
||||
/obj/item/ammo_casing/a9x39/ap
|
||||
desc = "An armor piercing 9x39mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a9x39/ap
|
||||
|
||||
/obj/item/ammo_casing/a762x39
|
||||
desc = "A standard 7.62x39mm round"
|
||||
caliber = "7.62x39mm"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x39
|
||||
|
||||
/obj/item/ammo_casing/a762x39/ap
|
||||
desc = "An armor piercing 7.62x39mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x39/ap
|
||||
|
||||
/obj/item/ammo_casing/a762x39/hp
|
||||
desc = "A hollow point 7.62x39mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x39/hp
|
||||
|
||||
/obj/item/ammo_casing/a556
|
||||
desc = "A standard 5.56x45mm round"
|
||||
caliber = "5.56x45mm"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a556
|
||||
|
||||
/obj/item/ammo_casing/a556/ap
|
||||
desc = "An armor piercing 5.56x45mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a556/ap
|
||||
|
||||
/obj/item/ammo_casing/a556/hp
|
||||
desc = "A hollow point 5.56x45mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a556/hp
|
||||
|
||||
/obj/item/ammo_casing/a10x24
|
||||
desc = "A standard 10x24mm caseless round"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a10x24
|
||||
@@ -159,7 +159,7 @@
|
||||
w_class = ITEMSIZE_HUGE //CHOMP Edit. Lol a cannon used to be just large size? Are you kidding me? A CANNON.
|
||||
one_handed_penalty = 90 // The thing's heavy and huge.
|
||||
accuracy = 45
|
||||
charge_cost = 600
|
||||
charge_cost = 400 //CHOMP Edit. Let's give this thing some more shots, seeing as it needs to be recharged at a charger.
|
||||
|
||||
/obj/item/weapon/gun/energy/lasercannon/mounted
|
||||
name = "mounted laser cannon"
|
||||
@@ -196,14 +196,16 @@
|
||||
projectile_type = /obj/item/projectile/beam/sniper
|
||||
slot_flags = SLOT_BACK
|
||||
action_button_name = "Use Scope"
|
||||
battery_lock = 1
|
||||
charge_cost = 600
|
||||
fire_delay = 35
|
||||
//Begin CHOMPstation Edit for making this thing not trash
|
||||
//battery_lock = 0
|
||||
charge_cost = 360
|
||||
fire_delay = 40
|
||||
force = 10
|
||||
w_class = ITEMSIZE_HUGE // So it can't fit in a backpack.
|
||||
accuracy = -45 //shooting at the hip
|
||||
scoped_accuracy = 50
|
||||
accuracy = -30 //shooting at the hip
|
||||
scoped_accuracy = 100
|
||||
one_handed_penalty = 60 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand.
|
||||
//End CHOMP Edit.
|
||||
|
||||
/obj/item/weapon/gun/energy/sniperrifle/ui_action_click()
|
||||
scope()
|
||||
@@ -302,4 +304,5 @@
|
||||
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 1, TECH_MATERIAL = 4)
|
||||
|
||||
projectile_type = /obj/item/projectile/scatter/laser
|
||||
w_class = ITEMSIZE_HUGE //CHOMP Edit.
|
||||
w_class = ITEMSIZE_HUGE //CHOMP Edit.
|
||||
slot_flags = SLOT_BELT|SLOT_BACK //CHOMP Edit because you can still holster it despite it not fitting in a backpack.
|
||||
@@ -213,6 +213,7 @@
|
||||
list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/beam/phaser, charge_cost = 300),
|
||||
list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/beam/phaser/light, charge_cost = 60),
|
||||
)
|
||||
recoil_mode = 0 //CHOMP Addition: Removes recoil for micros.
|
||||
|
||||
/obj/item/weapon/gun/energy/locked/frontier/unload_ammo(var/mob/user)
|
||||
if(recharging)
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
charge_cost = 100
|
||||
force = 8
|
||||
w_class = ITEMSIZE_HUGE //Probably gonna make it a rifle sooner or later //CHOMP Edit, and so I did.
|
||||
slot_flags = SLOT_BELT|SLOT_BACK //CHOMP Edit. Let's make it so that if it doesn't fit in a backpack, it doesn't fit in a holster either.
|
||||
fire_delay = 6
|
||||
|
||||
projectile_type = /obj/item/projectile/beam/stun/weak
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
modifystate = "x01stun"
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="stun", fire_delay = 8, projectile_type= /obj/item/projectile/energy/electrode/x01stunshot, modifystate="x01stun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 240),
|
||||
list(mode_name="stun", fire_delay = 8, projectile_type= /obj/item/projectile/beam/stun, modifystate="x01stun", fire_sound='sound/weapons/Taser.ogg', charge_cost = 240),
|
||||
list(mode_name="laser", fire_delay = 8, projectile_type=/obj/item/projectile/beam, modifystate="x01laser", fire_sound='sound/weapons/Laser.ogg', charge_cost = 480),
|
||||
list(mode_name="gauss", fire_delay=15, projectile_type=/obj/item/projectile/energy/gauss, modifystate="x01gauss", fire_sound='sound/weapons/gauss_shoot.ogg', charge_cost = 360)
|
||||
)
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
charge_cost = 200 //slightly more shots than lasers
|
||||
var/safetycatch = 0 //if 1, won't let you fire in pressurised environment, rather than malfunctioning
|
||||
var/obj/item/pressurelock/attached_safety
|
||||
recoil_mode = 0 //CHOMP Addition: Removes recoil for micros.
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/particle/advanced //particle equivalent of AEG
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
charge_cost = 240
|
||||
projectile_type = /obj/item/projectile/energy/phase
|
||||
one_handed_penalty = 15
|
||||
recoil_mode = 0 //CHOMP Addition: Removes recoil for micros.
|
||||
|
||||
/obj/item/weapon/gun/energy/phasegun/pistol
|
||||
name = "phase pistol"
|
||||
@@ -56,4 +57,4 @@ obj/item/weapon/gun/energy/phasegun/rifle
|
||||
charge_cost = 100
|
||||
projectile_type = /obj/item/projectile/energy/phase/heavy/cannon
|
||||
accuracy = 15
|
||||
one_handed_penalty = 65
|
||||
one_handed_penalty = 65
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
load_type = /obj/item/weapon/rcd_ammo
|
||||
projectile_type = /obj/item/projectile/bullet/magnetic/slug
|
||||
|
||||
cell = /obj/item/weapon/cell/hyper
|
||||
cell = /obj/item/weapon/cell/device/weapon //CHOMP Edit.
|
||||
capacitor = /obj/item/weapon/stock_parts/capacitor/adv
|
||||
loaded = /obj/item/weapon/rcd_ammo/large
|
||||
removable_components = FALSE
|
||||
removable_components = TRUE //CHOMP Edit.
|
||||
|
||||
var/slowdown_held = 2
|
||||
var/slowdown_worn = 1
|
||||
@@ -83,11 +83,13 @@
|
||||
icon_state = "flechette_gun"
|
||||
item_state = "z8carbine"
|
||||
|
||||
cell = /obj/item/weapon/cell/hyper
|
||||
cell = /obj/item/weapon/cell/device/weapon //CHOMP Edit.
|
||||
capacitor = /obj/item/weapon/stock_parts/capacitor/adv
|
||||
removable_components = TRUE //CHOMP Edit.
|
||||
|
||||
fire_delay = 0
|
||||
|
||||
w_class = ITEMSIZE_HUGE //CHOMP Edit.
|
||||
slot_flags = SLOT_BACK
|
||||
|
||||
slowdown = 0
|
||||
@@ -98,6 +100,7 @@
|
||||
load_type = /obj/item/weapon/magnetic_ammo
|
||||
projectile_type = /obj/item/projectile/bullet/magnetic/flechette
|
||||
loaded = /obj/item/weapon/magnetic_ammo
|
||||
removable_components = TRUE //CHOMP Edit.
|
||||
empty_sound = 'sound/weapons/smg_empty_alarm.ogg'
|
||||
|
||||
firemodes = list(
|
||||
@@ -114,8 +117,9 @@
|
||||
item_state = "combatrevolver"
|
||||
w_class = ITEMSIZE_SMALL
|
||||
|
||||
cell = /obj/item/weapon/cell/super
|
||||
cell = /obj/item/weapon/cell/device/weapon //CHOMP Edit.
|
||||
capacitor = /obj/item/weapon/stock_parts/capacitor
|
||||
removable_components = TRUE //CHOMPstation Edit
|
||||
|
||||
fire_delay = 0
|
||||
|
||||
@@ -129,7 +133,6 @@
|
||||
load_type = /obj/item/weapon/magnetic_ammo/pistol
|
||||
projectile_type = /obj/item/projectile/bullet/magnetic/flechette/small
|
||||
loaded = /obj/item/weapon/magnetic_ammo/pistol
|
||||
removable_components = TRUE
|
||||
empty_sound = 'sound/weapons/smg_empty_alarm.ogg'
|
||||
|
||||
firemodes = list(
|
||||
@@ -145,14 +148,14 @@
|
||||
icon_state = "railgun_sec"
|
||||
item_state = "cshotgun"
|
||||
|
||||
removable_components = TRUE
|
||||
|
||||
cell = /obj/item/weapon/cell/device/weapon
|
||||
capacitor = /obj/item/weapon/stock_parts/capacitor
|
||||
removable_components = TRUE //CHOMPstation Edit
|
||||
|
||||
fire_delay = 8
|
||||
|
||||
slot_flags = SLOT_BACK
|
||||
w_class = ITEMSIZE_HUGE //CHOMP Edit.
|
||||
|
||||
slowdown = 0
|
||||
slowdown_held = 0.3
|
||||
@@ -182,6 +185,7 @@
|
||||
|
||||
cell = /obj/item/weapon/cell/device/weapon
|
||||
capacitor = /obj/item/weapon/stock_parts/capacitor
|
||||
removable_components = TRUE //CHOMPstation Edit
|
||||
|
||||
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
||||
|
||||
@@ -209,10 +213,11 @@
|
||||
icon_state = "railgun_sifguard"
|
||||
item_state = "z8carbine"
|
||||
|
||||
cell = /obj/item/weapon/cell/high
|
||||
cell = /obj/item/weapon/cell/device/weapon //CHOMP Edit.
|
||||
capacitor = /obj/item/weapon/stock_parts/capacitor/adv
|
||||
removable_components = TRUE //CHOMPstation Edit.
|
||||
|
||||
slot_flags = SLOT_BACK
|
||||
slot_flags = SLOT_BELT|SLOT_BACK //CHOMPstation Edit. This is a carbine.
|
||||
|
||||
slowdown_held = 0.3
|
||||
|
||||
|
||||
@@ -17,6 +17,9 @@
|
||||
/obj/item/weapon/gun/projectile/fiveseven/update_icon()
|
||||
icon_state = ammo_magazine ? "[initial(icon_state)]" : "[initial(icon_state)]-e"
|
||||
|
||||
//Was originally expecting to be able to have 64x64 guns and just shrink them but that's just like not a thing because code doesn't allow it
|
||||
//And Kasssc kinda explained to me that even if the code did allow it, it wouldn't look right.
|
||||
//So, we have the mp5 as the only one that does have this, and it just uses filters to convert the 64x64 sprite into 32x32 for now.
|
||||
/obj/item/weapon/gun/projectile/automatic/cballistic
|
||||
name = "I AM NOT SUPPOSED TO EXIST"
|
||||
desc = "Yes hello I'm not supposed to exist, I'm just a weird code artefact thing please contact a developer."
|
||||
@@ -55,6 +58,190 @@
|
||||
load_method = MAGAZINE
|
||||
muzzle_velocity = 400
|
||||
|
||||
//Following guns are thanks to Serdy/Przyjaciel for the sprites and lore for WKHM. Naming the classes after him in honor <3
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy
|
||||
name = "I AM NOT SUPPOSED TO EXIST"
|
||||
desc = "Yes hello I'm not supposed to exist, I'm just a weird code artefact thing please contact a developer."
|
||||
icon = 'icons/obj/64x32guns_ch.dmi'
|
||||
icon_state = "asval"
|
||||
icon_expected_height = 32
|
||||
icon_expected_width = 64
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/Initialize()
|
||||
. = ..()
|
||||
update_transform()
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/update_transform()
|
||||
. = ..()
|
||||
transform = transform.Translate(-16,0)
|
||||
//AK Variants
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/asval
|
||||
name = "AS-VAL"
|
||||
desc = "A somewhat competent remake of an ancient russian assault rifle. Commonly found in the hands of criminals, and on pan-slavic rimworlds. Integrally suppressed, chambered in 7.62x39mm."
|
||||
caliber = "9x39mm"
|
||||
magazine_type = /obj/item/ammo_magazine/asval
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/asval)
|
||||
icon_state = "asval"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a9x39
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
|
||||
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-10,-10), dispersion=list(0.0, 0.3, 0.6))
|
||||
)
|
||||
load_method = MAGAZINE
|
||||
auto_loading_type = CLOSED_BOLT | LOCK_MANUAL_LOCK
|
||||
muzzle_velocity = 295
|
||||
w_class = ITEMSIZE_HUGE
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/krinkov
|
||||
name = "Krinkov"
|
||||
desc = "A professionally cut down AKM made to be easily concealable. With a 12 inch barrel, this is a very loud short barrel rifle. Illegal pretty much everywhere, and easy to get a hold of, these classic russian firearms are a mainstay amidst the various criminal organizations across the galaxy."
|
||||
caliber = "7.62x39mm"
|
||||
magazine_type = /obj/item/ammo_magazine/akm
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/akm)
|
||||
icon_state = "krinkov"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x39
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
|
||||
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-10,-10), dispersion=list(0.0, 0.3, 0.6))
|
||||
)
|
||||
load_method = MAGAZINE
|
||||
auto_loading_type = CLOSED_BOLT | LOCK_MANUAL_LOCK
|
||||
muzzle_velocity = 680
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/akm
|
||||
name = "AKM"
|
||||
desc = "The tried and true, old fashioned chatterbox. Ivan's favorite. Best used while at least somewhat inebriated. Chambered in 7.62x39mm."
|
||||
caliber = "7.62x39mm"
|
||||
magazine_type = /obj/item/ammo_magazine/akm
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/akm)
|
||||
icon_state = "akm"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x39
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
|
||||
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-10,-10), dispersion=list(0.0, 0.3, 0.6))
|
||||
)
|
||||
load_method = MAGAZINE
|
||||
auto_loading_type = CLOSED_BOLT | LOCK_MANUAL_LOCK
|
||||
muzzle_velocity = 715
|
||||
w_class = ITEMSIZE_HUGE
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/scrapak
|
||||
name = "AKM"
|
||||
desc = "The 'Stalingrad Special'. This rickety old AKM has seen better days. Better bring some vodka, because every shot this gun manages to squeeze off without blowing up in your face is worthy of celebration. Chambered in 7.62x39mm"
|
||||
caliber = "7.62x39mm"
|
||||
magazine_type = /obj/item/ammo_magazine/akm
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/akm)
|
||||
icon_state = "scrapak"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x39
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
|
||||
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-10,-10), dispersion=list(0.0, 0.3, 0.6))
|
||||
)
|
||||
load_method = MAGAZINE
|
||||
auto_loading_type = CLOSED_BOLT | LOCK_MANUAL_LOCK
|
||||
muzzle_velocity = 700
|
||||
w_class = ITEMSIZE_HUGE
|
||||
|
||||
// AR Variants
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/m16a2
|
||||
name = "M16A2"
|
||||
desc = "A favorite service rifle everywhere, even today. It might be a reproduction, but Eugene Stoner smiles upon every man or woman who wields this beautiful democracy dispensing machine, even if it's never seen the soil of Terra, and never will. Chambered in 5.56x45mm."
|
||||
caliber = "5.56x45mm"
|
||||
|
||||
magazine_type = /obj/item/ammo_magazine/m16
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/m16)
|
||||
icon_state="m16"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a556
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
|
||||
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-10,-10), dispersion=list(0.0, 0.3, 0.6))
|
||||
)
|
||||
load_method = MAGAZINE
|
||||
auto_loading_type = CLOSED_BOLT | LOCK_OPEN_EMPTY | LOCK_SLAPPABLE
|
||||
muzzle_velocity = 960
|
||||
w_class = ITEMSIZE_HUGE
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/m4a1
|
||||
name = "M4A1"
|
||||
desc = "The M16's shorter, more lightweight little brother. An old terran flag is stamped into the receiver. These guns can be found just about everywhere. A favorite on the rimworlds due to its simplicity to produce, and reliability. Chambered in 5.56x45mm."
|
||||
caliber = "5.56x45mm"
|
||||
magazine_type = /obj/item/ammo_magazine/m16
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/m16)
|
||||
icon_state="m4"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a556
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
|
||||
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-10,-10), dispersion=list(0.0, 0.3, 0.6))
|
||||
)
|
||||
auto_loading_type = CLOSED_BOLT | LOCK_OPEN_EMPTY | LOCK_SLAPPABLE
|
||||
load_method = MAGAZINE
|
||||
muzzle_velocity = 910
|
||||
w_class = ITEMSIZE_HUGE
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/patriot
|
||||
name = "Patriot"
|
||||
desc = "I raised you, and loved you, I've given you weapons, taught you techniques, endowed you with knowledge. There's nothing more for me to give you. All that's left for you to take is my life. 'Still in a dream' is stamped into the receiver, and it has no serial number. Chambered in 5.56x45mm."
|
||||
caliber = "5.56x45mm"
|
||||
magazine_type = /obj/item/ammo_magazine/m16
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/m16)
|
||||
icon_state="patriot"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a556
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
|
||||
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-10,-10), dispersion=list(0.0, 0.3, 0.6))
|
||||
)
|
||||
auto_loading_type = CLOSED_BOLT | LOCK_OPEN_EMPTY | LOCK_SLAPPABLE
|
||||
load_method = MAGAZINE
|
||||
muzzle_velocity = 960
|
||||
w_class = ITEMSIZE_HUGE
|
||||
|
||||
//Other rifles
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/m41ab //This gun is pretty overpowered. Leaving it as an admin spawn. Might even interfere with lore.
|
||||
name = "M41A/2"
|
||||
desc = "The Armat M41A Pulse Rifle is a pulse-action assault rifle chambered for 10×24mm Caseless ammunition. This one is a rare, and fairly competent replica of the original by Scarborough Arms, with some minor design improvements over the original. The aluminium chassis is painted steel blue, and it has 'Scarborough Arms - Per falcis, per pravitas' inscribed on the stock."
|
||||
caliber = "10x24mm caseless"
|
||||
magazine_type = /obj/item/ammo_magazine/m41
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/m41)
|
||||
icon_state="m41ab"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a10x24
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
|
||||
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-10,-10), dispersion=list(0.0, 0.3, 0.6))
|
||||
)
|
||||
load_method = MAGAZINE
|
||||
muzzle_velocity = 840
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/m41a //This gun is pretty overpowered. Leaving it as an admin spawn. Might even interfere with lore.
|
||||
name = "M41A"
|
||||
desc = "A tried and true original. The Armat M41A Pulse Rifle is a pulse-action assault rifle chambered for 10×24mm Caseless ammunition. 'PEACE THROUGH SUPERIOR FIREPOWER' is stamped into the side of the aluminium chassis."
|
||||
caliber = "10x24mm caseless"
|
||||
magazine_type = /obj/item/ammo_magazine/m41
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/m41)
|
||||
icon_state="m41a"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a10x24
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, fire_delay=0, move_delay=null, burst_accuracy=null, dispersion=null),
|
||||
list(mode_name="3-round bursts", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,-10,-10), dispersion=list(0.0, 0.3, 0.6))
|
||||
)
|
||||
load_method = MAGAZINE
|
||||
muzzle_velocity = 840
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/serdy/sks //Reminder to myself to make sure this works and also to make sure that people are able to empty the internal mag
|
||||
name = "SKS"
|
||||
desc = "Just looking at it makes you want to buy a tacticool turtleneck, go into the woods, and -operate-. Chambered in 7.62x39mm."
|
||||
caliber = "7.62x39mm"
|
||||
auto_loading_type = CLOSED_BOLT | LOCK_OPEN_EMPTY
|
||||
load_method = SINGLE_CASING|SPEEDLOADER
|
||||
icon_state = "sks"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x39
|
||||
muzzle_velocity = 735
|
||||
max_shells = 10
|
||||
ammo_type = /obj/item/ammo_casing/a762x39
|
||||
|
||||
|
||||
//Time to give all these existing guns some new properties.
|
||||
//automatic.dm
|
||||
/obj/item/weapon/gun/projectile/automatic
|
||||
|
||||
@@ -690,7 +690,7 @@
|
||||
//admin logs
|
||||
if(!no_attack_log)
|
||||
if(istype(firer, /mob) && istype(target_mob))
|
||||
add_attack_logs(firer,target_mob,"Shot with \a [src.type] projectile")
|
||||
add_attack_logs(firer,target_mob,"Shot with \a [src.type] projectile",use_async=FALSE) //CHOMPEdit
|
||||
|
||||
//sometimes bullet_act() will want the projectile to continue flying
|
||||
if (result == PROJECTILE_CONTINUE)
|
||||
|
||||
@@ -1,276 +1,281 @@
|
||||
/obj/item/projectile/beam
|
||||
name = "laser"
|
||||
icon_state = "laser"
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
damage = 40
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
eyeblur = 4
|
||||
var/frequency = 1
|
||||
hitscan = 1
|
||||
embed_chance = 0
|
||||
invisibility = 99 //beam projectiles are invisible as they are rendered by the effect engine
|
||||
light_range = 2
|
||||
light_power = 0.5
|
||||
light_color = "#FF0D00"
|
||||
hitsound = 'sound/weapons/sear.ogg'
|
||||
hitsound_wall = 'sound/weapons/effects/searwall.ogg'
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser
|
||||
tracer_type = /obj/effect/projectile/tracer/laser
|
||||
impact_type = /obj/effect/projectile/impact/laser
|
||||
|
||||
/obj/item/projectile/beam/practice
|
||||
name = "laser"
|
||||
icon_state = "laser"
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
eyeblur = 2
|
||||
|
||||
/obj/item/projectile/beam/weaklaser
|
||||
name = "weak laser"
|
||||
icon_state = "laser"
|
||||
damage = 15
|
||||
|
||||
/obj/item/projectile/beam/smalllaser
|
||||
damage = 25
|
||||
|
||||
/obj/item/projectile/beam/burstlaser
|
||||
damage = 30
|
||||
armor_penetration = 10
|
||||
|
||||
|
||||
/obj/item/projectile/beam/midlaser
|
||||
damage = 40
|
||||
armor_penetration = 10
|
||||
|
||||
/obj/item/projectile/beam/heavylaser
|
||||
name = "heavy laser"
|
||||
icon_state = "heavylaser"
|
||||
fire_sound = 'sound/weapons/lasercannonfire.ogg'
|
||||
damage = 60
|
||||
armor_penetration = 30
|
||||
light_range = 3
|
||||
light_power = 1
|
||||
light_color = "#FF0D00"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_heavy
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_heavy
|
||||
impact_type = /obj/effect/projectile/impact/laser_heavy
|
||||
|
||||
/obj/item/projectile/beam/heavylaser/fakeemitter
|
||||
name = "emitter beam"
|
||||
icon_state = "emitter"
|
||||
fire_sound = 'sound/weapons/emitter.ogg'
|
||||
light_color = "#00CC33"
|
||||
excavation_amount = 140 // 2 shots to dig a standard rock turf. Superior due to being a mounted tool beam, to make it actually viable.
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/emitter
|
||||
tracer_type = /obj/effect/projectile/tracer/emitter
|
||||
impact_type = /obj/effect/projectile/impact/emitter
|
||||
|
||||
/obj/item/projectile/beam/heavylaser/cannon
|
||||
damage = 80
|
||||
armor_penetration = 50
|
||||
light_color = "#FF0D00"
|
||||
|
||||
/obj/item/projectile/beam/xray
|
||||
name = "xray beam"
|
||||
icon_state = "xray"
|
||||
fire_sound = 'sound/weapons/eluger.ogg'
|
||||
damage = 25
|
||||
armor_penetration = 50
|
||||
light_color = "#00CC33"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
impact_type = /obj/effect/projectile/impact/xray
|
||||
|
||||
/obj/item/projectile/beam/gamma
|
||||
name = "gamma beam"
|
||||
icon_state = "xray"
|
||||
fire_sound = 'sound/weapons/eluger.ogg'
|
||||
damage = 10
|
||||
armor_penetration = 90
|
||||
irradiate = 20
|
||||
light_color = "#00CC33"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
impact_type = /obj/effect/projectile/impact/xray
|
||||
|
||||
/obj/item/projectile/beam/cyan
|
||||
name = "cyan beam"
|
||||
icon_state = "cyan"
|
||||
fire_sound = 'sound/weapons/eluger.ogg'
|
||||
damage = 40
|
||||
light_color = "#00C6FF"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_omni
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_omni
|
||||
impact_type = /obj/effect/projectile/impact/laser_omni
|
||||
|
||||
/obj/item/projectile/beam/pulse
|
||||
name = "pulse"
|
||||
icon_state = "u_laser"
|
||||
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"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_pulse
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_pulse
|
||||
impact_type = /obj/effect/projectile/impact/laser_pulse
|
||||
|
||||
/obj/item/projectile/beam/pulse/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(isturf(target))
|
||||
target.ex_act(2)
|
||||
..()
|
||||
|
||||
/obj/item/projectile/beam/emitter
|
||||
name = "emitter beam"
|
||||
icon_state = "emitter"
|
||||
fire_sound = 'sound/weapons/emitter.ogg'
|
||||
damage = 0 // The actual damage is computed in /code/modules/power/singularity/emitter.dm
|
||||
light_color = "#00CC33"
|
||||
excavation_amount = 70 // 3 shots to mine a turf
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/emitter
|
||||
tracer_type = /obj/effect/projectile/tracer/emitter
|
||||
impact_type = /obj/effect/projectile/impact/emitter
|
||||
|
||||
/obj/item/projectile/beam/lasertag
|
||||
name = "lasertag beam"
|
||||
damage = 0
|
||||
eyeblur = 0
|
||||
no_attack_log = 1
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
/obj/item/projectile/beam/lasertag/blue
|
||||
icon_state = "bluelaser"
|
||||
light_color = "#0066FF"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_blue
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_blue
|
||||
impact_type = /obj/effect/projectile/impact/laser_blue
|
||||
|
||||
/obj/item/projectile/beam/lasertag/blue/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/M = target
|
||||
if(istype(M.wear_suit, /obj/item/clothing/suit/redtag))
|
||||
M.Weaken(5)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/beam/lasertag/red
|
||||
icon_state = "laser"
|
||||
light_color = "#FF0D00"
|
||||
|
||||
/obj/item/projectile/beam/lasertag/red/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/M = target
|
||||
if(istype(M.wear_suit, /obj/item/clothing/suit/bluetag))
|
||||
M.Weaken(5)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/beam/lasertag/omni//A laser tag bolt that stuns EVERYONE
|
||||
icon_state = "omnilaser"
|
||||
light_color = "#00C6FF"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_omni
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_omni
|
||||
impact_type = /obj/effect/projectile/impact/laser_omni
|
||||
|
||||
/obj/item/projectile/beam/lasertag/omni/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/M = target
|
||||
if((istype(M.wear_suit, /obj/item/clothing/suit/bluetag))||(istype(M.wear_suit, /obj/item/clothing/suit/redtag)))
|
||||
M.Weaken(5)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/beam/sniper
|
||||
name = "sniper beam"
|
||||
icon_state = "xray"
|
||||
fire_sound = 'sound/weapons/gauss_shoot.ogg'
|
||||
damage = 50
|
||||
armor_penetration = 10
|
||||
light_color = "#00CC33"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
impact_type = /obj/effect/projectile/impact/xray
|
||||
|
||||
/obj/item/projectile/beam/stun
|
||||
name = "stun beam"
|
||||
icon_state = "stun"
|
||||
fire_sound = 'sound/weapons/Taser.ogg'
|
||||
nodamage = 1
|
||||
taser_effect = 1
|
||||
agony = 40
|
||||
damage_type = HALLOSS
|
||||
light_color = "#FFFFFF"
|
||||
hitsound = 'sound/weapons/zapbang.ogg'
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/stun
|
||||
tracer_type = /obj/effect/projectile/tracer/stun
|
||||
impact_type = /obj/effect/projectile/impact/stun
|
||||
|
||||
/obj/item/projectile/beam/stun/weak
|
||||
name = "weak stun beam"
|
||||
icon_state = "stun"
|
||||
agony = 25
|
||||
|
||||
/obj/item/projectile/beam/stun/med
|
||||
name = "stun beam"
|
||||
icon_state = "stun"
|
||||
agony = 30
|
||||
|
||||
/obj/item/projectile/beam/stun/disabler
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_omni
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_omni
|
||||
impact_type = /obj/effect/projectile/impact/laser_omni
|
||||
|
||||
/obj/item/projectile/beam/stun/disabler/on_hit(atom/target, blocked = 0, def_zone)
|
||||
. = ..(target, blocked, def_zone)
|
||||
|
||||
if(. && istype(target, /mob/living/silicon/robot) && prob(agony))
|
||||
var/mob/living/silicon/robot/R = target
|
||||
var/drainamt = agony * (rand(5, 15) / 10)
|
||||
R.drain_power(0, 0, drainamt)
|
||||
if(istype(firer, /mob/living/silicon/robot)) // Mischevious sappers, the swarm drones are.
|
||||
var/mob/living/silicon/robot/A = firer
|
||||
if(A.cell)
|
||||
A.cell.give(drainamt * 2)
|
||||
|
||||
/obj/item/projectile/beam/shock
|
||||
name = "shock beam"
|
||||
icon_state = "lightning"
|
||||
damage_type = ELECTROCUTE
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/lightning
|
||||
tracer_type = /obj/effect/projectile/tracer/lightning
|
||||
impact_type = /obj/effect/projectile/impact/lightning
|
||||
|
||||
damage = 30
|
||||
agony = 15
|
||||
eyeblur = 2
|
||||
hitsound = 'sound/weapons/zapbang.ogg'
|
||||
|
||||
/obj/item/projectile/beam/precursor //CHOMPedit added Precursor beam
|
||||
name = "precursor beam"
|
||||
icon_state = "alien beam"
|
||||
fire_sound = 'sound/weapons/MediumLaser.ogg'
|
||||
light_color = "#FF0099"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/precursor
|
||||
tracer_type = /obj/effect/projectile/tracer/precursor
|
||||
impact_type = /obj/effect/projectile/impact/precursor
|
||||
|
||||
damage = 48
|
||||
armor_penetration = 10
|
||||
/obj/item/projectile/beam
|
||||
name = "laser"
|
||||
icon_state = "laser"
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
|
||||
damage = 40
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
eyeblur = 4
|
||||
var/frequency = 1
|
||||
hitscan = 1
|
||||
embed_chance = 0
|
||||
invisibility = 99 //beam projectiles are invisible as they are rendered by the effect engine
|
||||
light_range = 2
|
||||
light_power = 0.5
|
||||
light_color = "#FF0D00"
|
||||
hitsound = 'sound/weapons/sear.ogg'
|
||||
hitsound_wall = 'sound/weapons/effects/searwall.ogg'
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser
|
||||
tracer_type = /obj/effect/projectile/tracer/laser
|
||||
impact_type = /obj/effect/projectile/impact/laser
|
||||
|
||||
/obj/item/projectile/beam/practice
|
||||
name = "laser"
|
||||
icon_state = "laser"
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
eyeblur = 2
|
||||
|
||||
/obj/item/projectile/beam/weaklaser
|
||||
name = "weak laser"
|
||||
icon_state = "laser"
|
||||
damage = 15
|
||||
|
||||
/obj/item/projectile/beam/smalllaser
|
||||
damage = 25
|
||||
|
||||
/obj/item/projectile/beam/burstlaser
|
||||
damage = 30
|
||||
armor_penetration = 10
|
||||
|
||||
|
||||
/obj/item/projectile/beam/midlaser
|
||||
damage = 40
|
||||
armor_penetration = 10
|
||||
|
||||
/obj/item/projectile/beam/heavylaser
|
||||
name = "heavy laser"
|
||||
icon_state = "heavylaser"
|
||||
fire_sound = 'sound/weapons/lasercannonfire.ogg'
|
||||
damage = 60
|
||||
armor_penetration = 30
|
||||
light_range = 3
|
||||
light_power = 1
|
||||
light_color = "#FF0D00"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_heavy
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_heavy
|
||||
impact_type = /obj/effect/projectile/impact/laser_heavy
|
||||
|
||||
/obj/item/projectile/beam/heavylaser/fakeemitter
|
||||
name = "emitter beam"
|
||||
icon_state = "emitter"
|
||||
fire_sound = 'sound/weapons/emitter.ogg'
|
||||
light_color = "#00CC33"
|
||||
excavation_amount = 140 // 2 shots to dig a standard rock turf. Superior due to being a mounted tool beam, to make it actually viable.
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/emitter
|
||||
tracer_type = /obj/effect/projectile/tracer/emitter
|
||||
impact_type = /obj/effect/projectile/impact/emitter
|
||||
|
||||
/obj/item/projectile/beam/heavylaser/cannon
|
||||
damage = 80
|
||||
armor_penetration = 50
|
||||
light_color = "#FF0D00"
|
||||
|
||||
/obj/item/projectile/beam/xray
|
||||
name = "xray beam"
|
||||
icon_state = "xray"
|
||||
fire_sound = 'sound/weapons/eluger.ogg'
|
||||
damage = 25
|
||||
armor_penetration = 50
|
||||
light_color = "#00CC33"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
impact_type = /obj/effect/projectile/impact/xray
|
||||
|
||||
/obj/item/projectile/beam/gamma
|
||||
name = "gamma beam"
|
||||
icon_state = "xray"
|
||||
fire_sound = 'sound/weapons/eluger.ogg'
|
||||
damage = 12 //CHOMPedit
|
||||
armor_penetration = 90
|
||||
irradiate = 20
|
||||
light_color = "#00CC33"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
impact_type = /obj/effect/projectile/impact/xray
|
||||
|
||||
/obj/item/projectile/beam/cyan
|
||||
name = "cyan beam"
|
||||
icon_state = "cyan"
|
||||
fire_sound = 'sound/weapons/eluger.ogg'
|
||||
damage = 40
|
||||
light_color = "#00C6FF"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_omni
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_omni
|
||||
impact_type = /obj/effect/projectile/impact/laser_omni
|
||||
|
||||
/obj/item/projectile/beam/pulse
|
||||
name = "pulse"
|
||||
icon_state = "u_laser"
|
||||
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"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_pulse
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_pulse
|
||||
impact_type = /obj/effect/projectile/impact/laser_pulse
|
||||
|
||||
/obj/item/projectile/beam/pulse/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(isturf(target))
|
||||
target.ex_act(2)
|
||||
..()
|
||||
|
||||
/obj/item/projectile/beam/emitter
|
||||
name = "emitter beam"
|
||||
icon_state = "emitter"
|
||||
fire_sound = 'sound/weapons/emitter.ogg'
|
||||
damage = 0 // The actual damage is computed in /code/modules/power/singularity/emitter.dm
|
||||
light_color = "#00CC33"
|
||||
excavation_amount = 70 // 3 shots to mine a turf
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/emitter
|
||||
tracer_type = /obj/effect/projectile/tracer/emitter
|
||||
impact_type = /obj/effect/projectile/impact/emitter
|
||||
|
||||
/obj/item/projectile/beam/lasertag
|
||||
name = "lasertag beam"
|
||||
damage = 0
|
||||
eyeblur = 0
|
||||
no_attack_log = 1
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
/obj/item/projectile/beam/lasertag/blue
|
||||
icon_state = "bluelaser"
|
||||
light_color = "#0066FF"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_blue
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_blue
|
||||
impact_type = /obj/effect/projectile/impact/laser_blue
|
||||
|
||||
/obj/item/projectile/beam/lasertag/blue/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/M = target
|
||||
if(istype(M.wear_suit, /obj/item/clothing/suit/redtag))
|
||||
M.Weaken(5)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/beam/lasertag/red
|
||||
icon_state = "laser"
|
||||
light_color = "#FF0D00"
|
||||
|
||||
/obj/item/projectile/beam/lasertag/red/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/M = target
|
||||
if(istype(M.wear_suit, /obj/item/clothing/suit/bluetag))
|
||||
M.Weaken(5)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/beam/lasertag/omni//A laser tag bolt that stuns EVERYONE
|
||||
icon_state = "omnilaser"
|
||||
light_color = "#00C6FF"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_omni
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_omni
|
||||
impact_type = /obj/effect/projectile/impact/laser_omni
|
||||
|
||||
/obj/item/projectile/beam/lasertag/omni/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/M = target
|
||||
if((istype(M.wear_suit, /obj/item/clothing/suit/bluetag))||(istype(M.wear_suit, /obj/item/clothing/suit/redtag)))
|
||||
M.Weaken(5)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/beam/sniper
|
||||
name = "sniper beam"
|
||||
icon_state = "xray"
|
||||
fire_sound = 'sound/weapons/gauss_shoot.ogg'
|
||||
damage = 50
|
||||
armor_penetration = 10
|
||||
light_color = "#00CC33"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
impact_type = /obj/effect/projectile/impact/xray
|
||||
|
||||
/obj/item/projectile/beam/stun
|
||||
name = "stun beam"
|
||||
icon_state = "stun"
|
||||
fire_sound = 'sound/weapons/Taser.ogg'
|
||||
nodamage = 1
|
||||
taser_effect = 1
|
||||
agony = 40
|
||||
damage_type = HALLOSS
|
||||
light_color = "#FFFFFF"
|
||||
hitsound = 'sound/weapons/zapbang.ogg'
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/stun
|
||||
tracer_type = /obj/effect/projectile/tracer/stun
|
||||
impact_type = /obj/effect/projectile/impact/stun
|
||||
|
||||
/obj/item/projectile/beam/stun/weak
|
||||
name = "weak stun beam"
|
||||
icon_state = "stun"
|
||||
agony = 25
|
||||
|
||||
/obj/item/projectile/beam/stun/med
|
||||
name = "stun beam"
|
||||
icon_state = "stun"
|
||||
agony = 30
|
||||
|
||||
/obj/item/projectile/beam/stun/disabler
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_omni
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_omni
|
||||
impact_type = /obj/effect/projectile/impact/laser_omni
|
||||
|
||||
/obj/item/projectile/beam/stun/disabler/on_hit(atom/target, blocked = 0, def_zone)
|
||||
. = ..(target, blocked, def_zone)
|
||||
|
||||
if(. && istype(target, /mob/living/silicon/robot) && prob(agony))
|
||||
var/mob/living/silicon/robot/R = target
|
||||
var/drainamt = agony * (rand(5, 15) / 10)
|
||||
R.drain_power(0, 0, drainamt)
|
||||
if(istype(firer, /mob/living/silicon/robot)) // Mischevious sappers, the swarm drones are.
|
||||
var/mob/living/silicon/robot/A = firer
|
||||
if(A.cell)
|
||||
A.cell.give(drainamt * 2)
|
||||
|
||||
/obj/item/projectile/beam/shock
|
||||
name = "shock beam"
|
||||
icon_state = "lightning"
|
||||
damage_type = ELECTROCUTE
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/lightning
|
||||
tracer_type = /obj/effect/projectile/tracer/lightning
|
||||
impact_type = /obj/effect/projectile/impact/lightning
|
||||
|
||||
damage = 30
|
||||
agony = 15
|
||||
eyeblur = 2
|
||||
hitsound = 'sound/weapons/zapbang.ogg'
|
||||
|
||||
|
||||
/obj/item/projectile/beam/precursor //CHOMPedit added Precursor beam
|
||||
name = "precursor beam"
|
||||
icon_state = "alien beam"
|
||||
fire_sound = 'sound/weapons/MediumLaser.ogg'
|
||||
light_color = "#FF0099"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/precursor
|
||||
tracer_type = /obj/effect/projectile/tracer/precursor
|
||||
impact_type = /obj/effect/projectile/impact/precursor
|
||||
|
||||
damage = 48
|
||||
armor_penetration = 10
|
||||
|
||||
/obj/item/projectile/beam/shock/weak
|
||||
damage = 5
|
||||
agony = 10
|
||||
|
||||
@@ -2,12 +2,21 @@
|
||||
|
||||
/obj/item/projectile/bullet
|
||||
var/diam = 9 //mm
|
||||
var/energy_add = 0
|
||||
var/energy_add = 0 //See note below. Adds velocity, basically.
|
||||
var/velocity = 500 //Meters per second
|
||||
var/hollow_point = FALSE
|
||||
var/hollow_point = FALSE //Determines if the round leaves additional shrapnel in the wound
|
||||
var/grains = 115 //I hope the unit is obvious
|
||||
var/energy //Joules
|
||||
var/old_bullet_act = FALSE
|
||||
var/old_bullet_act = FALSE //This makes it so that the game ignores the new ballistic stuff and uses old damage system for the bullet.
|
||||
|
||||
/*energy_add
|
||||
Pretty much, when a bullet is a fired from a gun, it replaces the default muzzle velocity of the round with it's own muzzle velocity,
|
||||
so if you want a certain round to have extra velocity, you have the option to add energy. For example,
|
||||
if I have an AP round that shoots 650 m/s and the base round only shoots 600 m/s, I need to take the weight of the round in grains (say 60),
|
||||
convert it to kilograms (divide by 15432 or some wacky number like that, just google grains to kilograms), then multiply the weight in kilograms by
|
||||
the velocity squared for both the 650, and 600, and subtract the result for 650 from the result for 600, then that number is what I would put there.
|
||||
If you want to be lazy, or you can't find more specific numbers for the AP/HP versions of a round, then just don't bother with changing any of that and
|
||||
only use the hollow_point and armor_penetration values.*/
|
||||
|
||||
/obj/item/projectile/bullet/launch_projectile(atom/target, target_zone, mob/user, params, angle_override, forced_spread = 0)
|
||||
energy = 0.5 * velocity * velocity * (grains / GRAINS_PER_KG) + energy_add
|
||||
@@ -154,6 +163,22 @@
|
||||
velocity = 343
|
||||
armor_penetration = -50
|
||||
hollow_point = TRUE
|
||||
|
||||
/obj/item/projectile/bullet/a22lr
|
||||
fire_sound = 'sound/weapons/gunshot_pathetic.ogg'
|
||||
grains = 40
|
||||
diam = 5.7
|
||||
velocity = 370
|
||||
|
||||
/obj/item/projectile/bullet/a22lr/ap
|
||||
grains = 31
|
||||
velocity = 530
|
||||
armor_penetration = 15
|
||||
|
||||
/obj/item/projectile/bullet/a22lr/hp
|
||||
grains = 38
|
||||
velocity = 380
|
||||
hollow_point = TRUE
|
||||
|
||||
//Shotgun projectiles
|
||||
|
||||
@@ -176,19 +201,13 @@
|
||||
submunition_spread_max = 67.5
|
||||
submunitions = list(/obj/item/projectile/bullet/shotgun/buckshot = 8)
|
||||
|
||||
/obj/item/ammo_casing/a12g/pellet
|
||||
name = "shotgun buckshot shell"
|
||||
desc = "A 12 gauge buckshot shell."
|
||||
icon_state = "gshell"
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun/buckshot/shell
|
||||
|
||||
//Rifle projectiles
|
||||
/obj/item/projectile/bullet/rifle
|
||||
armor_penetration = 0 //No. Rifle rounds don't get extra AP by default, their nature already makes them more armor penetrating.
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762 //7.62x51 NATO
|
||||
fire_sound = 'sound/weapons/ballistics/a762.ogg'
|
||||
diam = 7.62
|
||||
diam = 7.82
|
||||
grains = 147
|
||||
velocity = 850
|
||||
|
||||
@@ -204,9 +223,25 @@
|
||||
armor_penetration = -50
|
||||
hollow_point = TRUE
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762x39 //7.62x39 Soviet
|
||||
fire_sound = 'sound/weapons/ballistics/a762.ogg'
|
||||
diam = 7.85
|
||||
grains = 122
|
||||
velocity = 730
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762x39/ap
|
||||
grains = 123
|
||||
velocity = 740
|
||||
energy_add = 117.16
|
||||
armor_penetration = 50
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762x39/hp
|
||||
hollow_point = TRUE
|
||||
armor_penetration = -50
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a545
|
||||
fire_sound = 'sound/weapons/ballistics/a545.ogg'
|
||||
diam = 5.45
|
||||
diam = 5.6
|
||||
grains = 53
|
||||
velocity = 880
|
||||
|
||||
@@ -219,8 +254,24 @@
|
||||
hollow_point = TRUE
|
||||
armor_penetration = -50
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a556 //5.56x45mm NATO
|
||||
diam = 5.7
|
||||
grains = 62
|
||||
velocity = 961
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a556/ap
|
||||
grains = 52
|
||||
velocity = 1030
|
||||
energy_add = 462.92
|
||||
armor_penetration = 50
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a556/hp
|
||||
hollow_point = TRUE
|
||||
armor_penetration = -50
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a145 // 14.5×114mm
|
||||
fire_sound = 'sound/weapons/ballistics/a145.ogg'
|
||||
diam = 14.88
|
||||
grains = 921
|
||||
velocity = 1000
|
||||
|
||||
@@ -240,6 +291,22 @@
|
||||
grains = 310
|
||||
velocity = 365
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a9x39 //We also have actual 9x39mm
|
||||
fire_sound = 'sound/weapons/ballistics/a545.ogg'
|
||||
diam = 9.25
|
||||
grains = 259
|
||||
velocity = 280
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a9x39/ap
|
||||
grains = 267
|
||||
armor_penetration = 25
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a10x24
|
||||
fire_sound = 'sound/weapons/ballistics/a762.ogg'
|
||||
grains = 210
|
||||
diam = 10.2
|
||||
velocity = 840
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762/lmg //This is actually 7.92x57 ffs
|
||||
diam = 7.92
|
||||
grains = 181
|
||||
@@ -247,7 +314,7 @@
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762x54
|
||||
fire_sound = 'sound/weapons/ballistics/a762x54.ogg'
|
||||
diam = 7.62
|
||||
diam = 7.92
|
||||
grains = 151
|
||||
velocity = 830
|
||||
hitscan = 1
|
||||
@@ -255,160 +322,7 @@
|
||||
/obj/item/projectile/bullet/rifle/a762x54/ap
|
||||
armor_penetration = 50
|
||||
|
||||
//Time to replace projectiles with their proper counterparts now that we have added them.
|
||||
/obj/item/ammo_casing/a10mm
|
||||
projectile_type = /obj/item/projectile/bullet/a10mm
|
||||
|
||||
/obj/item/ammo_casing/a38
|
||||
projectile_type = /obj/item/projectile/bullet/a38
|
||||
|
||||
/obj/item/ammo_casing/a380
|
||||
projectile_type = /obj/item/projectile/bullet/a380
|
||||
|
||||
/obj/item/ammo_casing/a357
|
||||
projectile_type = /obj/item/projectile/bullet/a357
|
||||
|
||||
/obj/item/ammo_casing/a57
|
||||
desc = "A standard 5.7x28mm round"
|
||||
caliber = "5.7x28mm"
|
||||
projectile_type = /obj/item/projectile/bullet/a57
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 60)
|
||||
|
||||
/obj/item/ammo_casing/a57/ap
|
||||
desc = "An armor piercing 5.7x28mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/a57/ap
|
||||
|
||||
/obj/item/ammo_casing/a57/hp
|
||||
desc = "A hollow point 5.7x28mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/a57/ap
|
||||
|
||||
/obj/item/ammo_casing/a57/rubber
|
||||
desc = "A rubber 5.7x28mm round"
|
||||
projectile_type = /obj/item/projectile/bullet/pistol/rubber
|
||||
|
||||
/obj/item/ammo_magazine/m9mmp90 //congratulations you are now being converted 5.7x28mm, a.k.a the round the p90 actually uses.
|
||||
name = "large capacity top mounted magazine (5.7x28mm armor-piercing)" //Ugh, we'll leave it AP I guess
|
||||
ammo_type = /obj/item/ammo_casing/a57/ap
|
||||
caliber = "5.7x28mm"
|
||||
|
||||
/obj/item/ammo_casing/a762x54
|
||||
desc = "A standard 7.62x54mmR round"
|
||||
caliber = "7.62x54mmR"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x54
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 160)
|
||||
|
||||
/obj/item/ammo_casing/a762x54/ap
|
||||
desc = "An armor piercing 7.62x54mmR round"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a762x54/ap
|
||||
|
||||
/obj/item/ammo_magazine/m762svd //You are now being converted to 7.62x54mmR :3
|
||||
name = "\improper SVD magazine (7.62x54mmR)"
|
||||
caliber = "7.62x54mmR"
|
||||
ammo_type = /obj/item/ammo_casing/a762x54
|
||||
|
||||
/obj/item/ammo_magazine/m762svd/ap
|
||||
name = "\improper SVD magazine (7.62x54mmR armor-piercing)"
|
||||
ammo_type = /obj/item/ammo_casing/a762x54/ap
|
||||
|
||||
//New magazines
|
||||
/obj/item/ammo_magazine/a57
|
||||
name = "five-seven magazine(5.7x28mm standard)"
|
||||
icon_state = "fiveseven"
|
||||
max_ammo = 20
|
||||
mag_type = MAGAZINE
|
||||
caliber= "5.7x28mm"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 800)
|
||||
multiple_sprites = 0
|
||||
ammo_type = /obj/item/ammo_casing/a57
|
||||
|
||||
/obj/item/ammo_magazine/a57/ap
|
||||
name = "five-seven magazine(5.7x28mm armor-piercing)"
|
||||
ammo_type = /obj/item/ammo_casing/a57/ap
|
||||
|
||||
/obj/item/ammo_magazine/a57/hp
|
||||
name = "five-seven magazine(5.7x28mm hollow-point)"
|
||||
ammo_type = /obj/item/ammo_casing/a57/hp
|
||||
|
||||
/obj/item/ammo_magazine/a57/rubber
|
||||
name = "five-seven magazine(5.7x28mm rubber)"
|
||||
ammo_type = /obj/item/ammo_casing/a57/rubber
|
||||
|
||||
/obj/item/ammo_magazine/mp5mag
|
||||
name = "mp5 magazine(9x19mm standard)"
|
||||
icon = 'icons/obj/ammo_vr.dmi'
|
||||
icon_state = "smg"
|
||||
max_ammo = 30
|
||||
mag_type = MAGAZINE
|
||||
caliber = "9mm"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 800)
|
||||
multiple_sprites = 1
|
||||
ammo_type = /obj/item/ammo_casing/a9mm
|
||||
|
||||
/obj/item/ammo_magazine/mp5mag/ap
|
||||
name = "mp5 magazine(9x19mm armor-piercing)"
|
||||
ammo_type = /obj/item/ammo_casing/a9mm/ap
|
||||
|
||||
/obj/item/ammo_magazine/mp5mag/hp
|
||||
name = "mp5 magazine(9x19mm hollow-point)"
|
||||
ammo_type = /obj/item/ammo_casing/a9mm/ap
|
||||
|
||||
/obj/item/ammo_magazine/mp5mag/rubber
|
||||
name = "mp5 magazine(9x19mm rubber)"
|
||||
ammo_type = /obj/item/ammo_casing/a9mm/rubber
|
||||
|
||||
//Add some autolathe entries for the new converted mags
|
||||
/datum/category_item/autolathe/arms/smg_mp5
|
||||
name = "mp5 magazine(9x19mm standard)"
|
||||
path = /obj/item/ammo_magazine/mp5mag
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/smg_mp5_ap
|
||||
name = "mp5 magazine(9x19mm armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/mp5mag/ap
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/smg_mp5_hp
|
||||
name = "mp5 magazine(9x19mm hollow-point)"
|
||||
path = /obj/item/ammo_magazine/mp5mag/hp
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/smg_mp5_rubber
|
||||
name = "mp5 magazine(9x19mm rubber)"
|
||||
path = /obj/item/ammo_magazine/mp5mag/rubber
|
||||
|
||||
/datum/category_item/autolathe/arms/pistol_fiveseven
|
||||
name = "five-seven magazine(5.7x28mm standard)"
|
||||
path = /obj/item/ammo_magazine/a57
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/pistol_fiveseven_ap
|
||||
name = "five-seven magazine(5.7x28mm armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/a57/ap
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/pistol_fiveseven_hp
|
||||
name = "five-seven magazine(5.7x28mm hollow-point)"
|
||||
path = /obj/item/ammo_magazine/a57/hp
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/pistol_fiveseven_rubber
|
||||
name = "five-seven magazine(5.7x28mm rubber)"
|
||||
path = /obj/item/ammo_magazine/a57/rubber
|
||||
|
||||
/datum/category_item/autolathe/arms/smg_p90
|
||||
name = "large capacity top mounted magazine (5.7x28mm armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/m9mmp90
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/svd_762
|
||||
name = "SVD magazine (7.62x54mmR)"
|
||||
path = /obj/item/ammo_magazine/m762svd
|
||||
hidden = 1
|
||||
|
||||
/datum/category_item/autolathe/arms/svd_762_ap
|
||||
name = "SVD magazine (7.62x54mmR armor-piercing)"
|
||||
path = /obj/item/ammo_magazine/m762svd/ap
|
||||
hidden = 1
|
||||
//NOTE: Ammo casings and magazines used to be in this part of the file. They have been moved to respective files in the projectiles/ammunition folder.
|
||||
|
||||
//Various "We're not dealing with this shit because of how bad it is" (Some of these may be implemented into the new system with later updates)
|
||||
/obj/item/projectile/bullet/magnetic
|
||||
@@ -451,4 +365,4 @@
|
||||
old_bullet_act = TRUE
|
||||
|
||||
/obj/item/projectile/bullet/gyro
|
||||
old_bullet_act = TRUE
|
||||
old_bullet_act = TRUE
|
||||
|
||||
Reference in New Issue
Block a user