More prepwork for privateers (PR 2 of 6-ish maybe) (#5620)

* all the stuff

* Update energy.dm
This commit is contained in:
KathrinBailey
2021-05-13 14:41:02 +12:00
committed by GitHub
parent d415aa455e
commit b8a60766c6
15 changed files with 351 additions and 44 deletions
@@ -143,9 +143,9 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items
/obj/item/ammo_casing/a762 = 25,
/obj/item/ammo_casing/c10mm = 25,
/obj/item/ammo_casing/c32 = 50,
/obj/item/ammo_casing/c32_ap = 10,
/obj/item/ammo_casing/c32/ap = 10,
/obj/item/ammo_casing/c32_incendiary = 10,
/obj/item/ammo_casing/c32_rubber = 50,
/obj/item/ammo_casing/c32/rubber = 50,
/obj/item/ammo_casing/c38 = 100,
/obj/item/ammo_casing/c38/dumdum = 20,
/obj/item/ammo_casing/c38/hotshot = 20,
@@ -170,8 +170,8 @@
new /obj/item/gun/ballistic/automatic/cfa_wildcat(src)
new /obj/item/gun/ballistic/automatic/cfa_wildcat(src)
for(var/i in 1 to 2)
new /obj/item/ammo_box/magazine/smg32(src)
new /obj/item/ammo_box/magazine/smg32/rubber(src)
new /obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat(src)
new /obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat(src)
new /obj/item/gun/ballistic/automatic/assault_rifle/akm(src)
for(var/i in 1 to 2)
new /obj/item/ammo_box/magazine/akm(src)
@@ -4,46 +4,45 @@
// Magazines
/obj/item/ammo_box/magazine/smg32
name = "smg magazine (.32)"
desc = "A .32 magazine with a 30-rnd capacity. An economically friendly but low damage calibre, even low-end autolathes can print .32 bullets."
/obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat
name = "CFA Wildcat Magazine (.32)"
desc = "Magazines taking .32 ammunition; it fits in the CFA Wildcat. Alt+click to reskin it."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/ammo.dmi'
icon_state = "smg32"
possible_types = list(AMMO_TYPE_LETHAL, AMMO_TYPE_AP, AMMO_TYPE_RUBBER, AMMO_TYPE_INCENDIARY)
ammo_type = /obj/item/ammo_casing/c32
caliber = "c32acp"
max_ammo = 30
multiple_sprites = 2
multiple_sprites = AMMO_BOX_FULL_EMPTY_BASIC
/obj/item/ammo_box/magazine/smg32/rubber
name = "smg magazine (.32 rubber)"
icon_state = "smg32"
ammo_type = /obj/item/ammo_casing/c32_rubber
/obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat/ap
ammo_type = /obj/item/ammo_casing/c32/ap
round_type = AMMO_TYPE_AP
/obj/item/ammo_box/magazine/smg32/ap
name = "smg magazine (.32 armor-piercing)"
icon_state = "smg32"
ammo_type = /obj/item/ammo_casing/c32_ap
/obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat/rubber
ammo_type = /obj/item/ammo_casing/c32/rubber
round_type = AMMO_TYPE_RUBBER
/obj/item/ammo_box/magazine/smg32/incendiary
name = "smg magazine (.32 incendiary)"
icon_state = "smg32"
/obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat/incendiary
ammo_type = /obj/item/ammo_casing/c32_incendiary
round_type = AMMO_TYPE_INCENDIARY
/obj/item/ammo_box/magazine/smg32/empty
/obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat/empty
start_empty = 1
///////////
// SMG //
///////////
///////////////
// Wildcat //
///////////////
// 3rnd burst .32 calibre, 15 damage.
// Fills the role of a low damage, high magazine capacity secondary.
/obj/item/gun/ballistic/automatic/cfa_wildcat
name = "\improper CFA Wildcat"
desc = "An old SMG, this one is chambered in .32, a very common and dirt-cheap cartridge."
desc = "An old SMG, this one is chambered in .32, a very common and dirt-cheap cartridge. It has <b><span style='color:purple'>Cantalan Federal Arms</span></b> etched above the magazine well."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile40x32.dmi'
icon_state = "mp5"
inhand_icon_state = "arg"
selector_switch_icon = TRUE
mag_type = /obj/item/ammo_box/magazine/smg32
mag_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat
can_suppress = FALSE
burst_size = 3
fire_delay = 1.25
@@ -57,3 +56,55 @@
/obj/item/gun/ballistic/automatic/cfa_wildcat/no_mag
spawnwithmagazine = FALSE
///////////////
// MP7 //
///////////////
/obj/item/gun/ballistic/automatic/cfa_lynx
name = "\improper CFA Lynx"
desc = "A carbine with a high magazine capacity. Chambered in 4.6x30mm. It has <b><span style='color:purple'>Cantalan Federal Arms</span></b> etched above the magazine well."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile.dmi'
icon_state = "mp7"
inhand_icon_state = "arg"
selector_switch_icon = FALSE
mag_type = /obj/item/ammo_box/magazine/multi_sprite/cfa_lynx
can_suppress = FALSE
burst_size = 3
fire_delay = 0.5
spread = 2
mag_display = TRUE
empty_indicator = FALSE
fire_sound = 'sound/weapons/gun/smg/shot_alt.ogg'
weapon_weight = WEAPON_MEDIUM
has_gun_safety = FALSE
w_class = WEIGHT_CLASS_NORMAL
/obj/item/gun/ballistic/automatic/cfa_lynx/no_mag
spawnwithmagazine = FALSE
/obj/item/ammo_box/magazine/multi_sprite/cfa_lynx
name = "CFA Lynx Magazine (4.6x30mm)"
desc = "A magazine for the CFA Lynx. It has a small inscription on the base, '4.6x30mm'. Alt+click to reskin it."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/ammo.dmi'
icon_state = "lynx"
possible_types = list(AMMO_TYPE_LETHAL, AMMO_TYPE_AP, AMMO_TYPE_RUBBER, AMMO_TYPE_INCENDIARY)
ammo_type = /obj/item/ammo_casing/c46x30mm
caliber = CALIBER_46X30MM
max_ammo = 40
multiple_sprites = AMMO_BOX_FULL_EMPTY_BASIC
/obj/item/ammo_box/magazine/multi_sprite/cfa_lynx/ap
ammo_type = /obj/item/ammo_casing/c46x30mm/ap
round_type = AMMO_TYPE_AP
/obj/item/ammo_box/magazine/multi_sprite/cfa_lynx/rubber
ammo_type = /obj/item/ammo_casing/c46x30mm/rubber
round_type = AMMO_TYPE_RUBBER
/obj/item/ammo_box/magazine/multi_sprite/cfa_lynx/incendiary
ammo_type = /obj/item/ammo_casing/c46x30mm/inc
round_type = AMMO_TYPE_INCENDIARY
/obj/item/ammo_box/magazine/multi_sprite/cfa_lynx/empty
start_empty = TRUE
@@ -40,7 +40,7 @@
/obj/item/ammo_box/magazine/multi_sprite/cfa_snub
name = "CFA Snub Magazine (4.6x30mm)"
desc = "An advanced magazine with smart type displays. Alt+click to reskin it."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/ammo.dmi'
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/ammo.dmi'
icon_state = "m46x30"
possible_types = list(AMMO_TYPE_LETHAL, AMMO_TYPE_AP, AMMO_TYPE_RUBBER, AMMO_TYPE_INCENDIARY)
ammo_type = /obj/item/ammo_casing/c46x30mm
@@ -66,7 +66,7 @@
/obj/item/ammo_box/magazine/multi_sprite/cfa_ruby
name = "CFA Ruby Magazine (10mm Magnum)"
desc = "An advanced magazine with smart type displays. Alt+click to reskin it."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/ammo.dmi'
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/ammo.dmi'
icon_state = "m10mm"
possible_types = list(AMMO_TYPE_LETHAL, AMMO_TYPE_AP, AMMO_TYPE_RUBBER, AMMO_TYPE_HOLLOWPOINT, AMMO_TYPE_INCENDIARY)
ammo_type = /obj/item/ammo_casing/c10mm
@@ -0,0 +1,229 @@
//////////////////////
// CFA Defender //
//////////////////////
// A mini disabler with 12 shot capacity in comparison to the normal disabler's 20.
/obj/item/gun/energy/disabler/cfa_disabler
name = "CFA Responder"
desc = "A pocket-sized self-defense weapon popular with law enforcement due to its safe non-lethal payload that physically exhausts organic targets and cheap pricetag. The size makes it popular with smaller species, however, gives the obvious drawback of a smaller battery. It has <b><span style='color:purple'>Cantalan Federal Arms</span></b> eteched into the grip."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile.dmi'
icon_state = "cfa-disabler"
inhand_icon_state = null
ammo_type = list(/obj/item/ammo_casing/energy/disabler)
ammo_x_offset = 2
w_class = WEIGHT_CLASS_SMALL
cell_type = /obj/item/stock_parts/cell/mini_egun
ammo_x_offset = 2
charge_sections = 3
can_flashlight = FALSE // Can't attach or detach the flashlight, and override it's icon update
gunlight_state = "cfa-disabler-light"
has_gun_safety = FALSE
/obj/item/gun/energy/disabler/cfa_disabler/Initialize()
set_gun_light(new /obj/item/flashlight/seclite(src))
return ..()
//////////////////////
// CFA Phalanx //
//////////////////////
// Similar to the HoS's laser. Fires a bouncing non-lethal, lethal and knockdown projectile.
/obj/item/gun/energy/e_gun/cfa_phalanx
name = "\improper Mk.II Phalanx Plasma Carbine"
desc = "Fires a disabling and lethal bouncing projectile, as well as a special muscle-seizing projectile that knocks targets down. It has <b><span style='color:purple'>Cantalan Federal Arms</span></b> etched into the grip."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile.dmi'
icon_state = "phalanx"
w_class = WEIGHT_CLASS_NORMAL
force = 10
ammo_type = list(/obj/item/ammo_casing/energy/disabler/bounce, /obj/item/ammo_casing/energy/laser/bounce, /obj/item/ammo_casing/energy/electrode/knockdown)
ammo_x_offset = 1
charge_sections = 5
has_gun_safety = FALSE
cell_type = /obj/item/stock_parts/cell/hos_gun
//////////////////////
// CFA Paladin //
//////////////////////
// Identical to a heavy laser.
/obj/item/gun/energy/laser/cfa_paladin
name = "\improper Mk.IV Paladin Plasma Carbine"
desc = "Essentially a handheld laser cannon. This is solely for killing, and it's dual-laser system reflects that. It has <b><span style='color:purple'>Cantalan Federal Arms</span></b> etched into the grip."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/guns/projectile.dmi'
icon_state = "paladin"
force = 10
ammo_type = list(/obj/item/ammo_casing/energy/laser/double)
charge_sections = 5
has_gun_safety = FALSE
//////////////////////
// Bounce Disabler //
//////////////////////
// It's a disabler that will always ricochet.
/obj/item/ammo_casing/energy/disabler/bounce
projectile_type = /obj/projectile/beam/disabler/bounce
select_name = "disable"
e_cost = 60
fire_sound = 'sound/weapons/taser2.ogg'
harmful = FALSE
/obj/effect/projectile/tracer/disabler/bounce
name = "disabler"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/projectiles.dmi'
icon_state = "bouncebeam"
/obj/projectile/beam/disabler/bounce
name = "disabler arc"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/projectiles.dmi'
icon_state = "bouncebeam"
damage = 30
damage_type = STAMINA
flag = ENERGY
eyeblur = 1
tracer_type = /obj/effect/projectile/tracer/disabler/bounce
light_range = 5
light_power = 0.75
speed = 1.4
ricochets_max = 6
ricochet_incidence_leeway = 170
ricochet_chance = 130
ricochet_decay_damage = 0.9
/obj/projectile/beam/disabler/bounce/check_ricochet_flag(atom/A)
return TRUE
// Allows the projectile to reflect on walls like how bullets ricochet.
//////////////////////
// Bounce Laser //
//////////////////////
// It's a laser that will always ricochet.
/obj/item/ammo_casing/energy/laser/bounce
projectile_type = /obj/projectile/beam/laser/bounce
select_name = "lethal"
e_cost = 100
/obj/projectile/beam/laser/bounce
name = "energy arc"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/projectiles.dmi'
icon_state = "bouncebeam_red"
damage = 20
damage_type = BURN
flag = LASER
light_range = 5
light_power = 0.75
speed = 1.4
ricochets_max = 6
ricochet_incidence_leeway = 170
ricochet_chance = 130
ricochet_decay_damage = 0.9
/obj/projectile/beam/laser/bounce/check_ricochet_flag(atom/A)
return TRUE
// Allows the projectile to reflect on walls like how bullets ricochet.
//////////////////////
// Knockdown Bolt //
//////////////////////
// A taser that had the same stamina impact as a disabler, but a five-second knockdown and taser hitter effects.
/obj/item/ammo_casing/energy/electrode/knockdown
projectile_type = /obj/projectile/energy/electrode/knockdown
select_name = "knockdown"
fire_sound = 'sound/weapons/taser.ogg'
e_cost = 200
harmful = FALSE
/obj/projectile/energy/electrode/knockdown
name = "electrobolt"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/projectiles.dmi'
icon_state = "electro_bolt"
knockdown = 50
stamina = 30
range = 6
//////////////////////
// Single Laser //
//////////////////////
// Has an unique sprite, it's a low-powered laser for rapid fire. Pea-shooter tier.
/obj/item/ammo_casing/energy/laser/single
projectile_type = /obj/projectile/beam/laser/single
e_cost = 50
select_name = "lethal"
/obj/projectile/beam/laser/single
name = "laser bolt"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/projectiles.dmi'
icon_state = "single_laser"
damage = 15
eyeblur = 1
light_range = 5
light_power = 0.75
speed = 0.5
armour_penetration = 10
//////////////////////
// Double Laser //
//////////////////////
// Visually, this fires two lasers. In code, it's just one. It's fast and great for turrets.
/obj/item/ammo_casing/energy/laser/double
projectile_type = /obj/projectile/beam/laser/double
e_cost = 150
select_name = "lethal"
fire_sound = 'sound/weapons/lasercannonfire.ogg'
/obj/projectile/beam/laser/double
name = "laser bolt"
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/projectiles.dmi'
icon_state = "double_laser"
damage = 40
eyeblur = 1
light_range = 5
light_power = 0.75
speed = 0.5
armour_penetration = 10
//////////////////////
// Energy Bullets //
//////////////////////
// Ballistic gunplay but it allows us to target a different part of the armour block.
// Also allows the benefits of lasers (blobs strains, xenos) over bullets to be used with ballistic gunplay.
/obj/item/ammo_casing/caseless/laser
name = "Type I Plasma Projectile"
desc = "A chemical mixture that once triggered, creates a deadly projectile, melting it's own casing in the process."
icon = 'modular_skyrat/modules/modular_weapons/icons/obj/ammo.dmi'
icon_state = "plasma_shell"
worn_icon_state = "shell"
caliber = "Beam Shell"
custom_materials = list(/datum/material/iron=4000,/datum/material/plasma=250)
projectile_type = /obj/projectile/beam/laser/single
/obj/item/ammo_casing/caseless/laser/double
name = "Type II Plasma Projectile"
desc = "A chemical mixture that once triggered, creates a deadly projectile, melting it's own casing in the process."
icon_state = "plasma_shell2"
worn_icon_state = "shell"
caliber = "Beam Shell"
custom_materials = list(/datum/material/iron=4000,/datum/material/plasma=500)
projectile_type = /obj/projectile/beam/laser/double
/obj/item/ammo_casing/caseless/laser/bounce
name = "Type III Reflective Projectile (Lethal)"
desc = "A chemical mixture that once triggered, creates a deadly bouncing projectile, melting it's own casing in the process."
icon_state = "bounce_shell"
worn_icon_state = "shell"
caliber = "Beam Shell"
custom_materials = list(/datum/material/iron=4000,/datum/material/plasma=250)
projectile_type = /obj/projectile/beam/laser/bounce
/obj/item/ammo_casing/caseless/laser/bounce/disabler
name = "Type III Reflective Projectile (Disabler)"
desc = "A chemical mixture that once triggered, creates bouncing disabler projectile, melting it's own casing in the process."
icon_state = "disabler_shell"
projectile_type = /obj/projectile/beam/disabler/bounce
@@ -14,31 +14,31 @@
/obj/projectile/bullet/c32
name = ".32 bullet"
damage = 15
wound_bonus = -50
wound_bonus = 0
/obj/item/ammo_casing/c32_rubber
/obj/item/ammo_casing/c32/rubber
name = ".32 rubber bullet casing"
desc = "A .32 rubber bullet casing."
caliber = "c32acp"
projectile_type = /obj/projectile/bullet/c32_rubber
projectile_type = /obj/projectile/bullet/c32/rubber
/obj/projectile/bullet/c32_rubber
/obj/projectile/bullet/c32/rubber
name = ".32 rubber bullet"
damage = 5
stamina = 20
wound_bonus = -75
/obj/item/ammo_casing/c32_ap
/obj/item/ammo_casing/c32/ap
name = ".32 armor-piercing bullet"
desc = "A .32 armor-piercing bullet casing."
caliber = "c32acp"
projectile_type = /obj/projectile/bullet/c32_ap
projectile_type = /obj/projectile/bullet/c32/ap
/obj/projectile/bullet/c32_ap
/obj/projectile/bullet/c32/ap
name = ".32 armor-piercing bullet"
damage = 10
damage = 15
armour_penetration = 40
wound_bonus = -10
wound_bonus = -75
/obj/item/ammo_casing/c32_incendiary
name = ".32 incendiary bullet"
@@ -174,3 +174,29 @@
shrapnel_type = null
sharpness = NONE
embedding = null
////// 7.62 //////
////////////////////////
///// 5.56x45mm /////
// Very good at piercing armour at short range, not as good at going through armour at over 100m. But this is SS13...
/// The 5.56 you see pretty much everyone under NATO use.
#define CALIBER_A556x45 "a556x45"
/obj/item/ammo_casing/a556x45
name = "5.56x45mm bullet casing"
desc = "A 5.56mm rubber bullet casing."
caliber = CALIBER_A556x45
projectile_type = /obj/projectile/bullet/a556x45
/obj/projectile/bullet/a556x45
name = "5.56x45mm bullet"
damage = 50
armour_penetration = 20
stamina = 10
speed = 0.2
wound_bonus = 20
bare_wound_bonus = 10
///// 5.56x45mm /////
////////////////////////
////// 7.62 //////
@@ -16,20 +16,20 @@
build_path = /obj/item/ammo_casing/c32
category = list("hacked", "Security")
/datum/design/c32_rubber
/datum/design/c32/rubber
name = ".32 Rubber Bullet"
id = "c32_rubber"
id = "c32/rubber"
build_type = AUTOLATHE
materials = list(/datum/material/iron = 1000)
build_path = /obj/item/ammo_casing/c32_rubber
build_path = /obj/item/ammo_casing/c32/rubber
category = list("initial", "Security")
/datum/design/c32_ap
/datum/design/c32/ap
name = ".32 Armor-Piercing Bullet"
id = "c32_ap"
id = "c32/ap"
build_type = AUTOLATHE
materials = list(/datum/material/iron = 2000)
build_path = /obj/item/ammo_casing/c32_ap
build_path = /obj/item/ammo_casing/c32/ap
category = list("hacked", "Security")
/datum/design/c32_incendiary
@@ -45,7 +45,7 @@
id = "smg32acp"
build_type = AUTOLATHE
materials = list(/datum/material/iron = 3000)
build_path = /obj/item/ammo_box/magazine/smg32/empty
build_path = /obj/item/ammo_box/magazine/multi_sprite/cfa_wildcat/empty
category = list("hacked", "Security")
/datum/design/a762
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 960 B

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+1
View File
@@ -4173,6 +4173,7 @@
#include "modular_skyrat\modules\modular_weapons\code\modules\projectiles\guns\ballistic\pistol.dm"
#include "modular_skyrat\modules\modular_weapons\code\modules\projectiles\guns\ballistic\revolver.dm"
#include "modular_skyrat\modules\modular_weapons\code\modules\projectiles\guns\ballistic\rifle.dm"
#include "modular_skyrat\modules\modular_weapons\code\modules\projectiles\guns\energy\energy.dm"
#include "modular_skyrat\modules\modular_weapons\code\modules\projectiles\projectile\bullets\modular_projectiles.dm"
#include "modular_skyrat\modules\modular_weapons\code\modules\research\designs\autolathe_designs.dm"
#include "modular_skyrat\modules\morenarcotics\chemistry\reagents\cocaine.dm"