Merge pull request #14482 from silicons/combat_v7

Combat v7 - Sprint removal, automatic block/parry, turns combat mode into a pure UI/interaction toggle with no side effects, and a truckload of other stuff.
This commit is contained in:
Lin
2021-06-27 13:04:29 -07:00
committed by GitHub
76 changed files with 854 additions and 392 deletions
+7
View File
@@ -8,6 +8,10 @@
rad_insulation = RAD_MEDIUM_INSULATION
wave_explosion_block = 10
wave_explosion_multiply = 0.75
/// How much we block yelling
var/yelling_resistance = 10
/// how much of inbound yelling to dampen
var/yelling_dampen = 0.5
/turf/closed/Initialize()
. = ..()
@@ -212,3 +216,6 @@
icon = 'icons/turf/walls.dmi'
icon_state = "ice"
canSmoothWith = list(/turf/closed/indestructible/rock/glacierrock/blue)
/turf/closed/get_yelling_resistance(power)
return yelling_resistance + (power * yelling_dampen)
+2
View File
@@ -276,6 +276,8 @@
destination_y = dest_y
destination_z = dest_z
/turf/open/space/get_yelling_resistance(power)
return INFINITY // no sound through space for crying out loud
/turf/open/space/transparent
baseturfs = /turf/open/space/transparent/openspace
+13
View File
@@ -625,3 +625,16 @@ GLOBAL_LIST_EMPTY(station_turfs)
. = ..()
if(. != BULLET_ACT_FORCE_PIERCE)
. = BULLET_ACT_TURF
/turf/proc/get_yelling_resistance(power)
. = 0
// don't bother checking fulltile, we don't need accuracy
var/obj/window = locate(/obj/structure/window) in src
if(!window)
window = locate(/obj/machinery/door/window) in src
if(window)
. += 4 // windows are minimally resistant
// if there's more than one someone fucked up as that shouldn't happen
var/obj/machinery/door/D = locate() in src
if(D?.density)
. += D.opacity? 29 : 19 // glass doors are slightly more resistant to screaming