How to use <decides> method

Hi There!

I would like to use a method what has a keyword. But I can’t. I know I need to validate first in an if. I did it, but still not work.

Here an example:

TestMethod(Player : player)<decides> : void=
        return Player

and I would like to use this method in another method.

I tried this:

TestMethod2(Player : player) : void=
        if(CurrentPlayer := TestMethod[Player]):
                Print("Work")
        else:
                Print("Do not work")

But I got an error to [Player] with a:

This invocation calls a function that has the ‘no_rollback’ effect, which is not allowed by its context.(3512)

error code. What is the problem?

Thank you for any reply.

You need to add <transacts> effect and change the return type to player. You can read more about it here: Verse Language Quick Reference