Kills obj/item/projectile in favour of obj/projectile (#46692)

* Kills obj/item/projectile in favour of obj/projectile

* Resolves conflicts properly

* fixes that one map

* it lives
This commit is contained in:
nemvar
2019-10-06 19:37:24 +02:00
committed by moo
parent 85d16cf11a
commit a148cae769
204 changed files with 1014 additions and 1013 deletions
+9 -9
View File
@@ -17,8 +17,8 @@
var/static/image/southeast_corner = image('icons/effects/fields.dmi', icon_state = "projectile_dampen_southeast")
var/static/image/generic_edge = image('icons/effects/fields.dmi', icon_state = "projectile_dampen_generic")
var/obj/item/borg/projectile_dampen/projector = null
var/list/obj/item/projectile/tracked
var/list/obj/item/projectile/staging
var/list/obj/projectile/tracked
var/list/obj/projectile/staging
use_host_turf = TRUE
/datum/proximity_monitor/advanced/peaceborg_dampener/New()
@@ -33,9 +33,9 @@
if(!istype(projector))
qdel(src)
var/list/ranged = list()
for(var/obj/item/projectile/P in range(current_range, get_turf(host)))
for(var/obj/projectile/P in range(current_range, get_turf(host)))
ranged += P
for(var/obj/item/projectile/P in tracked)
for(var/obj/projectile/P in tracked)
if(!(P in ranged) || !P.loc)
release_projectile(P)
for(var/mob/living/silicon/robot/R in range(current_range, get_turf(host)))
@@ -80,20 +80,20 @@
else
return generic_edge
/datum/proximity_monitor/advanced/peaceborg_dampener/proc/capture_projectile(obj/item/projectile/P, track_projectile = TRUE)
/datum/proximity_monitor/advanced/peaceborg_dampener/proc/capture_projectile(obj/projectile/P, track_projectile = TRUE)
if(P in tracked)
return
projector.dampen_projectile(P, track_projectile)
if(track_projectile)
tracked += P
/datum/proximity_monitor/advanced/peaceborg_dampener/proc/release_projectile(obj/item/projectile/P)
/datum/proximity_monitor/advanced/peaceborg_dampener/proc/release_projectile(obj/projectile/P)
projector.restore_projectile(P)
tracked -= P
/datum/proximity_monitor/advanced/peaceborg_dampener/field_edge_uncrossed(atom/movable/AM, obj/effect/abstract/proximity_checker/advanced/field_edge/F)
if(!is_turf_in_field(get_turf(AM), src))
if(istype(AM, /obj/item/projectile))
if(istype(AM, /obj/projectile))
if(AM in tracked)
release_projectile(AM)
else
@@ -101,13 +101,13 @@
return ..()
/datum/proximity_monitor/advanced/peaceborg_dampener/field_edge_crossed(atom/movable/AM, obj/effect/abstract/proximity_checker/advanced/field_edge/F)
if(istype(AM, /obj/item/projectile) && !(AM in tracked) && staging[AM] && !is_turf_in_field(staging[AM], src))
if(istype(AM, /obj/projectile) && !(AM in tracked) && staging[AM] && !is_turf_in_field(staging[AM], src))
capture_projectile(AM)
staging -= AM
return ..()
/datum/proximity_monitor/advanced/peaceborg_dampener/field_edge_canpass(atom/movable/AM, obj/effect/abstract/proximity_checker/advanced/field_edge/F, turf/entering)
if(istype(AM, /obj/item/projectile))
if(istype(AM, /obj/projectile))
staging[AM] = get_turf(AM)
. = ..()
if(!.)
+6 -6
View File
@@ -82,7 +82,7 @@
var/frozen = TRUE
if(isliving(A))
freeze_mob(A)
else if(istype(A, /obj/item/projectile))
else if(istype(A, /obj/projectile))
freeze_projectile(A)
else if(istype(A, /obj/mecha))
freeze_mecha(A)
@@ -116,7 +116,7 @@
unfreeze_throwing(A)
if(isliving(A))
unfreeze_mob(A)
else if(istype(A, /obj/item/projectile))
else if(istype(A, /obj/projectile))
unfreeze_projectile(A)
else if(istype(A, /obj/mecha))
unfreeze_mecha(A)
@@ -127,14 +127,14 @@
A.move_resist = frozen_things[A]
frozen_things -= A
global_frozen_atoms -= A
/datum/proximity_monitor/advanced/timestop/proc/freeze_mecha(obj/mecha/M)
M.completely_disabled = TRUE
/datum/proximity_monitor/advanced/timestop/proc/unfreeze_mecha(obj/mecha/M)
M.completely_disabled = FALSE
/datum/proximity_monitor/advanced/timestop/proc/freeze_throwing(atom/movable/AM)
var/datum/thrownthing/T = AM.throwing
@@ -171,10 +171,10 @@
return ..()
/datum/proximity_monitor/advanced/timestop/proc/freeze_projectile(obj/item/projectile/P)
/datum/proximity_monitor/advanced/timestop/proc/freeze_projectile(obj/projectile/P)
P.paused = TRUE
/datum/proximity_monitor/advanced/timestop/proc/unfreeze_projectile(obj/item/projectile/P)
/datum/proximity_monitor/advanced/timestop/proc/unfreeze_projectile(obj/projectile/P)
P.paused = FALSE
/datum/proximity_monitor/advanced/timestop/proc/freeze_mob(mob/living/L)