Elite balance tweaks (#18834)

* Elite tweaks

* sirryan changes

* a periodic issue

Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>

Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2022-08-18 18:15:06 -04:00
committed by GitHub
parent ddf9ad431d
commit 7cd42a835e
4 changed files with 11 additions and 10 deletions
@@ -154,11 +154,12 @@
ranged_cooldown = world.time + 4 SECONDS * revive_multiplier()
visible_message("<span class='warning'>The ground shakes near [src]!</span>")
var/list/directions = GLOB.cardinal.Copy() + GLOB.diagonals.Copy()
for(var/mob/child in children_list)
for(var/mob/living/child in children_list)
var/spawndir = pick_n_take(directions)
var/turf/T = get_step(src, spawndir)
if(T)
child.forceMove(T)
child.revive() // at most this is a 29 hp heal.
playsound(src, 'sound/effects/bamf.ogg', 100, 1)
//The goliath's children. Pretty weak, simple mobs which are able to put a single tentacle under their target when at range.
@@ -249,7 +250,7 @@
icon = 'icons/obj/lavaland/elite_trophies.dmi'
icon_state = "broodmother_tongue"
denied_type = /obj/item/crusher_trophy/broodmother_tongue
bonus_value = 25
bonus_value = 75 // same reasoning as legionnaire trophy, target if moving will dodge it, and things like hiero trophy does more anyway.
/// Time at which the item becomes usable again
var/use_time
@@ -257,7 +258,7 @@
return "mark detonation to have a <b>[bonus_value]%</b> chance to summon a patch of goliath tentacles at the target's location"
/obj/item/crusher_trophy/broodmother_tongue/on_mark_detonation(mob/living/target, mob/living/user)
if(rand(1, 100) <= bonus_value && target.stat != DEAD)
if(prob(bonus_value) && target.stat != DEAD)
new /obj/effect/temp_visual/goliath_tentacle/broodmother/patch(get_turf(target), user)
/obj/item/crusher_trophy/broodmother_tongue/attack_self(mob/user)
@@ -272,7 +273,7 @@
return
living_user.weather_immunities += "lava"
to_chat(living_user, "<b>You squeeze the tongue, and some transluscent liquid shoots out all over you.</b>")
addtimer(CALLBACK(src, .proc/remove_lava, living_user), 10 SECONDS)
addtimer(CALLBACK(src, .proc/remove_lava, living_user), 20 SECONDS)
use_time = world.time + 60 SECONDS
/obj/item/crusher_trophy/broodmother_tongue/proc/remove_lava(mob/living/user)
@@ -150,14 +150,14 @@
playsound(get_turf(src), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE)
var/target_turf = get_turf(target)
var/angle_to_target = get_angle(src, target_turf)
say("Pray")
SLEEP_CHECK_DEATH(0.75 SECONDS)// no point blank instant shotgun.
shoot_projectile(target_turf, angle_to_target, FALSE, TRUE)
addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE, TRUE), 0.2 SECONDS)
addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE, TRUE), 0.4 SECONDS)
if(health < maxHealth * 0.5 && !is_mirror)
playsound(get_turf(src), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE)
addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE, TRUE), 1 SECONDS)
addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE, TRUE), 1.2 SECONDS)
addtimer(CALLBACK(src, .proc/shoot_projectile, target_turf, angle_to_target, FALSE, TRUE), 1.4 SECONDS)
/mob/living/simple_animal/hostile/asteroid/elite/herald/proc/herald_circleshot(offset)
var/static/list/directional_shot_angles = list(1, 45, 90, 135, 180, 225, 270, 315) //Trust me, use 1. It really doesn't like zero.
@@ -160,7 +160,7 @@
to_chat(L, "<span class='userdanger'>[src] tramples you and kicks you away!</span>")
L.throw_at(throwtarget, 10, 1, src)
L.KnockDown(1 SECONDS)
L.adjustBruteLoss(melee_damage_upper)
L.adjustBruteLoss(25)
addtimer(CALLBACK(src, .proc/legionnaire_charge_to, move_dir, (times_ran + 1)), 0.7)
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/head_detach(target)
@@ -200,7 +200,7 @@
visible_message("<span class='danger'>The top of [src]'s spine leaks a black liquid, forming into a skull!</span>")
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/bonfire_teleport()
ranged_cooldown = world.time + 0.5 SECONDS * revive_multiplier()
ranged_cooldown = world.time + 2 SECONDS * revive_multiplier()
if(isnull(mypile))
var/obj/structure/legionnaire_bonfire/newpile = new /obj/structure/legionnaire_bonfire(loc)
mypile = newpile
@@ -312,7 +312,7 @@
icon = 'icons/obj/lavaland/elite_trophies.dmi'
icon_state = "legionnaire_spine"
denied_type = /obj/item/crusher_trophy/legionnaire_spine
bonus_value = 25
bonus_value = 75 // listen this dies in one hit, this can be a high chance.
/// Time at which the item becomes usable again
var/next_use_time
@@ -116,7 +116,7 @@
recalculation_speed = 2
/mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/chaser_burst(target)
ranged_cooldown = world.time + cooldown_time * 2
ranged_cooldown = world.time + cooldown_time * 2.5 // this shreads people incredibly effectivly at low hp, so needs higher cooldown than other attacks
var/active_chasers = 0
for(var/mob/living/M in orange(7, src))
if(M.faction_check_mob(src))