This commit is contained in:
Aurorablade
2016-06-09 23:44:14 -04:00
parent bad9d6457e
commit 7e37891e7f
8 changed files with 42 additions and 23 deletions
+6 -5
View File
@@ -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"
+1 -1
View File
@@ -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
+5 -3
View File
@@ -143,7 +143,7 @@
if(cooldowntime > world.time)
to_chat(user, "<span class='cultitalic'>The magic in [src] is weak, it will be ready to use again in [getETA()].</span>")
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)
+7 -7
View File
@@ -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, "<span class='warning'>[cult_mode.cultdat.entity_name]'s power does not wish to be unleashed!</span>")
return
else if(!cult_mode.narsie_condition_cleared)
if(!cult_mode.narsie_condition_cleared)
to_chat(user, "<span class='warning'>There is still more to do before unleashing [cult_mode.cultdat.entity_name] power!</span>")
return
else if(!cult_mode.eldergod)
if(!cult_mode.eldergod)
to_chat(user, "<span class='cultlarge'>\"I am already here. There is no need to try to summon me now.\"</span>")
return
else if(cult_mode.demons_summoned)
if(cult_mode.demons_summoned)
to_chat(user, "<span class='cultlarge'>\"We are already here. There is no need to try to summon us now.\"</span>")
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("<span class='warning'>[user] cuts open their [affecting] and begins writing in their own blood!</span>", "<span class='cult'>You slice open your [affecting] and begin drawing a sigil of [ticker.mode.cultdat.entity_title3].</span>")
user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE, affecting)
user.visible_message("<span class='warning'>[user] cuts open their /the [affecting] and begins writing in their own blood!</span>", "<span class='cult'>You slice open your [affecting] and begin drawing a sigil of [ticker.mode.cultdat.entity_title3].</span>")
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
+15 -5
View File
@@ -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, "<span class='warning'>You are unable to invoke the rune!</span>")
/obj/effect/rune/proc/talismanhide() //for talisman of revealing/hiding
visible_message("<span class='danger'>[src] fades away.</span>")
invisibility = INVISIBILITY_OBSERVER
@@ -95,6 +104,7 @@ To draw a rune, use an arcane tome.
visible_message("<span class='danger'>[src] takes on a waxy apperance!</span>")
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("<span class='warning'>The markings pulse with a small flash of red light, then fall dark.</span>")
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)
+1
View File
@@ -2,6 +2,7 @@
var/cultist_name = "talisman"
var/cultist_desc = "A basic talisman. It serves no purpose."
var/invocation = "Naise meam!"
info = "<center><img src='talisman.png'></center><br/><br/>"
var/uses = 1
var/health_cost = 0 //The amount of health taken from the user when invoking the talisman
+4 -2
View File
@@ -154,9 +154,11 @@
/proc/setupcult()
var/random_cult = pick(all_cults)
var/picked_cult = new random_cult() //this seems redundent as fuck
log_startup_progress("Summoning eldritch horrors...")
if(!picked_cult)//shouldn't happen BUT JUST TO BE SURE LET US KNOW
to_chat(world, "<span class='danger'>Failed to select a cult datum, Shank a coder.</span>")
log_startup_progress(" Failed to select a cult datum, Shank a coder!")
else
log_startup_progress(" Crab'sie has risen!")
//todo:add adminonly datum var, check for said var here...
return picked_cult
+3
View File
@@ -333,6 +333,9 @@
if(confused)
confused = max(0, confused - 1)
if(cultslurring)
cultslurring = max(cultslurring-1, 0)
//Jitteryness
if(jitteriness)
do_jitter_animation(jitteriness)