Security weaponry and balance tweaks. (#15297)

This commit is contained in:
Matt Atlas
2023-01-23 15:05:40 +01:00
committed by GitHub
parent 7c0248aed2
commit f9d8fc6f04
13 changed files with 91 additions and 39 deletions

View File

@@ -9,9 +9,8 @@
#define ARMOR_BALLISTIC_PISTOL 30
#define ARMOR_BALLISTIC_MEDIUM 40
#define ARMOR_BALLISTIC_CARBINE 45 //Reduces polymer round damage to 15.3.
#define ARMOR_BALLISTIC_REVOLVER 50 //Reduces 357 round damage to 14.
#define ARMOR_BALLISTIC_RIFLE 55 //Used by security ballistic armour. Drops 762 down to 18.5 damage.
#define ARMOR_BALLISTIC_MAJOR 60
#define ARMOR_BALLISTIC_MAJOR 55 //Reduces 762 round damage to 18.
#define ARMOR_BALLISTIC_RIFLE 60 //Used by security ballistic armour. Drops 762 down to 11.2 damage.
#define ARMOR_BALLISTIC_AP 75
#define ARMOR_BALLISTIC_HEAVY 100

View File

@@ -7,7 +7,7 @@
suit_type = "combat hardsuit"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -48,7 +48,7 @@
suit_type = "military hardsuit"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -175,7 +175,7 @@
suit_type = "gunslinger hardsuit"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -224,7 +224,7 @@
suit_type = "strike hardsuit"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -292,7 +292,7 @@
suit_type = "elyran battlesuit"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -382,7 +382,7 @@
suit_type = "jinxiang combat suit"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,

View File

@@ -12,7 +12,7 @@
suit_type = "crimson hardsuit"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -77,7 +77,7 @@
suit_type = "rhino hardsuit"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,

View File

@@ -167,7 +167,7 @@
item_state = "plate_military"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -181,7 +181,7 @@
item_state = "plate_heavy"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -229,7 +229,7 @@
item_state = "plate_sec_heavy"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED
@@ -263,7 +263,7 @@
item_state = "helm_sec_heavy"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -278,7 +278,7 @@
item_state = "helm_military"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,

View File

@@ -72,7 +72,7 @@
item_state = "legguards_military"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -85,7 +85,7 @@
item_state = "legguards_heavy"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -102,7 +102,7 @@
item_state = "legguards_sec_heavy"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -181,7 +181,7 @@
item_state = "armguards_military"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -194,7 +194,7 @@
item_state = "armguards_heavy"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -211,7 +211,7 @@
item_state = "armguards_sec_heavy"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,
@@ -224,7 +224,7 @@
item_state = "armguards_sec_heavy"
armor = list(
melee = ARMOR_MELEE_MAJOR,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_MEDIUM,
energy = ARMOR_ENERGY_SMALL,
bomb = ARMOR_BOMB_PADDED,

View File

@@ -55,7 +55,7 @@
icon_state_broken = "armor_c_broken"
armor = list(
melee = ARMOR_MELEE_VERY_HIGH,
bullet = ARMOR_BALLISTIC_REVOLVER,
bullet = ARMOR_BALLISTIC_MAJOR,
laser = ARMOR_LASER_RIFLE,
energy = ARMOR_ENERGY_MINOR,
bomb = ARMOR_BOMB_RESISTANT,

View File

@@ -518,7 +518,7 @@
if(length(firemodes))
F = firemodes[sel_mode]
if(one_hand_fa_penalty > 2 && !wielded && F?.name == "full auto") // todo: make firemode names defines
P.accuracy -= one_hand_fa_penalty/2
P.accuracy -= one_hand_fa_penalty * 0.5
P.dispersion -= one_hand_fa_penalty * 0.5
//does the actual launching of the projectile

View File

@@ -20,7 +20,7 @@
list(mode_name="semiauto", can_autofire=0, burst=1),
list(mode_name="3-round bursts", can_autofire=0, burst=3, burst_accuracy=list(1,0,0), dispersion=list(0, 10, 15)),
list(mode_name="short bursts", can_autofire=0, burst=5, burst_accuracy=list(1,0,,-1,-1), dispersion=list(5, 10, 15, 20)),
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=1, fire_delay_wielded=1, one_hand_fa_penalty=12, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(5, 10, 15, 20, 25))
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=5, fire_delay_wielded=1, one_hand_fa_penalty=12, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(5, 10, 15, 20, 25))
)
//Submachine guns and personal defence weapons, go.
@@ -136,7 +136,7 @@
list(mode_name="semiauto", burst=1, fire_delay=10),
list(mode_name="3-round bursts", burst=3, burst_accuracy=list(1,0,0), dispersion=list(0, 5, 10)),
list(mode_name="short bursts", burst=5, burst_accuracy=list(1,0,0,-1,-1), dispersion=list(5, 5, 15)),
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=1, fire_delay_wielded=1, one_hand_fa_penalty=12, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(5, 10, 15, 20, 25)),
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=5, fire_delay_wielded=1, one_hand_fa_penalty=12, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(5, 10, 15, 20, 25)),
)
//slower to regain aim, more inaccurate if not wielding
@@ -181,7 +181,7 @@
knife_y_offset = 13
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=8),
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=1, fire_delay_wielded=1, one_hand_fa_penalty=22, burst_accuracy = list(0,-1,-1,-1,-2,-2,-2,-3), dispersion = list(5, 5, 10, 15, 20)),
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=5, fire_delay_wielded=1, one_hand_fa_penalty=22, burst_accuracy = list(0,-1,-1,-1,-2,-2,-2,-3), dispersion = list(5, 5, 10, 15, 20)),
)
fire_delay = 8
@@ -394,7 +394,7 @@
firemodes = list(
list(mode_name="short bursts", burst=5, burst_accuracy = list(1,0,0,-1,-1), dispersion = list(3, 6, 9)),
list(mode_name="long bursts", burst=8, burst_accuracy = list(1,0,0,-1,-1,-1,-2,-2), dispersion = list(8)),
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=1, fire_delay_wielded=1, one_hand_fa_penalty=12, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(5, 10, 15, 20, 25))
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=5, fire_delay_wielded=1, one_hand_fa_penalty=12, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(5, 10, 15, 20, 25))
)
var/cover_open = 0

View File

@@ -129,7 +129,7 @@
firemodes = list(
list(mode_name="short bursts", can_autofire=0, burst=6, move_delay=8, burst_accuracy = list(0,-1,-1,-2,-2), dispersion = list(3, 6, 9)),
list(mode_name="long bursts", can_autofire=0, burst=12, move_delay=9, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(8)),
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=1, fire_delay_wielded=1, one_hand_fa_penalty=12, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(5, 10, 15, 20, 25))
list(mode_name="full auto", can_autofire=1, burst=1, fire_delay=5, fire_delay_wielded=1, one_hand_fa_penalty=12, burst_accuracy = list(0,-1,-1,-2,-2,-2,-3,-3), dispersion = list(5, 10, 15, 20, 25))
)

View File

@@ -45,7 +45,7 @@
/obj/item/projectile/beam/midlaser
damage = 30
armor_penetration = 15
armor_penetration = 25
/obj/item/projectile/beam/midlaser/skrell
armor_penetration = 0
@@ -56,11 +56,11 @@
/obj/item/projectile/beam/noctiluca
damage = 20
armor_penetration = 28
armor_penetration = 40
/obj/item/projectile/beam/noctiluca/armor_piercing
name = "concentrated laser"
damage = 15
damage = 20
armor_penetration = 50
muzzle_type = /obj/effect/projectile/muzzle/laser/scc
@@ -88,7 +88,7 @@
name = "xray beam"
icon_state = "xray"
damage = 15
armor_penetration = 35
armor_penetration = 50
muzzle_type = /obj/effect/projectile/muzzle/xray
tracer_type = /obj/effect/projectile/tracer/xray

View File

@@ -151,6 +151,7 @@
/obj/item/projectile/bullet/shotgun
name = "slug"
damage = 55
armor_penetration = 5
/obj/item/projectile/bullet/shotgun/beanbag //because beanbags are not bullets
name = "beanbag"
@@ -213,7 +214,7 @@
/obj/item/projectile/bullet/rifle/a556
damage = 30
armor_penetration = 26
armor_penetration = 28
penetrating = FALSE
/obj/item/projectile/bullet/rifle/a556/ap
@@ -222,8 +223,8 @@
penetrating = TRUE
/obj/item/projectile/bullet/rifle/a556/polymer
damage = 24
armor_penetration = 32
damage = 25
armor_penetration = 34
penetrating = FALSE
/obj/item/projectile/bullet/rifle/a145
@@ -431,7 +432,8 @@
name = "anti-tank warhead"
icon_state = "missile"
damage = 30
anti_materiel_potential = 3
armor_penetration = 30
anti_materiel_potential = 4
embed = FALSE
penetrating = FALSE
armor_penetration = 10
@@ -444,6 +446,8 @@
/obj/item/projectile/bullet/recoilless_rifle/peac
name = "anti-tank missile"
icon_state = "peac"
damage = 45
damage = 25
armor_penetration = 35
anti_materiel_potential = 6
penetrating = TRUE
heavy_impact_range = -1

View File

@@ -0,0 +1,46 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
# balance
# admin
# backend
# security
# refactor
#################################
# Your name.
author: MattAtlas
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- balance: "Heavy armour and ballistic armour bullet resist have been buffed by 5 points."
- balance: "Security now gets a second burst rifle."
- balance: "The PEAC now actually has armour penetration, meaning it will actually do damage. It is not very good against organic targets, however."
- balance: "Increased PEAC anti-materiel coefficient to 6."
- balance: "Full auto now globally has a 0.5s fire delay, instead of a 0.1s delay."
- balance: "Adjusted most other calibers' AP to compensate for armour buffs."

View File

@@ -11044,6 +11044,7 @@
dir = 4
},
/obj/effect/floor_decal/industrial/outline/security,
/obj/item/gun/projectile/automatic/rifle/jingya,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/security/armoury)
"fCd" = (
@@ -30537,6 +30538,8 @@
dir = 4
},
/obj/effect/floor_decal/industrial/outline/security,
/obj/item/ammo_magazine/a556/carbine/polymer,
/obj/item/ammo_magazine/a556/carbine/polymer,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/security/armoury)
"pdv" = (