mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 10:33:30 +01:00
more things
This commit is contained in:
@@ -2,11 +2,14 @@
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser
|
||||
charge_max = 1800
|
||||
action_icon_state = "lesserconstruct"
|
||||
action_background_icon_state = "bg_cult"
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/floor
|
||||
name = "Floor Construction"
|
||||
desc = "This spell constructs a cult floor"
|
||||
|
||||
action_icon_state = "floorconstruct"
|
||||
action_background_icon_state = "bg_cult"
|
||||
school = "conjuration"
|
||||
charge_max = 20
|
||||
clothes_req = 0
|
||||
@@ -19,7 +22,8 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/wall
|
||||
name = "Lesser Construction"
|
||||
desc = "This spell constructs a cult wall"
|
||||
|
||||
action_icon_state = "lesserconstruct"
|
||||
action_background_icon_state = "bg_cult"
|
||||
school = "conjuration"
|
||||
charge_max = 100
|
||||
clothes_req = 0
|
||||
@@ -47,7 +51,8 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone
|
||||
name = "Summon Soulstone"
|
||||
desc = "This spell reaches into Nar-Sie's realm, summoning one of the legendary fragments across time and space"
|
||||
|
||||
action_icon_state = "summonsoulstone"
|
||||
action_background_icon_state = "bg_cult"
|
||||
school = "conjuration"
|
||||
charge_max = 3000
|
||||
clothes_req = 0
|
||||
@@ -60,7 +65,8 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/pylon
|
||||
name = "Cult Pylon"
|
||||
desc = "This spell conjures a fragile crystal from Nar-Sie's realm. Makes for a convenient light source."
|
||||
|
||||
action_icon_state = "summonsoulstone"
|
||||
action_background_icon_state = "bg_cult"
|
||||
school = "conjuration"
|
||||
charge_max = 200
|
||||
clothes_req = 0
|
||||
@@ -74,7 +80,8 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/lesserforcewall
|
||||
name = "Shield"
|
||||
desc = "This spell creates a temporary forcefield to shield yourself and allies from incoming fire"
|
||||
|
||||
action_icon_state = "cultforcewall"
|
||||
action_background_icon_state = "bg_cult"
|
||||
school = "transmutation"
|
||||
charge_max = 300
|
||||
clothes_req = 0
|
||||
@@ -94,7 +101,8 @@
|
||||
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift
|
||||
name = "Phase Shift"
|
||||
desc = "This spell allows you to pass through walls"
|
||||
|
||||
action_icon_state = "phaseshift"
|
||||
action_background_icon_state = "bg_cult"
|
||||
school = "transmutation"
|
||||
charge_max = 200
|
||||
clothes_req = 0
|
||||
@@ -110,7 +118,7 @@
|
||||
/obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser
|
||||
name = "Lesser Magic Missile"
|
||||
desc = "This spell fires several, slow moving, magic projectiles at nearby targets."
|
||||
|
||||
action_background_icon_state = "bg_cult"
|
||||
school = "evocation"
|
||||
charge_max = 400
|
||||
clothes_req = 0
|
||||
@@ -122,7 +130,8 @@
|
||||
/obj/effect/proc_holder/spell/targeted/smoke/disable
|
||||
name = "Paralysing Smoke"
|
||||
desc = "This spell spawns a cloud of paralysing smoke."
|
||||
|
||||
action_icon_state = "parasmoke"
|
||||
action_background_icon_state = "bg_cult"
|
||||
school = "conjuration"
|
||||
charge_max = 200
|
||||
clothes_req = 0
|
||||
|
||||
@@ -21,6 +21,12 @@ var/global/list/all_cults = list()
|
||||
var/mob/living/carbon/human/H = mind.current
|
||||
if(isloyal(H))
|
||||
return 0
|
||||
if(issilicon(mind.current))
|
||||
return 0 //can't convert machines, that's ratvar's thing
|
||||
if(isguardian(mind.current))
|
||||
var/mob/living/simple_animal/hostile/guardian/G = mind.current
|
||||
if(!iscultist(G.summoner))
|
||||
return 0 //can't convert it unless the owner is converted
|
||||
return 1
|
||||
|
||||
/proc/is_sacrifice_target(datum/mind/mind)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
w_class = 4
|
||||
force = 30
|
||||
throwforce = 10
|
||||
sharp = 1
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
|
||||
@@ -51,6 +52,7 @@
|
||||
name = "runed bola"
|
||||
desc = "A strong bola, bound with dark magic. Throw it to trip and slow your victim."
|
||||
icon_state = "bola_cult"
|
||||
item_state = "bola_cult"
|
||||
breakouttime = 45
|
||||
|
||||
/obj/item/clothing/head/culthood
|
||||
@@ -140,6 +142,8 @@
|
||||
/obj/item/weapon/whetstone/cult
|
||||
name = "eldritch whetstone"
|
||||
desc = "A block, empowered by dark magic. Sharp weapons will be enhanced when used on the stone."
|
||||
icon = 'icons/obj/cult.dmi'
|
||||
icon_state = "cultstone"
|
||||
used = 0
|
||||
increment = 5
|
||||
max = 40
|
||||
@@ -247,14 +251,14 @@
|
||||
if(uses <= 0)
|
||||
icon_state ="shifter_drained"
|
||||
playsound(mobloc, "sparks", 50, 1)
|
||||
new /obj/effect/overlay/temp/cult/phase/out(list(mobloc, C.dir))
|
||||
new /obj/effect/overlay/temp/cult/phase/out(mobloc)
|
||||
|
||||
var/atom/movable/pulled = handle_teleport_grab(destination, C)
|
||||
C.forceMove(destination)
|
||||
if(pulled)
|
||||
C.start_pulling(pulled) //forcemove resets pulls, so we need to re-pull
|
||||
|
||||
new /obj/effect/overlay/temp/cult/phase(list(destination, C.dir))
|
||||
new /obj/effect/overlay/temp/cult/phase(destination)
|
||||
playsound(destination, 'sound/effects/phasein.ogg', 25, 1)
|
||||
playsound(destination, "sparks", 50, 1)
|
||||
|
||||
|
||||
@@ -55,6 +55,18 @@
|
||||
..()
|
||||
if(iscultist(user) && 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>")
|
||||
to_chat(user, "<span class='notice'>\The [src] is [anchored ? "":"not "]secured to the floor.</span>")
|
||||
|
||||
/obj/structure/cult/attackby(obj/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/tome) && iscultist(user))
|
||||
anchored = !anchored
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor.</span>")
|
||||
if(!anchored)
|
||||
icon_state = "[initial(icon_state)]_off"
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/cult/proc/getETA()
|
||||
var/time = (cooldowntime - world.time)/600
|
||||
@@ -76,6 +88,9 @@
|
||||
if(!iscultist(user))
|
||||
to_chat(user, "<span class='warning'>You're pretty sure you know exactly what this is used for and you can't seem to touch it.</span>")
|
||||
return
|
||||
if(!anchored)
|
||||
to_chat(user, "<span class='cultitalic'>You need to anchor [src] to the floor with a tome first.</span>")
|
||||
return
|
||||
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
|
||||
@@ -125,6 +140,9 @@
|
||||
if(!iscultist(user))
|
||||
to_chat(user, "<span class='warning'>The heat radiating from [src] pushes you back.</span>")
|
||||
return
|
||||
if(!anchored)
|
||||
to_chat(user, "<span class='cultitalic'>You need to anchor [src] to the floor with a tome first.</span>")
|
||||
return
|
||||
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
|
||||
@@ -152,20 +170,16 @@
|
||||
icon_state = "pylon"
|
||||
light_range = 5
|
||||
light_color = "#3e0000"
|
||||
var/heal_delay = 50
|
||||
var/last_shot = 0
|
||||
var/list/corruption = list()
|
||||
health = 50 //Very fragile
|
||||
death_message = "<span class='warning'>The pylon's crystal vibrates and glows fiercely before violently shattering!</span>"
|
||||
death_sound = 'sound/effects/pylon_shatter.ogg'
|
||||
var/heal_delay = 25
|
||||
var/last_heal = 0
|
||||
var/corrupt_delay = 50
|
||||
var/last_corrupt = 0
|
||||
|
||||
/obj/structure/cult/cultpylon/New()
|
||||
processing_objects |= src
|
||||
corruption += get_turf(src)
|
||||
for(var/i in 1 to 5)
|
||||
for(var/t in corruption)
|
||||
var/turf/T = t
|
||||
corruption |= T.GetAtmosAdjacentTurfs()
|
||||
..()
|
||||
|
||||
/obj/structure/cult/cultpylon/Destroy()
|
||||
@@ -173,25 +187,35 @@
|
||||
return ..()
|
||||
|
||||
/obj/structure/cult/cultpylon/process()
|
||||
if((last_shot + heal_delay) <= world.time)
|
||||
last_shot = world.time
|
||||
if(!anchored)
|
||||
return
|
||||
if(last_heal <= world.time)
|
||||
last_heal = world.time + heal_delay
|
||||
for(var/mob/living/L in range(5, src))
|
||||
if(iscultist(L))
|
||||
var/mob/living/carbon/human/H = L
|
||||
if(istype(H))
|
||||
L.adjustBruteLoss(-1, 0)
|
||||
L.adjustFireLoss(-1, 0)
|
||||
L.updatehealth()
|
||||
if(istype(L, /mob/living/simple_animal/shade) || istype(L, /mob/living/simple_animal/hostile/construct))
|
||||
var/mob/living/simple_animal/M = L
|
||||
if(M.health < M.maxHealth)
|
||||
M.adjustBruteLoss(-2)//WAS adjust health...runtimes..
|
||||
if(corruption.len)
|
||||
var/turf/T = pick_n_take(corruption)
|
||||
corruption -= T
|
||||
if(istype(T, /turf/simulated/floor/engine/cult) || istype(T, /turf/space))
|
||||
return
|
||||
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")
|
||||
if(ishuman(L))
|
||||
L.adjustBruteLoss(-1, 0)
|
||||
L.adjustFireLoss(-1, 0)
|
||||
L.updatehealth()
|
||||
if(istype(L, /mob/living/simple_animal/shade) || istype(L, /mob/living/simple_animal/hostile/construct))
|
||||
var/mob/living/simple_animal/M = L
|
||||
if(M.health < M.maxHealth)
|
||||
M.adjustHealth(-1)
|
||||
//CHECK_TICK
|
||||
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))
|
||||
continue
|
||||
validturfs |= T
|
||||
var/turf/T = safepick(validturfs)
|
||||
if(T)
|
||||
T.ChangeTurf(/turf/simulated/floor/engine/cult)
|
||||
last_corrupt = world.time + corrupt_delay
|
||||
else
|
||||
last_corrupt = world.time + corrupt_delay*2
|
||||
|
||||
|
||||
/obj/structure/cult/culttome
|
||||
@@ -206,6 +230,9 @@
|
||||
if(!iscultist(user))
|
||||
to_chat(user, "<span class='warning'>All of these books seem to be gibberish.</span>")
|
||||
return
|
||||
if(!anchored)
|
||||
to_chat(user, "<span class='cultitalic'>You need to anchor [src] to the floor with a tome first.</span>")
|
||||
return
|
||||
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
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
var/scribereduct = 0
|
||||
var/canbypass = 0 //ADMINBUS
|
||||
|
||||
/obj/item/weapon/tome/accursed
|
||||
name = "accursed tome"
|
||||
@@ -30,6 +31,7 @@
|
||||
name = "imbued arcane tome"
|
||||
desc = "An arcane tome granted by the Geometer itself."
|
||||
scribereduct = 50
|
||||
canbypass = 1
|
||||
|
||||
/obj/item/weapon/tome/examine(mob/user)
|
||||
..()
|
||||
@@ -219,23 +221,39 @@
|
||||
return
|
||||
if(!Adjacent(user) || !src || qdeleted(src) || user.incapacitated())
|
||||
return
|
||||
if(ispath(rune_to_scribe, /obj/effect/rune/narsie))//may need to change this - Fethas
|
||||
var/confirm_final = alert(usr, "This is the FINAL step to summon [ticker.mode.cultdat.entity_name], 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 [ticker.mode.cultdat.entity_name]!", "No")
|
||||
if(confirm_final == "No")
|
||||
to_chat(usr, "On second thought, we should prepare further for the final battle...")
|
||||
return
|
||||
command_announcement.Announce("Figments from an eldritch god are being summoned somwhere on the station from an unknown dimension. Disrupt the ritual at all costs!","Central Command Higher Dimensionsal Affairs", 'sound/AI/spanomalies.ogg')
|
||||
for(var/B in spiral_range_turfs(1, user, 1))
|
||||
var/turf/T = B
|
||||
var/obj/machinery/shield/N = new(T)
|
||||
N.name = "Rune-Scriber's Shield"
|
||||
N.desc = "A potent shield summoned by cultists to protect them while they prepare the final ritual"
|
||||
N.icon_state = "shield-red"
|
||||
N.health = 60
|
||||
shields |= N
|
||||
user.visible_message("<span class='warning'>[user] cuts open their arm and begins writing in their own blood!</span>", \
|
||||
"<span class='cult'>You slice open your arm and begin drawing a sigil of [ticker.mode.cultdat.entity_title3].</span>")
|
||||
user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE, pick("l_arm", "r_arm"))
|
||||
if(ispath(rune_to_scribe, /obj/effect/rune/narsie) || ispath(rune_to_scribe, /obj/effect/rune/slaughter))//may need to change this - Fethas
|
||||
|
||||
if(ticker.mode.name == "cult")
|
||||
var/datum/game_mode/cult/cult_mode = ticker.mode
|
||||
if(!("eldergod" 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)
|
||||
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)
|
||||
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)
|
||||
to_chat(user, "<span class='cultlarge'>\"We am 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")
|
||||
if(confirm_final == "No")
|
||||
user << "<span class='cult'>You decide to prepare further before scribing the rune.</span>"
|
||||
return
|
||||
command_announcement.Announce("Figments from an eldritch god are being summoned somwhere on the station from an unknown dimension. Disrupt the ritual at all costs!","Central Command Higher Dimensionsal Affairs", 'sound/AI/spanomalies.ogg')
|
||||
for(var/B in spiral_range_turfs(1, user, 1))
|
||||
var/turf/T = B
|
||||
var/obj/machinery/shield/N = new(T)
|
||||
N.name = "Rune-Scriber's Shield"
|
||||
N.desc = "A potent shield summoned by cultists to protect them while they prepare the final ritual"
|
||||
N.icon_state = "shield-red"
|
||||
N.health = 60
|
||||
shields |= N
|
||||
var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot")
|
||||
user.visible_message("<span class='warning'>[user] cuts open their [dam_zone] and begins writing in their own blood!</span>", \
|
||||
"<span class='cult'>You slice open your [dam_zone] and begin drawing a sigil of [ticker.mode.cultdat.entity_title3].</span>")
|
||||
user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE, dam_zone)
|
||||
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
|
||||
@@ -251,8 +269,9 @@
|
||||
var/obj/machinery/shield/S = V
|
||||
if(S && !qdeleted(S))
|
||||
qdel(S)
|
||||
new rune_to_scribe(Turf, chosen_keyword)
|
||||
rune_to_scribe.blood_DNA = list()
|
||||
rune_to_scribe.blood_DNA[user.dna.unique_enzymes] = user.dna.b_type
|
||||
rune_to_scribe.add_hiddenprint(user)
|
||||
var/obj/effect/rune/R = new rune_to_scribe(Turf, chosen_keyword)
|
||||
var/mob/living/carbon/human/H = user
|
||||
R.blood_DNA = list()
|
||||
R.blood_DNA[H.dna.unique_enzymes] = H.dna.b_type
|
||||
R.add_hiddenprint(H)
|
||||
to_chat(user, "<span class='cult'>The [lowertext(initial(rune_to_scribe.cultist_name))] rune [initial(rune_to_scribe.cultist_desc)]</span>")
|
||||
|
||||
@@ -463,19 +463,7 @@ var/list/teleport_runes = list()
|
||||
var/mob/living/user = invokers[1]
|
||||
if(ticker.mode.name == "cult")
|
||||
var/datum/game_mode/cult/cult_mode = ticker.mode
|
||||
if(!("eldergod" in cult_mode.objectives))
|
||||
message_admins("[user.real_name]([user.ckey]) tried to summon Nar-Sie when the objective was wrong")
|
||||
for(var/M in invokers)
|
||||
var/mob/living/L = M
|
||||
to_chat(L, "<span class='cultlarge'><i>\"YOUR SOUL BURNS WITH YOUR ARROGANCE!!!\"</i></span>")
|
||||
if(L.reagents)
|
||||
L.reagents.add_reagent("hell_water", 10)
|
||||
L.Weaken(7)
|
||||
L.Stun(7)
|
||||
fail_invoke()
|
||||
log_game("Summon Nar-Sie rune failed - improper objective")
|
||||
return
|
||||
else if(user.z != ZLEVEL_STATION)
|
||||
if(user.z != ZLEVEL_STATION)
|
||||
message_admins("[user.real_name]([user.ckey]) tried to summon Nar-Sie off station")
|
||||
for(var/M in invokers)
|
||||
var/mob/living/L = M
|
||||
@@ -528,6 +516,7 @@ var/list/teleport_runes = list()
|
||||
req_cultists = 9
|
||||
color = rgb(125,23,23)
|
||||
scribe_delay = 450
|
||||
scribe_damage = 40.1 //how much damage you take doing it
|
||||
icon = 'icons/effects/96x96.dmi'
|
||||
icon_state = "rune_large"
|
||||
pixel_x = -32
|
||||
@@ -572,7 +561,7 @@ var/list/teleport_runes = list()
|
||||
fail_invoke()
|
||||
log_game("Summon Demons rune failed - improper objective")
|
||||
return
|
||||
else if(user.z != ZLEVEL_STATION)
|
||||
if(user.z != ZLEVEL_STATION)
|
||||
message_admins("[user.real_name]([user.ckey]) tried to summon demons off station")
|
||||
for(var/M in invokers)
|
||||
var/mob/living/L = M
|
||||
@@ -626,7 +615,7 @@ var/list/teleport_runes = list()
|
||||
if(rune_in_use)
|
||||
return
|
||||
for(var/mob/living/M in orange(1,src))
|
||||
if(M.stat == DEAD)
|
||||
if(M.stat == DEAD && !iscultist(M))
|
||||
potential_sacrifice_mobs.Add(M)
|
||||
if(!potential_sacrifice_mobs.len)
|
||||
to_chat(user, "<span class='cultitalic'>There are no eligible sacrifices nearby!</span>")
|
||||
@@ -829,7 +818,7 @@ var/list/teleport_runes = list()
|
||||
var/mob/living/user = invokers[1]
|
||||
var/list/cultists = list()
|
||||
for(var/datum/mind/M in ticker.mode.cult)
|
||||
if(!(M.current in invokers))
|
||||
if(!(M.current in invokers) && M.current.stat != DEAD)
|
||||
cultists |= M.current
|
||||
var/mob/living/cultist_to_summon = input(user, "Who do you wish to call to [src]?", "Followers of [ticker.mode.cultdat.entity_title3]") as null|anything in cultists
|
||||
if(!Adjacent(user) || !src || qdeleted(src) || user.incapacitated())
|
||||
@@ -867,8 +856,9 @@ var/list/teleport_runes = list()
|
||||
|
||||
/obj/effect/rune/blood_boil/invoke(var/list/invokers)
|
||||
..()
|
||||
var/turf/T = get_turf(src)
|
||||
visible_message("<span class='warning'>[src] briefly bubbles before exploding!</span>")
|
||||
for(var/mob/living/carbon/C in viewers(src))
|
||||
for(var/mob/living/carbon/C in viewers(T))
|
||||
if(!iscultist(C))
|
||||
var/obj/item/weapon/nullrod/N = C.null_rod_check()
|
||||
if(N)
|
||||
@@ -881,8 +871,8 @@ var/list/teleport_runes = list()
|
||||
var/mob/living/L = M
|
||||
L.apply_damage(15, BRUTE, pick("l_arm", "r_arm"))
|
||||
to_chat(L,"<span class='cultitalic'>[src] saps your strength!</span>")
|
||||
explosion(get_turf(src), -1, 0, 1, 5)
|
||||
qdel(src)
|
||||
explosion(T, -1, 0, 1, 5)
|
||||
|
||||
|
||||
//Rite of Spectral Manifestation: Summons a ghost on top of the rune as a cultist human with no items. User must stand on the rune at all times, and takes damage for each summoned ghost.
|
||||
|
||||
@@ -299,7 +299,7 @@
|
||||
//Talisman of Fabrication: Creates a construct shell out of 25 metal sheets.
|
||||
/obj/item/weapon/paper/talisman/construction
|
||||
cultist_name = "Talisman of Construction"
|
||||
cultist_desc = "Use this talisman on at least twenty-five metal sheets to create an empty construct shell"
|
||||
cultist_desc = "Use this talisman on at least twenty-five metal sheets to create an empty construct shell or on plasteel to make runed metal"
|
||||
invocation = "Ethra p'ni dedol!"
|
||||
|
||||
/obj/item/weapon/paper/talisman/construction/attack_self(mob/living/user)
|
||||
|
||||
@@ -115,6 +115,18 @@
|
||||
/obj/effect/overlay/temp/cult/phase/out
|
||||
icon_state = "cultout"
|
||||
|
||||
/obj/effect/overlay/temp/heal //color is white by default, set to whatever is needed
|
||||
name = "healing glow"
|
||||
icon_state = "heal"
|
||||
duration = 15
|
||||
|
||||
/obj/effect/overlay/temp/heal/New(loc, colour)
|
||||
..()
|
||||
pixel_x = rand(-12, 12)
|
||||
pixel_y = rand(-9, 0)
|
||||
if(colour)
|
||||
color = colour
|
||||
|
||||
/obj/effect/overlay/temp/cult/sac
|
||||
name = "maw of Nar-Sie"
|
||||
icon_state = "sacconsume"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 344 KiB After Width: | Height: | Size: 369 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Reference in New Issue
Block a user