Fixes for Selling Items in TradeScreen...

The base price of a sellable item can now be set as well, even if an item is not in stock.
This commit is contained in:
JappaWakka 2025-02-22 19:00:06 +01:00
parent d01af0ad9d
commit 2400d68fb6
1 changed files with 12 additions and 1 deletions

View File

@ -124,6 +124,7 @@ Public Class TradeScreen
End Structure End Structure
Private TradeItems As New List(Of TradeItem) Private TradeItems As New List(Of TradeItem)
Private PossibleStoreItems As New List(Of TradeItem)
Private CanBuyItems As Boolean = True Private CanBuyItems As Boolean = True
Private CanSellItems As Boolean = True Private CanSellItems As Boolean = True
Private Currency As Currencies = Currencies.Pokédollar Private Currency As Currencies = Currencies.Pokédollar
@ -162,13 +163,16 @@ Public Class TradeScreen
ResultAmount = ScriptConversion.ToInteger(itemData(1)) - CInt(registerContent(0)) ResultAmount = ScriptConversion.ToInteger(itemData(1)) - CInt(registerContent(0))
End If End If
Me.TradeItems.Add(New TradeItem(itemData(0), ResultAmount, ScriptConversion.ToInteger(itemData(2)), Me.Currency)) Me.TradeItems.Add(New TradeItem(itemData(0), ResultAmount, ScriptConversion.ToInteger(itemData(2)), Me.Currency))
Me.PossibleStoreItems.Add(New TradeItem(itemData(0), -1, ScriptConversion.ToInteger(itemData(2)), Me.Currency))
End If End If
End If End If
Else Else
Me.TradeItems.Add(New TradeItem(itemData(0), ScriptConversion.ToInteger(itemData(1)), ScriptConversion.ToInteger(itemData(2)), Me.Currency)) Me.TradeItems.Add(New TradeItem(itemData(0), ScriptConversion.ToInteger(itemData(1)), ScriptConversion.ToInteger(itemData(2)), Me.Currency))
Me.PossibleStoreItems.Add(New TradeItem(itemData(0), -1, ScriptConversion.ToInteger(itemData(2)), Me.Currency))
End If End If
Else Else
Me.TradeItems.Add(New TradeItem(itemData(0), ScriptConversion.ToInteger(itemData(1)), ScriptConversion.ToInteger(itemData(2)), Me.Currency)) Me.TradeItems.Add(New TradeItem(itemData(0), ScriptConversion.ToInteger(itemData(1)), ScriptConversion.ToInteger(itemData(2)), Me.Currency))
Me.PossibleStoreItems.Add(New TradeItem(itemData(0), -1, ScriptConversion.ToInteger(itemData(2)), Me.Currency))
End If End If
Next Next
@ -935,9 +939,16 @@ Public Class TradeScreen
Else Else
ItemID = i.ID.ToString ItemID = i.ID.ToString
End If End If
If i.CanBeTraded = True Then If i.CanBeTraded = True Then
If i.ItemType = Me.CurrentCategory Then If i.ItemType = Me.CurrentCategory Then
SellItemsList.Add(New TradeItem(ItemID, c.Amount, -1, Me.Currency)) Dim price As Integer = -1
For Each sellItem As TradeItem In Me.PossibleStoreItems
If sellItem.ItemID = ItemID Then
price = sellItem.Price
End If
Next
SellItemsList.Add(New TradeItem(ItemID, c.Amount, price, Me.Currency))
End If End If
End If End If
Next Next