Skip to content

Commit

Permalink
Wendigo Ability Fix, DREAM bEastR tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
Lynx22330 committed Nov 21, 2024
1 parent 002e51e commit 8aadef3
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
playsound(src, pick(attack_sound), 100, TRUE, -1)
face_atom(C)
src.visible_message(span_danger("[src] starts to rip apart [C]!"))
if(do_after(src,100, target = L))
if(do_mob(src,100, target = L))
var/obj/item/bodypart/limb
var/list/limb_list = list(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
for(var/zone in limb_list)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/datum/status_effect/buff/induced_insanity //What is... happening!?
id = "inducedinsanity"
alert_type = /atom/movable/screen/alert/status_effect/buff/induced_insanity
effectedstats = list("strength" = -4, "perception" = -4, "constitution" = -4, "endurance" = -4, "speed" = -4, "fortune" = -4)
effectedstats = list("strength" = -2, "perception" = -2, "constitution" = -1, "endurance" = -1, "speed" = -6, "fortune" = -6)
duration = 1 MINUTES

/atom/movable/screen/alert/status_effect/buff/induced_insanity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
/mob/living/simple_animal/hostile/retaliate/rogue/brain_gusher_beast
icon = 'modular_causticcove/icons/monsters/lavaland_monsters.dmi'
name = "brain gusher beast"
name = "DREAM bEastR"
icon_state = "curseblob"
icon_living = "curseblob"
icon_living = "curseblob"
icon_dead = null
gender = NEUTER
emote_hear = null
emote_see = null
speak_chance = 1
turns_per_move = 1
see_in_dark = 1
see_in_dark = 12
move_to_delay = 1
base_intents = list(/datum/intent/unarmed/claw)
butcher_results = list(/obj/item/reagent_containers/powder/moondust = 1)
faction = list("hallucination")
mob_biotypes = MOB_BEAST
melee_damage_lower = 1
melee_damage_upper = 10
melee_damage_upper = 5
vision_range = 12
aggro_vision_range = 12
environment_smash = ENVIRONMENT_SMASH_NONE
Expand All @@ -34,7 +34,8 @@
STASPD = 15
deaggroprob = 0
simple_detect_bonus = 20
defprob = 0
//Garunteed dodge on the first attack
defprob = 200
defdrain = 0
del_on_deaggro = 120 SECONDS
retreat_health = 0
Expand All @@ -44,6 +45,12 @@
aggressive = 1
// stat_attack = UNCONSCIOUS
var/summoned = FALSE
alpha = 88

//The summoned form that comes from the original brain gusher to prevent infinite mob spawning
/mob/living/simple_animal/hostile/retaliate/rogue/brain_gusher_beast/summoned
summoned = TRUE

/mob/living/simple_animal/hostile/retaliate/rogue/brain_gusher_beast/Initialize()
. = ..()
ADD_TRAIT(src, TRAIT_BLOODLOSS_IMMUNE, TRAIT_GENERIC)
Expand All @@ -61,18 +68,20 @@
. = ..()
if(isliving(target))
var/mob/living/carbon/L = target
//Lie down and FACE YOUR FEARS!!! In other words, attack while prone.
if((L.mobility_flags & MOBILITY_STAND) && !L.has_status_effect(/datum/status_effect/buff/induced_insanity))
L.Knockdown(20)
//Jumpscare, then slow down, and become visible
move_to_delay = 3
turns_per_move = 3
alpha = 255
if(!L.has_status_effect(/datum/status_effect/buff/induced_insanity))
L.emote("laugh")
L.apply_status_effect(/datum/status_effect/buff/induced_insanity)
//How many are there?!!
if(prob(25) && !summoned)
new /mob/living/simple_animal/hostile/retaliate/rogue/brain_gusher_beast(L.loc)
playsound(src, 'sound/misc/zizo.ogg', 100, TRUE)
//How many are there?!! A total trickster beast
if(prob(50) && !summoned)
new /mob/living/simple_animal/hostile/retaliate/rogue/brain_gusher_beast/summoned(L.loc)
playsound(src, 'sound/misc/zizo.ogg', 100, FALSE)
summoned = TRUE

/mob/living/simple_animal/hostile/retaliate/rogue/brain_gusher_beast/death(gibbed)
. = ..()
playsound(src, 'sound/misc/zizo.ogg', 50, TRUE)
playsound(src, 'sound/misc/zizo.ogg', 75, TRUE)
qdel(src)
Original file line number Diff line number Diff line change
Expand Up @@ -82,34 +82,45 @@
src.allow_ability = TRUE

//This ability is fucked. I know it's fucked. But I cannot for the life of me figure out how to lock them in place.
//WHY IS IT SO HARD TO STOP A MOB FROM FUCKING MOVING!!! IT WORKS!!!!!!!
/mob/living/simple_animal/hostile/retaliate/rogue/wendigo_beast/proc/rend_ability()
toggle_ai(AI_OFF)
ability_cd = 20
var/list/targets = oview(1, src)
for(var/mob/living/T in targets)
visible_message(span_warningbig("The [src] pins [T] to the ground!"))
face_atom(T)
T.Stun(90)
src.Stun(90) // Stop moving.
T.emote("scream")
for(var/i in 1 to 12)
if(do_after(src, 3))
if(do_after_mob(src, T, 3, TRUE))
//Stop moving during this sequence.
walk(src, 0)

T.attack_animal(src)
src.adjustBruteLoss(-10)
src.blood_volume += 20
if(prob(2))
var/obj/item/bodypart/limb
var/list/limb_list = list(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
for(var/zone in limb_list)
limb = T.get_bodypart(zone)
if(limb)
limb.dismember()
visible_message(span_warningbig("\The [src] tears off [T]'s [limb.name]!!!"))
if(prob(50))
T.emote("scream")
T.emote("painscream")
new /obj/effect/gibspawner/generic(T.loc)
targets = list()
toggle_ai(AI_ON)

/mob/living/simple_animal/hostile/retaliate/rogue/wendigo_beast/Life()
. = ..()
if(health <= (maxHealth/2) && !stagetwo)
src.stagetwo++
src.icon_state = icon_half_hp
enter_stage_two()
if(prob(25))
if(src.ability_cd <= 0 && src.allow_ability)
rend_ability()
if(src.ability_cd <= 0 && src.allow_ability)
rend_ability()
ability_cd--
//Fuck bleed, this thing is FULLY immune to bleed.
if(src.blood_volume < BLOOD_VOLUME_NORMAL)
Expand All @@ -119,5 +130,5 @@
/mob/living/simple_animal/hostile/retaliate/rogue/wendigo_beast/AttackingTarget()
. = ..()
if(prob(50))
src.adjustBruteLoss(-5)
src.adjustBruteLoss(-10)
src.blood_volume += 10

0 comments on commit 8aadef3

Please sign in to comment.