Makes playing cards playable -- significantly reworks card interactions (#26585)

* Basic card interactions

* initial interactions sorted

* nails down some interactions, radial menu

* Some more qol and keybind changes

* improves card interactions

* Unum decks can be flipped, showing the top card

* Decks can now be split and recombined

* minor tweaks to multi-deck stuff

* Clean up a bunch of interactions

* more cleanups

* more cleanups and documentation

* remote attacking looks pretty good

* minor cleanups

* ci

* parser errs

* Remove some debug things, re-add signal after merge

* Adds a whole bunch more qol.

* Improves examine messages

* ci

* concealed cards will now show properly in radial

* Fixes some weird proximity monitor and control issues

* Address reviews, clean up examine a bit more

* radial fixes

* remove todos

* Apply suggestions from code review

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com>

* better documentation, adds label of who did what

* b etter grammar

* augh

* missing icon state

* Update code/game/gamemodes/wizard/magic_tarot.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com>

* Add sleep on proximity monitor setup to hopefully avoid mapload issues

* been writing too much c lately

* Try late initialize

* late init

* 🧌

* map load

---------

Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
This commit is contained in:
Luc
2024-11-29 19:12:15 +00:00
committed by GitHub
co-authored by Burzah DGamerL
parent cf31fa098f
commit 8da12bc5e2
11 changed files with 905 additions and 179 deletions
+24 -6
View File
@@ -234,7 +234,7 @@
/obj/item/magic_tarot_card/proc/pre_activate(mob/user, atom/movable/thrower)
has_been_activated = TRUE
forceMove(user)
var/obj/effect/temp_visual/tarot_preview/draft = new /obj/effect/temp_visual/tarot_preview(user, our_tarot.card_icon)
var/obj/effect/temp_visual/card_preview/tarot/draft = new(user, "tarot_[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)
@@ -242,17 +242,35 @@
add_attack_logs(thrower, user, "[thrower] has activated [our_tarot.name] on [user]", ATKLOG_FEW)
QDEL_IN(src, 0.6 SECONDS)
/obj/effect/temp_visual/tarot_preview
/obj/effect/temp_visual/card_preview
name = "a card"
icon = 'icons/obj/playing_cards.dmi'
icon_state = "tarot_the_unknown"
pixel_y = 20
duration = 1.5 SECONDS
/obj/effect/temp_visual/card_preview/Initialize(mapload, new_icon_state)
. = ..()
if(new_icon_state)
icon_state = new_icon_state
flourish()
/obj/effect/temp_visual/card_preview/proc/flourish()
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)
/obj/effect/temp_visual/card_preview/tarot
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(mapload, new_icon_state)
. = ..()
if(new_icon_state)
icon_state = "tarot_[new_icon_state]"
/obj/effect/temp_visual/card_preview/tarot/flourish()
var/new_filter = isnull(get_filter("ray"))
ray_filter_helper(1, 40,"#fcf3dc", 6, 20)
if(new_filter)