diff --git a/code/game/gamemodes/cult/cult_datums.dm b/code/game/gamemodes/cult/cult_datums.dm index 1fe3f3bd9a3..4273ddd9145 100644 --- a/code/game/gamemodes/cult/cult_datums.dm +++ b/code/game/gamemodes/cult/cult_datums.dm @@ -2,7 +2,7 @@ /datum/cult_info var/name = "Cult of Nar'Sie" var/theme = "blood" - var/dam_type = "BRUTE" + var/dam_type = BRUTE //God Entity var/entity_name = "Nar'Sie" @@ -29,7 +29,7 @@ //Armored Construct var/juggernaut_name = "Juggernaut" - var/juggernaut_icon_state = "armour" + var/juggernaut_icon_state = "behemoth" var/juggernaut_dead_state = "shade_dead" //Harvester Construct @@ -49,7 +49,7 @@ /datum/cult_info/fire name = "Cult of Pyr'Kaeus" theme = "fire" - dam_type = "BURN" + dam_type = BURN entity_name = "Pyr'Kaeus" entity_title1 = "The Burning One" @@ -77,15 +77,16 @@ entity_title2 = "The One Who Beckons" entity_title3 = "The Ferryman of Oblivion" - entity_icon_state = "legion" //dmi path, mob/lavaland - artificer_name = "Boneshaper" behemoth_name = "Draugr" + behemoth_icon_state = "horror" wraith_name = "Wraith" + wraith_icon_state = "stand" juggernaut_name = "Wight" + juggernaut_icon_state = "horror" harvester_name = "Psychopomp" diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 8e328c8f9cd..f65282e6b90 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -45,7 +45,7 @@ ..() if(ishuman(target)) var/mob/living/carbon/human/H = target - H.drip(5000) + H.drip(500) /obj/item/weapon/legcuffs/bolas/cult diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 5373a883ab7..a89b5f4a907 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -143,7 +143,7 @@ if(cooldowntime > world.time) to_chat(user, "The magic in [src] is weak, it will be ready to use again in [getETA()].") return - var/choice = alert(user,"You study the schematics etched into the forge...",, "Flagellant's Robe","Cultist Hardsuit") + var/choice = alert(user,"You study the schematics etched into the forge...",, "Flagellant's Robe","Cultist Hardsuit", "Cultist Dagger") var/pickedtype var/otheritem //ie:helmet.. switch(choice) @@ -153,6 +153,8 @@ if("Cultist Hardsuit") pickedtype = /obj/item/clothing/suit/space/cult otheritem = /obj/item/clothing/head/helmet/space/cult + if("Cultist Dagger") + pickedtype = /obj/item/weapon/melee/cultblade/dagger if(pickedtype && Adjacent(user) && src && !qdeleted(src) && !user.incapacitated() && cooldowntime <= world.time) cooldowntime = world.time + 2400 var/obj/item/N = new pickedtype(get_turf(src)) @@ -191,7 +193,7 @@ for(var/mob/living/L in range(5, src)) if(iscultist(L) || istype(L, /mob/living/simple_animal/shade) || istype(L, /mob/living/simple_animal/hostile/construct)) if(L.health != L.maxHealth) - new /obj/effect/overlay/temp/heal(get_turf(src), "#960000") + new /obj/effect/overlay/temp/heal(get_turf(src), "#960000")//not working if(ishuman(L)) L.adjustBruteLoss(-1, 0) L.adjustFireLoss(-1, 0) @@ -204,7 +206,7 @@ if(last_corrupt <= world.time) var/list/validturfs = list() for(var/T in circleviewturfs(src, 5)) - if(istype(T, /turf/simulated/floor/engine/cult) || istype(T, /turf/space) || istype(T, /turf/simulated/wall)) + if(istype(T, /turf/simulated/floor/engine/cult) || istype(T, /turf/space) || istype(T, /turf/simulated/wall) || istype(T, /turf/simulated/shuttle)) continue validturfs |= T var/turf/T = safepick(validturfs) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index a9d9eb34933..170ecd3a4d2 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -223,19 +223,19 @@ return if(ispath(rune_to_scribe, /obj/effect/rune/narsie) || ispath(rune_to_scribe, /obj/effect/rune/slaughter))//may need to change this - Fethas - if(istype(ticker.mode.name, "cult")) - if(!canbypass)//not an admin-tome, check things + if(ticker.mode.name == "cult") + if(!canbypass == 1)//not an admin-tome, check things var/datum/game_mode/cult/cult_mode = ticker.mode if(!("eldergod" in cult_mode.objectives) || !("slughter" in cult_mode.objectives)) to_chat(user, "[cult_mode.cultdat.entity_name]'s power does not wish to be unleashed!") return - else if(!cult_mode.narsie_condition_cleared) + if(!cult_mode.narsie_condition_cleared) to_chat(user, "There is still more to do before unleashing [cult_mode.cultdat.entity_name] power!") return - else if(!cult_mode.eldergod) + if(!cult_mode.eldergod) to_chat(user, "\"I am already here. There is no need to try to summon me now.\"") return - else if(cult_mode.demons_summoned) + if(cult_mode.demons_summoned) to_chat(user, "\"We are already here. There is no need to try to summon us now.\"") return var/confirm_final = alert(user, "This is the FINAL step to summon Nar-Sie, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for Nar-Sie!", "No") @@ -254,8 +254,8 @@ var/mob/living/carbon/human/H = user var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") var/obj/item/organ/external/affecting = H.get_organ(ran_zone(dam_zone)) - user.visible_message("[user] cuts open their [affecting] and begins writing in their own blood!", "You slice open your [affecting] and begin drawing a sigil of [ticker.mode.cultdat.entity_title3].") - user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE, affecting) + user.visible_message("[user] cuts open their /the [affecting] and begins writing in their own blood!", "You slice open your [affecting] and begin drawing a sigil of [ticker.mode.cultdat.entity_title3].") + user.apply_damage(initial(rune_to_scribe.scribe_damage), ticker.mode.cultdat.dam_type, affecting) if(!do_after(user, initial(rune_to_scribe.scribe_delay)-scribereduct, target = get_turf(user))) for(var/V in shields) var/obj/machinery/shield/S = V diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 37f1ecc2763..df8fb734d1b 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -31,6 +31,7 @@ To draw a rune, use an arcane tome. var/scribe_damage = 0.1 //how much damage you take doing it var/allow_excess_invokers = 0 //if we allow excess invokers when being invoked + var/construct_invoke = 1 //if constructs can invoke it var/req_keyword = 0 //If the rune requires a keyword - go figure amirite var/keyword //The actual keyword for the rune @@ -80,6 +81,14 @@ To draw a rune, use an arcane tome. else fail_invoke(user) + +/obj/effect/rune/attack_animal(mob/living/simple_animal/M) + if(istype(M, /mob/living/simple_animal/shade) || istype(M, /mob/living/simple_animal/hostile/construct)) + if(construct_invoke || !iscultist(M)) //if you're not a cult construct we want the normal fail message + attack_hand(M) + else + to_chat(M, "You are unable to invoke the rune!") + /obj/effect/rune/proc/talismanhide() //for talisman of revealing/hiding visible_message("[src] fades away.") invisibility = INVISIBILITY_OBSERVER @@ -95,6 +104,7 @@ To draw a rune, use an arcane tome. visible_message("[src] takes on a waxy apperance!") icon = 'icons/effects/crayondecal.dmi' icon_state = "rune[runenum]" + color = rgb(255, 0, 0) /* There are a few different procs each rune runs through when a cultist activates it. @@ -138,11 +148,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(invocation) for(var/M in invokers) var/mob/living/L = M - if(!L.IsVocal())//MIMES - //do emote here... - L.emote("acts out the rune invocation.")//it will looks like flailing... - else - L.say(invocation) + L.say(invocation) var/oldtransform = transform spawn(0) //animate is a delay, we want to avoid being delayed animate(transform = matrix()*2, alpha = 0, time = 5) //fade out @@ -153,6 +159,7 @@ structure_check() searches for nearby cultist structures required for the invoca visible_message("The markings pulse with a small flash of red light, then fall dark.") spawn(0) //animate is a delay, we want to avoid being delayed animate(src, color = rgb(255, 0, 0), time = 0) + animate(src, color = initial(color), time = 5) //Malformed Rune: This forms if a rune is not drawn correctly. Invoking it does nothing but hurt the user. /obj/effect/rune/malformed @@ -718,6 +725,7 @@ var/list/teleport_runes = list() invocation = "Fwe'sh mah erl nyag r'ya!" icon_state = "6" rune_in_use = 0 //One at a time, please! + construct_invoke = 0 var/mob/living/affecting = null /obj/effect/rune/astral/examine(mob/user) @@ -853,6 +861,7 @@ var/list/teleport_runes = list() cultist_desc = "boils the blood of non-believers who can see the rune, dealing extreme amounts of damage. Requires 3 invokers." invocation = "Dedo ol'btoh!" icon_state = "4" + construct_invoke = 0 req_cultists = 3 /obj/effect/rune/blood_boil/invoke(var/list/invokers) @@ -882,6 +891,7 @@ var/list/teleport_runes = list() cultist_desc = "manifests a spirit as a servant of your god. The invoker must not move from atop the rune, and will take damage for each summoned spirit." invocation = "Gal'h'rfikk harfrandid mud'gib!" //how the fuck do you pronounce this icon_state = "6" + construct_invoke = 0 color = rgb(200, 0, 0) /obj/effect/rune/manifest/New(loc) diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index 3de9e91eeb8..76e107ec272 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -2,6 +2,7 @@ var/cultist_name = "talisman" var/cultist_desc = "A basic talisman. It serves no purpose." var/invocation = "Naise meam!" + info = "
