Updated the new GUI to the latest state of the cool_menus_experiment branch.

This commit is contained in:
CaptainSegis 2017-08-11 02:01:17 -05:00
parent b4e2375244
commit f200cbaa48
69 changed files with 375 additions and 127 deletions

View File

@ -1661,7 +1661,6 @@
<Compile Include="Screens\BattleIntroScreen.vb" />
<Compile Include="Screens\Battle\BattleCatchScreen.vb" />
<Compile Include="Screens\Battle\BattleGrowStatsScreen.vb" />
<Compile Include="Screens\Battle\BattlePokemonInfoScreen.vb" />
<Compile Include="Screens\Battle\BlackOutScreen.vb" />
<Compile Include="Screens\Credits\CreditsCamera.vb" />
<Compile Include="Screens\Credits\CreditsScreen.vb" />
@ -1672,8 +1671,6 @@
<Compile Include="Screens\GUI\ISelectionScreen.vb" />
<Compile Include="Screens\HistoryScreen.vb" />
<Compile Include="Screens\Inventory\ApricornScreen.vb" />
<Compile Include="Screens\Inventory\ChoosePokemonScreen.vb" />
<Compile Include="Screens\Inventory\InventoryScreen.vb" />
<Compile Include="Screens\Inventory\ItemDetailScreen.vb" />
<Compile Include="Screens\Inventory\NewInventoryScreen.vb" />
<Compile Include="Screens\Inventory\PokegearScreen.vb" />
@ -1689,7 +1686,6 @@
<Compile Include="Screens\MapPreview\MapPreviewCamera.vb" />
<Compile Include="Screens\MapPreview\MapPreviewScreen.vb" />
<Compile Include="Screens\MapScreen.vb" />
<Compile Include="Screens\MenuScreen.vb" />
<Compile Include="Screens\NewGameScreen.vb" />
<Compile Include="Screens\NewMenuScreen.vb" />
<Compile Include="Screens\NewTrainerScreen.vb" />
@ -1708,9 +1704,6 @@
<Compile Include="Screens\Pokemon\LearnAttackScreen.vb" />
<Compile Include="Screens\Pokemon\NameObjectScreen.vb" />
<Compile Include="Screens\Pokemon\PartyScreen.vb" />
<Compile Include="Screens\Pokemon\PokemonScreen.vb" />
<Compile Include="Screens\Pokemon\PokemonScreenV2.vb" />
<Compile Include="Screens\Pokemon\PokemonStatusScreen.vb" />
<Compile Include="Screens\Pokemon\SummaryScreen.vb" />
<Compile Include="Screens\Pokemon\TeachMovesScreen.vb" />
<Compile Include="Screens\SaveScreen.vb" />
@ -1718,7 +1711,6 @@
<Compile Include="Screens\StatisticsScreen.vb" />
<Compile Include="Screens\testWindowScreen.vb" />
<Compile Include="Screens\TradeScreen.vb" />
<Compile Include="Screens\TrainerScreen.vb" />
<Compile Include="Screens\TransitionScreen.vb" />
<Compile Include="Screens\WindowScreen.vb" />
<Compile Include="Security\FileValidation.vb" />

View File

@ -692,14 +692,24 @@
Private Sub MainMenuOpenPokemon(ByVal BattleScreen As BattleScreen)
TempBattleScreen = BattleScreen
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf ShowPokemonMenu, "Choose Pokémon", True))
CType(Core.CurrentScreen, PartyScreen)._index = BattleScreen.OwnPokemonIndex
Player.Temp.PokemonScreenIndex = BattleScreen.OwnPokemonIndex
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf ShowPokemonMenu, "Choose Pokémon", True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf ShowPokemonMenuHandler
Core.SetScreen(selScreen)
End Sub
Private Sub MainMenuOpenBag(ByVal BattleScreen As BattleScreen)
If BattleScreen.CanUseItems = True Then
TempBattleScreen = BattleScreen
Core.SetScreen(New NewInventoryScreen(Core.CurrentScreen, {}, AddressOf SelectedItem))
Dim selScreen As New NewInventoryScreen(Core.CurrentScreen)
selScreen.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection
selScreen.CanExit = True
AddHandler selScreen.SelectedObject, AddressOf SelectedItemHandler
Core.SetScreen(selScreen)
End If
End Sub
@ -908,9 +918,12 @@
#Region "SwitchPokemon"
Shared TempBattleScreen As BattleScreen
Private Shared Sub ShowPokemonMenuHandler(ByVal params As Object())
ShowPokemonMenu(CInt(params(0)))
End Sub
Private Shared Sub ShowPokemonMenu(ByVal PokeIndex As Integer)
Core.SetScreen(New BattlePokemonInfoScreen(Core.CurrentScreen, PokeIndex, AddressOf SwitchPokemonTo, TempBattleScreen))
SwitchPokemonTo(PokeIndex)
End Sub
Private Shared Sub SwitchPokemonTo(ByVal PokeIndex As Integer)
@ -953,6 +966,10 @@
#Region "UseItem"
Private Shared Sub SelectedItemHandler(ByVal params As Object())
SelectedItem(CInt(params(0)))
End Sub
Private Shared Sub SelectedItem(ByVal itemID As Integer)
Dim Item As Item = Item.GetItemByID(itemID)
@ -982,7 +999,11 @@
TempItemID = itemID
If Item.BattleSelectPokemon = True Then
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Item, AddressOf UseItem, "Use " & Item.Name, True))
'Core.SetScreen(New PartyScreen(Core.CurrentScreen, Item, AddressOf UseItem, "Use " & Item.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item, AddressOf Item.UseOnPokemon, "Use " & Item.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemHandler
Core.SetScreen(selScreen)
Else
UseItem(0)
End If
@ -992,6 +1013,10 @@
Shared TempItemID As Integer = -1
Private Shared Sub UseItemhandler(ByVal params As Object())
UseItem(CInt(params(0)))
End Sub
Private Shared Sub UseItem(ByVal PokeIndex As Integer)
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)

View File

@ -109,7 +109,10 @@
If Controls.Accept(True, True, True) = True Then
If _chooseIndex = 0 Then
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf Me.ChoosePokemon, "Choose Pokémon to battle:", False))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf ChoosePokemon, "Choose Pokémon to battle!", False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf ChoosePokemonHandler
Core.SetScreen(selScreen)
Else
_ready = True
End If
@ -118,6 +121,10 @@
Dim TempScreen As BattleScreen
Private Sub ChoosePokemonHandler(ByVal params As Object())
ChoosePokemon(CInt(params(0)))
End Sub
Private Sub ChoosePokemon(ByVal PokeIndex As Integer)
TempScreen.Battle.SwitchOutOwn(TempScreen, PokeIndex, insertIndex)
Me._ready = True

View File

@ -25,10 +25,19 @@
Public Overrides Sub ResultFunction(ByVal Result As Integer)
If Result = 0 Then
Core.SetScreen(New NewInventoryScreen(Core.CurrentScreen, {4}, 4, AddressOf Me.PlantBerry))
Dim selScreen As New NewInventoryScreen(Core.CurrentScreen, {2}, 2, Nothing)
selScreen.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection
selScreen.CanExit = True
AddHandler selScreen.SelectedObject, AddressOf PlantBerryHandler
Core.SetScreen(selScreen)
End If
End Sub
Public Sub PlantBerryHandler(ByVal params As Object())
PlantBerry(CInt(params(0)))
End Sub
Public Sub PlantBerry(ByVal ChosenBerry As Integer)
Dim testItem As Item = Item.GetItemByID(ChosenBerry)
If testItem.isBerry = True Then

View File

@ -716,7 +716,10 @@
Core.SetScreen(New SelectFriendScreen(Me))
End If
If New Rectangle(100, 300, 32 * 5 + 64, 32).Contains(MouseHandler.MousePosition) = True Then
Core.SetScreen(New PartyScreen(Me, Item.GetItemByID(5), AddressOf ChosenPokemon, "Choose Pokémon to trade", True, True, False))
Dim selScreen = New PartyScreen(Me, Item.GetItemByID(5), AddressOf ChosenPokemon, "Choose Pokémon for Trade", True, True, False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf ChosenPokemonHandler
Core.SetScreen(selScreen)
CType(Core.CurrentScreen, PartyScreen).CanChooseHMPokemon = False
End If
If New Rectangle(700, 540, 32 * 3 + 64, 32).Contains(MouseHandler.MousePosition) = True Then
@ -739,6 +742,10 @@
End If
End Sub
Private Sub ChosenPokemonHandler(ByVal params As Object())
ChosenPokemon(CInt(params(0)))
End Sub
Private Sub ChosenPokemon(ByVal PokeIndex As Integer)
If Me.PokeIndex = -1 And NewTrade = False Then
LoadedPokemon = D.Pokemon

View File

@ -44,13 +44,18 @@
If Controls.Accept(True, False) = True Then
If New Rectangle(180, 560, 32 * 5 + 64, 32).Contains(MouseHandler.MousePosition) = True Then
Core.SetScreen(New PartyScreen(Me, Item.GetItemByID(5), AddressOf ChosePokemon, "Chose Pokémon to trade!", True))
Dim selScreen = New PartyScreen(Me, Item.GetItemByID(5), AddressOf ChosePokemon, "Choose Pokémon to trade", True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf ChosePokemonHandler
Core.SetScreen(selScreen)
End If
If New Rectangle(180, 510, 32 * 5 + 64, 32).Contains(MouseHandler.MousePosition) = True Then
PokeIndex = -1
End If
If New Rectangle(780, 560, 32 * 5 + 64, 32).Contains(MouseHandler.MousePosition) = True Then
Core.SetScreen(New PokemonStatusScreen(Me, 0, {D.Pokemon}, D.Pokemon, False))
Core.SetScreen(New SummaryScreen(Me, {D.Pokemon}, 0))
''Core.SetScreen(New PokemonStatusScreen(Me, 0, {D.Pokemon}, D.Pokemon, False))
End If
If New Rectangle(520, 560, 32 * 3 + 64, 32).Contains(MouseHandler.MousePosition) = True Then
If MeetsCondition() = True Then
@ -64,6 +69,10 @@
End If
End Sub
Private Sub ChosePokemonHandler(ByVal params As Object())
ChosePokemon(CInt(params(0)))
End Sub
Private Sub ChosePokemon(ByVal PokeIndex As Integer)
Me.PokeIndex = PokeIndex
End Sub

View File

@ -202,7 +202,10 @@
If Me.OpenedSelect = True Then
Me.CloseScreen()
Else
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf Me.SelectPokemonForTrade, "Choose Pokémon for Trade", True, True, False))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf SelectPokemonForTrade, "Choose Pokémon for Trade", True, False, False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf SelectPokemonForTradeHandler
Core.SetScreen(selScreen)
CType(Core.CurrentScreen, PartyScreen).CanChooseHMPokemon = False
Me.OpenedSelect = True
End If
@ -243,6 +246,10 @@
End Select
End Sub
Private Sub SelectPokemonForTradeHandler(ByVal params As Object())
SelectPokemonForTrade(CInt(params(0)))
End Sub
Private Sub SelectPokemonForTrade(ByVal pokeIndex As Integer)
Me.SelectedPokemonIndex = pokeIndex
Me.SelectedPokemon = Core.Player.Pokemons(pokeIndex)

View File

@ -288,8 +288,12 @@
Case 0
Me.StartTrade()
Case 1
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf Me.SelectPokemonForTrade, "Choose Pokémon for Trade", True, False, False))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf SelectPokemonForTrade, "Choose Pokémon for Trade", True, False, False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf SelectPokemonForTradeHandler
Core.SetScreen(selScreen)
CType(Core.CurrentScreen, PartyScreen).CanChooseHMPokemon = False
Case 2
Me.QuitTrade()
End Select
@ -314,6 +318,10 @@
End If
End Sub
Private Sub SelectPokemonForTradeHandler(ByVal params As Object())
SelectPokemonForTrade(CInt(params(0)))
End Sub
Private Sub SelectPokemonForTrade(ByVal pokeIndex As Integer)
If pokeIndex > -1 Then
Me.OfferPokemon = Core.Player.Pokemons(pokeIndex)

View File

@ -286,10 +286,17 @@
Private Sub StartBattle()
If Not Me.OwnTeam Is Nothing And Not OppTeam Is Nothing Then
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf LeadPickedStart, "Choose your lead.", True, True, False, _pokemonList:=OwnTeam))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf LeadPickedStart, "Choose your Lead", True, True, False, _pokemonList:=OwnTeam) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf LeadPickedStartHandler
Core.SetScreen(selScreen)
End If
End Sub
Public Sub LeadPickedStartHandler(ByVal params As Object())
LeadPickedStart(CInt(params(0)))
End Sub
Private Sub LeadPickedStart(ByVal index As Integer)
BattleSystem.BattleScreen.OwnLeadIndex = index
Core.ServersManager.ServerConnection.SendPackage(New Servers.Package(Servers.Package.PackageTypes.BattleOffer,

View File

@ -173,7 +173,7 @@ Public Class OverworldScreen
If ActionScript.IsReady = True Then
If MouseHandler.ButtonPressed(MouseHandler.MouseButtons.MiddleButton) = True Or ControllerHandler.ButtonPressed(Buttons.LeftStick) = True Then
If Core.Player.Pokemons.Count > 0 Then
Core.SetScreen(New PokemonStatusScreen(Core.CurrentScreen, 0, {}, Core.Player.Pokemons(0), True))
Core.SetScreen(New SummaryScreen(CurrentScreen, Core.Player.Pokemons.ToArray, 0))
End If
End If
End If

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -25,7 +25,10 @@ Namespace Items.Berries
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemHandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,14 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
If CBool(GameModeManager.GetGameRuleValue("CanUseHealItem", "1")) = False Then
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -19,7 +19,10 @@ Namespace Items.Berries
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -200,6 +200,10 @@ Public MustInherit Class Item
Logger.Debug("PLACEHOLDER FOR ITEM USE")
End Sub
Public Sub UseItemhandler(ByVal params As Object())
UseOnPokemon(CInt(params(0)))
End Sub
''' <summary>
''' A method that gets used when the item is applied to a Pokémon. Returns True if the action was successful.
''' </summary>

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -14,7 +14,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -13,7 +13,10 @@ Namespace Items.Medicine
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -18,7 +18,10 @@ Namespace Items.Medicine
Screen.TextBox.Show("Cannot use heal items.", {}, False, False)
Exit Sub
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -26,14 +26,11 @@ Namespace Items
End If
If Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Fainted Then
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & "~is fainted!", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is fainted!")
Return False
Else
If Pokemon.HP = Pokemon.MaxHP Then
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & " has full~HP already.", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " has full HP already.")
Return False
Else
@ -42,13 +39,11 @@ Namespace Items
Pokemon.Heal(HP)
Screen.TextBox.reDelay = 0.0F
Dim t As String = "Restored " & Pokemon.GetDisplayName() & "'s~HP by " & diff & "."
Dim t As String = "Restored " & Pokemon.GetDisplayName() & "'s HP by " & diff & "."
t &= RemoveItem()
SoundManager.PlaySound("single_heal", False)
Screen.TextBox.Show(t, {})
CType(CurrentScreen, PartyScreen).ShowMessage(t)
PlayerStatistics.Track("[17]Medicine Items used", 1)
Return True
@ -68,27 +63,23 @@ Namespace Items
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)
If Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Fainted Then
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & "~is fainted!", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is fainted!")
Return False
ElseIf Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Poison Or Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.BadPoison Then
Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.None
Screen.TextBox.reDelay = 0.0F
Dim t As String = "Cures the poison of " & Pokemon.GetDisplayName() & "."
t &= RemoveItem()
PlayerStatistics.Track("[17]Medicine Items used", 1)
SoundManager.PlaySound("single_heal", False)
Screen.TextBox.Show(t, {})
CType(CurrentScreen, PartyScreen).ShowMessage(t)
Return True
Else
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & " is not poisoned.", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is not poisoned.")
Return False
End If
End Function
@ -105,26 +96,23 @@ Namespace Items
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)
If Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Fainted Then
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & "~is fainted!", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is fainted!")
Return False
ElseIf Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Sleep Then
Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.None
Screen.TextBox.reDelay = 0.0F
Dim t As String = "Cures the sleep of " & Pokemon.GetDisplayName() & "."
t &= RemoveItem()
SoundManager.PlaySound("single_heal", False)
Screen.TextBox.Show(t, {})
CType(CurrentScreen, PartyScreen).ShowMessage(t)
PlayerStatistics.Track("[17]Medicine Items used", 1)
Return True
Else
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & " is not asleep.", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is not asleep.")
Return False
End If
@ -142,26 +130,23 @@ Namespace Items
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)
If Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Fainted Then
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & "~is fainted!", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is fainted!")
Return False
ElseIf Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Burn Then
Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.None
Screen.TextBox.reDelay = 0.0F
Dim t As String = "Cures the burn of " & Pokemon.GetDisplayName() & "."
t &= RemoveItem()
SoundManager.PlaySound("single_heal", False)
Screen.TextBox.Show(t, {})
CType(CurrentScreen, PartyScreen).ShowMessage(t)
PlayerStatistics.Track("[17]Medicine Items used", 1)
Return True
Else
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & " is not burned.", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is not burned.")
Return False
End If
@ -179,28 +164,25 @@ Namespace Items
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)
If Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Fainted Then
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & "~is fainted!", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is fainted!")
Return False
ElseIf Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Freeze Then
Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.None
Core.Player.Inventory.RemoveItem(Me.ID, 1)
Screen.TextBox.reDelay = 0.0F
Dim t As String = "Cures the ice of " & Pokemon.GetDisplayName() & "."
t &= RemoveItem()
SoundManager.PlaySound("single_heal", False)
Screen.TextBox.Show(t, {})
CType(CurrentScreen, PartyScreen).ShowMessage(t)
PlayerStatistics.Track("[17]Medicine Items used", 1)
Return True
Else
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & " is not frozen.", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is not frozen.")
Return False
End If
@ -218,28 +200,25 @@ Namespace Items
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)
If Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Fainted Then
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & "~is fainted!", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is fainted!")
Return False
ElseIf Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Paralyzed Then
Pokemon.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.None
Core.Player.Inventory.RemoveItem(Me.ID, 1)
Screen.TextBox.reDelay = 0.0F
Dim t As String = "Cures the paralyzis~of " & Pokemon.GetDisplayName() & "."
Dim t As String = "Cures the paralysis of " & Pokemon.GetDisplayName() & "."
t &= RemoveItem()
SoundManager.PlaySound("single_heal", False)
Screen.TextBox.Show(t, {})
CType(CurrentScreen, PartyScreen).ShowMessage(t)
PlayerStatistics.Track("[17]Medicine Items used", 1)
Return True
Else
Screen.TextBox.reDelay = 0.0F
Screen.TextBox.Show(Pokemon.GetDisplayName() & " is not~paralyzed.", {})
CType(CurrentScreen, PartyScreen).ShowMessage(Pokemon.GetDisplayName() & " is not paralyzed.")
Return False
End If

View File

@ -14,7 +14,10 @@ Namespace Items.Standard
End Sub
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -8,7 +8,10 @@ Namespace Items
Public Overrides ReadOnly Property PokeDollarPrice As Integer = 2100
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean

View File

@ -92,7 +92,10 @@
Public Overrides Sub Use()
SoundManager.PlaySound("PC\pc_logon", False)
SetScreen(New PartyScreen(CurrentScreen, Me, AddressOf UseOnPokemon, "Teach " & Attack.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
CType(CurrentScreen, PartyScreen).SetupLearnAttack(Attack, 1, Me)
End Sub

View File

@ -12,7 +12,10 @@ Namespace Items
Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
''' <summary>

View File

@ -13,7 +13,10 @@ Namespace Items
Public Overrides ReadOnly Property PokeDollarPrice As Integer = 3000
Public Overrides Sub Use()
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me, AddressOf Me.UseOnPokemon, "Use " & Me.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf UseItemhandler
Core.SetScreen(selScreen)
End Sub
''' <summary>

View File

@ -139,7 +139,10 @@
Case Localization.GetString("item_detail_screen_use")
Item.Use()
Case Localization.GetString("item_detail_screen_give")
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Me.Item, AddressOf GiveItem, Localization.GetString("item_detail_screen_give_item") & Me.Item.Name, True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Me.Item, AddressOf GiveItem, Localization.GetString("item_detail_screen_give_item") & Me.Item.Name, True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf GiveItemHandler
Core.SetScreen(selScreen)
Case Localization.GetString("item_detail_screen_trash")
Core.Player.Inventory.RemoveItem(Me.Item.ID, trashValue)
Case Localization.GetString("item_detail_screen_back")
@ -153,6 +156,10 @@
End If
End Sub
Private Sub GiveItemHandler(ByVal params As Object())
GiveItem(CInt(params(0)))
End Sub
Private Sub GiveItem(ByVal PokeIndex As Integer)
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)

View File

@ -219,7 +219,12 @@
If Controls.Accept(True, True, True) = True Then
If Me.selectIndex = 0 Then
Core.SetScreen(New NewInventoryScreen(Me, {5}, 5, AddressOf Me.ChosenMail))
Dim selScreen As New NewInventoryScreen(Core.CurrentScreen, {5}, 5, Nothing)
selScreen.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection
selScreen.CanExit = True
AddHandler selScreen.SelectedObject, AddressOf ChosenMailHandler
Core.SetScreen(selScreen)
Else
If Me.index = Me.selectIndex Then
Me.index = -1
@ -275,7 +280,10 @@
If TempNewMail.MailHeader = "" Or TempNewMail.MailText = "" Or TempNewMail.MailSignature = "" Then
message = "Please fill in the Header, the Message and the Signature."
Else
Core.SetScreen(New PartyScreen(Me, Item.GetItemByID(TempNewMail.MailID), AddressOf Me.ChosenPokemon, "Give mail to:", True))
Dim selScreen = New PartyScreen(Me, Item.GetItemByID(TempNewMail.MailID), AddressOf Me.ChosenPokemon, "Give mail to:", True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf ChosenPokemonHandler
Core.SetScreen(selScreen)
End If
Case 4
Me.index = -1
@ -288,6 +296,10 @@
End If
End Sub
Private Sub ChosenMailHandler(ByVal params As Object())
ChosenMail(CInt(params(0)))
End Sub
Private Sub ChosenMail(ByVal ItemID As Integer)
Me.index = 0
Me.EditMailIndex = 0
@ -302,6 +314,10 @@
Me.TempNewMail.MailSignature = ""
End Sub
Private Sub ChosenPokemonHandler(ByVal params As Object())
ChosenPokemon(CInt(params(0)))
End Sub
Private Sub ChosenPokemon(ByVal PokeIndex As Integer)
If Not Core.Player.Pokemons(PokeIndex).Item Is Nothing Then
Core.Player.Inventory.AddItem(Core.Player.Pokemons(PokeIndex).Item.ID, 1)

View File

@ -1007,14 +1007,14 @@ Public Class StorageSystemScreen
Private Sub SummaryPokemon()
If CursorPosition.X = 6 Then
Core.SetScreen(New PokemonStatusScreen(Core.CurrentScreen, CInt(CursorPosition.Y), Core.Player.Pokemons.ToArray(), Core.Player.Pokemons(CInt(CursorPosition.Y)), False))
Core.SetScreen(New SummaryScreen(Me, Core.Player.Pokemons.ToArray(), CInt(CursorPosition.Y)))
Else
Dim id As Integer = CInt(CursorPosition.X) + CInt((CursorPosition.Y - 1) * 6)
If GetBox(CurrentBox).IsBattleBox = True Then
id = GetBattleBoxID()
End If
Core.SetScreen(New PokemonStatusScreen(Core.CurrentScreen, GetBox(CurrentBox).GetPokemonList().IndexOf(GetBox(CurrentBox).Pokemon(id).GetPokemon()), GetBox(CurrentBox).GetPokemonList().ToArray(), GetBox(CurrentBox).Pokemon(id).GetPokemon(), False))
Core.SetScreen(New SummaryScreen(Me, GetBox(CurrentBox).GetPokemonList().ToArray(), GetBox(CurrentBox).GetPokemonList().IndexOf(GetBox(CurrentBox).Pokemon(id).GetPokemon())))
End If
End Sub

View File

@ -203,6 +203,10 @@
Screen.TextBox.Show(message2, {}, False, False)
End Sub
Public Shared Sub DoNPCTradeHandler(ByVal params As Object())
DoNPCTrade(CInt(params(0)))
End Sub
Public Shared Sub DoNPCTrade(ByVal pokeIndex As Integer)
Core.SetScreen(Core.CurrentScreen.PreScreen)

View File

@ -210,7 +210,11 @@
Dim splits() As String = argument.Split(CChar("|"))
Script.SaveNPCTrade = splits
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf Script.DoNPCTrade, "Choose trade Pokémon", True))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf Script.DoNPCTrade, "Choose Pokémon for trade", True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, AddressOf Script.DoNPCTradeHandler
Core.SetScreen(selScreen)
CType(Core.CurrentScreen, PartyScreen).ExitedSub = AddressOf Script.ExitedNPCTrade
CanContinue = False
@ -331,7 +335,10 @@
End If
End If
Core.SetScreen(New PartyScreen(Core.CurrentScreen, New Items.Balls.Pokeball, Nothing, "Choose Pokémon", canExit, canChooseFainted, canChooseEgg))
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), Nothing, "Choose Pokémon", canExit, canChooseFainted, canChooseEgg) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
AddHandler selScreen.SelectedObject, Nothing
Core.SetScreen(selScreen)
CanContinue = False
Case "selectmove"