diff --git a/code/datums/spells/construct_spells.dm b/code/datums/spells/construct_spells.dm index 54003d8ed0b..e471cf084a8 100644 --- a/code/datums/spells/construct_spells.dm +++ b/code/datums/spells/construct_spells.dm @@ -2,13 +2,15 @@ /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser charge_max = 1800 + action_icon_state = "artificer" + action_background_icon_state = "bg_demon" /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser/cult cult_req = 1 charge_max = 2500 /obj/effect/proc_holder/spell/aoe_turf/conjure/floor - name = "Floor Construction" + name = "Summon Cult Floor" desc = "This spell constructs a cult floor" school = "conjuration" @@ -17,11 +19,12 @@ invocation = "none" invocation_type = "none" range = 0 - summon_type = list(/turf/simulated/floor/plasteel/cult) - centcom_cancast = 0 //Stop crashing the server by spawning turfs on transit tiles + summon_type = list(/turf/simulated/floor/engine/cult) + action_icon_state = "floorconstruct" + action_background_icon_state = "bg_cult" /obj/effect/proc_holder/spell/aoe_turf/conjure/wall - name = "Lesser Construction" + name = "Summon Cult Wall" desc = "This spell constructs a cult wall" school = "conjuration" @@ -30,8 +33,10 @@ invocation = "none" invocation_type = "none" range = 0 + action_icon_state = "lesserconstruct" + action_background_icon_state = "bg_cult" + summon_type = list(/turf/simulated/wall/cult) - centcom_cancast = 0 //Stop crashing the server by spawning turfs on transit tiles /obj/effect/proc_holder/spell/aoe_turf/conjure/wall/reinforced name = "Greater Construction" @@ -43,7 +48,6 @@ invocation = "none" invocation_type = "none" range = 0 - centcom_cancast = 0 //Stop crashing the server by spawning turfs on transit tiles summon_type = list(/turf/simulated/wall/r_wall) @@ -57,7 +61,8 @@ invocation = "none" invocation_type = "none" range = 0 - + action_icon_state = "summonsoulstone" + action_background_icon_state = "bg_demon" summon_type = list(/obj/item/device/soulstone) @@ -76,8 +81,10 @@ invocation = "none" invocation_type = "none" range = 0 - summon_type = list(/obj/effect/forcefield) + summon_type = list(/obj/effect/forcefield/cult) summon_lifespan = 200 + action_icon_state = "cultforcewall" + action_background_icon_state = "bg_demon" /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift @@ -93,6 +100,8 @@ include_user = 1 jaunt_duration = 50 //in deciseconds centcom_cancast = 0 //Stop people from getting to centcom + action_icon_state = "phaseshift" + action_background_icon_state = "bg_demon" /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/jaunt_disappear(atom/movable/overlay/animation, mob/living/target) animation.icon_state = "phase_shift" @@ -118,6 +127,8 @@ invocation_type = "none" proj_lifespan = 10 max_targets = 6 + action_icon_state = "magicm" + action_background_icon_state = "bg_demon" /obj/effect/proc_holder/spell/targeted/smoke/disable @@ -135,3 +146,5 @@ smoke_spread = 3 smoke_amt = 4 + action_icon_state = "parasmoke" + action_background_icon_state = "bg_cult" diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index 98177d53658..fb738123e0a 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -11,7 +11,10 @@ /obj/effect/forcefield/CanAtmosPass(turf/T) return !density - +/obj/effect/forcefield/cult + desc = "An unholy shield that blocks all attacks." + name = "glowing wall" + icon_state = "cultshield" ///////////Mimewalls/////////// diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index 2c56d1201b5..f82e97c6b41 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -20,6 +20,7 @@ spawn(10) qdel(src) /obj/effect/overlay/temp + icon = 'icons/effects/effects.dmi' anchored = 1 layer = 4.1 mouse_opacity = 0 @@ -32,9 +33,19 @@ spawn(duration) qdel(src) +/obj/effect/overlay/temp/cult + name = "unholy glow" + icon_state = "wallglow" + layer = 2.01 + randomdir = 0 + duration = 10 + +/obj/effect/overlay/temp/cult/floor + icon_state = "floorglow" + duration = 5 + /obj/effect/overlay/temp/revenant name = "spooky lights" - icon = 'icons/effects/effects.dmi' icon_state = "purplesparkles" /obj/effect/overlay/temp/revenant/cracks @@ -44,7 +55,6 @@ /obj/effect/overlay/temp/emp name = "emp sparks" - icon = 'icons/effects/effects.dmi' icon_state = "empdisable" /obj/effect/overlay/temp/emp/pulse diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index fd7ee8d355b..c39d15e7249 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -169,7 +169,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3"," /turf/simulated/floor/narsie_act() if(prob(20)) - ChangeTurf(/turf/simulated/floor/plasteel/cult) + ChangeTurf(/turf/simulated/floor/engine/cult) /turf/simulated/floor/can_have_cabling() return !burnt & !broken & !lava diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 9ed49d5e41a..9e459931a41 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -124,6 +124,10 @@ name = "engraved floor" icon_state = "cult" +/turf/simulated/floor/engine/cult/New() + new/obj/effect/overlay/temp/cult/floor(src) + ..() + /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 85e46a81449..cf758a90994 100644 --- a/code/game/turfs/simulated/walls_misc.dm +++ b/code/game/turfs/simulated/walls_misc.dm @@ -7,6 +7,10 @@ builtin_sheet = null canSmoothWith = null +/turf/simulated/wall/cult/New() + new/obj/effect/overlay/temp/cult(src) + ..() + /turf/simulated/wall/cult/break_wall() new /obj/effect/decal/cleanable/blood(src) return (new /obj/structure/cultgirder(src)) diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 00068884b21..ab354044d90 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -27,7 +27,7 @@ /mob/living/simple_animal/construct/New() ..() for(var/spell in construct_spells) - mob_spell_list += new spell(src) + AddSpell(new spell(null)) /mob/living/simple_animal/construct/death() ..(1) @@ -165,10 +165,10 @@ speed = 0 environment_smash = 2 attack_sound = 'sound/weapons/punch2.ogg' - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser, - /obj/effect/proc_holder/spell/aoe_turf/conjure/wall, + construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall, /obj/effect/proc_holder/spell/aoe_turf/conjure/floor, /obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone, + /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser, /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser) playstyle_string = "You are an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, \ use magic missile, repair allied constructs (by clicking on them), \ diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index 6ae43874eec..6b0cd5f304f 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -24,7 +24,7 @@ /obj/singularity/narsie/large/New() ..() - world << "NAR-SIE HAS RISEN" + world << "NAR-SIE HAS RISEN" world << pick('sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg') var/area/A = get_area(src) @@ -75,7 +75,7 @@ for(var/mob/living/carbon/M in oviewers(8, src)) if(M.stat == CONSCIOUS) if(!iscultist(M)) - M << "You feel conscious thought crumble away in an instant as you gaze upon [src.name]..." + M << "You feel conscious thought crumble away in an instant as you gaze upon [src.name]..." M.apply_effect(3, STUN) @@ -122,12 +122,14 @@ /obj/singularity/narsie/proc/acquire(mob/food) - target << "NAR-SIE HAS LOST INTEREST IN YOU" + if(food == target) + return + target << "NAR-SIE HAS LOST INTEREST IN YOU" target = food - if(ishuman(target)) - target << "NAR-SIE HUNGERS FOR YOUR SOUL" + if(isliving(target)) + target << "NAR-SIE HUNGERS FOR YOUR SOUL" else - target << "NAR-SIE HAS CHOSEN YOU TO LEAD HIM TO HIS NEXT MEAL" + target << "NAR-SIE HAS CHOSEN YOU TO FIND A MEAL" //Wizard narsie /obj/singularity/narsie/wizard diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index e6fe509cbed..6706d7f6781 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/mob/actions.dmi b/icons/mob/actions.dmi index 0e0d8d125e5..b95549b5cc9 100644 Binary files a/icons/mob/actions.dmi and b/icons/mob/actions.dmi differ diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index fc01fde3aa2..fceaea75516 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -65,7 +65,9 @@ h1.alert, h2.alert {color: #000000;} .suicide {color: #ff5050; font-style: italic;} .green {color: #03ff39;} .shadowling {color: #3b2769;} +.cultsmall {color: #960000;} .cult {color: #960000; font-weight: bold; font-size: 3;} +.narsie {color: #960000; font-weight: bold; font-size: 15;} .purple {color: #5e2d79;} .revennotice {color: #1d2953;}