diff --git a/code/game/gamemodes/cult/cult_datums.dm b/code/game/gamemodes/cult/cult_datums.dm index 6122ce2c01f..34ff3efe978 100644 --- a/code/game/gamemodes/cult/cult_datums.dm +++ b/code/game/gamemodes/cult/cult_datums.dm @@ -89,6 +89,9 @@ entity_title2 = "The One Who Beckons" entity_title3 = "The Ferryman of Oblivion" + cult_wall_icon_state = "deathcult" + cult_floor_icon_state = "carpet-broken" + artificer_name = "Boneshaper" behemoth_name = "Draugr" diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index ecbea9b23fd..e0f3afeed69 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -290,12 +290,27 @@ to_chat(user, "\The [src] flickers out of your hands, too eager to move!") return + var/outer_tele_radius = 0 + var/inner_tele_radius = 9 + var/mob/living/carbon/C = user var/turf/mobloc = get_turf(C) - var/turf/destination = get_teleport_loc(mobloc,C,9,1,3,1,0,1) + var/list/turfs = new/list() + for(var/turf/T in range(user, outer_tele_radius)) + if(T in range(user, inner_tele_radius)) + continue + if(istype(T, /turf/space)) + continue + if(T.x > world.maxx-outer_tele_radius || T.x < outer_tele_radius) + continue //putting them at the edge is dumb + if(T.y > world.maxy-outer_tele_radius || T.y < outer_tele_radius) + continue - if(destination) + turfs += T + + if(turfs.len) uses-- + var/turf/destination = pick(turfs) if(uses <= 0) icon_state ="shifter_drained" playsound(mobloc, "sparks", 50, 1) diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 8292206402b..58bcfe118fa 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -135,7 +135,8 @@ /turf/simulated/floor/engine/cult/New() ..() - icon_state = ticker.mode.cultdat.cult_floor_icon_state + if(ticker.mode)//only do this if the round is going..otherwise..fucking asteroid.. + icon_state = ticker.mode.cultdat.cult_floor_icon_state /turf/simulated/floor/engine/cult/narsie_act() return diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm index a2eb6581172..9aca6f4918e 100644 --- a/code/game/turfs/simulated/walls_misc.dm +++ b/code/game/turfs/simulated/walls_misc.dm @@ -5,12 +5,14 @@ icon_state = "cult" walltype = "cult" canSmoothWith = null + smooth = SMOOTH_FALSE /turf/simulated/wall/cult/New() - new /obj/effect/overlay/temp/cult/turf(src) - icon_state = ticker.mode.cultdat.cult_wall_icon_state - walltype = ticker.mode.cultdat.cult_wall_icon_state ..() + if(ticker.mode)//game hasn't started offically don't do shit.. + new /obj/effect/overlay/temp/cult/turf(src) + icon_state = ticker.mode.cultdat.cult_wall_icon_state + walltype = ticker.mode.cultdat.cult_wall_icon_state /turf/simulated/wall/cult/artificer name = "runed stone wall" diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index 795e94f1d61..ee8f6d96c67 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -26,7 +26,7 @@ ..() icon_state = ticker.mode.cultdat.entity_icon_state name = ticker.mode.cultdat.entity_name - to_chat(world, "NAR-SIE HAS RISEN") + to_chat(world, " [name] HAS RISEN") world << pick(sound('sound/hallucinations/im_here1.ogg'), sound('sound/hallucinations/im_here2.ogg')) var/area/A = get_area(src) diff --git a/icons/turf/walls/cult_wall.dmi b/icons/turf/walls/cult_wall.dmi index 3ab86f21370..052b3f4f8cd 100644 Binary files a/icons/turf/walls/cult_wall.dmi and b/icons/turf/walls/cult_wall.dmi differ