mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 22:17:32 +01:00
shadow demon / rev in spellbook (#20149)
* shadow demon / rev in spellbook * tests code, icons * Apply suggestions from code review Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> --------- Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
co-authored by
S34N
Ryan
parent
a5250adea4
commit
3963f9b070
@@ -196,24 +196,27 @@
|
||||
|
||||
/obj/item/antag_spawner/slaughter_demon/spawn_antag(client/C, turf/T, type = "", mob/user)
|
||||
var/obj/effect/dummy/slaughter/holder = new /obj/effect/dummy/slaughter(T)
|
||||
var/mob/living/simple_animal/demon/slaughter/S = new demon_type(holder)
|
||||
S.vialspawned = TRUE
|
||||
S.key = C.key
|
||||
S.mind.assigned_role = S.name
|
||||
S.mind.special_role = S.name
|
||||
SSticker.mode.traitors += S.mind
|
||||
var/mob/living/simple_animal/demon/D = new demon_type(holder)
|
||||
if(istype(D, /mob/living/simple_animal/demon/slaughter))
|
||||
var/mob/living/simple_animal/demon/slaughter/S = D
|
||||
S.vialspawned = TRUE
|
||||
|
||||
D.key = C.key
|
||||
D.mind.assigned_role = D.name
|
||||
D.mind.special_role = D.name
|
||||
SSticker.mode.traitors += D.mind
|
||||
var/datum/objective/assassinate/KillDaWiz = new /datum/objective/assassinate
|
||||
KillDaWiz.owner = S.mind
|
||||
KillDaWiz.owner = D.mind
|
||||
KillDaWiz.target = user.mind
|
||||
KillDaWiz.explanation_text = "[objective_verb] [user.real_name], the one who was foolish enough to summon you."
|
||||
S.mind.objectives += KillDaWiz
|
||||
D.mind.objectives += KillDaWiz
|
||||
var/datum/objective/KillDaCrew = new /datum/objective
|
||||
KillDaCrew.owner = S.mind
|
||||
KillDaCrew.owner = D.mind
|
||||
KillDaCrew.explanation_text = "[objective_verb] everyone else while you're at it."
|
||||
KillDaCrew.completed = TRUE
|
||||
S.mind.objectives += KillDaCrew
|
||||
to_chat(S, "<B>Objective #[1]</B>: [KillDaWiz.explanation_text]")
|
||||
to_chat(S, "<B>Objective #[2]</B>: [KillDaCrew.explanation_text]")
|
||||
D.mind.objectives += KillDaCrew
|
||||
to_chat(D, "<b>Objective #[1]</b>: [KillDaWiz.explanation_text]")
|
||||
to_chat(D, "<b>Objective #[2]</b>: [KillDaCrew.explanation_text]")
|
||||
|
||||
/obj/item/antag_spawner/slaughter_demon/laughter
|
||||
name = "vial of tickles"
|
||||
@@ -227,6 +230,18 @@
|
||||
objective_verb = "Hug and tickle"
|
||||
demon_type = /mob/living/simple_animal/demon/slaughter/laughter
|
||||
|
||||
/obj/item/antag_spawner/slaughter_demon/shadow
|
||||
name = "vial of shadow"
|
||||
desc = "A magically infused bottle of pure darkness, distilled from \
|
||||
ground up shadowling bones. Used in dark rituals to attract \
|
||||
dark creatures."
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
icon_state = "vialshadows"
|
||||
veil_msg = "<span class='warning'>You sense a dark presence \
|
||||
lurking in the shadows...</span>"
|
||||
objective_verb = "Kill"
|
||||
demon_type = /mob/living/simple_animal/demon/shadow
|
||||
|
||||
///////////MORPH
|
||||
|
||||
/obj/item/antag_spawner/morph
|
||||
@@ -281,3 +296,58 @@
|
||||
M.mind.objectives += KillDaCrew
|
||||
to_chat(M, "<B>Objective #[1]</B>: [KillDaWiz.explanation_text]")
|
||||
to_chat(M, "<B>Objective #[2]</B>: [KillDaCrew.explanation_text]")
|
||||
|
||||
///////////Revenant
|
||||
|
||||
/obj/item/antag_spawner/revenant
|
||||
name = "vial of ectoplasm"
|
||||
desc = "A magically infused bottle of ectoplasm, effectivly pure salt from the spectral realm."
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
icon_state = "vialectoplasm"
|
||||
var/shatter_msg = "<span class='notice'>You shatter the bottle, no \
|
||||
turning back now!</span>"
|
||||
var/veil_msg = "<span class='warning'>The ectoplasm is awake and seeps \
|
||||
away...</span>"
|
||||
var/objective_verb = "Harvest"
|
||||
var/mob/living/revenant = /mob/living/simple_animal/revenant
|
||||
|
||||
/obj/item/antag_spawner/revenant/attack_self(mob/user)
|
||||
if(level_blocks_magic(user.z)) //this is to make sure the wizard does NOT summon a revenant from the Den..
|
||||
to_chat(user, "<span class='notice'>You should probably wait until you reach the station.</span>")
|
||||
return
|
||||
|
||||
if(used)
|
||||
to_chat(user, "<span class='notice'>This bottle already has a broken seal.</span>")
|
||||
return
|
||||
used = TRUE
|
||||
to_chat(user, "<span class='notice'>You break the seal on the bottle, calling upon the salty specter to awaken...</span>")
|
||||
|
||||
var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a revenant awakened by [user.real_name]?", ROLE_REVENANT, 1, 10 SECONDS, source = revenant)
|
||||
|
||||
if(!length(candidates))
|
||||
used = FALSE
|
||||
to_chat(user, "<span class='notice'>The ectoplasm does not respond to your attempt to awake it. Perhaps you should try again later.</span>")
|
||||
return
|
||||
|
||||
var/mob/C = pick(candidates)
|
||||
spawn_antag(C, get_turf(src), initial(revenant.name), user)
|
||||
to_chat(user, "[shatter_msg]")
|
||||
to_chat(user, "[veil_msg]")
|
||||
playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, TRUE)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/antag_spawner/revenant/spawn_antag(client/C, turf/T, type = "", mob/user)
|
||||
var/mob/living/simple_animal/revenant/M = new /mob/living/simple_animal/revenant(pick(GLOB.xeno_spawn))
|
||||
M.key = C.key
|
||||
var/datum/objective/assassinate/KillDaWiz = new /datum/objective/assassinate
|
||||
KillDaWiz.owner = M.mind
|
||||
KillDaWiz.target = user.mind
|
||||
KillDaWiz.explanation_text = "[objective_verb] [user.real_name], the one who was foolish enough to awake you."
|
||||
M.mind.objectives += KillDaWiz
|
||||
var/datum/objective/KillDaCrew = new /datum/objective
|
||||
KillDaCrew.owner = M.mind
|
||||
KillDaCrew.explanation_text = "[objective_verb] everyone and everything else while you're at it."
|
||||
KillDaCrew.completed = TRUE
|
||||
M.mind.objectives += KillDaCrew
|
||||
to_chat(M, "<b>Objective #[1]</b>: [KillDaWiz.explanation_text]")
|
||||
to_chat(M, "<b>Objective #[2]</b>: [KillDaCrew.explanation_text]")
|
||||
|
||||
Reference in New Issue
Block a user