ORK's status development features are pretty flexible, between curves and level up formulae, and if it really came down to it I could add 97 points to a curve and just use it as a table. But sometimes I might have something very particular and fussy in mind that either I can't do through these means, or I just haven't figured out how yet.

Specifically, I'd like stat growth to work by a specific formula:
X is a status value's initial value plus the bonus to that value received from their class.
Calculated value = X + floor[(X / 98) * (Lvl - 1)]

This would result in a slow, awkward progression that ultimately leads to base stats only being doubled by level 99. But I don't think it can be done using a normal status development formula. Unless I'm mistaken, those don't maintain decimal values between levels, and I'm not sure they can readily access class bonuses.

Between the Change Status Value node and Level Up Events, I thought perhaps I could pull this off outside of the normal features of status development. Even if the relevant data couldn't be accessed by event nodes, there's always the Field to Variable node that could read from an outside script. I could write a script that maintains the initial status values plus class bonuses, and then create a level up script that reads them and changes the status value based on a formula. (I think I'd have to decrement it by the class bonus afterwards though, as that seems to still be added on top of the base status value after the event.) I ran into a couple of problems, though:

1. I can't figure out how to actually find the data from a script. I need to find the initial values for a combatant's status development, and I also need to get the status bonuses from a combatant's class. I have to confess, I've been having a hard time figuring out how to read the API.

2. The Change Value Node, when using value type Formula, doesn't seem to allow for using a variable as the initial value. (I think this quality may be shared with some other nodes as well.) Is there a way I can work around this?

Of course, it's possible that I'm overthinking this; If there's a simpler solution, let me know.
  • edited February 2016
    It's difficult for me to follow exactly what the issue is, but you should be able to build whatever curve you want either by using a formula or by selecting Curve and then manually adding points for each level (Add Point button on the curve generation page)

    I'm not sure if the issue is decimals (you can just set up your stats to not need them since they can go up to 99999) or accessing bonuses, but maybe if you can just specifically highlight the issue it might be easier for someone to give you advice on solving it. There are many non-obvious tools available to implement stuff :)

    For example you can use an object variable to store someone's class, and then you can access that in a formula. You can also have multiple developments, one for each class, and multiple formulas for each class that are used by the corresponding developments, and where each has the class bonus in the formula, etc etc.
    Post edited by Juryiel on
  • Thank you for your help. I knew that classes could have status development, but I was under the mistaken impression that it would override the combatant's status development, rather than acting additively. Actually, that solves everything. It looks like the real problem was just my own ignorance.

    Even so, maybe there could be situations where, when using an event node to access a formula, it would be useful to set the initial value to a variable? Anyway, thank you for sorting this out for me.
  • The initial value of the formula? Click on the 'Formula Settings' node and for Start Value select Game Variable, then check the Use Object Variable checkbox if that variable is stored there. Inside the formula you can also use the Status Value block to set the value to someone's status value before you do more calculations.

    I think it's probably best to decide on your formulas and whatever you want, then if you have trouble implementing them ask specifically how to implement it.
  • Thanks again for your help. I guess I just need to get more familiar with this engine.
Sign In or Register to comment.