New taser fix is now in place. Rather than full deflection, armor mitigates the damage. Updates along all sorts of Clothing for minor mitigations to major mitigations.

New define - AGONY. Used as an effect (Like STUN, WEAKN, etc) to cause HALLOSS. Allows use of HALLOSS projectiles without having to worry about them shattering windows/grilles. Future use? Torture tools, pain inducers for interrogation, 'Be Good' modules, Meme, etc.

HALLOSS now regens while standing up (2 per tick), and laying down (Resting, unconscious, paralyzed - 6 per tick). This fixes the 'real damage + HALLOSS = forever crit'.

Sticking a gun in your mouth (Non-stun, damage inducing) and pulling the trigger kills you.

Icon adjustments.
This commit is contained in:
MisterBook
2013-06-04 22:41:23 -05:00
parent 4b970dd3ff
commit fd8d61aa8b
34 changed files with 146 additions and 52 deletions

View File

@@ -168,7 +168,7 @@
playsound(user, fire_sound, 50, 1)
in_chamber.on_hit(M)
if (!in_chamber.nodamage)
user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]")
user.apply_damage(in_chamber.damage*100, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]")
else
user << "<span class = 'notice'>You feel dumb for trying this...</span>"
del(in_chamber)

View File

@@ -48,6 +48,7 @@
var/stutter = 0
var/eyeblur = 0
var/drowsy = 0
var/agony = 0
proc/on_hit(var/atom/target, var/blocked = 0)
@@ -55,7 +56,7 @@
if(!isliving(target)) return 0
if(isanimal(target)) return 0
var/mob/living/L = target
L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, blocked)
L.apply_effects(stun, weaken, paralyze, agony, irradiate, stutter, eyeblur, drowsy, blocked) // add in AGONY!
return 1
proc/check_fire(var/mob/living/target as mob, var/mob/living/user as mob) //Checks if you can hit them or not.
@@ -114,6 +115,7 @@
msg_admin_attack("ATTACK: UNKNOWN shot [M] ([M.ckey]) with a [src]") //BS12 EDIT ALG
spawn(0)
if(A)
if (!forcedodge)
forcedodge = A.bullet_act(src, def_zone) // searches for return value
@@ -125,7 +127,6 @@
loc = A.loc
permutated.Add(A)
return 0
if(istype(A,/turf))
for(var/obj/O in A)
O.bullet_act(src)

View File

@@ -9,14 +9,15 @@
/obj/item/projectile/energy/electrode
name = "electrode"
icon_state = "spark"
/* - Old taser bit
nodamage = 0
nodamage = 1
/*
stun = 10
weaken = 10
stutter = 10
*/
damage = 40
agony = 40
damage_type = HALLOSS
//Damage will be handled on the MOB side, to prevent window shattering.