From 4d1899037be53ea65aea9b6ea2cc0e3a5416cf55 Mon Sep 17 00:00:00 2001 From: JappaWakka Date: Thu, 2 Feb 2023 10:32:26 +0100 Subject: [PATCH] Fix item swap bug --- P3D/Pokemon/Attacks/Psychic/Trick.vb | 12 ++++++++++++ P3D/Pokemon/Monster/Pokemon.vb | 12 +++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/P3D/Pokemon/Attacks/Psychic/Trick.vb b/P3D/Pokemon/Attacks/Psychic/Trick.vb index 363a15a13..fff844669 100644 --- a/P3D/Pokemon/Attacks/Psychic/Trick.vb +++ b/P3D/Pokemon/Attacks/Psychic/Trick.vb @@ -123,6 +123,18 @@ Namespace BattleSystem.Moves.Psychic End If p.Item = i2 op.Item = i1 + + If p.Item IsNot Nothing AndAlso p.OriginalItem IsNot Nothing Then + If p.Item.ID = p.OriginalItem.ID AndAlso p.Item.AdditionalData = p.OriginalItem.AdditionalData Then + p.OriginalItem = Nothing + End If + End If + If op.Item IsNot Nothing AndAlso op.OriginalItem IsNot Nothing Then + If op.Item.ID = op.OriginalItem.ID AndAlso op.Item.AdditionalData = op.OriginalItem.AdditionalData Then + p.OriginalItem = Nothing + End If + End If + BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " switched items with " & op.GetDisplayName() & ".")) Else BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) diff --git a/P3D/Pokemon/Monster/Pokemon.vb b/P3D/Pokemon/Monster/Pokemon.vb index 4d472974a..f818dabee 100644 --- a/P3D/Pokemon/Monster/Pokemon.vb +++ b/P3D/Pokemon/Monster/Pokemon.vb @@ -998,13 +998,17 @@ Public Class Pokemon _originalNumber = -1 End If + If Not _originalItem Is Nothing Then + Me._originalItem = Nothing + End If + If Not _originalType1 Is Nothing Then - Me.Type1 = _originalType1 + Me.Type1.Type = _originalType1.Type _originalType1 = Nothing End If If Not _originalType2 Is Nothing Then - Me.Type2 = _originalType2 + Me.Type2.Type = _originalType2.Type _originalType2 = Nothing End If @@ -1162,9 +1166,7 @@ Public Class Pokemon Return Me._originalItem End Get Set(value As Item) - If Me._originalItem Is Nothing Then - Me._originalItem = value - End If + Me._originalItem = value End Set End Property