[MIRROR] Fixes cyborg projectile dampner runtime [MDB IGNORE] (#17288)

* Fixes cyborg projectile dampner runtime (#70888)

- Adds some missing `SIGNAL_HANDLERS` to projectile dampeners
- Fixes the cyborg projectile dampener having incorrect arguments

* Fixes cyborg projectile dampner runtime

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
This commit is contained in:
SkyratBot
2022-11-01 00:33:19 +00:00
committed by GitHub
co-authored by MrMelbert
parent 35bd5dbf51
commit e511b28c2a
2 changed files with 11 additions and 3 deletions
+7 -3
View File
@@ -105,7 +105,7 @@
QDEL_NULL(dampening_field)
visible_message(span_warning("\The [src] shuts off!"))
for(var/projectile in tracked)
restore_projectile(projectile)
restore_projectile(projectile = projectile)
active = FALSE
var/mob/living/silicon/robot/owner = get_host()
@@ -160,13 +160,17 @@
host.cell.use(energy_recharge * delta_time * energy_recharge_cyborg_drain_coefficient)
energy += energy_recharge * delta_time
/obj/item/borg/projectile_dampen/proc/dampen_projectile(obj/projectile/projectile)
/obj/item/borg/projectile_dampen/proc/dampen_projectile(datum/source, obj/projectile/projectile)
SIGNAL_HANDLER
tracked[projectile] = projectile.damage
projectile.damage *= projectile_damage_coefficient
projectile.speed *= projectile_speed_coefficient
projectile.add_overlay(projectile_effect)
/obj/item/borg/projectile_dampen/proc/restore_projectile(obj/projectile/projectile)
/obj/item/borg/projectile_dampen/proc/restore_projectile(datum/source, obj/projectile/projectile)
SIGNAL_HANDLER
tracked -= projectile
projectile.damage *= (1 / projectile_damage_coefficient)
projectile.speed *= (1 / projectile_speed_coefficient)
@@ -344,11 +344,15 @@
QDEL_NULL(dampening_field)
/obj/item/mod/module/projectile_dampener/proc/dampen_projectile(datum/source, obj/projectile/projectile)
SIGNAL_HANDLER
projectile.damage *= damage_multiplier
projectile.speed *= speed_multiplier
projectile.add_overlay(projectile_effect)
/obj/item/mod/module/projectile_dampener/proc/release_projectile(datum/source, obj/projectile/projectile)
SIGNAL_HANDLER
projectile.damage /= damage_multiplier
projectile.speed /= speed_multiplier
projectile.cut_overlay(projectile_effect)