mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-20 19:44:46 +01:00
Soakn't (#18647)
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
@@ -59,7 +59,6 @@
|
||||
var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up
|
||||
var/canremove = TRUE //Mostly for Ninja code at this point but basically will not allow the item to be removed if set to 0. /N
|
||||
var/list/armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0)
|
||||
var/list/armorsoak = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0)
|
||||
var/list/allowed = null //suit storage stuff.
|
||||
var/obj/item/uplink/hidden/hidden_uplink = null // All items can have an uplink hidden inside, just remember to add the triggers.
|
||||
var/zoomdevicename = null //name used for message when binoculars/scope is used
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
H.eye_blurry = max(H.eye_blurry, flash_strength + 5)
|
||||
H.flash_eyes()
|
||||
H.adjustHalLoss(halloss_per_flash * (flash_strength / 5)) // Should take four flashes to stun.
|
||||
H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0, 0)
|
||||
H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0)
|
||||
|
||||
else
|
||||
flashfail = 1
|
||||
|
||||
@@ -34,9 +34,8 @@
|
||||
for(var/mob/living/L in loc)
|
||||
var/target_zone = ran_zone()
|
||||
var/blocked = L.run_armor_check(target_zone, "melee")
|
||||
var/soaked = L.get_armor_soak(target_zone, "melee")
|
||||
|
||||
if(!L.apply_damage(35, BRUTE, target_zone, blocked, soaked))
|
||||
if(!L.apply_damage(35, BRUTE, target_zone, blocked))
|
||||
break
|
||||
playsound(src, 'sound/effects/clang2.ogg', 50, 1)
|
||||
qdel(src)
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
|
||||
if(user.gloves && !protected_hands)
|
||||
to_chat(user, span_warning("\The [src] partially cuts into your hand through your gloves as you hit \the [target]!"))
|
||||
user.apply_damage(light_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, 0, src.sharp, src.edge, src) // Ternary to include break damage
|
||||
user.apply_damage(light_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, src.sharp, src.edge, src) // Ternary to include break damage
|
||||
|
||||
else if(!user.gloves)
|
||||
to_chat(user, span_warning("\The [src] cuts into your hand as you hit \the [target]!"))
|
||||
|
||||
@@ -98,15 +98,11 @@
|
||||
|
||||
//armour
|
||||
var/blocked = L.run_armor_check(target_zone, "melee")
|
||||
var/soaked = L.get_armor_soak(target_zone, "melee")
|
||||
|
||||
if(blocked >= 100)
|
||||
return
|
||||
|
||||
if(soaked >= 30)
|
||||
return
|
||||
|
||||
if(!L.apply_damage(30, BRUTE, target_zone, blocked, soaked, used_weapon=src))
|
||||
if(!L.apply_damage(30, BRUTE, target_zone, blocked, used_weapon=src))
|
||||
return 0
|
||||
|
||||
if(ishuman(L))
|
||||
@@ -347,14 +343,10 @@
|
||||
|
||||
//armour
|
||||
var/blocked = L.run_armor_check(target_zone, "melee")
|
||||
var/soaked = L.get_armor_soak(target_zone, "melee")
|
||||
|
||||
if(blocked >= 100)
|
||||
return
|
||||
|
||||
if(soaked >= 30)
|
||||
return
|
||||
|
||||
if(L.buckled) //wheelchairs, office chairs, rollerbeds
|
||||
return
|
||||
|
||||
@@ -362,7 +354,7 @@
|
||||
|
||||
L.add_modifier(/datum/modifier/entangled, 3 SECONDS)
|
||||
|
||||
if(!L.apply_damage(force * (issilicon(L) ? 0.25 : 1), BRUTE, target_zone, blocked, soaked, sharp, edge, src))
|
||||
if(!L.apply_damage(force * (issilicon(L) ? 0.25 : 1), BRUTE, target_zone, blocked, sharp, edge, src))
|
||||
return
|
||||
|
||||
playsound(src, 'sound/effects/glass_step.ogg', 50, 1) // not sure how to handle metal shards with sounds
|
||||
|
||||
@@ -240,9 +240,8 @@ two tiles on initialization, and which way a cliff is facing may change during m
|
||||
var/damage = between(20, L.getMaxHealth() * 0.4, 100)
|
||||
var/target_zone = ran_zone()
|
||||
var/blocked = L.run_armor_check(target_zone, "melee") * harm
|
||||
var/soaked = L.get_armor_soak(target_zone, "melee") * harm
|
||||
|
||||
L.apply_damage(damage * harm, BRUTE, target_zone, blocked, soaked, used_weapon=src)
|
||||
L.apply_damage(damage * harm, BRUTE, target_zone, blocked, used_weapon=src)
|
||||
|
||||
// Now fall off more cliffs below this one if they exist.
|
||||
var/obj/structure/cliff/bottom_cliff = locate() in T
|
||||
|
||||
@@ -211,22 +211,20 @@
|
||||
|
||||
var/def_zone = ran_zone()
|
||||
var/blocked = occupant.run_armor_check(def_zone, "melee")
|
||||
var/soaked = occupant.get_armor_soak(def_zone, "melee")
|
||||
occupant.throw_at(A, 3, propelled)
|
||||
occupant.apply_effect(6, STUN, blocked)
|
||||
occupant.apply_effect(6, WEAKEN, blocked)
|
||||
occupant.apply_effect(6, STUTTER, blocked)
|
||||
occupant.apply_damage(10, BRUTE, def_zone, blocked, soaked)
|
||||
occupant.apply_damage(10, BRUTE, def_zone, blocked)
|
||||
playsound(src, 'sound/weapons/punch1.ogg', 50, 1, -1)
|
||||
if(isliving(A))
|
||||
var/mob/living/victim = A
|
||||
def_zone = ran_zone()
|
||||
blocked = victim.run_armor_check(def_zone, "melee")
|
||||
soaked = victim.get_armor_soak(def_zone, "melee")
|
||||
victim.apply_effect(6, STUN, blocked)
|
||||
victim.apply_effect(6, WEAKEN, blocked)
|
||||
victim.apply_effect(6, STUTTER, blocked)
|
||||
victim.apply_damage(10, BRUTE, def_zone, blocked, soaked)
|
||||
victim.apply_damage(10, BRUTE, def_zone, blocked)
|
||||
occupant.visible_message(span_danger("[occupant] crashed into \the [A]!"))
|
||||
|
||||
/obj/structure/bed/chair/office/light
|
||||
|
||||
@@ -190,22 +190,20 @@
|
||||
|
||||
var/def_zone = ran_zone()
|
||||
var/blocked = occupant.run_armor_check(def_zone, "melee")
|
||||
var/soaked = occupant.get_armor_soak(def_zone, "melee")
|
||||
occupant.throw_at(A, 3, propelled)
|
||||
occupant.apply_effect(6, STUN, blocked)
|
||||
occupant.apply_effect(6, WEAKEN, blocked)
|
||||
occupant.apply_effect(6, STUTTER, blocked)
|
||||
occupant.apply_damage(10, BRUTE, def_zone, soaked)
|
||||
occupant.apply_damage(10, BRUTE, def_zone)
|
||||
playsound(src, 'sound/weapons/punch1.ogg', 50, 1, -1)
|
||||
if(isliving(A))
|
||||
var/mob/living/victim = A
|
||||
def_zone = ran_zone()
|
||||
blocked = victim.run_armor_check(def_zone, "melee")
|
||||
soaked = victim.get_armor_soak(def_zone, "melee")
|
||||
victim.apply_effect(6, STUN, blocked)
|
||||
victim.apply_effect(6, WEAKEN, blocked)
|
||||
victim.apply_effect(6, STUTTER, blocked)
|
||||
victim.apply_damage(10, BRUTE, def_zone, soaked)
|
||||
victim.apply_damage(10, BRUTE, def_zone)
|
||||
if(pulling)
|
||||
occupant.visible_message(span_danger("[pulling] has thrusted \the [name] into \the [A], throwing \the [occupant] out of it!"))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user