diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm index c70094d579..7cfb5d4156 100644 --- a/code/modules/mob/living/simple_mob/simple_mob.dm +++ b/code/modules/mob/living/simple_mob/simple_mob.dm @@ -106,7 +106,7 @@ var/attack_sharp = FALSE // Is the attack sharp? var/attack_edge = FALSE // Does the attack have an edge? - var/melee_attack_delay = null // If set, the mob will do a windup animation and can miss if the target moves out of the way. + var/melee_attack_delay = 2 // If set, the mob will do a windup animation and can miss if the target moves out of the way. var/ranged_attack_delay = null var/special_attack_delay = null diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm index ce46c55d4c..d793e1ae53 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/giant_spider/webslinger.dm @@ -24,6 +24,10 @@ icon_dead = "webslinger_dead" maxHealth = 90 health = 90 + + projectile_dispersion = 12 + projectile_accuracy = -25 + projectilesound = 'sound/weapons/thudswoosh.ogg' projectiletype = /obj/item/projectile/webball base_attack_cooldown = 10 diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm index 237612acae..3973a17add 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm @@ -159,6 +159,8 @@ loot_list = list(/obj/item/weapon/gun/projectile/automatic/c20r = 100) + projectile_dispersion = 7 + projectile_accuracy = -20 base_attack_cooldown = 5 // Two attacks a second or so. reload_max = 20 @@ -181,6 +183,8 @@ loot_list = list(/obj/item/weapon/gun/energy/laser = 100) + projectile_dispersion = 5 + projectile_accuracy = -20 reload_max = 10 // Ion Rifle @@ -206,6 +210,8 @@ reload_max = 4 reload_time = 1.5 SECONDS // It's a shotgun, it takes a moment + projectile_dispersion = 8 + projectile_accuracy = -40 special_attack_charges = 5 @@ -256,6 +262,9 @@ max_n2 = 0 minbodytemp = 0 + projectile_dispersion = 7 + projectile_accuracy = -20 + corpse = /obj/effect/landmark/mobcorpse/syndicatecommando /mob/living/simple_mob/humanoid/merc/ranged/space/Process_Spacemove(var/check_drift = 0) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm index bf2e3eb18a..a99d073a53 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/hivebot/ranged_damage.dm @@ -9,7 +9,8 @@ /mob/living/simple_mob/mechanical/hivebot/ranged_damage/basic name = "ranged hivebot" desc = "A robot with a makeshift integrated ballistic weapon." - + projectile_dispersion = 10 + projectile_accuracy = -20 // This one shoots quickly, and is considerably more dangerous. /mob/living/simple_mob/mechanical/hivebot/ranged_damage/rapid @@ -17,7 +18,8 @@ desc = "A robot with a crude but deadly integrated rifle." base_attack_cooldown = 5 // Two attacks a second or so. player_msg = "You have a rapid fire attack." - + projectile_dispersion = 7 + projectile_accuracy = -10 // Shoots deadly lasers. /mob/living/simple_mob/mechanical/hivebot/ranged_damage/laser @@ -26,7 +28,8 @@ projectiletype = /obj/item/projectile/beam/blue projectilesound = 'sound/weapons/Laser.ogg' player_msg = "You have a laser attack." - + projectile_dispersion = 7 + projectile_accuracy = -20 // Shoots EMPs, to screw over other robots. /mob/living/simple_mob/mechanical/hivebot/ranged_damage/ion @@ -48,6 +51,8 @@ health = 4 LASERS_TO_KILL melee_damage_lower = 15 melee_damage_upper = 15 + projectile_dispersion = 5 + projectile_accuracy = -15 // Also beefy, but tries to stay at their 'home', ideal for base defense. /mob/living/simple_mob/mechanical/hivebot/ranged_damage/strong/guard diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm index 198bc1bd7d..f5baafcc24 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/durand.dm @@ -38,6 +38,8 @@ melee_damage_upper = 40 base_attack_cooldown = 2 SECONDS projectiletype = /obj/item/projectile/beam/heavylaser + projectile_dispersion = 10 + projectile_accuracy = -30 var/defense_mode = FALSE var/defense_deflect = 35 @@ -45,6 +47,7 @@ /mob/living/simple_mob/mechanical/mecha/combat/durand/proc/set_defense_mode(new_mode) defense_mode = new_mode deflect_chance = defense_mode ? defense_deflect : initial(deflect_chance) + projectile_accuracy = defense_mode ? -10 : initial(projectile_accuracy) to_chat(src, span("notice", "You [defense_mode ? "en" : "dis"]able defense mode.")) /mob/living/simple_mob/mechanical/mecha/combat/durand/SelfMove(turf/n, direct) diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/gygax.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/gygax.dm index 14ad41c05a..cecd4bcb7f 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/gygax.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/gygax.dm @@ -31,6 +31,7 @@ "rad" = 100 ) + projectile_dispersion = 8 projectiletype = /obj/item/projectile/beam/midlaser ai_holder_type = /datum/ai_holder/simple_mob/intentional/adv_dark_gygax @@ -80,3 +81,4 @@ icon_state = "medgax" wreckage = /obj/structure/loot_pile/mecha/gygax/medgax + projectile_dispersion = 8 diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/hoverpod.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/hoverpod.dm index d113835654..eea54e7212 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/hoverpod.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mecha/hoverpod.dm @@ -23,6 +23,8 @@ maxHealth = 150 hovering = TRUE // Can fly. + projectile_dispersion = 10 + projectile_accuracy = -30 projectiletype = /obj/item/projectile/beam base_attack_cooldown = 2 SECONDS diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/viscerator.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/viscerator.dm index 3d6d43e575..89281bf4fc 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/viscerator.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/viscerator.dm @@ -36,6 +36,7 @@ mob_swap_flags = 0 mob_push_flags = 0 + melee_attack_delay = null // No attack delay, as their movement is functionally an attack. melee_damage_lower = 4 // Approx 8 DPS. melee_damage_upper = 4 base_attack_cooldown = 5 // Two attacks a second or so.