diff --git a/Game/AI/DefaultExecutor.cs b/Game/AI/DefaultExecutor.cs index 0828614f..e6f221f8 100644 --- a/Game/AI/DefaultExecutor.cs +++ b/Game/AI/DefaultExecutor.cs @@ -1579,7 +1579,7 @@ protected bool DefaultCheckWhetherCardIsNegated(ClientCard card) if (originId == 0) originId = card.Data.Id; return crossoutDesignatorIdList.Contains(originId) || (calledbytheGraveIdCountMap.ContainsKey(originId) && calledbytheGraveIdCountMap[originId] > 0) - || card.IsDisabled(); + || (card.IsDisabled() && ((int)card.Location & (int)CardLocation.Onfield) > 0); } protected bool DefaultCheckWhetherCardIdIsNegated(int cardId) diff --git a/Game/GameBehavior.cs b/Game/GameBehavior.cs index 3c7b2e60..c0bdc892 100644 --- a/Game/GameBehavior.cs +++ b/Game/GameBehavior.cs @@ -1024,7 +1024,7 @@ private void InternalOnSelectCard(BinaryReader packet, Func, i card.Controller = player; } if (card == null) continue; - if (card.Id == 0) + if (card.Id == 0 || card.Location == CardLocation.Deck) card.SetId(id); cards.Add(card); }