-
Notifications
You must be signed in to change notification settings - Fork 88
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
Make flight spells cost zero if the target can already fly #687
base: main
Are you sure you want to change the base?
Conversation
uh, wouldn't this just make it free to infinitely move Anchorite's around with you forever? that seems a bit broken |
No, because it still doesn't overwrite any existing flight, and as such you'd need to exit the flight radius before it would do anything, thus making it have nonzero cost. |
honestly I feel like this could apply... but only to wayfarers |
that or mabey instead of making it zero it would add time to existing wayfarers flight? (or mabey set time to that and not consume the whole ammount of media for time remaining?) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly just reviewed based on code style. I'm still not 100% sure I like this solution though. It feels weird from a UX perspective to just silently fail (whether it takes any media or not).
Common/src/main/java/at/petrak/hexcasting/common/casting/actions/spells/OpFlight.kt
Outdated
Show resolved
Hide resolved
Common/src/main/java/at/petrak/hexcasting/common/casting/actions/spells/OpFlight.kt
Outdated
Show resolved
Hide resolved
Common/src/main/java/at/petrak/hexcasting/common/casting/actions/spells/OpFlight.kt
Show resolved
Hide resolved
If we want to make it overwrite an existing flight instead of setting the cost to 0 and silently failing, we could instead change this condition: HexMod/Common/src/main/java/at/petrak/hexcasting/common/casting/actions/spells/OpFlight.kt Lines 69 to 73 in f1b0e89
to something like this: if (target.abilities.mayfly && IXplatAbstractions.INSTANCE.getFlight() == null) {
// Don't accidentally clobber someone else's non-Hex flight
// TODO make this a mishap?
return
} |
…ns/spells/OpFlight.kt Co-authored-by: [object Object] <[email protected]>
just a comment explaining the zero cost thing
I've dealt with the tweaks suggested in object's review, I haven't yet done anything to do with overriding flight since it's still under discussion |
I'd throw a mishap. |
I think we decided on Discord that a good way to fix this would be to make both flight patterns mishap if the target can already fly, and also make a pattern to check if an entity can currently fly. |
We could also just have it waste the media ... design a more careful hex if you want infinite flight. I'm OK on just closing this and leaving the behavior as-is, we're so close to release |
Because I made a wisp capable of applying Anchorite's Flight on a regular basis, then realized that it would just be wasting media most of the time.
IMO the ideal solution to this would be to make the flight spells overwrite flight abilities applied by hex (but not any others), but I don't know how one would do that.