I wanted to figure out an efficient set of triggers to attack opponents who are helper characters using moves that can put p2 in a custom state. Note I don't want to put the helper opponents in custom states (that's impossible without fullgame standardization) I just want the attack to connect regardless if the opponent is or isn't a helpertype character. So I added a second hitdef to the state as a failsafe so the attack won't whiff completely.Here's my code:[State 420, Hit Players]type = HitDeftriggerall=!(target, ishelper)triggerall=P2Stateno!=421 ; opponent isn't in the hit by launcher statetrigger1=Animelem=2trigger2=!movecontacttrigger2=Animelem=3attr = S, NAdamage = 45, 0priority = 3, Hitpausetime = 8,8givepower = 30getpower = 45animtype = uphitflag = MAguardflag = MAFsparkno = s780sparkxy = -15,-60guard.sparkno = s8000hitsound = s702,0guardsound = s1,1ground.type = Highground.slidetime = 0ground.hittime = 20ground.velocity = 0, -16air.type = Lowairguard.velocity = -5,-5air.velocity = 0,-8air.hittime = 20P2stateno= 421recover=0[State 420, Hit Helpers]type = HitDeftriggerall=target, ishelpertrigger1=Animelem=2trigger2=!movecontacttrigger2=Animelem=3attr = S, NAdamage = 45, 0priority = 3, Hitpausetime = 8,8givepower = 30getpower = 45animtype = uphitflag = MAFDguardflag = MAFsparkno = -1sparkxy = -15,-60guard.sparkno = s8000hitsound = s702,0guardsound = s1,1ground.type = Highground.slidetime = 0ground.hittime = 25ground.velocity = 0, -10air.type = Lowairguard.velocity = -5,-5air.velocity = 0,-8p2facing = 1fall=1fall.hittime=200fall.recovertime=200recover=0air.hittime=200air.recovertime=200air.recover=0This works perfectly & connects on the nonhelper characters but it completely whiffs the Helper characters, what's wrong with my triggers for the second hitdef? On top of it not connecting, I get debug flood, please help. EDIT: I've tried changing the code to a simple double negative & it now hits the helpers and players but I'm still getting debug flood. Why will a double negative expression work and not a positive? And why am I still getting debug flood?My new code is this:[State 420, Hit Helpers]type = HitDeftriggerall!=!(target, ishelper)trigger1=Animelem=2trigger2=!movecontacttrigger2=Animelem=3attr = S, NAdamage = 45, 0priority = 3, Hitpausetime = 8,8givepower = 30getpower = 45animtype = uphitflag = MAFDguardflag = MAFsparkno = -1sparkxy = -15,-60guard.sparkno = s8000hitsound = s702,0guardsound = s1,1ground.type = Highground.slidetime = 0ground.hittime = 25ground.velocity = 0, -10air.type = Lowairguard.velocity = -5,-5air.velocity = 0,-8p2facing = 1fall=1fall.hittime=200fall.recovertime=200recover=0air.hittime=200air.recovertime=200air.recover=0
Hitdefs are the state controlers that give you a target in the first place, so, using a trigger that triggers a hitdef only when you have a target is sort of silly in this case. To solve your problem, instead of using the "p2stateno = ####," parameter, use a targetstate, like so:state #targetstatetrigger1 = numtarget && movehittrigger1 = !(target,ishelper)value = ####targetstate^ClickOn a side note, when you get debug spam for no target, that means you need to use a "numtarget" trigger, one trigger above the "target,blah" trigger.
triggerall=P2Stateno!=421 ; opponent isn't in the hit by launcher stateWhat if the opponent just so happens to have a state 421 of his own (like a light punch) and is currently doing it ?Rather give your hitdef an ID and then say that the hitdef can't chain with that ID (i.e. can't chain with itself). Id = 421nochainid = 421