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 20:36:55 +00:00
committed by GitHub
parent 0c25bf4a21
commit 2ec55dbfbb
69 changed files with 1328 additions and 1137 deletions
@@ -80,14 +80,14 @@
/obj/effect/temp_visual/dir_setting/wraith/Initialize(mapload)
. = ..()
icon_state = SSticker.cultdat?.wraith_jaunt_in_animation
icon_state = GET_CULT_DATA(wraith_jaunt_in_animation, initial(icon_state))
/obj/effect/temp_visual/dir_setting/wraith/out
icon_state = "phase_shift"
/obj/effect/temp_visual/dir_setting/wraith/out/Initialize(mapload)
. = ..()
icon_state = SSticker.cultdat?.wraith_jaunt_out_animation
icon_state = GET_CULT_DATA(wraith_jaunt_out_animation, initial(icon_state))
/obj/effect/temp_visual/dir_setting/tailsweep
icon_state = "tailsweep"
+1 -1
View File
@@ -31,7 +31,7 @@
for(var/mob/M in range(heavy_range, epicenter))
SEND_SOUND(M, emp_sound)
for(var/atom/T in range(light_range, epicenter))
if(cause == "cult" && iscultist(T))
if(cause == "cult" && IS_CULTIST(T))
continue
var/distance = get_dist(epicenter, T)
var/will_affect = FALSE
+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]."
@@ -170,8 +170,8 @@
/obj/structure/door_assembly/door_assembly_cult/Initialize(mapload)
. = ..()
icon = SSticker.cultdat?.airlock_runed_icon_file
overlays_file = SSticker.cultdat?.airlock_runed_overlays_file
icon = GET_CULT_DATA(airlock_runed_icon_file, initial(icon))
overlays_file = GET_CULT_DATA(airlock_runed_overlays_file, initial(overlays_file))
update_icon()
/obj/structure/door_assembly/door_assembly_cult/unruned
@@ -182,8 +182,8 @@
/obj/structure/door_assembly/door_assembly_cult/unruned/Initialize(mapload)
. = ..()
icon = SSticker.cultdat?.airlock_unruned_icon_file
overlays_file = SSticker.cultdat?.airlock_unruned_overlays_file
icon = GET_CULT_DATA(airlock_unruned_icon_file, initial(icon))
overlays_file = GET_CULT_DATA(airlock_unruned_overlays_file, initial(overlays_file))
update_icon()
/obj/structure/door_assembly/door_assembly_centcom
+2 -2
View File
@@ -454,11 +454,11 @@
/obj/structure/girder/cult/Initialize(mapload)
. = ..()
icon_state = SSticker.cultdat?.cult_girder_icon_state
icon_state = GET_CULT_DATA(cult_girder_icon_state, initial(icon_state))
/obj/structure/girder/cult/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
if(istype(W, /obj/item/melee/cultblade/dagger) && iscultist(user)) //Cultists can demolish cult girders instantly with their dagger
if(istype(W, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) //Cultists can demolish cult girders instantly with their dagger
user.visible_message("<span class='warning'>[user] strikes [src] with [W]!</span>", "<span class='notice'>You demolish [src].</span>")
refundMetal(metalUsed)
qdel(src)