Add spirit ghost aura visuals for The Beyond cards#4149
Open
wdqin wants to merge 1 commit intohalogenandtoast:mainfrom
Open
Add spirit ghost aura visuals for The Beyond cards#4149wdqin wants to merge 1 commit intohalogenandtoast:mainfrom
wdqin wants to merge 1 commit intohalogenandtoast:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Title:
Add ghost aura visuals for The Beyond spirit deck and manifested spirits
Related Issue ID: 3993
#3993
Summary:
This is a visual enhancement that displays cards related to Jim's spirit deck in a fancy way. It adds ghost aura visuals for Parallel Jim Culver’s
The Beyond: Bleak Netherworld, covering both the hidden spirit deck in the player area and manifested spirits that enter play from it.It's not a bug fix, but a nice to have.
Problem:
The spirit deck and manifested spirits had no visual distinction in the UI, so it was hard to tell at a glance which cards were part of
The Beyond’s spirit system.There was also an implementation constraint: hidden spirit deck cards must not leak any card-specific information, while manifested spirits should be allowed to have distinct visual treatment because they are already public.
Change:
Added frontend support for decoding
AttachedToAssetplacements instead of collapsing them into a generic fallbackAdded spirit-visual helpers to detect:
The Beyondspirit deck hostIsSpiritThe BeyondAdded a reusable
GhostOrbitvisual componentAdded ghost SVG assets for spirit visuals
Applied ghost aura visuals to:
The Beyondspirit deck in the player areaThe BeyondKept the hidden spirit deck on a fixed ghost style so it does not reveal deck contents
Used different ghost SVGs and desynchronized animation timing for manifested spirits based on public
cardCodeTuned the ghost motion range to stay closer to the card frame
Implementation references:
This change follows the existing frontend rendering flow for runtime card state in:
PlacementdecodingAsset.vueEnemy.vueFiles changed:
frontend/src/arkham/types/Placement.ts
frontend/src/arkham/spiritVisuals.ts
frontend/src/arkham/components/GhostOrbit.vue
frontend/src/arkham/components/Asset.vue
frontend/src/arkham/components/Enemy.vue
frontend/src/assets/ghost-orbit-1.svg
frontend/src/assets/ghost-orbit-2.svg
frontend/src/assets/ghost-orbit-3.svg
Test coverage:
Added validation coverage through manual runtime verification for:
The Beyondspirit deck showing a ghost aura in the player areamanifested spirit assets showing ghost aura automatically
manifested spirit enemies attached to
The Beyondshowing ghost aura automaticallyhidden spirit deck visuals not changing based on unrevealed card contents
manifested spirit animations not moving in perfect sync
ghost motion staying within a tighter range around the card
Validation:
Ran:
npm run buildResult:
Build passed successfully.
I also verified in-game that the spirit deck uses a fixed ghost style, while manifested spirit cards use distinct ghost variants and no longer animate in perfect sync.