Reaper cult sprite overhaul (#12513)

This commit is contained in:
SteelSlayer
2019-10-08 20:55:16 -04:00
committed by variableundefined
parent de5aaeeb55
commit e9d463576f
31 changed files with 189 additions and 46 deletions
+2 -2
View File
@@ -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" = (
@@ -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
},
+2 -2
View File
@@ -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"
+1 -1
View File
@@ -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,
+2 -2
View File
@@ -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)
+1 -1
View File
@@ -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
@@ -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" = (
+81 -11
View File
@@ -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
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
+25 -10
View File
@@ -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, "<span class='notice'>You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor.</span>")
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 = "<span class='warning'>The altar breaks into splinters, releasing a cascade of spirits into the air!</span>"
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 = "<span class='warning'>The desk breaks apart, its books falling to the floor.</span>"
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"
+8 -1
View File
@@ -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, "<span class='info'><b>Capture successful!</b>:</span> [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
+21 -4
View File
@@ -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
@@ -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
@@ -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)
@@ -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'
+5 -1
View File
@@ -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))
@@ -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)
@@ -43,6 +43,12 @@
user.visible_message("<span class='warning'>[user] gently taps [src] with the [O]. </span>", "<span class='warning'>This weapon is ineffective, it does no damage.</span>")
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")
+3 -3
View File
@@ -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, "<font size='15' color='red'><b> [name] HAS RISEN</b></font>")
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)
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 KiB

After

Width:  |  Height:  |  Size: 296 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 KiB

After

Width:  |  Height:  |  Size: 881 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 KiB

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB