Armor/Damage Changes

- Fixes armor RNG killing for thrown items.
- Kidan no longer act like they have a built-in riot shield (50 -
damage/3)% chance to ignore damage, but take 20% less brute
consistently.
- Entirely missing with a projectile or melee attack is impossible, but
you are more likely to hit a part you were not aiming at. (Ports tg
ran_zone proc and axes current get_zone_with_miss_chance proc).
- Removes some snowflake code for lightning projectiles (Power Glove
traitor item uses these).
This commit is contained in:
DZD
2015-01-17 22:33:47 -05:00
parent 0820364e27
commit f1eb7971e1
5 changed files with 25 additions and 107 deletions
+2 -15
View File
@@ -109,21 +109,8 @@
//Lower accurancy/longer range tradeoff. Distance matters a lot here, so at
// close distance, actually RAISE the chance to hit.
var/distance = get_dist(starting,loc)
var/miss_modifier = -30
if (istype(shot_from,/obj/item/weapon/gun)) //If you aim at someone beforehead, it'll hit more often.
var/obj/item/weapon/gun/daddy = shot_from //Kinda balanced by fact you need like 2 seconds to aim
if (daddy.target && original in daddy.target) //As opposed to no-delay pew pew
miss_modifier += -30
if(istype(src, /obj/item/projectile/beam/lightning)) //Lightning is quite accurate
miss_modifier += -200
def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier)
var/turf/simulated/floor/f = get_turf(A.loc)
if(f && istype(f))
f.break_tile()
f.hotspot_expose(1000,CELL_VOLUME)
else
def_zone = get_zone_with_miss_chance(def_zone, M, miss_modifier + 8*distance)
var/distance = get_dist(get_turf(A), starting) // Get the distance between the turf shot from and the mob we hit and use that for the calculations.
def_zone = ran_zone(def_zone, max(100-(7*distance), 5)) //Lower accurancy/longer range tradeoff. 7 is a balanced number to use.
/*
if(!def_zone)
visible_message("\blue \The [src] misses [M] narrowly!")