YesNoOk
avatar

(POTS) activate juggle after a throw (Read 2858 times)

Started by Momotaro, May 06, 2021, 09:19:28 pm
Share this topic:
(POTS) activate juggle after a throw
#1  May 06, 2021, 09:19:28 pm
  • *****
  • A.K.A. NED
  • I like to draw fighting game characters...
Using POTS/infinite(...) system, JMorphman Benimaru as a base
I'm coding a EX version of special throw.

And I would like to allow P1 to juggle opponent after they bounce off the ground.

How can I activate juggling ? Since Pots charcters don't une "juggle points"
P2 have hitboxes during the bounce, but cannot be hit.

Thanks

P2 last state (bounce)
Code:
    [Statedef 1469]
    type=A
    physics=N
    movetype=H
    ctrl=0
    velset=0,0
    sprpriority=0
     
    ;ajout
    [State 1469, turn]
    type=turn
    trigger1= !time
     
    [State 1469, Anim]
    type=changeanim2
    trigger1= !time
    value=1469
    [State 1469, Camera]
    type=screenbound
    trigger1= 1
    value=1
    movecamera=1,0
     
    [State 1469, Vel]
    type=veladd
    trigger1= 1
    y=.52;.58
    [State 1469, Vel]
    type=velset
    trigger1= !time
    x= 2.3;5.32
    y= -10;-6.91
     
    [State 1469, Recover]
    type=selfstate
    trigger1= command="recovery"
    trigger1= alive && canrecover
    trigger1= vel y>-1 && pos y>=-20
    value=5200
     
    [State 1469, End]
    type=selfstate
    trigger1= vel y>0
    trigger1= pos y>-vel y
    value=5100
Last Edit: August 16, 2021, 06:43:10 pm by Nedflandeurse
Re: (POTS) activate juggle after a throw
#2  May 06, 2021, 09:42:33 pm
  • ****
    • crepa.neocities.org
Maybe you need "D" in the hitflag for the attack to connect. Something like "hitflag = MAFD".
Re: (POTS) activate juggle after a throw
#3  May 06, 2021, 10:11:05 pm
  • **
  • Don't copy code if you don't understand it.
    • USA
    • a13rown@hotmail.com
Also check the htiboxes on animation 1469.  If you are using someone else's code as base, make sure everything is where you want it.  The original author may not wanted the opponent to be juggled in that state.
Re: (POTS) activate juggle after a throw
#4  May 07, 2021, 06:16:00 pm
  • *****
  • A.K.A. NED
  • I like to draw fighting game characters...
Maybe you need "D" in the hitflag for the attack to connect. Something like "hitflag = MAFD".

Thanks for suggesting me that.
You're definitely right, I didn't even thought about it, but since P2 bounces from the ground it could have been that.
Sadly It dosen't work either. :/

Also check the htiboxes on animation 1469.  If you are using someone else's code as base, make sure everything is where you want it.  The original author may not wanted the opponent to be juggled in that state.

Thanks,
(Yes, I use JM's Benimaru as a base, and I basically added POTSCammy(Delta red edit)'s hooligan combination throw as a base for this move.)
I checked the code and the hitboxes. I see nothing that says it should not hit.

It might be something in POTS/Infinite systems. I cannot get rid of it either understand all the available/impossible elements due to this system.
It sometimes makes me regret to follow a standard that is not mine.


I'm very grateful you tried to help me with your more advanced skills/experience in advanced coding.
The problem is still here, if there is some other suggestions.
Re: (POTS) activate juggle after a throw
#5  May 07, 2021, 07:53:26 pm
  • **
    • France
    • https://misterr07world.go.zd.fr/
In the Pots system, in all hitdefs, you have a line like this:

Code:
trigger1 = !var(16) && (var(15) < 1 || var(20))

This is the juggling system, you can only hit if this condition is true.

Code:
var(15) => Juggling points
var(16) => Juggling flag
var(20) => Custom combo time

Basically (very basically), in the Pots system, you can't juggle unless Custom Combo is enabled.
But you can allow some moves to "reset juggling" under certain conditions.
In some supers you can see this:

Code:
[State 3000, Super Cancel Juggle]
type = VarSet
trigger1 = !Time
trigger1 = var(21) || var(22)
var(15) = 0
ignoreHitPause = 1

For this particular code, it's about allowing one super move (or special move) to combo with another super move.
In your case, in the move that you want to allow it to juggle after your special throw, add something like this:
Code:
[State X, Undo Juggling]
type = VarSet
trigger1 = !Time
trigger1 = "your conditions"
var(15) = 0
ignoreHitPause = 1

"your conditions" will be: if P2 is in your custom state, or whatever you want,
but beware of the infinities this code can produce, super moves use power so it limits the combo, not in special moves.

I hope I was clear (and correct) in my explanations.
Re: (POTS) activate juggle after a throw
#6  May 08, 2021, 12:05:54 am
  • *****
  • A.K.A. NED
  • I like to draw fighting game characters...
I hope I was clear (and correct) in my explanations.

Oh, yes, thanks I think I got the idea of these variables now.

So, I tried this method. (for debug purposes, I put easy conditions to make it ok)
Code:
[State X, Undo Juggling]
type = VarSet
trigger1 = 1;!Time
var(15) = 0
ignoreHitPause = 1
But it doesn't work.

Then I tried editing the 2 triggers of some hitdef to see the result. putting "semicolon/point virgule" to cancel one of them.
This way. (just for debug...)
Code:
;trigger1 = !var(16) && (var(15) < 1 || var(20))
trigger1 = AnimElem = 2
And it works.
The move hits.

But with this setting, I have not much control on the conditions, so the move become extremely cheap (like can hit any time, infinite etc)

Still thinking how to fix it...
Re: (POTS) activate juggle after a throw
#7  August 09, 2021, 05:16:34 pm
  • *****
  • A.K.A. NED
  • I like to draw fighting game characters...
Bump, I'm back to coding.
I will try.

Anyone know a way to fix this juggle problem ?
I tried the suggestions listed on previous posts.

Any help is very welcome.
Last Edit: August 10, 2021, 02:41:07 pm by Nedflandeurse
Re: (POTS) activate juggle after a throw
#8  August 10, 2021, 07:57:25 pm
  • ****
  • Pixels are atom's of resolution,Low-res or Hi-res
    • Turkey
    • metekervan26@gmail.com
 like mister007 suggested
var(15) => Juggling points
var(16) => Juggling flag
var(20) => Custom combo time

To juggle reset during the throw, you need to reset the juggle points by using a varset to 0 on var(15). Use a controller like the following:

[State xxx, Juggle Reset]
type = VarSet
trigger1 = CONDITION
var(15) = 0

On trigger 1 I wrote condition because that's what you need to specificy yourself. In this case, what you need to put, is the time or animelem on which Kotaro or whatever the character is named throws P2 to bounce the ground and be juggled. Let's say Kotaro releases P2 and throws him to bounce into the ground at AnimElem = 5. Your code will be:

[State xxx, Juggle Reset]
type = VarSet
trigger1 = AnimElem = 5
var(15) = 0

Bear in mind that, in case you can combo into this throw, you may want to limit the juggle to once per combo, but that's a topic for another question.
Re: (POTS) activate juggle after a throw
#9  August 10, 2021, 10:22:38 pm
  • *****
  • A.K.A. NED
  • I like to draw fighting game characters...
like mister007 suggested
var(15) => Juggling points
var(16) => Juggling flag
var(20) => Custom combo time

To juggle reset during the throw, you need to reset the juggle points by using a varset to 0 on var(15). Use a controller like the following:

[State xxx, Juggle Reset]
type = VarSet
trigger1 = CONDITION
var(15) = 0

On trigger 1 I wrote condition because that's what you need to specificy yourself. In this case, what you need to put, is the time or animelem on which Kotaro or whatever the character is named throws P2 to bounce the ground and be juggled. Let's say Kotaro releases P2 and throws him to bounce into the ground at AnimElem = 5. Your code will be:

[State xxx, Juggle Reset]
type = VarSet
trigger1 = AnimElem = 5
var(15) = 0

Bear in mind that, in case you can combo into this throw, you may want to limit the juggle to once per combo, but that's a topic for another question.

Thanks BurningSoul.
With your message, I did a giant step understanding where was the problem.

This is definitely in the throw state.
I first tried your code without any effect.

After checking the actual state, I found that it contain juggle limiters(?)

Code:
[State 1466, Juggle]
type=varadd
trigger1= numtarget && !time
var(15)=1
ignorehitpause=1
[State 1466, Juggle]
type=varset
trigger1= numtarget && !time
var(16)=1
ignorehitpause=1

By deleting them, since it aims to juggle values, the juggle of course become possible.
So, this is the right way.

So, now, I would like to make juggling possible only with certain moves.

In my screenshots I showed a EX special move that can juggle easily anything.
Spoiler, click to toggle visibilty
It would be a good exemple of What kind of moves should juggle.
I used JM's Benimaru EX Raikouken for the move's state (StateDef 1030)
I checked the code and this state number almost everywhere, but I cannot understand how it manages to juggle in most conditions.
Re: (POTS) activate juggle after a throw
#10  August 10, 2021, 11:12:12 pm
  • ***
  • In a few minutes, bitch
    • Germany
Hey Ned. POTS juggle resets don't work like that. After resetting, you can followup with anything, not only certain moves. If what you want are specific juggles, you may have to do things different than usual. Here's an idea of how:

1.-Restore this:
Code:
[State 1466, Juggle]
type=varadd
trigger1= numtarget && !time
var(15)=1
ignorehitpause=1
[State 1466, Juggle]
type=varset
trigger1= numtarget && !time
var(16)=1
ignorehitpause=1
Otherwise, you'll be able to juggle off throw with every move.

2.-Add a varset with an unused var number, say var(24), and set it to 1 when Kotaro throws the opponent:

Code:
[State 1466, special juggling]
type=varset
trigger1= CONDITION
var(24)=1
Condition is the animelem when kotaro throws the opponent.

3.-Go to every move you want to juggle with after the throw, and duplicate the hitdef. On the first copy, add:
Code:
triggerAll = var(24) != 1
trigger1 = !var(16) && (var(15) < 1 || var(20)) <- this line might be there already
This way the HitDef will act normally when var(24) is not 1, so the move won't juggle off a regular throw.

On the second copy, add
Code:
triggerAll = var(24) = 1
trigger1 = !var(16) && (var(15) < 2 || var(20)) <- this line might be there already, but change var(15) < 1 to var(15) < 2
This way, when var(24) is 1, the move will juggle off a EX throw.
Do this with every move you want to specifically juggle after the throw, and that way, your throw will make juggling possible only with certain moves.

4.-Add this to -2

Code:
[State -2, Juggle Jungle Reset]
type = VarSet
trigger1 = !var(13)
trigger2 = var(20)
var(24) = 0
ignoreHitPause = 1

This way, when you finish your combo, var 24 is set to 0 once again and the moves once again juggle as usual.

Note that this is not how POTS erudites Jmorphman and KarmaCharmeleon do this, we make it so you can juggle after a juggle reset with every move, not only specific moves.
Last Edit: August 10, 2021, 11:15:50 pm by KarmaCharmeleon
Re: (POTS) activate juggle after a throw
#11  August 11, 2021, 04:41:26 pm
  • *****
  • A.K.A. NED
  • I like to draw fighting game characters...

First, thanks for the explanation, Karma!

I tried to uderstand and experimented with it.
I think I got the idea how it works.

If I want to go into more common juggle, like juggling with any move after this throw, what would be the method?
Not just removing again the "restored" code part ?
Re: (POTS) activate juggle after a throw
#12  August 11, 2021, 05:28:45 pm
  • ***
  • In a few minutes, bitch
    • Germany
If what you want if to juggle with every move after her throw, then you need to remove this:

Code:
[State 1466, Juggle]
type=varadd
trigger1= numtarget && !time
var(15)=1
ignorehitpause=1
[State 1466, Juggle]
type=varset
trigger1= numtarget && !time
var(16)=1
ignorehitpause=1

and add this

Code:
[State xxx, Juggle Reset]
type = VarSet
trigger1 = CONDITION
var(15) = 0

with condition being the animelem when kotaro throws the opponent. I'll try to explain the reason why so you just don't learn how to do stuff but you learn why you do stuff.

most moves have a hitdef with a trigger like this one:
Code:
triggerAll = !var(16) && (var(15) < 1 || var(20))
Let's break it down. This trigger means:
when var(16) is 0
AND
when var(15) is less than 1 OR when there's var(20) on

what are these three vars?
var(16) is a juggle flag. If it's set to 1, you can't combo anymore, because most hitdefs have !var(16), remember?
Your other throw had it so you couldn't combo off throw.

var(15) is the juggle points flag. var(15) basically increases by 1 every time you hit and put p2 into a falling state (a knockdown). Most moves (all normals notably) have var(15) < 1, so if you hit a character with anything that knockdowns, you will not be able to hit P2 again, because var(15) needs to be less than 1, remember?
you had a varAdd on the throw so you couldn't combo off throw

var(20) is the custom combo flag. when custom combo is on, var(20) is on. Remember that it was either var(15) < 1 OR var(20)? this is because when Custom Combo is on, you can ALWAYS juggle.

Now, let's go back to what we made.

we removed this
Code:
[State 1466, Juggle]
type=varadd
trigger1= numtarget && !time
var(15)=1
ignorehitpause=1
[State 1466, Juggle]
type=varset
trigger1= numtarget && !time
var(16)=1
ignorehitpause=1
this way var(16) is not 1 and var(15) doesn't add 1, hence your hitdefs will me their triggers, right?
Code:
triggerAll = !var(16) && (var(15) < 1 || var(20))

and then we added this:
Code:
[State xxx, Juggle Reset]
type = VarSet
trigger1 = CONDITION
var(15) = 0
this way var(15) is ALWAYS 0, so the var(15) < 1 condition of the hitdef is ALWAYS met, see?

I hope I was clear. Ask without holding back.
Re: (POTS) activate juggle after a throw
#13  August 16, 2021, 06:42:56 pm
  • *****
  • A.K.A. NED
  • I like to draw fighting game characters...
Thanks a lot bro!
For giving me a detailed axplanation and for your patience.

Again, coding is not my main skill. Now, I can go ahead with my project.

I'll go for the juggle with any move.
And keep both codes for other situations if needed.