Solved I don't understand guard breaks.

Question that is answered or resolved.

Weoooo

Member
Looking at the wiki/manual, it feels like guard breaking should be simple enough. Characters have guard points, they regenerate, attacks have a guard cost, if the guard cost is over the guard points, guard break happens.

I can't make it, though. I give an enemy guard points and a guard rate, I add guardcost under the attackbox line for players, but I can't break guards. I feel like I'm fundamentally missing something. Do I have to set a flag somewhere? I tried putting attack.block.cost in under the attackbox instead, and that didn't work either. I'm modifying an old file so I figured guardcost would work instead, but should I convert the attackboxes to the new format in order to make the feature function? changing the attackbox format didn't work either.

I gotta be missing something
 
Last edited:
Looking at the wiki/manual, it feels like guard breaking should be simple enough. Characters have guard points, they regenerate, attacks have a guard cost, if the guard cost is over the guard points, guard break happens.

I can't make it, though. I give an enemy guard points and a guard rate, I add guardcost under the attackbox line for players, but I can't break guards. I feel like I'm fundamentally missing something. Do I have to set a flag somewhere? I tried putting attack.block.cost in under the attackbox instead, and that didn't work either. I'm modifying an old file so I figured guardcost would work instead, but should I convert the attackboxes to the new format in order to make the feature function? changing the attackbox format didn't work either.

I gotta be missing something
Hi friend. Did you add the guardbreak animation?

C:
anim guardbreak
    loop    0
    delay    4
    offset    143 192
    bbox    132 118 35 76
    @cmd sound "data/sounds/sor3_guardbreak.wav"
    frame    data/chars/bosses/barbon/grabbed00.png
    frame    data/chars/bosses/barbon/grabbed01.png
    frame    data/chars/bosses/barbon/grabbed00.png
    frame    data/chars/bosses/barbon/grabbed01.png
    frame    data/chars/bosses/barbon/grabbed00.png
 
Hi friend. Did you add the guardbreak animation?
Oh absolutely. I double checked to make sure I spelled it right, too, cause that's a dumb way I've messed things up before.

I've been been playing around; I didn't originally have a blockpain because I only cared about the guard-crush thing. I tried to add that, and it... didn't work either. I thought "eh maybe it's cause I'm using the active setting" and no, it didn't work with that gone too. I'm using 4.0 ver. 7556. I don't know what's goin' on. I can make enemies block, but I can't make anything other than that happen.

Things that might be important, I donno:
The block animation is more of a "block." It's a multi-frame reaction to attacks rather than a block stance. It works exactly the way I want it when block_config active is on, firing off to make it look like the character is reacting to danger. This is why I wanted the guard-crush property, because it doesn't make much sense for the character to take reduced damage from attacks.
I'm using a very old and... not very complicated project as a testing ground. I've updated the exe, but haven't done much other than mess with a few individual character .txts.
I'm using a script to randomize some animations, but even when I took it out I couldn't get the interactions to fire.
I'm also NOT using any other scripts in the model.
 
Last edited:
Looking at the wiki/manual, it feels like guard breaking should be simple enough. Characters have guard points, they regenerate, attacks have a guard cost, if the guard cost is over the guard points, guard break happens.

I can't make it, though. I give an enemy guard points and a guard rate, I add guardcost under the attackbox line for players, but I can't break guards. I feel like I'm fundamentally missing something. Do I have to set a flag somewhere? I tried putting attack.block.cost in under the attackbox instead, and that didn't work either. I'm modifying an old file so I figured guardcost would work instead, but should I convert the attackboxes to the new format in order to make the feature function? changing the attackbox format didn't work either.

I gotta be missing something
What is the block hold set to?
 
@Weoooo How is guardcost, guardpoints and guardrate configured in your game? We need to check if the guard system is working properly.
I don't have any global configurations set, because they didn't seem important to what I wanted to do with the blocking behavior. In each character text, I have

blockodds 200
block_config active hold_impact
guardpoints 1
guardrate 1

I have experimented in here a few times, from not having the active tag to adding hold_impact and trying hold_infinite too. I tried adding blockpain there as well.
I also thought, just now, "Y'know, having block be an animation that encompasses both starting and ending the block might be causing some of this," so I split it up.

My attackboxes look like this:

Code:
attack.block.penetrate 0
    attack.block.cost 5
    attack.damage.force 5
    attack.damage.type 1
    attack.effect.hit.flash.disable 0
    attack.effect.hit.sound.path data/sounds/hand.wav
    attack.position.x 36
    attack.position.y 11
    attack.reaction.fall.force 0
    attack.reaction.pause.time 9
    attack.size.x 32
    attack.size.y 15
    attack.size.z.background 0

While I've been making this post, I've made a discovery. If I set the guardpoints to 5, I can break the guard in 2 hits. 4, 3, 2, and 1 all don't work. Trying to take the guardpoints from full to break in 1 hit doesn't work. I don't know why, but it doesn't.

I've solved my issue, but I still can't say I fully understand and I get the feeling that this probably isn't intentional.
 
Trying to take the guardpoints from full to break in 1 hit doesn't work
According to what I understand about the guard system in the engine, the guard break only works if you block a hit after all your guardpoints already were drained (zero or below), which will never occur at the first hit.
In addition, I tested the guardpoints value of 1 and it's working in my case (build 7612), but still needs two hits to break.
 
According to what I understand about the guard system in the engine, the guard break only works if you block a hit after all your guardpoints already were drained (zero or below), which will never occur at the first hit.
In addition, I tested the guardpoints value of 1 and it's working in my case (build 7612), but still needs two hits to break.
Oh, I thought I had the latest one! Either way, thinking about it differently it makes a lot of sense for guardbreak to work like this. If you want players to block in a beat-em-up, it has to work, and it's best if they can always reliably block attacks. You can easily design an enemy attack around this behavior, too. You can make attacks unblockable, and multiple attacks in quick succession would make an attack unblockable without it being unblockable. My use case is much outside of the usual intent.
 
Oh, I thought I had the latest one! Either way, thinking about it differently it makes a lot of sense for guardbreak to work like this. If you want players to block in a beat-em-up, it has to work, and it's best if they can always reliably block attacks. You can easily design an enemy attack around this behavior, too. You can make attacks unblockable, and multiple attacks in quick succession would make an attack unblockable without it being unblockable. My use case is much outside of the usual intent.
Yeah, as an example if you have 1 guardpoint remaining and block an attack which has a guardcost of 10, you still can block it but will lose your guard in the next hit.
However, this native behaviour can be freely changed with scripts, once guardpoints and animations can be changed using entity properties.
 
Yeah, as an example if you have 1 guardpoint remaining and block an attack which has a guardcost of 10, you still can block it but will lose your guard in the next hit.
However, this native behaviour can be freely changed with scripts, once guardpoints and animations can be changed using entity properties.
Okay I'm still confused about blockpain though, I know what it's supposed to be but, if it wasn't playing, what could be the culprit?
Like, say that was happening to someone who didn't expect to use it, but now understands how guardbreak works and realizes you always need a hit?
 
Okay I'm still confused about blockpain though, I know what it's supposed to be but, if it wasn't playing, what could be the culprit?
In this case if you are using the build 7556 certainly it's related to an engine bug, which already was fixed but not launched officially in a new build yet.
You can confirm it in this post.
 
Back
Top Bottom