diff --git a/code/WorkInProgress/computer3/computers/camera.dm b/code/WorkInProgress/computer3/computers/camera.dm index 193070ce3e..b3a0c7fcfa 100644 --- a/code/WorkInProgress/computer3/computers/camera.dm +++ b/code/WorkInProgress/computer3/computers/camera.dm @@ -147,7 +147,7 @@ if(temp.len) L.Add(C) - //camera_sort(L) + camera_sort(L) return L verify_machine(var/obj/machinery/camera/C,var/datum/file/camnet_key/key = null) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 031077d2ea..d964529c02 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -492,14 +492,17 @@ src.visible_message("The [src.name] armor deflects the projectile") src.log_append_to_last("Armor saved.") return - var/ignore_threshold - if(Proj.flag == "taser") - use_power(200) - return - if(istype(Proj, /obj/item/projectile/beam/pulse)) - ignore_threshold = 1 - src.take_damage(Proj.damage,Proj.flag) - src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),ignore_threshold) + + if(Proj.damage_type == HALLOSS) + use_power(Proj.agony * 5) + + if(!(Proj.nodamage)) + var/ignore_threshold + if(istype(Proj, /obj/item/projectile/beam/pulse)) + ignore_threshold = 1 + src.take_damage(Proj.damage,Proj.flag) + src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),ignore_threshold) + Proj.on_hit(src) return diff --git a/code/modules/projectiles/projectile/force.dm b/code/modules/projectiles/projectile/force.dm index 364ad53370..a0f1da84b5 100644 --- a/code/modules/projectiles/projectile/force.dm +++ b/code/modules/projectiles/projectile/force.dm @@ -8,12 +8,11 @@ /obj/item/projectile/forcebolt/strong name = "force bolt" -/obj/item/projectile/forcebolt/on_hit(var/atom/target, var/blocked = 0) - - var/obj/T = target - var/throwdir = get_dir(firer,target) - T.throw_at(get_edge_target_turf(target, throwdir),10,10) - return 1 +/obj/item/projectile/forcebolt/on_hit(var/atom/movable/target, var/blocked = 0) + if(istype(target)) + var/throwdir = get_dir(firer,target) + target.throw_at(get_edge_target_turf(target, throwdir),10,10) + return 1 /* /obj/item/projectile/forcebolt/strong/on_hit(var/atom/target, var/blocked = 0)