edited September 2023 in Announcements
The next major ORK 3 update, titled Absolute State, will be coming in September (or later). Since this is a bit longer than the usual release cycle, I'd like to give you all a bit of a preview of what to expect.

This update will be all about changes to ORK's status system - or rather extending it with new functionality. So, all you could do before, you'll still be able to do, but a lot more.
I'll update this thread with new information on the changes bit by bit. Let me know when there's something you need for the status system as well :)


Status Effects

Multiple features of status effects are combined to a single status changes setting, similar to abilities/items.
I.e. end effect changes, end effect action, status value changes and schematics can now be set up to be used like the status value changes/schematics where before - e.g. using them per turn, on time basis, per action, etc.

Additionally, they can be bound to conditions and durations (independent of the actual time/turn duration of the effect), e.g. you can have a poison effect reduce HP every second after the effect has been applied for 3 turns but not longer than 20 seconds.

But wait, there's more!
The status changes can also switch user/target and depend on user/target being allies or enemies (also similar to status changes of abilities/items).
E.g. you can cast the effect on all combatants in battle, buffing your allies and giving the effect's caster (user) a status effect stack for each time an enemy uses an attack.

There'll also be more options for using a status change on Remove, being able to separate between duration-based removal and others (e.g. on attack, on battle end, etc.).

Using actions via the status changes sets the action as the next action of the combatant (as the end actions did before), i.e. the combatant will use the action the next time it is asked to select an action. I've also plans for integrating battle AI here to be more flexible for e.g. berserk effects using other actions than the base attack.

Update: There are also additional new status change types available - e.g. changing variables, action bar or move range (just like abilities/items can). Also, the status value changes have been split into 3 different setups for regular change, blocking change and absorbing.
Additionally, the effect can take a snapshot of the user when it's applied, i.e. keep using the current status of the user for the rest of the effect's calculations (effectively creates a copy of the user combatant).


Raycast Targeting

Raycast targeting is now an extensible system and comes with 3 different target selection types built-in.
Position is the current mode where you raycast a position in the scene.
Game Object is a new mode where you find game objects in the scene (e.g. by name or tag) and they're available as targets (example video).
Grid mode projects square or hex grid positions around the user as available targets (example video).


Move AIs

Enemy detection can now also use conditions, e.g. based on level or status conditions, like a blind enemy not being able to see the player (example video).
Also, move AI conditions are now an extensible system and have new condition types available - game state, variables, quest, quest tasks and quest types.
E.g. you can now have some enemies only hunt the player during a certain quest or have different detection ranges based on game states (e.g. lower detection at night).


Random Status Bonuses

Random status bonuses get a major rework - the currently separate status value, attack modifier and defence modifier random bonuses (modifiers only for equipment) are combined into a single, extensible setup.

Additionally, they now support the same features as regular status bonuses, i.e. they can give status value percent bonuses, status value change modifier bonuses, attack/defence modifier factor bonuses and even chance bonuses (e.g. hit chance, crit chance). You can even add a random bonus random bonus, i.e. have a random bonus give it's own sub random bonuses to create a complex bonus system (e.g. give one random bonus out of a set of 3, and each of the 3 has it's own multiple random bonuses set up).

As said above, previously all random bonuses where only available for equipment, while classes and combatants had only random status value bonuses. Now, the full random bonus feature is available in equipment, classes, combatants, status effects and passive abilities. The bonuses are created whenever an instance of them is created, e.g. when initializing a combatant, learning a passive ability or applying a status effect to a combatant.


Status Bonuses

Status bonuses have also been reworked to combine chance/factor bonuses, status value bonuses and attack/defence modifier bonuses into a single, extensible setup. Also, the bonus setup for status values and attack/defence modifiers has been split into individual, dedicated types, e.g. status value, status value percent, status value change modifiers, etc.
Post edited by gamingislove on
Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • This sounds pretty good and is a welcomed improvement. There is one thing I've had difficulties implementing and that is adding other status effects with a status effects in the change settings. Currently I have to use a schematic to get the "Use On" option. Would this change make that process easier to implement?
  • Would it be possible (maybe it already currently is for what it's worth, I haven't really dug into this) to provide the ability to do "snapshotting" of stats, and also, toggle those off?

    For example, in World of Warcraft, some damage/heal over time effects will check user/target stats at every tick, so that all stat updates are constantly taken into account.
    However, others will take whatever the stats were at the start of the effect and apply it throughout the duration, with new applications restarting the effect and using that value instead.

    The first encourages you to just throw it out on as many targets as possible and as often as possible to keep it rolling, while the second encourages piling on buffs and unleashing at the apex for maximum effect. Having the ability to set that based per status effect would be a cool addition I think. People can choose one or the other as their preference, or throw in both if desired.
  • @Dre788
    Yes - the new status changes can directly change status effects, e.g. on turn, time, action, etc. - just like the previous status value changes and schematics could.

    @Acissathar
    Hm, that's an interesting idea.
    I'll look into it, but it should be possible by creating a copy of the casting combatant in the effect.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Can we add a new state judgment to determine how many states there are on the target instead of using count?

    For example, if the target has reduced healing *5, reduced defense *3, reduced attack *7, it can only be judged that he has three reduced benefit states.
  • @churan
    Isn't that already possible, at least as long as you use status effect types to categorize your effects?
    The Status Effect Type status condition check check for the number of applied effects.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • It's doable,

    Now a single state is superimposed three times, and even with three additions,



    My idea is to superimpose different states and judge only the different states. For example, attack drop defense drop hit drop counts three different buffs,



    Right now it's a single state superimposed three times, even if it's three.
  • edited July 2023
    So, counting the status changes of the applied effects?


    Update to status effects:
    There are also additional new status change types available - e.g. changing variables, action bar or move range (just like abilities/items can). Also, the status value changes have been split into 3 different setups for regular change, blocking change and absorbing.
    Additionally, the effect can take a snapshot of the user when it's applied, i.e. keep using the current status of the user for the rest of the effect's calculations (effectively creates a copy of the user combatant).
    Post edited by gamingislove on
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Awesome :D
  • This is great, but similar to what I mentioned last time, can we extend the value of the state system to float?
  • @ranwang520
    Stay tuned for further information :)
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • @gamingislove Would it be possible to have variables for Status Effects similar to Equipment or Combatant variables, or if that's out of scope, a means of getting the number of "ticks" in an attached schematic, and who applied said status effect?

    What I am thinking of is say you have a Poison status effect, that can be applied through a few different abilities. You then have a combatant that has a talent/research item which gives "every 3rd tick of Poison you've applied deals X% more damage"

    At the moment we have the ability to add Schematics on turn start/end or time, which we can hook into for this check, but without using Global variables to track all of this, I don't believe there's a way we can go "is this a multiple of 3 tick, and does the combatant who applied this status effect have this research item (or hidden passive ability), if so, then calculate action"

    Or tying into the snapshot above, the formula can do this check instead.

    Event better if we can set a toggle to also control (maybe on the ability?) whether these variables/values get reset upon a reapplication. Something like Poison has ticked twice, and if you use Poison Stab to reapply poison, it'll reset the ticks to 0, but if you use Poison Stab 2: The Sequel, it resets the duration but keeps the tick count at 2.

    Hopefully that makes sense what I'm trying to say
  • @Acissathar
    Actually, the effect has variables/selected data - shared with those coming from where the effect was cast. E.g. from ability, it's the local variables and selected data from the schematics that are shared with applied effects, formulas used for damage calculation, etc.
    They're also used as local variables/selected data for the effect's schematics (and also in formulas, etc. used by the effect).

    So, that should already be possible - and will get easier in the next update, since the status changes can also directly change variables instead of using a schematic :)

    Will look into the reapply thing - currently reapply e.g. doesn't use the Apply changes again, just resets duration.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • @gamingislove I did not know that!

    Are they separate instances per effect as well? Using Selected Data to select the applying combatant for a reference seems fine either way, but if I have an ability variable for "ticks" (or Turns/Time) and I have Poison Stabbed two different enemies, will the tick count be set to 1 for each one (when the time comes), or will enemy 1 set local variable "tick count" to 1, and then when enemy 2's turn comes and they go to update it, it will set it to 2?

    Just want to be sure I'm understanding it right
  • @Acissathar
    Well, yes and no - since they use the local variables coming from the source that applied the effect, all effects applied by the same source (e.g. an ability adding multiple effects) will share those variables as well.
    The same effect being applied multipe times by different uses will have separate variables, though.

    I'll look into adding more options for this :)
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Keep up the great work GIL, ORK remains king.
Sign In or Register to comment.