-
Notifications
You must be signed in to change notification settings - Fork 68
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MIRROR] Cultist shades no longer count as cultists for the purposes …
…of invoking runes until a minute after being released [MDB IGNORE] (#2847) * Cultist shades no longer count as cultists for the purposes of invoking runes until a minute after being released (#83487) ## About The Pull Request The following was made in response to a discussion overheard during the coderbus roundtable. Cult shades can no longer contribute to cultist rune invoking until they've been released from their soulstone from over a minute. If placed in a shell, they can properly invoke runes and assist you with converts/summoning as normal. This also moves around some files/code related to cultist antag datums. Datum stuff is now in its own subfolder of the cultist folder in the antagonists module. ![image](https://github.com/tgstation/tgstation/assets/28870487/3d1c009a-2bdd-4b62-a040-ec964427daee) I hated testing this. ## Why It's Good For The Game This discourages the common practice of murdering and soulstoning another player, then keeping them as a shade in their backpack used only for invoking runes. This is, of course, incredibly unfun for the player who has been shaded, and encourages playing singleplayer cultist instead of with your teammates as a team antagonist. There are plenty of other ways to play singleplayer cultist. Create a summon rune, or put your shade in a shell. Carrying them around in your bag all round sucks. ## Changelog :cl: Rhials balance: cultist shades can no longer contribute to rune invocation until they've been out of their soulstone for a minute. Put them in a shell for God's sake! code: sweeps up cultist antag datum code into its own subfolder. code: cult shades now have their own antag datum. fix: constructs now properly clear the cultist antag datum and transfer the mind slightly earlier. /:cl: * Cultist shades no longer count as cultists for the purposes of invoking runes until a minute after being released --------- Co-authored-by: Rhials <[email protected]> Co-authored-by: NovaBot13 <[email protected]>
- Loading branch information
1 parent
9ddb0e1
commit c415bf3
Showing
8 changed files
with
75 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
/datum/outfit/cultist | ||
name = "Cultist (Preview only)" | ||
|
||
uniform = /obj/item/clothing/under/color/black | ||
suit = /obj/item/clothing/suit/hooded/cultrobes/alt | ||
head = /obj/item/clothing/head/hooded/cult_hoodie/alt | ||
shoes = /obj/item/clothing/shoes/cult/alt | ||
r_hand = /obj/item/melee/blood_magic/stun | ||
|
||
/datum/outfit/cultist/post_equip(mob/living/carbon/human/equipped, visualsOnly) | ||
equipped.eye_color_left = BLOODCULT_EYE | ||
equipped.eye_color_right = BLOODCULT_EYE | ||
equipped.update_body() | ||
|
||
///Returns whether the given mob is convertable to the blood cult | ||
/proc/is_convertable_to_cult(mob/living/target, datum/team/cult/specific_cult) | ||
if(!istype(target)) | ||
return FALSE | ||
if(isnull(target.mind) || !GET_CLIENT(target)) | ||
return FALSE | ||
if(target.mind.unconvertable) | ||
return FALSE | ||
if(ishuman(target) && target.mind.holy_role) | ||
return FALSE | ||
if(specific_cult?.is_sacrifice_target(target.mind)) | ||
return FALSE | ||
var/mob/living/master = target.mind.enslaved_to?.resolve() | ||
if(master && !IS_CULTIST(master)) | ||
return FALSE | ||
if(IS_HERETIC_OR_MONSTER(target)) | ||
return FALSE | ||
if(HAS_TRAIT(target, TRAIT_MINDSHIELD) || issilicon(target) || isbot(target) || isdrone(target)) | ||
return FALSE //can't convert machines, shielded, or braindead | ||
return TRUE |
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
/datum/antagonist/cult/shade | ||
name = "\improper Cult Shade" | ||
show_in_antagpanel = FALSE | ||
show_name_in_check_antagonists = TRUE | ||
show_to_ghosts = TRUE | ||
antagpanel_category = ANTAG_GROUP_HORRORS | ||
///The time this player was most recently released from a soulstone. | ||
var/release_time | ||
///The time needed after release time to enable rune invocation. | ||
var/invoke_delay = (1 MINUTES) | ||
|
||
/datum/antagonist/cult/shade/check_invoke_validity() | ||
if(isnull(release_time)) | ||
to_chat(owner.current, span_alert("You cannot invoke runes from inside of a soulstone!")) | ||
return FALSE | ||
|
||
if(release_time + invoke_delay > world.time) | ||
to_chat(owner.current, span_alert("You haven't gathered enough power to invoke runes yet. You need to remain out of your soulstone for a while longer!")) | ||
return FALSE | ||
return TRUE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters