mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 15:37:36 +01:00
Refactors projectile ricochets (#25764)
* same taste, twice the speed * pulls proc/handle_ricochet() to the atom level. adds var/flags_ricochet and related defines. * space indentation sneaks its way in yet again --------- Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
explosion_block = 1
|
||||
|
||||
flags_2 = RAD_PROTECT_CONTENTS_2 | RAD_NO_CONTAMINATE_2
|
||||
flags_ricochet = RICOCHET_HARD
|
||||
rad_insulation = RAD_MEDIUM_INSULATION
|
||||
|
||||
thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT
|
||||
@@ -154,17 +155,6 @@
|
||||
else
|
||||
update_icon()
|
||||
|
||||
/turf/simulated/wall/handle_ricochet(obj/item/projectile/P) //A huge pile of shitcode!
|
||||
var/turf/p_turf = get_turf(P)
|
||||
var/face_direction = get_dir(src, p_turf)
|
||||
var/face_angle = dir2angle(face_direction)
|
||||
var/incidence_s = GET_ANGLE_OF_INCIDENCE(face_angle, (P.Angle + 180))
|
||||
if(abs(incidence_s) > 90 && abs(incidence_s) < 270)
|
||||
return FALSE
|
||||
var/new_angle_s = SIMPLIFY_DEGREES(face_angle + incidence_s)
|
||||
P.set_angle(new_angle_s)
|
||||
return TRUE
|
||||
|
||||
/turf/simulated/wall/dismantle_wall(devastated = FALSE, explode = FALSE)
|
||||
if(devastated)
|
||||
devastate_wall()
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
icon_state = "plastinum_wall-0"
|
||||
base_icon_state = "plastinum_wall"
|
||||
explosion_block = 3
|
||||
flags_2 = CHECK_RICOCHET_2
|
||||
flags_ricochet = RICOCHET_SHINY | RICOCHET_HARD
|
||||
sheet_type = /obj/item/stack/sheet/mineral/titanium
|
||||
smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS
|
||||
smoothing_groups = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE)
|
||||
|
||||
Reference in New Issue
Block a user