mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-22 04:37:45 +01:00
[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:
co-authored by
Reo Lozzot
Cameron Lennox
parent
5a67ca234c
commit
5e918deded
@@ -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,
|
||||
|
||||
+2
-7
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
+5
-14
@@ -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,
|
||||
|
||||
+1
-11
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user