Post new topic    
Page 1, 2  »
Liquid Metal King Slime
Send private message
Non-blocking attacks 
 PostThu Sep 30, 2010 4:54 am
Send private message Reply with quote
I just implemented (and forced an early nightly build including) non-blocking attacks.

There is a new attack bitset "Delay doesn't block further actions"

So if you give an attack a delay of 10 seconds, the attacker's ready-meter will start re-filling immediately, and they may be able to use another attack before the delayed non-blocking attack happens.

Great for use with chains. For example, you could make a normal attack that boosts an ally's attack power by +50, and have it chain to a nonblocking delayed attack that returns the attack power back to normal.

I am eager to get other people testing this.

Also note that if you press F11 twice in battle you can see the current attack queue. Regular attacks are marked with "B" and nonblocking attacks are marked with "Q"
Super Slime
Send private message
Re: Non-blocking attacks 
 PostThu Sep 30, 2010 3:51 pm
Send private message Reply with quote
James Paige wrote:
Great for use with chains. For example, you could make a normal attack that boosts an ally's attack power by +50, and have it chain to a nonblocking delayed attack that returns the attack power back to normal.


Oh wow. That's fantastic.
Mega Tact v1.1
Super Penguin Chef
Wizard Blocks
Liquid Metal King Slime
Send private message
 
 PostThu Sep 30, 2010 4:20 pm
Send private message Reply with quote
One problem that nonblocking attacks have right now: (fixed)

* Pause on battle menus is OFF
* Hero does attack Foo with a 5 second delay, nonblocking
* Hero gets another turn before Foo activates.
* Hero starts targetting attack Bar
* Delay runs out on attack Foo while hero is still targetting Bar
[Everything is okay up to this point]
* Foo chains to Foo2 which has a delay but is a regular blocking attack
* Now the hero is blocked from getting their turn, but they are currently taking their turn. What should happen?

I am thinking that the hero should continue to be allowed to finish targetting their attack, but I am not certain. Should all attacks chained form a nonblocking attack be forced to be noblocking too? (YES) Should a blocking attack chained from a nonblocking attack suddenly cancel the hero's targetting?

Also: I am currently trying to track down a bug that can cause doubling of non-blocking attacks when "pause on battle menus" is OFF. No such problem occurs when pause on battle menus is ON (fixed)
Super Slime
Send private message
 
 PostThu Sep 30, 2010 5:26 pm
Send private message Reply with quote
James Paige wrote:
Should all attacks chained form a nonblocking attack be forced to be noblocking too?

Yes

Quote:
Should a blocking attack chained from a nonblocking attack suddenly cancel the hero's targetting?

No


IMO, anyway
Mega Tact v1.1
Super Penguin Chef
Wizard Blocks
Liquid Metal King Slime
Send private message
 
 PostThu Sep 30, 2010 6:40 pm
Send private message Reply with quote
I agree with Mogri.
Liquid Metal Slime
Send private message
 
 PostThu Sep 30, 2010 6:46 pm
Send private message Reply with quote
Third'd

And thank you sooo much for this feature. It's a brilliant idea.
My website, the home of Motrya:
http://www.jshgaming.com
Metal Slime
Send private message
 
 PostThu Sep 30, 2010 8:11 pm
Send private message Reply with quote
This is awesome. Now I can put in the temporary buffs/debuffs I had been thinking about putting into my RPG, along with a few other things that would benefit from delayed attacks not stopping the attack bar from going up.

I'd have to be the fourth to agree with Mogri on this issue. It would be less aggravating that way I would like to think.
Reigning Smash Champion
Send private message
 
 PostThu Sep 30, 2010 8:34 pm
Send private message Reply with quote
This is certainly a pleasant surprise. I dunno what I personally want to do with it yet, but I know I'll find out.
<TheGiz> oh hai doggy, oh no that's the straw that broke tjhe came baclsb
Liquid Metal King Slime
Send private message
 
 PostThu Sep 30, 2010 8:36 pm
Send private message Reply with quote
Okay I am glad I asked on this one :) I will be forcing any attack chained from a nonblocking attack to be nonblocking also. (done)

I am working on some bug fixes. Right now queued attacks don't retarget correctly if the target dies. I have that one almost sorted out. (fixed)

Another problem I have noticed is that sometimes certain chained attacks get queued twice. I am having a hard time reproducing this one, so if anybody else sees it happening, please let me know. (fixed)
Super Slime
Send private message
 
 PostThu Sep 30, 2010 10:02 pm
Send private message Reply with quote
James Paige wrote:
I am working on some bug fixes. Right now queued attacks don't retarget correctly if the target dies. I have that one almost sorted out.


What is the "correct" behavior?
Mega Tact v1.1
Super Penguin Chef
Wizard Blocks
Liquid Metal King Slime
Send private message
 
 PostThu Sep 30, 2010 10:40 pm
Send private message Reply with quote
Mogri wrote:
James Paige wrote:
I am working on some bug fixes. Right now queued attacks don't retarget correctly if the target dies. I have that one almost sorted out.


What is the "correct" behavior?


The correct behavior of an attack that suddenly finds itself without a target is to re-target automatically, giving itself a new valid target. (it just re-runs the same code that enemies use to choose targets (which is also the same code as used by attacks with the "Automatically choose target" bitset))

The incorrect behavior I am working on fixing is that they simply don't notice that their only target is dead, and silently fail when the queued attack delay finishes and the attack tries to animate.

EDIT: actually, i was wrong. silent failure of a chain on a dead target is the expected behavior for a zero-delay attack with the same target class as the attack that chained to it. Picking a new target is the expected behavior on a chained attack with >= 1 delay. or that has a different target class from its parent.

Woo! That isn't very intuitive I guess... but it is the way it is.

Dang

EDITEDIT: I am forcing an early nightly build with a bunch more fixes to the attack queue. Nonblockingness is now inherited by chains, and there is a chain bitset to force nonblockingness also. I have also those bugs I mentioned a couple posts ago.

Things are now working very well in my own tests, both with "Pause on all battle menus" ON and OFF
Super Slime
Send private message
 
 PostFri Oct 01, 2010 3:25 am
Send private message Reply with quote
Can you add a "fail if target is dead" bitset, then? Your example of a buff that wears off will mess things up otherwise.
Mega Tact v1.1
Super Penguin Chef
Wizard Blocks
Liquid Metal King Slime
Send private message
 
 PostFri Oct 01, 2010 4:42 am
Send private message Reply with quote
Mogri wrote:
Can you add a "fail if target is dead" bitset, then? Your example of a buff that wears off will mess things up otherwise.


Yes, I need to add an attack bitset "don't retarget if target dies" and I should probably also have a "don't retarget if target dies" bitset for chains.

Also, there is the other side of that. What if the attacker dies?

I need to add the ability to optionally make it so a queued attack MUST complete immediately if the attacker dies. I'll probably make it happen while their dissolve animation is running :)
Metal Slime
Send private message
 
 PostSat Oct 02, 2010 4:49 pm
Send private message Reply with quote
While looking at the chaining menu, I just re-noticed (I think I noticed this before) that if you press 'down' on the bottom of the attack chaining editor the cursor disappears. Press 'down' again to make it appear back at the top of the menu. But pressing 'up' at the top of the menu works correctly.

Anyhow, I'm a bit confused about the need for these 2 seperate bitsets. So if an attack in a chain is non-blocking, all the following attacks in the chain will be as well? If this is so, what is the purpose of the chaining bitset? And should there be a bitset to override this behavior? I can't think of a situation for it yet, but it might be that an author would like an attack to have a non-blocking delay to allow the battle-ready meter to partially fill, and then have it chain to a blocking delay that freezes the ready-meter in a given spot while the attack begins.

While this seems to be kind of weird, why limit the functionality? If a person wants non-blocking inherited by the chain, they can just use the chaining bitset, right?
I am Srime
Metal Slime
Send private message
 
 PostSun Oct 03, 2010 6:34 pm
Send private message Reply with quote
Okay, I'm a jerk. I read the previous posts a little more carefully this time, and I now understand the possible complications of allowing non-blocking to chain to blocking.
I am Srime
Display posts from previous:
Page 1, 2  »