private ParamData.AtkParam GetAtkParamFromEventBox(TaeEditAnimEventBox evBox) { ParamData.AtkParam atkParam = null; if (evBox.MyEvent.TypeName == "InvokeAttackBehavior" || evBox.MyEvent.TypeName == "InvokeThrowDamageBehavior") { if (!MODEL.IS_PLAYER) { atkParam = ParamManager.GetNpcBasicAtkParam(MODEL.NpcParam, (int)evBox.MyEvent.Parameters["BehaviorSubID"]); } else { bool isLeftHand = MODEL.DummyPolyMan.IsViewingLeftHandHit; if (evBox.MyEvent.TypeName == "InvokeAttackBehavior") { var atkType = (int)evBox.MyEvent.Parameters["AttackType"]; if (atkType == 64 /*Parry*/) { isLeftHand = true; } else if (atkType == 2 /*Forward+R1*/ || atkType == 62 /*Plunging attack*/) { isLeftHand = false; } } atkParam = ParamManager.GetPlayerBasicAtkParam( isLeftHand ? MODEL.ChrAsm.LeftWeapon : MODEL.ChrAsm.RightWeapon, (int)evBox.MyEvent.Parameters["BehaviorSubID"], isLeftHand); } } else if (evBox.MyEvent.TypeName == "InvokeCommonBehavior") { atkParam = ParamManager.GetPlayerCommonAttack((int)evBox.MyEvent.Parameters["BehaviorParamID"]); } else if (evBox.MyEvent.TypeName == "InvokePCBehavior") { if (MODEL.IS_PLAYER) { int condition = (int)evBox.MyEvent.Parameters["Condition"]; if (condition == 4) { atkParam = ParamManager.GetPlayerCommonAttack((int)evBox.MyEvent.Parameters["BehaviorSubID"]); } else if (condition == 8) { atkParam = ParamManager.GetPlayerBasicAtkParam( MODEL.DummyPolyMan.IsViewingLeftHandHit ? MODEL.ChrAsm.LeftWeapon : MODEL.ChrAsm.RightWeapon, (int)evBox.MyEvent.Parameters["BehaviorSubID"], isLeftHand: MODEL.DummyPolyMan.IsViewingLeftHandHit); } else if (condition == 2) { atkParam = ParamManager.GetPlayerBasicAtkParam( MODEL.ChrAsm.LeftWeapon, (int)evBox.MyEvent.Parameters["BehaviorSubID"], isLeftHand: true); } else { Console.WriteLine($"Unknown InvokePCBehavior condition: {condition}"); } } } return(atkParam); }