From 263e5be78e63bb4a02df72090c14a118fe374059 Mon Sep 17 00:00:00 2001
From: Valentin Vanelslande <vvanelslandedev@gmail.com>
Date: Tue, 14 Apr 2020 07:33:49 -0500
Subject: [PATCH] Fix Luigi's Mansion can't remove amiibo bug (#5200)

* Fix Luigi's Mansion can't remove amiibo bug
---
 src/core/hle/service/nfc/nfc.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/core/hle/service/nfc/nfc.cpp b/src/core/hle/service/nfc/nfc.cpp
index 86eb6daeb..3610b5416 100644
--- a/src/core/hle/service/nfc/nfc.cpp
+++ b/src/core/hle/service/nfc/nfc.cpp
@@ -323,10 +323,12 @@ void Module::SyncTagState() {
         // detected on Scanning->TagInRange?
         nfc_tag_state = TagState::TagInRange;
         tag_in_range_event->Signal();
-    } else if (!amiibo_in_range && nfc_tag_state == TagState::TagInRange) {
-        nfc_tag_state = TagState::TagOutOfRange;
+    } else if (!amiibo_in_range &&
+               (nfc_tag_state == TagState::TagInRange || nfc_tag_state == TagState::TagDataLoaded ||
+                nfc_tag_state == TagState::Unknown6)) {
         // TODO (wwylele): If a tag is removed during TagDataLoaded/Unknown6, should this event
         // signals early?
+        nfc_tag_state = TagState::TagOutOfRange;
         tag_out_of_range_event->Signal();
     }
 }