mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-21 15:42:35 +00:00
Reworks armor damage reduction + armor components + more goodies. (#11106)
Ports Baystation12/Baystation12#27254 and Baystation12/Baystation12#24787 and everything inbetween I guess. Note that this PR makes guns and armor overall stronger. Lasers also once again do organ damage.
This commit is contained in:
@@ -48,7 +48,7 @@
|
||||
fire_delay = 5
|
||||
burst_delay = 5
|
||||
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
projectile_type = /obj/item/projectile/beam/midlaser
|
||||
secondary_projectile_type = null
|
||||
secondary_fire_sound = null
|
||||
can_switch_modes = 0
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
new hit_effect(target.loc)
|
||||
|
||||
L.apply_effects(stun, weaken, paralyze, 0, stutter, eyeblur, drowsy, agony, incinerate, blocked)
|
||||
L.apply_effect(irradiate, IRRADIATE, L.getarmor(null, "rad")) //radiation protection is handled separately from other armor types.
|
||||
L.apply_damage(irradiate, IRRADIATE, damage_flags = DAM_DISPERSED) //radiation protection is handled separately from other armor types.
|
||||
return 1
|
||||
|
||||
//called when the projectile stops flying because it collided with something
|
||||
@@ -390,6 +390,9 @@
|
||||
. = ..()
|
||||
permutated = list()
|
||||
|
||||
/obj/item/projectile/damage_flags()
|
||||
return damage_flags
|
||||
|
||||
/obj/item/projectile/proc/pixel_move(moves, trajectory_multiplier = 1, hitscanning = FALSE)
|
||||
if(!loc || !trajectory)
|
||||
if(!QDELETED(src))
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
eyeblur = 2
|
||||
|
||||
/obj/item/projectile/beam/pistol
|
||||
damage = 35
|
||||
damage = 25
|
||||
armor_penetration = 10
|
||||
|
||||
/obj/item/projectile/beam/pistol/hegemony
|
||||
icon = 'icons/obj/guns/hegemony_pistol.dmi'
|
||||
@@ -41,13 +42,13 @@
|
||||
|
||||
/obj/item/projectile/beam/midlaser
|
||||
damage = 35
|
||||
armor_penetration = 10
|
||||
armor_penetration = 15
|
||||
|
||||
/obj/item/projectile/beam/heavylaser
|
||||
name = "heavy laser"
|
||||
icon_state = "heavylaser"
|
||||
damage = 60
|
||||
armor_penetration = 30
|
||||
damage = 45
|
||||
armor_penetration = 25
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/heavy_laser
|
||||
tracer_type = /obj/effect/projectile/tracer/heavy_laser
|
||||
@@ -56,8 +57,8 @@
|
||||
/obj/item/projectile/beam/xray
|
||||
name = "xray beam"
|
||||
icon_state = "xray"
|
||||
damage = 25
|
||||
armor_penetration = 50
|
||||
damage = 30
|
||||
armor_penetration = 30
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
|
||||
@@ -121,17 +121,18 @@
|
||||
/* short-casing projectiles, like the kind used in pistols or SMGs */
|
||||
|
||||
/obj/item/projectile/bullet/pistol
|
||||
damage = 20
|
||||
|
||||
/obj/item/projectile/bullet/pistol/medium
|
||||
damage = 25
|
||||
|
||||
/obj/item/projectile/bullet/pistol/medium
|
||||
damage = 35
|
||||
|
||||
/obj/item/projectile/bullet/pistol/strong
|
||||
damage = 30
|
||||
armor_penetration = 15
|
||||
damage = 45
|
||||
armor_penetration = 20
|
||||
|
||||
/obj/item/projectile/bullet/pistol/revolver
|
||||
damage = 30
|
||||
damage = 40
|
||||
armor_penetration = 10
|
||||
|
||||
/obj/item/projectile/bullet/pistol/rubber //"rubber" bullets
|
||||
name = "rubber bullet"
|
||||
@@ -144,7 +145,7 @@
|
||||
|
||||
/obj/item/projectile/bullet/shotgun
|
||||
name = "slug"
|
||||
damage = 60
|
||||
damage = 65
|
||||
|
||||
/obj/item/projectile/bullet/shotgun/beanbag //because beanbags are not bullets
|
||||
name = "beanbag"
|
||||
@@ -183,7 +184,7 @@
|
||||
//Overall less damage than slugs in exchange for more damage at very close range and more embedding
|
||||
/obj/item/projectile/bullet/pellet/shotgun
|
||||
name = "shrapnel"
|
||||
damage = 13
|
||||
damage = 30
|
||||
pellets = 6
|
||||
range_step = 1
|
||||
spread_step = 10
|
||||
@@ -196,25 +197,28 @@
|
||||
/* "Rifle" rounds */
|
||||
|
||||
/obj/item/projectile/bullet/rifle
|
||||
penetrating = 1
|
||||
armor_penetration = 20
|
||||
damage = 40
|
||||
armor_penetration = 15
|
||||
penetrating = TRUE
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762
|
||||
damage = 35
|
||||
damage = 45
|
||||
armor_penetration = 20
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a556
|
||||
damage = 30
|
||||
damage = 45
|
||||
armor_penetration = 15
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a556/ap
|
||||
damage = 30
|
||||
armor_penetration = 25
|
||||
damage = 35
|
||||
armor_penetration = 40
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a145
|
||||
damage = 80
|
||||
stun = 3
|
||||
weaken = 3
|
||||
penetrating = 5
|
||||
armor_penetration = 80
|
||||
armor_penetration = 70
|
||||
hitscan = 1 //so the PTR isn't useless as a sniper weapon
|
||||
maiming = 1
|
||||
maim_rate = 3
|
||||
@@ -227,10 +231,10 @@
|
||||
|
||||
/obj/item/projectile/bullet/rifle/slugger
|
||||
name = "slugger round"
|
||||
damage = 80
|
||||
damage = 60
|
||||
weaken = 3
|
||||
penetrating = 5
|
||||
armor_penetration = 15
|
||||
armor_penetration = 10
|
||||
maiming = TRUE
|
||||
maim_rate = 3
|
||||
maim_type = DROPLIMB_BLUNT
|
||||
@@ -279,27 +283,6 @@
|
||||
..()
|
||||
|
||||
/* Miscellaneous */
|
||||
|
||||
/obj/item/projectile/bullet/suffocationbullet//How does this even work?
|
||||
name = "co bullet"
|
||||
damage = 20
|
||||
damage_type = OXY
|
||||
|
||||
/obj/item/projectile/bullet/cyanideround
|
||||
name = "poison bullet"
|
||||
damage = 40
|
||||
damage_type = TOX
|
||||
|
||||
/obj/item/projectile/bullet/burstbullet
|
||||
name = "exploding bullet"
|
||||
damage = 20
|
||||
embed = 0
|
||||
edge = 1
|
||||
|
||||
/obj/item/projectile/bullet/burstbullet/on_impact(var/atom/A)
|
||||
explosion(A, -1, 0, 2)
|
||||
..()
|
||||
|
||||
/obj/item/projectile/bullet/blank
|
||||
invisibility = 101
|
||||
damage = 1
|
||||
@@ -354,12 +337,13 @@
|
||||
/obj/item/projectile/bullet/gauss
|
||||
name = "slug"
|
||||
icon_state = "heavygauss"
|
||||
damage = 45
|
||||
damage = 50
|
||||
armor_penetration = 20
|
||||
muzzle_type = /obj/effect/projectile/muzzle/gauss
|
||||
embed = 0
|
||||
|
||||
/obj/item/projectile/bullet/gauss/highex
|
||||
name ="high-ex shell"
|
||||
name = "high-ex shell"
|
||||
damage = 10
|
||||
|
||||
/obj/item/projectile/bullet/gauss/highex/on_impact(var/atom/A)
|
||||
@@ -383,7 +367,7 @@
|
||||
armor_penetration = 25
|
||||
|
||||
/obj/item/projectile/bullet/cannonball/explosive
|
||||
damage = 30
|
||||
damage = 50
|
||||
penetrating = 0
|
||||
armor_penetration = 5
|
||||
|
||||
|
||||
@@ -146,13 +146,11 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
|
||||
if(prob(15))
|
||||
H.apply_effect((rand(30,80)),IRRADIATE,blocked = H.getarmor(null, "rad"))
|
||||
H.apply_damage(rand(30,80), IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
M.Weaken(5)
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("<span class='warning'>[M] writhes in pain as [M.get_pronoun("his")] vacuoles boil.</span>", 3, "<span class='warning'>You hear the crunching of leaves.</span>", 2)
|
||||
if(prob(35))
|
||||
// for (var/mob/V in viewers(src)) //Public messages commented out to prevent possible metaish genetics experimentation and stuff. - Cheridan
|
||||
// V.show_message("\red [M] is mutated by the radiation beam.", 3, "\red You hear the snapping of twigs.", 2)
|
||||
if(prob(80))
|
||||
randmutb(M)
|
||||
domutcheck(M,null)
|
||||
@@ -162,11 +160,7 @@
|
||||
else
|
||||
M.adjustFireLoss(rand(5,15))
|
||||
M.show_message("<span class='warning'>The radiation beam singes you!</span>")
|
||||
// for (var/mob/V in viewers(src))
|
||||
// V.show_message("\red [M] is singed by the radiation beam.", 3, "\red You hear the crackle of burning leaves.", 2)
|
||||
else if(istype(target, /mob/living/carbon/))
|
||||
// for (var/mob/V in viewers(src))
|
||||
// V.show_message("The radiation beam dissipates harmlessly through [M]", 3)
|
||||
else if(iscarbon(target))
|
||||
M.show_message("<span class='notice'>The radiation beam dissipates harmlessly through your body.</span>")
|
||||
else
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user