From 943ddded2bcf92b40b3c49f25ff261017210bb94 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Sat, 16 Jun 2018 06:58:22 -0700 Subject: [PATCH] cult IPCs refactor (#4734) Thread for discussion This: Makes IPC being convertable to cult Does not allow IPC to draw runes, as they have no blood Makes all cultists immune to cult's EMP. This way cultist IPCs and organics with prosthetic won't be killed in friendly fire. Removes heat generation from EMP rune --- code/game/antagonist/station/cultist.dm | 10 ---------- code/game/gamemodes/cult/ritual.dm | 3 +++ code/game/gamemodes/cult/runes.dm | 12 ++++++++---- html/changelogs/Sindorman-IPC-cultist.yml | 8 ++++++++ 4 files changed, 19 insertions(+), 14 deletions(-) create mode 100644 html/changelogs/Sindorman-IPC-cultist.yml diff --git a/code/game/antagonist/station/cultist.dm b/code/game/antagonist/station/cultist.dm index 9c076ae901a..f103b2a8859 100644 --- a/code/game/antagonist/station/cultist.dm +++ b/code/game/antagonist/station/cultist.dm @@ -35,16 +35,6 @@ var/datum/antagonist/cultist/cult faction = "cult" - restricted_species = list( - "Baseline Frame", - "Shell Frame", - "Hephaestus G1 Industrial Frame", - "Hephaestus G2 Industrial Frame", - "Xion Industrial Frame", - "Zeng-Hu Mobility Frame", - "Bishop Accessory Frame" - ) - var/allow_narsie = 1 var/datum/mind/sacrifice_target var/list/allwords = list("travel","self","see","hell","blood","join","tech","destroy", "other", "hide") diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 900a2b65142..6c8684c86aa 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -349,6 +349,9 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa"," return user << browse("[tomedat]", "window=Arcane Tome") return + if(isipc(user)) + user << "You cannot draw runes, as you have no blood." + return if(user.get_active_hand() != src) return diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 996c4659cda..529888a686f 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -4,7 +4,6 @@ var/list/sacrificed = list() return /obj/effect/rune - /* * Use as a general guideline for this and related files: * * ... - when something non-trivial or an error happens, so something similar to "Sparks come out of the machine!" @@ -257,10 +256,15 @@ var/list/sacrificed = list() user.whisper("Ta'gh fara[pick("'","`")]qha fel d'amar det!") playsound(U, 'sound/magic/Disable_Tech.ogg', 25, 1) var/turf/T = get_turf(U) - if(T) - T.hotspot_expose(700,125) var/rune = src // detaching the proc - in theory - empulse(U, (range_red - 2), range_red) + + var/list/ex = list(user) // exclude caster + for(var/mob/M in range(range_red, T)) + if(iscultist(M)) + ex += M + else + continue + empulse(T, range_red - 2, range_red, exclude = ex) qdel(rune) return diff --git a/html/changelogs/Sindorman-IPC-cultist.yml b/html/changelogs/Sindorman-IPC-cultist.yml new file mode 100644 index 00000000000..511bcf2805e --- /dev/null +++ b/html/changelogs/Sindorman-IPC-cultist.yml @@ -0,0 +1,8 @@ +author: PoZe + +delete-after: True + +changes: + - tweak: "IPCs can not be convertable to cult." + - balance: "IPCs can no longer draw runes, since they have no blood. They still can use talismans" + - tweak: "Cultist IPCs are immune to cultist EMP from runes or talismans."