From d0b05ce6a234792df66f2dace00811b1051b8d82 Mon Sep 17 00:00:00 2001 From: Contrabang <91113370+Contrabang@users.noreply.github.com> Date: Sun, 7 Apr 2024 05:45:30 -0400 Subject: [PATCH] Increases EMP Shriek Price on Cybernetic Revolution Rounds (#24698) * matt request * better comments * Update code/modules/antagonists/changeling/powers/shriek.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> --- .../antagonists/changeling/datum_changeling.dm | 12 ++++++++++++ code/modules/antagonists/changeling/powers/shriek.dm | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/code/modules/antagonists/changeling/datum_changeling.dm b/code/modules/antagonists/changeling/datum_changeling.dm index f8c39e74fd9..edf430caee9 100644 --- a/code/modules/antagonists/changeling/datum_changeling.dm +++ b/code/modules/antagonists/changeling/datum_changeling.dm @@ -241,12 +241,24 @@ * * power_type - should be a define related to [/datum/action/changeling/var/power_type]. */ /datum/antagonist/changeling/proc/get_powers_of_type(power_type) + var/list/station_trait_restrictions = list( + // "Station trait" = Replace 1st with 2nd when trait active + STATION_TRAIT_CYBERNETIC_REVOLUTION = list(/datum/action/changeling/dissonant_shriek, /datum/action/changeling/dissonant_shriek/cyberrev) + ) + var/list/powers = list() for(var/power_path in subtypesof(/datum/action/changeling)) var/datum/action/changeling/power = power_path if(initial(power.power_type) != power_type) continue powers += power_path + + for(var/trait in station_trait_restrictions) + if(HAS_TRAIT(SSstation, trait)) + powers -= station_trait_restrictions[trait][1] + else + powers -= station_trait_restrictions[trait][2] + return powers /** diff --git a/code/modules/antagonists/changeling/powers/shriek.dm b/code/modules/antagonists/changeling/powers/shriek.dm index e2e1862f598..c7e629bd661 100644 --- a/code/modules/antagonists/changeling/powers/shriek.dm +++ b/code/modules/antagonists/changeling/powers/shriek.dm @@ -55,3 +55,7 @@ L.break_light_tube() empulse(get_turf(user), 3, 5, 1) return TRUE + +/// A more expensive version, used during rounds with cyber rev station trait for balance reasons. +/datum/action/changeling/dissonant_shriek/cyberrev + dna_cost = 5