
Board: Your Releases, 1.0+
Code:
[State 3831, 2 (Bug - Noel is not in the Last Arc Statedef, but the opponent is in the Last Arc Statedef)];/* ※ */
type = SelfState
triggerall = !IsHelper
trigger1 = PlayerIDExist(GetHitvar(Fall.Envshake.Ampl)/2) = 0
trigger2 = PlayerIDExist(GetHitvar(Fall.Envshake.Ampl)/2)
trigger2 = PlayerID(GetHitvar(Fall.Envshake.Ampl)/2),StateNo < 200 || PlayerID(GetHitvar(Fall.Envshake.Ampl)/2),MoveType = H
value = cond(pos y >= 0,5110,5020)
ctrl = 0
using GetHitvar(Fall.Envshake.Ampl)/2 to pass attacker's ID can work in MUGEN but not IKEMEN
Fall.Envshake.Ampl will auto adapte when target and self localcoord mismatch.
Check this post
https://github.com/ikemen-engine/Ikemen-GO/issues/2176#issuecomment-2538223075
POTS suggest use another parameter other than the Fall.Envshake.ampl since it auto adapte to different localcoord.
My Ikemen saber updated to use Fall.Envshake.Time to pass attacker ID
since time is equal for all localcoord size character no need to auto adapte.
Code:
[State 3211, Return]
type = SelfState
trigger1 = PlayerIDExist(GetHitvar(Fall.Envshake.Time) / 2) = 0
trigger2 = PlayerIDExist(GetHitvar(Fall.Envshake.Time) / 2) = 1
trigger2 = !(PlayerID(GetHitvar(Fall.Envshake.Time) / 2),StateNo = [3200,3209])
trigger3 = PlayerIDExist(GetHitvar(Fall.Envshake.Time) / 2) = 1
trigger3 = PlayerID(GetHitvar(Fall.Envshake.Time) / 2), Time > 400
value = 5050