From 42fadee5359f2829d859ebadf197ef8a0bb0706f Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sun, 25 Apr 2021 22:20:02 +0200 Subject: [PATCH] [MIRROR] Generally brings about half the heretic antag code up to our code standards, more or less (#5164) * Generally brings about half the heretic antag code up to our code standards, more or less * Update eldritch_knowledge.dm Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com> Co-authored-by: Gandalf --- code/_globalvars/game_modes.dm | 2 +- .../eldritch_cult/eldritch_antag.dm | 120 +++++++++--------- .../eldritch_cult/eldritch_knowledge.dm | 108 ++++++++-------- .../eldritch_cult/knowledge/ash_lore.dm | 101 ++++++++++----- .../eldritch_cult/knowledge/flesh_lore.dm | 72 ++++++----- .../eldritch_cult/knowledge/rust_lore.dm | 51 +++++--- .../eldritch_cult/knowledge/void_lore.dm | 59 ++++++--- 7 files changed, 295 insertions(+), 218 deletions(-) diff --git a/code/_globalvars/game_modes.dm b/code/_globalvars/game_modes.dm index 79d4a6f47b1..bb9cb6353aa 100644 --- a/code/_globalvars/game_modes.dm +++ b/code/_globalvars/game_modes.dm @@ -11,5 +11,5 @@ GLOBAL_DATUM(start_state, /datum/station_state) // Used in round-end report //TODO clear this one up too GLOBAL_DATUM(cult_narsie, /obj/narsie) -///We want reality_smash_tracker to exist only once and be accesable from anywhere. +///We want reality_smash_tracker to exist only once and be accessible from anywhere. GLOBAL_DATUM_INIT(reality_smash_track, /datum/reality_smash_tracker, new) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm index 9c459a76616..5a23c2ffead 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm @@ -23,10 +23,14 @@ to_chat(owner, "You are the Heretic!
\ The old ones gave you these tasks to fulfill:") owner.announce_objectives() - to_chat(owner, "The book whispers softly, its forbidden knowledge walks this plane once again!
\ - Your book allows you to research abilities. Read it very carefully, for you cannot undo what has been done!
\ - You gain charges by either collecting influences or sacrificing people tracked by the living heart.
\ - You can find a basic guide at : https://tgstation13.org/wiki/Heresy_101
") + to_chat(owner, "The book whispers softly, its forbidden knowledge walks this plane once again!") + var/policy = get_policy(ROLE_HERETIC) + if(policy) + to_chat(owner, policy) + +/datum/antagonist/heretic/farewell() + to_chat(owner.current, "Your mind begins to flare as the otherwordly knowledge escapes your grasp!") + owner.announce_objectives() /datum/antagonist/heretic/on_gain() var/mob/living/current = owner.current @@ -34,55 +38,53 @@ forge_primary_objectives() for(var/eldritch_knowledge in GLOB.heretic_start_knowledge) gain_knowledge(eldritch_knowledge) - current.log_message("has been converted to the cult of the forgotten ones!", LOG_ATTACK, color="#960000") + current.log_message("has been made into a heretic!", LOG_ATTACK, color="#960000") GLOB.reality_smash_track.AddMind(owner) - START_PROCESSING(SSprocessing,src) - RegisterSignal(owner.current,COMSIG_LIVING_DEATH,.proc/on_death) + START_PROCESSING(SSprocessing, src) + RegisterSignal(owner.current, COMSIG_LIVING_DEATH, .proc/on_death) if(give_equipment) equip_cultist() return ..() /datum/antagonist/heretic/on_removal() - for(var/X in researched_knowledge) - var/datum/eldritch_knowledge/EK = researched_knowledge[X] - EK.on_lose(owner.current) + for(var/knowledge_index in researched_knowledge) + var/datum/eldritch_knowledge/knowledge = researched_knowledge[knowledge_index] + knowledge.on_lose(owner.current) + + owner.current.log_message("is no longer a heretic!", LOG_ATTACK, color="#960000") - if(!silent) - to_chat(owner.current, "Your mind begins to flare as the otherwordly knowledge escapes your grasp!") - owner.current.log_message("has renounced the cult of the old ones!", LOG_ATTACK, color="#960000") GLOB.reality_smash_track.RemoveMind(owner) - STOP_PROCESSING(SSprocessing,src) + STOP_PROCESSING(SSprocessing, src) on_death() return ..() - /datum/antagonist/heretic/proc/equip_cultist() - var/mob/living/carbon/H = owner.current - if(!istype(H)) + var/mob/living/carbon/heretic = owner.current + if(!istype(heretic)) return - . += ecult_give_item(/obj/item/forbidden_book, H) - . += ecult_give_item(/obj/item/living_heart, H) + . += ecult_give_item(/obj/item/forbidden_book, heretic) + . += ecult_give_item(/obj/item/living_heart, heretic) -/datum/antagonist/heretic/proc/ecult_give_item(obj/item/item_path, mob/living/carbon/human/H) +/datum/antagonist/heretic/proc/ecult_give_item(obj/item/item_path, mob/living/carbon/human/heretic) var/list/slots = list( "backpack" = ITEM_SLOT_BACKPACK, "left pocket" = ITEM_SLOT_LPOCKET, "right pocket" = ITEM_SLOT_RPOCKET ) - var/T = new item_path(H) + var/T = new item_path(heretic) var/item_name = initial(item_path.name) - var/where = H.equip_in_one_of_slots(T, slots) + var/where = heretic.equip_in_one_of_slots(T, slots) if(!where) - to_chat(H, "Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).") + to_chat(heretic, "Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).") return FALSE else - to_chat(H, "You have a [item_name] in your [where].") + to_chat(heretic, "You have a [item_name] in your [where].") if(where == "backpack") - SEND_SIGNAL(H.back, COMSIG_TRY_STORAGE_SHOW, H) + SEND_SIGNAL(heretic.back, COMSIG_TRY_STORAGE_SHOW, heretic) return TRUE /datum/antagonist/heretic/process() @@ -90,16 +92,16 @@ if(owner.current.stat == DEAD) return - for(var/X in researched_knowledge) - var/datum/eldritch_knowledge/EK = researched_knowledge[X] - EK.on_life(owner.current) + for(var/knowledge_index in researched_knowledge) + var/datum/eldritch_knowledge/knowledge = researched_knowledge[knowledge_index] + knowledge.on_life(owner.current) ///What happens to the heretic once he dies, used to remove any custom perks /datum/antagonist/heretic/proc/on_death() - for(var/X in researched_knowledge) - var/datum/eldritch_knowledge/EK = researched_knowledge[X] - EK.on_death(owner.current) + for(var/knowledge_index in researched_knowledge) + var/datum/eldritch_knowledge/knowledge = researched_knowledge[knowledge_index] + knowledge.on_death(owner.current) /datum/antagonist/heretic/proc/forge_primary_objectives() var/list/assasination = list() @@ -114,20 +116,20 @@ forge_objective(pck1,assasination,protection) forge_objective(pck2,assasination,protection) - var/datum/objective/sacrifice_ecult/SE = new - SE.owner = owner - SE.update_explanation_text() - objectives += SE + var/datum/objective/sacrifice_ecult/sac_objective = new + sac_objective.owner = owner + sac_objective.update_explanation_text() + objectives += sac_objective /datum/antagonist/heretic/proc/forge_objective(string,assasination,protection) switch(string) if("assassinate") - var/datum/objective/assassinate/A = new - A.owner = owner - var/list/owners = A.get_owners() - A.find_target(owners,protection) - assasination += A.target - objectives += A + var/datum/objective/assassinate/kill = new + kill.owner = owner + var/list/owners = kill.get_owners() + kill.find_target(owners,protection) + assasination += kill.target + objectives += kill if("hijack") var/datum/objective/hijack/hijack = new hijack.owner = owner @@ -137,12 +139,12 @@ martyrdom.owner = owner objectives += martyrdom if("protect") - var/datum/objective/protect/P = new - P.owner = owner - var/list/owners = P.get_owners() - P.find_target(owners,assasination) - protection += P.target - objectives += P + var/datum/objective/protect/protect = new + protect.owner = owner + var/list/owners = protect.get_owners() + protect.find_target(owners,assasination) + protection += protect.target + objectives += protect /datum/antagonist/heretic/apply_innate_effects(mob/living/mob_override) . = ..() @@ -195,10 +197,10 @@ parts += "Knowledge Researched: " var/list/knowledge_message = list() - var/list/knowledge = get_all_knowledge() - for(var/X in knowledge) - var/datum/eldritch_knowledge/EK = knowledge[X] - knowledge_message += "[EK.name]" + var/list/researched_knowledge = get_all_knowledge() + for(var/knowledge_index in researched_knowledge) + var/datum/eldritch_knowledge/knowledge = researched_knowledge[knowledge_index] + knowledge_message += "[knowledge.name]" parts += knowledge_message.Join(", ") return parts.Join("
") @@ -206,10 +208,10 @@ // Knowledge // //////////////// -/datum/antagonist/heretic/proc/gain_knowledge(datum/eldritch_knowledge/EK) - if(get_knowledge(EK)) +/datum/antagonist/heretic/proc/gain_knowledge(datum/eldritch_knowledge/knowledge) + if(get_knowledge(knowledge)) return FALSE - var/datum/eldritch_knowledge/initialized_knowledge = new EK + var/datum/eldritch_knowledge/initialized_knowledge = new knowledge researched_knowledge[initialized_knowledge.type] = initialized_knowledge initialized_knowledge.on_gain(owner.current) return TRUE @@ -217,11 +219,11 @@ /datum/antagonist/heretic/proc/get_researchable_knowledge() var/list/researchable_knowledge = list() var/list/banned_knowledge = list() - for(var/X in researched_knowledge) - var/datum/eldritch_knowledge/EK = researched_knowledge[X] - researchable_knowledge |= EK.next_knowledge - banned_knowledge |= EK.banned_knowledge - banned_knowledge |= EK.type + for(var/knowledge_index in researched_knowledge) + var/datum/eldritch_knowledge/knowledge = researched_knowledge[knowledge_index] + researchable_knowledge |= knowledge.next_knowledge + banned_knowledge |= knowledge.banned_knowledge + banned_knowledge |= knowledge.type researchable_knowledge -= banned_knowledge return researchable_knowledge diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm index 33724c36201..e9468aa3a9b 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm @@ -29,9 +29,8 @@ /datum/eldritch_knowledge/New() . = ..() var/list/temp_list - for(var/X in required_atoms) - var/atom/A = X - temp_list += list(typesof(A)) + for(var/atom/required_atom as anything in required_atoms) + temp_list += list(typesof(required_atom)) required_atoms = temp_list /** @@ -62,7 +61,7 @@ * * If you are adding a more complex summoning or something that requires a special check that parses through all the atoms in an area override this. */ -/datum/eldritch_knowledge/proc/recipe_snowflake_check(list/atoms,loc) +/datum/eldritch_knowledge/proc/recipe_snowflake_check(list/atoms, loc) return TRUE /** @@ -78,13 +77,11 @@ * * By default this proc creates atoms from result_atoms list. Override this is you want something else to happen. */ -/datum/eldritch_knowledge/proc/on_finished_recipe(mob/living/user,list/atoms,loc) - if(result_atoms.len == 0) +/datum/eldritch_knowledge/proc/on_finished_recipe(mob/living/user, list/atoms, loc) + if(!length(result_atoms)) return FALSE - - for(var/A in result_atoms) - new A(loc) - + for(var/result in result_atoms) + new result(loc) return TRUE /** @@ -93,11 +90,10 @@ * Overide this proc if you dont want ALL ATOMS to be destroyed. useful in many situations. */ /datum/eldritch_knowledge/proc/cleanup_atoms(list/atoms) - for(var/X in atoms) - var/atom/A = X - if(!isliving(A)) - atoms -= A - qdel(A) + for(var/atom/sacrificed as anything in atoms) + if(!isliving(sacrificed)) + atoms -= sacrificed + qdel(sacrificed) return /** @@ -133,8 +129,8 @@ var/obj/effect/proc_holder/spell/spell_to_add /datum/eldritch_knowledge/spell/on_gain(mob/user) - var/obj/effect/proc_holder/S = new spell_to_add - user.mind.AddSpell(S) + spell_to_add = new + user.mind.AddSpell(spell_to_add) return ..() /datum/eldritch_knowledge/spell/on_lose(mob/user) @@ -148,9 +144,8 @@ /datum/eldritch_knowledge/curse/recipe_snowflake_check(list/atoms, loc) fingerprints = list() - for(var/X in atoms) - var/atom/A = X - fingerprints |= A.return_fingerprints() + for(var/atom/requirements as anything in atoms) + fingerprints |= requirements.return_fingerprints() listclearnulls(fingerprints) if(fingerprints.len == 0) return FALSE @@ -160,8 +155,7 @@ var/list/compiled_list = list() - for(var/H in GLOB.human_list) - var/mob/living/carbon/human/human_to_check = H + for(var/mob/living/carbon/human/human_to_check as anything in GLOB.human_list) if(fingerprints[md5(human_to_check.dna.uni_identity)]) compiled_list |= human_to_check.real_name compiled_list[human_to_check.real_name] = human_to_check @@ -187,8 +181,7 @@ //Mob to summon var/mob/living/mob_to_summon - -/datum/eldritch_knowledge/summon/on_finished_recipe(mob/living/user,list/atoms,loc) +/datum/eldritch_knowledge/summon/on_finished_recipe(mob/living/user, list/atoms, loc) //we need to spawn the mob first so that we can use it in pollCandidatesForMob, we will move it from nullspace down the code var/mob/living/summoned = new mob_to_summon(loc) message_admins("[summoned.name] is being summoned by [user.real_name] in [loc]") @@ -197,10 +190,10 @@ to_chat(user,"No ghost could be found...") qdel(summoned) return FALSE - var/mob/dead/observer/C = pick(candidates) - log_game("[key_name_admin(C)] has taken control of ([key_name_admin(summoned)]), their master is [user.real_name]") + var/mob/dead/observer/picked_candidate = pick(candidates) + log_game("[key_name_admin(picked_candidate)] has taken control of ([key_name_admin(summoned)]), their master is [user.real_name]") summoned.ghostize(FALSE) - summoned.key = C.key + summoned.key = picked_candidate.key summoned.mind.add_antag_datum(/datum/antagonist/heretic_monster) var/datum/antagonist/heretic_monster/heretic_monster = summoned.mind.has_antag_datum(/datum/antagonist/heretic_monster) var/datum/antagonist/heretic/master = user.mind.has_antag_datum(/datum/antagonist/heretic) @@ -212,12 +205,12 @@ var/finished = FALSE -/datum/eldritch_knowledge/final/recipe_snowflake_check(list/atoms, loc,selected_atoms) +/datum/eldritch_knowledge/final/recipe_snowflake_check(list/atoms, loc, selected_atoms) if(finished) return FALSE var/counter = 0 - for(var/mob/living/carbon/human/H in atoms) - selected_atoms |= H + for(var/mob/living/carbon/human/sacrifices in atoms) + selected_atoms |= sacrifices counter++ if(counter == 3) return TRUE @@ -231,9 +224,9 @@ /datum/eldritch_knowledge/final/cleanup_atoms(list/atoms) . = ..() - for(var/mob/living/carbon/human/H in atoms) - atoms -= H - H.gib() + for(var/mob/living/carbon/human/sacrifices in atoms) + atoms -= sacrifices + sacrifices.gib() /////////////// @@ -252,41 +245,40 @@ /datum/eldritch_knowledge/spell/basic/recipe_snowflake_check(list/atoms, loc) . = ..() - for(var/obj/item/living_heart/LH in atoms) - if(!LH.target) + for(var/obj/item/living_heart/heart in atoms) + if(!heart.target) return TRUE - if(LH.target in atoms) + if(heart.target in atoms) return TRUE return FALSE /datum/eldritch_knowledge/spell/basic/on_finished_recipe(mob/living/user, list/atoms, loc) . = TRUE var/mob/living/carbon/carbon_user = user - for(var/obj/item/living_heart/LH in atoms) + for(var/obj/item/living_heart/heart in atoms) - if(LH.target && LH.target.stat == DEAD) + if(heart.target && heart.target.stat == DEAD) to_chat(carbon_user,"Your patrons accepts your offer..") - var/mob/living/carbon/human/H = LH.target + var/mob/living/carbon/human/current_target = heart.target //SKYRAT EDIT BEGIN: MAKES HERETICS NOT GIB PEOPLE - var/obj/item/bodypart/chest/chest = H.get_bodypart(BODY_ZONE_CHEST) + var/obj/item/bodypart/chest/chest = current_target.get_bodypart(BODY_ZONE_CHEST) chest.dismember() - H.visible_message("[H.name] Is quickly surrounded by invisible claws; lacerating their chest open, spilling their organs out!", \ - "You feel claws tear your chest open; spilling your organs out onto the floor!", ignored_mobs=H) + current_target.visible_message("[current_target.name] Is quickly surrounded by invisible claws; lacerating their chest open, spilling their organs out!", \ + "You feel claws tear your chest open; spilling your organs out onto the floor!", ignored_mobs=current_target) //SKYRAT EDIT END - LH.target = null - var/datum/antagonist/heretic/EC = carbon_user.mind.has_antag_datum(/datum/antagonist/heretic) + heart.target = null + var/datum/antagonist/heretic/heretic_datum = carbon_user.mind.has_antag_datum(/datum/antagonist/heretic) - EC.total_sacrifices++ - for(var/X in carbon_user.get_all_gear()) - if(!istype(X,/obj/item/forbidden_book)) + heretic_datum.total_sacrifices++ + for(var/obj/item/forbidden_book/book as anything in carbon_user.get_all_gear()) + if(!istype(book)) continue - var/obj/item/forbidden_book/FB = X - FB.charge += 3 //SKYRAT EDIT: More points for sacrifice + book.charge += 2 break - if(!LH.target) - var/datum/objective/A = new - A.owner = user.mind + if(!heart.target) + var/datum/objective/temp_objective = new + temp_objective.owner = user.mind var/list/datum/team/teams = list() for(var/datum/antagonist/antag as anything in user.mind.antag_datums) var/datum/team/team = antag.get_team() @@ -294,7 +286,7 @@ teams |= team var/list/targets = list() for(var/i in 0 to 3) - var/datum/mind/targeted = A.find_target()//easy way, i dont feel like copy pasting that entire block of code + var/datum/mind/targeted = temp_objective.find_target()//easy way, i dont feel like copy pasting that entire block of code var/is_teammate = FALSE for(var/datum/team/team as anything in teams) if(targeted in team.members) @@ -303,12 +295,12 @@ if(!targeted) break targets["[targeted.current.real_name] the [targeted.assigned_role][is_teammate ? " (ally)" : ""]"] = targeted.current - LH.target = targets[input(user,"Choose your next target","Target") in targets] - qdel(A) - if(LH.target) - to_chat(user,"Your new target has been selected, go and sacrifice [LH.target.real_name]!") + heart.target = targets[input(user,"Choose your next target","Target") in targets] + qdel(temp_objective) + if(heart.target) + to_chat(user,"Your new target has been selected, go and sacrifice [heart.target.real_name]!") else - to_chat(user,"target could not be found for living heart.") + to_chat(user, "target could not be found for living heart.") /datum/eldritch_knowledge/spell/basic/cleanup_atoms(list/atoms) return diff --git a/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm index 19fa86e4497..bcb7be757ee 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm @@ -2,9 +2,16 @@ name = "Nightwatcher's Secret" desc = "Opens up the Path of Ash to you. Allows you to transmute a match with a kitchen knife, or its derivatives, into an Ashen Blade." gain_text = "The City Guard know their watch. If you ask them at night, they may tell you about the ashy lantern." - banned_knowledge = list(/datum/eldritch_knowledge/base_rust,/datum/eldritch_knowledge/base_flesh,/datum/eldritch_knowledge/final/rust_final,/datum/eldritch_knowledge/final/flesh_final,/datum/eldritch_knowledge/final/void_final,/datum/eldritch_knowledge/base_void) + banned_knowledge = list( + /datum/eldritch_knowledge/base_rust, + /datum/eldritch_knowledge/base_flesh, + /datum/eldritch_knowledge/final/rust_final, + /datum/eldritch_knowledge/final/flesh_final, + /datum/eldritch_knowledge/final/void_final, + /datum/eldritch_knowledge/base_void + ) next_knowledge = list(/datum/eldritch_knowledge/ashen_grasp) - required_atoms = list(/obj/item/kitchen/knife,/obj/item/match) + required_atoms = list(/obj/item/kitchen/knife, /obj/item/match) result_atoms = list(/obj/item/melee/sickly_blade/ash) cost = 1 route = PATH_ASH @@ -15,7 +22,11 @@ desc = "A short range jaunt that can help you escape from bad situations." cost = 1 spell_to_add = /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/ash - next_knowledge = list(/datum/eldritch_knowledge/ash_mark,/datum/eldritch_knowledge/essence,/datum/eldritch_knowledge/ashen_eyes) + next_knowledge = list( + /datum/eldritch_knowledge/ash_mark, + /datum/eldritch_knowledge/essence, + /datum/eldritch_knowledge/ashen_eyes + ) route = PATH_ASH /datum/eldritch_knowledge/ashen_grasp @@ -30,26 +41,22 @@ . = ..() if(!iscarbon(target)) return - var/mob/living/carbon/C = target - to_chat(C, "Your eyes burn horrifically!") //pocket sand! also, this is the message that changeling blind stings use, and no, I'm not ashamed about reusing it - C.become_nearsighted(EYE_DAMAGE) - C.blind_eyes(5) - C.blur_eyes(10) - return + var/mob/living/carbon/blind_victim = target + to_chat(blind_victim, "Your eyes burn horrifically!") //pocket sand! also, this is the message that changeling blind stings use, and no, I'm not ashamed about reusing it + blind_victim.become_nearsighted(EYE_DAMAGE) + blind_victim.blind_eyes(5) + blind_victim.blur_eyes(10) /datum/eldritch_knowledge/ashen_grasp/on_eldritch_blade(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(!iscarbon(target)) return - var/mob/living/carbon/C = target - var/datum/status_effect/eldritch/E = C.has_status_effect(/datum/status_effect/eldritch/rust) || C.has_status_effect(/datum/status_effect/eldritch/ash) || C.has_status_effect(/datum/status_effect/eldritch/flesh) || C.has_status_effect(/datum/status_effect/eldritch/void) - if(E) - E.on_effect() - for(var/X in user.mind.spell_list) - if(!istype(X,/obj/effect/proc_holder/spell/targeted/touch/mansus_grasp)) - continue - var/obj/effect/proc_holder/spell/targeted/touch/mansus_grasp/MG = X - MG.charge_counter = min(round(MG.charge_counter + MG.charge_max * 0.75),MG.charge_max) // refunds 75% of charge. + var/mob/living/carbon/victim = target + var/datum/status_effect/eldritch/effect = victim.has_status_effect(/datum/status_effect/eldritch/rust) || victim.has_status_effect(/datum/status_effect/eldritch/ash) || victim.has_status_effect(/datum/status_effect/eldritch/flesh) || victim.has_status_effect(/datum/status_effect/eldritch/void) + if(effect) + effect.on_effect() + for(var/obj/effect/proc_holder/spell/targeted/touch/mansus_grasp/grasp in user.mind.spell_list) + grasp.charge_counter = min(round(grasp.charge_counter + grasp.charge_max * 0.75), grasp.charge_max) // refunds 75% of charge. /datum/eldritch_knowledge/ashen_eyes name = "Ashen Eyes" @@ -66,7 +73,11 @@ desc = "Your Mansus Grasp now applies the Mark of Ash on hit. Attack the afflicted with your Sickly Blade to detonate the mark. Upon detonation, the Mark of Ash causes stamina damage and burn damage, and spreads to an additional nearby opponent. The damage decreases with each spread." cost = 2 next_knowledge = list(/datum/eldritch_knowledge/mad_mask) - banned_knowledge = list(/datum/eldritch_knowledge/rust_mark,/datum/eldritch_knowledge/flesh_mark,/datum/eldritch_knowledge/void_mark) + banned_knowledge = list( + /datum/eldritch_knowledge/rust_mark, + /datum/eldritch_knowledge/flesh_mark, + /datum/eldritch_knowledge/void_mark + ) route = PATH_ASH /datum/eldritch_knowledge/ash_mark/on_mansus_grasp(target,user,proximity_flag,click_parameters) @@ -74,7 +85,7 @@ if(isliving(target)) . = TRUE var/mob/living/living_target = target - living_target.apply_status_effect(/datum/status_effect/eldritch/ash,5) + living_target.apply_status_effect(/datum/status_effect/eldritch/ash, 5) /datum/eldritch_knowledge/mad_mask name = "Mask of Madness" @@ -83,7 +94,11 @@ cost = 1 result_atoms = list(/obj/item/clothing/mask/void_mask) required_atoms = list(/obj/item/organ/eyes,/obj/item/clothing/mask,/obj/item/candle) - next_knowledge = list(/datum/eldritch_knowledge/curse/corrosion,/datum/eldritch_knowledge/ash_blade_upgrade,/datum/eldritch_knowledge/curse/paralysis) + next_knowledge = list( + /datum/eldritch_knowledge/curse/corrosion, + /datum/eldritch_knowledge/ash_blade_upgrade, + /datum/eldritch_knowledge/curse/paralysis + ) route = PATH_ASH /datum/eldritch_knowledge/spell/flame_birth @@ -92,7 +107,11 @@ desc = "Short range spell that allows you to curse someone with massive sanity loss." cost = 1 spell_to_add = /obj/effect/proc_holder/spell/targeted/fiery_rebirth - next_knowledge = list(/datum/eldritch_knowledge/spell/cleave,/datum/eldritch_knowledge/summon/ashy,/datum/eldritch_knowledge/final/ash_final) + next_knowledge = list( + /datum/eldritch_knowledge/spell/cleave, + /datum/eldritch_knowledge/summon/ashy, + /datum/eldritch_knowledge/final/ash_final + ) route = PATH_ASH /datum/eldritch_knowledge/ash_blade_upgrade @@ -101,15 +120,19 @@ desc = "Your blade of choice will now light your enemies ablaze." cost = 2 next_knowledge = list(/datum/eldritch_knowledge/spell/flame_birth) - banned_knowledge = list(/datum/eldritch_knowledge/rust_blade_upgrade,/datum/eldritch_knowledge/flesh_blade_upgrade,/datum/eldritch_knowledge/void_blade_upgrade) + banned_knowledge = list( + /datum/eldritch_knowledge/rust_blade_upgrade, + /datum/eldritch_knowledge/flesh_blade_upgrade, + /datum/eldritch_knowledge/void_blade_upgrade + ) route = PATH_ASH /datum/eldritch_knowledge/ash_blade_upgrade/on_eldritch_blade(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(iscarbon(target)) - var/mob/living/carbon/C = target - C.adjust_fire_stacks(1) - C.IgniteMob() + var/mob/living/carbon/burn_victim = target + burn_victim.adjust_fire_stacks(1) + burn_victim.IgniteMob() /datum/eldritch_knowledge/curse/corrosion name = "Curse of Corrosion" @@ -117,7 +140,10 @@ desc = "Curse someone for 2 minutes of vomiting and major organ damage. Using a wirecutter, a pool of blood, a heart, left arm and a right arm, and an item that the victim touched with their bare hands." cost = 1 required_atoms = list(/obj/item/wirecutters,/obj/effect/decal/cleanable/vomit,/obj/item/organ/heart) - next_knowledge = list(/datum/eldritch_knowledge/mad_mask,/datum/eldritch_knowledge/spell/area_conversion) + next_knowledge = list( + /datum/eldritch_knowledge/mad_mask, + /datum/eldritch_knowledge/spell/area_conversion + ) timer = 2 MINUTES /datum/eldritch_knowledge/curse/corrosion/curse(mob/living/chosen_mob) @@ -164,16 +190,23 @@ required_atoms = list(/mob/living/carbon/human) cost = 3 route = PATH_ASH - var/list/trait_list = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE) + var/list/trait_list = list( + TRAIT_RESISTHEAT, + TRAIT_NOBREATH, + TRAIT_RESISTCOLD, + TRAIT_RESISTHIGHPRESSURE, + TRAIT_RESISTLOWPRESSURE, + TRAIT_NOFIRE + ) /datum/eldritch_knowledge/final/ash_final/on_finished_recipe(mob/living/user, list/atoms, loc) priority_announce("$^@&#*$^@(#&$(@&#^$&#^@# Fear the blaze, for the Ashlord, [user.real_name] has ascended! The flames shall consume all! $^@&#*$^@(#&$(@&#^$&#^@#","#$^@&#*$^@(#&$(@&#^$&#^@#", ANNOUNCER_SPANOMALIES) user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/fire_cascade/big) user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/fire_sworn) - var/mob/living/carbon/human/H = user - H.physiology.brute_mod *= 0.5 - H.physiology.burn_mod *= 0.5 - H.client?.give_award(/datum/award/achievement/misc/ash_ascension, H) - for(var/X in trait_list) - ADD_TRAIT(user,X,MAGIC_TRAIT) + var/mob/living/carbon/human/ascendant = user + ascendant.physiology.brute_mod *= 0.5 + ascendant.physiology.burn_mod *= 0.5 + ascendant.client?.give_award(/datum/award/achievement/misc/ash_ascension, ascendant) + for(var/trait in trait_list) + ADD_TRAIT(user, trait, MAGIC_TRAIT) return ..() diff --git a/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm index 7c8240f0861..85f754bf288 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm @@ -2,9 +2,16 @@ name = "Principle of Hunger" desc = "Opens up the Path of Flesh to you. Allows you to transmute a pool of blood with a kitchen knife, or its derivatives, into a Flesh Blade." gain_text = "Hundreds of us starved, but not me... I found strength in my greed." - banned_knowledge = list(/datum/eldritch_knowledge/base_ash,/datum/eldritch_knowledge/base_rust,/datum/eldritch_knowledge/final/ash_final,/datum/eldritch_knowledge/final/rust_final,/datum/eldritch_knowledge/final/void_final,/datum/eldritch_knowledge/base_void) + banned_knowledge = list( + /datum/eldritch_knowledge/base_ash, + /datum/eldritch_knowledge/base_rust, + /datum/eldritch_knowledge/final/ash_final, + /datum/eldritch_knowledge/final/rust_final, + /datum/eldritch_knowledge/final/void_final, + /datum/eldritch_knowledge/base_void + ) next_knowledge = list(/datum/eldritch_knowledge/flesh_grasp) - required_atoms = list(/obj/item/kitchen/knife,/obj/effect/decal/cleanable/blood) + required_atoms = list(/obj/item/kitchen/knife, /obj/effect/decal/cleanable/blood) result_atoms = list(/obj/item/melee/sickly_blade/flesh) cost = 1 route = PATH_FLESH @@ -14,36 +21,37 @@ desc = "Allows you to resurrect the dead as voiceless dead by sacrificing them on the transmutation rune with a poppy. Voiceless dead are mute and have 50 HP. You can only have 2 at a time." gain_text = "I found notes of a dark ritual, unfinished... yet still, I pushed forward." cost = 1 - required_atoms = list(/mob/living/carbon/human,/obj/item/food/grown/poppy) - next_knowledge = list(/datum/eldritch_knowledge/flesh_mark,/datum/eldritch_knowledge/void_cloak,/datum/eldritch_knowledge/ashen_eyes) + required_atoms = list(/mob/living/carbon/human, /obj/item/food/grown/poppy) + next_knowledge = list( + /datum/eldritch_knowledge/flesh_mark, + /datum/eldritch_knowledge/void_cloak, + /datum/eldritch_knowledge/ashen_eyes + ) route = PATH_FLESH var/max_amt = 2 var/current_amt = 0 var/list/ghouls = list() -/datum/eldritch_knowledge/flesh_ghoul/on_finished_recipe(mob/living/user,list/atoms,loc) +/datum/eldritch_knowledge/flesh_ghoul/on_finished_recipe(mob/living/user, list/atoms, loc) var/mob/living/carbon/human/humie = locate() in atoms if(QDELETED(humie) || humie.stat != DEAD) return - if(length(ghouls) >= max_amt) return - if(HAS_TRAIT(humie,TRAIT_HUSK)) return - humie.grab_ghost() if(!humie.mind || !humie.client) var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as a [humie.real_name], a voiceless dead", ROLE_HERETIC, null, ROLE_HERETIC, 50,humie) if(!LAZYLEN(candidates)) return - var/mob/dead/observer/C = pick(candidates) - message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(humie)]) to replace an AFK player.") + var/mob/dead/observer/chosen_candidate = pick(candidates) + message_admins("[key_name_admin(chosen_candidate)] has taken control of ([key_name_admin(humie)]) to replace an AFK player.") humie.ghostize(0) - humie.key = C.key + humie.key = chosen_candidate.key - ADD_TRAIT(humie,TRAIT_MUTE,MAGIC_TRAIT) + ADD_TRAIT(humie, TRAIT_MUTE, MAGIC_TRAIT) log_game("[key_name_admin(humie)] has become a voiceless dead, their master is [user.real_name]") humie.revive(full_heal = TRUE, admin_revive = TRUE) humie.setMaxHealth(50) @@ -55,7 +63,7 @@ var/datum/antagonist/heretic/master = user.mind.has_antag_datum(/datum/antagonist/heretic) heretic_monster.set_owner(master) atoms -= humie - RegisterSignal(humie,COMSIG_LIVING_DEATH,.proc/remove_ghoul) + RegisterSignal(humie,COMSIG_LIVING_DEATH, .proc/remove_ghoul) ghouls += humie /datum/eldritch_knowledge/flesh_ghoul/proc/remove_ghoul(datum/source) @@ -79,25 +87,18 @@ if(!ishuman(target) || target == user) return var/mob/living/carbon/human/human_target = target - - if(QDELETED(human_target) || human_target.stat != DEAD) return - human_target.grab_ghost() - if(!human_target.mind || !human_target.client) to_chat(user, "There is no soul connected to this body...") return - if(HAS_TRAIT(human_target, TRAIT_HUSK)) to_chat(user, "You cannot revive a dead ghoul!") return - if(LAZYLEN(spooky_scaries) >= ghoul_amt) to_chat(user, "Your patron cannot support more ghouls on this plane!") return - LAZYADD(spooky_scaries, human_target) log_game("[key_name_admin(human_target)] has become a ghoul, their master is [user.real_name]") //we change it to true only after we know they passed all the checks @@ -111,7 +112,6 @@ var/datum/antagonist/heretic_monster/heretic_monster = human_target.mind.add_antag_datum(/datum/antagonist/heretic_monster) var/datum/antagonist/heretic/master = user.mind.has_antag_datum(/datum/antagonist/heretic) heretic_monster.set_owner(master) - return /datum/eldritch_knowledge/flesh_grasp/on_eldritch_blade(atom/target, mob/user, proximity_flag, click_parameters) . = ..() @@ -173,7 +173,11 @@ cost = 1 required_atoms = list(/obj/item/organ/eyes,/obj/effect/decal/cleanable/blood,/obj/item/bodypart/l_arm) mob_to_summon = /mob/living/simple_animal/hostile/eldritch/raw_prophet - next_knowledge = list(/datum/eldritch_knowledge/flesh_blade_upgrade,/datum/eldritch_knowledge/rune_carver,/datum/eldritch_knowledge/curse/paralysis) + next_knowledge = list( + /datum/eldritch_knowledge/flesh_blade_upgrade, + /datum/eldritch_knowledge/rune_carver, + /datum/eldritch_knowledge/curse/paralysis + ) route = PATH_FLESH /datum/eldritch_knowledge/summon/stalker @@ -183,7 +187,11 @@ cost = 1 required_atoms = list(/obj/item/pen,/obj/item/organ/eyes,/obj/item/candle,/obj/item/paper) mob_to_summon = /mob/living/simple_animal/hostile/eldritch/stalker - next_knowledge = list(/datum/eldritch_knowledge/summon/ashy,/datum/eldritch_knowledge/summon/rusty,/datum/eldritch_knowledge/final/flesh_final) + next_knowledge = list( + /datum/eldritch_knowledge/summon/ashy, + /datum/eldritch_knowledge/summon/rusty, + /datum/eldritch_knowledge/final/flesh_final + ) route = PATH_FLESH /datum/eldritch_knowledge/summon/ashy @@ -226,12 +234,12 @@ user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/shed_human_form) if(!ishuman(user)) return - var/mob/living/carbon/human/H = user - H.physiology.brute_mod *= 0.5 - H.physiology.burn_mod *= 0.5 - H.client?.give_award(/datum/award/achievement/misc/flesh_ascension, H) - var/datum/antagonist/heretic/heretic = user.mind.has_antag_datum(/datum/antagonist/heretic) - var/datum/eldritch_knowledge/flesh_grasp/ghoul1 = heretic.get_knowledge(/datum/eldritch_knowledge/flesh_grasp) - ghoul1.ghoul_amt *= 3 - var/datum/eldritch_knowledge/flesh_ghoul/ghoul2 = heretic.get_knowledge(/datum/eldritch_knowledge/flesh_ghoul) - ghoul2.max_amt *= 3 + var/mob/living/carbon/human/lord_of_arms = user + lord_of_arms.physiology.brute_mod *= 0.5 + lord_of_arms.physiology.burn_mod *= 0.5 + lord_of_arms.client?.give_award(/datum/award/achievement/misc/flesh_ascension, lord_of_arms) + var/datum/antagonist/heretic/heretic_datum = user.mind.has_antag_datum(/datum/antagonist/heretic) + var/datum/eldritch_knowledge/flesh_grasp/grasp_ghoul = heretic_datum.get_knowledge(/datum/eldritch_knowledge/flesh_grasp) + grasp_ghoul.ghoul_amt *= 3 + var/datum/eldritch_knowledge/flesh_ghoul/better_ghoul = heretic_datum.get_knowledge(/datum/eldritch_knowledge/flesh_ghoul) + better_ghoul.max_amt *= 3 diff --git a/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm index 084c5cee71b..7da8c009a92 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm @@ -16,7 +16,13 @@ cost = 1 next_knowledge = list(/datum/eldritch_knowledge/rust_regen) var/rust_force = 500 - var/static/list/blacklisted_turfs = typecacheof(list(/turf/closed,/turf/open/space,/turf/open/lava,/turf/open/chasm,/turf/open/floor/plating/rust)) + var/static/list/blacklisted_turfs = typecacheof(list( + /turf/closed, + /turf/open/space, + /turf/open/lava, + /turf/open/chasm, + /turf/open/floor/plating/rust + )) route = PATH_RUST /datum/eldritch_knowledge/rust_fist/on_mansus_grasp(atom/target, mob/living/user, proximity_flag, click_parameters) @@ -35,11 +41,11 @@ /datum/eldritch_knowledge/rust_fist/on_eldritch_blade(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(ishuman(target)) - var/mob/living/carbon/human/H = target - var/datum/status_effect/eldritch/E = H.has_status_effect(/datum/status_effect/eldritch/rust) || H.has_status_effect(/datum/status_effect/eldritch/ash) || H.has_status_effect(/datum/status_effect/eldritch/flesh) || H.has_status_effect(/datum/status_effect/eldritch/void) - if(E) - E.on_effect() - H.adjustOrganLoss(pick(ORGAN_SLOT_BRAIN,ORGAN_SLOT_EARS,ORGAN_SLOT_EYES,ORGAN_SLOT_LIVER,ORGAN_SLOT_LUNGS,ORGAN_SLOT_STOMACH,ORGAN_SLOT_HEART),25) + var/mob/living/carbon/human/victim = target + var/datum/status_effect/eldritch/effect = victim.has_status_effect(/datum/status_effect/eldritch/rust) || victim.has_status_effect(/datum/status_effect/eldritch/ash) || victim.has_status_effect(/datum/status_effect/eldritch/flesh) || victim.has_status_effect(/datum/status_effect/eldritch/void) + if(effect) + effect.on_effect() + victim.adjustOrganLoss(pick(ORGAN_SLOT_BRAIN,ORGAN_SLOT_EARS,ORGAN_SLOT_EYES,ORGAN_SLOT_LIVER,ORGAN_SLOT_LUNGS,ORGAN_SLOT_STOMACH,ORGAN_SLOT_HEART),25) /datum/eldritch_knowledge/spell/area_conversion name = "Agressive Spread" @@ -47,7 +53,11 @@ gain_text = "All wise men know well not to touch the Bound King." cost = 1 spell_to_add = /obj/effect/proc_holder/spell/aoe_turf/rust_conversion - next_knowledge = list(/datum/eldritch_knowledge/rust_blade_upgrade,/datum/eldritch_knowledge/curse/corrosion,/datum/eldritch_knowledge/crucible) + next_knowledge = list( + /datum/eldritch_knowledge/rust_blade_upgrade, + /datum/eldritch_knowledge/curse/corrosion, + /datum/eldritch_knowledge/crucible + ) route = PATH_RUST /datum/eldritch_knowledge/rust_regen @@ -55,7 +65,11 @@ desc = "Passively heals you and provides stun resistance when you are on rusted tiles." gain_text = "The strength was unparalleled, unnatural. The Blacksmith was smiling." cost = 1 - next_knowledge = list(/datum/eldritch_knowledge/rust_mark,/datum/eldritch_knowledge/armor,/datum/eldritch_knowledge/essence) + next_knowledge = list( + /datum/eldritch_knowledge/rust_mark, + /datum/eldritch_knowledge/armor, + /datum/eldritch_knowledge/essence + ) route = PATH_RUST /datum/eldritch_knowledge/rust_regen/on_gain(mob/user) @@ -203,7 +217,13 @@ var/list/edge_turfs = list() var/list/turfs = list() var/turf/centre - var/static/list/blacklisted_turfs = typecacheof(list(/turf/open/indestructible,/turf/closed/indestructible,/turf/open/space,/turf/open/lava,/turf/open/chasm)) + var/static/list/blacklisted_turfs = typecacheof(list( + /turf/open/indestructible, + /turf/closed/indestructible, + /turf/open/space, + /turf/open/lava, + /turf/open/chasm + )) var/spread_per_sec = 6 @@ -224,14 +244,13 @@ if(edge_turfs.len < spread_am) compile_turfs() - var/turf/T + var/turf/rust_affected for(var/i in 0 to spread_am) if(!edge_turfs.len) continue - T = pick(edge_turfs - turfs) - T.rust_heretic_act() - turfs += T - + rust_affected = pick(edge_turfs - turfs) + rust_affected.rust_heretic_act() + turfs += rust_affected /** @@ -245,8 +264,8 @@ var/max_dist = 1 for(var/turfie in turfs) if(!istype(turfie,/turf/closed/wall/rust) && !istype(turfie,/turf/closed/wall/r_wall/rust) && !istype(turfie,/turf/open/floor/plating/rust)) - removal_list +=turfie - max_dist = max(max_dist,get_dist(turfie,centre)+1) + removal_list += turfie + max_dist = max(max_dist, get_dist(turfie,centre) +1) turfs -= removal_list for(var/turfie in spiral_range_turfs(max_dist,centre,FALSE)) diff --git a/code/modules/antagonists/eldritch_cult/knowledge/void_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/void_lore.dm index 534d78f45f6..1a4d10c21ac 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/void_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/void_lore.dm @@ -2,7 +2,14 @@ name = "Glimmer of Winter" desc = "Opens up the path of void to you. Allows you to transmute a knife in a sub-zero temperature into a void blade." gain_text = "I feel a shimmer in the air, atmosphere around me gets colder. I feel my body realizing the emptiness of existance. Something's watching me" - banned_knowledge = list(/datum/eldritch_knowledge/base_ash,/datum/eldritch_knowledge/base_flesh,/datum/eldritch_knowledge/final/ash_final,/datum/eldritch_knowledge/final/flesh_final,/datum/eldritch_knowledge/base_rust,/datum/eldritch_knowledge/final/rust_final) + banned_knowledge = list( + /datum/eldritch_knowledge/base_ash, + /datum/eldritch_knowledge/base_flesh, + /datum/eldritch_knowledge/final/ash_final, + /datum/eldritch_knowledge/final/flesh_final, + /datum/eldritch_knowledge/base_rust, + /datum/eldritch_knowledge/final/rust_final + ) next_knowledge = list(/datum/eldritch_knowledge/void_grasp) required_atoms = list(/obj/item/kitchen/knife) result_atoms = list(/obj/item/melee/sickly_blade/void) @@ -38,12 +45,12 @@ . = ..() if(!ishuman(target)) return - var/mob/living/carbon/human/H = target - var/datum/status_effect/eldritch/E = H.has_status_effect(/datum/status_effect/eldritch/rust) || H.has_status_effect(/datum/status_effect/eldritch/ash) || H.has_status_effect(/datum/status_effect/eldritch/flesh) || H.has_status_effect(/datum/status_effect/eldritch/void) - if(!E) + var/mob/living/carbon/human/victim = target + var/datum/status_effect/eldritch/effect = victim.has_status_effect(/datum/status_effect/eldritch/rust) || victim.has_status_effect(/datum/status_effect/eldritch/ash) || victim.has_status_effect(/datum/status_effect/eldritch/flesh) || victim.has_status_effect(/datum/status_effect/eldritch/void) + if(!effect) return - E.on_effect() - H.silent += 3 + effect.on_effect() + victim.silent += 3 /datum/eldritch_knowledge/cold_snap name = "Aristocrat's Way" @@ -55,12 +62,12 @@ /datum/eldritch_knowledge/cold_snap/on_gain(mob/user) . = ..() - ADD_TRAIT(user,TRAIT_RESISTCOLD,MAGIC_TRAIT) + ADD_TRAIT(user, TRAIT_RESISTCOLD, MAGIC_TRAIT) ADD_TRAIT(user, TRAIT_NOBREATH, MAGIC_TRAIT) /datum/eldritch_knowledge/cold_snap/on_lose(mob/user) . = ..() - REMOVE_TRAIT(user,TRAIT_RESISTCOLD,MAGIC_TRAIT) + REMOVE_TRAIT(user, TRAIT_RESISTCOLD, MAGIC_TRAIT) REMOVE_TRAIT(user, TRAIT_NOBREATH, MAGIC_TRAIT) /datum/eldritch_knowledge/void_cloak @@ -78,7 +85,11 @@ desc = "Your mansus grasp now applies mark of void status effect. To proc the mark, use your sickly blade on the marked. Mark of void when procced lowers the victims body temperature significantly." cost = 2 next_knowledge = list(/datum/eldritch_knowledge/spell/void_phase) - banned_knowledge = list(/datum/eldritch_knowledge/rust_mark,/datum/eldritch_knowledge/ash_mark,/datum/eldritch_knowledge/flesh_mark) + banned_knowledge = list( + /datum/eldritch_knowledge/rust_mark, + /datum/eldritch_knowledge/ash_mark, + /datum/eldritch_knowledge/flesh_mark + ) route = PATH_VOID /datum/eldritch_knowledge/void_mark/on_mansus_grasp(atom/target, mob/user, proximity_flag, click_parameters) @@ -95,7 +106,11 @@ desc = "You gain a long range pointed blink that allows you to instantly teleport to your location, it causes aoe damage around you and your chosen location." cost = 1 spell_to_add = /obj/effect/proc_holder/spell/pointed/void_blink - next_knowledge = list(/datum/eldritch_knowledge/rune_carver,/datum/eldritch_knowledge/crucible,/datum/eldritch_knowledge/void_blade_upgrade) + next_knowledge = list( + /datum/eldritch_knowledge/rune_carver, + /datum/eldritch_knowledge/crucible, + /datum/eldritch_knowledge/void_blade_upgrade + ) route = PATH_VOID /datum/eldritch_knowledge/rune_carver @@ -122,7 +137,11 @@ desc = "You can now use your blade on a distant marked target to move to them and attack them." cost = 2 next_knowledge = list(/datum/eldritch_knowledge/spell/voidpull) - banned_knowledge = list(/datum/eldritch_knowledge/ash_blade_upgrade,/datum/eldritch_knowledge/flesh_blade_upgrade,/datum/eldritch_knowledge/rust_blade_upgrade) + banned_knowledge = list( + /datum/eldritch_knowledge/ash_blade_upgrade, + /datum/eldritch_knowledge/flesh_blade_upgrade, + /datum/eldritch_knowledge/rust_blade_upgrade + ) route = PATH_VOID /datum/eldritch_knowledge/void_blade_upgrade/on_ranged_attack_eldritch_blade(atom/target, mob/user, click_parameters) @@ -145,7 +164,11 @@ desc = "You gain an ability that let's you pull people around you closer to you." cost = 1 spell_to_add = /obj/effect/proc_holder/spell/targeted/void_pull - next_knowledge = list(/datum/eldritch_knowledge/final/void_final,/datum/eldritch_knowledge/spell/blood_siphon,/datum/eldritch_knowledge/summon/rusty) + next_knowledge = list( + /datum/eldritch_knowledge/final/void_final, + /datum/eldritch_knowledge/spell/blood_siphon, + /datum/eldritch_knowledge/summon/rusty + ) route = PATH_VOID /datum/eldritch_knowledge/final/void_final @@ -161,12 +184,12 @@ var/datum/weather/void_storm/storm /datum/eldritch_knowledge/final/void_final/on_finished_recipe(mob/living/user, list/atoms, loc) - var/mob/living/carbon/human/H = user - H.physiology.brute_mod *= 0.5 - H.physiology.burn_mod *= 0.5 - ADD_TRAIT(H, TRAIT_RESISTLOWPRESSURE, MAGIC_TRAIT) - H.client?.give_award(/datum/award/achievement/misc/void_ascension, H) - priority_announce("$^@&#*$^@(#&$(@&#^$&#^@# The nobleman of void [H.real_name] has arrived, step along the Waltz that ends worlds! $^@&#*$^@(#&$(@&#^$&#^@#","#$^@&#*$^@(#&$(@&#^$&#^@#", ANNOUNCER_SPANOMALIES) + var/mob/living/carbon/human/waltzing = user + waltzing.physiology.brute_mod *= 0.5 + waltzing.physiology.burn_mod *= 0.5 + ADD_TRAIT(waltzing, TRAIT_RESISTLOWPRESSURE, MAGIC_TRAIT) + waltzing.client?.give_award(/datum/award/achievement/misc/void_ascension, waltzing) + priority_announce("$^@&#*$^@(#&$(@&#^$&#^@# The nobleman of void [waltzing.real_name] has arrived, step along the Waltz that ends worlds! $^@&#*$^@(#&$(@&#^$&#^@#","#$^@&#*$^@(#&$(@&#^$&#^@#", ANNOUNCER_SPANOMALIES) sound_loop = new(list(user),TRUE,TRUE) return ..()