Page MenuHomeFeedback Tracker

[Feature Request] New scripting command: endMove
New, NormalPublic

Description

The last 19+ years there has been the frustration of not being able to end playMoved animation in mid-anim smoothly.
So this has probably been asked numerous times prior..

PlayMove/Now "" does nothing, neither does playMoving another anim. switchMove "" does work but looks so awesome (especially when used on player character), and the sounds of the playMoved anim are still playing..
Basically the only way to do this is to die or go unconscious, which have the obvious undesirable side-effects.

So a command to end a playMoved anim by interpolating it out like it would when naturally ending would be exceptionally welcome (and currentMove command to keep company as well 😉 )

<unit> endMove <move>
player playMove "Acts_TreatingWounded05"; //play anim (10s length)
sleep 5;
player endMove "Acts_TreatingWounded05"; //exit anim after 5s

Details

Severity
None
Resolution
Open
Reproducibility
N/A
Operating System
Windows 7
Category
Engine

Event Timeline

h- created this task.Aug 7 2020, 6:04 PM
Leopard20 added a subscriber: Leopard20.EditedAug 7 2020, 6:58 PM

Ending an animation is like jumping to the end of the animation. So why not extend your request to a more general case:

Would it be possible that we had a command for playing an animation from a specific time?

In other words:

unit playAnim [moveName, Progress]
Progress: Number - Percent of the total animation time

The reason I ask for progress instead of time is to eliminate the unnecessary process of getting the total animation time.

@h-
In the case of your request:
unit playAnim ["Acts_TreatingWounded05", 1]
Would end the animation and connect/interpolate to the next animation according to the config.

It also has other purposes. For instance, we can recreate the "weapon resting" feature for the AI (which requires manual animation manipulation).

h- added a comment.Aug 8 2020, 8:58 AM

Exactly that kind of command has been on my whislist as well, but I thought I'd test the waters first with something I would have needed recently.

Maybe even extend that with alt syntax to do 'play-part-of-anim':

unit playAnim [moveName, from, to]

Which would play anim starting at certain point and end at a certain point.

And if we go all in it would be pretty cool if we could get something like

animInterpolateTo [[<move 1>, <progress>], [<move 2>, <progress>], ...[<move N>, <progress>]]

to play a set of anims in a row with smooth transitions (using your playAnim suggestion in the example).

By smooth I mean that some twitchiness would be allowed/expected as long as it's not nearly as horrid than with switchMove

Maybe even extend that with alt syntax to do 'play-part-of-anim':

unit playAnim [moveName, from, to]

Yeah that's even better, but I don't think it's possible (afaik it would need a total overhaul of the animation system)

And if we go all in it would be pretty cool if we could get something like

animInterpolateTo [[<move 1>, <progress>], [<move 2>, <progress>], ...[<move N>, <progress>]]

That makes no sense, because interpolation always interrupts an animation, so what you wrote simply means: Jump to moveN

DrSova added a subscriber: DrSova.Fri, Sep 4, 3:14 PM