Skip to content

Commit 5eebe60

Browse files
committed
R shielding changes
1 parent 202ec41 commit 5eebe60

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

src/d/actor/d_a_alink.cpp

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9331,7 +9331,7 @@ BOOL daAlink_c::midnaTalkTrigger() const {
93319331
}
93329332

93339333
BOOL daAlink_c::swordSwingTrigger() {
9334-
return swordTrigger();
9334+
return swordTrigger() && !checkNoResetFlg2(FLG2_UNK_8000000);
93359335
}
93369336

93379337
void 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

1185211855
BOOL 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
{

src/d/actor/d_a_alink_guard.inc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,11 @@ void daAlink_c::setShieldGuard() {
192192
!checkCutDashChargeAnime() && (!checkEquipAnime() || checkUpperGuardAnime()) &&
193193
!checkRideOn() && checkGuardActionChange()))
194194
{
195-
onNoResetFlg2(FLG2_UNK_8000000);
195+
if (mDoCPd_c::getHoldR(PAD_1)) {
196+
onNoResetFlg2(FLG2_UNK_8000000);
197+
} else {
198+
offNoResetFlg2(FLG2_UNK_8000000);
199+
}
196200
} else {
197201
offNoResetFlg2(FLG2_UNK_8000000);
198202
}

0 commit comments

Comments
 (0)