Using the status value Change schematics, is there a way to tell where the change is coming from outside of the affected/causing combatant?
I have some status effects that cause damage at the end of turn, and what I would like to do is play a short VFX + SFX when the end of turn damage is applied. For example, when burned, there's a quick fire burst as the damage ticks. Sort of like how Pokemon flashes the character purple and does a bubble noise when poison damage is ticking.
My original thought was to use the Vitality Change Schematic limited to Status Effects since Status Effects only support changing the Animation set and spawning a prefab at start/removal, since it'll fire once for each status effect but I'm not sure on how to find out which status effect is causing it so I can change the sound and visual.
Edit: Since my status effects do something else in addition (reducing stats on apply), I think I could just remove the damage part and instead do all of that in a Turn End schematic. I can check if the combatant has the status effects in order, and if so, play the VFX+SFX, and then do the damage. Any potential issues with that approach?
Not really, but your status effects can use schematics on turn end as well, so you could handle the effect stuff that way.
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 Is it possible to only show (or even just sort to the front) recipes that the combatant currently has the materials for using a Crafting menu part?
Hm, only if you're not using the Create Box, i.e. the recipe box shows the recipe's state via active/inactive buttons. So, create box either using None or HUD mode.
That way you can have the UI box hide the inactive inputs via the Inactive Input Handling setting (default for all UI boxes in the UI > UI Boxes > General Settings, each box can override it).
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!
I'm using an InputKeyAsset in one of my scripts to allow for checking input through ORK. It works without any issue so far, which is great.
However, I would like to make it visible as a drop down in the Editor like some of the built in ORK scripts do. Do you know which class or editor code I should be looking too to get that to happen?
If I leave it as an InputKeyAsset it just shows up as a field to drag in a scriptable object into (which is fine), and if I make it an AssetSelection then it just doesn't show up at all. Trying to manually force it with an EditorPropertyField just leads to null references.
That'd need to either use a custom inspector or make your component extend from SerializedBehaviour instead, with the settings being placed in a separate class (e.g. a sub-class of the component).
For an example using SerializedBehaviour, e.g. check out PointOfInterest class in ORK 3's source code.
Just using the regular Unity asset selection field is the easy way :)
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!
Thinking about some possibilities for a combat system, how would you go about doing a card game?
I think the most straight forward way would be to make the cards be “items” that then do effects or summon combatants which lets them use other parts of ORK.
However, the part I’m not sure of is how would you go about displaying or handling the different zones like what’s in the deck vs what’s in the hand?
Is that something we would need to manually keep track of in code or is there some finagling we can do with the battle menu and schematics?
Yeah, items is the way to go - the rest of the mechanics can be handled via selected data, e.g.:
1) Battle start schematic gets all card items from the player's inventory and stores them into global selected data (i.e. the deck).
2) Turn start schematic gets cards from the deck to fill the hand until it's full. This could either put that into another global selected data or put them into individual shortcut slots. Using slots would allow using the battle menu (currently, I'll look into adding stuff from selected data to the battle menu).
3) Playing a card will remove them from the hand (i.e. either from the hand selected data or the shortcut slot) and put it into another global selected data for the discarded cards, e.g. to rebuild the deck after all cards are used (so in #2, if the deck is empty, use the discarded data and put it all back into the deck).
That's pretty much it. Naturally, you'll want some fancy card-playing UI for the handling, so that might be something where you need to write some custom UI stuff (which would work good with selected data instead of the shortcut slots).
Also, in case you need per-combatant deck/cards, you can change the whole setup to use object selected data on the combatants instead of global selected data.
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!
Object Selected Data for various zones looks like the way to go then (since enemies will also have their own cards) and makes a lot of sense when you put it that way, I appreciate it!
Is there a way to get the turn order (when using multi-turns and capped at a turn limit) to call into the Before Close schematics?
This is my layout and HUD setup:
What happens is that it looks like the Before Open is called as expected (moving from above to position), but when the First element is being closed its instead just immediately removed.
Checking Wait does seem to actually run the schematic, but it looks like it moves it all the way to the end of the list first before actually running the schematic:
What I'd like is basically just for the opposite to occur (moving and fading up) rather than moving to the end of the list first.
Should work if you enable Wait in both before open and before close schematics of the HUD.
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!
With both Before Open and Before Close checked. it's smoother but it looks like it still places the (previously) selecting combatant at the end of the list first before running the schematics:
(The yellow border is just a HUD condition for In Turn to mimic highlighting the selecting combatant)
Hm, definitely not what I'm seeing in my test setup - will probably need a test project with your's.
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!
I have some status effects that cause damage at the end of turn, and what I would like to do is play a short VFX + SFX when the end of turn damage is applied. For example, when burned, there's a quick fire burst as the damage ticks. Sort of like how Pokemon flashes the character purple and does a bubble noise when poison damage is ticking.
My original thought was to use the Vitality Change Schematic limited to Status Effects since Status Effects only support changing the Animation set and spawning a prefab at start/removal, since it'll fire once for each status effect but I'm not sure on how to find out which status effect is causing it so I can change the sound and visual.
Edit: Since my status effects do something else in addition (reducing stats on apply), I think I could just remove the damage part and instead do all of that in a Turn End schematic. I can check if the combatant has the status effects in order, and if so, play the VFX+SFX, and then do the damage. Any potential issues with that approach?
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
That way you can have the UI box hide the inactive inputs via the Inactive Input Handling setting (default for all UI boxes in the UI > UI Boxes > General Settings, each box can override it).
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
I'm using an InputKeyAsset in one of my scripts to allow for checking input through ORK. It works without any issue so far, which is great.
However, I would like to make it visible as a drop down in the Editor like some of the built in ORK scripts do. Do you know which class or editor code I should be looking too to get that to happen?
If I leave it as an InputKeyAsset it just shows up as a field to drag in a scriptable object into (which is fine), and if I make it an AssetSelection then it just doesn't show up at all. Trying to manually force it with an EditorPropertyField just leads to null references.
For an example using SerializedBehaviour, e.g. check out PointOfInterest class in ORK 3's source code.
Just using the regular Unity asset selection field is the easy way :)
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
I think the most straight forward way would be to make the cards be “items” that then do effects or summon combatants which lets them use other parts of ORK.
However, the part I’m not sure of is how would you go about displaying or handling the different zones like what’s in the deck vs what’s in the hand?
Is that something we would need to manually keep track of in code or is there some finagling we can do with the battle menu and schematics?
1) Battle start schematic gets all card items from the player's inventory and stores them into global selected data (i.e. the deck).
2) Turn start schematic gets cards from the deck to fill the hand until it's full.
This could either put that into another global selected data or put them into individual shortcut slots. Using slots would allow using the battle menu (currently, I'll look into adding stuff from selected data to the battle menu).
3) Playing a card will remove them from the hand (i.e. either from the hand selected data or the shortcut slot) and put it into another global selected data for the discarded cards, e.g. to rebuild the deck after all cards are used (so in #2, if the deck is empty, use the discarded data and put it all back into the deck).
That's pretty much it. Naturally, you'll want some fancy card-playing UI for the handling, so that might be something where you need to write some custom UI stuff (which would work good with selected data instead of the shortcut slots).
Also, in case you need per-combatant deck/cards, you can change the whole setup to use object selected data on the combatants instead of global selected data.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Is there a way to get the turn order (when using multi-turns and capped at a turn limit) to call into the Before Close schematics?
This is my layout and HUD setup:
What happens is that it looks like the Before Open is called as expected (moving from above to position), but when the First element is being closed its instead just immediately removed.
Checking Wait does seem to actually run the schematic, but it looks like it moves it all the way to the end of the list first before actually running the schematic:
What I'd like is basically just for the opposite to occur (moving and fading up) rather than moving to the end of the list first.
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
(The yellow border is just a HUD condition for In Turn to mimic highlighting the selecting combatant)
If you're enjoying my products, updates and support, please consider supporting me on patreon.com!