mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-10 00:43:14 +00:00
why didn't it do this before fuck oh my god
shields can now block impaling
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
user.lastattacked = M
|
||||
M.lastattacker = user
|
||||
|
||||
M.attacked_by(src, user)
|
||||
. = M.attacked_by(src, user)
|
||||
|
||||
add_logs(user, M, "attacked", src.name, "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])")
|
||||
add_fingerprint(user)
|
||||
@@ -69,6 +69,7 @@
|
||||
add_splatter_floor(location)
|
||||
if(get_dist(user, src) <= 1) //people with TK won't get smeared with blood
|
||||
user.add_mob_blood(src)
|
||||
return 1
|
||||
|
||||
|
||||
// Proximity_flag is 1 if this afterattack was called on something adjacent, in your square, or on your person.
|
||||
|
||||
@@ -797,22 +797,24 @@
|
||||
attack_verb = list("impaled")
|
||||
force += 23 //40 damage if ratvar isn't alive, 53 if he is
|
||||
user.stop_pulling()
|
||||
target.Stun(2)
|
||||
PoolOrNew(/obj/effect/overlay/temp/bloodsplatter, list(get_turf(target), get_dir(user, target)))
|
||||
if(impale_cooldown > world.time)
|
||||
user << "<span class='warning'>You can't attack right now, wait [max(round((impale_cooldown - world.time)*0.1, 0.1), 0)] seconds!</span>"
|
||||
return
|
||||
..()
|
||||
if(issilicon(target))
|
||||
var/mob/living/silicon/S = target
|
||||
if(S.stat != DEAD)
|
||||
S.visible_message("<span class='warning'>[S] shudders violently at [src]'s touch!</span>", "<span class='userdanger'>ERROR: Temperature rising!</span>")
|
||||
S.adjustFireLoss(25)
|
||||
else if(iscultist(target) || isconstruct(target)) //Cultists take extra fire damage
|
||||
var/mob/living/M = target
|
||||
M << "<span class='userdanger'>Your body flares with agony at [src]'s touch!</span>"
|
||||
M.adjustFireLoss(10)
|
||||
if(!..())
|
||||
impaling = FALSE
|
||||
else
|
||||
if(issilicon(target))
|
||||
var/mob/living/silicon/S = target
|
||||
if(S.stat != DEAD)
|
||||
S.visible_message("<span class='warning'>[S] shudders violently at [src]'s touch!</span>", "<span class='userdanger'>ERROR: Temperature rising!</span>")
|
||||
S.adjustFireLoss(25)
|
||||
else if(iscultist(target) || isconstruct(target)) //Cultists take extra fire damage
|
||||
var/mob/living/M = target
|
||||
M << "<span class='userdanger'>Your body flares with agony at [src]'s touch!</span>"
|
||||
M.adjustFireLoss(10)
|
||||
if(impaling)
|
||||
target.Stun(2)
|
||||
PoolOrNew(/obj/effect/overlay/temp/bloodsplatter, list(get_turf(target), get_dir(user, target)))
|
||||
impale_cooldown = world.time + initial(impale_cooldown)
|
||||
attack_verb = list("stabbed", "poked", "slashed")
|
||||
if(target)
|
||||
|
||||
@@ -121,6 +121,7 @@
|
||||
if(message_verb)
|
||||
visible_message("<span class='danger'>[attack_message]</span>",
|
||||
"<span class='userdanger'>[attack_message]</span>")
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/true_devil/UnarmedAttack(atom/A, proximity)
|
||||
A.attack_hand(src)
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
myjob.apply_fingerprints(src)
|
||||
|
||||
/mob/living/carbon/human/interactive/attacked_by(obj/item/I, mob/living/user, def_zone)
|
||||
..()
|
||||
. = ..()
|
||||
retal = 1
|
||||
retal_target = user
|
||||
|
||||
|
||||
@@ -1161,7 +1161,7 @@
|
||||
|
||||
if(Iforce > 10 || Iforce >= 5 && prob(33))
|
||||
H.forcesay(hit_appends) //forcesay checks stat already.
|
||||
return
|
||||
return 1
|
||||
|
||||
/datum/species/proc/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H)
|
||||
blocked = (100-(blocked+armor))/100
|
||||
|
||||
@@ -624,7 +624,7 @@
|
||||
/mob/living/silicon/robot/attacked_by(obj/item/I, mob/living/user, def_zone)
|
||||
if(I.force && I.damtype != STAMINA && stat != DEAD) //only sparks if real damage is dealt.
|
||||
spark_system.start()
|
||||
..()
|
||||
return ..()
|
||||
|
||||
|
||||
/mob/living/silicon/robot/emag_act(mob/user)
|
||||
|
||||
Reference in New Issue
Block a user