Projectile Laser Update

Lasers are now projectiles instead of instant beams. Fire delay removed,
damages adjusted accordingly.
This commit is contained in:
SamCroswell
2014-11-26 19:16:21 -05:00
parent 7e9f669f44
commit 8b16d394ed
21 changed files with 326 additions and 79 deletions
@@ -10,8 +10,6 @@ emp_act
/mob/living/carbon/human/bullet_act(var/obj/item/projectile/P, var/def_zone)
var/datum/organ/external/organ = get_organ(check_zone(def_zone))
if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))
if(check_reflect(def_zone)) // Checks if you've passed a reflection% check
visible_message("<span class='danger'>The [P.name] gets reflected by [src]!</span>", \
@@ -40,6 +38,7 @@ emp_act
//Shrapnel
if (P.damage_type == BRUTE)
var/datum/organ/external/organ = get_organ(check_zone(def_zone))
var/armor = getarmor_organ(organ, "bullet")
if((P.embed && prob(20 + max(P.damage - armor, -10))))
var/obj/item/weapon/shard/shrapnel/SP = new()
@@ -358,11 +357,11 @@ emp_act
zone = get_zone_with_miss_chance(zone, src, min(15*(distance-2), 0))
else
zone = get_zone_with_miss_chance(zone, src, 15)
/*
if(!zone)
visible_message("\blue \The [O] misses [src] narrowly!")
return
*/
O.throwing = 0 //it hit, so stop moving
if ((O.thrower != src) && check_shields(throw_damage, "[O]"))
+8 -7
View File
@@ -57,13 +57,14 @@
signaler.signal()
*/
//Stun Beams
/*
//Stun Beams -- These were commented out, making appropriate changes here. - Dave
if(istype(P, /obj/item/projectile/beam/stun) || istype(P, /obj/item/projectile/bullet/stunshot))
stun_effect_act(0, P.agony, def_zone, P)
src <<"\red You have been hit by [P]!"
del P
return
*/
//Armor
var/absorb = run_armor_check(def_zone, P.flag)
var/proj_sharp = is_sharp(P)
@@ -119,15 +120,15 @@
var/throw_damage = O.throwforce*(speed/5)
var/miss_chance = 15
//var/miss_chance = 15
if (O.throw_source)
var/distance = get_dist(O.throw_source, loc)
miss_chance = min(15*(distance-2), 0)
//miss_chance = min(15*(distance-2), 0)
/*
if (prob(miss_chance))
visible_message("\blue \The [O] misses [src] narrowly!")
return
*/
src.visible_message("\red [src] has been hit by [O].")
var/armor = run_armor_check(null, "melee")
@@ -168,7 +169,7 @@
visible_message("<span class='warning'>[src] is pinned to the wall by [O]!</span>","<span class='warning'>You are pinned to the wall by [O]!</span>")
src.anchored = 1
src.pinned += O
/mob/living/mech_melee_attack(obj/mecha/M)
if(M.occupant.a_intent == "harm")
if(M.damtype == "brute")