summaryrefslogtreecommitdiff
path: root/src/00_Core/Player/LinkStateItem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/00_Core/Player/LinkStateItem.cpp')
-rw-r--r--src/00_Core/Player/LinkStateItem.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/00_Core/Player/LinkStateItem.cpp b/src/00_Core/Player/LinkStateItem.cpp
index 2c447778..4b85f21b 100644
--- a/src/00_Core/Player/LinkStateItem.cpp
+++ b/src/00_Core/Player/LinkStateItem.cpp
@@ -51,7 +51,7 @@ void LinkStateItem::OnStateLeave(s32 param1) {
case 0: break;
case 1: break;
case 2: break;
- case 4: EquipBomb::StopUsing(this); break;
+ case 4: EquipBomb::StopUsing(this, param1); break;
case 5: break;
case 6: EquipRope::StopUsing(this); break;
case 8: EquipHammer::StopUsing(this); break;
@@ -68,16 +68,22 @@ void LinkStateItem::OnStateLeave(s32 param1) {
pEVar1->vfunc_1c();
}
- if ((this->mEquipId <= 9 && this->mEquipId >= 9) || (this->mEquipId <= 1 && this->mEquipId >= -1) && (this->mEquipId != -1 && this->mEquipId != 0 && this->mEquipId != 1)) {
- if (this->mEquipId == 10) this->EquipItem_vfunc_28();
- }
- else {
- this->EquipItem_vfunc_28();
-
- if (param1 != 4 && param1 != 2) {
- pLVar2 = this->GetLinkStateMove();
- pLVar2->mUnk_14 = true;
- }
+ switch (this->mEquipId) {
+ case -1:
+ case 0:
+ break;
+ case 1:
+ break;
+ case 9:
+ case 10:
+ this->EquipItem_vfunc_28();
+ break;
+ default:
+ this->EquipItem_vfunc_28();
+ if (param1 != 4 && param1 != 2) {
+ pLVar2 = this->GetLinkStateMove();
+ pLVar2->mUnk_14 = true;
+ }
}
this->mNextEquip = 0xffffffff;