YesNoOk
avatar

Implementing invalid combo check. (Read 830 times)

Started by Ricepigeon, December 04, 2018, 05:44:24 pm
Share this topic:
Implementing invalid combo check.
#1  December 04, 2018, 05:44:24 pm
  • *****
  • Thanks and God bless
    • USA
    • ricepigeon.neocities.org
Alright, so an issue has been brought to my attention lately regarding some of my newer characters; they all have an indicator showing when a combo is invalid (that is, when an opponent can tech out of a combo but chose not to), which is handled in their -2 state:

Code:
; Invalid Combo Identifier
;---------------------------
[State -2, REX]
type = removeexplod
triggerall = numexplod(7944)
triggerall = var(35)=2
trigger1 = movehit=1
trigger2 = projhittime(21000)=1 ; Disorder Eye
trigger3 = projhittime(21100)=1 ; Lunatic Shotgun
trigger4 = numhelper(21200) ; Lunatic Clamp
trigger4 = helper(21200),movehit=1
trigger5 = numhelper(21300) ; Medicine Chest
trigger5 = helper(21300),movehit=1
trigger6 = numhelper(21410) ; Disbelief Aspect
trigger6 = helper(21410),movehit=1
trigger7 = numhelper(22200) ; Lunatic Red Eyes
trigger7 = helper(22200),movehit=1
id = 7944
ignorehitpause = 1
[State -2, Counterhit Explod]
type = Explod
triggerall = numenemy
triggerall = var(35) = 2
triggerall = numexplod(7944)=0
triggerall = enemy,statetype!=L
trigger1 = movehit=1
trigger2 = projhittime(21000)=1 ; Disorder Eye
trigger3 = projhittime(21100)=1 ; Lunatic Shotgun
trigger4 = numhelper(21200) ; Lunatic Clamp
trigger4 = helper(21200),movehit=1
trigger5 = numhelper(21300) ; Medicine Chest
trigger5 = helper(21300),movehit=1
trigger6 = numhelper(21410) ; Disbelief Aspect
trigger6 = helper(21410),movehit=1
trigger7 = numhelper(22200) ; Lunatic Red Eyes
trigger7 = helper(22200),movehit=1
anim = 7944+1*(teamside!=1)
ID = 7944
pos = ifelse(teamside=1,0,320),120
postype = left
facing = 1
vfacing = 1
bindtime = -1
removetime = -2
pausemovetime = 65535
supermovetime = 65535
sprpriority = 999
scale = 0.5,0.5
ontop = 1
ownpal = 1
ignorehitpause = 1

[State -2]
type = VarAdd
triggerall = numenemy
trigger1 = Var(35)=[0,1]
trigger1 = P2StateType = A || P2StateType = L
trigger1 = P2MoveType = H
trigger1 = EnemyNear,HitFall = 1
trigger1 = EnemyNear,CanRecover
var(35)=1
SuperMoveTime = 99999
PauseMoveTime = 99999

[State -2]
type = VarSet
triggerall = numenemy
triggerAll = Var(35)=2
trigger1 = P2MoveType = I || P2MoveType = A
trigger2 =! EnemyNear,CanRecover
trigger3 = EnemyNear,HitFall = 0
trigger4 = P2StateNo = [5200,5210]
var(35) = 0
IgnoreHitPause = 1
SuperMoveTime = 99999
PauseMoveTime = 99999

While this works fine for the melee attacks and some Specials, I'm noticing that other moves, namely anything utilizing a projectile controller (triggers 2 & 3) or anything that causes an untechable knockdown (trigger7) fails to trigger the explod. I decided to try a workaround for the latter by having the projectiles spawn a 1-tick projectile controller and have the explod detect that, but to no avail.
Last Edit: December 10, 2018, 09:10:20 pm by Ricepigeon
Re: Implementing invalid combo check.
#2  December 04, 2018, 06:53:24 pm
  • ****
    • USA
    • twitter.com/inktrebuchet
Will the expold trigger if you have it 1 tick ahead of the removeexplod?

Code:
trigger2 = projhittime(21000)=2 ;Disorder Eye
trigger3 = projhittime(21100)=2 ;Lunatic Shotgun
Re: Implementing invalid combo check.
#3  December 04, 2018, 07:34:32 pm
  • *****
  • Thanks and God bless
    • USA
    • ricepigeon.neocities.org
The removeexplod is mostly there to prevent duplicate invalid combo messages from popping up, but I'll test it out when I get the chance.

EDIT: Just tried it and no dice. I also seem to be getting inconsistent results with the helpers as well. For instance, a Normal into a Special won't activate the explod, despite the fact that they can tech, yet linking a different Special into the same one as the first example will cause it to activate just fine.
Last Edit: December 05, 2018, 03:29:51 am by Ricepigeon
Re: Implementing invalid combo check.
New #4  December 10, 2018, 09:10:06 pm
  • *****
  • Thanks and God bless
    • USA
    • ricepigeon.neocities.org
I forgot that thread was still open, but I ended up redoing the whole thing from scratch using a different implementation loosely based on another author's stuff, which resolved all problems. I may document it publicly so people can use the same method.

EDIT: Tutorial is now written up
Last Edit: December 10, 2018, 09:45:29 pm by Ricepigeon