-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Soul Shard #541
Soul Shard #541
Conversation
- Soul Shard should no longer cause infinite loops - Soul Shard will not resurrect at dead units (prevents player from Soul-Sharding themselves and becoming unkillable)
A few thoughts / change requests:
|
I really like the idea of the spell being castable on enemies too. It leaves room for more creative use and emergent gameplay. At the same time though, maybe you're right. I'm not sure how we'd balance it without significantly redesigning the spell.
Sounds good! This is going to be a little tricky due to end game logic firing before the resurrect happens. Are you close to finishing the OnDeath awaits? @jdoleary
It should already do this. I can't repro any other behavior
Yeah maybe, I'm not really sure either. I lean towards no, and also having the player revive at 1 hp? @jdoleary |
- Warning: This commit breaks the spell -> Causes game over instead of resurrecting = TO BE FIXED
when about to resurrect in a soul sharded npc
Like you mentioned in Discord, if we allow you to cast soul shard on enemies you totally become unkillable. If you cast it on an ally, you will potentially run out of allies and lose the level.
Okay retested: Soul Shard shows prediction death for all sharded NPCs if you self kill, but will correctly only kill one.
I added a little commit that prevents the game over screen from coming up just by setting
|
Okay, I did some more extensive testing and I'm seeing this now. I only see it when I'm targeting and damaging a bunch of sharded enemies. Might have to do with prediction awaiting the on death effect differently and resolving before the next unit.takeDamage or something when the actual game loop doesn't do that. I'll check it out 👍 |
New idea for the VFX: Also some balancing: since soul shard is so powerful, maybe it should cost some max health. Like 10% every cast? Thoughts? |
Sounds very cool! Might be nice if it made the unit played their damage animation on soul arrival as well? This idea reminds me of the 2nd phase transition for the final boss in Diablo 3 .
Hm, I'm not sure. Max-stat penalties feel bad. People have commented on this with Death Wager and Mana Vampires. I don't think it's too op with the 1hp/0 mana respawn, high mana cost/scaling, and only targeting allies. |
Yes! Totally play the unit damage animation on arrival, that's a great idea. |
- Increased mana cost and can no longer soul shard self
In the same way that Soul Shard is essentially Soul Bind, I guess. My idea was: They can be further distinguished by incentivizing offensive/defensive behaviors. Ex.
Not totally convinced on the idea myself though, just brainstorming something that sounded cool thematically 😄 |
Did some testing with Soul Shard. It feels preeeetty bad. The onDeath behavior is very unreliable, and instantly resurrecting still has its own weird edge cases. Ex. Dying to ancients, dying to mid-flight ghost arrows, dying to bloat (sometimes), stuff like that. The worst part is when something unexpected happens, instead of being a "woah that was weird" moment, you just straight up lose the game. Possible solution: Just resurrect the player at the start of their next turn. I can easily socket this modifier into the game-end logic and have it continue the game loop if they would be revived. This is how I imagine any kind of "undying" modifier would work anyway. I feel like this would be much cleaner and also allow for a neat resurrect animation. I'll go ahead and start on it! @jdoleary |
Hmm good thought, I'm curious to see how it turns out! Thank you for being so thorough with your testing! |
- Soul Shard now resurrects the turn after
- Resurrect with full health - Consumes all soul shards on resurrect - Can target any unit with equal or less max HP than you
2e8b80c
to
0eeacc3
Compare
Okay, lots of changes in, let me know what you think @jdoleary |
Just spent some time playing around with this and it is AWESOME! Such a cool spell. I think we may have to have some kind of effect to show that the damage is being transferred though cause I guarantee players will use it and then be confused why they're taking damage. (The shard moving animations are awesome btw). So let's do something different for the damage transfer: how about we use the lightning effect from Bolt but change the color to the same dark red you've been using? (and make it last less long, like 200ms) |
Note to self: Left TODO: |
TODO: Verify that Soul Shard works with contaminate. It may not spread the shard owner id, which could cause problems. |
the same color as the soul shard magic
so that it can draw from multiple units simultaneously
so it gets passed onto getAllShardBearers
Closes #478
The caster splits a piece of their soul into the target. All damage that would be dealt to the shard bearer is instead redirected to the shard owner (I.E. the caster), but if the shard owner dies, they will reincarnate in the body of the nearest shard-bearer, and all of their soul shards will be consumed.
TODO