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 EffectsMultiple 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 TargetingRaycast 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 AIsEnemy 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 BonusesRandom 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 BonusesStatus 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.
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.
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.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
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.
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.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
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.
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).
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Stay tuned for further information :)
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
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
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.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
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
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 :)
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!