Most common melee simple mobs now have AP + damage flags, hivebot buffs. (#13272)

This commit is contained in:
Matt Atlas
2022-03-01 17:10:39 +01:00
committed by GitHub
parent 13113a24ec
commit 1c21ae5e6f
20 changed files with 74 additions and 8 deletions
@@ -500,7 +500,7 @@
/mob/living/carbon/human/proc/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, inrange, params)
return
/mob/living/carbon/human/attack_generic(var/mob/user, var/damage, var/attack_message)
/mob/living/carbon/human/attack_generic(var/mob/user, var/damage, var/attack_message, var/armor_penetration, var/attack_flags)
if(!damage)
return
@@ -516,7 +516,7 @@
if(!dam_zone)
dam_zone = pick(organs)
var/obj/item/organ/external/affecting = get_organ(dam_zone)
apply_damage(damage, BRUTE, affecting)
apply_damage(damage, BRUTE, affecting, armor_pen = armor_penetration, damage_flags = attack_flags)
updatehealth()
return TRUE
+1 -1
View File
@@ -222,7 +222,7 @@
// End BS12 momentum-transfer code.
/mob/living/attack_generic(var/mob/user, var/damage, var/attack_message)
/mob/living/attack_generic(var/mob/user, var/damage, var/attack_message, var/armor_penetration, var/attack_flags)
if(!damage)
return
@@ -10,6 +10,7 @@
response_harm = "viciously beaten"
melee_damage_lower = 10
melee_damage_upper = 10
armor_penetration = 20
attacktext = "rammed"
organ_names = list("core", "production array", "sensor array")
speed = 0
@@ -9,6 +9,7 @@
health_prefix = "harvester"
melee_damage_lower = 25
melee_damage_upper = 25
armor_penetration = 60
attacktext = "violently stabbed"
organ_names = list("core", "harvesting array")
speed = -1
@@ -11,6 +11,7 @@
harm_intent_damage = 0
melee_damage_lower = 30
melee_damage_upper = 30
armor_penetration = 40
attacktext = "smashed their armored gauntlet into"
organ_names = list("core", "right arm", "left arm")
mob_size = MOB_LARGE
@@ -97,6 +97,7 @@
melee_damage_lower = 15
melee_damage_upper = 15
armor_penetration = 20
attacktext = "gored"
attack_sound = 'sound/weapons/bite.ogg'
@@ -26,6 +26,8 @@
maxHealth = 80
melee_damage_lower = 10
melee_damage_upper = 18
armor_penetration = 30 //Standard armor probably doesn't help against a bear, does it?
attack_flags = DAM_EDGE|DAM_SHARP
resist_mod = 4
break_stuff_probability = 80
mob_size = 17
@@ -25,6 +25,8 @@
harm_intent_damage = 4
melee_damage_lower = 15
melee_damage_upper = 15
armor_penetration = 15
attack_flags = DAM_EDGE
attacktext = "bitten"
attack_sound = 'sound/weapons/bite.ogg'
@@ -33,6 +33,7 @@
health = 200
melee_damage_lower = 15
melee_damage_upper = 20
armor_penetration = 10
resist_mod = 1.5
heat_damage_per_tick = 20
cold_damage_per_tick = 20
@@ -61,6 +62,7 @@
health = 40
melee_damage_lower = 5
melee_damage_upper = 10
armor_penetration = 20
poison_per_bite = 10
var/atom/cocoon_target
poison_type = /decl/reagent/soporific
@@ -78,6 +80,7 @@
health = 120
melee_damage_lower = 10
melee_damage_upper = 20
armor_penetration = 15
poison_per_bite = 5
move_to_delay = 4
@@ -91,6 +94,7 @@
health = 100
melee_damage_lower = 5
melee_damage_upper = 10
armor_penetration = 15
poison_type = /decl/reagent/perconol // mildly beneficial for organics
poison_per_bite = 2
move_to_delay = 5
@@ -9,6 +9,8 @@
maxHealth = 15
melee_damage_lower = 10
melee_damage_upper = 10
armor_penetration = 40
attack_flags = DAM_SHARP|DAM_EDGE
break_stuff_probability = 25
attacktext = "slashed"
projectilesound = 'sound/weapons/bladeslice.ogg'
@@ -1,8 +1,8 @@
/obj/item/projectile/beam/hivebot
name = "electrical discharge"
damage = 10
damage = 20
damage_type = BURN
agony = 30
agony = 20
armor_penetration = 40
muzzle_type = /obj/effect/projectile/muzzle/stun
tracer_type = /obj/effect/projectile/tracer/stun
@@ -18,6 +18,7 @@
name = "archaic energy welder"
damage_type = BURN
damage = 20
armor_penetration = 15
incinerate = 5
muzzle_type = /obj/effect/projectile/muzzle/laser/blue
tracer_type = /obj/effect/projectile/tracer/laser/blue
@@ -1,9 +1,11 @@
/obj/item/projectile/bullet/pistol/hivebotspike
name = "spike"
damage = 10
armor_penetration = 40
sharp = 1
embed = 0
/obj/item/projectile/bullet/pistol/hivebotspike/needle
name = "needle"
damage = 5
damage = 5
armor_penetration = 60
@@ -192,7 +192,7 @@ mob/living/simple_animal/hostile/hitby(atom/movable/AM as mob|obj,var/speed = TH
var/atom/target
if(isliving(target_mob))
var/mob/living/L = target_mob
L.attack_generic(src, rand(melee_damage_lower, melee_damage_upper), attacktext)
L.attack_generic(src, rand(melee_damage_lower, melee_damage_upper), attacktext, armor_penetration, attack_flags)
on_attack_mob(L)
target = L
else if(istype(target_mob, /obj/machinery/bot))
@@ -12,6 +12,7 @@
maxHealth = 50
melee_damage_lower = 5
melee_damage_upper = 8
armor_penetration = 5
attacktext = "sliced"
faction = "silicon"
min_oxy = 0
@@ -27,6 +27,7 @@
health = 1100
melee_damage_lower = 35
melee_damage_upper = 40
armor_penetration = 30
resist_mod = 15 // LOL good luck pal
heat_damage_per_tick = 20
cold_damage_per_tick = 20
@@ -20,6 +20,7 @@
harm_intent_damage = 5
melee_damage_lower = 30
melee_damage_upper = 30
armor_penetration = 15
resist_mod = 3
mob_size = 15
environment_smash = 2
@@ -9,6 +9,7 @@
maxHealth = 15
melee_damage_lower = 10
melee_damage_upper = 15
armor_penetration = 20
density = 0
attacktext = "cut"
attack_sound = 'sound/weapons/bladeslice.ogg'
@@ -82,6 +82,8 @@
//LETTING SIMPLE ANIMALS ATTACK? WHAT COULD GO WRONG. Defaults to zero so Ian can still be cuddly
var/melee_damage_lower = 0
var/melee_damage_upper = 0
var/armor_penetration = 0
var/attack_flags = 0
var/attacktext = "attacked"
var/attack_sound = null
var/friendly = "nuzzles"