diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm index 72894abf662..f01f92b2e92 100644 --- a/_maps/map_files/Delta/delta.dmm +++ b/_maps/map_files/Delta/delta.dmm @@ -70643,7 +70643,7 @@ }, /area/library) "cvo" = ( -/obj/structure/cult/tome, +/obj/structure/cult/archives, /obj/machinery/newscaster{ pixel_x = -32; pixel_y = 0 @@ -107594,7 +107594,7 @@ /area/library/abandoned) "dKF" = ( /obj/effect/decal/cleanable/cobweb, -/obj/structure/cult/tome, +/obj/structure/cult/archives, /turf/simulated/floor/plating, /area/library/abandoned) "dKG" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index 3b3270fe6c0..9ef7b3dea0a 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -59269,7 +59269,7 @@ /turf/simulated/floor/plasteel, /area/gateway) "bXy" = ( -/obj/structure/cult/tome, +/obj/structure/cult/archives, /obj/machinery/newscaster{ pixel_x = -32 }, diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm index 446079ebd0c..fe4c3a6e2e3 100644 --- a/_maps/map_files/MetaStation/z2.dmm +++ b/_maps/map_files/MetaStation/z2.dmm @@ -3782,7 +3782,7 @@ /turf/simulated/shuttle/plating, /area/wizard_station) "kt" = ( -/obj/structure/cult/talisman{ +/obj/structure/cult/altar{ desc = "A altar dedicated to the Wizard's Federation" }, /obj/item/kitchen/knife/ritual, @@ -4379,7 +4379,7 @@ }, /area/syndicate_mothership) "mh" = ( -/obj/structure/cult/tome, +/obj/structure/cult/archives, /turf/unsimulated/floor{ tag = "icon-cult"; icon_state = "cult" diff --git a/_maps/map_files/RandomZLevels/academy.dmm b/_maps/map_files/RandomZLevels/academy.dmm index 03c8b8919e4..920c9bacffd 100644 --- a/_maps/map_files/RandomZLevels/academy.dmm +++ b/_maps/map_files/RandomZLevels/academy.dmm @@ -226,7 +226,7 @@ /turf/simulated/floor/carpet, /area/awaymission/academy/headmaster) "aJ" = ( -/obj/structure/cult/tome, +/obj/structure/cult/archives, /obj/item/twohanded/staff, /obj/item/spellbook/oneuse/charge, /turf/simulated/floor/wood, diff --git a/_maps/map_files/RandomZLevels/beach.dmm b/_maps/map_files/RandomZLevels/beach.dmm index 6a3d16e4a83..eb5e1193f4a 100644 --- a/_maps/map_files/RandomZLevels/beach.dmm +++ b/_maps/map_files/RandomZLevels/beach.dmm @@ -34,12 +34,12 @@ /turf/unsimulated/beach/water/deep/wood_floor, /area/awaymission/undersea) "aj" = ( -/obj/structure/cult/talisman, +/obj/structure/cult/altar, /obj/item/veilrender/crabrender, /turf/unsimulated/beach/water/deep/wood_floor, /area/awaymission/undersea) "ak" = ( -/obj/structure/cult/talisman, +/obj/structure/cult/altar, /obj/item/tome, /turf/unsimulated/beach/water/deep/wood_floor, /area/awaymission/undersea) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index e120366dd54..50d06863ab2 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -35446,7 +35446,7 @@ }, /area/library) "bmF" = ( -/obj/structure/cult/tome, +/obj/structure/cult/archives, /obj/item/videocam, /obj/machinery/light_switch{ pixel_y = -25 diff --git a/_maps/map_files/shuttles/emergency_narnar.dmm b/_maps/map_files/shuttles/emergency_narnar.dmm index 59111b3eeae..aefef374d40 100644 --- a/_maps/map_files/shuttles/emergency_narnar.dmm +++ b/_maps/map_files/shuttles/emergency_narnar.dmm @@ -160,7 +160,7 @@ /turf/simulated/floor/plating, /area/shuttle/escape) "az" = ( -/obj/structure/cult/talisman, +/obj/structure/cult/altar, /turf/simulated/floor/engine/cult, /area/shuttle/escape) "aA" = ( diff --git a/code/game/gamemodes/cult/cult_datums.dm b/code/game/gamemodes/cult/cult_datums.dm index 8979ac0c383..825f0c32f3b 100644 --- a/code/game/gamemodes/cult/cult_datums.dm +++ b/code/game/gamemodes/cult/cult_datums.dm @@ -2,12 +2,14 @@ var/name = "Cult of Nar'Sie" var/theme = "blood" var/tome_icon = "tome" + //God Entity var/entity_name = "Nar'Sie" var/entity_title1 = "The Dark One" var/entity_title2 = "The One Who Sees" var/entity_title3 = "The Geometer of Blood" var/entity_icon_state = "narsie" + var/entity_spawn_animation = "narsie_spawn_anim" //Builder Construct @@ -24,6 +26,8 @@ var/wraith_name = "Wraith" var/wraith_icon_state = "floating" var/wraith_dead_state = "shade_dead" + var/wraith_jaunt_out_animation = "phase_shift" + var/wraith_jaunt_in_animation = "phase_shift2" //Armored Construct var/juggernaut_name = "Juggernaut" @@ -43,6 +47,29 @@ //Turfs var/cult_floor_icon_state = "cult" var/cult_wall_icon_state = "cult" + var/cult_girder_icon_state = "cultgirder" + + //Structures + var/pylon_icon_state = "pylon" + var/pylon_icon_state_off = "pylon_off" + + var/forge_icon_state = "forge" + var/forge_icon_state_off = "forge_off" + + var/altar_icon_state = "altar" + var/altar_icon_state_off = "altar_off" + + var/archives_icon_state = "archives" + var/archives_icon_state_off = "archives_off" + + var/runed_metal_icon_state = "sheet-runed" + + var/airlock_runed_icon_file = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' + var/airlock_runed_overlays_file = 'icons/obj/doors/airlocks/cult/runed/cult-overlays.dmi' + + var/airlock_unruned_icon_file = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' + var/airlock_unruned_overlays_file = 'icons/obj/doors/airlocks/cult/unruned/cult-overlays.dmi' + /datum/cult_info/fire name = "Cult of Pyr'Kaeus" @@ -85,27 +112,54 @@ entity_title1 = "The Silent One" entity_title2 = "The One Who Beckons" entity_title3 = "The Ferryman of Oblivion" - entity_icon_state = "legion" + entity_icon_state = "reaper" + entity_spawn_animation = "reaper_spawn_anim" cult_wall_icon_state = "deathcult" - cult_floor_icon_state = "carpet-broken" + cult_floor_icon_state = "cultdeath" + cult_girder_icon_state = "reaper_cultgirder" artificer_name = "Boneshaper" + artificer_icon_state = "boneshaper" behemoth_name = "Draugr" - behemoth_icon_state = "Draugr" + behemoth_icon_state = "golem" - wraith_name = "Wraith" - wraith_icon_state = "Wraith" + wraith_name = "Envoy of Death" + wraith_icon_state = "envoy_of_death" + wraith_jaunt_out_animation = "shadowstep_out" + wraith_jaunt_in_animation = "shadowstep_in" - juggernaut_name = "Wight" - juggernaut_icon_state = "Draugr" + juggernaut_name = "Golem" + juggernaut_icon_state = "golem" - harvester_name = "Psychopomp" + harvester_name = "Necrophage" + harvester_icon_state = "necrophage" shade_name = "Banshee" + shade_icon_state = "banshee" -/datum/cult_info/proc/get_name(var/type_to_name) + pylon_icon_state = "reaper_pylon" + pylon_icon_state_off = "reaper_pylon_off" + + forge_icon_state = "reaper_forge" + forge_icon_state_off = "reaper_forge_off" + + altar_icon_state = "reaper_altar" + altar_icon_state_off = "reaper_altar_off" + + archives_icon_state = "reaper_archives" + archives_icon_state_off = "reaper_archives_off" + + runed_metal_icon_state = "sheet_runed_reaper" + + airlock_runed_icon_file = 'icons/obj/doors/airlocks/cult/runed/reaper.dmi' + airlock_runed_overlays_file = 'icons/obj/doors/airlocks/cult/runed/reaper-overlays.dmi' + + airlock_unruned_icon_file = 'icons/obj/doors/airlocks/cult/unruned/reaper.dmi' + airlock_unruned_overlays_file = 'icons/obj/doors/airlocks/cult/unruned/reaper-overlays.dmi' + +/datum/cult_info/proc/get_name(type_to_name) if(!type_to_name) return switch(type_to_name) @@ -124,7 +178,7 @@ if("shade") return shade_name -/datum/cult_info/proc/get_icon(var/type_to_icon) +/datum/cult_info/proc/get_icon(type_to_icon) if(!type_to_icon) return switch(type_to_icon) @@ -141,4 +195,20 @@ if("wraith") return wraith_icon_state if("shade") - return shade_icon_state \ No newline at end of file + return shade_icon_state + if("forge") + return forge_icon_state + if("forge_off") + return forge_icon_state_off + if("archives") + return archives_icon_state + if("archives_off") + return archives_icon_state_off + if("altar") + return altar_icon_state + if("altar_off") + return altar_icon_state_off + if("pylon") + return pylon_icon_state + if("pylon_off") + return pylon_icon_state_off diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index c599f7b2291..d30ac4f8a68 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -5,10 +5,10 @@ icon = 'icons/obj/cult.dmi' //Noncult As we may have this on maps -/obj/structure/cult/talisman +/obj/structure/cult/altar name = "Altar" desc = "A bloodstained altar dedicated to Nar-Sie" - icon_state = "talismanaltar" + icon_state = "altar" /obj/structure/cult/forge name = "Daemon forge" @@ -22,10 +22,10 @@ light_range = 5 light_color = "#3e0000" -/obj/structure/cult/tome +/obj/structure/cult/archives name = "Desk" desc = "A desk covered in arcane manuscripts and tomes in unknown languages. Looking at the text makes your skin crawl" - icon_state = "tomealtar" + icon_state = "archives" //Cult versions cuase fuck map conflicts /obj/structure/cult/functional @@ -57,9 +57,9 @@ to_chat(user, "You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor.") playsound(loc, 'sound/hallucinations/wail.ogg', 75, 1) if(!anchored) - icon_state = "[initial(icon_state)]_off" + icon_state = SSticker.cultdat?.get_icon("[initial(icon_state)]_off") else - icon_state = initial(icon_state) + icon_state = SSticker.cultdat?.get_icon("[initial(icon_state)]") return return ..() @@ -91,10 +91,10 @@ eta = "[round(time, 1)] seconds" return eta -/obj/structure/cult/functional/talisman +/obj/structure/cult/functional/altar name = "altar" desc = "A bloodstained altar dedicated to a cult." - icon_state = "talismanaltar" + icon_state = "altar" max_integrity = 150 //Sturdy death_message = "The altar breaks into splinters, releasing a cascade of spirits into the air!" death_sound = 'sound/effects/altar_break.ogg' @@ -105,6 +105,10 @@ choosable_items = list("Eldritch Whetstone"= /obj/item/whetstone/cult, "Zealot's Blindfold" = /obj/item/clothing/glasses/night/cultblind, \ "Flask of Unholy Water" = /obj/item/reagent_containers/food/drinks/bottle/unholywater, "Cultist Dagger" = /obj/item/melee/cultblade/dagger) +/obj/structure/cult/functional/altar/New() + . = ..() + icon_state = SSticker.cultdat?.altar_icon_state + /obj/structure/cult/functional/forge name = "daemon forge" desc = "A forge used in crafting the unholy weapons used by the armies of a cult." @@ -119,6 +123,9 @@ choosable_items = list("Shielded Robe" = /obj/item/clothing/suit/hooded/cultrobes/cult_shield, "Flagellant's Robe" = /obj/item/clothing/suit/hooded/cultrobes/berserker, \ "Cultist Hardsuit" = /obj/item/storage/box/cult) +/obj/structure/cult/functional/forge/New() + . = ..() + icon_state = SSticker.cultdat?.forge_icon_state /obj/structure/cult/functional/forge/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/grab)) @@ -170,6 +177,10 @@ var/list/blacklisted_pylon_turfs = typecacheof(list( var/corrupt_delay = 50 var/last_corrupt = 0 +/obj/structure/cult/functional/pylon/New() + . = ..() + icon_state = SSticker.cultdat?.pylon_icon_state + /obj/structure/cult/functional/pylon/attack_hand(mob/living/user)//override as it should not create anything return @@ -227,10 +238,10 @@ var/list/blacklisted_pylon_turfs = typecacheof(list( -/obj/structure/cult/functional/tome +/obj/structure/cult/functional/archives name = "archives" desc = "A desk covered in arcane manuscripts and tomes in unknown languages. Looking at the text makes your skin crawl." - icon_state = "tomealtar" + icon_state = "archives" max_integrity = 125 //Slightly sturdy death_message = "The desk breaks apart, its books falling to the floor." death_sound = 'sound/effects/wood_break.ogg' @@ -241,6 +252,10 @@ var/list/blacklisted_pylon_turfs = typecacheof(list( choosable_items = list("Supply Talisman" = /obj/item/paper/talisman/supply/weak, "Shuttle Curse" = /obj/item/shuttle_curse, \ "Veil Shifter" = /obj/item/cult_shift) +/obj/structure/cult/functional/archives/New() + . = ..() + icon_state = SSticker.cultdat?.archives_icon_state + /obj/effect/gateway name = "gateway" desc = "You're pretty sure that abyss is staring back" diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 232e380a87b..97c56af39bb 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -351,7 +351,8 @@ animation.master = T flick("dust-h", animation) qdel(animation) - var/mob/living/simple_animal/shade/S = new /mob/living/simple_animal/shade(src) + var/path = get_shade_type() + var/mob/living/simple_animal/shade/S = new path(src) S.status_flags |= GODMODE //So they won't die inside the stone somehow S.canmove = 0//Can't move out of the soul stone S.name = "Shade of [T.real_name]" @@ -371,6 +372,12 @@ if(vic && U) to_chat(U, "Capture successful!: [T.real_name]'s soul has been ripped from [U.p_their()] body and stored within the soul stone.") +/obj/item/soulstone/proc/get_shade_type() + return /mob/living/simple_animal/shade/cult + +/obj/item/soulstone/anybody/get_shade_type() + return /mob/living/simple_animal/shade + /obj/item/soulstone/proc/getCultGhost(mob/living/carbon/human/T, mob/U) var/mob/dead/observer/chosen_ghost diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 5ad348f9d61..b53a0139fb2 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -470,7 +470,7 @@ /obj/machinery/door/airlock/cult name = "cult airlock" icon = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/runed/overlays.dmi' + overlays_file = 'icons/obj/doors/airlocks/cult/runed/cult-overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_cult damage_deflection = 10 hackProof = TRUE @@ -478,8 +478,11 @@ var/openingoverlaytype = /obj/effect/temp_visual/cult/door var/friendly = FALSE -/obj/machinery/door/airlock/cult/New() - ..() +/obj/machinery/door/airlock/cult/Initialize() + . = ..() + icon = SSticker.cultdat?.airlock_runed_icon_file + overlays_file = SSticker.cultdat?.airlock_runed_overlays_file + update_icon() new openingoverlaytype(loc) /obj/machinery/door/airlock/cult/canAIControl(mob/user) @@ -511,15 +514,25 @@ glass = TRUE opacity = 0 +/obj/machinery/door/airlock/cult/glass/Initialize() + . = ..() + update_icon() + /obj/machinery/door/airlock/cult/glass/friendly friendly = TRUE /obj/machinery/door/airlock/cult/unruned icon = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/unruned/overlays.dmi' + overlays_file = 'icons/obj/doors/airlocks/cult/unruned/cult-overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_cult/unruned openingoverlaytype = /obj/effect/temp_visual/cult/door/unruned +/obj/machinery/door/airlock/cult/unruned/Initialize() + . = ..() + icon = SSticker.cultdat?.airlock_unruned_icon_file + overlays_file = SSticker.cultdat?.airlock_unruned_overlays_file + update_icon() + /obj/machinery/door/airlock/cult/unruned/friendly friendly = TRUE @@ -527,6 +540,10 @@ glass = TRUE opacity = 0 +/obj/machinery/door/airlock/cult/unruned/glass/Initialize() + . = ..() + update_icon() + /obj/machinery/door/airlock/cult/unruned/glass/friendly friendly = TRUE diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index f7a0962269d..5c3580ae177 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -87,9 +87,17 @@ icon_state = "phase_shift2" duration = 12 +/obj/effect/temp_visual/dir_setting/wraith/Initialize(mapload) + . = ..() + icon_state = SSticker.cultdat?.wraith_jaunt_in_animation + /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 + /obj/effect/temp_visual/dir_setting/tailsweep icon_state = "tailsweep" duration = 4 diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index e85aa28bde8..30085f8dad2 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -348,8 +348,8 @@ var/global/list/datum/stack_recipe/cult = list ( \ new/datum/stack_recipe/cult("runed girder", /obj/structure/girder/cult, 1, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe/cult("pylon", /obj/structure/cult/functional/pylon, 3, time = 40, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe/cult("forge", /obj/structure/cult/functional/forge, 5, time = 40, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe/cult("archives", /obj/structure/cult/functional/tome, 2, time = 40, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe/cult("altar", /obj/structure/cult/functional/talisman, 5, time = 40, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe/cult("archives", /obj/structure/cult/functional/archives, 2, time = 40, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe/cult("altar", /obj/structure/cult/functional/altar, 5, time = 40, one_per_turf = 1, on_floor = 1), \ ) /obj/item/stack/sheet/runed_metal @@ -361,6 +361,10 @@ var/global/list/datum/stack_recipe/cult = list ( \ sheettype = "runed" merge_type = /obj/item/stack/sheet/runed_metal +/obj/item/stack/sheet/runed_metal/New() + . = ..() + icon_state = SSticker.cultdat?.runed_metal_icon_state + /obj/item/stack/sheet/runed_metal/ratvar_act() new /obj/item/stack/tile/brass(loc, amount) qdel(src) diff --git a/code/game/objects/structures/door_assembly_types.dm b/code/game/objects/structures/door_assembly_types.dm index 2873686e4f4..bcd57818504 100644 --- a/code/game/objects/structures/door_assembly_types.dm +++ b/code/game/objects/structures/door_assembly_types.dm @@ -165,16 +165,28 @@ name = "cult airlock assembly" icon = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' base_name = "cult airlock" - overlays_file = 'icons/obj/doors/airlocks/cult/runed/overlays.dmi' + overlays_file = 'icons/obj/doors/airlocks/cult/runed/cult-overlays.dmi' airlock_type = /obj/machinery/door/airlock/cult glass_type = /obj/machinery/door/airlock/cult/glass +/obj/structure/door_assembly/door_assembly_cult/New() + . = ..() + icon = SSticker.cultdat?.airlock_runed_icon_file + overlays_file = SSticker.cultdat?.airlock_runed_overlays_file + update_icon() + /obj/structure/door_assembly/door_assembly_cult/unruned icon = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/unruned/overlays.dmi' + overlays_file = 'icons/obj/doors/airlocks/cult/unruned/cult-overlays.dmi' airlock_type = /obj/machinery/door/airlock/cult/unruned glass_type = /obj/machinery/door/airlock/cult/unruned/glass +/obj/structure/door_assembly/door_assembly_cult/unruned/New() + . = ..() + icon = SSticker.cultdat?.airlock_unruned_icon_file + overlays_file = SSticker.cultdat?.airlock_unruned_overlays_file + update_icon() + /obj/structure/door_assembly/door_assembly_centcom icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' overlays_file = 'icons/obj/doors/airlocks/centcom/overlays.dmi' diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index de1d712b0a4..01d60f8860d 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -389,10 +389,14 @@ name = "runed girder" desc = "Framework made of a strange and shockingly cold metal. It doesn't seem to have any bolts." icon = 'icons/obj/cult.dmi' - icon_state= "cultgirder" + icon_state = "cultgirder" can_displace = FALSE metalUsed = 1 +/obj/structure/girder/cult/New() + . = ..() + icon_state = SSticker.cultdat?.cult_girder_icon_state + /obj/structure/girder/cult/refundMetal(metalAmount) for(var/i=0;i < metalAmount;i++) new /obj/item/stack/sheet/runed_metal(get_turf(src)) diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 35fde25b202..0c003b9e3b8 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -29,7 +29,7 @@ deathmessage = "collapses in a shattered heap." /mob/living/simple_animal/hostile/construct/New() - ..() + . = ..() if(!SSticker.mode)//work around for maps with runes and cultdat is not loaded all the way name = "[const_type] ([rand(1, 1000)])" real_name = const_type @@ -44,7 +44,7 @@ for(var/spell in construct_spells) AddSpell(new spell(null)) - if(SSticker.cultdat.theme == "blood") + if(SSticker.cultdat?.theme == "blood") updateglow() /mob/living/simple_animal/hostile/construct/examine(mob/user) diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm index 14714452850..3f7b76c5af0 100644 --- a/code/modules/mob/living/simple_animal/shade.dm +++ b/code/modules/mob/living/simple_animal/shade.dm @@ -43,6 +43,12 @@ user.visible_message("[user] gently taps [src] with the [O]. ", "This weapon is ineffective, it does no damage.") return +/mob/living/simple_animal/shade/cult/Initialize(mapload) + . = ..() + name = SSticker.cultdat?.shade_name + real_name = SSticker.cultdat?.shade_name + icon_state = SSticker.cultdat?.shade_icon_state + /mob/living/simple_animal/shade/sword universal_speak = 1 faction = list("neutral") diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index 53ab45c58dc..cf3a16432c0 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -25,8 +25,8 @@ /obj/singularity/narsie/large/New() ..() - icon_state = SSticker.cultdat.entity_icon_state - name = SSticker.cultdat.entity_name + icon_state = SSticker.cultdat?.entity_icon_state + name = SSticker.cultdat?.entity_name to_chat(world, " [name] HAS RISEN") world << pick(sound('sound/hallucinations/im_here1.ogg'), sound('sound/hallucinations/im_here2.ogg')) @@ -150,7 +150,7 @@ icon = 'icons/obj/narsie_spawn_anim.dmi' dir = SOUTH move_self = 0 - flick("narsie_spawn_anim",src) + flick(SSticker.cultdat?.entity_spawn_animation, src) sleep(11) move_self = 1 icon = initial(icon) diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi index ed193927004..e83340855a6 100644 Binary files a/icons/mob/mob.dmi and b/icons/mob/mob.dmi differ diff --git a/icons/obj/cult.dmi b/icons/obj/cult.dmi index 40eb2deda62..878bc71bdff 100644 Binary files a/icons/obj/cult.dmi and b/icons/obj/cult.dmi differ diff --git a/icons/obj/doors/airlocks/cult/runed/overlays.dmi b/icons/obj/doors/airlocks/cult/runed/cult-overlays.dmi similarity index 100% rename from icons/obj/doors/airlocks/cult/runed/overlays.dmi rename to icons/obj/doors/airlocks/cult/runed/cult-overlays.dmi diff --git a/icons/obj/doors/airlocks/cult/runed/reaper-overlays.dmi b/icons/obj/doors/airlocks/cult/runed/reaper-overlays.dmi new file mode 100644 index 00000000000..429e0c92697 Binary files /dev/null and b/icons/obj/doors/airlocks/cult/runed/reaper-overlays.dmi differ diff --git a/icons/obj/doors/airlocks/cult/runed/reaper.dmi b/icons/obj/doors/airlocks/cult/runed/reaper.dmi new file mode 100644 index 00000000000..4099c4829db Binary files /dev/null and b/icons/obj/doors/airlocks/cult/runed/reaper.dmi differ diff --git a/icons/obj/doors/airlocks/cult/unruned/overlays.dmi b/icons/obj/doors/airlocks/cult/unruned/cult-overlays.dmi similarity index 100% rename from icons/obj/doors/airlocks/cult/unruned/overlays.dmi rename to icons/obj/doors/airlocks/cult/unruned/cult-overlays.dmi diff --git a/icons/obj/doors/airlocks/cult/unruned/reaper-overlays.dmi b/icons/obj/doors/airlocks/cult/unruned/reaper-overlays.dmi new file mode 100644 index 00000000000..241f0794f2e Binary files /dev/null and b/icons/obj/doors/airlocks/cult/unruned/reaper-overlays.dmi differ diff --git a/icons/obj/doors/airlocks/cult/unruned/reaper.dmi b/icons/obj/doors/airlocks/cult/unruned/reaper.dmi new file mode 100644 index 00000000000..8422fdb10ca Binary files /dev/null and b/icons/obj/doors/airlocks/cult/unruned/reaper.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 48bcdb44c00..6ed9dfc3dde 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/narsie.dmi b/icons/obj/narsie.dmi index 6571ee3d11d..3c69e433404 100644 Binary files a/icons/obj/narsie.dmi and b/icons/obj/narsie.dmi differ diff --git a/icons/obj/narsie_spawn_anim.dmi b/icons/obj/narsie_spawn_anim.dmi index d1b74c128c0..0aedcf38598 100644 Binary files a/icons/obj/narsie_spawn_anim.dmi and b/icons/obj/narsie_spawn_anim.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index 400b42105f4..2265194d678 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/icons/turf/walls/cult_wall.dmi b/icons/turf/walls/cult_wall.dmi index b097321e714..f539a3ed4ba 100644 Binary files a/icons/turf/walls/cult_wall.dmi and b/icons/turf/walls/cult_wall.dmi differ