Datumizes Cult. (#24379)

* cult 1

* massive data refactor

* progress

* More crap

* IM SCARED IT COMPILES

* oops

* more fixes

* good comment

* hell yeah, team control

* lol

* blamo

* blam

* More stuff

* team refactor

* epic merge fail

* src not _src_

* more

* progress

* cult

* more stuff

* water

* goodbye __IMPLIED_TYPE__

* time to undraft

* FUCK FUCK FUCK

* okay this is better

* goodbye todos

* fix

* order of operations

* last fix? maybe

* yeah

* oops

* okay this should be ALL the fixes

* wow

* hell yeah

* wow

* fixes duplicate teams + adds more team safeties

* how the fuck did this happen

* admin objective improvements

* wah more bullshit

* guh

* fuuuuck

* fucking hell

* fixes
This commit is contained in:
Contrabang
2024-03-16 16:36:55 -04:00
committed by GitHub
parent 0c25bf4a21
commit 2ec55dbfbb
69 changed files with 1328 additions and 1137 deletions
+17 -1
View File
@@ -180,11 +180,27 @@
return
if(M.stat != CONSCIOUS)
to_chat(user, "<span class='warning'>They must be conscious before you can convert [M.p_them()]!</span>")
else if(SSticker.mode.add_revolutionary(M.mind))
else if(add_revolutionary(M.mind))
times_used-- //Flashes less likely to burn out for headrevs when used for conversion
else
to_chat(user, "<span class='warning'>This mind seems resistant to [src]!</span>")
/obj/item/flash/proc/add_revolutionary(datum/mind/converting_mind)
var/mob/living/carbon/human/conversion_target = converting_mind.current
if(converting_mind.assigned_role in GLOB.command_positions)
return FALSE
if(!istype(conversion_target))
return FALSE
if(ismindshielded(conversion_target))
return FALSE
if(converting_mind.has_antag_datum(/datum/antagonist/rev))
return FALSE
converting_mind.add_antag_datum(/datum/antagonist/rev)
conversion_target.Silence(10 SECONDS)
conversion_target.Stun(10 SECONDS)
return TRUE
/obj/item/flash/cyborg
origin_tech = null
@@ -493,11 +493,11 @@ GLOBAL_LIST_INIT(cult_recipes, list (
/obj/item/stack/sheet/runed_metal/New()
. = ..()
icon_state = SSticker.cultdat?.runed_metal_icon_state
item_state = SSticker.cultdat?.runed_metal_item_state
icon_state = GET_CULT_DATA(runed_metal_icon_state, initial(icon_state))
item_state = GET_CULT_DATA(runed_metal_item_state, initial(item_state))
/obj/item/stack/sheet/runed_metal/attack_self(mob/living/user)
if(!iscultist(user))
if(!IS_CULTIST(user))
to_chat(user, "<span class='warning'>Only one with forbidden knowledge could hope to work this metal...</span>")
return
if(usr.holy_check())
@@ -19,7 +19,7 @@
if(target.mind)
if(target.mind.has_antag_datum(/datum/antagonist/rev))
SSticker.mode.remove_revolutionary(target.mind)
if(target.mind in SSticker.mode.cult)
if(IS_CULTIST(target))
to_chat(target, "<span class='warning'>You feel the corporate tendrils of Nanotrasen try to invade your mind!</span>")
return TRUE
@@ -561,8 +561,10 @@
var/mob/living/carbon/human/target = M
if(target.mind)
if(iscultist(target))
SSticker.mode.remove_cultist(target.mind, TRUE, TRUE) // This proc will handle message generation.
if(IS_CULTIST(target))
var/datum/antagonist/cultist/cultist = IS_CULTIST(target)
cultist.remove_gear_on_removal = TRUE
target.mind.remove_antag_datum(/datum/antagonist/cultist)
praying = FALSE
return
var/datum/antagonist/vampire/V = M.mind?.has_antag_datum(/datum/antagonist/vampire)
@@ -156,7 +156,7 @@
/obj/item/melee/spellblade/examine(mob/user)
. = ..()
if(enchant && (iswizard(user) || iscultist(user))) // only wizards and cultists understand runes
if(enchant && (iswizard(user) || IS_CULTIST(user))) // only wizards and cultists understand runes
. += "The runes along the side read; [enchant.desc]."