From 549f47556879c584bd60f0dfb706044a55d62205 Mon Sep 17 00:00:00 2001 From: tattax <71668564+tattax@users.noreply.github.com> Date: Fri, 17 Jun 2022 02:52:09 -0300 Subject: [PATCH] z --- .../bloodsuckers/bloodsucker_daylight.dm | 12 ++++----- .../bloodsuckers/bloodsucker_integration.dm | 4 +-- .../bloodsuckers/bloodsucker_mobs.dm | 3 ++- .../antagonists/bloodsuckers/bloodsuckers.dm | 2 -- .../antagonists/bloodsuckers/powers/gohome.dm | 25 ++++++++++--------- .../bloodsuckers/powers/targeted/brawn.dm | 16 ++++++------ .../structures/bloodsucker_life.dm | 14 +++++------ 7 files changed, 38 insertions(+), 38 deletions(-) diff --git a/code/modules/antagonists/bloodsuckers/bloodsucker_daylight.dm b/code/modules/antagonists/bloodsuckers/bloodsucker_daylight.dm index 5960ff7569ba..ca02ccc0c14f 100644 --- a/code/modules/antagonists/bloodsuckers/bloodsucker_daylight.dm +++ b/code/modules/antagonists/bloodsuckers/bloodsucker_daylight.dm @@ -106,15 +106,15 @@ if(bloodsucker_minds.current) switch(danger_level) if(1) - bloodsucker_minds.current.playsound_local(null, 'sound/effects/griffin_3.ogg', 50 + danger_level, 1) + bloodsucker_minds.current.playsound_local(null, 'sound/effects/griffin_3.ogg', 50 + danger_level, TRUE) if(2) - bloodsucker_minds.current.playsound_local(null, 'sound/effects/griffin_5.ogg', 50 + danger_level, 1) + bloodsucker_minds.current.playsound_local(null, 'sound/effects/griffin_5.ogg', 50 + danger_level, TRUE) if(3) - bloodsucker_minds.current.playsound_local(null, 'sound/effects/alert.ogg', 75, 1) + bloodsucker_minds.current.playsound_local(null, 'sound/effects/alert.ogg', 75, TRUE) if(4) - bloodsucker_minds.current.playsound_local(null, 'sound/ambience/ambimystery.ogg', 100, 1) + bloodsucker_minds.current.playsound_local(null, 'sound/ambience/ambimystery.ogg', 100, TRUE) if(5) - bloodsucker_minds.current.playsound_local(null, 'sound/spookoween/ghosty_wind.ogg', 90, 1) + bloodsucker_minds.current.playsound_local(null, 'sound/spookoween/ghosty_wind.ogg', 90, TRUE) if(vassalwarn != "") for(var/datum/mind/vassal_minds as anything in get_antag_minds(/datum/antagonist/vassal)) if(!istype(vassal_minds)) @@ -136,7 +136,7 @@ var/datum/antagonist/bloodsucker/bloodsuckerdatum = bloodsucker_minds.has_antag_datum(/datum/antagonist/bloodsucker) if(!istype(bloodsuckerdatum)) continue - if(istype(bloodsucker_minds.current.loc, /obj/structure)) + if(isstructure(bloodsucker_minds.current.loc)) if(istype(bloodsucker_minds.current.loc, /obj/structure/closet/crate/coffin)) // Coffins offer the BEST protection SEND_SIGNAL(bloodsucker_minds.current, COMSIG_ADD_MOOD_EVENT, "vampsleep", /datum/mood_event/coffinsleep) continue diff --git a/code/modules/antagonists/bloodsuckers/bloodsucker_integration.dm b/code/modules/antagonists/bloodsuckers/bloodsucker_integration.dm index 041cc91e9a9c..52426c6fae00 100644 --- a/code/modules/antagonists/bloodsuckers/bloodsucker_integration.dm +++ b/code/modules/antagonists/bloodsuckers/bloodsucker_integration.dm @@ -37,8 +37,8 @@ var/datum/antagonist/bloodsucker/bloodsuckerdatum = mind.has_antag_datum(/datum/antagonist/bloodsucker) if(bloodsuckerdatum) . += "" - . += "Current Frenzy Enter: [FRENZY_THRESHOLD_ENTER + (bloodsuckerdatum.humanity_lost * 10)]" - . += "Current Frenzy Leave: [FRENZY_THRESHOLD_EXIT + (bloodsuckerdatum.humanity_lost * 10)]" + . += "Current Frenzy Enter: [FRENZY_THRESHOLD_ENTER + bloodsuckerdatum.humanity_lost * 10]" + . += "Current Frenzy Leave: [FRENZY_THRESHOLD_EXIT + bloodsuckerdatum.humanity_lost * 10]" . += "Blood Drank: [bloodsuckerdatum.total_blood_drank]" if(bloodsuckerdatum.current_task) . += "Task Blood Drank: [bloodsuckerdatum.task_blood_drank]" diff --git a/code/modules/antagonists/bloodsuckers/bloodsucker_mobs.dm b/code/modules/antagonists/bloodsuckers/bloodsucker_mobs.dm index 30c76e233163..0e32b2da38ec 100644 --- a/code/modules/antagonists/bloodsuckers/bloodsucker_mobs.dm +++ b/code/modules/antagonists/bloodsuckers/bloodsucker_mobs.dm @@ -196,7 +196,8 @@ if(bloodsucker) if(ishuman(bloodsucker)) var/mob/living/carbon/human/user = bloodsucker - if(user.blood_volume < 560) + var/datum/antagonist/bloodsucker/bloodsuckerdatum = src.mind.has_antag_datum(/datum/antagonist/bloodsucker) + if(user.blood_volume < FRENZY_THRESHOLD_EXIT + bloodsuckerdatum.humanity_lost * 10) user.blood_volume += 10 adjustFireLoss(2.5) updatehealth() //3 minutes to die diff --git a/code/modules/antagonists/bloodsuckers/bloodsuckers.dm b/code/modules/antagonists/bloodsuckers/bloodsuckers.dm index e7137503c513..4210c1dfadb5 100644 --- a/code/modules/antagonists/bloodsuckers/bloodsuckers.dm +++ b/code/modules/antagonists/bloodsuckers/bloodsuckers.dm @@ -24,8 +24,6 @@ var/humanity_lost = 0 ///Have we been broken the Masquerade? var/broke_masquerade = FALSE - ///Blood required to enter Frenzy - var/frenzy_threshold = FRENZY_THRESHOLD_ENTER ///If we are currently in a Frenzy var/frenzied = FALSE ///If we have a task assigned diff --git a/code/modules/antagonists/bloodsuckers/powers/gohome.dm b/code/modules/antagonists/bloodsuckers/powers/gohome.dm index e82d4475b61b..d0b86fa0d0eb 100644 --- a/code/modules/antagonists/bloodsuckers/powers/gohome.dm +++ b/code/modules/antagonists/bloodsuckers/powers/gohome.dm @@ -57,6 +57,7 @@ if(GOHOME_FLICKER_TWO) INVOKE_ASYNC(src, .proc/flicker_lights, 4, 60) if(GOHOME_TELEPORT) + do_mob(user, user, 1 SECONDS, TRUE) INVOKE_ASYNC(src, .proc/teleport_to_coffin, user) teleporting_stage++ @@ -64,24 +65,24 @@ . = ..() if(!.) return FALSE - if(!isturf(owner.loc)) + if(!isturf(user.loc)) return FALSE if(!bloodsuckerdatum_power.coffin) - to_chat(owner, span_warning("Your coffin has been destroyed! You no longer have a destination.")) + to_chat(user, span_warning("Your coffin has been destroyed! You no longer have a destination.")) return FALSE return TRUE /datum/action/bloodsucker/gohome/proc/flicker_lights(flicker_range, beat_volume) for(var/obj/machinery/light/nearby_lights in view(flicker_range, get_turf(owner))) nearby_lights.flicker(5) - playsound(get_turf(owner), 'sound/effects/singlebeat.ogg', beat_volume, 1) + playsound(get_turf(owner), 'sound/effects/singlebeat.ogg', beat_volume, TRUE) /datum/action/bloodsucker/gohome/proc/teleport_to_coffin(mob/living/carbon/user) var/drop_item = FALSE - var/turf/current_turf = get_turf(owner) + var/turf/current_turf = get_turf(user) // If we aren't in the dark, anyone watching us will cause us to drop out stuff if(current_turf && current_turf.lighting_object && current_turf.get_lumcount() >= 0.2) - for(var/mob/living/watchers in viewers(world.view, get_turf(owner)) - owner) + for(var/mob/living/watchers in viewers(world.view, get_turf(user)) - user) if(!watchers.client) continue if(watchers.has_unlimited_silicon_privilege) @@ -99,10 +100,10 @@ var/obj/item/legcuffs = user.legcuffed user.dropItemToGround(legcuffs) if(drop_item) - for(var/obj/item/literally_everything in owner) - owner.dropItemToGround(literally_everything, TRUE) + for(var/obj/item/literally_everything in user) + user.dropItemToGround(literally_everything, TRUE) - playsound(current_turf, 'sound/magic/summon_karp.ogg', 60, 1) + playsound(current_turf, 'sound/magic/summon_karp.ogg', 60, TRUE) var/datum/effect_system/steam_spread/bloodsucker/puff = new /datum/effect_system/steam_spread/bloodsucker() puff.set_up(3, 0, current_turf) puff.start() @@ -112,13 +113,13 @@ new new_mob(current_turf) /// TELEPORT: Move to Coffin & Close it! user.set_resting(TRUE, TRUE, FALSE) - do_teleport(owner, bloodsuckerdatum_power.coffin, no_effects = TRUE, forced = TRUE, channel = TELEPORT_CHANNEL_QUANTUM) + do_teleport(user, bloodsuckerdatum_power.coffin, no_effects = TRUE, forced = TRUE, channel = TELEPORT_CHANNEL_QUANTUM) user.Stun(3 SECONDS, TRUE) // Puts me inside. - if(!bloodsuckerdatum_power.coffin.insert(owner)) + if(!bloodsuckerdatum_power.coffin.close(user)) // CLOSE LID: If fail, force me in. - bloodsuckerdatum_power.coffin.close(owner) - playsound(bloodsuckerdatum_power.coffin.loc, bloodsuckerdatum_power.coffin.close_sound, 15, 1, -3) + bloodsuckerdatum_power.coffin.insert(user) + playsound(bloodsuckerdatum_power.coffin.loc, bloodsuckerdatum_power.coffin.close_sound, 15, TRUE, -3) DeactivatePower() diff --git a/code/modules/antagonists/bloodsuckers/powers/targeted/brawn.dm b/code/modules/antagonists/bloodsuckers/powers/targeted/brawn.dm index fb7331e8c56c..fcb5dc33d384 100644 --- a/code/modules/antagonists/bloodsuckers/powers/targeted/brawn.dm +++ b/code/modules/antagonists/bloodsuckers/powers/targeted/brawn.dm @@ -45,8 +45,8 @@ if(!istype(closet)) return FALSE closet.visible_message( - span_warning("closet] tears apart as [user] bashes it open from within!"), - span_warning("closet] tears apart as you bash it open from within!"), + span_warning("[closet] tears apart as [user] bashes it open from within!"), + span_warning("[closet] tears apart as you bash it open from within!"), ) to_chat(user, span_warning("We bash [closet] wide open!")) addtimer(CALLBACK(src, .proc/break_closet, user, closet), 1) @@ -80,7 +80,7 @@ // Did we end up using our ability? If so, play the sound effect and return TRUE if(used) - playsound(get_turf(user), 'sound/effects/grillehit.ogg', 80, 1, -1) + playsound(get_turf(user), 'sound/effects/grillehit.ogg', 80, TRUE, -1) return used // This is its own proc because its done twice, to repeat code copypaste. @@ -96,7 +96,7 @@ return FALSE var/mob/pulled_mob = owner.pulledby var/pull_power = pulled_mob.grab_state - playsound(get_turf(pulled_mob), 'sound/effects/woodhit.ogg', 75, 1, -1) + playsound(get_turf(pulled_mob), 'sound/effects/woodhit.ogg', 75, TRUE, -1) // Knock Down (if Living) if(isliving(pulled_mob)) var/mob/living/hit_target = pulled_mob @@ -133,7 +133,7 @@ target.Knockdown(min(5, rand(10, 10 * powerlevel))) // Attack! to_chat(owner, span_warning("You punch [target]!")) - playsound(get_turf(target), 'sound/weapons/punch4.ogg', 60, 1, -1) + playsound(get_turf(target), 'sound/weapons/punch4.ogg', 60, TRUE, -1) user.do_attack_animation(target, ATTACK_EFFECT_SMASH) var/obj/item/bodypart/affecting = target.get_bodypart(ran_zone(target.zone_selected)) target.apply_damage(hitStrength, BRUTE, affecting) @@ -153,11 +153,11 @@ return FALSE target_closet.visible_message(span_danger("[target_closet] breaks open as [user] bashes it!")) addtimer(CALLBACK(src, .proc/break_closet, user, target_closet), 1) - playsound(get_turf(user), 'sound/effects/grillehit.ogg', 80, 1, -1) + playsound(get_turf(user), 'sound/effects/grillehit.ogg', 80, TRUE, -1) // Target Type: Door else if(istype(target_atom, /obj/machinery/door) && level_current >= 4) var/obj/machinery/door/target_airlock = target_atom - playsound(get_turf(user), 'sound/machines/airlock_alien_prying.ogg', 40, 1, -1) + playsound(get_turf(user), 'sound/machines/airlock_alien_prying.ogg', 40, TRUE, -1) to_chat(owner, span_warning("You prepare to tear open [target_airlock]...")) if(!do_mob(user, target_airlock, 2.5 SECONDS)) return FALSE @@ -165,7 +165,7 @@ target_airlock.visible_message(span_danger("[target_airlock] breaks open as [user] bashes it!")) user.Stun(10) user.do_attack_animation(target_airlock, ATTACK_EFFECT_SMASH) - playsound(get_turf(target_airlock), 'sound/effects/bang.ogg', 30, 1, -1) + playsound(get_turf(target_airlock), 'sound/effects/bang.ogg', 30, TRUE, -1) target_airlock.open(2) // open(2) is like a crowbar or jaws of life. /datum/action/bloodsucker/targeted/brawn/CheckValidTarget(atom/target_atom) diff --git a/code/modules/antagonists/bloodsuckers/structures/bloodsucker_life.dm b/code/modules/antagonists/bloodsuckers/structures/bloodsucker_life.dm index 7f99c1fb1208..4a94505bec52 100644 --- a/code/modules/antagonists/bloodsuckers/structures/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsuckers/structures/bloodsucker_life.dm @@ -36,7 +36,7 @@ to_chat(owner.current, span_warning("You hit the maximum amount of lost Humanity, you are far from Human.")) return humanity_lost += value - to_chat(owner.current, span_warning("You feel as if you lost some of your humanity, you will now enter Frenzy at [FRENZY_THRESHOLD_ENTER + (humanity_lost * 10)] Blood.")) + to_chat(owner.current, span_warning("You feel as if you lost some of your humanity, you will now enter Frenzy at [FRENZY_THRESHOLD_ENTER + humanity_lost * 10] Blood.")) /// mult: SILENT feed is 1/3 the amount /datum/antagonist/bloodsucker/proc/HandleFeeding(mob/living/carbon/target, mult=1, power_level) @@ -236,7 +236,7 @@ // BLOOD_VOLUME_GOOD: [336] - Pale // handled in bloodsucker_integration.dm // BLOOD_VOLUME_EXIT: [560] - Exit Frenzy (If in one) This is high because we want enough to kill the poor soul they feed off of. - if(owner.current.blood_volume >= FRENZY_THRESHOLD_EXIT && frenzied) + if(owner.current.blood_volume >= (FRENZY_THRESHOLD_EXIT + humanity_lost * 10) && frenzied) owner.current.remove_status_effect(STATUS_EFFECT_FRENZY) // BLOOD_VOLUME_BAD: [224] - Jitter if(owner.current.blood_volume < BLOOD_VOLUME_BAD(owner.current) && prob(0.5) && !HAS_TRAIT(owner.current, TRAIT_NODEATH) && !HAS_TRAIT(owner.current, TRAIT_MASQUERADE)) @@ -246,7 +246,7 @@ owner.current.blur_eyes(8 - 8 * (owner.current.blood_volume / BLOOD_VOLUME_BAD(owner.current))) // The more blood, the better the Regeneration, get too low blood, and you enter Frenzy. - if(owner.current.blood_volume < (FRENZY_THRESHOLD_ENTER + (humanity_lost * 10)) && !frenzied) + if(owner.current.blood_volume < (FRENZY_THRESHOLD_ENTER + humanity_lost * 10) && !frenzied) if(!iscarbon(owner.current)) return if(owner.current.stat == DEAD) @@ -276,18 +276,18 @@ owner.current.apply_status_effect(STATUS_EFFECT_FRENZY) return if(2 to INFINITY) - AddBloodVolume(560 - user.blood_volume) //so it doesn't happen multiple times and refills your blood when you get out again + AddBloodVolume(FRENZY_THRESHOLD_EXIT + humanity_lost * 10 - user.blood_volume) //so it doesn't happen multiple times and refills your blood when you get out again if(!do_mob(user, user, 2 SECONDS, TRUE)) return - playsound(user.loc, 'sound/weapons/slash.ogg', 25, 1) + playsound(user.loc, 'sound/weapons/slash.ogg', 25, TRUE) to_chat(user, span_warning("You skin rips and tears.")) if(!do_mob(user, user, 1 SECONDS, TRUE)) return - playsound(user.loc, 'sound/weapons/slashmiss.ogg', 25, 1) + playsound(user.loc, 'sound/weapons/slashmiss.ogg', 25, TRUE) to_chat(user, span_warning("You heart pumps blackened blood into your veins as your skin turns into fur.")) if(!do_mob(user, user, 1 SECONDS, TRUE)) return - playsound(user.loc, 'sound/weapons/slice.ogg', 25, 1) + playsound(user.loc, 'sound/weapons/slice.ogg', 25, TRUE) to_chat(user, span_boldnotice("YOU HAVE AWOKEN.")) var/mob/living/simple_animal/hostile/bloodsucker/werewolf/ww if(!ww || ww.stat == DEAD)