mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-05 23:11:52 +00:00
Shells and Periphery (#1327)
Adds Shells. Adds tags. Adds IPC subspecies. Adds HK-47's. Does not add IPC construction. Beyond the obvious review of shells, the exact stats of the IPC subspecies need review. They were largely an afterthought, and quickly overshadowed by the shell project.
This commit is contained in:
@@ -373,6 +373,35 @@
|
||||
/obj/item/ammo_magazine/d762/empty
|
||||
initial_ammo = 0
|
||||
|
||||
/obj/item/ammo_magazine/flechette
|
||||
name = "flechette rounds"
|
||||
icon = 'icons/obj/terminator.dmi'
|
||||
icon_state = "flechette"
|
||||
mag_type = MAGAZINE
|
||||
caliber = "flechette"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1200)
|
||||
ammo_type = /obj/item/ammo_casing/flechette
|
||||
max_ammo = 40
|
||||
multiple_sprites = 1
|
||||
|
||||
/obj/item/ammo_magazine/flechette/empty
|
||||
initial_ammo = 0
|
||||
|
||||
/obj/item/ammo_magazine/flechette/explosive
|
||||
name = "explosive flechette rounds"
|
||||
desc = "A box of ten explosive flechettes that can be remotely detonated by a certain signal."
|
||||
icon = 'icons/obj/terminator.dmi'
|
||||
icon_state = "flechette_e"
|
||||
mag_type = MAGAZINE
|
||||
caliber = "flechette"
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 1200)
|
||||
ammo_type = /obj/item/ammo_casing/flechette/explosive
|
||||
max_ammo = 10
|
||||
multiple_sprites = 1
|
||||
|
||||
/obj/item/ammo_magazine/flechette/explosive/empty
|
||||
initial_ammo = 0
|
||||
|
||||
/obj/item/ammo_magazine/assault_shotgun
|
||||
name = "magazine (slug)"
|
||||
icon = 'icons/obj/dragunov.dmi'
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
projectile_type = /obj/item/projectile/bullet/pistol
|
||||
|
||||
/obj/item/ammo_casing/trod
|
||||
desc = "Hyperdense tungsten rod residue."
|
||||
desc = "hyperdense tungsten rod residue."
|
||||
icon_state = "trod"
|
||||
caliber = "trod"
|
||||
projectile_type = /obj/item/projectile/bullet/trod
|
||||
@@ -226,3 +226,13 @@
|
||||
color = "#FF0000"
|
||||
projectile_type = /obj/item/projectile/bullet/pistol/cap
|
||||
|
||||
/obj/item/ammo_casing/flechette
|
||||
desc = "A flechette casing."
|
||||
icon = 'icons/obj/terminator.dmi'
|
||||
icon_state = "flechette_casing"
|
||||
caliber = "flechette"
|
||||
projectile_type = /obj/item/projectile/bullet/flechette
|
||||
|
||||
/obj/item/ammo_casing/flechette/explosive
|
||||
projectile_type = /obj/item/projectile/bullet/flechette/explosive
|
||||
|
||||
|
||||
@@ -137,7 +137,6 @@
|
||||
/obj/effect/projectile/bullet/muzzle
|
||||
icon_state = "muzzle_bullet"
|
||||
|
||||
//----------------------------
|
||||
// Solar beam
|
||||
//----------------------------
|
||||
/obj/effect/projectile/solar/tracer
|
||||
@@ -148,3 +147,9 @@
|
||||
|
||||
/obj/effect/projectile/solar/impact
|
||||
icon_state = "impact_solar"
|
||||
|
||||
//----------------------------
|
||||
// Pulse muzzle
|
||||
//----------------------------
|
||||
/obj/effect/projectile/pulse_bullet/muzzle
|
||||
icon_state = "muzzle_pulse"
|
||||
|
||||
@@ -311,6 +311,64 @@
|
||||
list(mode_name="dual coil", burst=2, move_delay=8, accuracy = list(-2,-3), dispersion = list(2.0, 3.0))
|
||||
)
|
||||
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/terminator
|
||||
name = "flechette rifle"
|
||||
desc = "A fearsome Necropolis Industries designed rifle with attached bayonet that fires lethal flechette rounds."
|
||||
icon = 'icons/obj/terminator.dmi'
|
||||
icon_state = "flechetterifle"
|
||||
item_state = "flechetterifle"
|
||||
contained_sprite = 1
|
||||
w_class = 5
|
||||
force = 30
|
||||
caliber = "flechette"
|
||||
slot_flags = SLOT_BELT|SLOT_BACK
|
||||
fire_sound = 'sound/weapons/Gunshot_DMR.ogg'
|
||||
load_method = MAGAZINE
|
||||
magazine_type = /obj/item/ammo_magazine/flechette
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/flechette,/obj/item/ammo_magazine/flechette/explosive)
|
||||
auto_eject = 1
|
||||
auto_eject_sound = 'sound/weapons/smg_empty_alarm.ogg'
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="semiauto", burst=1, move_delay=null, burst_accuracy=null, dispersion=null),
|
||||
list(mode_name="3-round bursts", burst=3, move_delay=4, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)),
|
||||
list(mode_name="short bursts", burst=5, move_delay=4, burst_accuracy=list(0,-1,-1,-2,-2), dispersion=list(0.6, 1.0, 1.0, 1.0, 1.2))
|
||||
)
|
||||
|
||||
|
||||
fire_delay = 20
|
||||
accuracy = -4
|
||||
|
||||
//wielding information
|
||||
fire_delay_wielded = 5
|
||||
accuracy_wielded = 0
|
||||
scoped_accuracy = 2
|
||||
|
||||
action_button_name = "Wield rifle"
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/terminator/verb/scope()
|
||||
set category = "Object"
|
||||
set name = "Use Scope"
|
||||
set popup_menu = 1
|
||||
|
||||
if(wielded)
|
||||
toggle_scope(2.0)
|
||||
else
|
||||
usr << "<span class='warning'>You can't look through the scope without stabilizing the rifle!</span>"
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/terminator/can_wield()
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/terminator/ui_action_click()
|
||||
if(src in usr)
|
||||
toggle_wield(usr)
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/terminator/verb/wield_rifle()
|
||||
set name = "Wield rifle"
|
||||
set category = "Object"
|
||||
set src in usr
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/rifle/shotgun
|
||||
name = "assault shotgun"
|
||||
desc = "A experimental, semi-automatic combat shotgun, designed for boarding operations and law enforcement agencies."
|
||||
@@ -345,3 +403,4 @@
|
||||
/obj/item/weapon/gun/projectile/automatic/rifle/shotgun/update_icon()
|
||||
..()
|
||||
icon_state = (ammo_magazine)? "cshotgun" : "cshotgun-empty"
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
var/agony = 0
|
||||
var/incinerate = 0
|
||||
var/embed = 0 // whether or not the projectile can embed itself in the mob
|
||||
var/shrapnel_type //type of shrapnel the projectile leaves in its target.
|
||||
|
||||
var/hitscan = 0 // whether the projectile should be hitscan
|
||||
var/step_delay = 1 // the delay between iterations if not a hitscan projectile
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
check_armour = "bullet"
|
||||
embed = 1
|
||||
sharp = 1
|
||||
shrapnel_type = /obj/item/weapon/material/shard/shrapnel
|
||||
var/mob_passthrough_check = 0
|
||||
|
||||
muzzle_type = /obj/effect/projectile/bullet/muzzle
|
||||
@@ -296,3 +297,21 @@
|
||||
/obj/item/projectile/bullet/pistol/cap/process()
|
||||
loc = null
|
||||
qdel(src)
|
||||
|
||||
/obj/item/projectile/bullet/flechette
|
||||
name = "flechette"
|
||||
icon = 'icons/obj/terminator.dmi'
|
||||
icon_state = "flechette_bullet"
|
||||
damage = 40
|
||||
damage_type = BRUTE
|
||||
check_armour = "bullet"
|
||||
embed = 1
|
||||
sharp = 1
|
||||
penetrating = 1
|
||||
|
||||
muzzle_type = /obj/effect/projectile/pulse_bullet/muzzle
|
||||
|
||||
/obj/item/projectile/bullet/flechette/explosive
|
||||
shrapnel_type = /obj/item/weapon/material/shard/shrapnel/flechette
|
||||
penetrating = 0
|
||||
damage = 10
|
||||
Reference in New Issue
Block a user