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
@@ -28,8 +28,8 @@
/obj/singularity/narsie/large/Initialize(mapload, starting_energy)
. = ..()
icon_state = SSticker.cultdat?.entity_icon_state
name = SSticker.cultdat?.entity_name
icon_state = GET_CULT_DATA(entity_icon_state, initial(icon_state))
name = GET_CULT_DATA(entity_name, initial(name))
var/sound/cry = sound(pick('sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg'))
@@ -40,9 +40,7 @@
to_chat(player, "<font size='15' color='red'><b> [uppertext(name)] HAS RISEN</b></font>")
SEND_SOUND(player, cry)
var/datum/game_mode/gamemode = SSticker.mode
if(gamemode)
gamemode.cult_objs.succesful_summon()
SSticker.mode?.cult_team?.successful_summon()
var/area/A = get_area(src)
if(A)
@@ -59,13 +57,7 @@
/obj/singularity/narsie/large/Destroy()
to_chat(world, "<font size='15' color='red'><b> [uppertext(name)] HAS FALLEN</b></font>")
SEND_SOUND(world, sound('sound/hallucinations/wail.ogg'))
var/datum/game_mode/gamemode = SSticker.mode
if(gamemode)
gamemode.cult_objs.narsie_death()
for(var/datum/mind/cult_mind in SSticker.mode.cult)
if(cult_mind && cult_mind.current)
to_chat(cult_mind.current, "<span class='cultlarge'>RETRIBUTION!</span>")
to_chat(cult_mind.current, "<span class='cult'>Current goal: Slaughter the heretics!</span>")
SSticker.mode?.cult_team?.narsie_death()
..()
/obj/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob)
@@ -102,7 +94,7 @@
/obj/singularity/narsie/mezzer()
for(var/mob/living/carbon/M in oviewers(8, src))
if(M.stat == CONSCIOUS)
if(!iscultist(M))
if(!IS_CULTIST(M))
to_chat(M, "<span class='warning'>You feel your sanity crumble away in an instant as you gaze upon [src.name]...</span>")
M.Stun(6 SECONDS)
@@ -129,7 +121,7 @@
if(pos.z != src.z)
continue
if(iscultist(food))
if(IS_CULTIST(food))
cultists += food
else
noncultists += food
@@ -160,12 +152,12 @@
return
if(!target)
return
to_chat(target, "<span class='cultlarge'>[uppertext(SSticker.cultdat.entity_name)] HAS LOST INTEREST IN YOU</span>")
to_chat(target, "<span class='cultlarge'>[uppertext(GET_CULT_DATA(entity_name, name))] HAS LOST INTEREST IN YOU</span>")
target = food
if(ishuman(target))
to_chat(target, "<span class ='cultlarge'>[uppertext(SSticker.cultdat.entity_name)] HUNGERS FOR YOUR SOUL</span>")
to_chat(target, "<span class ='cultlarge'>[uppertext(GET_CULT_DATA(entity_name, name))] HUNGERS FOR YOUR SOUL</span>")
else
to_chat(target, "<span class ='cultlarge'>[uppertext(SSticker.cultdat.entity_name)] HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL</span>")
to_chat(target, "<span class ='cultlarge'>[uppertext(GET_CULT_DATA(entity_name, name))] HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL</span>")
//Wizard narsie
/obj/singularity/narsie/wizard
@@ -182,7 +174,7 @@
icon = 'icons/obj/narsie_spawn_anim.dmi'
dir = SOUTH
move_self = FALSE
flick(SSticker.cultdat?.entity_spawn_animation, src)
flick(GET_CULT_DATA(entity_spawn_animation, "narsie_spawn_anim"), src)
sleep(11)
move_self = TRUE
icon = initial(icon)
@@ -314,10 +314,10 @@
set_light(10)
if(istype(A, /obj/singularity/narsie))
if(current_size == STAGE_SIX)
visible_message("<span class='userdanger'>[SSticker.cultdat?.entity_name] is consumed by [src]!</span>")
visible_message("<span class='userdanger'>[GET_CULT_DATA(entity_name, A.name)] is consumed by [src]!</span>")
qdel(A)
else
visible_message("<span class='userdanger'>[SSticker.cultdat?.entity_name] strikes down [src]!</span>")
visible_message("<span class='userdanger'>[GET_CULT_DATA(entity_name, A.name)] strikes down [src]!</span>")
investigate_log("has been destroyed by Nar'Sie","singulo")
qdel(src)