Files
Aurora.3/code/modules/custom_ka/projectiles.dm
BurgerLUA 15b42a92aa Kinetic Accelerator Tweaks (#4949)
The results are in: Science doesn't always provide mining with kinetic accelerators. As a result of these findings, high level kinetic accelerators now have increased drop chances in the warehouse and in abandoned crates.

Also, kinetic accelerators no longer dig holes.
2018-07-20 21:30:51 +02:00

38 lines
1.1 KiB
Plaintext

//Projectiles
/obj/item/projectile/kinetic
name = "kinetic force"
icon_state = null
damage = 0 //Base damage handled elsewhere.
damage_type = BRUTE
check_armour = "bomb"
range = 5
var/pressure_decrease = 0.25
/obj/item/projectile/kinetic/on_impact(var/atom/A,var/aoe_scale = 1, var/damage_scale = 1)
var/turf/target_turf = get_turf(A)
if(!target_turf)
target_turf = get_turf(src)
if(istype(target_turf))
var/datum/gas_mixture/environment = target_turf.return_air()
damage *= max(1 - (environment.return_pressure()/100)*0.75,0)
if(isliving(A)) //Never do more than 15 damage to a living being per shot.
damage = min(damage,15)
strike_thing(A,aoe*aoe_scale,damage)
. = ..()
/obj/item/projectile/kinetic/proc/strike_thing(atom/target,var/new_aoe,var/damage_scale)
var/turf/target_turf = get_turf(target)
if(istype(target_turf, /turf/simulated/mineral))
var/turf/simulated/mineral/M = target_turf
M.kinetic_hit(damage,dir)
new /obj/effect/overlay/temp/kinetic_blast(target_turf)
if(new_aoe > 0)
for(var/new_target in orange(new_aoe, target_turf))
src.on_impact(new_target,0,0.5)