mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-31 00:49:06 +01:00
Zombie tweaks/buffs/nerfs. (#14324)
This commit is contained in:
@@ -98,6 +98,7 @@
|
||||
var/real_damage = rand_damage
|
||||
var/hit_dam_type = attack.damage_type
|
||||
var/damage_flags = attack.damage_flags()
|
||||
var/armor_penetration = attack.armor_penetration
|
||||
|
||||
real_damage += attack.get_unarmed_damage(A)
|
||||
real_damage *= D.damage_multiplier
|
||||
@@ -132,7 +133,7 @@
|
||||
|
||||
attack.apply_effects(A, D, rand_damage, hit_zone)
|
||||
|
||||
D.apply_damage(real_damage, hit_dam_type, hit_zone, damage_flags = damage_flags)
|
||||
D.apply_damage(real_damage, hit_dam_type, hit_zone, damage_flags = damage_flags, armor_pen = armor_penetration)
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
A.do_attack_animation(D)
|
||||
var/atk_verb = pick("chomps", "bites")
|
||||
D.visible_message(SPAN_DANGER("[A] [atk_verb] down hard on [D]!"), SPAN_DANGER("[A] [atk_verb] down hard on you!"))
|
||||
D.apply_damage(rand(5, 10), BRUTE, damage_flags = DAM_SHARP)
|
||||
playsound(get_turf(D), 'sound/weapons/slash.ogg', 25, 1, -1)
|
||||
D.apply_damage(rand(5, 10), BRUTE, damage_flags = DAM_SHARP, armor_pen = 100)
|
||||
playsound(get_turf(D), 'sound/weapons/bloodyslice.ogg', 25, 1, -1)
|
||||
return TRUE
|
||||
|
||||
/datum/martial_art/zombie/proc/zombie_help()
|
||||
@@ -44,7 +44,8 @@
|
||||
set category = "Abilities"
|
||||
|
||||
to_chat(usr, "<b><i>You moan inside yourself, grasping knowledge unknown to the living...</i></b>")
|
||||
to_chat(usr, "<span class='notice'>Strong Bite</span>: Harm Harm Harm. Delivers a strong bite to your foe, piercing through any armor they may have.")
|
||||
to_chat(usr, "<span class='notice'>Strong Bite</span>: Harm Harm Harm. Delivers a strong bite to your foe. This bite does 5 to 10 damage but pierces through all armour.")
|
||||
to_chat(usr, "<span class='notice'>Strong Grip</span>: Grab. While weak, your ravenous lust for living flesh allows you to instantly get an aggressive grab on anyone you catch.")
|
||||
to_chat(usr, SPAN_NOTICE("Press the Check Attacks verb in the IC tab! Your bite infects, but it is less powerful than your claws."))
|
||||
|
||||
#undef STRONG_BITE
|
||||
@@ -289,7 +289,7 @@
|
||||
attack.apply_effects(H, src, rand_damage, hit_zone)
|
||||
|
||||
// Finally, apply damage to target
|
||||
apply_damage(real_damage, hit_dam_type, hit_zone, damage_flags = damage_flags)
|
||||
apply_damage(real_damage, hit_dam_type, hit_zone, damage_flags = damage_flags, armor_pen = attack.armor_penetration)
|
||||
|
||||
|
||||
if(M.resting && src.help_up_offer)
|
||||
|
||||
@@ -921,7 +921,8 @@
|
||||
|
||||
var/no_damage = 1
|
||||
var/trauma_val = 0 // Used in calculating softcrit/hardcrit indicators.
|
||||
trauma_val = max(shock_stage,get_shock())/(species.total_health-100)
|
||||
if(can_feel_pain())
|
||||
trauma_val = max(shock_stage,get_shock())/(species.total_health-100)
|
||||
// Collect and apply the images all at once to avoid appearance churn.
|
||||
var/list/health_images = list()
|
||||
for(var/obj/item/organ/external/E in organs)
|
||||
|
||||
@@ -156,6 +156,9 @@
|
||||
icobase = 'icons/mob/human_races/zombie/r_zombie.dmi'
|
||||
deform = 'icons/mob/human_races/zombie/r_zombie.dmi'
|
||||
|
||||
brute_mod = 0.5
|
||||
burn_mod = 0.5
|
||||
|
||||
hide_name = TRUE
|
||||
|
||||
name_language = null // Use the first-name last-name generator rather than a language scrambler
|
||||
@@ -163,7 +166,7 @@
|
||||
language = null
|
||||
default_language = LANGUAGE_GIBBERING
|
||||
|
||||
unarmed_types = list(/datum/unarmed_attack/bite/infectious, /datum/unarmed_attack/claws/strong)
|
||||
unarmed_types = list(/datum/unarmed_attack/bite/infectious, /datum/unarmed_attack/claws/strong/zombie)
|
||||
darksight = 8
|
||||
|
||||
has_fine_manipulation = FALSE
|
||||
@@ -177,12 +180,11 @@
|
||||
|
||||
has_organ = list(
|
||||
BP_ZOMBIE_PARASITE = /obj/item/organ/internal/parasite/zombie,
|
||||
BP_BRAIN = /obj/item/organ/internal/brain,
|
||||
BP_BRAIN = /obj/item/organ/internal/brain/zombie,
|
||||
BP_STOMACH = /obj/item/organ/internal/stomach
|
||||
)
|
||||
|
||||
brute_mod = 0.5
|
||||
burn_mod = 0.5
|
||||
total_health = 100
|
||||
|
||||
slowdown = 3
|
||||
|
||||
@@ -219,6 +221,7 @@
|
||||
H.mutations.Add(CLUMSY)
|
||||
var/datum/martial_art/zombie/Z = new /datum/martial_art/zombie()
|
||||
Z.teach(H)
|
||||
to_chat(H, "<font size=4><span class='notice'>Use the Check Attacks verb in your IC tab for information on your attacks! They are important! Your bite infects, but is worse at getting through armour than your claws, which have great damage and are armor piercing!</font></span>")
|
||||
return ..()
|
||||
|
||||
/datum/species/zombie/tajara
|
||||
|
||||
@@ -74,6 +74,12 @@
|
||||
shredding = TRUE
|
||||
attack_name = "strong claws"
|
||||
|
||||
/datum/unarmed_attack/claws/strong/zombie
|
||||
attack_verb = list("mauled", "slashed", "gored", "stabbed")
|
||||
desc = "These claws are armor-piercing and do a good amount of damage, but do not infect! Use these if you need to take someone with heavy armor down."
|
||||
damage = 25
|
||||
armor_penetration = 35
|
||||
|
||||
/datum/unarmed_attack/bite/strong
|
||||
attack_verb = list("mauled")
|
||||
damage = 10
|
||||
@@ -182,12 +188,16 @@
|
||||
attack_verb = list("mauled","gored","perforated")
|
||||
attack_noun = list("mandibles")
|
||||
damage = 35
|
||||
armor_penetration = 25
|
||||
shredding = TRUE
|
||||
sharp = TRUE
|
||||
edge = TRUE
|
||||
attack_name = "mandibles"
|
||||
|
||||
/datum/unarmed_attack/bite/infectious
|
||||
desc = "This attack infects those you bite, but it is chance-based and depends on their armour. It is not very strong against armoured foes, compared to your claws."
|
||||
damage = 20
|
||||
armor_penetration = 15
|
||||
shredding = TRUE
|
||||
|
||||
/datum/unarmed_attack/bite/infectious/apply_effects(var/mob/living/carbon/human/user,var/mob/living/carbon/human/target,var/armor,var/attack_damage,var/zone)
|
||||
|
||||
@@ -6,6 +6,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
var/attack_noun = list("fist")
|
||||
var/desc = "A simple unarmed attack."
|
||||
var/damage = 0 // Extra empty hand attack damage.
|
||||
var/armor_penetration = 0
|
||||
var/attack_sound = /decl/sound_category/punch_sound
|
||||
var/miss_sound = /decl/sound_category/punchmiss_sound
|
||||
var/shredding = 0 // Calls the old attack_alien() behavior on objects/mobs when on harm intent.
|
||||
@@ -52,7 +53,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
return
|
||||
|
||||
var/stun_chance = rand(0, 100)
|
||||
var/armor = target.get_blocked_ratio(zone, BRUTE)
|
||||
var/armor = target.get_blocked_ratio(zone, BRUTE, damage_flags(), armor_penetration, damage)
|
||||
var/pain_message = TRUE
|
||||
|
||||
if(!target.can_feel_pain())
|
||||
|
||||
@@ -226,3 +226,6 @@
|
||||
to_chat(user, SPAN_WARNING("The brain has already been prepared!"))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/internal/brain/zombie
|
||||
relative_size = 100
|
||||
Reference in New Issue
Block a user