diff --git a/_maps/map_files/daftmarsh/daftmarsh.dmm b/_maps/map_files/daftmarsh/daftmarsh.dmm index 5db3c183b6c..64a7a050f3d 100644 --- a/_maps/map_files/daftmarsh/daftmarsh.dmm +++ b/_maps/map_files/daftmarsh/daftmarsh.dmm @@ -3251,11 +3251,11 @@ /area/indoors/town/vault) "cGO" = ( /obj/structure/rack, -/obj/item/clothing/neck/psycross/silver/eora{ +/obj/item/clothing/neck/psycross/silver/divine/eora{ pixel_y = 4; pixel_x = -6 }, -/obj/item/clothing/neck/psycross/silver/eora, +/obj/item/clothing/neck/psycross/silver/divine/eora, /obj/item/clothing/neck/psycross/silver{ pixel_x = 7; pixel_y = 2 @@ -3264,13 +3264,13 @@ pixel_x = -5; pixel_y = 8 }, -/obj/item/clothing/neck/psycross/silver/ravox, -/obj/item/clothing/neck/psycross/silver/ravox{ +/obj/item/clothing/neck/psycross/silver/divine/ravox, +/obj/item/clothing/neck/psycross/silver/divine/ravox{ pixel_x = 7; pixel_y = -5 }, -/obj/item/clothing/neck/psycross/silver/abyssor, -/obj/item/clothing/neck/psycross/silver/abyssor{ +/obj/item/clothing/neck/psycross/silver/divine/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor{ pixel_y = 6; pixel_x = 7 }, @@ -3361,24 +3361,24 @@ /area/indoors/town/steward) "cKT" = ( /obj/structure/rack, -/obj/item/clothing/neck/psycross/silver/malum/steel, -/obj/item/clothing/neck/psycross/silver/malum/steel{ +/obj/item/clothing/neck/psycross/silver/divine/malum/steel, +/obj/item/clothing/neck/psycross/silver/divine/malum/steel{ pixel_y = -5; pixel_x = -11 }, -/obj/item/clothing/neck/psycross/silver/xylix, -/obj/item/clothing/neck/psycross/silver/xylix{ +/obj/item/clothing/neck/psycross/silver/divine/xylix, +/obj/item/clothing/neck/psycross/silver/divine/xylix{ pixel_y = 7; pixel_x = 8 }, -/obj/item/clothing/neck/psycross/silver/dendor{ +/obj/item/clothing/neck/psycross/silver/divine/dendor{ pixel_y = 7; pixel_x = -7 }, /obj/structure/fluff/walldeco/church/line{ dir = 4 }, -/obj/item/clothing/neck/psycross/silver/dendor, +/obj/item/clothing/neck/psycross/silver/divine/dendor, /turf/open/floor/churchmarble, /area/indoors/town/church) "cLh" = ( @@ -14063,23 +14063,23 @@ /area/indoors/town/keep/magician) "mdH" = ( /obj/structure/rack, -/obj/item/clothing/neck/psycross/silver/pestra, -/obj/item/clothing/neck/psycross/silver/pestra{ +/obj/item/clothing/neck/psycross/silver/divine/pestra, +/obj/item/clothing/neck/psycross/silver/divine/pestra{ pixel_y = 7; pixel_x = 9 }, -/obj/item/clothing/neck/psycross/silver/noc{ +/obj/item/clothing/neck/psycross/silver/divine/noc{ pixel_y = 7; pixel_x = 3 }, -/obj/item/clothing/neck/psycross/silver/noc, -/obj/item/clothing/neck/psycross/silver/astrata, -/obj/item/clothing/neck/psycross/silver/astrata{ +/obj/item/clothing/neck/psycross/silver/divine/noc, +/obj/item/clothing/neck/psycross/silver/divine/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata{ pixel_y = 4; pixel_x = 5 }, -/obj/item/clothing/neck/psycross/silver/necra, -/obj/item/clothing/neck/psycross/silver/necra{ +/obj/item/clothing/neck/psycross/silver/divine/necra, +/obj/item/clothing/neck/psycross/silver/divine/necra{ pixel_y = -3; pixel_x = 9 }, @@ -19306,7 +19306,7 @@ /area/indoors/town/tavern) "qOl" = ( /obj/structure/table/wood/plain_alt, -/obj/item/clothing/neck/psycross/silver/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata, /turf/open/floor/blocks/newstone, /area/indoors/town/church) "qOp" = ( @@ -23549,7 +23549,7 @@ /area/outdoors/town) "uOC" = ( /obj/structure/table/wood/plain/alt, -/obj/item/clothing/neck/psycross/silver/dendor{ +/obj/item/clothing/neck/psycross/silver/divine/dendor{ pixel_x = 5; pixel_y = -3 }, diff --git a/_maps/map_files/rosewood/rosewood.dmm b/_maps/map_files/rosewood/rosewood.dmm index adc79033267..abcbf85afa3 100644 --- a/_maps/map_files/rosewood/rosewood.dmm +++ b/_maps/map_files/rosewood/rosewood.dmm @@ -1774,7 +1774,7 @@ /obj/structure/table/wood{ icon_state = "tablewood1" }, -/obj/item/clothing/neck/psycross/silver/necra, +/obj/item/clothing/neck/psycross/silver/divine/necra, /turf/open/floor/blocks, /area/outdoors/exposed/church) "aTp" = ( @@ -5669,21 +5669,21 @@ /area/outdoors/town/roofs) "cIb" = ( /obj/structure/rack/shelf/biggest, -/obj/item/clothing/neck/psycross/silver/noc, -/obj/item/clothing/neck/psycross/silver/noc{ +/obj/item/clothing/neck/psycross/silver/divine/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc{ pixel_y = 7; pixel_x = 3 }, -/obj/item/clothing/neck/psycross/silver/noc{ +/obj/item/clothing/neck/psycross/silver/divine/noc{ pixel_y = 3; pixel_x = 12 }, -/obj/item/clothing/neck/psycross/silver/astrata, -/obj/item/clothing/neck/psycross/silver/astrata{ +/obj/item/clothing/neck/psycross/silver/divine/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata{ pixel_x = 3; pixel_y = -5 }, -/obj/item/clothing/neck/psycross/silver/astrata{ +/obj/item/clothing/neck/psycross/silver/divine/astrata{ pixel_x = 9; pixel_y = 3 }, @@ -17061,8 +17061,8 @@ /area/indoors/town/keep) "ili" = ( /obj/structure/table/wood/plain/alt, -/obj/item/clothing/neck/psycross/silver/dendor, -/obj/item/clothing/neck/psycross/silver/dendor{ +/obj/item/clothing/neck/psycross/silver/divine/dendor, +/obj/item/clothing/neck/psycross/silver/divine/dendor{ pixel_y = 7; pixel_x = -7 }, @@ -19999,11 +19999,11 @@ /area/indoors/town/keep) "jJh" = ( /obj/structure/rack, -/obj/item/clothing/neck/psycross/silver/eora{ +/obj/item/clothing/neck/psycross/silver/divine/eora{ pixel_y = 4; pixel_x = -6 }, -/obj/item/clothing/neck/psycross/silver/eora, +/obj/item/clothing/neck/psycross/silver/divine/eora, /obj/item/clothing/neck/psycross/silver{ pixel_x = 7; pixel_y = 2 @@ -20012,13 +20012,13 @@ pixel_x = -5; pixel_y = 8 }, -/obj/item/clothing/neck/psycross/silver/ravox, -/obj/item/clothing/neck/psycross/silver/ravox{ +/obj/item/clothing/neck/psycross/silver/divine/ravox, +/obj/item/clothing/neck/psycross/silver/divine/ravox{ pixel_x = 7; pixel_y = -5 }, -/obj/item/clothing/neck/psycross/silver/abyssor, -/obj/item/clothing/neck/psycross/silver/abyssor{ +/obj/item/clothing/neck/psycross/silver/divine/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor{ pixel_y = 6; pixel_x = 7 }, @@ -24998,23 +24998,23 @@ /area/indoors/town/clinic_large) "miF" = ( /obj/structure/rack, -/obj/item/clothing/neck/psycross/silver/pestra, -/obj/item/clothing/neck/psycross/silver/pestra{ +/obj/item/clothing/neck/psycross/silver/divine/pestra, +/obj/item/clothing/neck/psycross/silver/divine/pestra{ pixel_y = 7; pixel_x = 9 }, -/obj/item/clothing/neck/psycross/silver/noc{ +/obj/item/clothing/neck/psycross/silver/divine/noc{ pixel_y = 7; pixel_x = 3 }, -/obj/item/clothing/neck/psycross/silver/noc, -/obj/item/clothing/neck/psycross/silver/astrata, -/obj/item/clothing/neck/psycross/silver/astrata{ +/obj/item/clothing/neck/psycross/silver/divine/noc, +/obj/item/clothing/neck/psycross/silver/divine/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata{ pixel_y = 4; pixel_x = 5 }, -/obj/item/clothing/neck/psycross/silver/necra, -/obj/item/clothing/neck/psycross/silver/necra{ +/obj/item/clothing/neck/psycross/silver/divine/necra, +/obj/item/clothing/neck/psycross/silver/divine/necra{ pixel_y = -3; pixel_x = 9 }, @@ -25163,24 +25163,24 @@ /area/under/town/sewer) "mlB" = ( /obj/structure/rack, -/obj/item/clothing/neck/psycross/silver/malum/steel, -/obj/item/clothing/neck/psycross/silver/malum/steel{ +/obj/item/clothing/neck/psycross/silver/divine/malum/steel, +/obj/item/clothing/neck/psycross/silver/divine/malum/steel{ pixel_y = -5; pixel_x = -11 }, -/obj/item/clothing/neck/psycross/silver/xylix, -/obj/item/clothing/neck/psycross/silver/xylix{ +/obj/item/clothing/neck/psycross/silver/divine/xylix, +/obj/item/clothing/neck/psycross/silver/divine/xylix{ pixel_y = 7; pixel_x = 8 }, -/obj/item/clothing/neck/psycross/silver/dendor{ +/obj/item/clothing/neck/psycross/silver/divine/dendor{ pixel_y = 7; pixel_x = -7 }, /obj/structure/fluff/walldeco/church/line{ dir = 4 }, -/obj/item/clothing/neck/psycross/silver/dendor, +/obj/item/clothing/neck/psycross/silver/divine/dendor, /obj/item/clothing/cloak/poncho, /obj/item/clothing/cloak/poncho, /turf/open/floor/ruinedwood/darker, @@ -47776,7 +47776,7 @@ /area/indoors/town/tavern) "xlQ" = ( /obj/structure/table/wood/plain/alt, -/obj/item/clothing/neck/psycross/silver/necra{ +/obj/item/clothing/neck/psycross/silver/divine/necra{ pixel_x = -8; pixel_y = 4 }, diff --git a/_maps/map_files/rosewood/rosewood_marsh.dmm b/_maps/map_files/rosewood/rosewood_marsh.dmm index e5fefc85091..75b41753087 100644 --- a/_maps/map_files/rosewood/rosewood_marsh.dmm +++ b/_maps/map_files/rosewood/rosewood_marsh.dmm @@ -151,7 +151,7 @@ /turf/open/floor/ruinedwood/turned/darker, /area/indoors/lich) "aU" = ( -/obj/item/clothing/neck/psycross/g{ +/obj/item/clothing/neck/psycross/gold{ pixel_x = -7; pixel_y = -3 }, @@ -159,7 +159,7 @@ pixel_x = 1; pixel_y = 7 }, -/obj/item/clothing/neck/psycross/silver/pestra, +/obj/item/clothing/neck/psycross/silver/divine/pestra, /turf/open/floor/cobble, /area/indoors/lich) "aW" = ( @@ -4301,11 +4301,11 @@ pixel_x = -9; pixel_y = 0 }, -/obj/item/clothing/neck/psycross/g{ +/obj/item/clothing/neck/psycross/gold{ pixel_x = 2; pixel_y = 8 }, -/obj/item/clothing/neck/psycross/silver/necra, +/obj/item/clothing/neck/psycross/silver/divine/necra, /obj/effect/decal/remains/human, /turf/open/water/blood, /area/indoors/lich) @@ -4677,12 +4677,12 @@ /turf/open/floor/churchrough, /area/indoors/cave) "Ba" = ( -/obj/item/clothing/neck/psycross/g{ +/obj/item/clothing/neck/psycross/gold{ pixel_x = 2; pixel_y = 7 }, -/obj/item/clothing/neck/psycross/silver/astrata, -/obj/item/clothing/neck/psycross/silver/eora{ +/obj/item/clothing/neck/psycross/silver/divine/astrata, +/obj/item/clothing/neck/psycross/silver/divine/eora{ pixel_x = -20; pixel_y = 13 }, @@ -5247,7 +5247,7 @@ /turf/open/floor/grass/cold, /area/indoors/mountains) "Ef" = ( -/obj/item/clothing/neck/psycross/g, +/obj/item/clothing/neck/psycross/gold, /obj/effect/decal/remains/human, /turf/open/floor/dirt, /area/outdoors/bog) @@ -6683,7 +6683,7 @@ /turf/open/floor/tile/masonic/spiral, /area/indoors/lich) "ME" = ( -/obj/item/clothing/neck/psycross/g{ +/obj/item/clothing/neck/psycross/gold{ pixel_x = 5; pixel_y = 7 }, @@ -6691,8 +6691,8 @@ pixel_x = -6; pixel_y = 6 }, -/obj/item/clothing/neck/psycross/silver/ravox, -/obj/item/clothing/neck/psycross/silver/noc{ +/obj/item/clothing/neck/psycross/silver/divine/ravox, +/obj/item/clothing/neck/psycross/silver/divine/noc{ pixel_x = 15; pixel_y = -2 }, @@ -7493,11 +7493,11 @@ pixel_x = 6; pixel_y = 11 }, -/obj/item/clothing/neck/psycross/g{ +/obj/item/clothing/neck/psycross/gold{ pixel_x = -10; pixel_y = 10 }, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /turf/open/floor/cobblerock, /area/indoors/lich) "Sb" = ( diff --git a/_maps/map_files/shared/CentCom.dmm b/_maps/map_files/shared/CentCom.dmm index bc64aa44a5c..ae7245f3f8d 100644 --- a/_maps/map_files/shared/CentCom.dmm +++ b/_maps/map_files/shared/CentCom.dmm @@ -3133,13 +3133,13 @@ "rf" = ( /obj/item/clothing/neck/mercator, /obj/item/clothing/neck/shalal, -/obj/item/clothing/neck/psycross/silver/astrata, -/obj/item/clothing/neck/psycross/silver/dendor, -/obj/item/clothing/neck/psycross/silver/eora, -/obj/item/clothing/neck/psycross/g, -/obj/item/clothing/neck/psycross/silver/necra, -/obj/item/clothing/neck/psycross/silver/noc, -/obj/item/clothing/neck/psycross/silver/ravox, +/obj/item/clothing/neck/psycross/silver/divine/astrata, +/obj/item/clothing/neck/psycross/silver/divine/dendor, +/obj/item/clothing/neck/psycross/silver/divine/eora, +/obj/item/clothing/neck/psycross/gold, +/obj/item/clothing/neck/psycross/silver/divine/necra, +/obj/item/clothing/neck/psycross/silver/divine/noc, +/obj/item/clothing/neck/psycross/silver/divine/ravox, /turf/open/floor/wood, /area/indoors) "ri" = ( @@ -6232,7 +6232,7 @@ /obj/item/clothing/pants/grenzelpants, /obj/item/clothing/shirt/grenzelhoft, /obj/item/clothing/shoes/rare/grenzelhoft, -/obj/item/clothing/neck/psycross/g, +/obj/item/clothing/neck/psycross/gold, /turf/open/floor/herringbone, /area/indoors/vampire_manor) "Mm" = ( diff --git a/_maps/map_files/vanderlin/vanderlin.dmm b/_maps/map_files/vanderlin/vanderlin.dmm index 0d4b9c7fdc2..a0e205aee8c 100644 --- a/_maps/map_files/vanderlin/vanderlin.dmm +++ b/_maps/map_files/vanderlin/vanderlin.dmm @@ -1737,18 +1737,18 @@ /obj/machinery/light/fueled/wallfire/candle{ pixel_y = -32 }, -/obj/item/clothing/neck/psycross/silver/dendor, -/obj/item/clothing/neck/psycross/silver/dendor, -/obj/item/clothing/neck/psycross/silver/dendor, -/obj/item/clothing/neck/psycross/silver/xylix, -/obj/item/clothing/neck/psycross/silver/xylix, -/obj/item/clothing/neck/psycross/silver/xylix, -/obj/item/clothing/neck/psycross/silver/ravox, -/obj/item/clothing/neck/psycross/silver/ravox, -/obj/item/clothing/neck/psycross/silver/ravox, -/obj/item/clothing/neck/psycross/silver/malum/steel, -/obj/item/clothing/neck/psycross/silver/malum/steel, -/obj/item/clothing/neck/psycross/silver/malum/steel, +/obj/item/clothing/neck/psycross/silver/divine/dendor, +/obj/item/clothing/neck/psycross/silver/divine/dendor, +/obj/item/clothing/neck/psycross/silver/divine/dendor, +/obj/item/clothing/neck/psycross/silver/divine/xylix, +/obj/item/clothing/neck/psycross/silver/divine/xylix, +/obj/item/clothing/neck/psycross/silver/divine/xylix, +/obj/item/clothing/neck/psycross/silver/divine/ravox, +/obj/item/clothing/neck/psycross/silver/divine/ravox, +/obj/item/clothing/neck/psycross/silver/divine/ravox, +/obj/item/clothing/neck/psycross/silver/divine/malum/steel, +/obj/item/clothing/neck/psycross/silver/divine/malum/steel, +/obj/item/clothing/neck/psycross/silver/divine/malum/steel, /turf/open/floor/churchmarble, /area/indoors/town/church) "aPp" = ( @@ -4869,9 +4869,9 @@ /obj/item/clothing/head/padded/deathshroud, /obj/item/clothing/head/padded/deathshroud, /obj/item/clothing/head/padded/deathshroud, -/obj/item/clothing/neck/psycross/silver/necra, -/obj/item/clothing/neck/psycross/silver/necra, -/obj/item/clothing/neck/psycross/silver/necra, +/obj/item/clothing/neck/psycross/silver/divine/necra, +/obj/item/clothing/neck/psycross/silver/divine/necra, +/obj/item/clothing/neck/psycross/silver/divine/necra, /obj/structure/closet/crate/crafted_closet, /turf/open/floor/churchmarble, /area/indoors/town/church) @@ -5460,7 +5460,7 @@ /area/indoors/town/keep/gate) "cEP" = ( /obj/structure/table/wood/plain/alt, -/obj/item/clothing/neck/psycross/silver/dendor, +/obj/item/clothing/neck/psycross/silver/divine/dendor, /obj/item/clothing/head/padded/briarthorns, /turf/open/floor/ruinedwood/chevron, /area/outdoors/mountains) @@ -6844,9 +6844,9 @@ /obj/item/clothing/head/roguehood/eora, /obj/item/clothing/head/roguehood/eora, /obj/item/clothing/head/roguehood/eora, -/obj/item/clothing/neck/psycross/silver/eora, -/obj/item/clothing/neck/psycross/silver/eora, -/obj/item/clothing/neck/psycross/silver/eora, +/obj/item/clothing/neck/psycross/silver/divine/eora, +/obj/item/clothing/neck/psycross/silver/divine/eora, +/obj/item/clothing/neck/psycross/silver/divine/eora, /turf/open/floor/churchmarble, /area/indoors/town/church) "dlo" = ( @@ -8406,7 +8406,7 @@ /area/outdoors/town) "dYC" = ( /obj/structure/table/wood/plain_alt, -/obj/item/clothing/neck/psycross/silver/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata, /turf/open/floor/blocks/newstone, /area/indoors/town/church) "dYE" = ( @@ -10896,7 +10896,7 @@ /turf/open/floor/carpet/royalblack, /area/indoors/town/church) "fnr" = ( -/obj/item/clothing/neck/psycross/silver/eora, +/obj/item/clothing/neck/psycross/silver/divine/eora, /obj/item/candle/eora/lit, /obj/item/candle/eora/lit{ pixel_x = 7; @@ -13381,7 +13381,7 @@ /area/indoors/town/keep/halls/w) "gxi" = ( /obj/structure/table/church, -/obj/item/clothing/neck/psycross/silver/eora{ +/obj/item/clothing/neck/psycross/silver/divine/eora{ pixel_x = -2; pixel_y = 11 }, @@ -18517,7 +18517,7 @@ /area/indoors/town/keep/magician) "iZU" = ( /obj/structure/table/wood/plain/alt, -/obj/item/clothing/neck/psycross/silver/necra{ +/obj/item/clothing/neck/psycross/silver/divine/necra{ pixel_x = 8; pixel_y = 5 }, @@ -19574,9 +19574,9 @@ /obj/item/clothing/shirt/robe/abyssor, /obj/item/clothing/shirt/robe/abyssor, /obj/item/clothing/shirt/robe/abyssor, -/obj/item/clothing/neck/psycross/silver/abyssor, -/obj/item/clothing/neck/psycross/silver/abyssor, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /turf/open/floor/churchmarble, /area/indoors/town/church) "jzG" = ( @@ -24042,7 +24042,7 @@ "lJX" = ( /obj/structure/fluff/railing/wood, /obj/structure/table/wood/plain/alt, -/obj/item/clothing/neck/psycross/silver/dendor, +/obj/item/clothing/neck/psycross/silver/divine/dendor, /obj/item/clothing/shirt/robe/dendor, /turf/open/floor/ruinedwood/chevron, /area/outdoors/mountains) @@ -35276,9 +35276,9 @@ /obj/item/clothing/shirt/robe/phys, /obj/item/clothing/head/roguehood/phys, /obj/item/clothing/head/roguehood/phys, -/obj/item/clothing/neck/psycross/silver/pestra, -/obj/item/clothing/neck/psycross/silver/pestra, -/obj/item/clothing/neck/psycross/silver/pestra, +/obj/item/clothing/neck/psycross/silver/divine/pestra, +/obj/item/clothing/neck/psycross/silver/divine/pestra, +/obj/item/clothing/neck/psycross/silver/divine/pestra, /turf/open/floor/churchmarble, /area/indoors/town/church) "raJ" = ( @@ -38884,9 +38884,9 @@ /obj/structure/fluff/walldeco/church/line{ dir = 4 }, -/obj/item/clothing/neck/psycross/silver/noc, -/obj/item/clothing/neck/psycross/silver/noc, -/obj/item/clothing/neck/psycross/silver/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc, /turf/open/floor/churchmarble, /area/indoors/town/church) "sLQ" = ( @@ -41491,7 +41491,7 @@ /obj/structure/table/church{ dir = 1 }, -/obj/item/clothing/neck/psycross/silver/eora{ +/obj/item/clothing/neck/psycross/silver/divine/eora{ pixel_x = -2; pixel_y = 11 }, @@ -43565,9 +43565,9 @@ /obj/item/clothing/head/roguehood/astrata, /obj/item/clothing/head/roguehood/astrata, /obj/item/clothing/head/roguehood/astrata, -/obj/item/clothing/neck/psycross/silver/astrata, -/obj/item/clothing/neck/psycross/silver/astrata, -/obj/item/clothing/neck/psycross/silver/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata, /turf/open/floor/churchmarble, /area/indoors/town/church) "uWU" = ( diff --git a/_maps/map_files/vanderlin/vanderlin_bog.dmm b/_maps/map_files/vanderlin/vanderlin_bog.dmm index 1dc22ae9059..2d2bff19b57 100644 --- a/_maps/map_files/vanderlin/vanderlin_bog.dmm +++ b/_maps/map_files/vanderlin/vanderlin_bog.dmm @@ -1573,7 +1573,7 @@ /area/under/cavewet) "aLT" = ( /obj/structure/fluff/nest, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /turf/open/floor/abyss_tile{ color = "#7D9BAE" }, @@ -1653,7 +1653,7 @@ /area/under/cavewet) "aNI" = ( /obj/structure/fluff/nest, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /turf/open/floor/abyss_tile/two{ color = "#29404E" }, @@ -2077,7 +2077,7 @@ /area/under/cavewet) "aYN" = ( /obj/structure/fluff/nest, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /turf/open/floor/abyss_tile{ color = "#547285" }, @@ -2950,7 +2950,7 @@ /mob/living/carbon/human/species/triton/base/unskilled/naked, /obj/effect/mapping_helpers/floor_clothing_equipper, /obj/item/clothing/shirt/robe/abyssor, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /obj/item/clothing/head/padded/abyssor, /obj/item/weapon/sword/gladius, /turf/open/floor/abyss_tile/three{ @@ -4668,7 +4668,7 @@ /obj/item/weapon/mace/steel/rungu, /obj/item/clothing/head/helmet/heavy/abyssorgreathelm, /obj/item/clothing/shirt/robe/abyssor, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /turf/open/floor/abyss_tile{ color = "#7D9BAE" }, @@ -8308,7 +8308,7 @@ /obj/structure/closet/crate/drawer{ color = "#7D9BAE" }, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /turf/open/floor/carpet/royalblack, /area/under/cavewet) "jlv" = ( @@ -8586,7 +8586,7 @@ /turf/open/floor/dirt/road, /area/indoors/shelter/bog) "jCT" = ( -/obj/item/clothing/neck/psycross/g, +/obj/item/clothing/neck/psycross/gold, /turf/open/floor/abyss_tile/three{ color = "#547285" }, @@ -8774,7 +8774,7 @@ /obj/effect/mapping_helpers/floor_clothing_equipper, /obj/item/clothing/head/fisherhat, /obj/item/clothing/shirt/robe/abyssor, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /obj/item/weapon/polearm/spear/hoplite/abyssal, /turf/open/floor/abyss_tile/three{ color = "#7D9BAE" @@ -12815,7 +12815,7 @@ /mob/living/carbon/human/species/triton/base/very_skilled/naked, /obj/effect/mapping_helpers/floor_clothing_equipper, /obj/item/clothing/shirt/robe/abyssor, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /obj/item/clothing/head/crown/circlet/sleepless, /obj/item/clothing/neck/mana_star, /obj/structure/carpet/blue, @@ -12853,7 +12853,7 @@ /mob/living/carbon/human/species/triton/base/unskilled/naked, /obj/effect/mapping_helpers/floor_clothing_equipper, /obj/item/clothing/shirt/robe/abyssor, -/obj/item/clothing/neck/psycross/silver/abyssor, +/obj/item/clothing/neck/psycross/silver/divine/abyssor, /obj/item/weapon/polearm/spear/hoplite/abyssal, /obj/item/clothing/head/padded/abyssor, /turf/open/floor/abyss_tile/three{ diff --git a/_maps/map_files/vanderlin/vanderlin_forest.dmm b/_maps/map_files/vanderlin/vanderlin_forest.dmm index 9a2ec849428..a5343726ff8 100644 --- a/_maps/map_files/vanderlin/vanderlin_forest.dmm +++ b/_maps/map_files/vanderlin/vanderlin_forest.dmm @@ -720,7 +720,7 @@ /area/indoors/dungeon) "iJ" = ( /obj/structure/table/wood/fancy/orange, -/obj/item/clothing/neck/psycross/silver/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata, /turf/open/floor/sandstone_tile/six, /area/indoors/dungeon) "iK" = ( @@ -1878,7 +1878,7 @@ /obj/effect/mapping_helpers/floor_clothing_equipper, /obj/item/clothing/shirt/robe/necra, /obj/item/clothing/head/padded/deathshroud, -/obj/item/clothing/neck/psycross/silver/necra, +/obj/item/clothing/neck/psycross/silver/divine/necra, /obj/item/weapon/flail, /obj/item/weapon/shield/tower/buckleriron, /obj/item/jingle_bells, @@ -2011,7 +2011,7 @@ /area/outdoors/mountains) "xK" = ( /obj/structure/table/stone_small, -/obj/item/clothing/neck/psycross/g, +/obj/item/clothing/neck/psycross/gold, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/herringbone, /area/indoors/dungeon) @@ -2588,7 +2588,7 @@ name = "Saint's coffin" }, /obj/item/clothing/head/flowercrown/salvia, -/obj/item/clothing/neck/psycross/silver/ravox, +/obj/item/clothing/neck/psycross/silver/divine/ravox, /turf/open/floor/tile/masonic/spiral, /area/indoors/dungeon) "DW" = ( diff --git a/_maps/map_files/vanderlin/vanderlin_mountain.dmm b/_maps/map_files/vanderlin/vanderlin_mountain.dmm index 2ea17ced2b7..52889bd3d04 100644 --- a/_maps/map_files/vanderlin/vanderlin_mountain.dmm +++ b/_maps/map_files/vanderlin/vanderlin_mountain.dmm @@ -2859,7 +2859,7 @@ /turf/open/floor/dirt, /area/outdoors/mountains/anvil/lavaexposed) "Rw" = ( -/obj/item/clothing/neck/psycross/silver/malum, +/obj/item/clothing/neck/psycross/silver/divine/malum, /turf/open/floor/naturalstone, /area/under/mountains/anvil/lower) "RB" = ( diff --git a/_maps/map_files/whitepalacepass/WhitePalacePass.dmm b/_maps/map_files/whitepalacepass/WhitePalacePass.dmm index de1ab91b747..dddebfb7778 100644 --- a/_maps/map_files/whitepalacepass/WhitePalacePass.dmm +++ b/_maps/map_files/whitepalacepass/WhitePalacePass.dmm @@ -14094,7 +14094,7 @@ /turf/open/floor/ruinedwood, /area/indoors/villagegarrison) "ncN" = ( -/obj/item/clothing/neck/psycross/silver/ravox, +/obj/item/clothing/neck/psycross/silver/divine/ravox, /turf/open/floor/cobble, /area/indoors/town/church) "ndy" = ( @@ -15360,24 +15360,24 @@ /area/indoors/soilsons) "ogV" = ( /obj/structure/table/wood/crafted, -/obj/item/clothing/neck/psycross/silver/eora{ +/obj/item/clothing/neck/psycross/silver/divine/eora{ pixel_x = 7; pixel_y = -5 }, -/obj/item/clothing/neck/psycross/silver/eora{ +/obj/item/clothing/neck/psycross/silver/divine/eora{ pixel_x = 11; pixel_y = 5 }, -/obj/item/clothing/neck/psycross/silver/eora{ +/obj/item/clothing/neck/psycross/silver/divine/eora{ pixel_x = -9; pixel_y = -6 }, -/obj/item/clothing/neck/psycross/silver/astrata, -/obj/item/clothing/neck/psycross/silver/astrata{ +/obj/item/clothing/neck/psycross/silver/divine/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata{ pixel_x = -11; pixel_y = 11 }, -/obj/item/clothing/neck/psycross/silver/astrata{ +/obj/item/clothing/neck/psycross/silver/divine/astrata{ pixel_x = 5; pixel_y = 8 }, @@ -17844,35 +17844,35 @@ /area/indoors/town/keep/knight) "qoo" = ( /obj/structure/table/wood/crafted, -/obj/item/clothing/neck/psycross/silver/xylix, -/obj/item/clothing/neck/psycross/silver/xylix{ +/obj/item/clothing/neck/psycross/silver/divine/xylix, +/obj/item/clothing/neck/psycross/silver/divine/xylix{ pixel_x = 2; pixel_y = 6 }, -/obj/item/clothing/neck/psycross/silver/xylix{ +/obj/item/clothing/neck/psycross/silver/divine/xylix{ pixel_y = 16 }, -/obj/item/clothing/neck/psycross/silver/pestra{ +/obj/item/clothing/neck/psycross/silver/divine/pestra{ pixel_x = -11; pixel_y = -5 }, -/obj/item/clothing/neck/psycross/silver/pestra{ +/obj/item/clothing/neck/psycross/silver/divine/pestra{ pixel_x = -9; pixel_y = 18 }, -/obj/item/clothing/neck/psycross/silver/pestra{ +/obj/item/clothing/neck/psycross/silver/divine/pestra{ pixel_x = -12; pixel_y = 2 }, -/obj/item/clothing/neck/psycross/silver/dendor{ +/obj/item/clothing/neck/psycross/silver/divine/dendor{ pixel_x = 11; pixel_y = 13 }, -/obj/item/clothing/neck/psycross/silver/dendor{ +/obj/item/clothing/neck/psycross/silver/divine/dendor{ pixel_x = 7; pixel_y = -3 }, -/obj/item/clothing/neck/psycross/silver/dendor{ +/obj/item/clothing/neck/psycross/silver/divine/dendor{ pixel_x = 11; pixel_y = 5 }, @@ -19122,27 +19122,27 @@ /area/indoors/town/bath) "rBg" = ( /obj/structure/table/wood/crafted, -/obj/item/clothing/neck/psycross/silver/necra{ +/obj/item/clothing/neck/psycross/silver/divine/necra{ pixel_x = 8; pixel_y = -5 }, -/obj/item/clothing/neck/psycross/silver/necra{ +/obj/item/clothing/neck/psycross/silver/divine/necra{ pixel_x = 11; pixel_y = 7 }, -/obj/item/clothing/neck/psycross/silver/necra{ +/obj/item/clothing/neck/psycross/silver/divine/necra{ pixel_x = -6; pixel_y = 11 }, -/obj/item/clothing/neck/psycross/silver/noc{ +/obj/item/clothing/neck/psycross/silver/divine/noc{ pixel_x = -2; pixel_y = -4 }, -/obj/item/clothing/neck/psycross/silver/noc{ +/obj/item/clothing/neck/psycross/silver/divine/noc{ pixel_x = 7; pixel_y = 5 }, -/obj/item/clothing/neck/psycross/silver/noc{ +/obj/item/clothing/neck/psycross/silver/divine/noc{ pixel_x = -10; pixel_y = 9 }, @@ -21799,26 +21799,26 @@ /area/indoors/town/keep/halls/s) "uaa" = ( /obj/structure/table/wood/crafted, -/obj/item/clothing/neck/psycross/silver/ravox{ +/obj/item/clothing/neck/psycross/silver/divine/ravox{ pixel_y = -5 }, -/obj/item/clothing/neck/psycross/silver/ravox{ +/obj/item/clothing/neck/psycross/silver/divine/ravox{ pixel_x = -9; pixel_y = -1 }, -/obj/item/clothing/neck/psycross/silver/ravox{ +/obj/item/clothing/neck/psycross/silver/divine/ravox{ pixel_x = -6; pixel_y = 12 }, -/obj/item/clothing/neck/psycross/silver/malum{ +/obj/item/clothing/neck/psycross/silver/divine/malum{ pixel_x = 5; pixel_y = -3 }, -/obj/item/clothing/neck/psycross/silver/malum{ +/obj/item/clothing/neck/psycross/silver/divine/malum{ pixel_x = 9; pixel_y = -1 }, -/obj/item/clothing/neck/psycross/silver/malum{ +/obj/item/clothing/neck/psycross/silver/divine/malum{ pixel_x = 10; pixel_y = 8 }, diff --git a/_maps/matthios_tomb/boss/orcboss.dmm b/_maps/matthios_tomb/boss/orcboss.dmm index e9921f6c402..dc8d200ecda 100644 --- a/_maps/matthios_tomb/boss/orcboss.dmm +++ b/_maps/matthios_tomb/boss/orcboss.dmm @@ -116,7 +116,7 @@ /area/under/tomb/indoors) "wr" = ( /obj/structure/toilet, -/obj/item/clothing/neck/psycross/g, +/obj/item/clothing/neck/psycross/gold, /obj/item/natural/poo{ pixel_y = 9 }, diff --git a/_maps/matthios_tomb/hallway/Malphpiece3.dmm b/_maps/matthios_tomb/hallway/Malphpiece3.dmm index b5cac053189..6a2670c9d07 100644 --- a/_maps/matthios_tomb/hallway/Malphpiece3.dmm +++ b/_maps/matthios_tomb/hallway/Malphpiece3.dmm @@ -36,7 +36,7 @@ /obj/item/clothing/shirt/tunic/colored/blue, /obj/item/gem/blue, /obj/item/clothing/shoes/boots, -/obj/item/clothing/neck/psycross/silver/malum/steel, +/obj/item/clothing/neck/psycross/silver/divine/malum/steel, /obj/item/clothing/ring/silver/saffira, /obj/item/storage/belt/leather/plaquesilver, /obj/item/weapon/sword/rapier/silver, diff --git a/_maps/matthios_tomb/hallway/Malphpiece5.dmm b/_maps/matthios_tomb/hallway/Malphpiece5.dmm index 8ff20a1ff4c..d6c5b204d8b 100644 --- a/_maps/matthios_tomb/hallway/Malphpiece5.dmm +++ b/_maps/matthios_tomb/hallway/Malphpiece5.dmm @@ -124,7 +124,7 @@ /obj/effect/landmark/chest_or_mimic, /obj/item/ore/gold, /obj/item/ore/gold, -/obj/item/clothing/neck/psycross/silver/malum/steel, +/obj/item/clothing/neck/psycross/silver/divine/malum/steel, /turf/open/floor/volcanic, /area/under/tomb/cave) "Z" = ( diff --git a/_maps/matthios_tomb/room/SmallChurch.dmm b/_maps/matthios_tomb/room/SmallChurch.dmm index 4ba57fcc6e9..7891be7a43c 100644 --- a/_maps/matthios_tomb/room/SmallChurch.dmm +++ b/_maps/matthios_tomb/room/SmallChurch.dmm @@ -636,7 +636,7 @@ /area/under/tomb/indoors/church) "xM" = ( /obj/structure/closet/crate/chest/crate, -/obj/item/clothing/neck/psycross/silver/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc, /turf/open/floor/churchmarble, /area/under/tomb/indoors/church) "yc" = ( @@ -843,8 +843,8 @@ /obj/item/clothing/cloak/stabard/templar/astrata/alt, /obj/item/clothing/cloak/stabard/templar/astrata, /obj/item/clothing/cloak/stabard/templar/astrata, -/obj/item/clothing/neck/psycross/silver/astrata, -/obj/item/clothing/neck/psycross/silver/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata, +/obj/item/clothing/neck/psycross/silver/divine/astrata, /obj/item/clothing/shirt/robe/astrata, /obj/item/clothing/shirt/robe/astrata, /obj/item/clothing/head/helmet/heavy/necked/astrata, @@ -1046,8 +1046,8 @@ /area/under/tomb/indoors/church) "OD" = ( /obj/structure/closet/crate/chest/crate, -/obj/item/clothing/neck/psycross/silver/necra, -/obj/item/clothing/neck/psycross/silver/astrata, +/obj/item/clothing/neck/psycross/silver/divine/necra, +/obj/item/clothing/neck/psycross/silver/divine/astrata, /turf/open/floor/churchmarble, /area/under/tomb/indoors/church) "OM" = ( diff --git a/_maps/matthios_tomb/room/Thelastbreath.dmm b/_maps/matthios_tomb/room/Thelastbreath.dmm index 9162ba7c8a9..014e4850010 100644 --- a/_maps/matthios_tomb/room/Thelastbreath.dmm +++ b/_maps/matthios_tomb/room/Thelastbreath.dmm @@ -1939,7 +1939,7 @@ /obj/item/clothing/shirt/dress/silkdress/colored/silkdressprimary, /obj/item/clothing/pants/trou/shadowpants, /obj/item/clothing/ring/gold/blortz, -/obj/item/clothing/neck/psycross/g, +/obj/item/clothing/neck/psycross/gold, /turf/open/floor/cobblerock, /area/under/tomb/wilds) "BV" = ( @@ -2569,7 +2569,7 @@ /obj/item/clothing/armor/plate/rust, /obj/item/clothing/armor/chainmail, /obj/item/clothing/ring/gold/rontz, -/obj/item/clothing/neck/psycross/g, +/obj/item/clothing/neck/psycross/gold, /mob/living/carbon/human/species/skeleton/npc/no_equipment{ base_speed = 12; base_strength = 15; diff --git a/_maps/matthios_tomb/room/hctomb2.dmm b/_maps/matthios_tomb/room/hctomb2.dmm index 505c26eea1e..c0e30fd9d88 100644 --- a/_maps/matthios_tomb/room/hctomb2.dmm +++ b/_maps/matthios_tomb/room/hctomb2.dmm @@ -433,7 +433,7 @@ /obj/item/clothing/pants/trou/leather/mourning, /obj/item/clothing/shirt/robe/necra, /obj/item/clothing/head/padded/deathshroud, -/obj/item/clothing/neck/psycross/silver/necra, +/obj/item/clothing/neck/psycross/silver/divine/necra, /turf/open/floor/dirt/road, /area/under/tomb) "IB" = ( diff --git a/_maps/matthios_tomb/room/hctomb5.dmm b/_maps/matthios_tomb/room/hctomb5.dmm index 4ba83f2db88..d5885e410d8 100644 --- a/_maps/matthios_tomb/room/hctomb5.dmm +++ b/_maps/matthios_tomb/room/hctomb5.dmm @@ -307,7 +307,7 @@ /turf/open/floor/wood, /area/under/tomb/indoors/rest) "Pa" = ( -/obj/item/clothing/neck/psycross/g{ +/obj/item/clothing/neck/psycross/gold{ pixel_x = -6; pixel_y = 0 }, diff --git a/_maps/matthios_tomb/room/queensretreat.dmm b/_maps/matthios_tomb/room/queensretreat.dmm index c279261fc38..987b5cd2bf4 100644 --- a/_maps/matthios_tomb/room/queensretreat.dmm +++ b/_maps/matthios_tomb/room/queensretreat.dmm @@ -926,7 +926,7 @@ "Pd" = ( /obj/machinery/light/fueled/wallfire/candle/weak/r, /obj/structure/closet/crate/crafted_closet/lord, -/obj/item/clothing/neck/psycross/silver/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc, /obj/item/clothing/ring/silver/noc, /obj/item/reagent_containers/glass/bottle/stronghealthpot, /obj/item/reagent_containers/glass/bottle/stronghealthpot, diff --git a/_maps/matthios_tomb/room/rousecamp.dmm b/_maps/matthios_tomb/room/rousecamp.dmm index 50a82be2a9f..be2028582d4 100644 --- a/_maps/matthios_tomb/room/rousecamp.dmm +++ b/_maps/matthios_tomb/room/rousecamp.dmm @@ -119,7 +119,7 @@ /area/under/tomb/indoors) "nJ" = ( /obj/structure/table/church/m, -/obj/item/clothing/neck/psycross/silver/ravox, +/obj/item/clothing/neck/psycross/silver/divine/ravox, /turf/open/floor/churchmarble, /area/under/tomb/cave/lava) "nR" = ( diff --git a/_maps/templates/malums_anvil_dungeons/embercradle.dmm b/_maps/templates/malums_anvil_dungeons/embercradle.dmm index 4d0faf2a78c..9f40a909e21 100644 --- a/_maps/templates/malums_anvil_dungeons/embercradle.dmm +++ b/_maps/templates/malums_anvil_dungeons/embercradle.dmm @@ -2467,7 +2467,7 @@ /obj/item/storage/belt/leather/plaquesilver, /obj/item/clothing/ring/silver/noc, /obj/item/clothing/wrists/nocwrappings, -/obj/item/clothing/neck/psycross/silver/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc, /obj/effect/mapping_helpers/floor_clothing_equipper, /mob/living/carbon/human/species/skeleton/npc/no_equipment, /turf/open/floor/carpet/purple, @@ -3265,7 +3265,7 @@ /obj/structure/table/church{ dir = 1 }, -/obj/item/clothing/neck/psycross/g, +/obj/item/clothing/neck/psycross/gold, /turf/open/floor/cobble, /area/under/mountains/anvil/dungeon/lower) "Ru" = ( @@ -3452,7 +3452,7 @@ /area/under/mountains/anvil/dungeon) "Uf" = ( /obj/structure/table/church, -/obj/item/clothing/neck/psycross/silver/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc, /turf/open/floor/cobble, /area/under/mountains/anvil/dungeon/lower) "Ui" = ( @@ -3713,7 +3713,7 @@ "Xr" = ( /mob/living/carbon/human/species/skeleton/npc/no_equipment, /obj/item/clothing/shirt/robe/noc, -/obj/item/clothing/neck/psycross/silver/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc, /obj/item/clothing/head/roguehood/nochood, /obj/item/clothing/gloves/leather/black, /obj/item/clothing/shoes/boots/leather, diff --git a/_maps/templates/malums_anvil_dungeons/mountaintown.dmm b/_maps/templates/malums_anvil_dungeons/mountaintown.dmm index 4ee24280291..14173e53e4a 100644 --- a/_maps/templates/malums_anvil_dungeons/mountaintown.dmm +++ b/_maps/templates/malums_anvil_dungeons/mountaintown.dmm @@ -1234,7 +1234,7 @@ /obj/structure/table/wood/large/corner_blue{ dir = 10 }, -/obj/item/clothing/neck/psycross/silver/ravox, +/obj/item/clothing/neck/psycross/silver/divine/ravox, /turf/open/floor/churchmarble, /area/under/mountains/anvil/dungeon) "qN" = ( @@ -1715,7 +1715,7 @@ "xF" = ( /obj/structure/closet/crate/drawer, /obj/item/candle/yellow, -/obj/item/clothing/neck/psycross/silver/malum/steel, +/obj/item/clothing/neck/psycross/silver/divine/malum/steel, /turf/open/floor/wood/nosmooth, /area/under/mountains/anvil/dungeon) "xJ" = ( @@ -3602,7 +3602,7 @@ /area/under/mountains/anvil/dungeon/lower) "Zq" = ( /obj/effect/decal/cleanable/blood/gibs, -/obj/item/clothing/neck/psycross/silver/malum/steel, +/obj/item/clothing/neck/psycross/silver/divine/malum/steel, /obj/effect/decal/cleanable/blood/gibs/body, /turf/open/floor/wood/nosmooth, /area/under/mountains/anvil/dungeon) diff --git a/_maps/templates/sk_dungeon/small_bog_dungeon_1.dmm b/_maps/templates/sk_dungeon/small_bog_dungeon_1.dmm index 8dc54165692..653d3968c8d 100644 --- a/_maps/templates/sk_dungeon/small_bog_dungeon_1.dmm +++ b/_maps/templates/sk_dungeon/small_bog_dungeon_1.dmm @@ -280,7 +280,7 @@ /area/outdoors/bog) "ON" = ( /obj/structure/closet/crate/coffin, -/obj/item/clothing/neck/psycross/silver/necra, +/obj/item/clothing/neck/psycross/silver/divine/necra, /turf/open/floor/blocks, /area/outdoors/bog) "OQ" = ( @@ -344,7 +344,7 @@ /area/outdoors/bog) "Wo" = ( /obj/structure/closet/crate/coffin, -/obj/item/clothing/neck/psycross/silver/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc, /turf/open/floor/blocks/paving, /area/outdoors/bog) "WF" = ( @@ -357,7 +357,7 @@ /area/outdoors/bog) "YA" = ( /obj/structure/closet/crate/coffin, -/obj/item/clothing/neck/psycross/silver/ravox, +/obj/item/clothing/neck/psycross/silver/divine/ravox, /turf/open/floor/blocks/paving, /area/outdoors/bog) diff --git a/_maps/templates/sk_dungeon/small_bog_dungeon_3.dmm b/_maps/templates/sk_dungeon/small_bog_dungeon_3.dmm index c5209b7ed49..919f51d9a22 100644 --- a/_maps/templates/sk_dungeon/small_bog_dungeon_3.dmm +++ b/_maps/templates/sk_dungeon/small_bog_dungeon_3.dmm @@ -130,7 +130,7 @@ /obj/structure/closet/crate/coffin, /obj/item/clothing/head/helmet/heavy/necked/noc, /obj/item/clothing/ring/silver/noc, -/obj/item/clothing/neck/psycross/silver/noc, +/obj/item/clothing/neck/psycross/silver/divine/noc, /turf/open/floor/herringbone, /area/outdoors/bog) "Q" = ( diff --git a/code/__DEFINES/enchantments.dm b/code/__DEFINES/enchantments.dm index 16135013f28..2979059f753 100644 --- a/code/__DEFINES/enchantments.dm +++ b/code/__DEFINES/enchantments.dm @@ -1,10 +1,18 @@ #define DEFAULT_DURATION 9000 // 15 MINUTES + #define SEARING_BLADE_ENCHANT 1 #define FORCE_BLADE_ENCHANT 2 #define DURABILITY_ENCHANT 3 +#define DIVINE_FIRE_ENCHANT 4 + #define SEARING_BLADE_DAMAGE 8 -#define FORCE_BLADE_FORCE 5 -#define DURABILITY_INCREASE 100 #define SEARING_FILTER "searing_blade" + +#define FORCE_BLADE_FORCE 5 #define FORCE_FILTER "force_blade" + +#define DURABILITY_INCREASE 100 #define DURABILITY_FILTER "durability_enchant" + +#define DIVINE_FIRE_DAMAGE 8 +#define DIVINE_FILTER "holy_blade" diff --git a/code/__DEFINES/roguetown.dm b/code/__DEFINES/roguetown.dm index 38789e326eb..c527374471b 100644 --- a/code/__DEFINES/roguetown.dm +++ b/code/__DEFINES/roguetown.dm @@ -1,4 +1,5 @@ #define ALL_TEMPLE_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/dendor, /datum/patron/divine/abyssor, /datum/patron/divine/necra, /datum/patron/divine/ravox, /datum/patron/divine/xylix, /datum/patron/divine/pestra, /datum/patron/divine/malum, /datum/patron/divine/eora) +#define UNDIVIDED_TEMPLE_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/dendor, /datum/patron/divine/abyssor, /datum/patron/divine/necra, /datum/patron/divine/ravox, /datum/patron/divine/xylix, /datum/patron/divine/pestra, /datum/patron/divine/malum, /datum/patron/divine/eora, /datum/patron/divine/centrist) #define ALL_CLERIC_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/dendor, /datum/patron/divine/abyssor, /datum/patron/divine/necra, /datum/patron/divine/ravox, /datum/patron/divine/xylix, /datum/patron/divine/pestra, /datum/patron/divine/malum, /datum/patron/divine/eora) #define ALL_PALADIN_PATRONS list(/datum/patron/psydon, /datum/patron/psydon/extremist, /datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/dendor, /datum/patron/divine/abyssor, /datum/patron/divine/necra, /datum/patron/divine/ravox, /datum/patron/divine/xylix, /datum/patron/divine/pestra, /datum/patron/divine/malum, /datum/patron/divine/eora) #define ALL_TEMPLAR_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/eora, /datum/patron/divine/necra, /datum/patron/divine/ravox, /datum/patron/divine/pestra, /datum/patron/divine/dendor, /datum/patron/divine/abyssor, /datum/patron/divine/malum, /datum/patron/divine/xylix) @@ -7,6 +8,7 @@ /// Currently same as ALL_ICONOCLAST_PATRONS, but in text format because byond sucks and won't read things properly. #define COLORFUL_PATRONS list("Psydon", "Astrata", "Noc", "Dendor", "Abyssor", "Necra", "Ravox", "Xylix", "Pestra", "Malum", "Eora", "Graggar", "Zizo", "Matthios", "Baotha") +#define TEMPLE_PATRON_NAMES list("Astrata", "Noc", "Dendor", "Abyssor", "Necra", "Ravox", "Xylix", "Pestra", "Malum", "Eora") GLOBAL_LIST_INIT(curse_names, list()) diff --git a/code/__DEFINES/storytellers.dm b/code/__DEFINES/storytellers.dm index 500121cbf72..b46c4831e8d 100644 --- a/code/__DEFINES/storytellers.dm +++ b/code/__DEFINES/storytellers.dm @@ -212,9 +212,19 @@ #define MALUM "Malum" #define EORA "Eora" #define DENDOR "Dendor" +#define DIVINE_CENTRIST "Enlightened Centrism" // Inhumen pantheon #define ZIZO "Zizo" #define BAOTHA "Baotha" #define GRAGGAR "Graggar" #define MATTHIOS "Matthios" + +// Devotion Classes +#define DEVOTION_CLASS_PRIEST "Priest" +#define DEVOTION_CLASS_GRANDMASTER "Grandmaster" +#define DEVOTION_CLASS_TEMPLAR "Templar" +#define DEVOTION_CLASS_ACOLYTE "Acolyte" +#define DEVOTION_CLASS_ABSOLVER "Absolver" +#define DEVOTION_CLASS_CLERIC "Cleric" +#define DEVOTION_CLASS_CHURCHLING "Churchling" diff --git a/code/__DEFINES/traits/definitions.dm b/code/__DEFINES/traits/definitions.dm index 849c1f5a10c..184a72763ff 100644 --- a/code/__DEFINES/traits/definitions.dm +++ b/code/__DEFINES/traits/definitions.dm @@ -453,6 +453,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_INQUISITION "Member of the Oratorium Throni Vacui" #define TRAIT_PURITAN "Puritan" #define TRAIT_SILVER_BLESSED "Silver Blessed" +#define TRAIT_DIVINE_CENTRIST "Divine Centrist" +#define TRAIT_DIVINE_SERVANT "Divine Servant" +#define TRAIT_DIVINE_CONVERT "Divine Convert" // Inhumen patron trait bonuses #define TRAIT_ORGAN_EATER "Blessing of Graggar"//Can eat organs (duh.) and raw meat diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 1418b59f7e9..f2d0d292354 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -60,7 +60,8 @@ patron = new patron() - GLOB.patron_list[patron.type] = patron + GLOB.patrons_by_type[patron.type] = patron + GLOB.patrons_by_name[patron.name] = patron LAZYINITLIST(GLOB.patrons_by_faith[patron.associated_faith]) diff --git a/code/_globalvars/special_traits/traits.dm b/code/_globalvars/special_traits/traits.dm index 3aed25ed5ca..5b0c367e7ed 100644 --- a/code/_globalvars/special_traits/traits.dm +++ b/code/_globalvars/special_traits/traits.dm @@ -877,7 +877,7 @@ var/holder = character.patron?.devotion_holder if(holder) var/datum/devotion/devotion = new holder() - devotion.make_churching() + devotion.make_churchling() devotion.grant_to(character) character.mind.special_items["Baotha's Gift"] = /obj/item/clothing/head/corruptflower character.AddComponent(/datum/component/theme_music) diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index 5eb1e0f89d4..bf73e249458 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -99,6 +99,9 @@ GLOBAL_LIST_INIT(traits_by_type, list( "Blessing of Pestra"= TRAIT_ROT_EATER, "Blessing of Dendor" = TRAIT_KNEESTINGER_IMMUNITY, "Blessing of Necra" = TRAIT_SOUL_EXAMINE, + "Enlightened Centrist" = TRAIT_DIVINE_CENTRIST, + "Divine Servant" = TRAIT_DIVINE_SERVANT, + "Divine Convert" = TRAIT_DIVINE_CONVERT, "Golden Blood" = TRAIT_SEEPRICES, "Of the Cabal" = TRAIT_CABAL, "Unleechable" = TRAIT_LEECHIMMUNE, @@ -259,6 +262,9 @@ GLOBAL_LIST_INIT(roguetraits, list( TRAIT_INTRAINING = "I'm going to be a knight someday! I can use training dummies more effectively than others.", TRAIT_MALUMFIRE = "My hands are blessed by Malum to forge items of superb quality.", TRAIT_DEATHSIGHT = span_info("I can feel when someone nearby draws the Undermaiden's attention, a tiny voice whispering 'Someone has died,' in my ear."), + TRAIT_DIVINE_CENTRIST = "I haven't connected a divine patron. I wonder which one I should profess myself to...", + TRAIT_DIVINE_SERVANT = SPAN_GOD_GENERIC("I serve the divine."), + TRAIT_DIVINE_CONVERT = SPAN_GOD_GENERIC("I recently converted to a new Patron."), TRAIT_CABAL = span_purple("In secret, I have studied the ways of Her ascension, and know of others of the Cabal."), TRAIT_LEGENDARY_ALCHEMIST = span_info("An expert in the art of finding herbs in the wild."), TRAIT_DECEIVING_MEEKNESS = "People look at me and think I am a weakling. They are mistaken.", diff --git a/code/controllers/subsystem/storyteller.dm b/code/controllers/subsystem/storyteller.dm index e3c3a99711d..39fc7a3f9aa 100644 --- a/code/controllers/subsystem/storyteller.dm +++ b/code/controllers/subsystem/storyteller.dm @@ -1564,7 +1564,7 @@ SUBSYSTEM_DEF(gamemode) current_valid_humans += human_mob record_round_statistic(STATS_TOTAL_POPULATION) for(var/obj/item/clothing/neck/current_item in human_mob.get_equipped_items(TRUE)) - if(current_item.type in list(/obj/item/clothing/neck/psycross, /obj/item/clothing/neck/psycross/silver, /obj/item/clothing/neck/psycross/g)) + if(current_item.type in list(/obj/item/clothing/neck/psycross, /obj/item/clothing/neck/psycross/silver, /obj/item/clothing/neck/psycross/gold)) record_round_statistic(STATS_PSYCROSS_USERS) break switch(human_mob.gender) diff --git a/code/datums/components/enchanted_item.dm b/code/datums/components/enchanted_item.dm index c630af6873d..b4d56a328c9 100644 --- a/code/datums/components/enchanted_item.dm +++ b/code/datums/components/enchanted_item.dm @@ -25,22 +25,23 @@ var/decay_timer /datum/component/enchanted_weapon/Initialize( - duration = 15 MINUTES, - refresh_count = 4, - refresh_skill = /datum/skill/magic/arcane, - skill_threshold = SKILL_LEVEL_JOURNEYMAN, - enchant_type = SEARING_BLADE_ENCHANT, - current_user, + n_duration = 15 MINUTES, + n_refresh_count = 4, + n_refresh_skill = /datum/skill/magic/arcane, + n_skill_threshold = SKILL_LEVEL_JOURNEYMAN, + n_enchant_type = SEARING_BLADE_ENCHANT, + n_current_user, ) if(!istype(parent, /obj/item/weapon)) return COMPONENT_INCOMPATIBLE - src.duration = duration - src.refresh_count = refresh_count - src.refresh_skill = refresh_skill - src.enchant_type = enchant_type - if(current_user) - src.current_user = WEAKREF(current_user) + duration = n_duration + refresh_count = n_refresh_count + refresh_skill = n_refresh_skill + skill_threshold = n_skill_threshold + enchant_type = n_enchant_type + if(n_current_user) + current_user = WEAKREF(n_current_user) RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) @@ -59,6 +60,8 @@ I.add_filter(FORCE_FILTER, 2, outline_filter(1, "#9400D3")) if(SEARING_BLADE_ENCHANT) I.add_filter(SEARING_FILTER, 2, outline_filter(1, "#64af18")) + if(DIVINE_FIRE_ENCHANT) + I.add_filter(DIVINE_FILTER, 2, outline_filter(1, "#dddddd")) if(DURABILITY_ENCHANT) I.modify_max_integrity(I.max_integrity + DURABILITY_INCREASE) I.add_filter(DURABILITY_FILTER, 2, outline_filter(1, "#808080")) @@ -108,6 +111,8 @@ I.remove_filter(FORCE_FILTER) if(SEARING_BLADE_ENCHANT) I.remove_filter(SEARING_FILTER) + if(DIVINE_FIRE_ENCHANT) + I.remove_filter(DIVINE_FILTER) if(DURABILITY_ENCHANT) I.modify_max_integrity(I.max_integrity - DURABILITY_INCREASE, can_break = FALSE) I.remove_filter(DURABILITY_FILTER) @@ -124,12 +129,15 @@ current_user = null /datum/component/enchanted_weapon/proc/on_examine(datum/source, mob/user, list/examine_list) - if(enchant_type == SEARING_BLADE_ENCHANT) - examine_list += "This weapon is enchanted with a green flame enchantment." - else if(enchant_type == FORCE_BLADE_ENCHANT) - examine_list += "This weapon is enchanted with a force blade enchantment." - else if(enchant_type == DURABILITY_ENCHANT) - examine_list += "This weapon is enchanted with a durability enchantment." + switch(enchant_type) + if(SEARING_BLADE_ENCHANT) + examine_list += "This weapon is enchanted with a green flame enchantment." + if(FORCE_BLADE_ENCHANT) + examine_list += "This weapon is enchanted with a force blade enchantment." + if(DURABILITY_ENCHANT) + examine_list += "This weapon is enchanted with a durability enchantment." + if(DIVINE_FIRE_ENCHANT) + examine_list += "This weapon is enchanted with a divine flame enchantment." examine_list += "It will last for [timeleft(decay_timer) / 10] more seconds." /datum/component/enchanted_weapon/proc/item_afterattack(obj/item/source, atom/target, mob/user, proximity_flag, list/modifiers) @@ -137,8 +145,18 @@ return if(enchant_type == SEARING_BLADE_ENCHANT) if(isliving(target)) - var/mob/living/M = target - M.adjustFireLoss(SEARING_BLADE_DAMAGE) - to_chat(M, span_warning("Flames leaps from [source] and singes you!")) + var/mob/living/target_mob = target + target_mob.adjustFireLoss(SEARING_BLADE_DAMAGE) + target_mob.visible_message(span_warning("Flames leap from [source], burning [target_mob]!"), span_warning("Flames leap from [source] and singes you!")) + // Permanent temporary solution until I figure out how to hack a dynamic on mob sprites + // Bypass parry & dodge btw. + else if(enchant_type == DIVINE_FIRE_ENCHANT) + if(isliving(target)) + var/mob/living/target_mob = target + var/damage_amt = DIVINE_FIRE_DAMAGE + if(source.has_enchantment(/datum/enchantment/silver)) + damage_amt = damage_amt*1.5 + target_mob.adjustFireLoss(damage_amt) + target_mob.visible_message(span_warning("Divine fire leaps from [source], burning [target_mob]!"), span_warning("Divine fire leaps from [source] and singes you!")) // Permanent temporary solution until I figure out how to hack a dynamic on mob sprites // Bypass parry & dodge btw. diff --git a/code/datums/components/martyrweapon.dm b/code/datums/components/martyrweapon.dm index 7570ecd37fb..97fe815d690 100644 --- a/code/datums/components/martyrweapon.dm +++ b/code/datums/components/martyrweapon.dm @@ -15,7 +15,7 @@ var/ignite_chance = 2 var/traits_applied = list(TRAIT_NOPAIN, TRAIT_NOPAINSTUN, TRAIT_LONGSTRIDER) var/stat_bonus_martyr = 3 - var/mob/living/current_holder + var/mob/living/bound_user var/is_active = FALSE var/allow_all = FALSE var/is_activating @@ -79,10 +79,10 @@ /datum/component/martyrweapon/proc/handle_end() deactivate() - var/mob/living/carbon/C = current_holder + var/mob/living/carbon/C = bound_user switch(current_state) if(STATE_SAFE) - var/area/A = get_area(current_holder) + var/area/A = get_area(bound_user) var/success = FALSE for(var/AR in allowed_areas) //Are we in a whitelisted area? (Church, mainly) if(istype(A, AR)) @@ -95,9 +95,9 @@ if(istype(mercyarea, AR)) success = TRUE if(success) - to_chat(current_holder, span_notice("The weapon fizzles out, its energies dissipating across the holy grounds.")) + to_chat(bound_user, span_notice("The weapon fizzles out, its energies dissipating across the holy grounds.")) else - to_chat(current_holder, span_notice("The weapon begins to fizzle out, but the energy has nowhere to go!")) + to_chat(bound_user, span_notice("The weapon begins to fizzle out, but the energy has nowhere to go!")) C.freak_out() deathprocess() @@ -106,20 +106,20 @@ deathprocess() /datum/component/martyrweapon/proc/deathprocess() - if(current_holder) - current_holder.Stun(16000, 1, 1) //Even if you glitch out to survive you're still permastunned, you are not meant to come back from this - var/mob/living/carbon/human/H = current_holder + if(bound_user) + bound_user.Stun(16000, 1, 1) //Even if you glitch out to survive you're still permastunned, you are not meant to come back from this + var/mob/living/carbon/human/H = bound_user if(H.cmode) //Turn off the music H.toggle_cmode() addtimer(CALLBACK(src, PROC_REF(killhost)), 30 SECONDS) - current_holder.visible_message(span_warning("[current_holder] falls to their knees, planting their weapon into the ground as holy energies pulse from their body!"), span_warning("My oath is fulfilled. I hope I made it count. I have thirty seconds to make peace with the Gods and my Kin.")) - current_holder.playsound_local(current_holder, 'sound/health/fastbeat.ogg', 100) + bound_user.visible_message(span_warning("[bound_user] falls to their knees, planting their weapon into the ground as holy energies pulse from their body!"), span_warning("My oath is fulfilled. I hope I made it count. I have thirty seconds to make peace with the Gods and my Kin.")) + bound_user.playsound_local(bound_user, 'sound/health/fastbeat.ogg', 100) /datum/component/martyrweapon/proc/killhost() - if(current_holder) - var/mob/living/carbon/human/H = current_holder - current_holder.playsound_local(current_holder, 'sound/magic/ahh1.ogg', 100) - current_holder.visible_message(span_info("[current_holder] fades away."), span_info("Your life led up to this moment. In the face of the decay of the world, you endured. Now you rest. You feel your soul shed from its mortal coils, and the embrace of [H.patron.name]")) + if(bound_user) + var/mob/living/carbon/human/H = bound_user + bound_user.playsound_local(bound_user, 'sound/magic/ahh1.ogg', 100) + bound_user.visible_message(span_info("[bound_user] fades away."), span_info("Your life led up to this moment. In the face of the decay of the world, you endured. Now you rest. You feel your soul shed from its mortal coils, and the embrace of [H.patron.name]")) H.dust(drop_items = TRUE) is_dying = FALSE @@ -127,18 +127,18 @@ /datum/component/martyrweapon/proc/timehint() var/result = round((end_activation - world.time) / 600) //Minutes if(result != last_time && last_time != 30) - to_chat(current_holder,span_notice("[result + 1] minute[result ? "s" : ""] left.")) + to_chat(bound_user,span_notice("[result + 1] minute[result ? "s" : ""] left.")) last_time = result return result if(result == 0) var/resultadv = (end_activation - world.time) / 10 //Seconds if(resultadv < 30 && resultadv > 27 && last_time != 30) - to_chat(current_holder,span_notice("30 SECONDS! MY POWER SURGES!!")) + to_chat(bound_user,span_notice("30 SECONDS! MY POWER SURGES!!")) last_time = 30 return 30 else if(resultadv == 10 && last_time != 10) - to_chat(current_holder,span_crit("10 SECONDS")) + to_chat(bound_user,span_crit("10 SECONDS")) last_time = resultadv return 0 @@ -179,17 +179,20 @@ to_chat(H, span_warn("It slips from my grasp. I can't get a hold.")) H.dropItemToGround(parent) return - else + if(!bound_user) + bound_user = user + to_chat(user, SPAN_GOD_ASTRATA("The weapon binds to you.")) + if(user == bound_user) RegisterSignal(user, COMSIG_CLICK_ALT, PROC_REF(altclick), override = TRUE) - current_holder = user - if(J.title == "Grandmaster Templar") - to_chat(user, span_warning("The weapon binds to you.")) else - RegisterSignal(user, COMSIG_CLICK_ALT, PROC_REF(altclick), override = TRUE) - current_holder = user + if(!bound_user) + bound_user = user + to_chat(user, SPAN_GOD_ASTRATA("The weapon binds to you.")) + if(user == bound_user) + RegisterSignal(user, COMSIG_CLICK_ALT, PROC_REF(altclick), override = TRUE) /datum/component/martyrweapon/proc/altclick(mob/user) - if(user == current_holder && !is_active && !is_activating) + if(user == bound_user && !is_active && !is_activating) var/holding = user.get_active_held_item() if(holding == parent) if(COOLDOWN_FINISHED(src, weaponactivate)) @@ -227,13 +230,13 @@ //IF it gets dropped, somehow (likely delimbing), turn it off immediately. /datum/component/martyrweapon/proc/on_drop(datum/source, mob/user) - if(current_holder == user) + if(bound_user == user) UnregisterSignal(user, COMSIG_CLICK_ALT) if(current_state == STATE_SAFE && is_active) deactivate() /datum/component/martyrweapon/proc/on_examine(datum/source, mob/user, list/examine_list) - if(current_holder && current_holder == user) + if(bound_user && bound_user == user) examine_list += span_notice("It looks to be bound to you. Alt + right click to activate it.") if(!COOLDOWN_FINISHED(src, weaponactivate)) examine_list += span_notice("The time remaining until it is prepared: [COOLDOWN_TIMELEFT(src, weaponactivate) / 600] minutes") @@ -241,19 +244,19 @@ examine_list += span_notice("It looks ready to be used again.") if(is_active) examine_list += span_warningbig("It is lit afire by godly energies!") - if(user == current_holder) + if(user == bound_user) examine_list += span_warningbig("SLAY THE HERETICS! TAKE THEM WITH YOU!") /datum/component/martyrweapon/proc/adjust_traits(remove = FALSE) for(var/trait in traits_applied) if(!remove) - ADD_TRAIT(current_holder, trait, "martyrweapon") + ADD_TRAIT(bound_user, trait, "martyrweapon") else - REMOVE_TRAIT(current_holder, trait, "martyrweapon") + REMOVE_TRAIT(bound_user, trait, "martyrweapon") /datum/component/martyrweapon/proc/adjust_stats(state) - if(current_holder) - var/mob/living/carbon/human/H = current_holder + if(bound_user) + var/mob/living/carbon/human/H = bound_user switch(state) if(STATE_SAFE) //Lowered damage due to BURN damage type and SAFE activation var/obj/item/I = parent @@ -263,20 +266,20 @@ I.force_wielded = active_safe_damage_wielded return if(STATE_MARTYR) - current_holder.STASTR += stat_bonus_martyr - //current_holder.STASPD += stat_bonus_martyr - current_holder.STACON += stat_bonus_martyr - current_holder.STAEND += stat_bonus_martyr - current_holder.STAINT += stat_bonus_martyr - current_holder.STAPER += stat_bonus_martyr - current_holder.STALUC += stat_bonus_martyr + bound_user.STASTR += stat_bonus_martyr + //bound_user.STASPD += stat_bonus_martyr + bound_user.STACON += stat_bonus_martyr + bound_user.STAEND += stat_bonus_martyr + bound_user.STAINT += stat_bonus_martyr + bound_user.STAPER += stat_bonus_martyr + bound_user.STALUC += stat_bonus_martyr H.adjust_energy(9999) if(STATE_MARTYRULT) // This ONLY triggers a minute and a half into the ult. They'll have this for thirty seconds and then DIE. Go off King. - ADD_TRAIT(current_holder, TRAIT_NOSTAMINA, TRAIT_GENERIC) - current_holder.STASTR = 20 - current_holder.STAPER = 20 - current_holder.STACON = 20 - current_holder.STAEND = 20 + ADD_TRAIT(bound_user, TRAIT_NOSTAMINA, TRAIT_GENERIC) + bound_user.STASTR = 20 + bound_user.STAPER = 20 + bound_user.STACON = 20 + bound_user.STAEND = 20 //This is called regardless of the activated state (safe or not) /datum/component/martyrweapon/proc/deactivate() @@ -287,7 +290,7 @@ I.damtype = BRUTE I.possible_item_intents = inactive_intents I.gripped_intents = inactive_intents_wielded - current_holder.update_a_intents() + bound_user.update_a_intents() I.force = initial(I.force) I.force_wielded = initial(I.force_wielded) I.max_integrity = initial(I.max_integrity) @@ -320,11 +323,11 @@ I.item_state = initial(I.item_state) I.toggle_state = null - current_holder.regenerate_icons() + bound_user.regenerate_icons() //This is called once all the checks are passed and the options are made by the player to commit. /datum/component/martyrweapon/proc/activate(mob/user, status_flag) - current_holder.visible_message("[span_notice("[current_holder] begins invoking their Oath!")]", span_notice("You begin to invoke your oath.")) + bound_user.visible_message("[span_notice("[bound_user] begins invoking their Oath!")]", span_notice("You begin to invoke your oath.")) if(do_after(user, 5 SECONDS, parent)) flash_lightning(user) var/obj/item/I = parent @@ -343,8 +346,8 @@ if(STATE_SAFE) end_activation = world.time + safe_duration //Only a duration and nothing else. adjust_stats(current_state) //Lowers the damage of the sword due to safe activation. - current_holder.energy = current_holder.max_energy - current_holder.stamina = 0 + bound_user.energy = bound_user.max_energy + bound_user.stamina = 0 I.blade_int = I.max_blade_int if(STATE_MARTYR) end_activation = world.time + martyr_duration @@ -353,8 +356,8 @@ I.blade_int = I.max_blade_int adjust_stats(current_state) //Gives them extra stats. - current_holder.stamina = 0 - current_holder.energy = current_holder.max_energy + bound_user.stamina = 0 + bound_user.energy = bound_user.max_energy if(STATE_MARTYRULT) end_activation = world.time + ultimate_duration @@ -363,22 +366,22 @@ I.max_blade_int = 9999 I.blade_int = I.max_blade_int - current_holder.adjust_skillrank(/datum/skill/misc/athletics, 6, FALSE) + bound_user.adjust_skillrank(/datum/skill/misc/athletics, 6, FALSE) adjust_stats(STATE_MARTYR) - current_holder.energy = current_holder.max_energy - current_holder.stamina = 0 + bound_user.energy = bound_user.max_energy + bound_user.stamina = 0 - current_holder.adjust_skillrank(/datum/skill/combat/swords, 1, FALSE) - current_holder.adjust_skillrank(/datum/skill/combat/axesmaces, 1, FALSE) - current_holder.adjust_skillrank(/datum/skill/combat/polearms, 1, FALSE) + bound_user.adjust_skillrank(/datum/skill/combat/swords, 1, FALSE) + bound_user.adjust_skillrank(/datum/skill/combat/axesmaces, 1, FALSE) + bound_user.adjust_skillrank(/datum/skill/combat/polearms, 1, FALSE) else end_activation = world.time + safe_duration - if(ishuman(current_holder)) - var/mob/living/carbon/human/H = current_holder + if(ishuman(bound_user)) + var/mob/living/carbon/human/H = bound_user switch(status_flag) if(STATE_MARTYR) SEND_SOUND(H, sound(null)) @@ -397,7 +400,7 @@ is_active = TRUE else is_activating = FALSE - SEND_SOUND(current_holder, sound(null)) + SEND_SOUND(bound_user, sound(null)) #undef STATE_SAFE #undef STATE_MARTYR diff --git a/code/datums/elements/divine_intervention.dm b/code/datums/elements/divine_intervention.dm index 5f6913f83c0..68c29181e6d 100644 --- a/code/datums/elements/divine_intervention.dm +++ b/code/datums/elements/divine_intervention.dm @@ -10,7 +10,7 @@ . = ..() if(!istype(target)) return ELEMENT_INCOMPATIBLE - src.patron = GLOB.patron_list[patron] + src.patron = GLOB.patrons_by_type[patron] src.allows_pantheon = allows_pantheon src.stress_event = stress_event src.sets_alight = sets_alight diff --git a/code/datums/faith/_devotion.dm b/code/datums/faith/_devotion.dm index 61b5182c65a..3046f82787e 100644 --- a/code/datums/faith/_devotion.dm +++ b/code/datums/faith/_devotion.dm @@ -29,6 +29,8 @@ var/list/datum/devotion_task/tasks = list() var/list/viable_tasks = list() + var/devotion_class = DEVOTION_CLASS_CLERIC + /datum/devotion/Destroy(force) remove() STOP_PROCESSING(SSprocessing, src) @@ -150,21 +152,32 @@ /datum/action/cooldown/spell/undirected/touch/orison, /datum/action/cooldown/spell/cure_rot, ) + devotion_class = DEVOTION_CLASS_PRIEST + +/datum/devotion/proc/make_gmtemplar() + devotion = 150 + max_devotion = 350 + progression = CLERIC_REQ_3 + max_progression = CLERIC_REQ_3 + devotion_class = DEVOTION_CLASS_GRANDMASTER /datum/devotion/proc/make_templar() devotion = 50 max_devotion = CLERIC_REQ_3 progression = CLERIC_REQ_1 max_progression = CLERIC_REQ_2 + devotion_class = DEVOTION_CLASS_TEMPLAR /datum/devotion/proc/make_absolver() devotion = 100 max_devotion = CLERIC_REQ_3 progression = CLERIC_REQ_3 max_progression = CLERIC_REQ_3 + devotion_class = DEVOTION_CLASS_ABSOLVER /datum/devotion/proc/make_acolyte() progression = CLERIC_REQ_1 + devotion_class = DEVOTION_CLASS_ACOLYTE /datum/devotion/proc/make_cleric() devotion = 50 @@ -172,7 +185,7 @@ progression = CLERIC_REQ_1 max_progression = CLERIC_REQ_3 -/datum/devotion/proc/make_churching() +/datum/devotion/proc/make_churchling() max_devotion = CLERIC_REQ_1 progression = CLERIC_REQ_1 max_progression = CLERIC_REQ_1 @@ -180,6 +193,7 @@ /datum/action/cooldown/spell/undirected/touch/orison/lesser, /datum/action/cooldown/spell/diagnose/holy, ) + devotion_class = DEVOTION_CLASS_CHURCHLING /mob/living/carbon/human/proc/devotionreport() set name = "Check Devotion" diff --git a/code/datums/faith/devotion_subtypes.dm b/code/datums/faith/devotion_subtypes.dm index 7100e122b72..0ec8deb1b78 100644 --- a/code/datums/faith/devotion_subtypes.dm +++ b/code/datums/faith/devotion_subtypes.dm @@ -1,3 +1,18 @@ +/datum/devotion/divine/centrist + traits = list(TRAIT_DIVINE_SERVANT) + +/datum/devotion/divine/make_gmtemplar() + . = ..() + miracles = list( + CLERIC_T0 = /datum/action/cooldown/spell/healing, + CLERIC_T1 = /datum/action/cooldown/spell/avert/templar, + CLERIC_T2 = /datum/action/cooldown/spell/enchantment/holy_flame, + CLERIC_T3 = /datum/action/cooldown/spell/status/divine_shield, + ) + viable_tasks = list( + /datum/devotion_task/astrata_purge, + ) + /datum/devotion/divine/astrata miracles = list( CLERIC_T0 = /datum/action/cooldown/spell/healing, @@ -8,6 +23,7 @@ viable_tasks = list( /datum/devotion_task/astrata_purge, ) + traits = list(TRAIT_DIVINE_SERVANT) /datum/devotion/divine/noc miracles = list( @@ -21,6 +37,7 @@ /datum/devotion_task/noc_write, /datum/devotion_task/noc_read, ) + traits = list(TRAIT_DIVINE_SERVANT) /datum/devotion/divine/dendor miracles = list( @@ -34,6 +51,7 @@ /datum/devotion_task/dendor_harvest, /datum/devotion_task/dendor_bless, ) + traits = list(TRAIT_DIVINE_SERVANT) /datum/devotion/divine/abyssor miracles = list( @@ -46,6 +64,7 @@ /datum/devotion_task/abyssor_sail, /datum/devotion_task/abyssor_fish, ) + traits = list(TRAIT_DIVINE_SERVANT) /datum/devotion/divine/necra miracles = list( @@ -58,7 +77,7 @@ /datum/devotion_task/necra_bury, /datum/devotion_task/astrata_purge, ) - traits = list(TRAIT_DEATHSIGHT) + traits = list(TRAIT_DIVINE_SERVANT, TRAIT_DEATHSIGHT) /datum/devotion/divine/ravox miracles = list( @@ -67,6 +86,7 @@ CLERIC_T2 = /datum/action/cooldown/spell/undirected/divine_strike, CLERIC_T3 = /datum/action/cooldown/spell/persistence, ) + traits = list(TRAIT_DIVINE_SERVANT) /datum/devotion/divine/xylix miracles = list( @@ -79,6 +99,7 @@ /datum/devotion_task/xylix_gamble, /datum/devotion_task/xylix_trick, ) + traits = list(TRAIT_DIVINE_SERVANT) /datum/devotion/divine/pestra miracles = list( @@ -91,6 +112,7 @@ /datum/devotion_task/pestra_heal, /datum/devotion_task/pestra_medicine, ) + traits = list(TRAIT_DIVINE_SERVANT) /datum/devotion/divine/malum miracles = list( @@ -104,6 +126,7 @@ /datum/devotion_task/malum_smelt, /datum/devotion_task/malum_forge, ) + traits = list(TRAIT_DIVINE_SERVANT) /datum/devotion/divine/eora miracles = list( @@ -120,6 +143,7 @@ /datum/devotion_task/eora_create, /datum/devotion_task/eora_hug, ) + traits = list(TRAIT_DIVINE_SERVANT) // Inhumen /datum/devotion/inhumen/make_cleric() @@ -134,7 +158,7 @@ /datum/action/cooldown/spell/healing/profane, ) -/datum/devotion/inhumen/make_churching() +/datum/devotion/inhumen/make_churchling() . = ..() miracles_extra += list( /datum/action/cooldown/spell/healing/profane, diff --git a/code/datums/gods/_faith.dm b/code/datums/gods/_faith.dm index fe707d40bdc..686a3e63f3e 100644 --- a/code/datums/gods/_faith.dm +++ b/code/datums/gods/_faith.dm @@ -17,7 +17,7 @@ GLOBAL_LIST_EMPTY(faith_list) return FALSE for(var/datum/patron/patron as anything in patrons) - patron = GLOB.patron_list[patron] + patron = GLOB.patrons_by_type[patron] if(patron.preference_accessible(prefs)) return TRUE diff --git a/code/datums/gods/_patron.dm b/code/datums/gods/_patron.dm index b6e16da6253..685ed2f66b5 100644 --- a/code/datums/gods/_patron.dm +++ b/code/datums/gods/_patron.dm @@ -1,4 +1,5 @@ -GLOBAL_LIST_EMPTY(patron_list) +GLOBAL_LIST_EMPTY(patrons_by_type) +GLOBAL_LIST_EMPTY(patrons_by_name) GLOBAL_LIST_EMPTY(patrons_by_faith) GLOBAL_LIST_EMPTY(prayers) @@ -49,6 +50,8 @@ GLOBAL_LIST_EMPTY(prayers) return TRUE /datum/patron/proc/on_gain(mob/living/pious) + if(HAS_TRAIT(pious, TRAIT_DIVINE_CONVERT)) + return for(var/trait in added_traits) ADD_TRAIT(pious, trait, "[type]") for(var/verb in added_verbs) diff --git a/code/datums/gods/patrons/divine_pantheon.dm b/code/datums/gods/patrons/divine_pantheon.dm index 0dd39afa515..e943c64f9a9 100644 --- a/code/datums/gods/patrons/divine_pantheon.dm +++ b/code/datums/gods/patrons/divine_pantheon.dm @@ -38,6 +38,23 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( return FALSE /* ----------------- */ +/datum/patron/divine/centrist + name = DIVINE_CENTRIST + domain = "Unity and Conflict. Denizens of the Eternal Plane." + desc = "Worshipping The Ten equally. Worship in such a manner is tolerated, but greatly disapproved of. The Ten rarely give their blessings to those who do not give single-minded adoration to a single diety." + flaws = "Discordant, Unyielding, Uninterested." + worshippers = "The Meek and The Indecisive" + sins = "Temptation, Ignorance, Denial" + boons = "The Ten pull for your devotion." + added_traits = list(TRAIT_DIVINE_CENTRIST) + devotion_holder = /datum/devotion/divine/centrist + confess_lines = list( + "THE TEN GUIDE US!", + "THE TEN PROTECT US!", + "I SERVE THE DIVINE TEN!", + ) + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine + /datum/patron/divine/astrata name = ASTRATA @@ -55,7 +72,7 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( "I SERVE THE GLORY OF THE SUN!", ) storyteller = /datum/storyteller/astrata - associated_psycross = /obj/item/clothing/neck/psycross/silver/astrata + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/astrata /datum/patron/divine/noc name = NOC @@ -73,7 +90,7 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( "I SEEK THE MYSTERIES OF THE MOON!", ) storyteller = /datum/storyteller/noc - associated_psycross = /obj/item/clothing/neck/psycross/silver/noc + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/noc /datum/patron/divine/dendor name = DENDOR @@ -91,7 +108,7 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( "I ANSWER THE CALL OF THE WILD!", ) storyteller = /datum/storyteller/dendor - associated_psycross = /obj/item/clothing/neck/psycross/silver/dendor + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/dendor /datum/patron/divine/abyssor name = ABYSSOR @@ -109,7 +126,7 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( "I AM DRAWN BY THE PULL OF THE TIDE!", ) storyteller = /datum/storyteller/abyssor - associated_psycross = /obj/item/clothing/neck/psycross/silver/abyssor + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/abyssor /datum/patron/divine/necra name = NECRA @@ -127,7 +144,7 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( "I FEAR NOT DEATH, MY LADY AWAITS ME!", ) storyteller = /datum/storyteller/necra - associated_psycross = /obj/item/clothing/neck/psycross/silver/necra + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/necra /datum/patron/divine/ravox name = RAVOX @@ -145,7 +162,7 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( "THE DRUMS OF WAR BEAT IN MY CHEST!", ) storyteller = /datum/storyteller/ravox - associated_psycross = /obj/item/clothing/neck/psycross/silver/ravox + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/ravox /datum/patron/divine/xylix name = XYLIX @@ -170,7 +187,7 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( "EORA BRINGS US TOGETHER!", ) storyteller = /datum/storyteller/xylix - associated_psycross = /obj/item/clothing/neck/psycross/silver/xylix + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/xylix /datum/patron/divine/pestra name = PESTRA @@ -188,7 +205,7 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( "MY AFFLICTION IS MY TESTAMENT!", ) storyteller = /datum/storyteller/pestra - associated_psycross = /obj/item/clothing/neck/psycross/silver/pestra + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/pestra /datum/patron/divine/pestra/preference_accessible(datum/preferences/prefs) . = ..() @@ -214,7 +231,7 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( "I AM AN INSTRUMENT OF CREATION!", ) storyteller = /datum/storyteller/malum - associated_psycross = /obj/item/clothing/neck/psycross/silver/malum + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/malum /datum/patron/divine/eora name = EORA @@ -232,4 +249,4 @@ GLOBAL_LIST_INIT(patron_sound_themes, list( "I LOVE YOU, EVEN AS YOU TRESPASS AGAINST ME!", ) storyteller = /datum/storyteller/eora - associated_psycross = /obj/item/clothing/neck/psycross/silver/eora + associated_psycross = /obj/item/clothing/neck/psycross/silver/divine/eora diff --git a/code/datums/migrants/waves/daywalker.dm b/code/datums/migrants/waves/daywalker.dm index 3cb60d76fbc..d5f59eae0c4 100644 --- a/code/datums/migrants/waves/daywalker.dm +++ b/code/datums/migrants/waves/daywalker.dm @@ -45,7 +45,7 @@ GLOBAL_VAR_INIT(vamp_detection, FALSE) /datum/outfit/daywalker name = "Daywalker (Migrant Wave)" wrists = /obj/item/clothing/wrists/bracers/leather - neck = /obj/item/clothing/neck/psycross/silver/astrata + neck = /obj/item/clothing/neck/psycross/silver/divine/astrata gloves = /obj/item/clothing/gloves/fingerless/shadowgloves pants = /obj/item/clothing/pants/trou/shadowpants shirt = /obj/item/clothing/shirt/tunic/colored/black diff --git a/code/datums/migrants/waves/grenzelhoft_wave.dm b/code/datums/migrants/waves/grenzelhoft_wave.dm index 9e13177583c..3f3bd3e7f51 100644 --- a/code/datums/migrants/waves/grenzelhoft_wave.dm +++ b/code/datums/migrants/waves/grenzelhoft_wave.dm @@ -58,7 +58,7 @@ name = "Grenzelhoft Count (Migrant Wave)" shoes = /obj/item/clothing/shoes/rare/grenzelhoft gloves = /obj/item/clothing/gloves/angle/grenzel - wrists = /obj/item/clothing/neck/psycross/g + wrists = /obj/item/clothing/neck/psycross/gold head = /obj/item/clothing/head/helmet/skullcap/grenzelhoft armor = /obj/item/clothing/armor/brigandine belt = /obj/item/storage/belt/leather/plaquesilver @@ -130,7 +130,7 @@ name = "Grenzelhoft Countess (Migrant Wave)" shoes = /obj/item/clothing/shoes/rare/grenzelhoft gloves = /obj/item/clothing/gloves/angle/grenzel - wrists = /obj/item/clothing/neck/psycross/g + wrists = /obj/item/clothing/neck/psycross/gold head = /obj/item/clothing/head/helmet/skullcap/grenzelhoft armor = /obj/item/clothing/armor/gambeson/heavy/dress/alt belt = /obj/item/storage/belt/leather/plaquesilver diff --git a/code/game/gamemodes/personal_objectives/abyssor/take_bath.dm b/code/game/gamemodes/personal_objectives/abyssor/take_bath.dm index 4af5e7df7cb..4400019219a 100644 --- a/code/game/gamemodes/personal_objectives/abyssor/take_bath.dm +++ b/code/game/gamemodes/personal_objectives/abyssor/take_bath.dm @@ -22,7 +22,7 @@ var/amulet_found = FALSE for(var/obj/item/clothing/neck/current_item in owner.current.get_equipped_items(TRUE)) - if(current_item.type in list(/obj/item/clothing/neck/psycross/silver/abyssor)) + if(current_item.type in list(/obj/item/clothing/neck/psycross/silver/divine/abyssor)) amulet_found = TRUE if(!amulet_found) diff --git a/code/game/gamemodes/personal_objectives/necra/hear_cries.dm b/code/game/gamemodes/personal_objectives/necra/hear_cries.dm index 4c56e3cda60..f97e92d5caa 100644 --- a/code/game/gamemodes/personal_objectives/necra/hear_cries.dm +++ b/code/game/gamemodes/personal_objectives/necra/hear_cries.dm @@ -37,7 +37,7 @@ var/amulet_found = FALSE for(var/obj/item/clothing/neck/current_item in user.get_equipped_items(TRUE)) - if(current_item.type in list(/obj/item/clothing/neck/psycross/silver/necra)) + if(current_item.type in list(/obj/item/clothing/neck/psycross/silver/divine/necra)) amulet_found = TRUE if(!amulet_found) diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm index 73637a00377..b4cd535ad4a 100644 --- a/code/game/objects/structures/fluff.dm +++ b/code/game/objects/structures/fluff.dm @@ -1171,6 +1171,38 @@ attacked_sound = list("sound/combat/hits/onmetal/metalimpact (1).ogg", "sound/combat/hits/onmetal/metalimpact (2).ogg") max_integrity = 450 +/obj/structure/fluff/psycross/attack_hand_secondary(mob/living/carbon/user, list/modifiers) + . = ..() + if(!istype(user)) + return + if(!divine) + return + if(!HAS_TRAIT(user, TRAIT_DIVINE_CENTRIST) || (HAS_TRAIT(user, TRAIT_DIVINE_SERVANT) && !(user.job == "Churchling"))) + return + if(user?.patron.type != /datum/patron/divine/centrist) + return + + var/datum/patron/old_patron = user.patron + var/pick_one = tgui_alert(user, "Do you wish to devote yourself to a Patron?", "Pick a Patron", list("Yes","No")) + if(pick_one != "Yes") + return + + var/datum/patron/new_patron = GLOB.patrons_by_name[tgui_input_list(user, "Choose your new Patron.", "Pick a Patron", TEMPLE_PATRON_NAMES)] + if(!istype(new_patron, /datum/patron) || !(new_patron.type in ALL_TEMPLE_PATRONS)) + return + + var/confirm = tgui_alert(user, "Your new Patron is [new_patron]. Is this correct?", "Confirm choice", list("Yes", "No")) + if(confirm != "Yes") + return + + ADD_TRAIT(user, TRAIT_DIVINE_CONVERT, DEVOTION_TRAIT) + user.set_patron(new_patron) + to_chat(user, "You have devoted yourself to [new_patron]!") + log_game("PATRON: [key_name(user)] changed their patron from [old_patron.name] to [new_patron]") + visible_message("A bright light flashes out from [src] as it channels divine focus.") + AOE_flash(user, range = 5) + playsound(src, 'sound/magic/bless.ogg', 50, TRUE) + /obj/structure/fluff/psycross/attackby(obj/item/W, mob/living/carbon/human/user, list/modifiers) if(!user.mind) return ..() diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 6e714ba8b19..7f75eb1b960 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1115,11 +1115,7 @@ HL.mind.set_assigned_role(/datum/job/villager) HL.job = "Ex-Priest" - - remove_verb(HL, /mob/living/carbon/human/proc/coronate_lord) - remove_verb(HL, /mob/living/carbon/human/proc/churchexcommunicate) - remove_verb(HL, /mob/living/carbon/human/proc/churchcurse) - remove_verb(HL, /mob/living/carbon/human/proc/churchannouncement) + HL.remove_priest_verbs() priest_job?.remove_spells(HL) GLOB.excommunicated_players |= HL.real_name HL.cleric?.excommunicate() @@ -1133,10 +1129,7 @@ var/datum/devotion/devotion = new holder() devotion.make_priest() devotion.grant_to(M) - add_verb(M, /mob/living/carbon/human/proc/coronate_lord) - add_verb(M, /mob/living/carbon/human/proc/churchexcommunicate) - add_verb(M, /mob/living/carbon/human/proc/churchcurse) - add_verb(M, /mob/living/carbon/human/proc/churchannouncement) + M.give_priest_verbs() removeomen(OMEN_NOPRIEST) priority_announce("Astrata has anointed [M.real_name] as the new head of the Church of the Ten!", title = "Astrata Shines!", sound = 'sound/misc/bell.ogg') diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index b8cc714510b..b316c99c6d6 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1290,7 +1290,7 @@ if(!ishuman(M)) return - var/patron_to_change_to = browser_input_list(usr, "Change to what patron?", "THE GODS", GLOB.patron_list) + var/patron_to_change_to = browser_input_list(usr, "Change to what patron?", "THE GODS", GLOB.patrons_by_type) if(!patron_to_change_to) return diff --git a/code/modules/client/preferences/_preferences.dm b/code/modules/client/preferences/_preferences.dm index 9bb821627bb..11273dbf8bb 100644 --- a/code/modules/client/preferences/_preferences.dm +++ b/code/modules/client/preferences/_preferences.dm @@ -287,7 +287,7 @@ GLOBAL_LIST_INIT(name_adjustments, list()) //we couldn't load character data so just randomize the character appearance + name randomise_appearance_prefs(include_donator = donator) //let's create a random character then - rather than a fat, bald and naked man. if(!selected_patron) - selected_patron = GLOB.patron_list[default_patron] + selected_patron = GLOB.patrons_by_type[default_patron] key_bindings = deepCopyList(GLOB.hotkey_keybinding_list_by_key) // give them default keybinds and update their movement keys if(isclient(C)) C.update_movement_keys() @@ -1629,12 +1629,12 @@ GLOBAL_LIST_INIT(name_adjustments, list()) var/datum/faith/faith = faiths_named[faith_input] to_chat(user, "Faith: [faith.name]") to_chat(user, "Background: [faith.desc]") - selected_patron = GLOB.patron_list[faith.godhead] || GLOB.patron_list[pick(GLOB.patrons_by_faith[faith.type])] + selected_patron = GLOB.patrons_by_type[faith.godhead] || GLOB.patrons_by_type[pick(GLOB.patrons_by_faith[faith.type])] if("patron") var/list/patrons_named = list() for(var/datum/patron/patron as anything in GLOB.patrons_by_faith[selected_patron.associated_faith || initial(default_patron.associated_faith)]) - patron = GLOB.patron_list[patron] + patron = GLOB.patrons_by_type[patron] if(!patron.preference_accessible(src)) continue var/pref_name = patron.display_name ? patron.display_name : patron.name diff --git a/code/modules/client/preferences/preferences_savefile.dm b/code/modules/client/preferences/preferences_savefile.dm index 2f841800972..5d65643cfef 100644 --- a/code/modules/client/preferences/preferences_savefile.dm +++ b/code/modules/client/preferences/preferences_savefile.dm @@ -375,10 +375,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car var/patron_typepath S["selected_patron"] >> patron_typepath if(patron_typepath) - selected_patron = GLOB.patron_list[patron_typepath] + selected_patron = GLOB.patrons_by_type[patron_typepath] if(!selected_patron) //failsafe - selected_patron = GLOB.patron_list[default_patron] + selected_patron = GLOB.patrons_by_type[default_patron] //Custom names for(var/custom_name_id in GLOB.preferences_custom_names) diff --git a/code/modules/clothing/neck/psycross.dm b/code/modules/clothing/neck/psycross.dm index a21d93f2580..078241392e6 100644 --- a/code/modules/clothing/neck/psycross.dm +++ b/code/modules/clothing/neck/psycross.dm @@ -33,62 +33,58 @@ enchant(/datum/enchantment/silver) // PANTHEON SILVER PSYCROSSES START +/obj/item/clothing/neck/psycross/silver/divine + name = "amulet of the ten" + desc = "The Ten eternal, strength in unity. Stalwart for centuries against the darkness." + icon_state = "undivided" + resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/astrata +/obj/item/clothing/neck/psycross/silver/divine/astrata name = "amulet of Astrata" desc = "Blessed be everything the light of the sun touches, for it is protected by Her grace." icon_state = "astrata" - resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/noc +/obj/item/clothing/neck/psycross/silver/divine/noc name = "amulet of Noc" desc = "Diligence, study, pursuit of truth and wisdom. Let nothing deter you from it." icon_state = "noc" - resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/dendor +/obj/item/clothing/neck/psycross/silver/divine/dendor name = "amulet of Dendor" desc = "Nature is a body of which we are but its entrails." icon_state = "dendor" - resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/abyssor +/obj/item/clothing/neck/psycross/silver/divine/abyssor name = "amulet of Abyssor" desc = "Oceanshaper and guardian of the seas, make them remember his name." icon_state = "abyssor" - resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/necra +/obj/item/clothing/neck/psycross/silver/divine/necra name = "amulet of Necra" desc = "Where, grave, thy victory? I triumph still while the Veiled Lady abides by me." icon_state = "necra" - resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/ravox +/obj/item/clothing/neck/psycross/silver/divine/ravox name = "amulet of Ravox" desc = "Struggle. Challenge. And rise to struggle again. That is the sword of he who yet lives to fight again." icon_state = "ravox" - resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/xylix +/obj/item/clothing/neck/psycross/silver/divine/xylix name = "amulet of Xylix" desc = "Be not fooled, and be not afraid to." icon_state = "xylix" - resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/eora +/obj/item/clothing/neck/psycross/silver/divine/eora name = "amulet of Eora" desc = "And I love thee because thou art love." icon_state = "eora" - resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/holy/eora +/obj/item/clothing/neck/psycross/silver/divine/eora/potion name = "Eora's love potion" desc = "Eora's blessing is upon thy, use me on someone else and you shall be soulbond." icon_state = "eora" - resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/holy/eora/attack(mob/living/love_target, mob/user, list/modifiers) +/obj/item/clothing/neck/psycross/silver/divine/eora/potion/attack(mob/living/love_target, mob/user, list/modifiers) if(!isliving(love_target) || love_target.stat == DEAD) to_chat(user, span_warning("The love potion only works on living things, sicko!")) return ..() @@ -110,25 +106,25 @@ love_target.apply_status_effect(/datum/status_effect/in_love, user) qdel(src) -/obj/item/clothing/neck/psycross/silver/pestra +/obj/item/clothing/neck/psycross/silver/divine/pestra name = "amulet of Pestra" desc = "When pure, alcohol is best used as a cleanser of wounds and a cleanser of the palate." icon_state = "pestra" resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/malum +/obj/item/clothing/neck/psycross/silver/divine/malum name = "amulet of Malum" desc = "Blessed be our works, made in His name." icon_state = "malum" resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/silver/malum/steel +/obj/item/clothing/neck/psycross/silver/divine/malum/steel name = "amulet of Malum" desc = "Let the tools that guide thee be thy hands." icon_state = "malum_alt" resistance_flags = FIRE_PROOF -/obj/item/clothing/neck/psycross/g +/obj/item/clothing/neck/psycross/gold name = "golden psycross" desc = "Let His name be naught but forgot'n. Let devotion to Him endure, in heart and in deed, beyond the veil of sight." icon_state = "psycross_gold" @@ -136,9 +132,3 @@ resistance_flags = FIRE_PROOF sellprice = 100 smeltresult = /obj/item/ingot/gold - -/obj/item/clothing/neck/psycross/silver/undivided - name = "amulet of the ten" - desc = "The Ten eternal, strength in unity. Stalwart for centuries against the darkness." - icon_state = "undivided" - diff --git a/code/modules/crafting/artificer/misc.dm b/code/modules/crafting/artificer/misc.dm index 7a46c4fea85..94b08b940ec 100644 --- a/code/modules/crafting/artificer/misc.dm +++ b/code/modules/crafting/artificer/misc.dm @@ -481,64 +481,69 @@ /datum/artificer_recipe/psycross/gold name = "golden Psycross" required_item = /obj/item/ingot/gold - created_item = /obj/item/clothing/neck/psycross/g + created_item = /obj/item/clothing/neck/psycross/gold hammers_per_item = 7 craftdiff = 3 +/datum/artificer_recipe/psycross/undivided + name = "Undivided Psycross" + required_item = /obj/item/ingot/silver + created_item = /obj/item/clothing/neck/psycross/silver/divine + /datum/artificer_recipe/psycross/noc name = "Noc Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/noc + created_item = /obj/item/clothing/neck/psycross/silver/divine/noc /datum/artificer_recipe/psycross/astrata name = "Astrata Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/astrata + created_item = /obj/item/clothing/neck/psycross/silver/divine/astrata /datum/artificer_recipe/psycross/dendor name = "Dendor Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/dendor + created_item = /obj/item/clothing/neck/psycross/silver/divine/dendor /datum/artificer_recipe/psycross/abyssor name = "Abyssor Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/abyssor + created_item = /obj/item/clothing/neck/psycross/silver/divine/abyssor /datum/artificer_recipe/psycross/necra name = "Necra Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/necra + created_item = /obj/item/clothing/neck/psycross/silver/divine/necra /datum/artificer_recipe/psycross/ravox name = "Ravox Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/ravox + created_item = /obj/item/clothing/neck/psycross/silver/divine/ravox /datum/artificer_recipe/psycross/xylix name = "Xylix Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/xylix + created_item = /obj/item/clothing/neck/psycross/silver/divine/xylix /datum/artificer_recipe/psycross/eora name = "Eora Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/eora + created_item = /obj/item/clothing/neck/psycross/silver/divine/eora /datum/artificer_recipe/psycross/pestra name = "Pestra Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/pestra + created_item = /obj/item/clothing/neck/psycross/silver/divine/pestra /datum/artificer_recipe/psycross/malum_silver name = "Malum Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/malum + created_item = /obj/item/clothing/neck/psycross/silver/divine/malum /datum/artificer_recipe/psycross/malum_steel name = "Malum Steel Psycross" required_item = /obj/item/ingot/silver - created_item = /obj/item/clothing/neck/psycross/silver/malum/steel + created_item = /obj/item/clothing/neck/psycross/silver/divine/malum/steel additional_items = list(/obj/item/ingot/steel = 1) craftdiff = 3 diff --git a/code/modules/events/god_intervention/schism.dm b/code/modules/events/god_intervention/schism.dm index 59a05b46c0d..2b8bedc182c 100644 --- a/code/modules/events/god_intervention/schism.dm +++ b/code/modules/events/god_intervention/schism.dm @@ -11,7 +11,7 @@ GLOBAL_LIST_EMPTY(tennite_schisms) /datum/tennite_schism/New(datum/patron/challenger) . = ..() challenger_god = WEAKREF(challenger) - astrata_god = WEAKREF(GLOB.patron_list[/datum/patron/divine/astrata]) + astrata_god = WEAKREF(GLOB.patrons_by_type[/datum/patron/divine/astrata]) GLOB.tennite_schisms += src /datum/tennite_schism/Destroy() @@ -181,9 +181,7 @@ GLOBAL_LIST_EMPTY(tennite_schisms) START_PROCESSING(SSprocessing, C) add_verb(selected_priest, /mob/living/carbon/human/proc/devotionreport) add_verb(selected_priest, /mob/living/carbon/human/proc/clericpray) - add_verb(selected_priest, /mob/living/carbon/human/proc/churchexcommunicate) - add_verb(selected_priest, /mob/living/carbon/human/proc/churchcurse) - add_verb(selected_priest, /mob/living/carbon/human/proc/churchannouncement) + selected_priest.give_priest_verbs(coronate = FALSE, penance = FALSE) priority_announce("[challenger.name] has selected [selected_priest.real_name] as a new [male ? "Vice Priest" : "Vice Priestess"]! Power sharing begins!", "[male ? "Vice Priest" : "Vice Priestess"] rises", 'sound/magic/inspire_02.ogg') @@ -388,7 +386,7 @@ GLOBAL_LIST_EMPTY(tennite_schisms) var/astrata_influence = get_storyteller_influence(ASTRATA) || 0 for(var/type in subtypesof(/datum/patron/divine) - list(/datum/patron/divine/astrata, /datum/patron/divine/eora)) - var/datum/patron/divine/god = GLOB.patron_list[type] + var/datum/patron/divine/god = GLOB.patrons_by_type[type] if(!god) continue diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index b010b6e05d9..cb77cd17c50 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -385,11 +385,11 @@ var/list/datum/patron/all_gods = list() var/list/datum/patron/pantheon_gods = list() - for(var/god in GLOB.patron_list) + for(var/god in GLOB.patrons_by_type) if(!(god in allowed_patrons)) continue all_gods |= god - var/datum/patron/P = GLOB.patron_list[god] + var/datum/patron/P = GLOB.patrons_by_type[god] if(P.associated_faith == old_patron.associated_faith) //Prioritize choosing a possible patron within our pantheon pantheon_gods |= god diff --git a/code/modules/jobs/job_types/adventurer/types/combat/cleric.dm b/code/modules/jobs/job_types/adventurer/types/combat/cleric.dm index d8ee1b425f4..3db5aafa58a 100644 --- a/code/modules/jobs/job_types/adventurer/types/combat/cleric.dm +++ b/code/modules/jobs/job_types/adventurer/types/combat/cleric.dm @@ -160,34 +160,34 @@ if(equipped_human.patron) switch(equipped_human.patron.type) if(/datum/patron/divine/astrata) - wrists = /obj/item/clothing/neck/psycross/silver/astrata + wrists = /obj/item/clothing/neck/psycross/silver/divine/astrata cloak = /obj/item/clothing/cloak/stabard/templar/astrata if(/datum/patron/divine/dendor) - wrists = /obj/item/clothing/neck/psycross/silver/dendor + wrists = /obj/item/clothing/neck/psycross/silver/divine/dendor cloak = /obj/item/clothing/cloak/stabard/templar/dendor if(/datum/patron/divine/necra) - wrists = /obj/item/clothing/neck/psycross/silver/necra + wrists = /obj/item/clothing/neck/psycross/silver/divine/necra cloak = /obj/item/clothing/cloak/stabard/templar/necra beltr = /obj/item/weapon/shovel/small if(/datum/patron/divine/eora) - wrists = /obj/item/clothing/neck/psycross/silver/eora + wrists = /obj/item/clothing/neck/psycross/silver/divine/eora cloak = /obj/item/clothing/cloak/stabard/templar/eora if(/datum/patron/divine/ravox) - wrists = /obj/item/clothing/neck/psycross/silver/ravox + wrists = /obj/item/clothing/neck/psycross/silver/divine/ravox cloak = /obj/item/clothing/cloak/stabard/templar/ravox if(/datum/patron/divine/noc) - wrists = /obj/item/clothing/neck/psycross/silver/noc + wrists = /obj/item/clothing/neck/psycross/silver/divine/noc cloak = /obj/item/clothing/cloak/stabard/templar/noc if(/datum/patron/divine/pestra) - wrists = /obj/item/clothing/neck/psycross/silver/pestra + wrists = /obj/item/clothing/neck/psycross/silver/divine/pestra cloak = /obj/item/clothing/cloak/stabard/templar/pestra if(/datum/patron/divine/abyssor) - wrists = /obj/item/clothing/neck/psycross/silver/abyssor + wrists = /obj/item/clothing/neck/psycross/silver/divine/abyssor cloak = /obj/item/clothing/cloak/stabard/templar/abyssor beltl = /obj/item/fishingrod if(/datum/patron/divine/malum) - wrists = /obj/item/clothing/neck/psycross/silver/malum + wrists = /obj/item/clothing/neck/psycross/silver/divine/malum cloak = /obj/item/clothing/cloak/stabard/templar/malum if(/datum/patron/divine/xylix) - wrists = /obj/item/clothing/neck/psycross/silver/xylix + wrists = /obj/item/clothing/neck/psycross/silver/divine/xylix cloak = /obj/item/clothing/cloak/stabard/templar/xylix diff --git a/code/modules/jobs/job_types/adventurer/types/combat/hollowranger.dm b/code/modules/jobs/job_types/adventurer/types/combat/hollowranger.dm index 8a441a8e48c..5e3c3b33184 100644 --- a/code/modules/jobs/job_types/adventurer/types/combat/hollowranger.dm +++ b/code/modules/jobs/job_types/adventurer/types/combat/hollowranger.dm @@ -58,7 +58,7 @@ beltl = /obj/item/ammo_holder/quiver/arrows beltr = /obj/item/weapon/knife/cleaver/combat armor = /obj/item/clothing/armor/leather/jacket - wrists = /obj/item/clothing/neck/psycross/silver/dendor + wrists = /obj/item/clothing/neck/psycross/silver/divine/dendor gloves = /obj/item/clothing/gloves/fingerless cloak = /obj/item/clothing/cloak/raincloak/furcloak/colored/black diff --git a/code/modules/jobs/job_types/adventurer/types/combat/monk.dm b/code/modules/jobs/job_types/adventurer/types/combat/monk.dm index 81f6b3fab51..bcb1d0363f9 100644 --- a/code/modules/jobs/job_types/adventurer/types/combat/monk.dm +++ b/code/modules/jobs/job_types/adventurer/types/combat/monk.dm @@ -62,22 +62,22 @@ switch(H.patron?.type) if(/datum/patron/divine/astrata) - neck = /obj/item/clothing/neck/psycross/silver/astrata + neck = /obj/item/clothing/neck/psycross/silver/divine/astrata if(/datum/patron/divine/necra) // Necra acolytes are now gravetenders - neck = /obj/item/clothing/neck/psycross/silver/necra + neck = /obj/item/clothing/neck/psycross/silver/divine/necra if(/datum/patron/divine/eora) - neck = /obj/item/clothing/neck/psycross/silver/eora + neck = /obj/item/clothing/neck/psycross/silver/divine/eora if(/datum/patron/divine/noc) - neck = /obj/item/clothing/neck/psycross/silver/noc + neck = /obj/item/clothing/neck/psycross/silver/divine/noc if(/datum/patron/divine/pestra) - neck = /obj/item/clothing/neck/psycross/silver/pestra + neck = /obj/item/clothing/neck/psycross/silver/divine/pestra if(/datum/patron/divine/dendor) - neck = /obj/item/clothing/neck/psycross/silver/dendor + neck = /obj/item/clothing/neck/psycross/silver/divine/dendor if(/datum/patron/divine/abyssor) - neck = /obj/item/clothing/neck/psycross/silver/abyssor + neck = /obj/item/clothing/neck/psycross/silver/divine/abyssor if(/datum/patron/divine/ravox) - neck = /obj/item/clothing/neck/psycross/silver/ravox + neck = /obj/item/clothing/neck/psycross/silver/divine/ravox if(/datum/patron/divine/xylix) - neck = /obj/item/clothing/neck/psycross/silver/xylix + neck = /obj/item/clothing/neck/psycross/silver/divine/xylix if(/datum/patron/divine/malum) - neck = /obj/item/clothing/neck/psycross/silver/malum + neck = /obj/item/clothing/neck/psycross/silver/divine/malum diff --git a/code/modules/jobs/job_types/adventurer/types/pilgrim/briar.dm b/code/modules/jobs/job_types/adventurer/types/pilgrim/briar.dm index 67752d5f504..056f9956f91 100644 --- a/code/modules/jobs/job_types/adventurer/types/pilgrim/briar.dm +++ b/code/modules/jobs/job_types/adventurer/types/pilgrim/briar.dm @@ -67,7 +67,7 @@ name = "Briar (Pilgrim)" belt = /obj/item/storage/belt/leather/rope mask = /obj/item/clothing/face/druid - neck = /obj/item/clothing/neck/psycross/silver/dendor + neck = /obj/item/clothing/neck/psycross/silver/divine/dendor shirt = /obj/item/clothing/armor/leather/vest armor = /obj/item/clothing/shirt/robe/dendor wrists = /obj/item/clothing/wrists/bracers/leather diff --git a/code/modules/jobs/job_types/adventurer/types/pilgrim/rare/grenzelhoft.dm b/code/modules/jobs/job_types/adventurer/types/pilgrim/rare/grenzelhoft.dm index 3b83958760c..c785d103e18 100644 --- a/code/modules/jobs/job_types/adventurer/types/pilgrim/rare/grenzelhoft.dm +++ b/code/modules/jobs/job_types/adventurer/types/pilgrim/rare/grenzelhoft.dm @@ -61,7 +61,7 @@ name = "Grenzelhoft Count (Pilgrim)" shoes = /obj/item/clothing/shoes/rare/grenzelhoft gloves = /obj/item/clothing/gloves/angle/grenzel - wrists = /obj/item/clothing/neck/psycross/g + wrists = /obj/item/clothing/neck/psycross/gold head = /obj/item/clothing/head/helmet/skullcap/grenzelhoft armor = /obj/item/clothing/armor/brigandine belt = /obj/item/storage/belt/leather/plaquesilver diff --git a/code/modules/jobs/job_types/adventurer/types/special/crusader.dm b/code/modules/jobs/job_types/adventurer/types/special/crusader.dm index 040df3c042e..327ee0b8123 100644 --- a/code/modules/jobs/job_types/adventurer/types/special/crusader.dm +++ b/code/modules/jobs/job_types/adventurer/types/special/crusader.dm @@ -82,13 +82,13 @@ switch(equipped_human.patron?.type) if(/datum/patron/divine/astrata) cloak = /obj/item/clothing/cloak/stabard/templar/astrata - wrists = /obj/item/clothing/neck/psycross/silver/astrata + wrists = /obj/item/clothing/neck/psycross/silver/divine/astrata if(/datum/patron/divine/necra) cloak = /obj/item/clothing/cloak/stabard/templar/necra - wrists = /obj/item/clothing/neck/psycross/silver/necra + wrists = /obj/item/clothing/neck/psycross/silver/divine/necra else cloak = /obj/item/clothing/cloak/stabard/templar/ravox - wrists = /obj/item/clothing/neck/psycross/silver/ravox + wrists = /obj/item/clothing/neck/psycross/silver/divine/ravox if(equipped_human.gender == FEMALE) head = /obj/item/clothing/head/helmet/heavy/crusader/t diff --git a/code/modules/jobs/job_types/adventurer/types/wretch/heretic.dm b/code/modules/jobs/job_types/adventurer/types/wretch/heretic.dm index c9509bd5ea3..24de37e0136 100644 --- a/code/modules/jobs/job_types/adventurer/types/wretch/heretic.dm +++ b/code/modules/jobs/job_types/adventurer/types/wretch/heretic.dm @@ -142,27 +142,27 @@ switch(equipped_human.patron?.type) if(/datum/patron/divine/astrata) - wrists = /obj/item/clothing/neck/psycross/silver/astrata + wrists = /obj/item/clothing/neck/psycross/silver/divine/astrata head = /obj/item/clothing/head/helmet/heavy/necked/astrata cloak = /obj/item/clothing/cloak/stabard/templar/astrata backr = /obj/item/weapon/sword/long/exe/astrata if(/datum/patron/divine/noc) - wrists = /obj/item/clothing/neck/psycross/silver/noc + wrists = /obj/item/clothing/neck/psycross/silver/divine/noc head = /obj/item/clothing/head/helmet/heavy/necked/noc cloak = /obj/item/clothing/cloak/stabard/templar/noc beltl = /obj/item/weapon/sword/sabre/noc if(/datum/patron/divine/dendor) - wrists = /obj/item/clothing/neck/psycross/silver/dendor + wrists = /obj/item/clothing/neck/psycross/silver/divine/dendor head = /obj/item/clothing/head/helmet/heavy/necked/dendorhelm cloak = /obj/item/clothing/cloak/stabard/templar/dendor backr = /obj/item/weapon/polearm/halberd/bardiche/dendor if(/datum/patron/divine/necra) - wrists = /obj/item/clothing/neck/psycross/silver/necra + wrists = /obj/item/clothing/neck/psycross/silver/divine/necra head = /obj/item/clothing/head/helmet/heavy/necked/necra cloak = /obj/item/clothing/cloak/stabard/templar/necra beltl = /obj/item/weapon/flail/sflail/necraflail if(/datum/patron/divine/pestra) - wrists = /obj/item/clothing/neck/psycross/silver/pestra + wrists = /obj/item/clothing/neck/psycross/silver/divine/pestra head = /obj/item/clothing/head/helmet/heavy/necked/pestrahelm cloak = /obj/item/clothing/cloak/stabard/templar/pestra backpack_contents += /obj/item/reagent_containers/glass/bottle/strongpoison @@ -170,27 +170,27 @@ beltl = /obj/item/weapon/knife/dagger/steel/pestrasickle if(/datum/patron/divine/eora) head = /obj/item/clothing/head/helmet/sallet/eoran - wrists = /obj/item/clothing/neck/psycross/silver/eora + wrists = /obj/item/clothing/neck/psycross/silver/divine/eora cloak = /obj/item/clothing/cloak/stabard/templar/eora beltr = /obj/item/weapon/sword/rapier/eora if(/datum/patron/divine/ravox) - wrists = /obj/item/clothing/neck/psycross/silver/ravox + wrists = /obj/item/clothing/neck/psycross/silver/divine/ravox head = /obj/item/clothing/head/helmet/heavy/necked/ravox cloak = /obj/item/clothing/cloak/stabard/templar/ravox backr = /obj/item/weapon/sword/long/ravox if(/datum/patron/divine/malum) - wrists = /obj/item/clothing/neck/psycross/silver/malum + wrists = /obj/item/clothing/neck/psycross/silver/divine/malum head = /obj/item/clothing/head/helmet/heavy/necked/malumhelm cloak = /obj/item/clothing/cloak/stabard/templar/malum backr = /obj/item/weapon/hammer/sledgehammer/war/malum if(/datum/patron/divine/abyssor) head = /obj/item/clothing/head/helmet/heavy/necked/abyssor armor = /obj/item/clothing/armor/brigandine/abyssor - wrists = /obj/item/clothing/neck/psycross/silver/abyssor + wrists = /obj/item/clothing/neck/psycross/silver/divine/abyssor cloak = /obj/item/clothing/cloak/stabard/templar/abyssor backr = /obj/item/weapon/polearm/spear/abyssor if(/datum/patron/divine/xylix) - wrists = /obj/item/clothing/neck/psycross/silver/xylix + wrists = /obj/item/clothing/neck/psycross/silver/divine/xylix head = /obj/item/clothing/head/helmet/heavy/necked/xylix cloak = /obj/item/clothing/cloak/stabard/templar/xylix beltl = /obj/item/weapon/whip/xylix @@ -239,7 +239,7 @@ beltr = /obj/item/weapon/knife/dagger/steel/dirk/baotha beltl = /obj/item/weapon/knife/dagger/steel/dirk/baotha if(/datum/patron/psydon, /datum/patron/psydon/extremist) - wrists = /obj/item/clothing/neck/psycross/g + wrists = /obj/item/clothing/neck/psycross/gold armor = /obj/item/clothing/armor/cuirass/fluted cloak = /obj/item/clothing/cloak/psydontabard gloves = /obj/item/clothing/gloves/chain/psydon @@ -249,6 +249,6 @@ beltl = /obj/item/weapon/scabbard/sword else head = /obj/item/clothing/head/helmet/heavy/bucket - wrists = /obj/item/clothing/neck/psycross/silver/undivided + wrists = /obj/item/clothing/neck/psycross/silver/divine cloak = /obj/item/clothing/cloak/templar/undivided beltr = /obj/item/weapon/sword/long/decorated diff --git a/code/modules/jobs/job_types/church/gmtemplar.dm b/code/modules/jobs/job_types/church/gmtemplar.dm index 8ab2ce28e86..5853bb6b7f9 100644 --- a/code/modules/jobs/job_types/church/gmtemplar.dm +++ b/code/modules/jobs/job_types/church/gmtemplar.dm @@ -62,12 +62,12 @@ var/holder = spawned.patron?.devotion_holder if(holder) var/datum/devotion/devotion = new holder() - devotion.make_templar() + devotion.make_gmtemplar() devotion.grant_to(spawned) var/static/list/selectableweapon = list( "Longsword" = /obj/item/weapon/sword/long/grandmaster, - "Spear" = /obj/item/weapon/polearm/spear/grandmaster, + "Trident" = /obj/item/weapon/polearm/spear/grandmaster, "Axe" = /obj/item/weapon/greataxe/steel/grandmaster, "Mace" = /obj/item/weapon/mace/goden/steel/grandmaster, ) @@ -101,7 +101,7 @@ belt = /obj/item/storage/belt/leather/black ring = /obj/item/clothing/ring/silver/rontz gloves = /obj/item/clothing/gloves/plate/silver - wrists = /obj/item/clothing/neck/psycross/silver/ravox + wrists = /obj/item/clothing/neck/psycross/silver/divine/ravox diff --git a/code/modules/jobs/job_types/church/monk.dm b/code/modules/jobs/job_types/church/monk.dm index 621e12258eb..dead588036c 100644 --- a/code/modules/jobs/job_types/church/monk.dm +++ b/code/modules/jobs/job_types/church/monk.dm @@ -150,13 +150,13 @@ switch(equipped_human.patron?.type) if(/datum/patron/divine/astrata) head = /obj/item/clothing/head/roguehood/astrata - neck = /obj/item/clothing/neck/psycross/silver/astrata + neck = /obj/item/clothing/neck/psycross/silver/divine/astrata wrists = /obj/item/clothing/wrists/wrappings shoes = /obj/item/clothing/shoes/sandals armor = /obj/item/clothing/shirt/robe/astrata if(/datum/patron/divine/necra) head = /obj/item/clothing/head/padded/deathshroud - neck = /obj/item/clothing/neck/psycross/silver/necra + neck = /obj/item/clothing/neck/psycross/silver/divine/necra shoes = /obj/item/clothing/shoes/boots pants = /obj/item/clothing/pants/trou/leather/mourning armor = /obj/item/clothing/shirt/robe/necra @@ -167,46 +167,46 @@ backl = /obj/item/weapon/polearm/woodstaff/quarterstaff if(/datum/patron/divine/eora) mask = /obj/item/clothing/face/operavisage - neck = /obj/item/clothing/neck/psycross/silver/eora + neck = /obj/item/clothing/neck/psycross/silver/divine/eora shoes = /obj/item/clothing/shoes/sandals armor = /obj/item/clothing/shirt/robe/eora if(/datum/patron/divine/noc) head = /obj/item/clothing/head/roguehood/nochood - neck = /obj/item/clothing/neck/psycross/silver/noc + neck = /obj/item/clothing/neck/psycross/silver/divine/noc wrists = /obj/item/clothing/wrists/nocwrappings shoes = /obj/item/clothing/shoes/sandals armor = /obj/item/clothing/shirt/robe/noc if(/datum/patron/divine/pestra) head = /obj/item/clothing/head/padded/pestra - neck = /obj/item/clothing/neck/psycross/silver/pestra + neck = /obj/item/clothing/neck/psycross/silver/divine/pestra shoes = /obj/item/clothing/shoes/sandals armor = /obj/item/clothing/shirt/robe/pestra backpack_contents += /obj/item/needle/blessed if(/datum/patron/divine/dendor) head = /obj/item/clothing/head/padded/briarthorns - neck = /obj/item/clothing/neck/psycross/silver/dendor + neck = /obj/item/clothing/neck/psycross/silver/divine/dendor shoes = /obj/item/clothing/shoes/sandals armor = /obj/item/clothing/shirt/robe/dendor if(/datum/patron/divine/abyssor) head = /obj/item/clothing/head/padded/abyssor - neck = /obj/item/clothing/neck/psycross/silver/abyssor + neck = /obj/item/clothing/neck/psycross/silver/divine/abyssor shoes = /obj/item/clothing/shoes/boots armor = /obj/item/clothing/shirt/robe/abyssor if(/datum/patron/divine/ravox) head = /obj/item/clothing/head/helmet/leather/headscarf - neck = /obj/item/clothing/neck/psycross/silver/ravox + neck = /obj/item/clothing/neck/psycross/silver/divine/ravox shoes = /obj/item/clothing/shoes/boots shirt = /obj/item/clothing/armor/gambeson/light armor = /obj/item/clothing/armor/leather cloak = /obj/item/clothing/cloak/stabard/templar/ravox if(/datum/patron/divine/xylix) head = /obj/item/clothing/head/roguehood/colored/random - neck = /obj/item/clothing/neck/psycross/silver/xylix + neck = /obj/item/clothing/neck/psycross/silver/divine/xylix shoes = /obj/item/clothing/shoes/boots armor = /obj/item/clothing/shirt/robe/colored/purple if(/datum/patron/divine/malum) head = /obj/item/clothing/head/headband/colored/red - neck = /obj/item/clothing/neck/psycross/silver/malum + neck = /obj/item/clothing/neck/psycross/silver/divine/malum shoes = /obj/item/clothing/shoes/boots armor = /obj/item/clothing/shirt/robe/colored/red backl = /obj/item/weapon/polearm/woodstaff/quarterstaff diff --git a/code/modules/jobs/job_types/church/priest.dm b/code/modules/jobs/job_types/church/priest.dm index 1bb84787224..5deb89781bd 100644 --- a/code/modules/jobs/job_types/church/priest.dm +++ b/code/modules/jobs/job_types/church/priest.dm @@ -20,9 +20,9 @@ outfit = /datum/outfit/priest spells = list( - /datum/action/cooldown/spell/undirected/list_target/convert_role/templar, - /datum/action/cooldown/spell/undirected/list_target/convert_role/acolyte, - /datum/action/cooldown/spell/undirected/list_target/convert_role/churchling, + /datum/action/cooldown/spell/undirected/list_target/convert_role/church/templar, + /datum/action/cooldown/spell/undirected/list_target/convert_role/church/acolyte, + /datum/action/cooldown/spell/undirected/list_target/convert_role/church/churchling, /datum/action/cooldown/spell/undirected/call_bird/priest, ) @@ -62,11 +62,7 @@ spawned.adjust_skillrank(/datum/skill/combat/polearms, 1, TRUE) spawned.adjust_skillrank(/datum/skill/magic/holy, 1, TRUE) - add_verb(spawned, /mob/living/carbon/human/proc/coronate_lord) - add_verb(spawned, /mob/living/carbon/human/proc/churchexcommunicate) - add_verb(spawned, /mob/living/carbon/human/proc/churchcurse) - add_verb(spawned, /mob/living/carbon/human/proc/churchannouncement) - add_verb(spawned, list(/mob/living/carbon/human/proc/absolve_penance_verb, /mob/living/carbon/human/proc/assign_penance_verb)) + spawned.give_priest_verbs() spawned.virginity = TRUE @@ -78,7 +74,7 @@ /datum/outfit/priest name = "Priest" - neck = /obj/item/clothing/neck/psycross/silver/astrata + neck = /obj/item/clothing/neck/psycross/silver/divine/astrata head = /obj/item/clothing/head/priestmask shirt = /obj/item/clothing/shirt/undershirt/priest pants = /obj/item/clothing/pants/tights/colored/black @@ -235,3 +231,21 @@ return FALSE priority_announce("[inputty]", title = "The [get_role_title()] Speaks", sound = 'sound/misc/bell.ogg') src.log_talk("[TIMETOTEXT4LOGS] [inputty]", LOG_SAY, tag="Priest announcement") + +/// Helper for giving priest verbs, and whether that should include coronation or penance verbs. +/mob/living/carbon/human/proc/give_priest_verbs(coronate = TRUE, penance = TRUE) + add_verb(src, /mob/living/carbon/human/proc/churchexcommunicate) + add_verb(src, /mob/living/carbon/human/proc/churchcurse) + add_verb(src, /mob/living/carbon/human/proc/churchannouncement) + if(coronate) + add_verb(src, /mob/living/carbon/human/proc/coronate_lord) + if(penance) + add_verb(src, list(/mob/living/carbon/human/proc/absolve_penance_verb, /mob/living/carbon/human/proc/assign_penance_verb)) + +/// Helper for removing priest verbs +/mob/living/carbon/human/proc/remove_priest_verbs() + remove_verb(src, /mob/living/carbon/human/proc/churchexcommunicate) + remove_verb(src, /mob/living/carbon/human/proc/churchcurse) + remove_verb(src, /mob/living/carbon/human/proc/churchannouncement) + remove_verb(src, /mob/living/carbon/human/proc/coronate_lord) + remove_verb(src, list(/mob/living/carbon/human/proc/absolve_penance_verb, /mob/living/carbon/human/proc/assign_penance_verb)) diff --git a/code/modules/jobs/job_types/church/templar.dm b/code/modules/jobs/job_types/church/templar.dm index 6fe0cbf7d5a..2f413bb0b28 100644 --- a/code/modules/jobs/job_types/church/templar.dm +++ b/code/modules/jobs/job_types/church/templar.dm @@ -146,27 +146,27 @@ . = ..() switch(equipped_human.patron?.type) if(/datum/patron/divine/astrata) - wrists = /obj/item/clothing/neck/psycross/silver/astrata + wrists = /obj/item/clothing/neck/psycross/silver/divine/astrata head = /obj/item/clothing/head/helmet/heavy/necked/astrata cloak = /obj/item/clothing/cloak/stabard/templar/astrata backr = /obj/item/weapon/sword/long/exe/astrata if(/datum/patron/divine/noc) - wrists = /obj/item/clothing/neck/psycross/silver/noc + wrists = /obj/item/clothing/neck/psycross/silver/divine/noc head = /obj/item/clothing/head/helmet/heavy/necked/noc cloak = /obj/item/clothing/cloak/stabard/templar/noc beltl = /obj/item/weapon/sword/sabre/noc if(/datum/patron/divine/dendor) - wrists = /obj/item/clothing/neck/psycross/silver/dendor + wrists = /obj/item/clothing/neck/psycross/silver/divine/dendor head = /obj/item/clothing/head/helmet/heavy/necked/dendorhelm cloak = /obj/item/clothing/cloak/stabard/templar/dendor backr = /obj/item/weapon/polearm/halberd/bardiche/dendor if(/datum/patron/divine/necra) - wrists = /obj/item/clothing/neck/psycross/silver/necra + wrists = /obj/item/clothing/neck/psycross/silver/divine/necra head = /obj/item/clothing/head/helmet/heavy/necked/necra cloak = /obj/item/clothing/cloak/stabard/templar/necra beltl = /obj/item/weapon/flail/sflail/necraflail if(/datum/patron/divine/pestra) - wrists = /obj/item/clothing/neck/psycross/silver/pestra + wrists = /obj/item/clothing/neck/psycross/silver/divine/pestra head = /obj/item/clothing/head/helmet/heavy/necked/pestrahelm cloak = /obj/item/clothing/cloak/stabard/templar/pestra backpack_contents += /obj/item/reagent_containers/glass/bottle/poison @@ -174,25 +174,25 @@ beltl = /obj/item/weapon/knife/dagger/steel/pestrasickle if(/datum/patron/divine/eora) head = /obj/item/clothing/head/helmet/sallet/eoran - wrists = /obj/item/clothing/neck/psycross/silver/eora + wrists = /obj/item/clothing/neck/psycross/silver/divine/eora cloak = /obj/item/clothing/cloak/stabard/templar/eora if(/datum/patron/divine/ravox) - wrists = /obj/item/clothing/neck/psycross/silver/ravox + wrists = /obj/item/clothing/neck/psycross/silver/divine/ravox head = /obj/item/clothing/head/helmet/heavy/necked/ravox cloak = /obj/item/clothing/cloak/stabard/templar/ravox backr = /obj/item/weapon/sword/long/ravox if(/datum/patron/divine/malum) - wrists = /obj/item/clothing/neck/psycross/silver/malum + wrists = /obj/item/clothing/neck/psycross/silver/divine/malum head = /obj/item/clothing/head/helmet/heavy/necked/malumhelm cloak = /obj/item/clothing/cloak/stabard/templar/malum backr = /obj/item/weapon/hammer/sledgehammer/war/malum if(/datum/patron/divine/abyssor) head = /obj/item/clothing/head/helmet/heavy/necked/abyssor armor = /obj/item/clothing/armor/brigandine/abyssor - wrists = /obj/item/clothing/neck/psycross/silver/abyssor + wrists = /obj/item/clothing/neck/psycross/silver/divine/abyssor cloak = /obj/item/clothing/cloak/stabard/templar/abyssor if(/datum/patron/divine/xylix) - wrists = /obj/item/clothing/neck/psycross/silver/xylix + wrists = /obj/item/clothing/neck/psycross/silver/divine/xylix head = /obj/item/clothing/head/helmet/heavy/necked/xylix cloak = /obj/item/clothing/cloak/stabard/templar/xylix beltl = /obj/item/weapon/whip/xylix diff --git a/code/modules/jobs/job_types/garrison/town_elder.dm b/code/modules/jobs/job_types/garrison/town_elder.dm index 93a3d449328..ca6e8310fe5 100644 --- a/code/modules/jobs/job_types/garrison/town_elder.dm +++ b/code/modules/jobs/job_types/garrison/town_elder.dm @@ -371,26 +371,26 @@ . = ..() switch(equipped_human.patron?.type) if(/datum/patron/divine/astrata) - neck = /obj/item/clothing/neck/psycross/silver/astrata + neck = /obj/item/clothing/neck/psycross/silver/divine/astrata if(/datum/patron/divine/necra) - neck = /obj/item/clothing/neck/psycross/silver/necra + neck = /obj/item/clothing/neck/psycross/silver/divine/necra if(/datum/patron/divine/eora) - neck = /obj/item/clothing/neck/psycross/silver/eora + neck = /obj/item/clothing/neck/psycross/silver/divine/eora if(/datum/patron/divine/noc) - neck = /obj/item/clothing/neck/psycross/silver/noc + neck = /obj/item/clothing/neck/psycross/silver/divine/noc if(/datum/patron/divine/pestra) - neck = /obj/item/clothing/neck/psycross/silver/pestra + neck = /obj/item/clothing/neck/psycross/silver/divine/pestra backpack_contents += /obj/item/needle/blessed if(/datum/patron/divine/dendor) - neck = /obj/item/clothing/neck/psycross/silver/dendor + neck = /obj/item/clothing/neck/psycross/silver/divine/dendor if(/datum/patron/divine/abyssor) - neck = /obj/item/clothing/neck/psycross/silver/abyssor + neck = /obj/item/clothing/neck/psycross/silver/divine/abyssor if(/datum/patron/divine/ravox) - neck = /obj/item/clothing/neck/psycross/silver/ravox + neck = /obj/item/clothing/neck/psycross/silver/divine/ravox if(/datum/patron/divine/xylix) - neck = /obj/item/clothing/neck/psycross/silver/xylix + neck = /obj/item/clothing/neck/psycross/silver/divine/xylix if(/datum/patron/divine/malum) - neck = /obj/item/clothing/neck/psycross/silver/malum + neck = /obj/item/clothing/neck/psycross/silver/divine/malum backpack_contents += /obj/item/weapon/hammer/iron else neck = /obj/item/clothing/neck/psycross/silver diff --git a/code/modules/jobs/job_types/inquistion/puritian/preceptor.dm b/code/modules/jobs/job_types/inquistion/puritian/preceptor.dm index 29509681126..ef5e3e576ea 100644 --- a/code/modules/jobs/job_types/inquistion/puritian/preceptor.dm +++ b/code/modules/jobs/job_types/inquistion/puritian/preceptor.dm @@ -68,7 +68,7 @@ head = /obj/item/clothing/head/headband/naledi mask = /obj/item/clothing/face/lordmask/naledi/sojourner gloves = /obj/item/clothing/gloves/bandages/pugilist - neck = /obj/item/clothing/neck/psycross/g + neck = /obj/item/clothing/neck/psycross/gold wrists = /obj/item/clothing/wrists/bracers/naledi ring = /obj/item/clothing/ring/signet diff --git a/code/modules/jobs/job_types/nobility/archivist.dm b/code/modules/jobs/job_types/nobility/archivist.dm index 79da01d5800..d461c2e4772 100644 --- a/code/modules/jobs/job_types/nobility/archivist.dm +++ b/code/modules/jobs/job_types/nobility/archivist.dm @@ -92,7 +92,7 @@ beltl = /obj/item/storage/keyring/archivist beltr = /obj/item/book/granter/spellbook/apprentice backl = /obj/item/storage/backpack/satchel - neck = /obj/item/clothing/neck/psycross/silver/noc + neck = /obj/item/clothing/neck/psycross/silver/divine/noc backpack_contents = list( /obj/item/textbook = 1, /obj/item/natural/feather = 1 @@ -156,7 +156,7 @@ belt = /obj/item/storage/belt/leather/plaquesilver beltr = /obj/item/storage/keyring/archivist wrists = /obj/item/clothing/wrists/nocwrappings - neck = /obj/item/clothing/neck/psycross/silver/noc + neck = /obj/item/clothing/neck/psycross/silver/divine/noc backl = /obj/item/storage/backpack/satchel backpack_contents = list( /obj/item/storage/belt/pouch/coins/poor = 1, diff --git a/code/modules/jobs/job_types/other/folkheroes/lakkariancleric.dm b/code/modules/jobs/job_types/other/folkheroes/lakkariancleric.dm index 0dde84ca777..db5f615f1ec 100644 --- a/code/modules/jobs/job_types/other/folkheroes/lakkariancleric.dm +++ b/code/modules/jobs/job_types/other/folkheroes/lakkariancleric.dm @@ -68,7 +68,7 @@ armor = /obj/item/clothing/armor/gambeson/heavy/lakkarijupon shirt = /obj/item/clothing/shirt/undershirt/fancy gloves = /obj/item/clothing/gloves/leather - wrists = /obj/item/clothing/neck/psycross/silver/astrata + wrists = /obj/item/clothing/neck/psycross/silver/divine/astrata pants = /obj/item/clothing/pants/trou/leather/quiltedkilt/colored/blue shoes = /obj/item/clothing/shoes/boots/leather neck = /obj/item/clothing/neck/coif/cloth // price to pay for being a speedy class, less neck protection diff --git a/code/modules/jobs/job_types/other/folkheroes/monsterhunter.dm b/code/modules/jobs/job_types/other/folkheroes/monsterhunter.dm index a51a197f1e3..0781bc0a643 100644 --- a/code/modules/jobs/job_types/other/folkheroes/monsterhunter.dm +++ b/code/modules/jobs/job_types/other/folkheroes/monsterhunter.dm @@ -65,10 +65,10 @@ if(/datum/patron/psydon, /datum/patron/psydon/extremist) wrists = /obj/item/clothing/neck/psycross/silver if(/datum/patron/divine/astrata) - wrists = /obj/item/clothing/neck/psycross/silver/astrata + wrists = /obj/item/clothing/neck/psycross/silver/divine/astrata if(/datum/patron/divine/necra) - wrists = /obj/item/clothing/neck/psycross/silver/necra + wrists = /obj/item/clothing/neck/psycross/silver/divine/necra if(/datum/patron/divine/pestra) - wrists = /obj/item/clothing/neck/psycross/silver/pestra + wrists = /obj/item/clothing/neck/psycross/silver/divine/pestra else wrists = /obj/item/clothing/neck/silveramulet diff --git a/code/modules/jobs/job_types/other/folkheroes/paladin.dm b/code/modules/jobs/job_types/other/folkheroes/paladin.dm index 718bde6d1c1..cb210620883 100644 --- a/code/modules/jobs/job_types/other/folkheroes/paladin.dm +++ b/code/modules/jobs/job_types/other/folkheroes/paladin.dm @@ -50,7 +50,7 @@ spawned.adjust_stat_modifier(STATMOD_JOB, STATKEY_CON, 1) spawned.adjust_stat_modifier(STATMOD_JOB, STATKEY_PER, 1) spawned.grant_language(/datum/language/newpsydonic) - ADD_TRAIT(spawned, TRAIT_PSYDONIAN_GRIT, TRAIT_GENERIC) + ADD_TRAIT(spawned, TRAIT_PSYDONIAN_GRIT, JOB_TRAIT) if(/datum/patron/divine/astrata) spawned.cmode_music = 'sound/music/cmode/church/CombatAstrata.ogg' if(/datum/patron/divine/noc) @@ -61,7 +61,7 @@ spawned.cmode_music = 'sound/music/cmode/church/CombatAbyssor.ogg' if(/datum/patron/divine/necra) spawned.cmode_music = 'sound/music/cmode/church/CombatGravekeeper.ogg' - ADD_TRAIT(spawned, TRAIT_GRAVEROBBER, TRAIT_GENERIC) + ADD_TRAIT(spawned, TRAIT_GRAVEROBBER, JOB_TRAIT) if(/datum/patron/divine/ravox) spawned.cmode_music = 'sound/music/cmode/church/CombatRavox.ogg' if(/datum/patron/divine/xylix) @@ -73,11 +73,11 @@ if(/datum/patron/divine/eora) spawned.cmode_music = 'sound/music/cmode/church/CombatEora.ogg' spawned.virginity = FALSE - ADD_TRAIT(spawned, TRAIT_BEAUTIFUL, TRAIT_GENERIC) + ADD_TRAIT(spawned, TRAIT_BEAUTIFUL, JOB_TRAIT) else spawned.cmode_music = 'sound/music/cmode/church/CombatInquisitor.ogg' - if(!spawned.has_language(/datum/language/celestial) && (spawned.patron?.type in ALL_TEMPLE_PATRONS) && spawned.patron?.type != /datum/patron/psydon) + if(!spawned.has_language(/datum/language/celestial) && (spawned.patron?.type in ALL_TEMPLE_PATRONS)) spawned.grant_language(/datum/language/celestial) to_chat(spawned, "I can speak Celestial with ,c before my speech.") @@ -113,34 +113,34 @@ switch(H.patron?.type) if(/datum/patron/psydon, /datum/patron/psydon/extremist) head = /obj/item/clothing/head/helmet/heavy/bucket/gold - wrists = /obj/item/clothing/neck/psycross/g + wrists = /obj/item/clothing/neck/psycross/gold if(/datum/patron/divine/astrata) head = /obj/item/clothing/head/helmet/heavy/necked/astrata - wrists = /obj/item/clothing/neck/psycross/silver/astrata + wrists = /obj/item/clothing/neck/psycross/silver/divine/astrata if(/datum/patron/divine/noc) head = /obj/item/clothing/head/helmet/heavy/necked/noc - wrists = /obj/item/clothing/neck/psycross/silver/noc + wrists = /obj/item/clothing/neck/psycross/silver/divine/noc if(/datum/patron/divine/dendor) head = /obj/item/clothing/head/helmet/heavy/necked/dendorhelm - wrists = /obj/item/clothing/neck/psycross/silver/dendor + wrists = /obj/item/clothing/neck/psycross/silver/divine/dendor if(/datum/patron/divine/abyssor) head = /obj/item/clothing/head/helmet/heavy/necked/abyssor - wrists = /obj/item/clothing/neck/psycross/silver/abyssor + wrists = /obj/item/clothing/neck/psycross/silver/divine/abyssor if(/datum/patron/divine/necra) head = /obj/item/clothing/head/helmet/heavy/necked/necra - wrists = /obj/item/clothing/neck/psycross/silver/necra + wrists = /obj/item/clothing/neck/psycross/silver/divine/necra if(/datum/patron/divine/ravox) head = /obj/item/clothing/head/helmet/heavy/necked/ravox - wrists = /obj/item/clothing/neck/psycross/silver/ravox + wrists = /obj/item/clothing/neck/psycross/silver/divine/ravox if(/datum/patron/divine/xylix) head = /obj/item/clothing/head/helmet/heavy/necked/xylix - wrists = /obj/item/clothing/neck/psycross/silver/xylix + wrists = /obj/item/clothing/neck/psycross/silver/divine/xylix if(/datum/patron/divine/pestra) head = /obj/item/clothing/head/helmet/heavy/necked/pestrahelm - wrists = /obj/item/clothing/neck/psycross/silver/pestra + wrists = /obj/item/clothing/neck/psycross/silver/divine/pestra if(/datum/patron/divine/malum) head = /obj/item/clothing/head/helmet/heavy/necked/malumhelm - wrists = /obj/item/clothing/neck/psycross/silver/malum + wrists = /obj/item/clothing/neck/psycross/silver/divine/malum if(/datum/patron/divine/eora) head = /obj/item/clothing/head/helmet/sallet/eoran - wrists = /obj/item/clothing/neck/psycross/silver/eora + wrists = /obj/item/clothing/neck/psycross/silver/divine/eora diff --git a/code/modules/jobs/job_types/other/folkheroes/swashbuckler.dm b/code/modules/jobs/job_types/other/folkheroes/swashbuckler.dm index 7db16648ed1..6e86a31b0e0 100644 --- a/code/modules/jobs/job_types/other/folkheroes/swashbuckler.dm +++ b/code/modules/jobs/job_types/other/folkheroes/swashbuckler.dm @@ -59,7 +59,7 @@ beltl = /obj/item/weapon/sword/sabre/cutlass beltr = /obj/item/weapon/knife/dagger shoes = /obj/item/clothing/shoes/boots - neck = /obj/item/clothing/neck/psycross/silver/abyssor + neck = /obj/item/clothing/neck/psycross/silver/divine/abyssor /datum/outfit/folkhero/swashbuckler/pre_equip(mob/living/carbon/human/H, visuals_only) . = ..() diff --git a/code/modules/jobs/job_types/peasants/gravedigger.dm b/code/modules/jobs/job_types/peasants/gravedigger.dm index f619f1ea02f..21301084d8e 100644 --- a/code/modules/jobs/job_types/peasants/gravedigger.dm +++ b/code/modules/jobs/job_types/peasants/gravedigger.dm @@ -65,7 +65,7 @@ /datum/outfit/undertaker name = "Gravetender" head = /obj/item/clothing/head/padded/deathshroud - neck = /obj/item/clothing/neck/psycross/silver/necra + neck = /obj/item/clothing/neck/psycross/silver/divine/necra pants = /obj/item/clothing/pants/trou/leather/mourning armor = /obj/item/clothing/shirt/robe/necra shoes = /obj/item/clothing/shoes/boots diff --git a/code/modules/jobs/job_types/youngfolk/churchling.dm b/code/modules/jobs/job_types/youngfolk/churchling.dm index 8c3d0bfb232..139a8e536fd 100644 --- a/code/modules/jobs/job_types/youngfolk/churchling.dm +++ b/code/modules/jobs/job_types/youngfolk/churchling.dm @@ -14,7 +14,7 @@ allowed_ages = list(AGE_CHILD) allowed_races = RACES_PLAYER_ALL - allowed_patrons = ALL_TEMPLE_PATRONS + allowed_patrons = UNDIVIDED_TEMPLE_PATRONS outfit = /datum/outfit/churchling give_bank_account = TRUE @@ -46,12 +46,12 @@ var/holder = spawned.patron?.devotion_holder if(holder) var/datum/devotion/devotion = new holder() - devotion.make_churching() + devotion.make_churchling() devotion.grant_to(spawned) /datum/outfit/churchling name = "Churchling" - neck = /obj/item/clothing/neck/psycross/silver/undivided + neck = /obj/item/clothing/neck/psycross/silver/divine armor = /obj/item/clothing/shirt/robe shirt = /obj/item/clothing/shirt/undershirt pants = /obj/item/clothing/pants/tights @@ -68,22 +68,22 @@ switch(equipped_human.patron?.type) if(/datum/patron/divine/astrata) - neck = /obj/item/clothing/neck/psycross/silver/astrata + neck = /obj/item/clothing/neck/psycross/silver/divine/astrata if(/datum/patron/divine/necra) - neck = /obj/item/clothing/neck/psycross/silver/necra + neck = /obj/item/clothing/neck/psycross/silver/divine/necra if(/datum/patron/divine/eora) - neck = /obj/item/clothing/neck/psycross/silver/eora + neck = /obj/item/clothing/neck/psycross/silver/divine/eora if(/datum/patron/divine/noc) - neck = /obj/item/clothing/neck/psycross/silver/noc + neck = /obj/item/clothing/neck/psycross/silver/divine/noc if(/datum/patron/divine/pestra) - neck = /obj/item/clothing/neck/psycross/silver/pestra + neck = /obj/item/clothing/neck/psycross/silver/divine/pestra if(/datum/patron/divine/dendor) - neck = /obj/item/clothing/neck/psycross/silver/dendor + neck = /obj/item/clothing/neck/psycross/silver/divine/dendor if(/datum/patron/divine/abyssor) - neck = /obj/item/clothing/neck/psycross/silver/abyssor + neck = /obj/item/clothing/neck/psycross/silver/divine/abyssor if(/datum/patron/divine/ravox) - neck = /obj/item/clothing/neck/psycross/silver/ravox + neck = /obj/item/clothing/neck/psycross/silver/divine/ravox if(/datum/patron/divine/xylix) - neck = /obj/item/clothing/neck/psycross/silver/xylix + neck = /obj/item/clothing/neck/psycross/silver/divine/xylix if(/datum/patron/divine/malum) - neck = /obj/item/clothing/neck/psycross/silver/malum + neck = /obj/item/clothing/neck/psycross/silver/divine/malum diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index ec51f4e621d..85165a2fce8 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -259,6 +259,9 @@ else . += span_redtext("[m1] an ex-agent of the court.") + if(HAS_TRAIT(user, TRAIT_DIVINE_SERVANT) && (HAS_TRAIT(src, TRAIT_DIVINE_CENTRIST) && !HAS_TRAIT(src, TRAIT_DIVINE_SERVANT))) + . += SPAN_GOD_ASTRATA("An 'Enlightened Centrist'. Shame!") + if(real_name in GLOB.excommunicated_players) . += span_userdanger("EXCOMMUNICATED!") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index db26e4d5eef..dc5f7de967a 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -185,7 +185,9 @@ /mob/living/carbon/human/get_status_tab_items() . = ..() if(clan) - . += "VITAE: [bloodpool]" + . += "VITAE: [round(bloodpool)]/[maxbloodpool]" + if(cleric) + . += "Devotion: [round(cleric.devotion)]/[cleric.max_devotion]" /mob/living/carbon/human/show_inv(mob/user) user.set_machine(src) diff --git a/code/modules/mob/living/stats.dm b/code/modules/mob/living/stats.dm index 61a82e2ca3a..a7b197340d2 100644 --- a/code/modules/mob/living/stats.dm +++ b/code/modules/mob/living/stats.dm @@ -41,7 +41,7 @@ var/has_rolled_for_stats = FALSE /mob/living/proc/init_faith() - patron = GLOB.patron_list[/datum/patron/godless/godless] + patron = GLOB.patrons_by_type[/datum/patron/godless/godless] /mob/living/proc/set_patron(datum/patron/new_patron, check_antag = FALSE) if(!new_patron) @@ -49,15 +49,45 @@ if(check_antag && mind?.special_role) return FALSE if(ispath(new_patron)) - new_patron = GLOB.patron_list[new_patron] + new_patron = GLOB.patrons_by_type[new_patron] if(!istype(new_patron)) return FALSE if(patron && !ispath(patron)) patron.on_remove(src) mana_pool?.remove_attunements(patron) + + var/mob/living/carbon/human/devout + var/stored_cleric_class + if(ishuman(src)) + devout = src + if(devout.cleric) + stored_cleric_class = devout.cleric.devotion_class + qdel(devout.cleric) + patron = new_patron patron.on_gain(src) mana_pool?.set_attunements(patron) + if(devout && stored_cleric_class) + var/holder = devout.patron?.devotion_holder + if(holder) + var/datum/devotion/devotion = new holder() + switch(stored_cleric_class) + if(DEVOTION_CLASS_PRIEST) + devotion.make_priest() + if(DEVOTION_CLASS_GRANDMASTER) + devotion.make_gmtemplar() + if(DEVOTION_CLASS_TEMPLAR) + devotion.make_templar() + if(DEVOTION_CLASS_ACOLYTE) + devotion.make_acolyte() + if(DEVOTION_CLASS_ABSOLVER) + devotion.make_absolver() + if(DEVOTION_CLASS_CLERIC) + devotion.make_cleric() + if(DEVOTION_CLASS_CHURCHLING) + devotion.make_churchling() + devotion.grant_to(devout) + return TRUE ///Rolls random stats base 10, +-1, for SPECIAL, and applies species stats and age stats. diff --git a/code/modules/spells/spell_types/pointed/aoe/churn_undead.dm b/code/modules/spells/spell_types/pointed/aoe/churn_undead.dm index cedbc225d00..27d6fa77c99 100644 --- a/code/modules/spells/spell_types/pointed/aoe/churn_undead.dm +++ b/code/modules/spells/spell_types/pointed/aoe/churn_undead.dm @@ -8,7 +8,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/necra) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/necra) invocation = "The Undermaiden rebukes!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/avert.dm b/code/modules/spells/spell_types/pointed/avert.dm index 6931df59250..01089ed031e 100644 --- a/code/modules/spells/spell_types/pointed/avert.dm +++ b/code/modules/spells/spell_types/pointed/avert.dm @@ -13,7 +13,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/necra) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/necra) invocation = "Undermaiden avert your gaze!" invocation_type = INVOCATION_SHOUT @@ -29,6 +29,11 @@ "Some vast, immeasurably distant figure looms beyond my perception - I feel it, more than I see. It waits. It watches.", ) +/datum/action/cooldown/spell/avert/templar + name = "Divine Grace" + invocation = "May The Ten grace you with time!" + required_items = list(/obj/item/clothing/neck/psycross/silver/divine) + /datum/action/cooldown/spell/avert/is_valid_target(atom/cast_on) . = ..() if(!.) diff --git a/code/modules/spells/spell_types/pointed/beast_tame.dm b/code/modules/spells/spell_types/pointed/beast_tame.dm index 9d88aa6f409..afda358b325 100644 --- a/code/modules/spells/spell_types/pointed/beast_tame.dm +++ b/code/modules/spells/spell_types/pointed/beast_tame.dm @@ -10,7 +10,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) attunements = list( /datum/attunement/earth = 1, ) diff --git a/code/modules/spells/spell_types/pointed/blindness.dm b/code/modules/spells/spell_types/pointed/blindness.dm index 7da79c67def..d149a9b618b 100644 --- a/code/modules/spells/spell_types/pointed/blindness.dm +++ b/code/modules/spells/spell_types/pointed/blindness.dm @@ -34,7 +34,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/noc) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/noc) invocation = "Noc blinds thee of thy sins!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/burial_rites.dm b/code/modules/spells/spell_types/pointed/burial_rites.dm index c1ec2542b6f..49f8f0e86a1 100644 --- a/code/modules/spells/spell_types/pointed/burial_rites.dm +++ b/code/modules/spells/spell_types/pointed/burial_rites.dm @@ -9,7 +9,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/necra) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/necra) invocation = "Undermaiden grant thee passage forth and spare the trials of the forgotten." invocation_type = INVOCATION_WHISPER diff --git a/code/modules/spells/spell_types/pointed/conjure/garden_fae.dm b/code/modules/spells/spell_types/pointed/conjure/garden_fae.dm index 46ccabb9510..d3ff5dd065c 100644 --- a/code/modules/spells/spell_types/pointed/conjure/garden_fae.dm +++ b/code/modules/spells/spell_types/pointed/conjure/garden_fae.dm @@ -8,7 +8,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) cooldown_time = 5 MINUTES spell_cost = 50 charge_time = 2 SECONDS diff --git a/code/modules/spells/spell_types/pointed/conjure/kneestingers.dm b/code/modules/spells/spell_types/pointed/conjure/kneestingers.dm index 6245267bca9..38e25f32c63 100644 --- a/code/modules/spells/spell_types/pointed/conjure/kneestingers.dm +++ b/code/modules/spells/spell_types/pointed/conjure/kneestingers.dm @@ -9,7 +9,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) attunements = list( /datum/attunement/earth = 0.6, ) diff --git a/code/modules/spells/spell_types/pointed/enchantment/_enchantment.dm b/code/modules/spells/spell_types/pointed/enchantment/_enchantment.dm index 0ec0e2af755..db3a87a25e1 100644 --- a/code/modules/spells/spell_types/pointed/enchantment/_enchantment.dm +++ b/code/modules/spells/spell_types/pointed/enchantment/_enchantment.dm @@ -42,6 +42,7 @@ if(!enchant_item) to_chat(owner, span_warning("There is nothing to enchant!")) return - enchantment_duration *= attuned_strength - enchant_item.AddComponent(/datum/component/enchanted_weapon, enchantment_duration, allows_refresh, associated_skill, enchantment, holder) + if(spell_type != SPELL_MIRACLE) + enchantment_duration *= attuned_strength + enchant_item.AddComponent(/datum/component/enchanted_weapon, enchantment_duration, allows_refresh, associated_skill, 1, enchantment, holder) cooldown_time = cooldown_time || enchantment_duration diff --git a/code/modules/spells/spell_types/pointed/enchantment/holyflame_blade.dm b/code/modules/spells/spell_types/pointed/enchantment/holyflame_blade.dm new file mode 100644 index 00000000000..9f684b01293 --- /dev/null +++ b/code/modules/spells/spell_types/pointed/enchantment/holyflame_blade.dm @@ -0,0 +1,37 @@ +/datum/action/cooldown/spell/enchantment/holy_flame + name = "Imbue Holy Fire" + desc = "Enchant a weapon with divine flames." + button_icon_state = "enchant_weapon" + + enchantment_duration = 5 MINUTES + attunements = list( + /datum/attunement/fire = 0.3, + ) + + charge_required = FALSE + spell_cost = 30 + spell_flags = SPELL_RITUOS + enchantment = DIVINE_FIRE_ENCHANT + spell_type = SPELL_MIRACLE + associated_skill = /datum/skill/magic/holy + required_items = list(/obj/item/clothing/neck/psycross/silver/divine) + +/datum/action/cooldown/spell/enchantment/holy_flame/is_valid_target(atom/cast_on) + var/obj/item/weapon/enchant_item + if(istype(cast_on, /obj/item/weapon)) + enchant_item = cast_on + else if(isliving(cast_on)) + var/mob/living/living_mob = cast_on + var/obj/item/weapon/held = living_mob.get_active_held_item() + if(istype(held)) + enchant_item = held + + if(!enchant_item) + to_chat(owner, span_warning("There is nothing to enchant!")) + return FALSE + + if(enchant_item.GetComponent(/datum/component/martyrweapon)) + to_chat(owner, span_warning("You cannot imbue such a powerful weapon with any more divine power!")) + return FALSE + + return TRUE diff --git a/code/modules/spells/spell_types/pointed/endure.dm b/code/modules/spells/spell_types/pointed/endure.dm index ed4f5a5d787..bee596f3f41 100644 --- a/code/modules/spells/spell_types/pointed/endure.dm +++ b/code/modules/spells/spell_types/pointed/endure.dm @@ -68,7 +68,7 @@ psicross_bonus = 0.3 if(/obj/item/clothing/neck/psycross/silver) psicross_bonus = 0.4 - if(/obj/item/clothing/neck/psycross/g) // PURITY AFLOAT. + if(/obj/item/clothing/neck/psycross/gold) // PURITY AFLOAT. psicross_bonus = 0.4 if(damtotal >= 300) // ARE THEY ENDURING MUCH, IN ONE WAY OR ANOTHER? situational_bonus += 0.3 diff --git a/code/modules/spells/spell_types/pointed/eoran_bloom.dm b/code/modules/spells/spell_types/pointed/eoran_bloom.dm index beb587b23c8..20d2beefa5a 100644 --- a/code/modules/spells/spell_types/pointed/eoran_bloom.dm +++ b/code/modules/spells/spell_types/pointed/eoran_bloom.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/eora) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/eora) invocation = "Be at peace with Eora." invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/eoran_charm.dm b/code/modules/spells/spell_types/pointed/eoran_charm.dm index ffef44b04cc..e31cfdcd698 100644 --- a/code/modules/spells/spell_types/pointed/eoran_charm.dm +++ b/code/modules/spells/spell_types/pointed/eoran_charm.dm @@ -31,7 +31,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/eora) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/eora) invocation = "Experiamur vim amoris!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/hammer_fall.dm b/code/modules/spells/spell_types/pointed/hammer_fall.dm index f3173963c5c..40fe882601f 100644 --- a/code/modules/spells/spell_types/pointed/hammer_fall.dm +++ b/code/modules/spells/spell_types/pointed/hammer_fall.dm @@ -8,7 +8,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/malum) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/malum) invocation = "Let the weight of Malum's hammer fall!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/healing.dm b/code/modules/spells/spell_types/pointed/healing.dm index 38a4d85759b..5a59bf063ca 100644 --- a/code/modules/spells/spell_types/pointed/healing.dm +++ b/code/modules/spells/spell_types/pointed/healing.dm @@ -9,7 +9,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine) charge_required = FALSE cooldown_time = 10 SECONDS @@ -25,6 +25,8 @@ var/stun_undead = FALSE /// Unholy, profane healing var/is_profane = FALSE + /// Patron Restrictive + var/patron_restrictive = FALSE /datum/action/cooldown/spell/healing/is_valid_target(atom/cast_on) . = ..() @@ -34,11 +36,25 @@ /datum/action/cooldown/spell/healing/cast(mob/living/cast_on) . = ..() + if(is_profane && patron_restrictive && !(cast_on.patron in ALL_PROFANE_PATRONS)) + cast_on.visible_message( + span_warning("The Inhumen Four sear the flesh of [cast_on]! a non-believer and weakling!"), + span_notice("The Inhumen Four lash out at me with a wave of pain!"), + ) + cast_on.emote("scream") + return + if(!is_profane) if(HAS_TRAIT(cast_on, TRAIT_ASTRATA_CURSE)) cast_on.visible_message(span_danger("[cast_on] recoils in pain!"), span_userdanger("Divine healing shuns me!")) cast_on.cursed_freak_out() return + /// The Ten won't provide greater healing to centrist worshippers, they do not approve. + /// This is ignored if they're already a divine servant, like a Templar, as undivded can only become church roles from round start. + if(HAS_TRAIT(cast_on, TRAIT_DIVINE_CENTRIST) && !HAS_TRAIT(cast_on, TRAIT_DIVINE_SERVANT) && patron_restrictive) + cast_on.visible_message(span_danger("[cast_on] recoils in shame!"), span_userdanger("The Ten reject my indecisiveness!")) + cast_on.cursed_freak_out() + return if(cast_on.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead if(cast_on.mind?.has_antag_datum(/datum/antagonist/vampire/lord)) cast_on.visible_message(span_warning("[cast_on] overpowers being burned!"), span_greentext("I overpower being burned!")) @@ -50,9 +66,9 @@ cast_on.adjust_divine_fire_stacks(1) cast_on.IgniteMob() return - if((cast_on.real_name in GLOB.excommunicated_players) && !HAS_TRAIT(cast_on, TRAIT_FANATICAL)) + if(((cast_on.real_name in GLOB.excommunicated_players) || (cast_on.real_name in GLOB.heretical_players)) && !HAS_TRAIT(cast_on, TRAIT_FANATICAL)) cast_on.visible_message( - span_warning("The angry Ten the flesh of [cast_on]! a foolish blasphemer and heretic!"), + span_warning("The angry Ten sear the flesh of [cast_on]! a foolish blasphemer and heretic!"), span_notice("I am despised by the Ten, rejected, and they remind me just how unlovable I am with a wave of pain!"), ) cast_on.emote("scream") @@ -218,6 +234,7 @@ antimagic_flags = MAGIC_RESISTANCE_UNHOLY required_items = null is_profane = TRUE + required_items = list(/obj/item/clothing/neck/psycross) /datum/action/cooldown/spell/healing/greater name = "Miracle" @@ -232,6 +249,7 @@ wound_modifier = 0.5 blood_restoration = BLOOD_VOLUME_SURVIVE stun_undead = TRUE + patron_restrictive = TRUE /datum/action/cooldown/spell/healing/greater/profane name = "Corrupt Miracle" @@ -239,3 +257,4 @@ required_items = null stun_undead = FALSE is_profane = TRUE + required_items = list(/obj/item/clothing/neck/psycross) diff --git a/code/modules/spells/spell_types/pointed/heat_metal.dm b/code/modules/spells/spell_types/pointed/heat_metal.dm index 0fbf5ff0172..0cc48294fce 100644 --- a/code/modules/spells/spell_types/pointed/heat_metal.dm +++ b/code/modules/spells/spell_types/pointed/heat_metal.dm @@ -8,7 +8,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/malum) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/malum) invocation = "Metal bends to the heat of Malum's forge!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/instill_perfection.dm b/code/modules/spells/spell_types/pointed/instill_perfection.dm index 4b8543dfe89..2505fa38c21 100644 --- a/code/modules/spells/spell_types/pointed/instill_perfection.dm +++ b/code/modules/spells/spell_types/pointed/instill_perfection.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/eora) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/eora) invocation = "Eora, lend some of your divine beauty!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/ocean_embrace.dm b/code/modules/spells/spell_types/pointed/ocean_embrace.dm index 6c88fe4d426..ef603f8cab0 100644 --- a/code/modules/spells/spell_types/pointed/ocean_embrace.dm +++ b/code/modules/spells/spell_types/pointed/ocean_embrace.dm @@ -9,7 +9,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/abyssor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/abyssor) invocation = "Embrace the waters of Abyssor's domain!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/persistence.dm b/code/modules/spells/spell_types/pointed/persistence.dm index a618c36f994..bf2e1cb4821 100644 --- a/code/modules/spells/spell_types/pointed/persistence.dm +++ b/code/modules/spells/spell_types/pointed/persistence.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/ravox) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/ravox) invocation = "Ravox deems your persistence worthy!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/projectile/eora_curse.dm b/code/modules/spells/spell_types/pointed/projectile/eora_curse.dm index 17096651ed3..5eaacf24f33 100644 --- a/code/modules/spells/spell_types/pointed/projectile/eora_curse.dm +++ b/code/modules/spells/spell_types/pointed/projectile/eora_curse.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/eora) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/eora) invocation = "Nulla felicitas sine amore!" invocation_type = INVOCATION_WHISPER diff --git a/code/modules/spells/spell_types/pointed/projectile/falcon_disrupt.dm b/code/modules/spells/spell_types/pointed/projectile/falcon_disrupt.dm index 46f945ff857..440eac9f9a7 100644 --- a/code/modules/spells/spell_types/pointed/projectile/falcon_disrupt.dm +++ b/code/modules/spells/spell_types/pointed/projectile/falcon_disrupt.dm @@ -8,7 +8,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) attunements = list(/datum/attunement/earth = 0.5) charge_time = 1 SECONDS charge_drain = 1 diff --git a/code/modules/spells/spell_types/pointed/projectile/moonlit_dagger.dm b/code/modules/spells/spell_types/pointed/projectile/moonlit_dagger.dm index d3d3dcaf78d..97994b42cbe 100644 --- a/code/modules/spells/spell_types/pointed/projectile/moonlit_dagger.dm +++ b/code/modules/spells/spell_types/pointed/projectile/moonlit_dagger.dm @@ -8,7 +8,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/noc) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/noc) invocation = "Begone foul beasts!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/projectile/swordfish.dm b/code/modules/spells/spell_types/pointed/projectile/swordfish.dm index 149492d268f..b2e6d8a83ad 100644 --- a/code/modules/spells/spell_types/pointed/projectile/swordfish.dm +++ b/code/modules/spells/spell_types/pointed/projectile/swordfish.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/abyssor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/abyssor) invocation = "Feel Abyssor's rage!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/respite.dm b/code/modules/spells/spell_types/pointed/respite.dm index 98da15950c3..e8dddc9aacc 100644 --- a/code/modules/spells/spell_types/pointed/respite.dm +++ b/code/modules/spells/spell_types/pointed/respite.dm @@ -32,7 +32,7 @@ psicross_bonus = -5 if(/obj/item/clothing/neck/psycross/silver) psicross_bonus = -7 - if(/obj/item/clothing/neck/psycross/g) // PURITY AFLOAT. + if(/obj/item/clothing/neck/psycross/gold) // PURITY AFLOAT. psicross_bonus = -7 if(brute > 100) sit_bonus1 = -2 diff --git a/code/modules/spells/spell_types/pointed/revive.dm b/code/modules/spells/spell_types/pointed/revive.dm index dcedb35344e..9a643d12e1e 100644 --- a/code/modules/spells/spell_types/pointed/revive.dm +++ b/code/modules/spells/spell_types/pointed/revive.dm @@ -9,7 +9,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/astrata) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/astrata) charge_time = 5 SECONDS charge_slowdown = 0.7 diff --git a/code/modules/spells/spell_types/pointed/sacred_flame.dm b/code/modules/spells/spell_types/pointed/sacred_flame.dm index 5c757e1cd08..c3f7d9f8633 100644 --- a/code/modules/spells/spell_types/pointed/sacred_flame.dm +++ b/code/modules/spells/spell_types/pointed/sacred_flame.dm @@ -8,7 +8,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/astrata) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/astrata) invocation = "Cleansing flames, kindle!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/pointed/status/divine_shield.dm b/code/modules/spells/spell_types/pointed/status/divine_shield.dm new file mode 100644 index 00000000000..c4c86cdf066 --- /dev/null +++ b/code/modules/spells/spell_types/pointed/status/divine_shield.dm @@ -0,0 +1,104 @@ +#define SHIELD_DURATION 1 MINUTES +/// Duration + (3 * Duration) +#define SHIELD_COOLDOWN ((3 * SHIELD_DURATION) + SHIELD_DURATION) + +/datum/action/cooldown/spell/status/divine_shield + name = "Divine Shield" + desc = "Protect the target from harm, taking their suffering unto yourself." + button_icon_state = "regression" + sound = 'sound/magic/holyshield.ogg' + charge_sound = 'sound/magic/holycharging.ogg' + + cast_range = 3 + spell_type = SPELL_MIRACLE + antimagic_flags = MAGIC_RESISTANCE_HOLY + associated_skill = /datum/skill/magic/holy + required_items = list(/obj/item/clothing/neck/psycross/silver/divine) + + self_cast_possible = FALSE + + charge_required = TRUE + charge_time = 3 SECONDS + cooldown_time = SHIELD_COOLDOWN + + invocation = "May The Ten protect you!" + invocation_type = INVOCATION_SHOUT + + spell_cost = 100 + + status_effect = /datum/status_effect/buff/divine_shield + +/datum/action/cooldown/spell/status/divine_shield/before_cast(mob/living/cast_on) + . = ..() + extra_args = list(owner) + +/datum/status_effect/buff/divine_shield + id = "divine_shield" + alert_type = /atom/movable/screen/alert/status_effect/buff/divine_shield + duration = SHIELD_DURATION + effectedstats = list(STATKEY_CON = 3) + var/static/mutable_appearance/shielded = mutable_appearance('icons/effects/effects.dmi', "shieldsparkles") + var/mob/living/carbon/protector_mob + COOLDOWN_DECLARE(message_cooldown) + var/changed_godmode = FALSE + +/datum/status_effect/buff/divine_shield/on_creation(mob/living/new_owner, duration_override, mob/living/protector) + if(!protector) + qdel(src) + return FALSE + + protector_mob = protector + protector_mob.apply_status_effect(arglist(list(/datum/status_effect/debuff/divine_shield, duration))) + return ..() + +/datum/status_effect/buff/divine_shield/on_apply() + . = ..() + var/mob/living/target = owner + target.add_overlay(shielded) + target.AddElement(/datum/element/relay_attackers) + RegisterSignal(target, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(upon_attacked)) + if(target.status_flags & GODMODE) + return + changed_godmode = TRUE + target.status_flags |= GODMODE + +/datum/status_effect/buff/divine_shield/on_remove() + var/mob/living/target = owner + target.cut_overlay(shielded) + target.RemoveElement(/datum/element/relay_attackers) + UnregisterSignal(target, COMSIG_ATOM_WAS_ATTACKED) + if(changed_godmode) + owner.status_flags &= ~GODMODE + return ..() + +/datum/status_effect/buff/divine_shield/proc/upon_attacked(mob/living/attacked, mob/living/carbon/human/attacker, damage) + SIGNAL_HANDLER + protector_mob.apply_damage(damage, BRUTE, forced = TRUE) + owner.heal_overall_damage(damage, damage)//Currently the closest option I have, I can't find a way to relay damage but also not take the damage. + + if(COOLDOWN_FINISHED(src, message_cooldown)) + to_chat(protector_mob, SPAN_GOD_RAVOX("Your divine shield reflects damage to you from [owner.real_name].")) + to_chat(owner, SPAN_GOD_RAVOX("Your divine shield reflects damage from you to [protector_mob.real_name].")) + COOLDOWN_START(src, message_cooldown, 5 SECONDS) + +/atom/movable/screen/alert/status_effect/buff/divine_shield + name = "Divine Shield" + desc = span_nicegreen("I am shielded by divine energies.") + icon_state = "buff" + + +/datum/status_effect/debuff/divine_shield + id = "divine_shield_r" + alert_type = /atom/movable/screen/alert/status_effect/debuff/divine_shield + duration = SHIELD_DURATION + effectedstats = list(STATKEY_CON = -2) + +/atom/movable/screen/alert/status_effect/debuff/divine_shield + name = "Divine Shield" + desc = span_red("I am channeling divine power to shield my target.") + icon_state = "debuff" + alert_group = ALERT_DEBUFF + + +#undef SHIELD_DURATION +#undef SHIELD_COOLDOWN diff --git a/code/modules/spells/spell_types/pointed/status/fortune_wheel.dm b/code/modules/spells/spell_types/pointed/status/fortune_wheel.dm index c3d3fe0da33..ed81332362d 100644 --- a/code/modules/spells/spell_types/pointed/status/fortune_wheel.dm +++ b/code/modules/spells/spell_types/pointed/status/fortune_wheel.dm @@ -6,7 +6,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/xylix) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/xylix) charge_required = FALSE spell_cost = 35 diff --git a/code/modules/spells/spell_types/pointed/status/invisibility.dm b/code/modules/spells/spell_types/pointed/status/invisibility.dm index e6f9cc0d283..9eb7c3acfe6 100644 --- a/code/modules/spells/spell_types/pointed/status/invisibility.dm +++ b/code/modules/spells/spell_types/pointed/status/invisibility.dm @@ -8,7 +8,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/noc) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/noc) charge_required = FALSE cooldown_time = 2 MINUTES diff --git a/code/modules/spells/spell_types/pointed/status/vigorous_craft.dm b/code/modules/spells/spell_types/pointed/status/vigorous_craft.dm index 647f194f11f..c6dbb9abcf4 100644 --- a/code/modules/spells/spell_types/pointed/status/vigorous_craft.dm +++ b/code/modules/spells/spell_types/pointed/status/vigorous_craft.dm @@ -8,7 +8,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/malum) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/malum) invocation = "Through ash and flame! Legere librum!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/undirected/beast_sense.dm b/code/modules/spells/spell_types/undirected/beast_sense.dm index 720392e8fd5..80481ad0251 100644 --- a/code/modules/spells/spell_types/undirected/beast_sense.dm +++ b/code/modules/spells/spell_types/undirected/beast_sense.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) attunements = list( /datum/attunement/earth = 0.5, ) diff --git a/code/modules/spells/spell_types/undirected/bless_crops.dm b/code/modules/spells/spell_types/undirected/bless_crops.dm index b28297c7bac..77f73059643 100644 --- a/code/modules/spells/spell_types/undirected/bless_crops.dm +++ b/code/modules/spells/spell_types/undirected/bless_crops.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) attunements = list( /datum/attunement/earth = 0.5, /datum/attunement/life = 0.5, diff --git a/code/modules/spells/spell_types/undirected/call_of_the_moon.dm b/code/modules/spells/spell_types/undirected/call_of_the_moon.dm index 3065e72877a..41dc8ed8819 100644 --- a/code/modules/spells/spell_types/undirected/call_of_the_moon.dm +++ b/code/modules/spells/spell_types/undirected/call_of_the_moon.dm @@ -4,7 +4,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) has_visual_effects = TRUE use_language = TRUE diff --git a/code/modules/spells/spell_types/undirected/call_to_arms.dm b/code/modules/spells/spell_types/undirected/call_to_arms.dm index 768d56b1ecb..251356e20e3 100644 --- a/code/modules/spells/spell_types/undirected/call_to_arms.dm +++ b/code/modules/spells/spell_types/undirected/call_to_arms.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/ravox) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/ravox) invocation = "MAY THE FIGHT BE BLOODY!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/undirected/conjure_item/briar_claw.dm b/code/modules/spells/spell_types/undirected/conjure_item/briar_claw.dm index 7e6a322df1d..b63416fdeb6 100644 --- a/code/modules/spells/spell_types/undirected/conjure_item/briar_claw.dm +++ b/code/modules/spells/spell_types/undirected/conjure_item/briar_claw.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) spell_cost = 15 item_duration = 1 MINUTES cooldown_time = 4 MINUTES diff --git a/code/modules/spells/spell_types/undirected/conjure_item/summon_leech.dm b/code/modules/spells/spell_types/undirected/conjure_item/summon_leech.dm index 7b128219a58..2aef1942024 100644 --- a/code/modules/spells/spell_types/undirected/conjure_item/summon_leech.dm +++ b/code/modules/spells/spell_types/undirected/conjure_item/summon_leech.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/abyssor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/abyssor) invocation = "Abyssor bless me with one of your servants!" invocation_type = INVOCATION_WHISPER @@ -24,7 +24,7 @@ desc = "Summon a leech by Pestra's will." button_icon_state = "diagnose" - required_items = list(/obj/item/clothing/neck/psycross/silver/pestra) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/pestra) invocation = "Pestra grant me the creacher to cleanse the blood!" invocation_type = INVOCATION_WHISPER diff --git a/code/modules/spells/spell_types/undirected/conjure_item/summon_trident.dm b/code/modules/spells/spell_types/undirected/conjure_item/summon_trident.dm index 2249fd03f82..bedb06ceb36 100644 --- a/code/modules/spells/spell_types/undirected/conjure_item/summon_trident.dm +++ b/code/modules/spells/spell_types/undirected/conjure_item/summon_trident.dm @@ -26,7 +26,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/abyssor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/abyssor) invocation = "Let Abyssor's wrath be known!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/undirected/divine_strike.dm b/code/modules/spells/spell_types/undirected/divine_strike.dm index e8805356f6b..bb54c97b210 100644 --- a/code/modules/spells/spell_types/undirected/divine_strike.dm +++ b/code/modules/spells/spell_types/undirected/divine_strike.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/ravox) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/ravox) invocation = "Ravox deems your persistence worthy!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/spells/spell_types/undirected/jaunt/bush_jaunt.dm b/code/modules/spells/spell_types/undirected/jaunt/bush_jaunt.dm index 858b7d3c185..3dcf7bbc3b0 100644 --- a/code/modules/spells/spell_types/undirected/jaunt/bush_jaunt.dm +++ b/code/modules/spells/spell_types/undirected/jaunt/bush_jaunt.dm @@ -9,7 +9,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) cooldown_time = 2 MINUTES spell_cost = 20 has_visual_effects = FALSE diff --git a/code/modules/spells/spell_types/undirected/jaunt/illusory_prop.dm b/code/modules/spells/spell_types/undirected/jaunt/illusory_prop.dm index 59469cd8b18..faeb34cdca9 100644 --- a/code/modules/spells/spell_types/undirected/jaunt/illusory_prop.dm +++ b/code/modules/spells/spell_types/undirected/jaunt/illusory_prop.dm @@ -9,7 +9,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/xylix) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/xylix) cooldown_time = 2 MINUTES spell_cost = 25 has_visual_effects = FALSE diff --git a/code/modules/spells/spell_types/undirected/list_target/convert_role/brotherhood.dm b/code/modules/spells/spell_types/undirected/list_target/convert_role/brotherhood.dm index 794c3690a43..c5e3d090d06 100644 --- a/code/modules/spells/spell_types/undirected/list_target/convert_role/brotherhood.dm +++ b/code/modules/spells/spell_types/undirected/list_target/convert_role/brotherhood.dm @@ -8,7 +8,7 @@ accept_message = "All for one and one for all!" refuse_message = "I refuse." -/datum/action/cooldown/spell/undirected/list_target/convert_role/guard/on_conversion(mob/living/cast_on) +/datum/action/cooldown/spell/undirected/list_target/convert_role/brotherhood/on_conversion(mob/living/cast_on) . = ..() if(cast_on.gender == FEMALE) new_role = "Sister" diff --git a/code/modules/spells/spell_types/undirected/list_target/convert_role/church.dm b/code/modules/spells/spell_types/undirected/list_target/convert_role/church.dm index 431802a2636..0b0b7345165 100644 --- a/code/modules/spells/spell_types/undirected/list_target/convert_role/church.dm +++ b/code/modules/spells/spell_types/undirected/list_target/convert_role/church.dm @@ -1,4 +1,40 @@ -/datum/action/cooldown/spell/undirected/list_target/convert_role/templar +/datum/action/cooldown/spell/undirected/list_target/convert_role/church + name = "Recruit Church Nerd" + var/allow_centrist = FALSE + +/datum/action/cooldown/spell/undirected/list_target/convert_role/church/cast(mob/living/carbon/human/cast_on) + // Patron-specific checks happen here, AFTER priest picks the target + var/mob/living/living_owner = owner + + if(cast_on.cleric) + to_chat(owner, span_info("[cast_on.real_name] already serves their god(s).")) + return + + if(!cast_on.patron) + to_chat(owner, span_info("The Ten glare upon you in confusion. CHILD, [cast_on.real_name] has no form of faith.")) + return + + if(cast_on.patron.type in ALL_PROFANE_PATRONS) + to_chat(owner, span_danger("The Ten glare upon you in fury. CHILD, [cast_on.real_name] serves the Inhumen, do not disgrace Our name.")) + living_owner.adjust_divine_fire_stacks(50) // Half of the damage that you get if you say a profane word, hurts alot. + living_owner.IgniteMob() + return // Stop the recruitment entirely + + if(istype(cast_on.patron, /datum/patron/psydon)) + to_chat(owner, span_info("The Ten glare upon you in sadness. CHILD, [cast_on.real_name] serves Psydon, he is dead, nobody can answer these prayers.")) + return // Stop recruitment + + if(!allow_centrist && istype(cast_on.patron, /datum/patron/divine/centrist)) + to_chat(owner, span_info("The Ten glare upon you in stubbornness. [cast_on.real_name] worships The Ten equally. They can serve only one.")) + return // Stop recruitment + + if(!(cast_on.patron.type in ALL_TEMPLE_PATRONS)) + to_chat(owner, span_danger("The Ten glare upon you in anger. CHILD, [cast_on.real_name] does not worship Our divinity. They are undeserving of Our grace.")) + return // Stop recruitment + + return ..() + +/datum/action/cooldown/spell/undirected/list_target/convert_role/church/templar name = "Recruit Templar" button_icon_state = "recruit_templar" @@ -8,7 +44,7 @@ accept_message = "FOR THE TEN!" refuse_message = "I refuse." -/datum/action/cooldown/spell/undirected/list_target/convert_role/templar/on_conversion(mob/living/carbon/human/cast_on) +/datum/action/cooldown/spell/undirected/list_target/convert_role/church/templar/on_conversion(mob/living/carbon/human/cast_on) . = ..() var/holder = cast_on.patron?.devotion_holder if(holder) @@ -17,25 +53,7 @@ devotion.grant_to(cast_on) -/datum/action/cooldown/spell/undirected/list_target/convert_role/templar/cast(mob/living/carbon/human/cast_on) - // Patron-specific checks happen here, AFTER priest picks the target - var/mob/living/living_owner = owner - - if(cast_on.patron && (cast_on.patron.type in ALL_PROFANE_PATRONS)) - to_chat(owner, span_danger("The Ten glare upon you in fury. CHILD, [cast_on.real_name] serves the Inhumen, do not disgrace Our name.")) - living_owner.adjust_divine_fire_stacks(50) // Half of the damage that you get if you say a profane word, hurts alot. - living_owner.IgniteMob() - return // Stop the recruitment entirely - - if(cast_on.patron && istype(cast_on.patron, /datum/patron/psydon)) - to_chat(owner, span_info("The Ten glare upon you in sadness. CHILD, [cast_on.real_name] serves Psydon, he is dead, nobody can answer these prayers.")) - return // Stop recruitment - - return ..() - - - -/datum/action/cooldown/spell/undirected/list_target/convert_role/acolyte +/datum/action/cooldown/spell/undirected/list_target/convert_role/church/acolyte name = "Recruit Acolyte" button_icon_state = "recruit_acolyte" @@ -45,25 +63,7 @@ accept_message = "FOR THE TEN!" refuse_message = "I refuse." - -/datum/action/cooldown/spell/undirected/list_target/convert_role/acolyte/cast(mob/living/carbon/human/cast_on) - // Patron-specific checks happen here, AFTER priest picks the target - var/mob/living/living_owner = owner - - if(cast_on.patron && (cast_on.patron.type in ALL_PROFANE_PATRONS)) - to_chat(owner, span_danger("The Ten glare upon you in fury. CHILD, [cast_on.real_name] serves the Inhumen, do not disgrace Our name.")) - living_owner.adjust_divine_fire_stacks(50) // Half of the damage that you get if you say a profane word, hurts alot. - living_owner.IgniteMob() - return // Stop the recruitment entirely - - if(cast_on.patron && istype(cast_on.patron, /datum/patron/psydon)) - to_chat(owner, span_info("The Ten glare upon you in sadness. CHILD, [cast_on.real_name] serves Psydon, he is dead, nobody can answer these prayers.")) - return // Stop recruitment - - return ..() - - -/datum/action/cooldown/spell/undirected/list_target/convert_role/acolyte/on_conversion(mob/living/carbon/human/cast_on) +/datum/action/cooldown/spell/undirected/list_target/convert_role/church/acolyte/on_conversion(mob/living/carbon/human/cast_on) . = ..() var/holder = cast_on.patron?.devotion_holder if(holder) @@ -71,7 +71,7 @@ devotion.make_acolyte() devotion.grant_to(cast_on) -/datum/action/cooldown/spell/undirected/list_target/convert_role/churchling +/datum/action/cooldown/spell/undirected/list_target/convert_role/church/churchling name = "Recruit Churchling" button_icon_state = "recruit_acolyte" @@ -81,25 +81,17 @@ accept_message = "FOR THE TEN!" refuse_message = "I refuse." + allow_centrist = TRUE -/datum/action/cooldown/spell/undirected/list_target/convert_role/churchling/cast(mob/living/carbon/human/cast_on) - // Patron-specific checks happen here, AFTER priest picks the target - if(cast_on.patron && istype(cast_on.patron, /datum/patron/psydon)) - to_chat(owner, span_info("The Ten glare upon you in sadness. CHILD, [cast_on.real_name] serves Psydon, he is dead, nobody can answer these prayers.")) - return // Stop recruitment - - return ..() - - -/datum/action/cooldown/spell/undirected/list_target/convert_role/churchling/on_conversion(mob/living/carbon/human/cast_on) +/datum/action/cooldown/spell/undirected/list_target/convert_role/church/churchling/on_conversion(mob/living/carbon/human/cast_on) . = ..() var/holder = cast_on.patron?.devotion_holder if(holder) var/datum/devotion/devotion = new holder() - devotion.make_churching() + devotion.make_churchling() devotion.grant_to(cast_on) -/datum/action/cooldown/spell/undirected/list_target/convert_role/churchling/can_convert(mob/living/carbon/human/cast_on) +/datum/action/cooldown/spell/undirected/list_target/convert_role/church/churchling/can_convert(mob/living/carbon/human/cast_on) if(QDELETED(cast_on)) return FALSE //need a mind @@ -107,6 +99,7 @@ return FALSE //only orphans who aren't apprentices if(istype(cast_on.mind.assigned_role, /datum/job/orphan) && cast_on.is_apprentice()) + to_chat(owner, span_info("You cannot recruit a child already in an apprenticeship.")) return FALSE if(cast_on.age != AGE_CHILD) return FALSE diff --git a/code/modules/spells/spell_types/undirected/list_target/vicious_mimicry.dm b/code/modules/spells/spell_types/undirected/list_target/vicious_mimicry.dm index ba8f02417cd..ee47294dc09 100644 --- a/code/modules/spells/spell_types/undirected/list_target/vicious_mimicry.dm +++ b/code/modules/spells/spell_types/undirected/list_target/vicious_mimicry.dm @@ -6,7 +6,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/xylix) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/xylix) cooldown_time = 1 MINUTES spell_cost = 25 diff --git a/code/modules/spells/spell_types/undirected/locate_dead.dm b/code/modules/spells/spell_types/undirected/locate_dead.dm index e493c2e2960..7ce59f77413 100644 --- a/code/modules/spells/spell_types/undirected/locate_dead.dm +++ b/code/modules/spells/spell_types/undirected/locate_dead.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/necra) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/necra) invocation = "Undermaiden, guide my hand to those who have lost their way." invocation_type = INVOCATION_WHISPER diff --git a/code/modules/spells/spell_types/undirected/shapeshift/troll_form.dm b/code/modules/spells/spell_types/undirected/shapeshift/troll_form.dm index a179876828b..e413de78651 100644 --- a/code/modules/spells/spell_types/undirected/shapeshift/troll_form.dm +++ b/code/modules/spells/spell_types/undirected/shapeshift/troll_form.dm @@ -7,7 +7,7 @@ charge_required = FALSE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) possible_shapes = list(/mob/living/simple_animal/hostile/retaliate/troll) @@ -41,6 +41,6 @@ . = ..() if(!.) return - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) spell_cost = 100 spell_type = SPELL_MIRACLE diff --git a/code/modules/spells/spell_types/undirected/soul_speak.dm b/code/modules/spells/spell_types/undirected/soul_speak.dm index d41c56b9ba6..37a3b0d8b0c 100644 --- a/code/modules/spells/spell_types/undirected/soul_speak.dm +++ b/code/modules/spells/spell_types/undirected/soul_speak.dm @@ -7,7 +7,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/necra) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/necra) invocation = "Undermaiden grant thee passage forth and spare the trials of the forgotten." invocation_type = INVOCATION_WHISPER diff --git a/code/modules/spells/spell_types/undirected/touch/entangler.dm b/code/modules/spells/spell_types/undirected/touch/entangler.dm index 530248dfb60..ca69036bf5b 100644 --- a/code/modules/spells/spell_types/undirected/touch/entangler.dm +++ b/code/modules/spells/spell_types/undirected/touch/entangler.dm @@ -6,7 +6,7 @@ spell_type = SPELL_MIRACLE associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) attunements = list( /datum/attunement/earth = 0.5, ) diff --git a/code/modules/spells/spell_types/undirected/troll_shape.dm b/code/modules/spells/spell_types/undirected/troll_shape.dm index 64b57b33b65..ff3a60dd5b6 100644 --- a/code/modules/spells/spell_types/undirected/troll_shape.dm +++ b/code/modules/spells/spell_types/undirected/troll_shape.dm @@ -11,7 +11,7 @@ spell_type = SPELL_MIRACLE antimagic_flags = MAGIC_RESISTANCE_HOLY associated_skill = /datum/skill/magic/holy - required_items = list(/obj/item/clothing/neck/psycross/silver/dendor) + required_items = list(/obj/item/clothing/neck/psycross/silver/divine/dendor) invocation = "DENDOR LEND ME YOUR POWER!!" invocation_type = INVOCATION_SHOUT diff --git a/code/modules/unit_tests/craftable_clothes.dm b/code/modules/unit_tests/craftable_clothes.dm index 8ffc6b91eab..2b614bddf4e 100644 --- a/code/modules/unit_tests/craftable_clothes.dm +++ b/code/modules/unit_tests/craftable_clothes.dm @@ -48,7 +48,6 @@ abstract types are automatically excluded. /obj/item/clothing/head/helmet/heavy/ordinatorhelm, ///special item //! probably can add this at some point /obj/item/clothing/head/roguehood/psydon/confessor, ///inqport /obj/item/clothing/face/facemask/steel/confessor, ///inqport - /obj/item/clothing/neck/psycross/silver/undivided, //Not supposed to get this, not yet at the very least. /obj/item/clothing/gloves/bandages/pugilist, /obj/item/clothing/armor/gambeson/heavy/otavan/inq, ///inqport /obj/item/clothing/armor/gambeson/heavy/otavan, ///null @@ -83,7 +82,7 @@ abstract types are automatically excluded. var/list/excluded_paths_with_their_subtypes = list( /obj/item/clothing/neck/mercmedal, // only earnable via hermes /obj/item/clothing/neck/shalal, // this is a medal - /obj/item/clothing/neck/psycross/silver/holy, // unimplemented + /obj/item/clothing/neck/psycross/silver/divine/eora/potion, // unimplemented /obj/item/clothing/armor/skin_armor, // bruh /obj/item/clothing/head/hooded, // abstract items connected to a cloak, shouldn't be craftable /obj/item/clothing/accessory, // ??? diff --git a/icons/roguetown/clothing/neck.dmi b/icons/roguetown/clothing/neck.dmi index 8203b9929b7..41db683b98b 100644 Binary files a/icons/roguetown/clothing/neck.dmi and b/icons/roguetown/clothing/neck.dmi differ diff --git a/strings/rt/Lore_Primer.txt b/strings/rt/Lore_Primer.txt index 1f0c06c7494..fbac88854ce 100644 --- a/strings/rt/Lore_Primer.txt +++ b/strings/rt/Lore_Primer.txt @@ -230,6 +230,17 @@ While it's not required reading, leadership roles may find this information usef The time of Psydon has passed, The Ten are righteous. Necra leads us to salvation.

+
+ Divine Centrism +
+ Equal, and perhaps confused, worship of The Ten. +

+ A common stance for youths who are too young or uninformed to truly devote themselves to a sole pantheon, it is the duty of The Church to guide them to choose and profess themselves to a sole patron god. +

+ For an adult not in direct service of the pantheon to profess themselves with such faith is a slight upon the gods. They should be shamed, educated, and brought to the light of a sole patron. Astrata turns her gaze away from such indecisiveness. +

+
+
Astrata
diff --git a/tools/UpdatePaths/Scripts/3532_Prayer_and_psycross_changes.txt b/tools/UpdatePaths/Scripts/3532_Prayer_and_psycross_changes.txt index 98b47e48729..dfa4072bec4 100644 --- a/tools/UpdatePaths/Scripts/3532_Prayer_and_psycross_changes.txt +++ b/tools/UpdatePaths/Scripts/3532_Prayer_and_psycross_changes.txt @@ -1,2 +1,2 @@ -/obj/item/clothing/neck/psycross/noc : /obj/item/clothing/neck/psycross/silver/noc{@OLD} -/obj/item/clothing/neck/psycross/silver/malum_steel : /obj/item/clothing/neck/psycross/silver/malum/steel{@OLD} +/obj/item/clothing/neck/psycross/noc : /obj/item/clothing/neck/psycross/silver/divine/noc{@OLD} +/obj/item/clothing/neck/psycross/silver/divine/malum_steel : /obj/item/clothing/neck/psycross/silver/divine/malum/steel{@OLD} diff --git a/vanderlin.dme b/vanderlin.dme index cccfeec54d7..bd8a0894277 100644 --- a/vanderlin.dme +++ b/vanderlin.dme @@ -3541,6 +3541,7 @@ #include "code\modules\spells\spell_types\pointed\conjure\web.dm" #include "code\modules\spells\spell_types\pointed\enchantment\_enchantment.dm" #include "code\modules\spells\spell_types\pointed\enchantment\greenflame_blade.dm" +#include "code\modules\spells\spell_types\pointed\enchantment\holyflame_blade.dm" #include "code\modules\spells\spell_types\pointed\projectile\_projectile.dm" #include "code\modules\spells\spell_types\pointed\projectile\acid_splash.dm" #include "code\modules\spells\spell_types\pointed\projectile\arcyne_bolt.dm" @@ -3563,6 +3564,7 @@ #include "code\modules\spells\spell_types\pointed\projectile\unholy_grasp.dm" #include "code\modules\spells\spell_types\pointed\status\_status.dm" #include "code\modules\spells\spell_types\pointed\status\booming_blade.dm" +#include "code\modules\spells\spell_types\pointed\status\divine_shield.dm" #include "code\modules\spells\spell_types\pointed\status\fortune_wheel.dm" #include "code\modules\spells\spell_types\pointed\status\frostbite.dm" #include "code\modules\spells\spell_types\pointed\status\guidance.dm"