[MIRROR] Removes Armorsoak (#11879)

Co-authored-by: Reo Lozzot <84661000+ReoDaProtovali@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-11-02 20:00:44 -05:00
committed by GitHub
co-authored by Reo Lozzot Cameron Lennox
parent 5a67ca234c
commit 5e918deded
81 changed files with 131 additions and 744 deletions
@@ -159,12 +159,11 @@
/obj/item/clothing/suit/armor/alien/vistor
name = "rocky suit"
desc = "A strange set of armor made of rocky plates"
description_info = "It always reduces all damage by the same amount, with a 12% chance to block."
description_info = "Reduces all admage types by 25% with a 12% chance to block."
icon_state = "alien_tank"
slowdown = 0
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
armorsoak = list( melee = 12, bullet = 12,laser = 12, energy = 12 , bomb = 0, bio = 0, rad = 0)
armor = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 25, bio = 25, rad = 25) //Should be good enough to mimic the old '12% reduction'.
block_chance = 12
/obj/item/clothing/suit/armor/tesla/vistor
@@ -12,8 +12,7 @@
icon_state = "crystal"
icon_dead = "crystal_dead"
armor = list(melee = 60, bullet = 60, laser = 60, energy = 60, bomb = 0, bio = 100, rad = 100)
armor_soak = list(melee = 10, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 80, bullet = 80, laser = 80, energy = 80, bomb = 0, bio = 100, rad = 100)
min_oxy = 0
max_oxy = 0
@@ -2,15 +2,6 @@
/mob/living/simple_mob/animal/sif/shantak
maxHealth = 37
armor_soak = list(
"melee" = 2,
"bullet" = 0,
"laser" = 0,
"energy" = 0,
"bomb" = 0,
"bio" = 0,
"rad" = 0
)
/mob/living/simple_mob/animal/sif/shantak/leader
maxHealth = 62
@@ -22,28 +13,10 @@
/mob/living/simple_mob/animal/sif/kururak
maxHealth = 100
health = 100
armor_soak = list(
"melee" = 2,
"bullet" = 2,
"laser" = 2,
"energy" = 0,
"bomb" = 0,
"bio" = 0,
"rad" = 0
)
/mob/living/simple_mob/animal/sif/frostfly
maxHealth = 32
health = 32
armor_soak = list(
"melee" = 0,
"bullet" = 0,
"laser" = 5,
"energy" = 0,
"bomb" = 0,
"bio" = 0,
"rad" = 0
)
/mob/living/simple_mob/vore/aggressive/deathclaw
maxHealth = 100
@@ -46,7 +46,7 @@
/mob/living/simple_mob/animal/space/alien/sentinel/praetorian/tank
name = "alien Tankerling"
armor_soak = list(melee = -15, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
armor = list(melee = -25, bullet = 20, laser = 20, energy = 0, bomb = 0, bio = 0, rad = 0)
base_attack_cooldown = 25
color = "#ff8214"
health = 700
@@ -65,11 +65,11 @@
/mob/living/simple_mob/animal/space/alien/queen/empress/star
name = "alien Staticlisk"
ai_holder_type = /datum/ai_holder/simple_mob/ranged/careful
armor_soak = list(melee = -10, bullet = 10, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0)
base_attack_cooldown = 15
color = "#38b9ff"
health = 500
maxHealth = 500
armor = list(melee = -20, bullet = 20, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
melee_damage_lower = 25
melee_damage_upper = 30
movement_cooldown = 12
@@ -83,11 +83,11 @@
/mob/living/simple_mob/animal/space/alien/queen/empress/tank
name = "alien tankerlisk"
armor_soak = list(melee = -10, bullet = 10, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0)
base_attack_cooldown = 25
color = "#4a4a4a"
health = 1250
maxHealth = 1250
armor = list(melee = -20, bullet = 20, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
melee_damage_lower = 25
melee_damage_upper = 30
movement_cooldown = 12
@@ -100,10 +100,10 @@
/mob/living/simple_mob/animal/space/alien/sentinel/electro
name = "alien Electrosentinel"
ai_holder_type = /datum/ai_holder/simple_mob/ranged/careful
armor_soak = list(melee = 0, bullet = 5, laser = 5, energy = 0, bomb = 0, bio = 0, rad = 0)
color = "#ccff4a"
health = 200
maxHealth = 200
armor = list(melee = 0, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0)
needs_reload = 1
projectiletype = /obj/item/projectile/beam/stun/electric_spider
reload_max = 5
@@ -6,7 +6,6 @@
has_repair_droid = TRUE
ai_holder_type = /datum/ai_holder/simple_mob/intentional/three_phases
armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100)
armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
special_attack_min_range = 1
special_attack_max_range = 7
special_attack_cooldown = 10 //This things attack soley via speical attacks hence basically no cooldown
@@ -62,8 +62,7 @@
name = "Eclipse Expirmental Mining Mecha"
desc = "You mecha guarded by a powerful shield. Perhaps it will drop at some point."
specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien
armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100)
armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100)
icon_state = "shielded_mining_mecha"
shock_resist = 1
wreckage = /obj/structure/loot_pile/mecha/odd_ripley
@@ -76,21 +75,18 @@
specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien
addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 12, 2, 10), 1 SECOND, TIMER_DELETE_ME)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100)
armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
icon_state = "mining_mecha"
attackcycle = 0
else if(attackcycle == 2)
specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien
addtimer(CALLBACK(src, PROC_REF(hole_in_wall), A, 3, 15), 0.5 SECONDS, TIMER_DELETE_ME)
armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100)
armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100)
icon_state = "shielded_mining_mecha"
attackcycle = 0
else if(attackcycle == 3)
specialattackprojectile = /obj/item/projectile/arc/blue_energy/precusor
addtimer(CALLBACK(src, PROC_REF(chain_burst), A, 1, 15), 0.5 SECONDS, TIMER_DELETE_ME)
armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100)
armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100)
icon_state = "shielded_mining_mecha"
attackcycle = 0
if(I_HURT) //phase1
@@ -98,21 +94,18 @@
specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien
addtimer(CALLBACK(src, PROC_REF(random_firing), A, 6, 2, 10), 1 SECOND, TIMER_DELETE_ME)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100)
armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
icon_state = "mining_mecha"
attackcycle = 0
else if(attackcycle == 2)
specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien
addtimer(CALLBACK(src, PROC_REF(hole_in_wall), A, 3, 20), 0.5 SECONDS, TIMER_DELETE_ME)
armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100)
armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100)
icon_state = "shielded_mining_mecha"
attackcycle = 0
else if(attackcycle == 3)
specialattackprojectile = /obj/item/projectile/arc/blue_energy/precusor
addtimer(CALLBACK(src, PROC_REF(chain_burst), A, 1, 20), 0.5 SECONDS, TIMER_DELETE_ME)
armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100)
armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100)
icon_state = "shielded_mining_mecha"
attackcycle = 0
if(I_GRAB) // Phase 2
@@ -120,21 +113,18 @@
specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien
addtimer(CALLBACK(src, PROC_REF(random_firing), A, 8, 2, 10), 1 SECOND, TIMER_DELETE_ME)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100)
armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
icon_state = "mining_mecha"
attackcycle = 0
else if(attackcycle == 2)
specialattackprojectile = /obj/item/projectile/energy/eclipse/lorgealien
addtimer(CALLBACK(src, PROC_REF(hole_in_wall), A, 3, 15), 0.5 SECONDS, TIMER_DELETE_ME)
armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100)
armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100)
icon_state = "shielded_mining_mecha"
attackcycle = 0
else if(attackcycle == 3)
specialattackprojectile = /obj/item/projectile/arc/blue_energy/precusor
addtimer(CALLBACK(src, PROC_REF(chain_burst), A, 1, 15), 0.5 SECONDS, TIMER_DELETE_ME)
armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 100)
armor_soak = list(melee = 25, bullet = 25, laser = 25, energy = 25, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 99, bullet = 99, laser = 99, energy = 99, bomb = 90, bio = 100, rad = 100)
icon_state = "shielded_mining_mecha"
attackcycle = 0
@@ -147,7 +137,6 @@
desc = "A mecha made for enginering purposes, with several alterations to be an odd ball combat unit."
specialattackprojectile = /obj/item/projectile/energy/excavate/weak
armor = list(melee = 30, bullet = 30, laser = 30, energy = 40, bomb = 90, bio = 100, rad = 100)
armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
icon_state = "engi_spider"
shock_resist = 1
projectiletype = /obj/item/projectile/beam/chain_lightning
@@ -243,13 +232,11 @@
/mob/living/simple_mob/mechanical/mecha/eclipse/darkmatter_assualt/armored/bullet_act(obj/item/projectile/P)
.= ..()
if(istype(P, /obj/item/projectile/bullet))
armor = list(melee = 80, bullet = 80, laser = 30, energy = 30, bomb = 80, bio = 100, rad = 100)
armor_soak = list(melee = 10, bullet = 10, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 90, bullet = 90, laser = 30, energy = 30, bomb = 80, bio = 100, rad = 100)
icon_state = "eclipse_janus_red"
visible_message(span_cult("[P] has been adapted too!."))
else
armor = list(melee = 30, bullet = 30, laser = 80, energy = 80, bomb = 80, bio = 100, rad = 100)
armor_soak = list(melee = 0, bullet = 0, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
icon_state = "eclipse_janus_orange"
visible_message(span_cult("[P] has been adapted too!."))
@@ -24,7 +24,6 @@
var/projectile_dam_type = P.damage_type
var/incoming_damage = (round(P.damage / damage_mod) - (round((P.damage / damage_mod) * 0.3)))
var/armorcheck = run_armor_check(null, P.check_armour)
var/soakedcheck = get_armor_soak(null, P.check_armour)
if(!(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)))
visible_message(span_danger("The [P.name] bounces off of [src]'s shield!"), \
span_userdanger("The [P.name] bounces off of [src]'s shield!"))
@@ -32,7 +31,7 @@
if(!(P.damage_type == BRUTE || P.damage_type == BURN))
projectile_dam_type = BRUTE
incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to brute for physical projectiles, though severely decreased.
apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P)
apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, is_sharp(P), has_edge(P), P)
return -1 //Doesn't reflect non-beams or non-energy projectiles. They just smack and drop with little to no effect.
else
visible_message(span_danger("The [P.name] gets reflected by [src]'s shield!"), \
@@ -42,7 +41,7 @@
if(!(P.damage_type == BRUTE || P.damage_type == BURN))
projectile_dam_type = BURN
incoming_damage = round(incoming_damage / 4) //Damage from strange sources is converted to burn for energy-type projectiles, though severely decreased.
apply_damage(incoming_damage, P.damage_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P)
apply_damage(incoming_damage, P.damage_type, null, armorcheck, is_sharp(P), has_edge(P), P)
// Find a turf near or on the original location to bounce to
if(P.starting)
@@ -2,6 +2,7 @@
name = "Rift Magus"
maxHealth = 450 //Boss Mobs should be tanky. //Old 225
health = 450
armor = list(melee = 70, bullet = 60, laser = 60, energy = 90, bomb = 30, bio = 100, rad = 100)
melee_damage_lower = 30 //Old 15
melee_damage_upper = 45 //Old 22
@@ -26,16 +27,6 @@
damage_fatigue_mult = 0.5 // We don't want to give them a flat, huge boost to attack speed, but at the same time, make them fight harder the closer they are to dying.
injury_enrages = TRUE
armor_soak = list( //Combat refactor walk back. old 2 armor_soak
"melee" = 5,
"bullet" = 5,
"laser" = 5,
"energy" = 5,
"bomb" = 0,
"bio" = 0,
"rad" = 0
)
loot_list = list(/obj/item/clothing/head/culthood/void = 100,
/obj/item/clothing/suit/cultrobes/void = 100,
/obj/item/clothing/shoes/boots/cult/void = 100,
@@ -131,8 +131,7 @@
maxHealth = 100
projectiletype = /obj/item/projectile/energy/eclipse
armor = list(melee = -100, bullet = -100, laser = 40, energy = 40, bomb = 50, bio = 100, rad = 100) //Solar members are nigh immune to burns.
armor_soak = list(melee = 0, bullet = 0, laser = 20, energy = 20, bomb = 0, bio = 0, rad = 0)
armor = list(melee = -100, bullet = -100, laser = 90, energy = 90, bomb = 50, bio = 100, rad = 100) //Solar members are nigh immune to burns.
/mob/living/simple_mob/humanoid/eclipse/solar/bullet_act(obj/item/projectile/P)
..()
@@ -413,8 +412,7 @@
health = 100
maxHealth = 100
projectiletype = /obj/item/projectile/bullet/crystaline
armor = list(melee = 40, bullet = 40, laser = -100, energy = -100, bomb = 50, bio = 100, rad = 100) //Lunar members are nigh immune to burns.
armor_soak = list(melee = 20, bullet = 20, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) //15 because every melee weapon has dumb amount of AP
armor = list(melee = 80, bullet = 80, laser = -100, energy = -100, bomb = 50, bio = 100, rad = 100) //Lunar members take massive damage from to burns.
/mob/living/simple_mob/humanoid/eclipse/lunar/bullet_act(obj/item/projectile/P)
..()
@@ -1019,6 +1017,3 @@
to_chat(M, span_critical("The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out."))
var/blood_to_remove = (rand(10,30))
M.remove_blood(blood_to_remove)
@@ -10,8 +10,7 @@
damage_fatigue_mult = 0
armor = list(melee = 20, bullet = 20, laser = 20, energy = 20, bomb = 100, bio = 100, rad = 100)
armor_soak = list(melee = 7, bullet = 7, laser = 7, energy = 7, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 34, bullet = 34, laser = 34, energy = 34, bomb = 100, bio = 100, rad = 100)
has_heal_droid = TRUE
/mob/living/simple_mob/humanoid/eclipse/head/security
@@ -500,9 +499,8 @@
for(var/mob/living/L in loc)
var/target_zone = ran_zone()
var/blocked = L.run_armor_check(target_zone, "laser")
var/soaked = L.get_armor_soak(target_zone, "laser")
if(!L.apply_damage(70, BURN, target_zone, blocked, soaked))
if(!L.apply_damage(70, BURN, target_zone, blocked))
break
playsound(src, 'sound/effects/clang2.ogg', 50, 1)
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 0.25 SECONDS, TIMER_DELETE_ME)
@@ -526,9 +524,8 @@
for(var/mob/living/L in loc)
var/target_zone = ran_zone()
var/blocked = L.run_armor_check(target_zone, "energy")
var/soaked = L.get_armor_soak(target_zone, "energy")
if(!L.apply_damage(50, BURN, target_zone, blocked, soaked))
if(!L.apply_damage(50, BURN, target_zone, blocked))
break
playsound(src, 'sound/effects/squelch1.ogg', 50, 1)
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 0.25 SECONDS, TIMER_DELETE_ME)
@@ -593,17 +590,13 @@
/obj/effect/slimeattack/proc/attack_mob(mob/living/L)
var/target_zone = pick(BP_ALL)
var/amount_blocked = L.run_armor_check(target_zone, "bio")
var/amount_soaked = L.get_armor_soak(target_zone, "bio")
var/damage = rand(5,5)
if(amount_blocked >= 40)
return
if(amount_soaked >= damage)
return
L.apply_damage(damage, BURN, target_zone, amount_blocked, amount_soaked, used_weapon = "slime")
L.apply_damage(damage, BURN, target_zone, amount_blocked, used_weapon = "slime")
L.add_modifier(modifiertype, 5 SECONDS)
/mob/living/simple_mob/humanoid/eclipse/minion
@@ -616,7 +609,6 @@
health = 7
maxHealth = 7
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100)
armor_soak = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
icon_state = "squishblob"
icon_living = "squishblob"
ai_holder_type = /datum/ai_holder/simple_mob/intentional/adv_dark_gygax
@@ -641,8 +633,7 @@
glow_override = TRUE
glow_color = "#FFA723"
glow_range = 16
armor = list(melee = 35, bullet = 35, laser = 35, energy = 35, bomb = 100, bio = 100, rad = 100)
armor_soak = list(melee = 7, bullet = 7, laser = 7, energy = 7, bomb = 0, bio = 0, rad = 0)
armor = list(melee = 49, bullet = 49, laser = 49, energy = 49, bomb = 100, bio = 100, rad = 100)
projectiletype = /obj/item/projectile/energy/homing_bolt
ai_holder_type = /datum/ai_holder/simple_mob/intentional/adv_dark_gygax
loot_list = list(/obj/item/slime_extract/sepia = 25,
@@ -24,17 +24,7 @@
water_resist = 3
attack_armor_pen = -50
armor = list(melee = -150, bullet = 40, laser = 40, energy = 40, bomb = 40, bio = 100, rad = 100)
armor_soak = list(
"melee" = 0,
"bullet" = 10,
"laser" = 10,
"energy" = 10,
"bomb" = 0,
"bio" = 0,
"rad" = 0
)
armor = list(melee = -150, bullet = 60, laser = 60, energy = 60, bomb = 40, bio = 100, rad = 100)
loot_list = list(/obj/item/clothing/suit/armor/alien = 30,
/obj/item/clothing/suit/armor/alien/tank = 30,
@@ -292,9 +292,8 @@
for(var/mob/living/L in loc)
var/target_zone = ran_zone()
var/blocked = L.run_armor_check(target_zone, "laser")
var/soaked = L.get_armor_soak(target_zone, "laser")
if(!L.apply_damage(40, BURN, target_zone, blocked, soaked))
if(!L.apply_damage(40, BURN, target_zone, blocked))
break
playsound(src, 'sound/effects/teleport.ogg', 50, 1)
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), src), 0.25 SECONDS, TIMER_DELETE_ME)
@@ -759,4 +758,3 @@
if(!target)
return
explosion(src.loc, 30, 16, 8, 4)
@@ -52,26 +52,15 @@
coretype = /obj/item/slime_extract/metal
maxHealth = 250
armor = list(
"melee" = 25,
"bullet" = 25,
"laser" = 25,
"melee" = 35,
"bullet" = 35,
"laser" = 35,
"energy" = 50,
"bomb" = 80,
"bio" = 100,
"rad" = 100
)
armor_soak = list(
"melee" = 5,
"bullet" = 5,
"laser" = 5,
"energy" = 0,
"bomb" = 0,
"bio" = 0,
"rad" = 0
)
/mob/living/simple_mob/slime/feral/yellow
desc = "This slime is very conductive, and is known to use electricity as a means of defense moreso than usual for slimes."
color = "#FFF423"
@@ -53,15 +53,6 @@
"bio" = 100,
"rad" = 100
)
armor_soak = list( // Values for getsoak() checks.
"melee" = 0,
"bullet" = 0,
"laser" = 0,
"energy" = 0,
"bomb" = 0,
"bio" = 0,
"rad" = 0
)
var/exploded = FALSE
var/explosion_dev_range = 0
var/explosion_heavy_range = 0
@@ -732,21 +723,12 @@ GLOBAL_LIST_INIT(obelisk_lure_messages, list(
armor = list(
"melee" = 100,
"bullet" = 70,
"laser" = 70,
"energy" = 90,
"bullet" = 80,
"laser" = 80,
"energy" = 97,
"bomb" = 0,
"bio" = 100,
"rad" = 100)
armor_soak = list(
"melee" = 15,
"bullet" = 5,
"laser" = 5,
"energy" = 5,
"bomb" = 0,
"bio" = 100,
"rad" = 100
)
var/datum/looping_sound/obelisk/loopy = 1
/mob/living/simple_mob/vore/blackhole_obelisk/monolith
@@ -250,15 +250,7 @@
icon_living = "gravityshell"
icon_dead = "gravityshell-dead"
movement_cooldown = 5 // Lower is faster.
armor_soak = list( // Values for getsoak() checks.
"melee" = 7,
"bullet" = 7,
"laser" = 7,
"energy" = 7,
"bomb" = 0,
"bio" = 0,
"rad" = 0
)
armor = list(melee = 14, bullet = 14, laser = 14, energy = 14, bomb = 0, bio = 100, rad = 100)
var/artifact_master = /datum/component/artifact_master/gravity
evolve = "/mob/living/simple_mob/vore/spacecritter/gravityshell/cleanse"
@@ -48,15 +48,6 @@
"bio" = 100,
"rad" = 100
)
armor_soak = list( // Values for getsoak() checks.
"melee" = 0,
"bullet" = 0,
"laser" = 0,
"energy" = 0,
"bomb" = 0,
"bio" = 0,
"rad" = 0
)
// Leaping is a special attack, so these values determine when leap can happen.
// Leaping won't occur if its on cooldown.
@@ -91,24 +82,14 @@
special_attack_cooldown = 30 SECONDS
armor = list( // Values for normal getarmor() checks
"melee" = 20,
"bullet" = 20,
"laser" = 20,
"energy" = 5,
"melee" = 30,
"bullet" = 30,
"laser" = 30,
"energy" = 15,
"bomb" = 0,
"bio" = 100,
"rad" = 100
)
armor_soak = list( // Values for getsoak() checks.
"melee" = 5,
"bullet" = 5,
"laser" = 5,
"energy" = 5,
"bomb" = 5,
"bio" = 0,
"rad" = 0
)
/mob/living/simple_mob/vore/otie/syndicate/apply_bonus_melee_damage(atom/A, damage_amount)
if(isliving(A))
@@ -191,23 +172,14 @@
buckle_lying = FALSE
vore_icons = SA_ICON_LIVING | SA_ICON_REST
armor = list( // Values for normal getarmor() checks
"melee" = 30,
"bullet" = 10,
"laser" = 10,
"energy" = 5,
"melee" = 40,
"bullet" = 20,
"laser" = 20,
"energy" = 15,
"bomb" = 0,
"bio" = 100,
"rad" = 100
)
armor_soak = list( // Values for getsoak() checks.
"melee" = 5,
"bullet" = 5,
"laser" = 5,
"energy" = 5,
"bomb" = 5,
"bio" = 0,
"rad" = 0
)
/mob/living/simple_mob/vore/wolf/direwolf/syndicate/black
name = "mercenary commandoggo"
+3 -15
View File
@@ -135,17 +135,13 @@
var/target_zone = pick(BP_ALL)
var/amount_blocked = H.run_armor_check(target_zone, "bio")
var/amount_soaked = H.get_armor_soak(target_zone, "bio")
var/damage = rand(1,5)
if(amount_blocked >= 40)
return
if(amount_soaked >= damage)
return // No need to apply damage.
H.apply_damage(damage, BURN, target_zone, amount_blocked, amount_soaked, used_weapon = "acidic rain")
H.apply_damage(damage, BURN, target_zone, amount_blocked, used_weapon = "acidic rain")
if(show_message)
to_chat(H, effect_message)
@@ -168,17 +164,13 @@
var/target_zone = pick(BP_ALL)
var/amount_blocked = H.run_armor_check(target_zone, "melee")
var/amount_soaked = H.get_armor_soak(target_zone, "melee")
var/damage = rand(1,2)
if(amount_blocked >= 10)
return
if(amount_soaked >= damage)
return // No need to apply damage.
H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "sand")
H.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "sand")
if(show_message)
to_chat(H, effect_message)
@@ -394,17 +386,13 @@
var/target_zone = pick(BP_ALL)
var/amount_blocked = L.run_armor_check(target_zone, "melee")
var/amount_soaked = L.get_armor_soak(target_zone, "melee")
var/damage = rand(10,30) //Ow
if(amount_blocked >= 30)
return
if(amount_soaked >= damage)
return // No need to apply damage.
L.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "rain bludgoning")
L.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "rain bludgoning")
L.Weaken(3)
if(show_message)
to_chat(L, effect_message)
+3 -15
View File
@@ -170,17 +170,13 @@ var/datum/planet/tyr/planet_tyr = null
var/target_zone = pick(BP_ALL)
var/amount_blocked = H.run_armor_check(target_zone, "bio")
var/amount_soaked = H.get_armor_soak(target_zone, "bio")
var/damage = rand(1,1)
if(amount_blocked >= 40)
return
if(amount_soaked >= damage)
return // No need to apply damage.
H.apply_damage(damage, BURN, target_zone, amount_blocked, amount_soaked, used_weapon = "burning ash")
H.apply_damage(damage, BURN, target_zone, amount_blocked, used_weapon = "burning ash")
if(show_message)
to_chat(H, effect_message)
@@ -207,17 +203,13 @@ var/datum/planet/tyr/planet_tyr = null
var/target_zone = pick(BP_ALL)
var/amount_blocked = H.run_armor_check(target_zone, "melee")
var/amount_soaked = H.get_armor_soak(target_zone, "melee")
var/damage = rand(2,2)
if(amount_blocked >= 10)
return
if(amount_soaked >= damage)
return // No need to apply damage.
H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "sand")
H.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "sand")
if(show_message)
to_chat(H, effect_message)
@@ -247,17 +239,13 @@ var/datum/planet/tyr/planet_tyr = null
var/target_zone = pick(BP_ALL)
var/amount_blocked = H.run_armor_check(target_zone, "melee")
var/amount_soaked = H.get_armor_soak(target_zone, "melee")
var/damage = rand(5,5)
if(amount_blocked >= 40)
return
if(amount_soaked >= damage)
return // No need to apply damage.
H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "sand")
H.apply_damage(damage, BRUTE, target_zone, amount_blocked, used_weapon = "sand")
if(show_message)
to_chat(H, effect_message)