@@ -9331,7 +9331,7 @@ BOOL daAlink_c::midnaTalkTrigger() const {
93319331}
93329332
93339333BOOL daAlink_c::swordSwingTrigger() {
9334- return swordTrigger();
9334+ return swordTrigger() && !checkNoResetFlg2(FLG2_UNK_8000000) ;
93359335}
93369336
93379337void daAlink_c::setItemActionButtonStatus(u8 i_status) {
@@ -11838,10 +11838,13 @@ BOOL daAlink_c::checkItemAction() {
1183811838 ) && ((mLinkAcch.ChkGroundHit() || checkMagneBootsOn()) && dComIfGp_getRStatus() == 0)
1183911839 )
1184011840 {
11841- setRStatus(BUTTON_STATUS_SHIELD_ATTACK);
11841+ if (itemButtonCheck(BTN_R)) {
11842+ setBStatus(BUTTON_STATUS_SHIELD_ATTACK);
1184211843
11843- if (spActionTrigger()) {
11844- return procGuardAttackInit();
11844+ // shield attack with B button
11845+ if (itemTriggerCheck(BTN_B)) {
11846+ return procGuardAttackInit();
11847+ }
1184511848 }
1184611849 }
1184711850 }
@@ -11850,6 +11853,15 @@ BOOL daAlink_c::checkItemAction() {
1185011853}
1185111854
1185211855BOOL daAlink_c::checkRAction() {
11856+ if (!checkUpperReadyThrowAnime() && !checkEquipAnime() && !checkGrabAnime()) {
11857+ if (checkGuardAccept() && !checkAttentionLock()) {
11858+ if (spActionButton()) {
11859+ return procCrouchInit();
11860+ }
11861+ }
11862+ }
11863+
11864+
1185311865 return false;
1185411866}
1185511867
@@ -17289,6 +17301,10 @@ int daAlink_c::procCrouch() {
1728917301 setFaceBasicBck(0);
1729017302 }
1729117303
17304+ if (!spActionButton() || (checkAttentionLock() && dComIfGs_getSelectEquipShield() != dItemNo_NONE_e)) {
17305+ return checkNextAction(0);
17306+ }
17307+
1729217308 if (mDemo.getDemoMode() != daPy_demo_c::DEMO_CROUCH_e &&
1729317309 (mSinkShapeOffset <= -80.0f || (checkAttentionLock() && checkGuardAccept())))
1729417310 {
0 commit comments