mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 23:17:02 +01:00
reflector blobs
This commit is contained in:
+1
-1
@@ -14,7 +14,7 @@
|
||||
var/simulated = 1 //filter for actions - used by lighting overlays
|
||||
var/atom_say_verb = "says"
|
||||
var/dont_save = 0 // For atoms that are temporary by necessity - like lighting overlays
|
||||
var/flags_1 = NONE
|
||||
|
||||
|
||||
///Chemistry.
|
||||
var/container_type = NONE
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
brute_resist = 0
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
flags_1 = CHECK_RICOCHET_1
|
||||
flags_2 = CHECK_RICOCHET_1
|
||||
var/reflect_chance = 80 //80% chance to reflect
|
||||
|
||||
/obj/structure/blob/shield/reflective/handle_ricochet(obj/item/projectile/P)
|
||||
@@ -39,11 +39,13 @@
|
||||
if(abs(incidence_s) > 90 && abs(incidence_s) < 270)
|
||||
return FALSE
|
||||
var/new_angle_s = SIMPLIFY_DEGREES(face_angle + incidence_s)
|
||||
P.Angle = new_angle_s
|
||||
P.setAngle(new_angle_s)
|
||||
P.firer = src //so people who fired the lasers are not immune to them when it reflects
|
||||
visible_message("<span class='warning'>[P] reflects off [src]!</span>")
|
||||
return -1// complete projectile permutation
|
||||
else
|
||||
playsound(src, P.hitsound, 50, 1)
|
||||
visible_message("<span class='danger'>[src] is hit by \a [P]!</span>")
|
||||
take_damage(P.damage, P.damage_type)
|
||||
|
||||
/obj/structure/blob/shield/reflective/bullet_act()
|
||||
|
||||
@@ -304,6 +304,10 @@ obj/item/projectile/Crossed(atom/movable/AM) //A mob moving on a tile with a pro
|
||||
return FALSE
|
||||
|
||||
/obj/item/projectile/proc/check_ricochet_flag(atom/A)
|
||||
if(A.flags_1 & CHECK_RICOCHET_1)
|
||||
if(A.flags_2 & CHECK_RICOCHET_1)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/projectile/proc/setAngle(new_angle) //wrapper for overrides.
|
||||
Angle = new_angle
|
||||
return TRUE
|
||||
|
||||
Reference in New Issue
Block a user