mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-31 07:57:47 +01:00
tarot card improvements / fixes (#25672)
* tarot card improvements / fixes * Update code/game/gamemodes/wizard/magic_tarot.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com> --------- Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
This commit is contained in:
@@ -69,6 +69,9 @@
|
||||
|
||||
summon_type = list(/obj/item/soulstone/anybody/purified)
|
||||
|
||||
/datum/spell/aoe/conjure/build/soulstone/any
|
||||
summon_type = list(/obj/item/soulstone/anybody)
|
||||
|
||||
/datum/spell/aoe/conjure/build/pylon
|
||||
name = "Cult Pylon"
|
||||
desc = "This spell uses dark magic to craft an unholy beacon. Heals cultists, and makes a handy light source."
|
||||
|
||||
@@ -173,9 +173,13 @@
|
||||
. += "<span class='hierophant'>Alt-Shift-Click to flip the card over.</span>"
|
||||
|
||||
/obj/item/magic_tarot_card/attack_self(mob/user)
|
||||
if(our_tarot)
|
||||
INVOKE_ASYNC(our_tarot, TYPE_PROC_REF(/datum/tarot, activate), user)
|
||||
poof()
|
||||
if(face_down)
|
||||
flip()
|
||||
if(our_tarot)
|
||||
pre_activate(user)
|
||||
return
|
||||
qdel(src)
|
||||
|
||||
/obj/item/magic_tarot_card/throw_at(atom/target, range, speed, mob/thrower, spin, diagonals_first, datum/callback/callback, force, dodgeable)
|
||||
if(face_down)
|
||||
@@ -184,9 +188,11 @@
|
||||
|
||||
/obj/item/magic_tarot_card/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
|
||||
. = ..()
|
||||
if(isliving(hit_atom) && our_tarot)
|
||||
INVOKE_ASYNC(our_tarot, TYPE_PROC_REF(/datum/tarot, activate), hit_atom)
|
||||
poof()
|
||||
if(isliving(hit_atom) && our_tarot)
|
||||
pre_activate(hit_atom)
|
||||
return
|
||||
qdel(src)
|
||||
|
||||
/obj/item/magic_tarot_card/AltShiftClick(mob/user)
|
||||
flip()
|
||||
@@ -203,13 +209,37 @@
|
||||
|
||||
/obj/item/magic_tarot_card/proc/poof()
|
||||
new /obj/effect/temp_visual/revenant(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/magic_tarot_card/proc/dust()
|
||||
visible_message("<span class='danger'>[src] disintegrates into dust!</span>")
|
||||
new /obj/effect/temp_visual/revenant(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/magic_tarot_card/proc/pre_activate(mob/user)
|
||||
forceMove(user)
|
||||
var/obj/effect/temp_visual/tarot_preview/draft = new /obj/effect/temp_visual/tarot_preview(user, our_tarot.card_icon)
|
||||
user.vis_contents += draft
|
||||
user.visible_message("<span class='hierophant'>[user] holds up [src]!</span>")
|
||||
addtimer(CALLBACK(our_tarot, TYPE_PROC_REF(/datum/tarot, activate), user), 0.5 SECONDS)
|
||||
QDEL_IN(src, 0.6 SECONDS)
|
||||
|
||||
/obj/effect/temp_visual/tarot_preview
|
||||
name = "a tarot card"
|
||||
icon = 'icons/obj/playing_cards.dmi'
|
||||
icon_state = "tarot_the_unknown"
|
||||
pixel_y = 20
|
||||
duration = 1.5 SECONDS
|
||||
|
||||
/obj/effect/temp_visual/tarot_preview/Initialize(atom/mapload, new_icon_state)
|
||||
. = ..()
|
||||
if(new_icon_state)
|
||||
icon_state = "tarot_[new_icon_state]"
|
||||
var/new_filter = isnull(get_filter("ray"))
|
||||
ray_filter_helper(1, 40,"#fcf3dc", 6, 20)
|
||||
if(new_filter)
|
||||
animate(get_filter("ray"), alpha = 0, offset = 10, time = duration, loop = -1)
|
||||
animate(offset = 0, time = duration)
|
||||
|
||||
/datum/tarot
|
||||
/// Name used for the card
|
||||
var/name = "XXII - The Unknown."
|
||||
@@ -572,7 +602,7 @@
|
||||
return
|
||||
var/mob/living/carbon/human/H = target
|
||||
for(var/obj/item/I in H)
|
||||
if(istype(/obj/item/bio_chip, I))
|
||||
if(istype(I, /obj/item/bio_chip))
|
||||
continue
|
||||
H.unEquip(I)
|
||||
|
||||
|
||||
@@ -389,13 +389,17 @@
|
||||
/mob/living/simple_animal/hostile/construct/proc/init_construct(mob/living/simple_animal/shade/shade, obj/item/soulstone/SS, obj/structure/constructshell/shell)
|
||||
if(shade.mind)
|
||||
shade.mind.transfer_to(src)
|
||||
if(SS.usability)
|
||||
// Replace regular soulstone summoning with anyuse soulstones
|
||||
if(is_type_in_list(/datum/spell/aoe/conjure/build/soulstone, mob_spell_list))
|
||||
RemoveSpell(/datum/spell/aoe/conjure/build/soulstone)
|
||||
AddSpell(new /datum/spell/aoe/conjure/build/soulstone/any)
|
||||
if(SS.purified)
|
||||
make_holy()
|
||||
// Replace regular soulstone summoning with purified soulstones
|
||||
if(is_type_in_list(/datum/spell/aoe/conjure/build/soulstone, mob_spell_list))
|
||||
RemoveSpell(/datum/spell/aoe/conjure/build/soulstone)
|
||||
AddSpell(new /datum/spell/aoe/conjure/build/soulstone/holy)
|
||||
|
||||
else if(mind.has_antag_datum(/datum/antagonist/cultist)) // Re-grant cult actions, lost in the transfer
|
||||
var/datum/action/innate/cult/comm/CC = new
|
||||
var/datum/action/innate/cult/check_progress/D = new
|
||||
|
||||
Reference in New Issue
Block a user